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
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decorator barrel exports for SmartComponents.
|
|
3
|
+
*/
|
|
4
|
+
export { Listen } from "./listen.decorator.js";
|
|
5
|
+
export { SmartRender } from "./smart-render.decorator.js";
|
|
6
|
+
export { Smart } from "./smart.decorator.js";
|
|
7
|
+
export { Reactive } from "./reactive.decorator.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { IDomContext } from "../../rendering/dom-context/dom-context.interface.js";
|
|
2
|
+
import type { IListenerInitializer } from "./listener-initializer.interface.js";
|
|
3
|
+
/**
|
|
4
|
+
* Implements the responsibility of binding DOM event listeners to a component after render.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* Reads listener metadata via `IListenerMetadataRegistry` and wires up DOM event handlers
|
|
8
|
+
* using the provided `IDomContext`. Subscriptions are managed by the context for
|
|
9
|
+
* automatic cleanup on destroy or re-render.
|
|
10
|
+
*
|
|
11
|
+
* Registered in the service container under `'IListenerInitializer'` by `bootstrapFramework`.
|
|
12
|
+
*/
|
|
13
|
+
export declare class DefaultListenerInitializer implements IListenerInitializer {
|
|
14
|
+
/**
|
|
15
|
+
* Binds all `@Listen`-registered event handlers to the component's DOM context.
|
|
16
|
+
*
|
|
17
|
+
* @param domContext - DOM context for querying elements and managing subscriptions
|
|
18
|
+
* @param component - Component instance whose methods should be bound
|
|
19
|
+
* @throws Error if domContext or component is null or undefined
|
|
20
|
+
*/
|
|
21
|
+
initialize(domContext: IDomContext, component: unknown): void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=listener-initializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener-initializer.d.ts","sourceRoot":"","sources":["../../../src/decorators/listen/listener-initializer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAGxF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF;;;;;;;;;GASG;AACH,qBAAa,0BAA2B,YAAW,oBAAoB;IACrE;;;;;;OAMG;IACH,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;CAwC9D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { IDomContext } from "../../rendering/dom-context/dom-context.interface.js";
|
|
2
|
+
/**
|
|
3
|
+
* Defines the responsibility of binding DOM event listeners to a component after render.
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Reads listener metadata from the component and wires up DOM event handlers
|
|
7
|
+
* via `IDomContext`. Consumers depend on this abstraction — resolved from the
|
|
8
|
+
* service container — instead of coupling to the concrete binding function.
|
|
9
|
+
*/
|
|
10
|
+
export interface IListenerInitializer {
|
|
11
|
+
/**
|
|
12
|
+
* Binds all `@Listen`-registered event handlers to the component's DOM context.
|
|
13
|
+
*
|
|
14
|
+
* @param domContext - DOM context for querying elements and managing subscriptions
|
|
15
|
+
* @param component - Component instance whose methods should be bound
|
|
16
|
+
* @throws Error if domContext or component is null or undefined
|
|
17
|
+
*/
|
|
18
|
+
initialize(domContext: IDomContext, component: unknown): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=listener-initializer.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener-initializer.interface.d.ts","sourceRoot":"","sources":["../../../src/decorators/listen/listener-initializer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAExF;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener-initializer.interface.js","sourceRoot":"","sources":["../../../src/decorators/listen/listener-initializer.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Services } from "../../providers/service-provider.js";
|
|
2
|
+
/**
|
|
3
|
+
* Implements the responsibility of binding DOM event listeners to a component after render.
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Reads listener metadata via `IListenerMetadataRegistry` and wires up DOM event handlers
|
|
7
|
+
* using the provided `IDomContext`. Subscriptions are managed by the context for
|
|
8
|
+
* automatic cleanup on destroy or re-render.
|
|
9
|
+
*
|
|
10
|
+
* Registered in the service container under `'IListenerInitializer'` by `bootstrapFramework`.
|
|
11
|
+
*/
|
|
12
|
+
export class DefaultListenerInitializer {
|
|
13
|
+
/**
|
|
14
|
+
* Binds all `@Listen`-registered event handlers to the component's DOM context.
|
|
15
|
+
*
|
|
16
|
+
* @param domContext - DOM context for querying elements and managing subscriptions
|
|
17
|
+
* @param component - Component instance whose methods should be bound
|
|
18
|
+
* @throws Error if domContext or component is null or undefined
|
|
19
|
+
*/
|
|
20
|
+
initialize(domContext, component) {
|
|
21
|
+
if (!domContext)
|
|
22
|
+
throw new Error("DomContext is required");
|
|
23
|
+
if (!component || typeof component !== "object")
|
|
24
|
+
throw new Error("Component is required");
|
|
25
|
+
const listeners = Services.get("IListenerMetadataRegistry").get(component);
|
|
26
|
+
const comp = component;
|
|
27
|
+
listeners.forEach(({ methodName, eventName, selector }) => {
|
|
28
|
+
const method = comp[methodName];
|
|
29
|
+
if (typeof method !== "function") {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
let targetElement = null;
|
|
33
|
+
if (selector) {
|
|
34
|
+
targetElement = domContext.query(selector);
|
|
35
|
+
if (!targetElement) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
targetElement = domContext.getElement();
|
|
41
|
+
if (!targetElement) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const element = targetElement;
|
|
46
|
+
const handler = (event) => method.call(component, event);
|
|
47
|
+
element.addEventListener(eventName, handler);
|
|
48
|
+
const unsub = () => element.removeEventListener(eventName, handler);
|
|
49
|
+
domContext.addSubscription(unsub);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=listener-initializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener-initializer.js","sourceRoot":"","sources":["../../../src/decorators/listen/listener-initializer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAI/D;;;;;;;;;GASG;AACH,MAAM,OAAO,0BAA0B;IACrC;;;;;;OAMG;IACH,UAAU,CAAC,UAAuB,EAAE,SAAkB;QACpD,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;YAC7C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAC5B,2BAA2B,CAC5B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,SAAoC,CAAC;QAElD,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAChC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,IAAI,aAAa,GAAuB,IAAI,CAAC;YAE7C,IAAI,QAAQ,EAAE,CAAC;gBACb,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,aAAa,CAAC;YAC9B,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAC9B,MAAiC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE7C,MAAM,KAAK,GAAgB,GAAG,EAAE,CAC9B,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAwB,CAAC,CAAC;YACnE,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { IListenerMetadataRegistry } from "./listener-metadata-registry.interface.js";
|
|
2
|
+
import type { ListenerMetadata } from "../listen.decorator.js";
|
|
3
|
+
/**
|
|
4
|
+
* Implements the responsibility of storing and retrieving listener metadata for component prototypes.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* Stores metadata directly on component prototypes via a Symbol key,
|
|
8
|
+
* ensuring per-class isolation with inherited deduplication.
|
|
9
|
+
* Registered in the service container under `'IListenerMetadataRegistry'`.
|
|
10
|
+
*/
|
|
11
|
+
export declare class DefaultListenerMetadataRegistry implements IListenerMetadataRegistry {
|
|
12
|
+
/**
|
|
13
|
+
* Registers listener metadata on a component prototype with deduplication.
|
|
14
|
+
*
|
|
15
|
+
* @param prototype - Component prototype to register metadata on
|
|
16
|
+
* @param metadata - Listener metadata to register
|
|
17
|
+
*/
|
|
18
|
+
register(prototype: unknown, metadata: ListenerMetadata): void;
|
|
19
|
+
/**
|
|
20
|
+
* Retrieves all listener metadata for a component instance.
|
|
21
|
+
*
|
|
22
|
+
* @param component - Component instance to read metadata from
|
|
23
|
+
* @returns Array of listener metadata, or empty array if none registered
|
|
24
|
+
*/
|
|
25
|
+
get(component: unknown): ListenerMetadata[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=listener-metadata-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener-metadata-registry.d.ts","sourceRoot":"","sources":["../../../src/decorators/listen/listener-metadata-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAY/D;;;;;;;GAOG;AACH,qBAAa,+BAAgC,YAAW,yBAAyB;IAC/E;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IA2B9D;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,EAAE;CAK5C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ListenerMetadata } from "../listen.decorator.js";
|
|
2
|
+
/**
|
|
3
|
+
* Defines the responsibility of storing and retrieving listener metadata for component prototypes.
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Acts as the coordination point between the `@Listen` decorator (which writes metadata)
|
|
7
|
+
* and the listener initializer (which reads metadata at render time).
|
|
8
|
+
* Consumers resolve this via the service container to avoid coupling to the concrete implementation.
|
|
9
|
+
*/
|
|
10
|
+
export interface IListenerMetadataRegistry {
|
|
11
|
+
/**
|
|
12
|
+
* Registers listener metadata on a component prototype with deduplication.
|
|
13
|
+
*
|
|
14
|
+
* @param prototype - Component prototype to register metadata on
|
|
15
|
+
* @param metadata - Listener metadata to register
|
|
16
|
+
*/
|
|
17
|
+
register(prototype: unknown, metadata: ListenerMetadata): void;
|
|
18
|
+
/**
|
|
19
|
+
* Retrieves all listener metadata for a component instance.
|
|
20
|
+
*
|
|
21
|
+
* @param component - Component instance to read metadata from
|
|
22
|
+
* @returns Array of listener metadata, or empty array if none registered
|
|
23
|
+
*/
|
|
24
|
+
get(component: unknown): ListenerMetadata[];
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=listener-metadata-registry.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener-metadata-registry.interface.d.ts","sourceRoot":"","sources":["../../../src/decorators/listen/listener-metadata-registry.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAE/D;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAAC;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener-metadata-registry.interface.js","sourceRoot":"","sources":["../../../src/decorators/listen/listener-metadata-registry.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Symbol key for storing listener metadata on component prototypes.
|
|
3
|
+
* Prevents property name collisions and enables private metadata storage.
|
|
4
|
+
*/
|
|
5
|
+
const LISTENERS_SYMBOL = Symbol("smartcomponents:listeners");
|
|
6
|
+
/**
|
|
7
|
+
* Implements the responsibility of storing and retrieving listener metadata for component prototypes.
|
|
8
|
+
*
|
|
9
|
+
* @description
|
|
10
|
+
* Stores metadata directly on component prototypes via a Symbol key,
|
|
11
|
+
* ensuring per-class isolation with inherited deduplication.
|
|
12
|
+
* Registered in the service container under `'IListenerMetadataRegistry'`.
|
|
13
|
+
*/
|
|
14
|
+
export class DefaultListenerMetadataRegistry {
|
|
15
|
+
/**
|
|
16
|
+
* Registers listener metadata on a component prototype with deduplication.
|
|
17
|
+
*
|
|
18
|
+
* @param prototype - Component prototype to register metadata on
|
|
19
|
+
* @param metadata - Listener metadata to register
|
|
20
|
+
*/
|
|
21
|
+
register(prototype, metadata) {
|
|
22
|
+
if (typeof prototype !== "object" || prototype === null)
|
|
23
|
+
return;
|
|
24
|
+
if (!Object.prototype.hasOwnProperty.call(prototype, LISTENERS_SYMBOL)) {
|
|
25
|
+
const inherited = (prototype[LISTENERS_SYMBOL] || []);
|
|
26
|
+
prototype[LISTENERS_SYMBOL] = [
|
|
27
|
+
...inherited,
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
const listeners = prototype[LISTENERS_SYMBOL];
|
|
31
|
+
const isDuplicate = listeners.some((l) => l.methodName === metadata.methodName &&
|
|
32
|
+
l.eventName === metadata.eventName &&
|
|
33
|
+
l.selector === metadata.selector);
|
|
34
|
+
if (!isDuplicate) {
|
|
35
|
+
listeners.push(metadata);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Retrieves all listener metadata for a component instance.
|
|
40
|
+
*
|
|
41
|
+
* @param component - Component instance to read metadata from
|
|
42
|
+
* @returns Array of listener metadata, or empty array if none registered
|
|
43
|
+
*/
|
|
44
|
+
get(component) {
|
|
45
|
+
if (typeof component !== "object" || component === null)
|
|
46
|
+
return [];
|
|
47
|
+
const prototype = Object.getPrototypeOf(component);
|
|
48
|
+
return prototype[LISTENERS_SYMBOL] || [];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=listener-metadata-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener-metadata-registry.js","sourceRoot":"","sources":["../../../src/decorators/listen/listener-metadata-registry.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAM7D;;;;;;;GAOG;AACH,MAAM,OAAO,+BAA+B;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,SAAkB,EAAE,QAA0B;QACrD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO;QAEhE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACvE,MAAM,SAAS,GAAG,CAAE,SAAqC,CACvD,gBAAgB,CACjB,IAAI,EAAE,CAAuB,CAAC;YAC9B,SAAgD,CAAC,gBAAgB,CAAC,GAAG;gBACpE,GAAG,SAAS;aACb,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAI,SAAgD,CACjE,gBAAgB,CACjB,CAAC;QACF,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;YACpC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;YAClC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CACnC,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,SAAkB;QACpB,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAwB,CAAC;QAC1E,OAAO,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the responsibility of storing listener metadata registered by @Listen decorator.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* const metadata: ListenerMetadata = {
|
|
7
|
+
* methodName: 'onClick',
|
|
8
|
+
* eventName: 'click',
|
|
9
|
+
* selector: null
|
|
10
|
+
* };
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export interface ListenerMetadata {
|
|
14
|
+
/** The method name to be called when event fires */
|
|
15
|
+
methodName: string;
|
|
16
|
+
/** The DOM event name (e.g., 'click', 'input', 'keydown') */
|
|
17
|
+
eventName: string;
|
|
18
|
+
/** CSS selector for event delegation (null = root element when omitted) */
|
|
19
|
+
selector: string | null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @Listen decorator - Registers event listeners for component methods.
|
|
23
|
+
*
|
|
24
|
+
* @description
|
|
25
|
+
* Declarative event binding that stores metadata without touching DOM.
|
|
26
|
+
* Actual listener binding happens after render via `IListenerInitializer`.
|
|
27
|
+
* Supports both root element binding and selector-based delegation.
|
|
28
|
+
*
|
|
29
|
+
* **Overloads:**
|
|
30
|
+
* - `@Listen('click')` - Binds to root element
|
|
31
|
+
* - `@Listen('.btn', 'click')` - Binds to selector (delegation)
|
|
32
|
+
* - `@Listen({ selector: '.btn' }, 'click')` - Explicit selector object
|
|
33
|
+
*
|
|
34
|
+
* @param selectorOrEvent - CSS selector string, config object, or event name
|
|
35
|
+
* @param eventName - Event name (when first param is selector)
|
|
36
|
+
* @returns Method decorator
|
|
37
|
+
*
|
|
38
|
+
* @throws Error if event name is not provided
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* class MyComponent extends SmartComponent {
|
|
43
|
+
* // Bind to root element
|
|
44
|
+
* @Listen('click')
|
|
45
|
+
* onClick(event: Event) {
|
|
46
|
+
* console.log('Root clicked');
|
|
47
|
+
* }
|
|
48
|
+
*
|
|
49
|
+
* // Bind with selector (delegation)
|
|
50
|
+
* @Listen('.submit-btn', 'click')
|
|
51
|
+
* onSubmit(event: Event) {
|
|
52
|
+
* console.log('Button clicked');
|
|
53
|
+
* }
|
|
54
|
+
*
|
|
55
|
+
* // Alternative selector syntax
|
|
56
|
+
* @Listen({ selector: 'input' }, 'input')
|
|
57
|
+
* onInput(event: Event) {
|
|
58
|
+
* console.log('Input changed');
|
|
59
|
+
* }
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function Listen(selectorOrEvent: string | {
|
|
64
|
+
selector: string;
|
|
65
|
+
}, eventName?: string): (value: (...args: never[]) => unknown, context: ClassMethodDecoratorContext) => void;
|
|
66
|
+
//# sourceMappingURL=listen.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listen.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/listen.decorator.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,MAAM,CACpB,eAAe,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC9C,SAAS,CAAC,EAAE,MAAM,GACjB,CACD,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,EACpC,OAAO,EAAE,2BAA2B,KACjC,IAAI,CAiCR"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Services } from "../providers/service-provider.js";
|
|
2
|
+
/**
|
|
3
|
+
* @Listen decorator - Registers event listeners for component methods.
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Declarative event binding that stores metadata without touching DOM.
|
|
7
|
+
* Actual listener binding happens after render via `IListenerInitializer`.
|
|
8
|
+
* Supports both root element binding and selector-based delegation.
|
|
9
|
+
*
|
|
10
|
+
* **Overloads:**
|
|
11
|
+
* - `@Listen('click')` - Binds to root element
|
|
12
|
+
* - `@Listen('.btn', 'click')` - Binds to selector (delegation)
|
|
13
|
+
* - `@Listen({ selector: '.btn' }, 'click')` - Explicit selector object
|
|
14
|
+
*
|
|
15
|
+
* @param selectorOrEvent - CSS selector string, config object, or event name
|
|
16
|
+
* @param eventName - Event name (when first param is selector)
|
|
17
|
+
* @returns Method decorator
|
|
18
|
+
*
|
|
19
|
+
* @throws Error if event name is not provided
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* class MyComponent extends SmartComponent {
|
|
24
|
+
* // Bind to root element
|
|
25
|
+
* @Listen('click')
|
|
26
|
+
* onClick(event: Event) {
|
|
27
|
+
* console.log('Root clicked');
|
|
28
|
+
* }
|
|
29
|
+
*
|
|
30
|
+
* // Bind with selector (delegation)
|
|
31
|
+
* @Listen('.submit-btn', 'click')
|
|
32
|
+
* onSubmit(event: Event) {
|
|
33
|
+
* console.log('Button clicked');
|
|
34
|
+
* }
|
|
35
|
+
*
|
|
36
|
+
* // Alternative selector syntax
|
|
37
|
+
* @Listen({ selector: 'input' }, 'input')
|
|
38
|
+
* onInput(event: Event) {
|
|
39
|
+
* console.log('Input changed');
|
|
40
|
+
* }
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export function Listen(selectorOrEvent, eventName) {
|
|
45
|
+
let finalSelector = null;
|
|
46
|
+
let finalEventName;
|
|
47
|
+
if (typeof selectorOrEvent === "string" && eventName) {
|
|
48
|
+
finalSelector = selectorOrEvent;
|
|
49
|
+
finalEventName = eventName;
|
|
50
|
+
}
|
|
51
|
+
else if (typeof selectorOrEvent === "object" && eventName) {
|
|
52
|
+
finalSelector = selectorOrEvent.selector;
|
|
53
|
+
finalEventName = eventName;
|
|
54
|
+
}
|
|
55
|
+
else if (typeof selectorOrEvent === "string" && !eventName) {
|
|
56
|
+
finalEventName = selectorOrEvent;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
throw new Error('@Listen requires event name. Usage: @Listen("click") or @Listen(".btn", "click")');
|
|
60
|
+
}
|
|
61
|
+
return function (_value, context) {
|
|
62
|
+
context.addInitializer(function () {
|
|
63
|
+
const prototype = Object.getPrototypeOf(this);
|
|
64
|
+
Services.get("IListenerMetadataRegistry").register(prototype, {
|
|
65
|
+
methodName: context.name,
|
|
66
|
+
eventName: finalEventName,
|
|
67
|
+
selector: finalSelector,
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=listen.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listen.decorator.js","sourceRoot":"","sources":["../../src/decorators/listen.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAwB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,MAAM,CACpB,eAA8C,EAC9C,SAAkB;IAKlB,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,cAAsB,CAAC;IAE3B,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;QACrD,aAAa,GAAG,eAAe,CAAC;QAChC,cAAc,GAAG,SAAS,CAAC;IAC7B,CAAC;SAAM,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC5D,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC;QACzC,cAAc,GAAG,SAAS,CAAC;IAC7B,CAAC;SAAM,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7D,cAAc,GAAG,eAAe,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,OAAO,UACL,MAAqC,EACrC,OAAoC;QAEpC,OAAO,CAAC,cAAc,CAAC;YACrB,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9C,QAAQ,CAAC,GAAG,CACV,2BAA2B,CAC5B,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACpB,UAAU,EAAE,OAAO,CAAC,IAAc;gBAClC,SAAS,EAAE,cAAc;gBACzB,QAAQ,EAAE,aAAa;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { IDomContext } from '../rendering/dom-context/dom-context.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Initializes event listeners for a component using @Listen metadata.
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Binds DOM event listeners AFTER render using DomContext.
|
|
7
|
+
* Reads metadata registered by @Listen decorator and creates subscriptions to handlers.
|
|
8
|
+
* Supports both root element and selector-based delegation.
|
|
9
|
+
*
|
|
10
|
+
* **Features:**
|
|
11
|
+
* - No component coupling - uses DomContext only
|
|
12
|
+
* - Automatic subscription management via domContext.addSubscription
|
|
13
|
+
* - Supports re-render without duplicating listeners (call clearSubscriptions first)
|
|
14
|
+
* - No manual cleanup needed - handled by DomContext.destroy()
|
|
15
|
+
*
|
|
16
|
+
* @param domContext - DOM context for querying elements and managing subscriptions
|
|
17
|
+
* @param component - Component instance with @Listen decorated methods
|
|
18
|
+
* @throws Error if domContext or component is null or undefined
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // In RenderPipeline after setting element:
|
|
23
|
+
* domContext.setElement(compiledElement);
|
|
24
|
+
* initializeListeners(domContext, component);
|
|
25
|
+
*
|
|
26
|
+
* // For re-render:
|
|
27
|
+
* domContext.clearSubscriptions();
|
|
28
|
+
* domContext.setElement(newElement);
|
|
29
|
+
* initializeListeners(domContext, component);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function initializeListeners(domContext: IDomContext, component: unknown): void;
|
|
33
|
+
//# sourceMappingURL=listener-initializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener-initializer.d.ts","sourceRoot":"","sources":["../../src/decorators/listener-initializer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAGrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CA2CrF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { getListenerMetadata } from './listen.decorator.js';
|
|
2
|
+
/**
|
|
3
|
+
* Initializes event listeners for a component using @Listen metadata.
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Binds DOM event listeners AFTER render using DomContext.
|
|
7
|
+
* Reads metadata registered by @Listen decorator and creates subscriptions to handlers.
|
|
8
|
+
* Supports both root element and selector-based delegation.
|
|
9
|
+
*
|
|
10
|
+
* **Features:**
|
|
11
|
+
* - No component coupling - uses DomContext only
|
|
12
|
+
* - Automatic subscription management via domContext.addSubscription
|
|
13
|
+
* - Supports re-render without duplicating listeners (call clearSubscriptions first)
|
|
14
|
+
* - No manual cleanup needed - handled by DomContext.destroy()
|
|
15
|
+
*
|
|
16
|
+
* @param domContext - DOM context for querying elements and managing subscriptions
|
|
17
|
+
* @param component - Component instance with @Listen decorated methods
|
|
18
|
+
* @throws Error if domContext or component is null or undefined
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // In RenderPipeline after setting element:
|
|
23
|
+
* domContext.setElement(compiledElement);
|
|
24
|
+
* initializeListeners(domContext, component);
|
|
25
|
+
*
|
|
26
|
+
* // For re-render:
|
|
27
|
+
* domContext.clearSubscriptions();
|
|
28
|
+
* domContext.setElement(newElement);
|
|
29
|
+
* initializeListeners(domContext, component);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export function initializeListeners(domContext, component) {
|
|
33
|
+
if (!domContext)
|
|
34
|
+
throw new Error('DomContext is required');
|
|
35
|
+
if (!component || typeof component !== 'object')
|
|
36
|
+
throw new Error('Component is required');
|
|
37
|
+
const listeners = getListenerMetadata(component);
|
|
38
|
+
const comp = component;
|
|
39
|
+
listeners.forEach(({ methodName, eventName, selector }) => {
|
|
40
|
+
const method = comp[methodName];
|
|
41
|
+
if (typeof method !== 'function') {
|
|
42
|
+
console.warn(`[@Listen] Method "${methodName}" not found on component. Skipping listener for "${eventName}".`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
let targetElement = null;
|
|
46
|
+
if (selector) {
|
|
47
|
+
targetElement = domContext.query(selector);
|
|
48
|
+
if (!targetElement) {
|
|
49
|
+
console.warn(`[@Listen] Selector "${selector}" did not match any element. Listener for "${eventName}" not bound.`);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
targetElement = domContext.getElement();
|
|
55
|
+
if (!targetElement) {
|
|
56
|
+
console.warn(`[@Listen] Root element not available. Listener for "${eventName}" not bound.`);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const element = targetElement;
|
|
61
|
+
const handler = (event) => method.call(component, event);
|
|
62
|
+
element.addEventListener(eventName, handler);
|
|
63
|
+
const unsub = () => element.removeEventListener(eventName, handler);
|
|
64
|
+
domContext.addSubscription(unsub);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=listener-initializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listener-initializer.js","sourceRoot":"","sources":["../../src/decorators/listener-initializer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAuB,EAAE,SAAkB;IAC7E,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE1F,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,SAAoC,CAAC;IAElD,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,qBAAqB,UAAU,oDAAoD,SAAS,IAAI,CACjG,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,aAAa,GAAuB,IAAI,CAAC;QAE7C,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CACV,uBAAuB,QAAQ,8CAA8C,SAAS,cAAc,CACrG,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CACV,uDAAuD,SAAS,cAAc,CAC/E,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAAE,MAAiC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5F,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE7C,MAAM,KAAK,GAAgB,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAwB,CAAC,CAAC;QAClG,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @Reactive decorator (TC39 Stage 3 standard decorators — TypeScript 5.0+)
|
|
3
|
+
*
|
|
4
|
+
* @description
|
|
5
|
+
* Marks a property as reactive — automatically triggers a property-specific signal when changed.
|
|
6
|
+
* Only notifies subscribers listening to THIS specific property, avoiding unnecessary updates.
|
|
7
|
+
*
|
|
8
|
+
* Supports two TC39 Stage 3 decorator forms:
|
|
9
|
+
* - **Accessor form** (`@Reactive accessor count = 0`): preferred, uses the TC39 `accessor` keyword
|
|
10
|
+
* which provides a dedicated private backing field per-spec.
|
|
11
|
+
* - **Field form** (`@Reactive count = 0`): alternative without `accessor`, installs a per-instance
|
|
12
|
+
* getter/setter via `Object.defineProperty` in the field initializer.
|
|
13
|
+
*
|
|
14
|
+
* Additionally supports legacy `experimentalDecorators` when the framework is bootstrapped with
|
|
15
|
+
* `{ decorators: 'auto' }`. In `'strict'` mode (default), legacy usage throws an error.
|
|
16
|
+
*
|
|
17
|
+
* Both TC39 forms produce identical reactive behaviour. The accessor form is idiomatic TC39.
|
|
18
|
+
*
|
|
19
|
+
* @architecture
|
|
20
|
+
* - Captures property name from decorator context
|
|
21
|
+
* - On property change: calls `component.getPropertyObservable(propName).notify()`
|
|
22
|
+
* - On property read: calls `IDependencyTracker.trackAccess(propName)` so computed getters
|
|
23
|
+
* can discover dependencies
|
|
24
|
+
* - RenderEngine subscribes to specific properties used in template bindings
|
|
25
|
+
* - Result: `{{count}}` only updates when `count` changes, not when other properties change
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* class MyComponent extends SmartComponent {
|
|
30
|
+
* // Accessor form (recommended — TC39 Stage 3):
|
|
31
|
+
* @Reactive accessor count = 0;
|
|
32
|
+
*
|
|
33
|
+
* // Field form (TC39 Stage 3, no accessor keyword):
|
|
34
|
+
* @Reactive items: string[] = [];
|
|
35
|
+
*
|
|
36
|
+
* increment() {
|
|
37
|
+
* this.count++; // Only triggers 'count' signal
|
|
38
|
+
* }
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function Reactive<T extends object, V>(target: ClassAccessorDecoratorTarget<T, V>, context: ClassAccessorDecoratorContext<T, V>): ClassAccessorDecoratorResult<T, V> | void;
|
|
43
|
+
export declare function Reactive<T extends object, V>(target: undefined, context: ClassFieldDecoratorContext<T, V>): ((initialValue: V) => V) | void;
|
|
44
|
+
export declare function Reactive(target: object | undefined, context: string | symbol): void;
|
|
45
|
+
//# sourceMappingURL=reactive.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactive.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/reactive.decorator.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC1C,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1C,OAAO,EAAE,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,GAC3C,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC1C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,GACxC,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;AAEnC,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,IAAI,CAAC"}
|