smart-lifecycle 0.1.1
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/LICENSE +21 -0
- package/README.md +275 -0
- package/dist/behaviors/initializer-factory.d.ts +101 -0
- package/dist/behaviors/initializer-factory.d.ts.map +1 -0
- package/dist/behaviors/initializer-factory.js +183 -0
- package/dist/behaviors/initializer-factory.js.map +1 -0
- package/dist/behaviors/initializer.base.d.ts +21 -0
- package/dist/behaviors/initializer.base.d.ts.map +1 -0
- package/dist/behaviors/initializer.base.js +32 -0
- package/dist/behaviors/initializer.base.js.map +1 -0
- package/dist/behaviors/initializer.d.ts +21 -0
- package/dist/behaviors/initializer.d.ts.map +1 -0
- package/dist/behaviors/initializer.interface.d.ts +2 -0
- package/dist/behaviors/initializer.interface.d.ts.map +1 -0
- package/dist/behaviors/initializer.interface.js +2 -0
- package/dist/behaviors/initializer.interface.js.map +1 -0
- package/dist/behaviors/initializer.js +26 -0
- package/dist/behaviors/initializer.js.map +1 -0
- package/dist/behaviors/injection-helper.d.ts +90 -0
- package/dist/behaviors/injection-helper.d.ts.map +1 -0
- package/dist/behaviors/injection-helper.js +136 -0
- package/dist/behaviors/injection-helper.js.map +1 -0
- package/dist/behaviors/lifecycle-manager-factory.d.ts +126 -0
- package/dist/behaviors/lifecycle-manager-factory.d.ts.map +1 -0
- package/dist/behaviors/lifecycle-manager-factory.js +211 -0
- package/dist/behaviors/lifecycle-manager-factory.js.map +1 -0
- package/dist/behaviors/lifecycle-manager.base.d.ts +115 -0
- package/dist/behaviors/lifecycle-manager.base.d.ts.map +1 -0
- package/dist/behaviors/lifecycle-manager.base.js +156 -0
- package/dist/behaviors/lifecycle-manager.base.js.map +1 -0
- package/dist/behaviors/lifecycle-manager.d.ts +114 -0
- package/dist/behaviors/lifecycle-manager.d.ts.map +1 -0
- package/dist/behaviors/lifecycle-manager.interface.d.ts +2 -0
- package/dist/behaviors/lifecycle-manager.interface.d.ts.map +1 -0
- package/dist/behaviors/lifecycle-manager.interface.js +2 -0
- package/dist/behaviors/lifecycle-manager.interface.js.map +1 -0
- package/dist/behaviors/lifecycle-manager.js +157 -0
- package/dist/behaviors/lifecycle-manager.js.map +1 -0
- package/dist/bootstrap.d.ts +9 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +8 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +228 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/components/smart-action/smart-action-element.d.ts +15 -0
- package/dist/components/smart-action/smart-action-element.d.ts.map +1 -0
- package/dist/components/smart-action/smart-action-element.js +149 -0
- package/dist/components/smart-action/smart-action-element.js.map +1 -0
- package/dist/components/smart-action/smart-action.component.d.ts +10 -0
- package/dist/components/smart-action/smart-action.component.d.ts.map +1 -0
- package/dist/components/smart-action/smart-action.component.js +68 -0
- package/dist/components/smart-action/smart-action.component.js.map +1 -0
- package/dist/components/smart-action/smart-action.lifecycle-manager.d.ts +27 -0
- package/dist/components/smart-action/smart-action.lifecycle-manager.d.ts.map +1 -0
- package/dist/components/smart-action/smart-action.lifecycle-manager.js +140 -0
- package/dist/components/smart-action/smart-action.lifecycle-manager.js.map +1 -0
- package/dist/components/smart-action.d.ts +66 -0
- package/dist/components/smart-action.d.ts.map +1 -0
- package/dist/components/smart-action.js +111 -0
- package/dist/components/smart-action.js.map +1 -0
- package/dist/components/smart-for/diff-keys.d.ts +36 -0
- package/dist/components/smart-for/diff-keys.d.ts.map +1 -0
- package/dist/components/smart-for/diff-keys.js +39 -0
- package/dist/components/smart-for/diff-keys.js.map +1 -0
- package/dist/components/smart-for/item-dom-context.d.ts +27 -0
- package/dist/components/smart-for/item-dom-context.d.ts.map +1 -0
- package/dist/components/smart-for/item-dom-context.js +52 -0
- package/dist/components/smart-for/item-dom-context.js.map +1 -0
- package/dist/components/smart-for/smart-for-element.d.ts +38 -0
- package/dist/components/smart-for/smart-for-element.d.ts.map +1 -0
- package/dist/components/smart-for/smart-for-element.js +216 -0
- package/dist/components/smart-for/smart-for-element.js.map +1 -0
- package/dist/components/smart-for/smart-for-item-scope.d.ts +52 -0
- package/dist/components/smart-for/smart-for-item-scope.d.ts.map +1 -0
- package/dist/components/smart-for/smart-for-item-scope.js +94 -0
- package/dist/components/smart-for/smart-for-item-scope.js.map +1 -0
- package/dist/components/smart-for/smart-for.component.d.ts +10 -0
- package/dist/components/smart-for/smart-for.component.d.ts.map +1 -0
- package/dist/components/smart-for/smart-for.component.js +69 -0
- package/dist/components/smart-for/smart-for.component.js.map +1 -0
- package/dist/components/smart-for/smart-for.lifecycle-manager.d.ts +97 -0
- package/dist/components/smart-for/smart-for.lifecycle-manager.d.ts.map +1 -0
- package/dist/components/smart-for/smart-for.lifecycle-manager.js +369 -0
- package/dist/components/smart-for/smart-for.lifecycle-manager.js.map +1 -0
- package/dist/components/smart-link/smart-link-element.d.ts +36 -0
- package/dist/components/smart-link/smart-link-element.d.ts.map +1 -0
- package/dist/components/smart-link/smart-link-element.js +101 -0
- package/dist/components/smart-link/smart-link-element.js.map +1 -0
- package/dist/components/smart-link/smart-link.component.d.ts +21 -0
- package/dist/components/smart-link/smart-link.component.d.ts.map +1 -0
- package/dist/components/smart-link/smart-link.component.js +78 -0
- package/dist/components/smart-link/smart-link.component.js.map +1 -0
- package/dist/components/smart-link/smart-link.lifecycle-manager.d.ts +23 -0
- package/dist/components/smart-link/smart-link.lifecycle-manager.d.ts.map +1 -0
- package/dist/components/smart-link/smart-link.lifecycle-manager.js +53 -0
- package/dist/components/smart-link/smart-link.lifecycle-manager.js.map +1 -0
- package/dist/components/smart-link.d.ts +2 -0
- package/dist/components/smart-link.d.ts.map +1 -0
- package/dist/components/smart-link.js +2 -0
- package/dist/components/smart-link.js.map +1 -0
- package/dist/components/smart-router/navigation-service.interface.d.ts +22 -0
- package/dist/components/smart-router/navigation-service.interface.d.ts.map +1 -0
- package/dist/components/smart-router/navigation-service.interface.js +2 -0
- package/dist/components/smart-router/navigation-service.interface.js.map +1 -0
- package/dist/components/smart-router/navigation.d.ts +57 -0
- package/dist/components/smart-router/navigation.d.ts.map +1 -0
- package/dist/components/smart-router/navigation.js +75 -0
- package/dist/components/smart-router/navigation.js.map +1 -0
- package/dist/components/smart-router/smart-router-element.d.ts +42 -0
- package/dist/components/smart-router/smart-router-element.d.ts.map +1 -0
- package/dist/components/smart-router/smart-router-element.js +188 -0
- package/dist/components/smart-router/smart-router-element.js.map +1 -0
- package/dist/components/smart-router/smart-router.component.d.ts +27 -0
- package/dist/components/smart-router/smart-router.component.d.ts.map +1 -0
- package/dist/components/smart-router/smart-router.component.js +89 -0
- package/dist/components/smart-router/smart-router.component.js.map +1 -0
- package/dist/components/smart-router/smart-router.lifecycle-manager.d.ts +25 -0
- package/dist/components/smart-router/smart-router.lifecycle-manager.d.ts.map +1 -0
- package/dist/components/smart-router/smart-router.lifecycle-manager.js +115 -0
- package/dist/components/smart-router/smart-router.lifecycle-manager.js.map +1 -0
- package/dist/components/smart-router.d.ts +28 -0
- package/dist/components/smart-router.d.ts.map +1 -0
- package/dist/components/smart-router.js +45 -0
- package/dist/components/smart-router.js.map +1 -0
- package/dist/components/smart-select/smart-select-element.d.ts +49 -0
- package/dist/components/smart-select/smart-select-element.d.ts.map +1 -0
- package/dist/components/smart-select/smart-select-element.js +130 -0
- package/dist/components/smart-select/smart-select-element.js.map +1 -0
- package/dist/components/smart-select/smart-select.component.d.ts +35 -0
- package/dist/components/smart-select/smart-select.component.d.ts.map +1 -0
- package/dist/components/smart-select/smart-select.component.js +92 -0
- package/dist/components/smart-select/smart-select.component.js.map +1 -0
- package/dist/components/smart-select/smart-select.lifecycle-manager.d.ts +52 -0
- package/dist/components/smart-select/smart-select.lifecycle-manager.d.ts.map +1 -0
- package/dist/components/smart-select/smart-select.lifecycle-manager.js +144 -0
- package/dist/components/smart-select/smart-select.lifecycle-manager.js.map +1 -0
- package/dist/components/smart-select.d.ts +3 -0
- package/dist/components/smart-select.d.ts.map +1 -0
- package/dist/components/smart-select.js +3 -0
- package/dist/components/smart-select.js.map +1 -0
- package/dist/core/component-instance-registry.d.ts +102 -0
- package/dist/core/component-instance-registry.d.ts.map +1 -0
- package/dist/core/component-instance-registry.js +85 -0
- package/dist/core/component-instance-registry.js.map +1 -0
- package/dist/core/component-metadata-registry.d.ts +100 -0
- package/dist/core/component-metadata-registry.d.ts.map +1 -0
- package/dist/core/component-metadata-registry.interface.d.ts +44 -0
- package/dist/core/component-metadata-registry.interface.d.ts.map +1 -0
- package/dist/core/component-metadata-registry.interface.js +2 -0
- package/dist/core/component-metadata-registry.interface.js.map +1 -0
- package/dist/core/component-metadata-registry.js +113 -0
- package/dist/core/component-metadata-registry.js.map +1 -0
- package/dist/core/component-metadata-source.interface.d.ts +40 -0
- package/dist/core/component-metadata-source.interface.d.ts.map +1 -0
- package/dist/core/component-metadata-source.interface.js +2 -0
- package/dist/core/component-metadata-source.interface.js.map +1 -0
- package/dist/core/component-metadata.d.ts +57 -0
- package/dist/core/component-metadata.d.ts.map +1 -0
- package/dist/core/component-metadata.js +2 -0
- package/dist/core/component-metadata.js.map +1 -0
- package/dist/core/smart-component.d.ts +80 -0
- package/dist/core/smart-component.d.ts.map +1 -0
- package/dist/core/smart-component.js +86 -0
- package/dist/core/smart-component.js.map +1 -0
- package/dist/decorators/component.decorator.d.ts +136 -0
- package/dist/decorators/component.decorator.d.ts.map +1 -0
- package/dist/decorators/component.decorator.js +35 -0
- package/dist/decorators/component.decorator.js.map +1 -0
- package/dist/decorators/host-listener.decorator.d.ts +30 -0
- package/dist/decorators/host-listener.decorator.d.ts.map +1 -0
- package/dist/decorators/host-listener.decorator.js +117 -0
- package/dist/decorators/host-listener.decorator.js.map +1 -0
- package/dist/decorators/index.d.ts +13 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/dist/decorators/index.js +8 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/decorators/listen/listener-initializer.d.ts +23 -0
- package/dist/decorators/listen/listener-initializer.d.ts.map +1 -0
- package/dist/decorators/listen/listener-initializer.interface.d.ts +20 -0
- package/dist/decorators/listen/listener-initializer.interface.d.ts.map +1 -0
- package/dist/decorators/listen/listener-initializer.interface.js +2 -0
- package/dist/decorators/listen/listener-initializer.interface.js.map +1 -0
- package/dist/decorators/listen/listener-initializer.js +53 -0
- package/dist/decorators/listen/listener-initializer.js.map +1 -0
- package/dist/decorators/listen/listener-metadata-registry.d.ts +27 -0
- package/dist/decorators/listen/listener-metadata-registry.d.ts.map +1 -0
- package/dist/decorators/listen/listener-metadata-registry.interface.d.ts +26 -0
- package/dist/decorators/listen/listener-metadata-registry.interface.d.ts.map +1 -0
- package/dist/decorators/listen/listener-metadata-registry.interface.js +2 -0
- package/dist/decorators/listen/listener-metadata-registry.interface.js.map +1 -0
- package/dist/decorators/listen/listener-metadata-registry.js +51 -0
- package/dist/decorators/listen/listener-metadata-registry.js.map +1 -0
- package/dist/decorators/listen.decorator.d.ts +66 -0
- package/dist/decorators/listen.decorator.d.ts.map +1 -0
- package/dist/decorators/listen.decorator.js +72 -0
- package/dist/decorators/listen.decorator.js.map +1 -0
- package/dist/decorators/listener-initializer.d.ts +33 -0
- package/dist/decorators/listener-initializer.d.ts.map +1 -0
- package/dist/decorators/listener-initializer.js +67 -0
- package/dist/decorators/listener-initializer.js.map +1 -0
- package/dist/decorators/reactive.decorator.d.ts +45 -0
- package/dist/decorators/reactive.decorator.d.ts.map +1 -0
- package/dist/decorators/reactive.decorator.js +86 -0
- package/dist/decorators/reactive.decorator.js.map +1 -0
- package/dist/decorators/smart/capture-config.d.ts +10 -0
- package/dist/decorators/smart/capture-config.d.ts.map +1 -0
- package/dist/decorators/smart/capture-config.js +70 -0
- package/dist/decorators/smart/capture-config.js.map +1 -0
- package/dist/decorators/smart/dynamic-initializer.d.ts +14 -0
- package/dist/decorators/smart/dynamic-initializer.d.ts.map +1 -0
- package/dist/decorators/smart/dynamic-initializer.js +35 -0
- package/dist/decorators/smart/dynamic-initializer.js.map +1 -0
- package/dist/decorators/smart/dynamic-lifecycle.d.ts +17 -0
- package/dist/decorators/smart/dynamic-lifecycle.d.ts.map +1 -0
- package/dist/decorators/smart/dynamic-lifecycle.js +45 -0
- package/dist/decorators/smart/dynamic-lifecycle.js.map +1 -0
- package/dist/decorators/smart/enhanced-class.d.ts +21 -0
- package/dist/decorators/smart/enhanced-class.d.ts.map +1 -0
- package/dist/decorators/smart/enhanced-class.js +93 -0
- package/dist/decorators/smart/enhanced-class.js.map +1 -0
- package/dist/decorators/smart/smart-component-factory.d.ts +59 -0
- package/dist/decorators/smart/smart-component-factory.d.ts.map +1 -0
- package/dist/decorators/smart/smart-component-factory.interface.d.ts +48 -0
- package/dist/decorators/smart/smart-component-factory.interface.d.ts.map +1 -0
- package/dist/decorators/smart/smart-component-factory.interface.js +2 -0
- package/dist/decorators/smart/smart-component-factory.interface.js.map +1 -0
- package/dist/decorators/smart/smart-component-factory.js +271 -0
- package/dist/decorators/smart/smart-component-factory.js.map +1 -0
- package/dist/decorators/smart/types.d.ts +81 -0
- package/dist/decorators/smart/types.d.ts.map +1 -0
- package/dist/decorators/smart/types.js +2 -0
- package/dist/decorators/smart/types.js.map +1 -0
- package/dist/decorators/smart-render.decorator.d.ts +27 -0
- package/dist/decorators/smart-render.decorator.d.ts.map +1 -0
- package/dist/decorators/smart-render.decorator.js +41 -0
- package/dist/decorators/smart-render.decorator.js.map +1 -0
- package/dist/decorators/smart.decorator.d.ts +20 -0
- package/dist/decorators/smart.decorator.d.ts.map +1 -0
- package/dist/decorators/smart.decorator.js +45 -0
- package/dist/decorators/smart.decorator.js.map +1 -0
- package/dist/decorators/view-child.decorator.d.ts +21 -0
- package/dist/decorators/view-child.decorator.d.ts.map +1 -0
- package/dist/decorators/view-child.decorator.js +56 -0
- package/dist/decorators/view-child.decorator.js.map +1 -0
- package/dist/events/action-publisher.interface.d.ts +69 -0
- package/dist/events/action-publisher.interface.d.ts.map +1 -0
- package/dist/events/action-publisher.interface.js +2 -0
- package/dist/events/action-publisher.interface.js.map +1 -0
- package/dist/events/event-bus.d.ts +11 -0
- package/dist/events/event-bus.d.ts.map +1 -0
- package/dist/events/event-bus.interface.d.ts +66 -0
- package/dist/events/event-bus.interface.d.ts.map +1 -0
- package/dist/events/event-bus.interface.js +2 -0
- package/dist/events/event-bus.interface.js.map +1 -0
- package/dist/events/event-bus.js +11 -0
- package/dist/events/event-bus.js.map +1 -0
- package/dist/events/event-object.d.ts +33 -0
- package/dist/events/event-object.d.ts.map +1 -0
- package/dist/events/event-object.js +35 -0
- package/dist/events/event-object.js.map +1 -0
- package/dist/events/event-payload.d.ts +16 -0
- package/dist/events/event-payload.d.ts.map +1 -0
- package/dist/events/event-payload.js +2 -0
- package/dist/events/event-payload.js.map +1 -0
- package/dist/events/event-store.d.ts +99 -0
- package/dist/events/event-store.d.ts.map +1 -0
- package/dist/events/event-store.js +95 -0
- package/dist/events/event-store.js.map +1 -0
- package/dist/events/rx-event-bus.d.ts +109 -0
- package/dist/events/rx-event-bus.d.ts.map +1 -0
- package/dist/events/rx-event-bus.js +210 -0
- package/dist/events/rx-event-bus.js.map +1 -0
- package/dist/html/register-smart-behavior.d.ts +27 -0
- package/dist/html/register-smart-behavior.d.ts.map +1 -0
- package/dist/html/register-smart-behavior.js +42 -0
- package/dist/html/register-smart-behavior.js.map +1 -0
- package/dist/html/register-smart-element.d.ts +26 -0
- package/dist/html/register-smart-element.d.ts.map +1 -0
- package/dist/html/register-smart-element.js +28 -0
- package/dist/html/register-smart-element.js.map +1 -0
- package/dist/html/services-bootstrap.d.ts +17 -0
- package/dist/html/services-bootstrap.d.ts.map +1 -0
- package/dist/html/services-bootstrap.js +40 -0
- package/dist/html/services-bootstrap.js.map +1 -0
- package/dist/html/smart-element-factory.d.ts +51 -0
- package/dist/html/smart-element-factory.d.ts.map +1 -0
- package/dist/html/smart-element-factory.interface.d.ts +17 -0
- package/dist/html/smart-element-factory.interface.d.ts.map +1 -0
- package/dist/html/smart-element-factory.interface.js +2 -0
- package/dist/html/smart-element-factory.interface.js.map +1 -0
- package/dist/html/smart-element-factory.js +118 -0
- package/dist/html/smart-element-factory.js.map +1 -0
- package/dist/html/smart-element-registrar.d.ts +43 -0
- package/dist/html/smart-element-registrar.d.ts.map +1 -0
- package/dist/html/smart-element-registrar.interface.d.ts +17 -0
- package/dist/html/smart-element-registrar.interface.d.ts.map +1 -0
- package/dist/html/smart-element-registrar.interface.js +2 -0
- package/dist/html/smart-element-registrar.interface.js.map +1 -0
- package/dist/html/smart-element-registrar.js +77 -0
- package/dist/html/smart-element-registrar.js.map +1 -0
- package/dist/html/smart-tags.d.ts +16 -0
- package/dist/html/smart-tags.d.ts.map +1 -0
- package/dist/html/smart-tags.js +30 -0
- package/dist/html/smart-tags.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/observers/document-locale-observer.d.ts +15 -0
- package/dist/observers/document-locale-observer.d.ts.map +1 -0
- package/dist/observers/document-locale-observer.js +43 -0
- package/dist/observers/document-locale-observer.js.map +1 -0
- package/dist/observers/document-theme-observer.d.ts +17 -0
- package/dist/observers/document-theme-observer.d.ts.map +1 -0
- package/dist/observers/document-theme-observer.js +64 -0
- package/dist/observers/document-theme-observer.js.map +1 -0
- package/dist/observers/locale-observer.interface.d.ts +21 -0
- package/dist/observers/locale-observer.interface.d.ts.map +1 -0
- package/dist/observers/locale-observer.interface.js +2 -0
- package/dist/observers/locale-observer.interface.js.map +1 -0
- package/dist/observers/theme-observer.interface.d.ts +21 -0
- package/dist/observers/theme-observer.interface.d.ts.map +1 -0
- package/dist/observers/theme-observer.interface.js +2 -0
- package/dist/observers/theme-observer.interface.js.map +1 -0
- package/dist/providers/adapters/index.d.ts +19 -0
- package/dist/providers/adapters/index.d.ts.map +1 -0
- package/dist/providers/adapters/index.js +19 -0
- package/dist/providers/adapters/index.js.map +1 -0
- package/dist/providers/adapters/tsyringe-adapter.d.ts +139 -0
- package/dist/providers/adapters/tsyringe-adapter.d.ts.map +1 -0
- package/dist/providers/adapters/tsyringe-adapter.js +151 -0
- package/dist/providers/adapters/tsyringe-adapter.js.map +1 -0
- package/dist/providers/app-services.d.ts +131 -0
- package/dist/providers/app-services.d.ts.map +1 -0
- package/dist/providers/app-services.js +174 -0
- package/dist/providers/app-services.js.map +1 -0
- package/dist/providers/default-service-provider.d.ts +57 -0
- package/dist/providers/default-service-provider.d.ts.map +1 -0
- package/dist/providers/default-service-provider.js +89 -0
- package/dist/providers/default-service-provider.js.map +1 -0
- package/dist/providers/framework-bootstrap.d.ts +58 -0
- package/dist/providers/framework-bootstrap.d.ts.map +1 -0
- package/dist/providers/framework-bootstrap.js +153 -0
- package/dist/providers/framework-bootstrap.js.map +1 -0
- package/dist/providers/framework-element-registration.d.ts +2 -0
- package/dist/providers/framework-element-registration.d.ts.map +1 -0
- package/dist/providers/framework-element-registration.js +42 -0
- package/dist/providers/framework-element-registration.js.map +1 -0
- package/dist/providers/service-provider.d.ts +70 -0
- package/dist/providers/service-provider.d.ts.map +1 -0
- package/dist/providers/service-provider.interface.d.ts +55 -0
- package/dist/providers/service-provider.interface.d.ts.map +1 -0
- package/dist/providers/service-provider.interface.js +2 -0
- package/dist/providers/service-provider.interface.js.map +1 -0
- package/dist/providers/service-provider.js +102 -0
- package/dist/providers/service-provider.js.map +1 -0
- package/dist/reactive/dependency-tracker.d.ts +34 -0
- package/dist/reactive/dependency-tracker.d.ts.map +1 -0
- package/dist/reactive/dependency-tracker.interface.d.ts +34 -0
- package/dist/reactive/dependency-tracker.interface.d.ts.map +1 -0
- package/dist/reactive/dependency-tracker.interface.js +2 -0
- package/dist/reactive/dependency-tracker.interface.js.map +1 -0
- package/dist/reactive/dependency-tracker.js +47 -0
- package/dist/reactive/dependency-tracker.js.map +1 -0
- package/dist/reactive/index.d.ts +5 -0
- package/dist/reactive/index.d.ts.map +1 -0
- package/dist/reactive/index.js +4 -0
- package/dist/reactive/index.js.map +1 -0
- package/dist/reactive/observable.d.ts +15 -0
- package/dist/reactive/observable.d.ts.map +1 -0
- package/dist/reactive/observable.js +2 -0
- package/dist/reactive/observable.js.map +1 -0
- package/dist/reactive/operators.d.ts +6 -0
- package/dist/reactive/operators.d.ts.map +1 -0
- package/dist/reactive/operators.js +11 -0
- package/dist/reactive/operators.js.map +1 -0
- package/dist/reactive/signal.d.ts +41 -0
- package/dist/reactive/signal.d.ts.map +1 -0
- package/dist/reactive/signal.js +37 -0
- package/dist/reactive/signal.js.map +1 -0
- package/dist/reactive/subject.d.ts +30 -0
- package/dist/reactive/subject.d.ts.map +1 -0
- package/dist/reactive/subject.js +53 -0
- package/dist/reactive/subject.js.map +1 -0
- package/dist/reactive/subscription.d.ts +33 -0
- package/dist/reactive/subscription.d.ts.map +1 -0
- package/dist/reactive/subscription.js +53 -0
- package/dist/reactive/subscription.js.map +1 -0
- package/dist/registration/register-smart-behavior.d.ts +27 -0
- package/dist/registration/register-smart-behavior.d.ts.map +1 -0
- package/dist/registration/register-smart-behavior.js +42 -0
- package/dist/registration/register-smart-behavior.js.map +1 -0
- package/dist/registration/register-smart-element.d.ts +27 -0
- package/dist/registration/register-smart-element.d.ts.map +1 -0
- package/dist/registration/register-smart-element.js +26 -0
- package/dist/registration/register-smart-element.js.map +1 -0
- package/dist/registration/smart-element-factory.d.ts +46 -0
- package/dist/registration/smart-element-factory.d.ts.map +1 -0
- package/dist/registration/smart-element-factory.interface.d.ts +17 -0
- package/dist/registration/smart-element-factory.interface.d.ts.map +1 -0
- package/dist/registration/smart-element-factory.interface.js +2 -0
- package/dist/registration/smart-element-factory.interface.js.map +1 -0
- package/dist/registration/smart-element-factory.js +146 -0
- package/dist/registration/smart-element-factory.js.map +1 -0
- package/dist/registration/smart-element-registrar.d.ts +41 -0
- package/dist/registration/smart-element-registrar.d.ts.map +1 -0
- package/dist/registration/smart-element-registrar.interface.d.ts +17 -0
- package/dist/registration/smart-element-registrar.interface.d.ts.map +1 -0
- package/dist/registration/smart-element-registrar.interface.js +2 -0
- package/dist/registration/smart-element-registrar.interface.js.map +1 -0
- package/dist/registration/smart-element-registrar.js +56 -0
- package/dist/registration/smart-element-registrar.js.map +1 -0
- package/dist/registration/smart-tags.d.ts +16 -0
- package/dist/registration/smart-tags.d.ts.map +1 -0
- package/dist/registration/smart-tags.js +30 -0
- package/dist/registration/smart-tags.js.map +1 -0
- package/dist/rendering/bindings/binding-resolver.d.ts +90 -0
- package/dist/rendering/bindings/binding-resolver.d.ts.map +1 -0
- package/dist/rendering/bindings/binding-resolver.interface.d.ts +31 -0
- package/dist/rendering/bindings/binding-resolver.interface.d.ts.map +1 -0
- package/dist/rendering/bindings/binding-resolver.interface.js +2 -0
- package/dist/rendering/bindings/binding-resolver.interface.js.map +1 -0
- package/dist/rendering/bindings/binding-resolver.js +232 -0
- package/dist/rendering/bindings/binding-resolver.js.map +1 -0
- package/dist/rendering/bindings/expresion-resolver.d.ts +55 -0
- package/dist/rendering/bindings/expresion-resolver.d.ts.map +1 -0
- package/dist/rendering/bindings/expresion-resolver.interface.d.ts +25 -0
- package/dist/rendering/bindings/expresion-resolver.interface.d.ts.map +1 -0
- package/dist/rendering/bindings/expresion-resolver.interface.js +2 -0
- package/dist/rendering/bindings/expresion-resolver.interface.js.map +1 -0
- package/dist/rendering/bindings/expresion-resolver.js +175 -0
- package/dist/rendering/bindings/expresion-resolver.js.map +1 -0
- package/dist/rendering/bindings/expression-resolver.d.ts +48 -0
- package/dist/rendering/bindings/expression-resolver.d.ts.map +1 -0
- package/dist/rendering/bindings/expression-resolver.interface.d.ts +25 -0
- package/dist/rendering/bindings/expression-resolver.interface.d.ts.map +1 -0
- package/dist/rendering/bindings/expression-resolver.interface.js +2 -0
- package/dist/rendering/bindings/expression-resolver.interface.js.map +1 -0
- package/dist/rendering/bindings/expression-resolver.js +169 -0
- package/dist/rendering/bindings/expression-resolver.js.map +1 -0
- package/dist/rendering/bindings/property-extractor.d.ts +36 -0
- package/dist/rendering/bindings/property-extractor.d.ts.map +1 -0
- package/dist/rendering/bindings/property-extractor.interface.d.ts +21 -0
- package/dist/rendering/bindings/property-extractor.interface.d.ts.map +1 -0
- package/dist/rendering/bindings/property-extractor.interface.js +2 -0
- package/dist/rendering/bindings/property-extractor.interface.js.map +1 -0
- package/dist/rendering/bindings/property-extractor.js +69 -0
- package/dist/rendering/bindings/property-extractor.js.map +1 -0
- package/dist/rendering/bindings/rules-resolver.d.ts +29 -0
- package/dist/rendering/bindings/rules-resolver.d.ts.map +1 -0
- package/dist/rendering/bindings/rules-resolver.interface.d.ts +16 -0
- package/dist/rendering/bindings/rules-resolver.interface.d.ts.map +1 -0
- package/dist/rendering/bindings/rules-resolver.interface.js +2 -0
- package/dist/rendering/bindings/rules-resolver.interface.js.map +1 -0
- package/dist/rendering/bindings/rules-resolver.js +69 -0
- package/dist/rendering/bindings/rules-resolver.js.map +1 -0
- package/dist/rendering/bindings/smart-input-store.d.ts +11 -0
- package/dist/rendering/bindings/smart-input-store.d.ts.map +1 -0
- package/dist/rendering/bindings/smart-input-store.interface.d.ts +54 -0
- package/dist/rendering/bindings/smart-input-store.interface.d.ts.map +1 -0
- package/dist/rendering/bindings/smart-input-store.interface.js +5 -0
- package/dist/rendering/bindings/smart-input-store.interface.js.map +1 -0
- package/dist/rendering/bindings/smart-input-store.js +92 -0
- package/dist/rendering/bindings/smart-input-store.js.map +1 -0
- package/dist/rendering/bindings/static-binding-resolver.d.ts +28 -0
- package/dist/rendering/bindings/static-binding-resolver.d.ts.map +1 -0
- package/dist/rendering/bindings/static-binding-resolver.interface.d.ts +15 -0
- package/dist/rendering/bindings/static-binding-resolver.interface.d.ts.map +1 -0
- package/dist/rendering/bindings/static-binding-resolver.interface.js +2 -0
- package/dist/rendering/bindings/static-binding-resolver.interface.js.map +1 -0
- package/dist/rendering/bindings/static-binding-resolver.js +65 -0
- package/dist/rendering/bindings/static-binding-resolver.js.map +1 -0
- package/dist/rendering/dom/browser-dom-adapter.d.ts +30 -0
- package/dist/rendering/dom/browser-dom-adapter.d.ts.map +1 -0
- package/dist/rendering/dom/browser-dom-adapter.js +40 -0
- package/dist/rendering/dom/browser-dom-adapter.js.map +1 -0
- package/dist/rendering/dom/dom-adapter.interface.d.ts +39 -0
- package/dist/rendering/dom/dom-adapter.interface.d.ts.map +1 -0
- package/dist/rendering/dom/dom-adapter.interface.js +2 -0
- package/dist/rendering/dom/dom-adapter.interface.js.map +1 -0
- package/dist/rendering/dom/index.d.ts +9 -0
- package/dist/rendering/dom/index.d.ts.map +1 -0
- package/dist/rendering/dom/index.js +8 -0
- package/dist/rendering/dom/index.js.map +1 -0
- package/dist/rendering/dom/node-types.d.ts +21 -0
- package/dist/rendering/dom/node-types.d.ts.map +1 -0
- package/dist/rendering/dom/node-types.js +21 -0
- package/dist/rendering/dom/node-types.js.map +1 -0
- package/dist/rendering/dom-context/dom-context-factory.d.ts +31 -0
- package/dist/rendering/dom-context/dom-context-factory.d.ts.map +1 -0
- package/dist/rendering/dom-context/dom-context-factory.interface.d.ts +14 -0
- package/dist/rendering/dom-context/dom-context-factory.interface.d.ts.map +1 -0
- package/dist/rendering/dom-context/dom-context-factory.interface.js +2 -0
- package/dist/rendering/dom-context/dom-context-factory.interface.js.map +1 -0
- package/dist/rendering/dom-context/dom-context-factory.js +20 -0
- package/dist/rendering/dom-context/dom-context-factory.js.map +1 -0
- package/dist/rendering/dom-context/dom-context-host-resolver.d.ts +55 -0
- package/dist/rendering/dom-context/dom-context-host-resolver.d.ts.map +1 -0
- package/dist/rendering/dom-context/dom-context-host-resolver.js +90 -0
- package/dist/rendering/dom-context/dom-context-host-resolver.js.map +1 -0
- package/dist/rendering/dom-context/dom-context.d.ts +168 -0
- package/dist/rendering/dom-context/dom-context.d.ts.map +1 -0
- package/dist/rendering/dom-context/dom-context.interface.d.ts +156 -0
- package/dist/rendering/dom-context/dom-context.interface.d.ts.map +1 -0
- package/dist/rendering/dom-context/dom-context.interface.js +17 -0
- package/dist/rendering/dom-context/dom-context.interface.js.map +1 -0
- package/dist/rendering/dom-context/dom-context.js +225 -0
- package/dist/rendering/dom-context/dom-context.js.map +1 -0
- package/dist/rendering/dom-context/host-resolver.interface.d.ts +47 -0
- package/dist/rendering/dom-context/host-resolver.interface.d.ts.map +1 -0
- package/dist/rendering/dom-context/host-resolver.interface.js +2 -0
- package/dist/rendering/dom-context/host-resolver.interface.js.map +1 -0
- package/dist/rendering/dom-context/index.d.ts +5 -0
- package/dist/rendering/dom-context/index.d.ts.map +1 -0
- package/dist/rendering/dom-context/index.js +4 -0
- package/dist/rendering/dom-context/index.js.map +1 -0
- package/dist/rendering/errors/error-render-options.interface.d.ts +29 -0
- package/dist/rendering/errors/error-render-options.interface.d.ts.map +1 -0
- package/dist/rendering/errors/error-render-options.interface.js +2 -0
- package/dist/rendering/errors/error-render-options.interface.js.map +1 -0
- package/dist/rendering/errors/error-renderer.d.ts +71 -0
- package/dist/rendering/errors/error-renderer.d.ts.map +1 -0
- package/dist/rendering/errors/error-renderer.interface.d.ts +29 -0
- package/dist/rendering/errors/error-renderer.interface.d.ts.map +1 -0
- package/dist/rendering/errors/error-renderer.interface.js +2 -0
- package/dist/rendering/errors/error-renderer.interface.js.map +1 -0
- package/dist/rendering/errors/error-renderer.js +127 -0
- package/dist/rendering/errors/error-renderer.js.map +1 -0
- package/dist/rendering/expression-parser/dependency-extractor.d.ts +36 -0
- package/dist/rendering/expression-parser/dependency-extractor.d.ts.map +1 -0
- package/dist/rendering/expression-parser/dependency-extractor.js +83 -0
- package/dist/rendering/expression-parser/dependency-extractor.js.map +1 -0
- package/dist/rendering/expression-parser/evaluators/ast.evaluator.d.ts +54 -0
- package/dist/rendering/expression-parser/evaluators/ast.evaluator.d.ts.map +1 -0
- package/dist/rendering/expression-parser/evaluators/ast.evaluator.js +92 -0
- package/dist/rendering/expression-parser/evaluators/ast.evaluator.js.map +1 -0
- package/dist/rendering/expression-parser/evaluators/base.d.ts +20 -0
- package/dist/rendering/expression-parser/evaluators/base.d.ts.map +1 -0
- package/dist/rendering/expression-parser/evaluators/base.js +2 -0
- package/dist/rendering/expression-parser/evaluators/base.js.map +1 -0
- package/dist/rendering/expression-parser/evaluators/binary.evaluator.d.ts +29 -0
- package/dist/rendering/expression-parser/evaluators/binary.evaluator.d.ts.map +1 -0
- package/dist/rendering/expression-parser/evaluators/binary.evaluator.js +55 -0
- package/dist/rendering/expression-parser/evaluators/binary.evaluator.js.map +1 -0
- package/dist/rendering/expression-parser/evaluators/call.evaluator.d.ts +38 -0
- package/dist/rendering/expression-parser/evaluators/call.evaluator.d.ts.map +1 -0
- package/dist/rendering/expression-parser/evaluators/call.evaluator.js +62 -0
- package/dist/rendering/expression-parser/evaluators/call.evaluator.js.map +1 -0
- package/dist/rendering/expression-parser/evaluators/conditional.evaluator.d.ts +29 -0
- package/dist/rendering/expression-parser/evaluators/conditional.evaluator.d.ts.map +1 -0
- package/dist/rendering/expression-parser/evaluators/conditional.evaluator.js +38 -0
- package/dist/rendering/expression-parser/evaluators/conditional.evaluator.js.map +1 -0
- package/dist/rendering/expression-parser/evaluators/identifier.evaluator.d.ts +28 -0
- package/dist/rendering/expression-parser/evaluators/identifier.evaluator.d.ts.map +1 -0
- package/dist/rendering/expression-parser/evaluators/identifier.evaluator.js +33 -0
- package/dist/rendering/expression-parser/evaluators/identifier.evaluator.js.map +1 -0
- package/dist/rendering/expression-parser/evaluators/index.d.ts +10 -0
- package/dist/rendering/expression-parser/evaluators/index.d.ts.map +1 -0
- package/dist/rendering/expression-parser/evaluators/index.js +9 -0
- package/dist/rendering/expression-parser/evaluators/index.js.map +1 -0
- package/dist/rendering/expression-parser/evaluators/literal.evaluator.d.ts +27 -0
- package/dist/rendering/expression-parser/evaluators/literal.evaluator.d.ts.map +1 -0
- package/dist/rendering/expression-parser/evaluators/literal.evaluator.js +29 -0
- package/dist/rendering/expression-parser/evaluators/literal.evaluator.js.map +1 -0
- package/dist/rendering/expression-parser/evaluators/member.evaluator.d.ts +29 -0
- package/dist/rendering/expression-parser/evaluators/member.evaluator.d.ts.map +1 -0
- package/dist/rendering/expression-parser/evaluators/member.evaluator.js +39 -0
- package/dist/rendering/expression-parser/evaluators/member.evaluator.js.map +1 -0
- package/dist/rendering/expression-parser/evaluators/unary.evaluator.d.ts +29 -0
- package/dist/rendering/expression-parser/evaluators/unary.evaluator.d.ts.map +1 -0
- package/dist/rendering/expression-parser/evaluators/unary.evaluator.js +44 -0
- package/dist/rendering/expression-parser/evaluators/unary.evaluator.js.map +1 -0
- package/dist/rendering/expression-parser/expression-cache.d.ts +65 -0
- package/dist/rendering/expression-parser/expression-cache.d.ts.map +1 -0
- package/dist/rendering/expression-parser/expression-cache.js +79 -0
- package/dist/rendering/expression-parser/expression-cache.js.map +1 -0
- package/dist/rendering/expression-parser/expression-parser.factory.d.ts +105 -0
- package/dist/rendering/expression-parser/expression-parser.factory.d.ts.map +1 -0
- package/dist/rendering/expression-parser/expression-parser.factory.js +113 -0
- package/dist/rendering/expression-parser/expression-parser.factory.js.map +1 -0
- package/dist/rendering/expression-parser/expression-parser.service.d.ts +30 -0
- package/dist/rendering/expression-parser/expression-parser.service.d.ts.map +1 -0
- package/dist/rendering/expression-parser/expression-parser.service.js +96 -0
- package/dist/rendering/expression-parser/expression-parser.service.js.map +1 -0
- package/dist/rendering/expression-parser/host-projector.d.ts +80 -0
- package/dist/rendering/expression-parser/host-projector.d.ts.map +1 -0
- package/dist/rendering/expression-parser/host-projector.js +97 -0
- package/dist/rendering/expression-parser/host-projector.js.map +1 -0
- package/dist/rendering/expression-parser/index.d.ts +6 -0
- package/dist/rendering/expression-parser/index.d.ts.map +1 -0
- package/dist/rendering/expression-parser/index.js +15 -0
- package/dist/rendering/expression-parser/index.js.map +1 -0
- package/dist/rendering/expression-parser/interfaces.d.ts +41 -0
- package/dist/rendering/expression-parser/interfaces.d.ts.map +1 -0
- package/dist/rendering/expression-parser/interfaces.js +2 -0
- package/dist/rendering/expression-parser/interfaces.js.map +1 -0
- package/dist/rendering/expression-parser/parser.d.ts +135 -0
- package/dist/rendering/expression-parser/parser.d.ts.map +1 -0
- package/dist/rendering/expression-parser/parser.js +345 -0
- package/dist/rendering/expression-parser/parser.js.map +1 -0
- package/dist/rendering/expression-parser/safe-method-validator.interface.d.ts +23 -0
- package/dist/rendering/expression-parser/safe-method-validator.interface.d.ts.map +1 -0
- package/dist/rendering/expression-parser/safe-method-validator.interface.js +2 -0
- package/dist/rendering/expression-parser/safe-method-validator.interface.js.map +1 -0
- package/dist/rendering/expression-parser/safe-methods.d.ts +29 -0
- package/dist/rendering/expression-parser/safe-methods.d.ts.map +1 -0
- package/dist/rendering/expression-parser/safe-methods.js +136 -0
- package/dist/rendering/expression-parser/safe-methods.js.map +1 -0
- package/dist/rendering/expression-parser/tokenizer.d.ts +68 -0
- package/dist/rendering/expression-parser/tokenizer.d.ts.map +1 -0
- package/dist/rendering/expression-parser/tokenizer.js +282 -0
- package/dist/rendering/expression-parser/tokenizer.js.map +1 -0
- package/dist/rendering/expression-parser/types.d.ts +234 -0
- package/dist/rendering/expression-parser/types.d.ts.map +1 -0
- package/dist/rendering/expression-parser/types.js +33 -0
- package/dist/rendering/expression-parser/types.js.map +1 -0
- package/dist/rendering/host-projection/host-projection-registry.interface.d.ts +54 -0
- package/dist/rendering/host-projection/host-projection-registry.interface.d.ts.map +1 -0
- package/dist/rendering/host-projection/host-projection-registry.interface.js +2 -0
- package/dist/rendering/host-projection/host-projection-registry.interface.js.map +1 -0
- package/dist/rendering/host-projection/host-projection.registry.d.ts +67 -0
- package/dist/rendering/host-projection/host-projection.registry.d.ts.map +1 -0
- package/dist/rendering/host-projection/host-projection.registry.js +96 -0
- package/dist/rendering/host-projection/host-projection.registry.js.map +1 -0
- package/dist/rendering/host-projection/index.d.ts +3 -0
- package/dist/rendering/host-projection/index.d.ts.map +1 -0
- package/dist/rendering/host-projection/index.js +2 -0
- package/dist/rendering/host-projection/index.js.map +1 -0
- package/dist/rendering/host-resolver/dom-context-host-resolver.d.ts +55 -0
- package/dist/rendering/host-resolver/dom-context-host-resolver.d.ts.map +1 -0
- package/dist/rendering/host-resolver/dom-context-host-resolver.js +90 -0
- package/dist/rendering/host-resolver/dom-context-host-resolver.js.map +1 -0
- package/dist/rendering/host-resolver/host-resolver.interface.d.ts +47 -0
- package/dist/rendering/host-resolver/host-resolver.interface.d.ts.map +1 -0
- package/dist/rendering/host-resolver/host-resolver.interface.js +2 -0
- package/dist/rendering/host-resolver/host-resolver.interface.js.map +1 -0
- package/dist/rendering/host-resolver/index.d.ts +3 -0
- package/dist/rendering/host-resolver/index.d.ts.map +1 -0
- package/dist/rendering/host-resolver/index.js +2 -0
- package/dist/rendering/host-resolver/index.js.map +1 -0
- package/dist/rendering/index.d.ts +34 -0
- package/dist/rendering/index.d.ts.map +1 -0
- package/dist/rendering/index.js +27 -0
- package/dist/rendering/index.js.map +1 -0
- package/dist/rendering/inputs/smart-input-store.d.ts +11 -0
- package/dist/rendering/inputs/smart-input-store.d.ts.map +1 -0
- package/dist/rendering/inputs/smart-input-store.interface.d.ts +54 -0
- package/dist/rendering/inputs/smart-input-store.interface.d.ts.map +1 -0
- package/dist/rendering/inputs/smart-input-store.interface.js +5 -0
- package/dist/rendering/inputs/smart-input-store.interface.js.map +1 -0
- package/dist/rendering/inputs/smart-input-store.js +92 -0
- package/dist/rendering/inputs/smart-input-store.js.map +1 -0
- package/dist/rendering/lifecycle/lifecycle-coordinator.d.ts +94 -0
- package/dist/rendering/lifecycle/lifecycle-coordinator.d.ts.map +1 -0
- package/dist/rendering/lifecycle/lifecycle-coordinator.js +142 -0
- package/dist/rendering/lifecycle/lifecycle-coordinator.js.map +1 -0
- package/dist/rendering/lifecycle/mount-context.interface.d.ts +50 -0
- package/dist/rendering/lifecycle/mount-context.interface.d.ts.map +1 -0
- package/dist/rendering/lifecycle/mount-context.interface.js +2 -0
- package/dist/rendering/lifecycle/mount-context.interface.js.map +1 -0
- package/dist/rendering/lifecycle/mount-session.d.ts +49 -0
- package/dist/rendering/lifecycle/mount-session.d.ts.map +1 -0
- package/dist/rendering/lifecycle/mount-session.js +71 -0
- package/dist/rendering/lifecycle/mount-session.js.map +1 -0
- package/dist/rendering/managed-host/host-style-migrator.d.ts +55 -0
- package/dist/rendering/managed-host/host-style-migrator.d.ts.map +1 -0
- package/dist/rendering/managed-host/host-style-migrator.interface.d.ts +42 -0
- package/dist/rendering/managed-host/host-style-migrator.interface.d.ts.map +1 -0
- package/dist/rendering/managed-host/host-style-migrator.interface.js +2 -0
- package/dist/rendering/managed-host/host-style-migrator.interface.js.map +1 -0
- package/dist/rendering/managed-host/host-style-migrator.js +105 -0
- package/dist/rendering/managed-host/host-style-migrator.js.map +1 -0
- package/dist/rendering/managed-host/index.d.ts +18 -0
- package/dist/rendering/managed-host/index.d.ts.map +1 -0
- package/dist/rendering/managed-host/index.js +14 -0
- package/dist/rendering/managed-host/index.js.map +1 -0
- package/dist/rendering/managed-host/input-attribute-policy.d.ts +60 -0
- package/dist/rendering/managed-host/input-attribute-policy.d.ts.map +1 -0
- package/dist/rendering/managed-host/input-attribute-policy.interface.d.ts +43 -0
- package/dist/rendering/managed-host/input-attribute-policy.interface.d.ts.map +1 -0
- package/dist/rendering/managed-host/input-attribute-policy.interface.js +2 -0
- package/dist/rendering/managed-host/input-attribute-policy.interface.js.map +1 -0
- package/dist/rendering/managed-host/input-attribute-policy.js +114 -0
- package/dist/rendering/managed-host/input-attribute-policy.js.map +1 -0
- package/dist/rendering/managed-host/managed-element-registry.d.ts +35 -0
- package/dist/rendering/managed-host/managed-element-registry.d.ts.map +1 -0
- package/dist/rendering/managed-host/managed-element-registry.js +103 -0
- package/dist/rendering/managed-host/managed-element-registry.js.map +1 -0
- package/dist/rendering/managed-host/managed-element-resolver.d.ts +27 -0
- package/dist/rendering/managed-host/managed-element-resolver.d.ts.map +1 -0
- package/dist/rendering/managed-host/managed-element-resolver.interface.d.ts +36 -0
- package/dist/rendering/managed-host/managed-element-resolver.interface.d.ts.map +1 -0
- package/dist/rendering/managed-host/managed-element-resolver.interface.js +2 -0
- package/dist/rendering/managed-host/managed-element-resolver.interface.js.map +1 -0
- package/dist/rendering/managed-host/managed-element-resolver.js +31 -0
- package/dist/rendering/managed-host/managed-element-resolver.js.map +1 -0
- package/dist/rendering/managed-host/managed-host-context.interface.d.ts +31 -0
- package/dist/rendering/managed-host/managed-host-context.interface.d.ts.map +1 -0
- package/dist/rendering/managed-host/managed-host-context.interface.js +2 -0
- package/dist/rendering/managed-host/managed-host-context.interface.js.map +1 -0
- package/dist/rendering/managed-host/outlet-resolver.d.ts +43 -0
- package/dist/rendering/managed-host/outlet-resolver.d.ts.map +1 -0
- package/dist/rendering/managed-host/outlet-resolver.interface.d.ts +28 -0
- package/dist/rendering/managed-host/outlet-resolver.interface.d.ts.map +1 -0
- package/dist/rendering/managed-host/outlet-resolver.interface.js +2 -0
- package/dist/rendering/managed-host/outlet-resolver.interface.js.map +1 -0
- package/dist/rendering/managed-host/outlet-resolver.js +59 -0
- package/dist/rendering/managed-host/outlet-resolver.js.map +1 -0
- package/dist/rendering/pipeline/error-renderer.d.ts +107 -0
- package/dist/rendering/pipeline/error-renderer.d.ts.map +1 -0
- package/dist/rendering/pipeline/error-renderer.js +127 -0
- package/dist/rendering/pipeline/error-renderer.js.map +1 -0
- package/dist/rendering/pipeline/render-pipeline.d.ts +87 -0
- package/dist/rendering/pipeline/render-pipeline.d.ts.map +1 -0
- package/dist/rendering/pipeline/render-pipeline.interface.d.ts +54 -0
- package/dist/rendering/pipeline/render-pipeline.interface.d.ts.map +1 -0
- package/dist/rendering/pipeline/render-pipeline.interface.js +2 -0
- package/dist/rendering/pipeline/render-pipeline.interface.js.map +1 -0
- package/dist/rendering/pipeline/render-pipeline.js +201 -0
- package/dist/rendering/pipeline/render-pipeline.js.map +1 -0
- package/dist/rendering/refs/get-component-host.d.ts +25 -0
- package/dist/rendering/refs/get-component-host.d.ts.map +1 -0
- package/dist/rendering/refs/get-component-host.js +27 -0
- package/dist/rendering/refs/get-component-host.js.map +1 -0
- package/dist/rendering/refs/host-ref-registry.d.ts +43 -0
- package/dist/rendering/refs/host-ref-registry.d.ts.map +1 -0
- package/dist/rendering/refs/host-ref-registry.js +38 -0
- package/dist/rendering/refs/host-ref-registry.js.map +1 -0
- package/dist/rendering/refs/ref-resolver.d.ts +44 -0
- package/dist/rendering/refs/ref-resolver.d.ts.map +1 -0
- package/dist/rendering/refs/ref-resolver.js +54 -0
- package/dist/rendering/refs/ref-resolver.js.map +1 -0
- package/dist/rendering/render-engine-facade.d.ts +80 -0
- package/dist/rendering/render-engine-facade.d.ts.map +1 -0
- package/dist/rendering/render-engine-facade.js +90 -0
- package/dist/rendering/render-engine-facade.js.map +1 -0
- package/dist/rendering/render-engine-factory.d.ts +158 -0
- package/dist/rendering/render-engine-factory.d.ts.map +1 -0
- package/dist/rendering/render-engine-factory.js +225 -0
- package/dist/rendering/render-engine-factory.js.map +1 -0
- package/dist/rendering/render-engine.d.ts +200 -0
- package/dist/rendering/render-engine.d.ts.map +1 -0
- package/dist/rendering/render-engine.js +205 -0
- package/dist/rendering/render-engine.js.map +1 -0
- package/dist/rendering/skeleton/skeleton-renderer.d.ts +91 -0
- package/dist/rendering/skeleton/skeleton-renderer.d.ts.map +1 -0
- package/dist/rendering/skeleton/skeleton-renderer.interface.d.ts +33 -0
- package/dist/rendering/skeleton/skeleton-renderer.interface.d.ts.map +1 -0
- package/dist/rendering/skeleton/skeleton-renderer.interface.js +2 -0
- package/dist/rendering/skeleton/skeleton-renderer.interface.js.map +1 -0
- package/dist/rendering/skeleton/skeleton-renderer.js +188 -0
- package/dist/rendering/skeleton/skeleton-renderer.js.map +1 -0
- package/dist/rendering/skeleton/skeleton-validator.d.ts +51 -0
- package/dist/rendering/skeleton/skeleton-validator.d.ts.map +1 -0
- package/dist/rendering/skeleton/skeleton-validator.interface.d.ts +23 -0
- package/dist/rendering/skeleton/skeleton-validator.interface.d.ts.map +1 -0
- package/dist/rendering/skeleton/skeleton-validator.interface.js +2 -0
- package/dist/rendering/skeleton/skeleton-validator.interface.js.map +1 -0
- package/dist/rendering/skeleton/skeleton-validator.js +215 -0
- package/dist/rendering/skeleton/skeleton-validator.js.map +1 -0
- package/dist/rendering/slots/index.d.ts +2 -0
- package/dist/rendering/slots/index.d.ts.map +1 -0
- package/dist/rendering/slots/index.js +2 -0
- package/dist/rendering/slots/index.js.map +1 -0
- package/dist/rendering/slots/slot-content.registry.d.ts +58 -0
- package/dist/rendering/slots/slot-content.registry.d.ts.map +1 -0
- package/dist/rendering/slots/slot-content.registry.js +77 -0
- package/dist/rendering/slots/slot-content.registry.js.map +1 -0
- package/dist/rendering/styles/shared-styles-registry.d.ts +68 -0
- package/dist/rendering/styles/shared-styles-registry.d.ts.map +1 -0
- package/dist/rendering/styles/shared-styles-registry.js +55 -0
- package/dist/rendering/styles/shared-styles-registry.js.map +1 -0
- package/dist/rendering/support/error-render-options.interface.d.ts +29 -0
- package/dist/rendering/support/error-render-options.interface.d.ts.map +1 -0
- package/dist/rendering/support/error-render-options.interface.js +2 -0
- package/dist/rendering/support/error-render-options.interface.js.map +1 -0
- package/dist/rendering/support/error-renderer.d.ts +56 -0
- package/dist/rendering/support/error-renderer.d.ts.map +1 -0
- package/dist/rendering/support/error-renderer.interface.d.ts +29 -0
- package/dist/rendering/support/error-renderer.interface.d.ts.map +1 -0
- package/dist/rendering/support/error-renderer.interface.js +2 -0
- package/dist/rendering/support/error-renderer.interface.js.map +1 -0
- package/dist/rendering/support/error-renderer.js +92 -0
- package/dist/rendering/support/error-renderer.js.map +1 -0
- package/dist/rendering/support/safe-methods.d.ts +46 -0
- package/dist/rendering/support/safe-methods.d.ts.map +1 -0
- package/dist/rendering/support/safe-methods.js +138 -0
- package/dist/rendering/support/safe-methods.js.map +1 -0
- package/dist/rendering/support/smart-input-store.d.ts +11 -0
- package/dist/rendering/support/smart-input-store.d.ts.map +1 -0
- package/dist/rendering/support/smart-input-store.interface.d.ts +54 -0
- package/dist/rendering/support/smart-input-store.interface.d.ts.map +1 -0
- package/dist/rendering/support/smart-input-store.interface.js +5 -0
- package/dist/rendering/support/smart-input-store.interface.js.map +1 -0
- package/dist/rendering/support/smart-input-store.js +92 -0
- package/dist/rendering/support/smart-input-store.js.map +1 -0
- package/dist/rendering/templates/compiled-template.interface.d.ts +34 -0
- package/dist/rendering/templates/compiled-template.interface.d.ts.map +1 -0
- package/dist/rendering/templates/compiled-template.interface.js +2 -0
- package/dist/rendering/templates/compiled-template.interface.js.map +1 -0
- package/dist/rendering/templates/composite-token-extractor.d.ts +10 -0
- package/dist/rendering/templates/composite-token-extractor.d.ts.map +1 -0
- package/dist/rendering/templates/composite-token-extractor.js +16 -0
- package/dist/rendering/templates/composite-token-extractor.js.map +1 -0
- package/dist/rendering/templates/delimited-token-extractor.d.ts +12 -0
- package/dist/rendering/templates/delimited-token-extractor.d.ts.map +1 -0
- package/dist/rendering/templates/delimited-token-extractor.js +44 -0
- package/dist/rendering/templates/delimited-token-extractor.js.map +1 -0
- package/dist/rendering/templates/host-projector.interface.d.ts +25 -0
- package/dist/rendering/templates/host-projector.interface.d.ts.map +1 -0
- package/dist/rendering/templates/host-projector.interface.js +2 -0
- package/dist/rendering/templates/host-projector.interface.js.map +1 -0
- package/dist/rendering/templates/html-aware-token-extractor.d.ts +56 -0
- package/dist/rendering/templates/html-aware-token-extractor.d.ts.map +1 -0
- package/dist/rendering/templates/html-aware-token-extractor.js +78 -0
- package/dist/rendering/templates/html-aware-token-extractor.js.map +1 -0
- package/dist/rendering/templates/html-fragment-parser.interface.d.ts +19 -0
- package/dist/rendering/templates/html-fragment-parser.interface.d.ts.map +1 -0
- package/dist/rendering/templates/html-fragment-parser.interface.js +2 -0
- package/dist/rendering/templates/html-fragment-parser.interface.js.map +1 -0
- package/dist/rendering/templates/interpolable-content-selector.interface.d.ts +33 -0
- package/dist/rendering/templates/interpolable-content-selector.interface.d.ts.map +1 -0
- package/dist/rendering/templates/interpolable-content-selector.interface.js +2 -0
- package/dist/rendering/templates/interpolable-content-selector.interface.js.map +1 -0
- package/dist/rendering/templates/parse5-fragment-parser.d.ts +31 -0
- package/dist/rendering/templates/parse5-fragment-parser.d.ts.map +1 -0
- package/dist/rendering/templates/parse5-fragment-parser.js +36 -0
- package/dist/rendering/templates/parse5-fragment-parser.js.map +1 -0
- package/dist/rendering/templates/safe-content-selector.d.ts +50 -0
- package/dist/rendering/templates/safe-content-selector.d.ts.map +1 -0
- package/dist/rendering/templates/safe-content-selector.js +138 -0
- package/dist/rendering/templates/safe-content-selector.js.map +1 -0
- package/dist/rendering/templates/simple-template-analyzer.d.ts +29 -0
- package/dist/rendering/templates/simple-template-analyzer.d.ts.map +1 -0
- package/dist/rendering/templates/simple-template-analyzer.js +59 -0
- package/dist/rendering/templates/simple-template-analyzer.js.map +1 -0
- package/dist/rendering/templates/template-analyzer.d.ts +60 -0
- package/dist/rendering/templates/template-analyzer.d.ts.map +1 -0
- package/dist/rendering/templates/template-analyzer.interface.d.ts +15 -0
- package/dist/rendering/templates/template-analyzer.interface.d.ts.map +1 -0
- package/dist/rendering/templates/template-analyzer.interface.js +2 -0
- package/dist/rendering/templates/template-analyzer.interface.js.map +1 -0
- package/dist/rendering/templates/template-analyzer.js +74 -0
- package/dist/rendering/templates/template-analyzer.js.map +1 -0
- package/dist/rendering/templates/template-compilation-cache.d.ts +96 -0
- package/dist/rendering/templates/template-compilation-cache.d.ts.map +1 -0
- package/dist/rendering/templates/template-compilation-cache.js +125 -0
- package/dist/rendering/templates/template-compilation-cache.js.map +1 -0
- package/dist/rendering/templates/template-compiler.d.ts +76 -0
- package/dist/rendering/templates/template-compiler.d.ts.map +1 -0
- package/dist/rendering/templates/template-compiler.interface.d.ts +35 -0
- package/dist/rendering/templates/template-compiler.interface.d.ts.map +1 -0
- package/dist/rendering/templates/template-compiler.interface.js +2 -0
- package/dist/rendering/templates/template-compiler.interface.js.map +1 -0
- package/dist/rendering/templates/template-compiler.js +136 -0
- package/dist/rendering/templates/template-compiler.js.map +1 -0
- package/dist/rendering/templates/template-provider.d.ts +112 -0
- package/dist/rendering/templates/template-provider.d.ts.map +1 -0
- package/dist/rendering/templates/template-provider.factory.d.ts +35 -0
- package/dist/rendering/templates/template-provider.factory.d.ts.map +1 -0
- package/dist/rendering/templates/template-provider.factory.js +42 -0
- package/dist/rendering/templates/template-provider.factory.js.map +1 -0
- package/dist/rendering/templates/template-provider.interface.d.ts +32 -0
- package/dist/rendering/templates/template-provider.interface.d.ts.map +1 -0
- package/dist/rendering/templates/template-provider.interface.js +2 -0
- package/dist/rendering/templates/template-provider.interface.js.map +1 -0
- package/dist/rendering/templates/template-provider.js +104 -0
- package/dist/rendering/templates/template-provider.js.map +1 -0
- package/dist/rendering/templates/template-token.interface.d.ts +38 -0
- package/dist/rendering/templates/template-token.interface.d.ts.map +1 -0
- package/dist/rendering/templates/template-token.interface.js +2 -0
- package/dist/rendering/templates/template-token.interface.js.map +1 -0
- package/dist/types/interfaces.d.ts +204 -0
- package/dist/types/interfaces.d.ts.map +1 -0
- package/dist/types/interfaces.js +2 -0
- package/dist/types/interfaces.js.map +1 -0
- package/dist/utils/dom-utils.d.ts +71 -0
- package/dist/utils/dom-utils.d.ts.map +1 -0
- package/dist/utils/dom-utils.js +119 -0
- package/dist/utils/dom-utils.js.map +1 -0
- package/dist/utils/object-registry.d.ts +71 -0
- package/dist/utils/object-registry.d.ts.map +1 -0
- package/dist/utils/object-registry.js +126 -0
- package/dist/utils/object-registry.js.map +1 -0
- package/package.json +79 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 janmbaco
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# SmartComponents
|
|
2
|
+
|
|
3
|
+
> A lightweight, reactive web components framework for TypeScript.
|
|
4
|
+
> Business logic stays in services. Components are pure presentation.
|
|
5
|
+
|
|
6
|
+
[](https://www.npmjs.com/package/smart-lifecycle)
|
|
7
|
+
[](LICENSE)
|
|
8
|
+
[](https://www.typescriptlang.org/)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Features
|
|
13
|
+
|
|
14
|
+
- **Signal-based reactivity** — Per-property observables; only affected DOM nodes update.
|
|
15
|
+
- **No virtual DOM** — Surgical DOM updates via direct subscriptions.
|
|
16
|
+
- **Two authoring styles** — Inline `@Smart` for quick components; class-based `@SmartRender` for full control.
|
|
17
|
+
- **Native slot projection** — Named and default `<slot>` elements for composable layouts via Shadow DOM.
|
|
18
|
+
- **Factory-first DI** — Explicit dependency injection through factory functions; no auto-wiring magic.
|
|
19
|
+
- **Security-first expression evaluator** — Deterministic AST pipeline; no `eval` or `new Function`. Whitelisted method calls only.
|
|
20
|
+
- **Tiny footprint** — Zero runtime dependencies.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Installation
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install smart-lifecycle
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Bootstrap
|
|
33
|
+
|
|
34
|
+
Call `bootstrapFramework()` once in your entry point before any component is used:
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
import { bootstrapFramework, Services } from "smart-lifecycle";
|
|
38
|
+
|
|
39
|
+
bootstrapFramework(Services);
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Usage
|
|
45
|
+
|
|
46
|
+
### Presentational Component (Slot Projection)
|
|
47
|
+
|
|
48
|
+
Components that wrap child content in a styled layout using native Shadow DOM slots. No state, no logic.
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
import { Smart } from "smart-lifecycle";
|
|
52
|
+
|
|
53
|
+
@Smart("card-container", (ctx) => {
|
|
54
|
+
ctx.html(`
|
|
55
|
+
<div class="card">
|
|
56
|
+
<div class="card-header">
|
|
57
|
+
<slot name="header">Default Header</slot>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="card-body">
|
|
60
|
+
<slot>Default Content</slot>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
`);
|
|
64
|
+
})
|
|
65
|
+
export class CardContainer {}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
```html
|
|
69
|
+
<card-container>
|
|
70
|
+
<h2 slot="header">Card Title</h2>
|
|
71
|
+
<p>Card body content goes here.</p>
|
|
72
|
+
</card-container>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### Data Display Component (Reactive Props)
|
|
78
|
+
|
|
79
|
+
Components that receive data via attributes and render it reactively.
|
|
80
|
+
|
|
81
|
+
```typescript
|
|
82
|
+
import { Smart } from "smart-lifecycle";
|
|
83
|
+
|
|
84
|
+
@Smart("user-badge", (ctx) => {
|
|
85
|
+
ctx.props<{ name: string; role: string }>();
|
|
86
|
+
|
|
87
|
+
ctx.html(`
|
|
88
|
+
<div class="badge">
|
|
89
|
+
<span class="name">{{name}}</span>
|
|
90
|
+
<span class="role">{{role}}</span>
|
|
91
|
+
</div>
|
|
92
|
+
`);
|
|
93
|
+
})
|
|
94
|
+
export class UserBadge {}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
```html
|
|
98
|
+
<user-badge name="Alice" role="Engineer"></user-badge>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
### Interactive Component (Local State + Events)
|
|
104
|
+
|
|
105
|
+
Components with local state that responds to user interactions.
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
import { Smart } from "smart-lifecycle";
|
|
109
|
+
|
|
110
|
+
@Smart("simple-counter", (ctx) => {
|
|
111
|
+
ctx.state({ count: 0 });
|
|
112
|
+
|
|
113
|
+
ctx.on({
|
|
114
|
+
increment() {
|
|
115
|
+
this.count++;
|
|
116
|
+
},
|
|
117
|
+
decrement() {
|
|
118
|
+
this.count--;
|
|
119
|
+
},
|
|
120
|
+
reset() {
|
|
121
|
+
this.count = 0;
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
ctx.html(`
|
|
126
|
+
<div class="counter">
|
|
127
|
+
<smart-action name="decrement"><button type="button">−</button></smart-action>
|
|
128
|
+
<span>{{count}}</span>
|
|
129
|
+
<smart-action name="increment"><button type="button">+</button></smart-action>
|
|
130
|
+
<smart-action name="reset"><button type="button">Reset</button></smart-action>
|
|
131
|
+
</div>
|
|
132
|
+
`);
|
|
133
|
+
})
|
|
134
|
+
export class SimpleCounter {}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
### Class-Based Component (`@SmartRender`)
|
|
140
|
+
|
|
141
|
+
For components that need async initialization or a lifecycle manager to wire
|
|
142
|
+
external services.
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
import {
|
|
146
|
+
SmartRender,
|
|
147
|
+
SmartComponent,
|
|
148
|
+
SmartComponentInitializer,
|
|
149
|
+
SmartLifecycleManager,
|
|
150
|
+
} from "smart-lifecycle";
|
|
151
|
+
|
|
152
|
+
class TodoInitializer extends SmartComponentInitializer<TodoList> {
|
|
153
|
+
protected async onInitialize(component: TodoList): Promise<boolean> {
|
|
154
|
+
component.items = await fetch("/api/todos").then((r) => r.json());
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
class TodoLifecycle extends SmartLifecycleManager<TodoList> {
|
|
160
|
+
protected onComponentReady(component: TodoList): void {
|
|
161
|
+
this.addSubscription(
|
|
162
|
+
todoService.onUpdate$.subscribe((items) => {
|
|
163
|
+
component.items = items;
|
|
164
|
+
}),
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
@SmartRender({
|
|
170
|
+
selector: "todo-list",
|
|
171
|
+
template: `
|
|
172
|
+
<ul>
|
|
173
|
+
<smart-for from="items" let="item">
|
|
174
|
+
<li class="{{item.done ? 'done' : ''}}">{{item.text}}</li>
|
|
175
|
+
</smart-for>
|
|
176
|
+
</ul>
|
|
177
|
+
`,
|
|
178
|
+
initializer: () => new TodoInitializer(),
|
|
179
|
+
lifecycle: () => new TodoLifecycle(),
|
|
180
|
+
})
|
|
181
|
+
export class TodoList extends SmartComponent {
|
|
182
|
+
@Reactive accessor items: Todo[] = [];
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Template Syntax
|
|
189
|
+
|
|
190
|
+
| Syntax | Description |
|
|
191
|
+
| ------------------- | --------------------------------------------------------- |
|
|
192
|
+
| `{{expression}}` | Reactive binding — re-evaluates on property change |
|
|
193
|
+
| `[[Namespace.KEY]]` | Static constant — inlined at compile time |
|
|
194
|
+
| `[[RULES.field]]` | Validation rules — expands to HTML5 validation attributes |
|
|
195
|
+
| `<slot>` | Default projection slot (native Shadow DOM) |
|
|
196
|
+
| `<slot name="X">` | Named projection slot (native Shadow DOM) |
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Commands
|
|
201
|
+
|
|
202
|
+
| Command | Description |
|
|
203
|
+
| -------------------------- | ------------------------------------------------- |
|
|
204
|
+
| `npm install` | Install dependencies |
|
|
205
|
+
| `npm run build:lib` | Compile library to `dist/` |
|
|
206
|
+
| `npm run build` | Compile library + examples |
|
|
207
|
+
| `npm run serve:dev` | Start dev server on `http://localhost:3000` |
|
|
208
|
+
| `npm run serve:dist` | Serve production build on `http://localhost:8080` |
|
|
209
|
+
| `npm test` | Run full test suite (unit + integration) |
|
|
210
|
+
| `npm run test:unit` | Unit tests only |
|
|
211
|
+
| `npm run test:integration` | Integration tests only |
|
|
212
|
+
| `npm run lint` | Lint source files |
|
|
213
|
+
| `npm run format` | Format source files |
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Interactive Playground
|
|
218
|
+
|
|
219
|
+
The project ships with 13 interactive examples that run in the browser via a
|
|
220
|
+
TypeScript playground with live preview. Each example has an editable code panel
|
|
221
|
+
(CodeMirror) and an iframe sandbox that re-transpiles and re-executes on every
|
|
222
|
+
change.
|
|
223
|
+
|
|
224
|
+
### Running the playground
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
npm install
|
|
228
|
+
npm run build # builds library + example bundles
|
|
229
|
+
npm run serve:dev # http://localhost:3000
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Examples
|
|
233
|
+
|
|
234
|
+
| # | Tab | Category | Description |
|
|
235
|
+
| -- | ---------------- | ------------- | -------------------------------------------- |
|
|
236
|
+
| 01 | Hello World | Basics | Minimal `@Smart` component |
|
|
237
|
+
| 02 | Counter | Basics | Local state + `<smart-action>` events |
|
|
238
|
+
| 03 | Bindings | Basics | Reactive attribute and text bindings |
|
|
239
|
+
| 04 | Events | Basics | DOM event listeners via `@Listen` |
|
|
240
|
+
| 05 | Composition | Data & State | Parent → child attribute projection |
|
|
241
|
+
| 06 | Forms | Data & State | Two-way form bindings with validation rules |
|
|
242
|
+
| 07 | Lists | Data & State | `<smart-for>` iteration |
|
|
243
|
+
| 08 | Conditionals | Data & State | Conditional rendering with ternary bindings |
|
|
244
|
+
| 09 | DI Injection | Advanced | Factory-first dependency injection |
|
|
245
|
+
| 10 | Lifecycle | Advanced | Initializer + lifecycle manager hooks |
|
|
246
|
+
| 11 | Real API | Advanced | Async data fetching with initializer |
|
|
247
|
+
| 12 | Dashboard | Advanced | Multi-service DI with `@Injectable` auto-wire |
|
|
248
|
+
| 13 | @Smart Advanced | Advanced | Full `@Smart` component with services & state |
|
|
249
|
+
|
|
250
|
+
### Docker deployment
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
docker build -t smart-components .
|
|
254
|
+
docker run -p 8080:8080 smart-components
|
|
255
|
+
# Playground available at http://localhost:8080
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Documentation
|
|
261
|
+
|
|
262
|
+
| Document | Description |
|
|
263
|
+
| ----------------------------------------------------------------------------- | ------------------------------------------------------------ |
|
|
264
|
+
| [docs/DEPENDENCY-INJECTION.md](docs/DEPENDENCY-INJECTION.md) | DI architecture and service registry |
|
|
265
|
+
| [docs/SMART-VS-SMARTRENDER.md](docs/SMART-VS-SMARTRENDER.md) | When to use `@Smart` vs `@SmartRender` |
|
|
266
|
+
| [docs/RENDERING-ARCHITECTURE.md](docs/RENDERING-ARCHITECTURE.md) | Rendering pipeline overview |
|
|
267
|
+
| [docs/RENDERING-PIPELINE-DEEP-DIVE.md](docs/RENDERING-PIPELINE-DEEP-DIVE.md) | Expression parsing, binding resolution, reactivity internals |
|
|
268
|
+
| [docs/templates.md](docs/templates.md) | Template system reference |
|
|
269
|
+
| [docs/BABEL-TO-TYPESCRIPT-MIGRATION.md](docs/BABEL-TO-TYPESCRIPT-MIGRATION.md)| Migration from Babel to TypeScript standalone transpiler |
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## License
|
|
274
|
+
|
|
275
|
+
[MIT](LICENSE) © janmbaco
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { SmartComponent } from '../core/smart-component.js';
|
|
2
|
+
import type { SmartComponentInitializer } from './initializer.base.js';
|
|
3
|
+
import type { IServiceProvider } from '../providers/service-provider.interface.js';
|
|
4
|
+
/**
|
|
5
|
+
* Defines the responsibility of creating initializer instances.
|
|
6
|
+
*/
|
|
7
|
+
export interface IInitializerFactory {
|
|
8
|
+
/**
|
|
9
|
+
* Creates an initializer instance for the given class.
|
|
10
|
+
*
|
|
11
|
+
* @param initializerClass - Initializer class constructor
|
|
12
|
+
* @returns Fully initialized initializer instance
|
|
13
|
+
* @throws Error if required dependencies are not available
|
|
14
|
+
*/
|
|
15
|
+
create<T extends SmartComponent>(initializerClass: new (...args: unknown[]) => SmartComponentInitializer<T>): SmartComponentInitializer<T>;
|
|
16
|
+
/**
|
|
17
|
+
* Registers a custom factory function for a specific initializer type.
|
|
18
|
+
*
|
|
19
|
+
* @param initializerClass - Initializer class to register
|
|
20
|
+
* @param factoryFn - Factory function that creates the instance
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* factory.registerFactory(CustomInitializer, (resolver) => {
|
|
25
|
+
* const http = resolver.get('IHttpService');
|
|
26
|
+
* return new CustomInitializer(http);
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
registerFactory<T extends SmartComponent>(initializerClass: new (...args: unknown[]) => SmartComponentInitializer<T>, factoryFn: (serviceProvider: IServiceProvider) => SmartComponentInitializer<T>): void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Implements the responsibility of creating initializer instances with auto-discovery.
|
|
34
|
+
*
|
|
35
|
+
* @description
|
|
36
|
+
* Centralizes initializer creation logic following the Factory Pattern.
|
|
37
|
+
* Automatically discovers and resolves common framework dependencies.
|
|
38
|
+
* Uses ServiceProvider to resolve dependencies and allows registration of
|
|
39
|
+
* custom factory functions for complex cases.
|
|
40
|
+
*
|
|
41
|
+
* @architecture
|
|
42
|
+
* **Design Decisions:**
|
|
43
|
+
* - Auto-discovery for common dependency patterns (0-4 params)
|
|
44
|
+
* - Strategy pattern via registerFactory for custom cases
|
|
45
|
+
* - Resolves dependencies from ServiceProvider (DIP)
|
|
46
|
+
* - Throws clear errors when dependencies are missing
|
|
47
|
+
* - Allows zero-config for initializers without dependencies
|
|
48
|
+
*/
|
|
49
|
+
export declare class InitializerFactory implements IInitializerFactory {
|
|
50
|
+
private readonly serviceProvider;
|
|
51
|
+
private readonly factories;
|
|
52
|
+
/**
|
|
53
|
+
* Initializes a new instance of InitializerFactory.
|
|
54
|
+
*
|
|
55
|
+
* @param serviceProvider - Service provider for dependency resolution
|
|
56
|
+
* @throws Error if serviceProvider is null or undefined
|
|
57
|
+
*/
|
|
58
|
+
constructor(serviceProvider: IServiceProvider);
|
|
59
|
+
registerFactory<T extends SmartComponent>(initializerClass: new (...args: unknown[]) => SmartComponentInitializer<T>, factoryFn: (serviceProvider: IServiceProvider) => SmartComponentInitializer<T>): void;
|
|
60
|
+
create<T extends SmartComponent>(initializerClass: new (...args: unknown[]) => SmartComponentInitializer<T>): SmartComponentInitializer<T>;
|
|
61
|
+
/**
|
|
62
|
+
* Attempts to create initializer with auto-discovered dependencies.
|
|
63
|
+
*
|
|
64
|
+
* @description
|
|
65
|
+
* Tries common dependency patterns for initializers:
|
|
66
|
+
* - 0 params: new Initializer()
|
|
67
|
+
* - 1 param: new Initializer(IHttpService | ILogger | custom service)
|
|
68
|
+
* - 2 params: new Initializer(service1, service2)
|
|
69
|
+
* - etc.
|
|
70
|
+
*
|
|
71
|
+
* Common initializer dependencies:
|
|
72
|
+
* - HTTP services for data fetching
|
|
73
|
+
* - Logger services for initialization logging
|
|
74
|
+
* - Configuration services
|
|
75
|
+
* - User-defined application services
|
|
76
|
+
*
|
|
77
|
+
* @param initializerClass - Initializer class constructor
|
|
78
|
+
* @returns Instantiated initializer
|
|
79
|
+
* @throws Error if dependencies cannot be resolved
|
|
80
|
+
*/
|
|
81
|
+
private createWithAutodiscovery;
|
|
82
|
+
/**
|
|
83
|
+
* Attempts to get a service from the provider without throwing.
|
|
84
|
+
*
|
|
85
|
+
* @param token - Service token
|
|
86
|
+
* @returns Service instance or undefined
|
|
87
|
+
*/
|
|
88
|
+
private tryGet;
|
|
89
|
+
/**
|
|
90
|
+
* Applies explicit dependency injection using static inject property.
|
|
91
|
+
*
|
|
92
|
+
* @description
|
|
93
|
+
* If the class defines a static inject property, resolves the declared
|
|
94
|
+
* dependencies and assigns them to the instance properties.
|
|
95
|
+
*
|
|
96
|
+
* @param instance - Initializer instance
|
|
97
|
+
* @param initializerClass - Initializer class constructor
|
|
98
|
+
*/
|
|
99
|
+
private applyDependencyInjection;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=initializer-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializer-factory.d.ts","sourceRoot":"","sources":["../../src/behaviors/initializer-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAGnF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,SAAS,cAAc,EAC7B,gBAAgB,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,yBAAyB,CAAC,CAAC,CAAC,GACzE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAEhC;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,CAAC,SAAS,cAAc,EACtC,gBAAgB,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,yBAAyB,CAAC,CAAC,CAAC,EAC1E,SAAS,EAAE,CAAC,eAAe,EAAE,gBAAgB,KAAK,yBAAyB,CAAC,CAAC,CAAC,GAC7E,IAAI,CAAC;CACT;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAShD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAR5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+F;IAEzH;;;;;OAKG;gBAC0B,eAAe,EAAE,gBAAgB;IAM9D,eAAe,CAAC,CAAC,SAAS,cAAc,EACtC,gBAAgB,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,yBAAyB,CAAC,CAAC,CAAC,EAC1E,SAAS,EAAE,CAAC,eAAe,EAAE,gBAAgB,KAAK,yBAAyB,CAAC,CAAC,CAAC,GAC7E,IAAI;IAWP,MAAM,CAAC,CAAC,SAAS,cAAc,EAC7B,gBAAgB,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,yBAAyB,CAAC,CAAC,CAAC,GACzE,yBAAyB,CAAC,CAAC,CAAC;IAuC/B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,uBAAuB;IAwD/B;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAWd;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;CAejC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { applyInjection } from './injection-helper.js';
|
|
2
|
+
/**
|
|
3
|
+
* Implements the responsibility of creating initializer instances with auto-discovery.
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Centralizes initializer creation logic following the Factory Pattern.
|
|
7
|
+
* Automatically discovers and resolves common framework dependencies.
|
|
8
|
+
* Uses ServiceProvider to resolve dependencies and allows registration of
|
|
9
|
+
* custom factory functions for complex cases.
|
|
10
|
+
*
|
|
11
|
+
* @architecture
|
|
12
|
+
* **Design Decisions:**
|
|
13
|
+
* - Auto-discovery for common dependency patterns (0-4 params)
|
|
14
|
+
* - Strategy pattern via registerFactory for custom cases
|
|
15
|
+
* - Resolves dependencies from ServiceProvider (DIP)
|
|
16
|
+
* - Throws clear errors when dependencies are missing
|
|
17
|
+
* - Allows zero-config for initializers without dependencies
|
|
18
|
+
*/
|
|
19
|
+
export class InitializerFactory {
|
|
20
|
+
serviceProvider;
|
|
21
|
+
factories = new Map();
|
|
22
|
+
/**
|
|
23
|
+
* Initializes a new instance of InitializerFactory.
|
|
24
|
+
*
|
|
25
|
+
* @param serviceProvider - Service provider for dependency resolution
|
|
26
|
+
* @throws Error if serviceProvider is null or undefined
|
|
27
|
+
*/
|
|
28
|
+
constructor(serviceProvider) {
|
|
29
|
+
this.serviceProvider = serviceProvider;
|
|
30
|
+
if (!serviceProvider) {
|
|
31
|
+
throw new Error('Service provider is required');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
registerFactory(initializerClass, factoryFn) {
|
|
35
|
+
if (!initializerClass) {
|
|
36
|
+
throw new Error('Initializer class is required');
|
|
37
|
+
}
|
|
38
|
+
if (!factoryFn) {
|
|
39
|
+
throw new Error('Factory function is required');
|
|
40
|
+
}
|
|
41
|
+
this.factories.set(initializerClass, factoryFn);
|
|
42
|
+
}
|
|
43
|
+
create(initializerClass) {
|
|
44
|
+
if (!initializerClass) {
|
|
45
|
+
throw new Error('Initializer class is required');
|
|
46
|
+
}
|
|
47
|
+
// Check if custom factory is registered
|
|
48
|
+
const customFactory = this.factories.get(initializerClass);
|
|
49
|
+
if (customFactory) {
|
|
50
|
+
const instance = customFactory(this.serviceProvider);
|
|
51
|
+
this.applyDependencyInjection(instance, initializerClass);
|
|
52
|
+
return instance;
|
|
53
|
+
}
|
|
54
|
+
// Auto-discovery: Try to resolve common framework dependencies
|
|
55
|
+
let instance;
|
|
56
|
+
try {
|
|
57
|
+
instance = this.createWithAutodiscovery(initializerClass);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
// Fallback: try parameterless constructor
|
|
61
|
+
try {
|
|
62
|
+
instance = new initializerClass();
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
64
|
+
}
|
|
65
|
+
catch (_fallbackError) {
|
|
66
|
+
const originalMessage = error instanceof Error ? error.message : String(error);
|
|
67
|
+
throw new Error(`Cannot create initializer ${initializerClass.name}. ` +
|
|
68
|
+
`Dependencies could not be auto-discovered. ` +
|
|
69
|
+
`Register a factory function using registerFactory() if it requires custom dependencies. ` +
|
|
70
|
+
`Original error: ${originalMessage}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Apply explicit dependency injection if static inject property exists
|
|
74
|
+
this.applyDependencyInjection(instance, initializerClass);
|
|
75
|
+
return instance;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Attempts to create initializer with auto-discovered dependencies.
|
|
79
|
+
*
|
|
80
|
+
* @description
|
|
81
|
+
* Tries common dependency patterns for initializers:
|
|
82
|
+
* - 0 params: new Initializer()
|
|
83
|
+
* - 1 param: new Initializer(IHttpService | ILogger | custom service)
|
|
84
|
+
* - 2 params: new Initializer(service1, service2)
|
|
85
|
+
* - etc.
|
|
86
|
+
*
|
|
87
|
+
* Common initializer dependencies:
|
|
88
|
+
* - HTTP services for data fetching
|
|
89
|
+
* - Logger services for initialization logging
|
|
90
|
+
* - Configuration services
|
|
91
|
+
* - User-defined application services
|
|
92
|
+
*
|
|
93
|
+
* @param initializerClass - Initializer class constructor
|
|
94
|
+
* @returns Instantiated initializer
|
|
95
|
+
* @throws Error if dependencies cannot be resolved
|
|
96
|
+
*/
|
|
97
|
+
createWithAutodiscovery(initializerClass) {
|
|
98
|
+
// Try common dependency patterns in order of likelihood
|
|
99
|
+
const patterns = [
|
|
100
|
+
// Pattern 1: No dependencies (most common for simple initializers)
|
|
101
|
+
() => new initializerClass(),
|
|
102
|
+
// Pattern 2: Single service dependency
|
|
103
|
+
// Try common service tokens
|
|
104
|
+
() => {
|
|
105
|
+
const service = this.tryGet('IHttpService') ||
|
|
106
|
+
this.tryGet('ILogger') ||
|
|
107
|
+
this.tryGet('IConfigService');
|
|
108
|
+
if (service) {
|
|
109
|
+
return new initializerClass(service);
|
|
110
|
+
}
|
|
111
|
+
throw new Error('No single service found');
|
|
112
|
+
},
|
|
113
|
+
// Pattern 3: HTTP + Logger (common pattern)
|
|
114
|
+
() => {
|
|
115
|
+
const http = this.tryGet('IHttpService');
|
|
116
|
+
const logger = this.tryGet('ILogger');
|
|
117
|
+
if (http && logger) {
|
|
118
|
+
return new initializerClass(http, logger);
|
|
119
|
+
}
|
|
120
|
+
throw new Error('HTTP + Logger not found');
|
|
121
|
+
},
|
|
122
|
+
// Pattern 4: HTTP + Logger + Config
|
|
123
|
+
() => {
|
|
124
|
+
const http = this.tryGet('IHttpService');
|
|
125
|
+
const logger = this.tryGet('ILogger');
|
|
126
|
+
const config = this.tryGet('IConfigService');
|
|
127
|
+
if (http && logger && config) {
|
|
128
|
+
return new initializerClass(http, logger, config);
|
|
129
|
+
}
|
|
130
|
+
throw new Error('HTTP + Logger + Config not found');
|
|
131
|
+
}
|
|
132
|
+
];
|
|
133
|
+
let lastError = null;
|
|
134
|
+
for (const pattern of patterns) {
|
|
135
|
+
try {
|
|
136
|
+
return pattern();
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
lastError = (error instanceof Error ? error : new Error(String(error)));
|
|
140
|
+
// Continue to next pattern
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
throw lastError || new Error('All dependency patterns failed');
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Attempts to get a service from the provider without throwing.
|
|
147
|
+
*
|
|
148
|
+
* @param token - Service token
|
|
149
|
+
* @returns Service instance or undefined
|
|
150
|
+
*/
|
|
151
|
+
tryGet(token) {
|
|
152
|
+
try {
|
|
153
|
+
if (this.serviceProvider.has(token)) {
|
|
154
|
+
return this.serviceProvider.get(token);
|
|
155
|
+
}
|
|
156
|
+
return undefined;
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Applies explicit dependency injection using static inject property.
|
|
164
|
+
*
|
|
165
|
+
* @description
|
|
166
|
+
* If the class defines a static inject property, resolves the declared
|
|
167
|
+
* dependencies and assigns them to the instance properties.
|
|
168
|
+
*
|
|
169
|
+
* @param instance - Initializer instance
|
|
170
|
+
* @param initializerClass - Initializer class constructor
|
|
171
|
+
*/
|
|
172
|
+
applyDependencyInjection(instance, initializerClass) {
|
|
173
|
+
const injectMap = initializerClass.inject;
|
|
174
|
+
if (!injectMap) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
applyInjection(instance, injectMap, this.serviceProvider, {
|
|
178
|
+
kind: 'Initializer',
|
|
179
|
+
name: initializerClass.name
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=initializer-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializer-factory.js","sourceRoot":"","sources":["../../src/behaviors/initializer-factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAqC,MAAM,uBAAuB,CAAC;AAqC1F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,kBAAkB;IASA;IARZ,SAAS,GAAG,IAAI,GAAG,EAAoF,CAAC;IAEzH;;;;;OAKG;IACH,YAA6B,eAAiC;QAAjC,oBAAe,GAAf,eAAe,CAAkB;QAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,eAAe,CACb,gBAA0E,EAC1E,SAA8E;QAE9E,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAA0F,CAAC,CAAC;IACnI,CAAC;IAED,MAAM,CACJ,gBAA0E;QAE1E,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,wCAAwC;QACxC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC1D,OAAO,QAAwC,CAAC;QAClD,CAAC;QAED,+DAA+D;QAC/D,IAAI,QAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,0CAA0C;YAC1C,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBACpC,6DAA6D;YAC7D,CAAC;YAAC,OAAO,cAAc,EAAE,CAAC;gBACxB,MAAM,eAAe,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/E,MAAM,IAAI,KAAK,CACb,6BAA6B,gBAAgB,CAAC,IAAI,IAAI;oBACtD,6CAA6C;oBAC7C,0FAA0F;oBAC1F,mBAAmB,eAAe,EAAE,CACrC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAE1D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,uBAAuB,CAC7B,gBAA0E;QAE1E,wDAAwD;QACxD,MAAM,QAAQ,GAAG;YACf,mEAAmE;YACnE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE;YAE5B,uCAAuC;YACvC,4BAA4B;YAC5B,GAAG,EAAE;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC7C,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,4CAA4C;YAC5C,GAAG,EAAE;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;oBACnB,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,oCAAoC;YACpC,GAAG,EAAE;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC7C,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;oBAC7B,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;SACF,CAAC;QAEF,IAAI,SAAS,GAAiB,IAAI,CAAC;QAEnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,OAAO,OAAO,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,SAAS,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxE,2BAA2B;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAI,KAAsB;QACtC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAI,KAAK,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,wBAAwB,CAC9B,QAAsC,EACtC,gBAA0E;QAE1E,MAAM,SAAS,GAAI,gBAA2C,CAAC,MAAM,CAAC;QAEtE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE;YACxD,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,gBAAgB,CAAC,IAAI;SAC5B,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IComponentInitializer } from '../types/interfaces.js';
|
|
2
|
+
/**
|
|
3
|
+
* Base class for component initializers
|
|
4
|
+
* Handles initial setup and data loading for components
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class SmartComponentInitializer<TComponent> implements IComponentInitializer<TComponent> {
|
|
7
|
+
/**
|
|
8
|
+
* Initializes the component with initial data and configuration
|
|
9
|
+
*
|
|
10
|
+
* @param component - Component instance to initialize
|
|
11
|
+
* @returns true if initialization succeeded, false if failed
|
|
12
|
+
* @throws Never - always catches and logs errors
|
|
13
|
+
*/
|
|
14
|
+
initialize(component: TComponent): Promise<boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Hook for custom initialization logic
|
|
17
|
+
* Return true if initialization was successful, false otherwise
|
|
18
|
+
*/
|
|
19
|
+
protected abstract onInitialize(component: TComponent): boolean | Promise<boolean>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=initializer.base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializer.base.d.ts","sourceRoot":"","sources":["../../src/behaviors/initializer.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;GAGG;AACH,8BAAsB,yBAAyB,CAAC,UAAU,CAAE,YAAW,qBAAqB,CAAC,UAAU,CAAC;IACtG;;;;;;OAMG;IACG,UAAU,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBzD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CACnF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base class for component initializers
|
|
3
|
+
* Handles initial setup and data loading for components
|
|
4
|
+
*/
|
|
5
|
+
export class SmartComponentInitializer {
|
|
6
|
+
/**
|
|
7
|
+
* Initializes the component with initial data and configuration
|
|
8
|
+
*
|
|
9
|
+
* @param component - Component instance to initialize
|
|
10
|
+
* @returns true if initialization succeeded, false if failed
|
|
11
|
+
* @throws Never - always catches and logs errors
|
|
12
|
+
*/
|
|
13
|
+
async initialize(component) {
|
|
14
|
+
if (!component) {
|
|
15
|
+
console.error('[SmartComponentInitializer] Component is required');
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
return await this.onInitialize(component);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
if (error instanceof Error) {
|
|
23
|
+
console.error('[SmartComponentInitializer] Initialization failed:', error.message, error);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
console.error('[SmartComponentInitializer] Initialization failed with unknown error:', error);
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=initializer.base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializer.base.js","sourceRoot":"","sources":["../../src/behaviors/initializer.base.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAgB,yBAAyB;IAC7C;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,SAAqB;QACpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,uEAAuE,EAAE,KAAK,CAAC,CAAC;YAChG,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CAOF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IComponentInitializer } from "../types/interfaces.js";
|
|
2
|
+
/**
|
|
3
|
+
* Base class for component initializers
|
|
4
|
+
* Handles initial setup and data loading for components
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class SmartComponentInitializer<TComponent> implements IComponentInitializer<TComponent> {
|
|
7
|
+
/**
|
|
8
|
+
* Initializes the component with initial data and configuration
|
|
9
|
+
*
|
|
10
|
+
* @param component - Component instance to initialize
|
|
11
|
+
* @returns true if initialization succeeded, false if failed
|
|
12
|
+
* @throws Never - always catches and logs errors
|
|
13
|
+
*/
|
|
14
|
+
initialize(component: TComponent): Promise<boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Hook for custom initialization logic
|
|
17
|
+
* Return true if initialization was successful, false otherwise
|
|
18
|
+
*/
|
|
19
|
+
protected abstract onInitialize(component: TComponent): boolean | Promise<boolean>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=initializer.d.ts.map
|