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.
Files changed (887) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +275 -0
  3. package/dist/behaviors/initializer-factory.d.ts +101 -0
  4. package/dist/behaviors/initializer-factory.d.ts.map +1 -0
  5. package/dist/behaviors/initializer-factory.js +183 -0
  6. package/dist/behaviors/initializer-factory.js.map +1 -0
  7. package/dist/behaviors/initializer.base.d.ts +21 -0
  8. package/dist/behaviors/initializer.base.d.ts.map +1 -0
  9. package/dist/behaviors/initializer.base.js +32 -0
  10. package/dist/behaviors/initializer.base.js.map +1 -0
  11. package/dist/behaviors/initializer.d.ts +21 -0
  12. package/dist/behaviors/initializer.d.ts.map +1 -0
  13. package/dist/behaviors/initializer.interface.d.ts +2 -0
  14. package/dist/behaviors/initializer.interface.d.ts.map +1 -0
  15. package/dist/behaviors/initializer.interface.js +2 -0
  16. package/dist/behaviors/initializer.interface.js.map +1 -0
  17. package/dist/behaviors/initializer.js +26 -0
  18. package/dist/behaviors/initializer.js.map +1 -0
  19. package/dist/behaviors/injection-helper.d.ts +90 -0
  20. package/dist/behaviors/injection-helper.d.ts.map +1 -0
  21. package/dist/behaviors/injection-helper.js +136 -0
  22. package/dist/behaviors/injection-helper.js.map +1 -0
  23. package/dist/behaviors/lifecycle-manager-factory.d.ts +126 -0
  24. package/dist/behaviors/lifecycle-manager-factory.d.ts.map +1 -0
  25. package/dist/behaviors/lifecycle-manager-factory.js +211 -0
  26. package/dist/behaviors/lifecycle-manager-factory.js.map +1 -0
  27. package/dist/behaviors/lifecycle-manager.base.d.ts +115 -0
  28. package/dist/behaviors/lifecycle-manager.base.d.ts.map +1 -0
  29. package/dist/behaviors/lifecycle-manager.base.js +156 -0
  30. package/dist/behaviors/lifecycle-manager.base.js.map +1 -0
  31. package/dist/behaviors/lifecycle-manager.d.ts +114 -0
  32. package/dist/behaviors/lifecycle-manager.d.ts.map +1 -0
  33. package/dist/behaviors/lifecycle-manager.interface.d.ts +2 -0
  34. package/dist/behaviors/lifecycle-manager.interface.d.ts.map +1 -0
  35. package/dist/behaviors/lifecycle-manager.interface.js +2 -0
  36. package/dist/behaviors/lifecycle-manager.interface.js.map +1 -0
  37. package/dist/behaviors/lifecycle-manager.js +157 -0
  38. package/dist/behaviors/lifecycle-manager.js.map +1 -0
  39. package/dist/bootstrap.d.ts +9 -0
  40. package/dist/bootstrap.d.ts.map +1 -0
  41. package/dist/bootstrap.js +8 -0
  42. package/dist/bootstrap.js.map +1 -0
  43. package/dist/cli/index.d.ts +3 -0
  44. package/dist/cli/index.d.ts.map +1 -0
  45. package/dist/cli/index.js +228 -0
  46. package/dist/cli/index.js.map +1 -0
  47. package/dist/components/smart-action/smart-action-element.d.ts +15 -0
  48. package/dist/components/smart-action/smart-action-element.d.ts.map +1 -0
  49. package/dist/components/smart-action/smart-action-element.js +149 -0
  50. package/dist/components/smart-action/smart-action-element.js.map +1 -0
  51. package/dist/components/smart-action/smart-action.component.d.ts +10 -0
  52. package/dist/components/smart-action/smart-action.component.d.ts.map +1 -0
  53. package/dist/components/smart-action/smart-action.component.js +68 -0
  54. package/dist/components/smart-action/smart-action.component.js.map +1 -0
  55. package/dist/components/smart-action/smart-action.lifecycle-manager.d.ts +27 -0
  56. package/dist/components/smart-action/smart-action.lifecycle-manager.d.ts.map +1 -0
  57. package/dist/components/smart-action/smart-action.lifecycle-manager.js +140 -0
  58. package/dist/components/smart-action/smart-action.lifecycle-manager.js.map +1 -0
  59. package/dist/components/smart-action.d.ts +66 -0
  60. package/dist/components/smart-action.d.ts.map +1 -0
  61. package/dist/components/smart-action.js +111 -0
  62. package/dist/components/smart-action.js.map +1 -0
  63. package/dist/components/smart-for/diff-keys.d.ts +36 -0
  64. package/dist/components/smart-for/diff-keys.d.ts.map +1 -0
  65. package/dist/components/smart-for/diff-keys.js +39 -0
  66. package/dist/components/smart-for/diff-keys.js.map +1 -0
  67. package/dist/components/smart-for/item-dom-context.d.ts +27 -0
  68. package/dist/components/smart-for/item-dom-context.d.ts.map +1 -0
  69. package/dist/components/smart-for/item-dom-context.js +52 -0
  70. package/dist/components/smart-for/item-dom-context.js.map +1 -0
  71. package/dist/components/smart-for/smart-for-element.d.ts +38 -0
  72. package/dist/components/smart-for/smart-for-element.d.ts.map +1 -0
  73. package/dist/components/smart-for/smart-for-element.js +216 -0
  74. package/dist/components/smart-for/smart-for-element.js.map +1 -0
  75. package/dist/components/smart-for/smart-for-item-scope.d.ts +52 -0
  76. package/dist/components/smart-for/smart-for-item-scope.d.ts.map +1 -0
  77. package/dist/components/smart-for/smart-for-item-scope.js +94 -0
  78. package/dist/components/smart-for/smart-for-item-scope.js.map +1 -0
  79. package/dist/components/smart-for/smart-for.component.d.ts +10 -0
  80. package/dist/components/smart-for/smart-for.component.d.ts.map +1 -0
  81. package/dist/components/smart-for/smart-for.component.js +69 -0
  82. package/dist/components/smart-for/smart-for.component.js.map +1 -0
  83. package/dist/components/smart-for/smart-for.lifecycle-manager.d.ts +97 -0
  84. package/dist/components/smart-for/smart-for.lifecycle-manager.d.ts.map +1 -0
  85. package/dist/components/smart-for/smart-for.lifecycle-manager.js +369 -0
  86. package/dist/components/smart-for/smart-for.lifecycle-manager.js.map +1 -0
  87. package/dist/components/smart-link/smart-link-element.d.ts +36 -0
  88. package/dist/components/smart-link/smart-link-element.d.ts.map +1 -0
  89. package/dist/components/smart-link/smart-link-element.js +101 -0
  90. package/dist/components/smart-link/smart-link-element.js.map +1 -0
  91. package/dist/components/smart-link/smart-link.component.d.ts +21 -0
  92. package/dist/components/smart-link/smart-link.component.d.ts.map +1 -0
  93. package/dist/components/smart-link/smart-link.component.js +78 -0
  94. package/dist/components/smart-link/smart-link.component.js.map +1 -0
  95. package/dist/components/smart-link/smart-link.lifecycle-manager.d.ts +23 -0
  96. package/dist/components/smart-link/smart-link.lifecycle-manager.d.ts.map +1 -0
  97. package/dist/components/smart-link/smart-link.lifecycle-manager.js +53 -0
  98. package/dist/components/smart-link/smart-link.lifecycle-manager.js.map +1 -0
  99. package/dist/components/smart-link.d.ts +2 -0
  100. package/dist/components/smart-link.d.ts.map +1 -0
  101. package/dist/components/smart-link.js +2 -0
  102. package/dist/components/smart-link.js.map +1 -0
  103. package/dist/components/smart-router/navigation-service.interface.d.ts +22 -0
  104. package/dist/components/smart-router/navigation-service.interface.d.ts.map +1 -0
  105. package/dist/components/smart-router/navigation-service.interface.js +2 -0
  106. package/dist/components/smart-router/navigation-service.interface.js.map +1 -0
  107. package/dist/components/smart-router/navigation.d.ts +57 -0
  108. package/dist/components/smart-router/navigation.d.ts.map +1 -0
  109. package/dist/components/smart-router/navigation.js +75 -0
  110. package/dist/components/smart-router/navigation.js.map +1 -0
  111. package/dist/components/smart-router/smart-router-element.d.ts +42 -0
  112. package/dist/components/smart-router/smart-router-element.d.ts.map +1 -0
  113. package/dist/components/smart-router/smart-router-element.js +188 -0
  114. package/dist/components/smart-router/smart-router-element.js.map +1 -0
  115. package/dist/components/smart-router/smart-router.component.d.ts +27 -0
  116. package/dist/components/smart-router/smart-router.component.d.ts.map +1 -0
  117. package/dist/components/smart-router/smart-router.component.js +89 -0
  118. package/dist/components/smart-router/smart-router.component.js.map +1 -0
  119. package/dist/components/smart-router/smart-router.lifecycle-manager.d.ts +25 -0
  120. package/dist/components/smart-router/smart-router.lifecycle-manager.d.ts.map +1 -0
  121. package/dist/components/smart-router/smart-router.lifecycle-manager.js +115 -0
  122. package/dist/components/smart-router/smart-router.lifecycle-manager.js.map +1 -0
  123. package/dist/components/smart-router.d.ts +28 -0
  124. package/dist/components/smart-router.d.ts.map +1 -0
  125. package/dist/components/smart-router.js +45 -0
  126. package/dist/components/smart-router.js.map +1 -0
  127. package/dist/components/smart-select/smart-select-element.d.ts +49 -0
  128. package/dist/components/smart-select/smart-select-element.d.ts.map +1 -0
  129. package/dist/components/smart-select/smart-select-element.js +130 -0
  130. package/dist/components/smart-select/smart-select-element.js.map +1 -0
  131. package/dist/components/smart-select/smart-select.component.d.ts +35 -0
  132. package/dist/components/smart-select/smart-select.component.d.ts.map +1 -0
  133. package/dist/components/smart-select/smart-select.component.js +92 -0
  134. package/dist/components/smart-select/smart-select.component.js.map +1 -0
  135. package/dist/components/smart-select/smart-select.lifecycle-manager.d.ts +52 -0
  136. package/dist/components/smart-select/smart-select.lifecycle-manager.d.ts.map +1 -0
  137. package/dist/components/smart-select/smart-select.lifecycle-manager.js +144 -0
  138. package/dist/components/smart-select/smart-select.lifecycle-manager.js.map +1 -0
  139. package/dist/components/smart-select.d.ts +3 -0
  140. package/dist/components/smart-select.d.ts.map +1 -0
  141. package/dist/components/smart-select.js +3 -0
  142. package/dist/components/smart-select.js.map +1 -0
  143. package/dist/core/component-instance-registry.d.ts +102 -0
  144. package/dist/core/component-instance-registry.d.ts.map +1 -0
  145. package/dist/core/component-instance-registry.js +85 -0
  146. package/dist/core/component-instance-registry.js.map +1 -0
  147. package/dist/core/component-metadata-registry.d.ts +100 -0
  148. package/dist/core/component-metadata-registry.d.ts.map +1 -0
  149. package/dist/core/component-metadata-registry.interface.d.ts +44 -0
  150. package/dist/core/component-metadata-registry.interface.d.ts.map +1 -0
  151. package/dist/core/component-metadata-registry.interface.js +2 -0
  152. package/dist/core/component-metadata-registry.interface.js.map +1 -0
  153. package/dist/core/component-metadata-registry.js +113 -0
  154. package/dist/core/component-metadata-registry.js.map +1 -0
  155. package/dist/core/component-metadata-source.interface.d.ts +40 -0
  156. package/dist/core/component-metadata-source.interface.d.ts.map +1 -0
  157. package/dist/core/component-metadata-source.interface.js +2 -0
  158. package/dist/core/component-metadata-source.interface.js.map +1 -0
  159. package/dist/core/component-metadata.d.ts +57 -0
  160. package/dist/core/component-metadata.d.ts.map +1 -0
  161. package/dist/core/component-metadata.js +2 -0
  162. package/dist/core/component-metadata.js.map +1 -0
  163. package/dist/core/smart-component.d.ts +80 -0
  164. package/dist/core/smart-component.d.ts.map +1 -0
  165. package/dist/core/smart-component.js +86 -0
  166. package/dist/core/smart-component.js.map +1 -0
  167. package/dist/decorators/component.decorator.d.ts +136 -0
  168. package/dist/decorators/component.decorator.d.ts.map +1 -0
  169. package/dist/decorators/component.decorator.js +35 -0
  170. package/dist/decorators/component.decorator.js.map +1 -0
  171. package/dist/decorators/host-listener.decorator.d.ts +30 -0
  172. package/dist/decorators/host-listener.decorator.d.ts.map +1 -0
  173. package/dist/decorators/host-listener.decorator.js +117 -0
  174. package/dist/decorators/host-listener.decorator.js.map +1 -0
  175. package/dist/decorators/index.d.ts +13 -0
  176. package/dist/decorators/index.d.ts.map +1 -0
  177. package/dist/decorators/index.js +8 -0
  178. package/dist/decorators/index.js.map +1 -0
  179. package/dist/decorators/listen/listener-initializer.d.ts +23 -0
  180. package/dist/decorators/listen/listener-initializer.d.ts.map +1 -0
  181. package/dist/decorators/listen/listener-initializer.interface.d.ts +20 -0
  182. package/dist/decorators/listen/listener-initializer.interface.d.ts.map +1 -0
  183. package/dist/decorators/listen/listener-initializer.interface.js +2 -0
  184. package/dist/decorators/listen/listener-initializer.interface.js.map +1 -0
  185. package/dist/decorators/listen/listener-initializer.js +53 -0
  186. package/dist/decorators/listen/listener-initializer.js.map +1 -0
  187. package/dist/decorators/listen/listener-metadata-registry.d.ts +27 -0
  188. package/dist/decorators/listen/listener-metadata-registry.d.ts.map +1 -0
  189. package/dist/decorators/listen/listener-metadata-registry.interface.d.ts +26 -0
  190. package/dist/decorators/listen/listener-metadata-registry.interface.d.ts.map +1 -0
  191. package/dist/decorators/listen/listener-metadata-registry.interface.js +2 -0
  192. package/dist/decorators/listen/listener-metadata-registry.interface.js.map +1 -0
  193. package/dist/decorators/listen/listener-metadata-registry.js +51 -0
  194. package/dist/decorators/listen/listener-metadata-registry.js.map +1 -0
  195. package/dist/decorators/listen.decorator.d.ts +66 -0
  196. package/dist/decorators/listen.decorator.d.ts.map +1 -0
  197. package/dist/decorators/listen.decorator.js +72 -0
  198. package/dist/decorators/listen.decorator.js.map +1 -0
  199. package/dist/decorators/listener-initializer.d.ts +33 -0
  200. package/dist/decorators/listener-initializer.d.ts.map +1 -0
  201. package/dist/decorators/listener-initializer.js +67 -0
  202. package/dist/decorators/listener-initializer.js.map +1 -0
  203. package/dist/decorators/reactive.decorator.d.ts +45 -0
  204. package/dist/decorators/reactive.decorator.d.ts.map +1 -0
  205. package/dist/decorators/reactive.decorator.js +86 -0
  206. package/dist/decorators/reactive.decorator.js.map +1 -0
  207. package/dist/decorators/smart/capture-config.d.ts +10 -0
  208. package/dist/decorators/smart/capture-config.d.ts.map +1 -0
  209. package/dist/decorators/smart/capture-config.js +70 -0
  210. package/dist/decorators/smart/capture-config.js.map +1 -0
  211. package/dist/decorators/smart/dynamic-initializer.d.ts +14 -0
  212. package/dist/decorators/smart/dynamic-initializer.d.ts.map +1 -0
  213. package/dist/decorators/smart/dynamic-initializer.js +35 -0
  214. package/dist/decorators/smart/dynamic-initializer.js.map +1 -0
  215. package/dist/decorators/smart/dynamic-lifecycle.d.ts +17 -0
  216. package/dist/decorators/smart/dynamic-lifecycle.d.ts.map +1 -0
  217. package/dist/decorators/smart/dynamic-lifecycle.js +45 -0
  218. package/dist/decorators/smart/dynamic-lifecycle.js.map +1 -0
  219. package/dist/decorators/smart/enhanced-class.d.ts +21 -0
  220. package/dist/decorators/smart/enhanced-class.d.ts.map +1 -0
  221. package/dist/decorators/smart/enhanced-class.js +93 -0
  222. package/dist/decorators/smart/enhanced-class.js.map +1 -0
  223. package/dist/decorators/smart/smart-component-factory.d.ts +59 -0
  224. package/dist/decorators/smart/smart-component-factory.d.ts.map +1 -0
  225. package/dist/decorators/smart/smart-component-factory.interface.d.ts +48 -0
  226. package/dist/decorators/smart/smart-component-factory.interface.d.ts.map +1 -0
  227. package/dist/decorators/smart/smart-component-factory.interface.js +2 -0
  228. package/dist/decorators/smart/smart-component-factory.interface.js.map +1 -0
  229. package/dist/decorators/smart/smart-component-factory.js +271 -0
  230. package/dist/decorators/smart/smart-component-factory.js.map +1 -0
  231. package/dist/decorators/smart/types.d.ts +81 -0
  232. package/dist/decorators/smart/types.d.ts.map +1 -0
  233. package/dist/decorators/smart/types.js +2 -0
  234. package/dist/decorators/smart/types.js.map +1 -0
  235. package/dist/decorators/smart-render.decorator.d.ts +27 -0
  236. package/dist/decorators/smart-render.decorator.d.ts.map +1 -0
  237. package/dist/decorators/smart-render.decorator.js +41 -0
  238. package/dist/decorators/smart-render.decorator.js.map +1 -0
  239. package/dist/decorators/smart.decorator.d.ts +20 -0
  240. package/dist/decorators/smart.decorator.d.ts.map +1 -0
  241. package/dist/decorators/smart.decorator.js +45 -0
  242. package/dist/decorators/smart.decorator.js.map +1 -0
  243. package/dist/decorators/view-child.decorator.d.ts +21 -0
  244. package/dist/decorators/view-child.decorator.d.ts.map +1 -0
  245. package/dist/decorators/view-child.decorator.js +56 -0
  246. package/dist/decorators/view-child.decorator.js.map +1 -0
  247. package/dist/events/action-publisher.interface.d.ts +69 -0
  248. package/dist/events/action-publisher.interface.d.ts.map +1 -0
  249. package/dist/events/action-publisher.interface.js +2 -0
  250. package/dist/events/action-publisher.interface.js.map +1 -0
  251. package/dist/events/event-bus.d.ts +11 -0
  252. package/dist/events/event-bus.d.ts.map +1 -0
  253. package/dist/events/event-bus.interface.d.ts +66 -0
  254. package/dist/events/event-bus.interface.d.ts.map +1 -0
  255. package/dist/events/event-bus.interface.js +2 -0
  256. package/dist/events/event-bus.interface.js.map +1 -0
  257. package/dist/events/event-bus.js +11 -0
  258. package/dist/events/event-bus.js.map +1 -0
  259. package/dist/events/event-object.d.ts +33 -0
  260. package/dist/events/event-object.d.ts.map +1 -0
  261. package/dist/events/event-object.js +35 -0
  262. package/dist/events/event-object.js.map +1 -0
  263. package/dist/events/event-payload.d.ts +16 -0
  264. package/dist/events/event-payload.d.ts.map +1 -0
  265. package/dist/events/event-payload.js +2 -0
  266. package/dist/events/event-payload.js.map +1 -0
  267. package/dist/events/event-store.d.ts +99 -0
  268. package/dist/events/event-store.d.ts.map +1 -0
  269. package/dist/events/event-store.js +95 -0
  270. package/dist/events/event-store.js.map +1 -0
  271. package/dist/events/rx-event-bus.d.ts +109 -0
  272. package/dist/events/rx-event-bus.d.ts.map +1 -0
  273. package/dist/events/rx-event-bus.js +210 -0
  274. package/dist/events/rx-event-bus.js.map +1 -0
  275. package/dist/html/register-smart-behavior.d.ts +27 -0
  276. package/dist/html/register-smart-behavior.d.ts.map +1 -0
  277. package/dist/html/register-smart-behavior.js +42 -0
  278. package/dist/html/register-smart-behavior.js.map +1 -0
  279. package/dist/html/register-smart-element.d.ts +26 -0
  280. package/dist/html/register-smart-element.d.ts.map +1 -0
  281. package/dist/html/register-smart-element.js +28 -0
  282. package/dist/html/register-smart-element.js.map +1 -0
  283. package/dist/html/services-bootstrap.d.ts +17 -0
  284. package/dist/html/services-bootstrap.d.ts.map +1 -0
  285. package/dist/html/services-bootstrap.js +40 -0
  286. package/dist/html/services-bootstrap.js.map +1 -0
  287. package/dist/html/smart-element-factory.d.ts +51 -0
  288. package/dist/html/smart-element-factory.d.ts.map +1 -0
  289. package/dist/html/smart-element-factory.interface.d.ts +17 -0
  290. package/dist/html/smart-element-factory.interface.d.ts.map +1 -0
  291. package/dist/html/smart-element-factory.interface.js +2 -0
  292. package/dist/html/smart-element-factory.interface.js.map +1 -0
  293. package/dist/html/smart-element-factory.js +118 -0
  294. package/dist/html/smart-element-factory.js.map +1 -0
  295. package/dist/html/smart-element-registrar.d.ts +43 -0
  296. package/dist/html/smart-element-registrar.d.ts.map +1 -0
  297. package/dist/html/smart-element-registrar.interface.d.ts +17 -0
  298. package/dist/html/smart-element-registrar.interface.d.ts.map +1 -0
  299. package/dist/html/smart-element-registrar.interface.js +2 -0
  300. package/dist/html/smart-element-registrar.interface.js.map +1 -0
  301. package/dist/html/smart-element-registrar.js +77 -0
  302. package/dist/html/smart-element-registrar.js.map +1 -0
  303. package/dist/html/smart-tags.d.ts +16 -0
  304. package/dist/html/smart-tags.d.ts.map +1 -0
  305. package/dist/html/smart-tags.js +30 -0
  306. package/dist/html/smart-tags.js.map +1 -0
  307. package/dist/index.d.ts +37 -0
  308. package/dist/index.d.ts.map +1 -0
  309. package/dist/index.js +31 -0
  310. package/dist/index.js.map +1 -0
  311. package/dist/observers/document-locale-observer.d.ts +15 -0
  312. package/dist/observers/document-locale-observer.d.ts.map +1 -0
  313. package/dist/observers/document-locale-observer.js +43 -0
  314. package/dist/observers/document-locale-observer.js.map +1 -0
  315. package/dist/observers/document-theme-observer.d.ts +17 -0
  316. package/dist/observers/document-theme-observer.d.ts.map +1 -0
  317. package/dist/observers/document-theme-observer.js +64 -0
  318. package/dist/observers/document-theme-observer.js.map +1 -0
  319. package/dist/observers/locale-observer.interface.d.ts +21 -0
  320. package/dist/observers/locale-observer.interface.d.ts.map +1 -0
  321. package/dist/observers/locale-observer.interface.js +2 -0
  322. package/dist/observers/locale-observer.interface.js.map +1 -0
  323. package/dist/observers/theme-observer.interface.d.ts +21 -0
  324. package/dist/observers/theme-observer.interface.d.ts.map +1 -0
  325. package/dist/observers/theme-observer.interface.js +2 -0
  326. package/dist/observers/theme-observer.interface.js.map +1 -0
  327. package/dist/providers/adapters/index.d.ts +19 -0
  328. package/dist/providers/adapters/index.d.ts.map +1 -0
  329. package/dist/providers/adapters/index.js +19 -0
  330. package/dist/providers/adapters/index.js.map +1 -0
  331. package/dist/providers/adapters/tsyringe-adapter.d.ts +139 -0
  332. package/dist/providers/adapters/tsyringe-adapter.d.ts.map +1 -0
  333. package/dist/providers/adapters/tsyringe-adapter.js +151 -0
  334. package/dist/providers/adapters/tsyringe-adapter.js.map +1 -0
  335. package/dist/providers/app-services.d.ts +131 -0
  336. package/dist/providers/app-services.d.ts.map +1 -0
  337. package/dist/providers/app-services.js +174 -0
  338. package/dist/providers/app-services.js.map +1 -0
  339. package/dist/providers/default-service-provider.d.ts +57 -0
  340. package/dist/providers/default-service-provider.d.ts.map +1 -0
  341. package/dist/providers/default-service-provider.js +89 -0
  342. package/dist/providers/default-service-provider.js.map +1 -0
  343. package/dist/providers/framework-bootstrap.d.ts +58 -0
  344. package/dist/providers/framework-bootstrap.d.ts.map +1 -0
  345. package/dist/providers/framework-bootstrap.js +153 -0
  346. package/dist/providers/framework-bootstrap.js.map +1 -0
  347. package/dist/providers/framework-element-registration.d.ts +2 -0
  348. package/dist/providers/framework-element-registration.d.ts.map +1 -0
  349. package/dist/providers/framework-element-registration.js +42 -0
  350. package/dist/providers/framework-element-registration.js.map +1 -0
  351. package/dist/providers/service-provider.d.ts +70 -0
  352. package/dist/providers/service-provider.d.ts.map +1 -0
  353. package/dist/providers/service-provider.interface.d.ts +55 -0
  354. package/dist/providers/service-provider.interface.d.ts.map +1 -0
  355. package/dist/providers/service-provider.interface.js +2 -0
  356. package/dist/providers/service-provider.interface.js.map +1 -0
  357. package/dist/providers/service-provider.js +102 -0
  358. package/dist/providers/service-provider.js.map +1 -0
  359. package/dist/reactive/dependency-tracker.d.ts +34 -0
  360. package/dist/reactive/dependency-tracker.d.ts.map +1 -0
  361. package/dist/reactive/dependency-tracker.interface.d.ts +34 -0
  362. package/dist/reactive/dependency-tracker.interface.d.ts.map +1 -0
  363. package/dist/reactive/dependency-tracker.interface.js +2 -0
  364. package/dist/reactive/dependency-tracker.interface.js.map +1 -0
  365. package/dist/reactive/dependency-tracker.js +47 -0
  366. package/dist/reactive/dependency-tracker.js.map +1 -0
  367. package/dist/reactive/index.d.ts +5 -0
  368. package/dist/reactive/index.d.ts.map +1 -0
  369. package/dist/reactive/index.js +4 -0
  370. package/dist/reactive/index.js.map +1 -0
  371. package/dist/reactive/observable.d.ts +15 -0
  372. package/dist/reactive/observable.d.ts.map +1 -0
  373. package/dist/reactive/observable.js +2 -0
  374. package/dist/reactive/observable.js.map +1 -0
  375. package/dist/reactive/operators.d.ts +6 -0
  376. package/dist/reactive/operators.d.ts.map +1 -0
  377. package/dist/reactive/operators.js +11 -0
  378. package/dist/reactive/operators.js.map +1 -0
  379. package/dist/reactive/signal.d.ts +41 -0
  380. package/dist/reactive/signal.d.ts.map +1 -0
  381. package/dist/reactive/signal.js +37 -0
  382. package/dist/reactive/signal.js.map +1 -0
  383. package/dist/reactive/subject.d.ts +30 -0
  384. package/dist/reactive/subject.d.ts.map +1 -0
  385. package/dist/reactive/subject.js +53 -0
  386. package/dist/reactive/subject.js.map +1 -0
  387. package/dist/reactive/subscription.d.ts +33 -0
  388. package/dist/reactive/subscription.d.ts.map +1 -0
  389. package/dist/reactive/subscription.js +53 -0
  390. package/dist/reactive/subscription.js.map +1 -0
  391. package/dist/registration/register-smart-behavior.d.ts +27 -0
  392. package/dist/registration/register-smart-behavior.d.ts.map +1 -0
  393. package/dist/registration/register-smart-behavior.js +42 -0
  394. package/dist/registration/register-smart-behavior.js.map +1 -0
  395. package/dist/registration/register-smart-element.d.ts +27 -0
  396. package/dist/registration/register-smart-element.d.ts.map +1 -0
  397. package/dist/registration/register-smart-element.js +26 -0
  398. package/dist/registration/register-smart-element.js.map +1 -0
  399. package/dist/registration/smart-element-factory.d.ts +46 -0
  400. package/dist/registration/smart-element-factory.d.ts.map +1 -0
  401. package/dist/registration/smart-element-factory.interface.d.ts +17 -0
  402. package/dist/registration/smart-element-factory.interface.d.ts.map +1 -0
  403. package/dist/registration/smart-element-factory.interface.js +2 -0
  404. package/dist/registration/smart-element-factory.interface.js.map +1 -0
  405. package/dist/registration/smart-element-factory.js +146 -0
  406. package/dist/registration/smart-element-factory.js.map +1 -0
  407. package/dist/registration/smart-element-registrar.d.ts +41 -0
  408. package/dist/registration/smart-element-registrar.d.ts.map +1 -0
  409. package/dist/registration/smart-element-registrar.interface.d.ts +17 -0
  410. package/dist/registration/smart-element-registrar.interface.d.ts.map +1 -0
  411. package/dist/registration/smart-element-registrar.interface.js +2 -0
  412. package/dist/registration/smart-element-registrar.interface.js.map +1 -0
  413. package/dist/registration/smart-element-registrar.js +56 -0
  414. package/dist/registration/smart-element-registrar.js.map +1 -0
  415. package/dist/registration/smart-tags.d.ts +16 -0
  416. package/dist/registration/smart-tags.d.ts.map +1 -0
  417. package/dist/registration/smart-tags.js +30 -0
  418. package/dist/registration/smart-tags.js.map +1 -0
  419. package/dist/rendering/bindings/binding-resolver.d.ts +90 -0
  420. package/dist/rendering/bindings/binding-resolver.d.ts.map +1 -0
  421. package/dist/rendering/bindings/binding-resolver.interface.d.ts +31 -0
  422. package/dist/rendering/bindings/binding-resolver.interface.d.ts.map +1 -0
  423. package/dist/rendering/bindings/binding-resolver.interface.js +2 -0
  424. package/dist/rendering/bindings/binding-resolver.interface.js.map +1 -0
  425. package/dist/rendering/bindings/binding-resolver.js +232 -0
  426. package/dist/rendering/bindings/binding-resolver.js.map +1 -0
  427. package/dist/rendering/bindings/expresion-resolver.d.ts +55 -0
  428. package/dist/rendering/bindings/expresion-resolver.d.ts.map +1 -0
  429. package/dist/rendering/bindings/expresion-resolver.interface.d.ts +25 -0
  430. package/dist/rendering/bindings/expresion-resolver.interface.d.ts.map +1 -0
  431. package/dist/rendering/bindings/expresion-resolver.interface.js +2 -0
  432. package/dist/rendering/bindings/expresion-resolver.interface.js.map +1 -0
  433. package/dist/rendering/bindings/expresion-resolver.js +175 -0
  434. package/dist/rendering/bindings/expresion-resolver.js.map +1 -0
  435. package/dist/rendering/bindings/expression-resolver.d.ts +48 -0
  436. package/dist/rendering/bindings/expression-resolver.d.ts.map +1 -0
  437. package/dist/rendering/bindings/expression-resolver.interface.d.ts +25 -0
  438. package/dist/rendering/bindings/expression-resolver.interface.d.ts.map +1 -0
  439. package/dist/rendering/bindings/expression-resolver.interface.js +2 -0
  440. package/dist/rendering/bindings/expression-resolver.interface.js.map +1 -0
  441. package/dist/rendering/bindings/expression-resolver.js +169 -0
  442. package/dist/rendering/bindings/expression-resolver.js.map +1 -0
  443. package/dist/rendering/bindings/property-extractor.d.ts +36 -0
  444. package/dist/rendering/bindings/property-extractor.d.ts.map +1 -0
  445. package/dist/rendering/bindings/property-extractor.interface.d.ts +21 -0
  446. package/dist/rendering/bindings/property-extractor.interface.d.ts.map +1 -0
  447. package/dist/rendering/bindings/property-extractor.interface.js +2 -0
  448. package/dist/rendering/bindings/property-extractor.interface.js.map +1 -0
  449. package/dist/rendering/bindings/property-extractor.js +69 -0
  450. package/dist/rendering/bindings/property-extractor.js.map +1 -0
  451. package/dist/rendering/bindings/rules-resolver.d.ts +29 -0
  452. package/dist/rendering/bindings/rules-resolver.d.ts.map +1 -0
  453. package/dist/rendering/bindings/rules-resolver.interface.d.ts +16 -0
  454. package/dist/rendering/bindings/rules-resolver.interface.d.ts.map +1 -0
  455. package/dist/rendering/bindings/rules-resolver.interface.js +2 -0
  456. package/dist/rendering/bindings/rules-resolver.interface.js.map +1 -0
  457. package/dist/rendering/bindings/rules-resolver.js +69 -0
  458. package/dist/rendering/bindings/rules-resolver.js.map +1 -0
  459. package/dist/rendering/bindings/smart-input-store.d.ts +11 -0
  460. package/dist/rendering/bindings/smart-input-store.d.ts.map +1 -0
  461. package/dist/rendering/bindings/smart-input-store.interface.d.ts +54 -0
  462. package/dist/rendering/bindings/smart-input-store.interface.d.ts.map +1 -0
  463. package/dist/rendering/bindings/smart-input-store.interface.js +5 -0
  464. package/dist/rendering/bindings/smart-input-store.interface.js.map +1 -0
  465. package/dist/rendering/bindings/smart-input-store.js +92 -0
  466. package/dist/rendering/bindings/smart-input-store.js.map +1 -0
  467. package/dist/rendering/bindings/static-binding-resolver.d.ts +28 -0
  468. package/dist/rendering/bindings/static-binding-resolver.d.ts.map +1 -0
  469. package/dist/rendering/bindings/static-binding-resolver.interface.d.ts +15 -0
  470. package/dist/rendering/bindings/static-binding-resolver.interface.d.ts.map +1 -0
  471. package/dist/rendering/bindings/static-binding-resolver.interface.js +2 -0
  472. package/dist/rendering/bindings/static-binding-resolver.interface.js.map +1 -0
  473. package/dist/rendering/bindings/static-binding-resolver.js +65 -0
  474. package/dist/rendering/bindings/static-binding-resolver.js.map +1 -0
  475. package/dist/rendering/dom/browser-dom-adapter.d.ts +30 -0
  476. package/dist/rendering/dom/browser-dom-adapter.d.ts.map +1 -0
  477. package/dist/rendering/dom/browser-dom-adapter.js +40 -0
  478. package/dist/rendering/dom/browser-dom-adapter.js.map +1 -0
  479. package/dist/rendering/dom/dom-adapter.interface.d.ts +39 -0
  480. package/dist/rendering/dom/dom-adapter.interface.d.ts.map +1 -0
  481. package/dist/rendering/dom/dom-adapter.interface.js +2 -0
  482. package/dist/rendering/dom/dom-adapter.interface.js.map +1 -0
  483. package/dist/rendering/dom/index.d.ts +9 -0
  484. package/dist/rendering/dom/index.d.ts.map +1 -0
  485. package/dist/rendering/dom/index.js +8 -0
  486. package/dist/rendering/dom/index.js.map +1 -0
  487. package/dist/rendering/dom/node-types.d.ts +21 -0
  488. package/dist/rendering/dom/node-types.d.ts.map +1 -0
  489. package/dist/rendering/dom/node-types.js +21 -0
  490. package/dist/rendering/dom/node-types.js.map +1 -0
  491. package/dist/rendering/dom-context/dom-context-factory.d.ts +31 -0
  492. package/dist/rendering/dom-context/dom-context-factory.d.ts.map +1 -0
  493. package/dist/rendering/dom-context/dom-context-factory.interface.d.ts +14 -0
  494. package/dist/rendering/dom-context/dom-context-factory.interface.d.ts.map +1 -0
  495. package/dist/rendering/dom-context/dom-context-factory.interface.js +2 -0
  496. package/dist/rendering/dom-context/dom-context-factory.interface.js.map +1 -0
  497. package/dist/rendering/dom-context/dom-context-factory.js +20 -0
  498. package/dist/rendering/dom-context/dom-context-factory.js.map +1 -0
  499. package/dist/rendering/dom-context/dom-context-host-resolver.d.ts +55 -0
  500. package/dist/rendering/dom-context/dom-context-host-resolver.d.ts.map +1 -0
  501. package/dist/rendering/dom-context/dom-context-host-resolver.js +90 -0
  502. package/dist/rendering/dom-context/dom-context-host-resolver.js.map +1 -0
  503. package/dist/rendering/dom-context/dom-context.d.ts +168 -0
  504. package/dist/rendering/dom-context/dom-context.d.ts.map +1 -0
  505. package/dist/rendering/dom-context/dom-context.interface.d.ts +156 -0
  506. package/dist/rendering/dom-context/dom-context.interface.d.ts.map +1 -0
  507. package/dist/rendering/dom-context/dom-context.interface.js +17 -0
  508. package/dist/rendering/dom-context/dom-context.interface.js.map +1 -0
  509. package/dist/rendering/dom-context/dom-context.js +225 -0
  510. package/dist/rendering/dom-context/dom-context.js.map +1 -0
  511. package/dist/rendering/dom-context/host-resolver.interface.d.ts +47 -0
  512. package/dist/rendering/dom-context/host-resolver.interface.d.ts.map +1 -0
  513. package/dist/rendering/dom-context/host-resolver.interface.js +2 -0
  514. package/dist/rendering/dom-context/host-resolver.interface.js.map +1 -0
  515. package/dist/rendering/dom-context/index.d.ts +5 -0
  516. package/dist/rendering/dom-context/index.d.ts.map +1 -0
  517. package/dist/rendering/dom-context/index.js +4 -0
  518. package/dist/rendering/dom-context/index.js.map +1 -0
  519. package/dist/rendering/errors/error-render-options.interface.d.ts +29 -0
  520. package/dist/rendering/errors/error-render-options.interface.d.ts.map +1 -0
  521. package/dist/rendering/errors/error-render-options.interface.js +2 -0
  522. package/dist/rendering/errors/error-render-options.interface.js.map +1 -0
  523. package/dist/rendering/errors/error-renderer.d.ts +71 -0
  524. package/dist/rendering/errors/error-renderer.d.ts.map +1 -0
  525. package/dist/rendering/errors/error-renderer.interface.d.ts +29 -0
  526. package/dist/rendering/errors/error-renderer.interface.d.ts.map +1 -0
  527. package/dist/rendering/errors/error-renderer.interface.js +2 -0
  528. package/dist/rendering/errors/error-renderer.interface.js.map +1 -0
  529. package/dist/rendering/errors/error-renderer.js +127 -0
  530. package/dist/rendering/errors/error-renderer.js.map +1 -0
  531. package/dist/rendering/expression-parser/dependency-extractor.d.ts +36 -0
  532. package/dist/rendering/expression-parser/dependency-extractor.d.ts.map +1 -0
  533. package/dist/rendering/expression-parser/dependency-extractor.js +83 -0
  534. package/dist/rendering/expression-parser/dependency-extractor.js.map +1 -0
  535. package/dist/rendering/expression-parser/evaluators/ast.evaluator.d.ts +54 -0
  536. package/dist/rendering/expression-parser/evaluators/ast.evaluator.d.ts.map +1 -0
  537. package/dist/rendering/expression-parser/evaluators/ast.evaluator.js +92 -0
  538. package/dist/rendering/expression-parser/evaluators/ast.evaluator.js.map +1 -0
  539. package/dist/rendering/expression-parser/evaluators/base.d.ts +20 -0
  540. package/dist/rendering/expression-parser/evaluators/base.d.ts.map +1 -0
  541. package/dist/rendering/expression-parser/evaluators/base.js +2 -0
  542. package/dist/rendering/expression-parser/evaluators/base.js.map +1 -0
  543. package/dist/rendering/expression-parser/evaluators/binary.evaluator.d.ts +29 -0
  544. package/dist/rendering/expression-parser/evaluators/binary.evaluator.d.ts.map +1 -0
  545. package/dist/rendering/expression-parser/evaluators/binary.evaluator.js +55 -0
  546. package/dist/rendering/expression-parser/evaluators/binary.evaluator.js.map +1 -0
  547. package/dist/rendering/expression-parser/evaluators/call.evaluator.d.ts +38 -0
  548. package/dist/rendering/expression-parser/evaluators/call.evaluator.d.ts.map +1 -0
  549. package/dist/rendering/expression-parser/evaluators/call.evaluator.js +62 -0
  550. package/dist/rendering/expression-parser/evaluators/call.evaluator.js.map +1 -0
  551. package/dist/rendering/expression-parser/evaluators/conditional.evaluator.d.ts +29 -0
  552. package/dist/rendering/expression-parser/evaluators/conditional.evaluator.d.ts.map +1 -0
  553. package/dist/rendering/expression-parser/evaluators/conditional.evaluator.js +38 -0
  554. package/dist/rendering/expression-parser/evaluators/conditional.evaluator.js.map +1 -0
  555. package/dist/rendering/expression-parser/evaluators/identifier.evaluator.d.ts +28 -0
  556. package/dist/rendering/expression-parser/evaluators/identifier.evaluator.d.ts.map +1 -0
  557. package/dist/rendering/expression-parser/evaluators/identifier.evaluator.js +33 -0
  558. package/dist/rendering/expression-parser/evaluators/identifier.evaluator.js.map +1 -0
  559. package/dist/rendering/expression-parser/evaluators/index.d.ts +10 -0
  560. package/dist/rendering/expression-parser/evaluators/index.d.ts.map +1 -0
  561. package/dist/rendering/expression-parser/evaluators/index.js +9 -0
  562. package/dist/rendering/expression-parser/evaluators/index.js.map +1 -0
  563. package/dist/rendering/expression-parser/evaluators/literal.evaluator.d.ts +27 -0
  564. package/dist/rendering/expression-parser/evaluators/literal.evaluator.d.ts.map +1 -0
  565. package/dist/rendering/expression-parser/evaluators/literal.evaluator.js +29 -0
  566. package/dist/rendering/expression-parser/evaluators/literal.evaluator.js.map +1 -0
  567. package/dist/rendering/expression-parser/evaluators/member.evaluator.d.ts +29 -0
  568. package/dist/rendering/expression-parser/evaluators/member.evaluator.d.ts.map +1 -0
  569. package/dist/rendering/expression-parser/evaluators/member.evaluator.js +39 -0
  570. package/dist/rendering/expression-parser/evaluators/member.evaluator.js.map +1 -0
  571. package/dist/rendering/expression-parser/evaluators/unary.evaluator.d.ts +29 -0
  572. package/dist/rendering/expression-parser/evaluators/unary.evaluator.d.ts.map +1 -0
  573. package/dist/rendering/expression-parser/evaluators/unary.evaluator.js +44 -0
  574. package/dist/rendering/expression-parser/evaluators/unary.evaluator.js.map +1 -0
  575. package/dist/rendering/expression-parser/expression-cache.d.ts +65 -0
  576. package/dist/rendering/expression-parser/expression-cache.d.ts.map +1 -0
  577. package/dist/rendering/expression-parser/expression-cache.js +79 -0
  578. package/dist/rendering/expression-parser/expression-cache.js.map +1 -0
  579. package/dist/rendering/expression-parser/expression-parser.factory.d.ts +105 -0
  580. package/dist/rendering/expression-parser/expression-parser.factory.d.ts.map +1 -0
  581. package/dist/rendering/expression-parser/expression-parser.factory.js +113 -0
  582. package/dist/rendering/expression-parser/expression-parser.factory.js.map +1 -0
  583. package/dist/rendering/expression-parser/expression-parser.service.d.ts +30 -0
  584. package/dist/rendering/expression-parser/expression-parser.service.d.ts.map +1 -0
  585. package/dist/rendering/expression-parser/expression-parser.service.js +96 -0
  586. package/dist/rendering/expression-parser/expression-parser.service.js.map +1 -0
  587. package/dist/rendering/expression-parser/host-projector.d.ts +80 -0
  588. package/dist/rendering/expression-parser/host-projector.d.ts.map +1 -0
  589. package/dist/rendering/expression-parser/host-projector.js +97 -0
  590. package/dist/rendering/expression-parser/host-projector.js.map +1 -0
  591. package/dist/rendering/expression-parser/index.d.ts +6 -0
  592. package/dist/rendering/expression-parser/index.d.ts.map +1 -0
  593. package/dist/rendering/expression-parser/index.js +15 -0
  594. package/dist/rendering/expression-parser/index.js.map +1 -0
  595. package/dist/rendering/expression-parser/interfaces.d.ts +41 -0
  596. package/dist/rendering/expression-parser/interfaces.d.ts.map +1 -0
  597. package/dist/rendering/expression-parser/interfaces.js +2 -0
  598. package/dist/rendering/expression-parser/interfaces.js.map +1 -0
  599. package/dist/rendering/expression-parser/parser.d.ts +135 -0
  600. package/dist/rendering/expression-parser/parser.d.ts.map +1 -0
  601. package/dist/rendering/expression-parser/parser.js +345 -0
  602. package/dist/rendering/expression-parser/parser.js.map +1 -0
  603. package/dist/rendering/expression-parser/safe-method-validator.interface.d.ts +23 -0
  604. package/dist/rendering/expression-parser/safe-method-validator.interface.d.ts.map +1 -0
  605. package/dist/rendering/expression-parser/safe-method-validator.interface.js +2 -0
  606. package/dist/rendering/expression-parser/safe-method-validator.interface.js.map +1 -0
  607. package/dist/rendering/expression-parser/safe-methods.d.ts +29 -0
  608. package/dist/rendering/expression-parser/safe-methods.d.ts.map +1 -0
  609. package/dist/rendering/expression-parser/safe-methods.js +136 -0
  610. package/dist/rendering/expression-parser/safe-methods.js.map +1 -0
  611. package/dist/rendering/expression-parser/tokenizer.d.ts +68 -0
  612. package/dist/rendering/expression-parser/tokenizer.d.ts.map +1 -0
  613. package/dist/rendering/expression-parser/tokenizer.js +282 -0
  614. package/dist/rendering/expression-parser/tokenizer.js.map +1 -0
  615. package/dist/rendering/expression-parser/types.d.ts +234 -0
  616. package/dist/rendering/expression-parser/types.d.ts.map +1 -0
  617. package/dist/rendering/expression-parser/types.js +33 -0
  618. package/dist/rendering/expression-parser/types.js.map +1 -0
  619. package/dist/rendering/host-projection/host-projection-registry.interface.d.ts +54 -0
  620. package/dist/rendering/host-projection/host-projection-registry.interface.d.ts.map +1 -0
  621. package/dist/rendering/host-projection/host-projection-registry.interface.js +2 -0
  622. package/dist/rendering/host-projection/host-projection-registry.interface.js.map +1 -0
  623. package/dist/rendering/host-projection/host-projection.registry.d.ts +67 -0
  624. package/dist/rendering/host-projection/host-projection.registry.d.ts.map +1 -0
  625. package/dist/rendering/host-projection/host-projection.registry.js +96 -0
  626. package/dist/rendering/host-projection/host-projection.registry.js.map +1 -0
  627. package/dist/rendering/host-projection/index.d.ts +3 -0
  628. package/dist/rendering/host-projection/index.d.ts.map +1 -0
  629. package/dist/rendering/host-projection/index.js +2 -0
  630. package/dist/rendering/host-projection/index.js.map +1 -0
  631. package/dist/rendering/host-resolver/dom-context-host-resolver.d.ts +55 -0
  632. package/dist/rendering/host-resolver/dom-context-host-resolver.d.ts.map +1 -0
  633. package/dist/rendering/host-resolver/dom-context-host-resolver.js +90 -0
  634. package/dist/rendering/host-resolver/dom-context-host-resolver.js.map +1 -0
  635. package/dist/rendering/host-resolver/host-resolver.interface.d.ts +47 -0
  636. package/dist/rendering/host-resolver/host-resolver.interface.d.ts.map +1 -0
  637. package/dist/rendering/host-resolver/host-resolver.interface.js +2 -0
  638. package/dist/rendering/host-resolver/host-resolver.interface.js.map +1 -0
  639. package/dist/rendering/host-resolver/index.d.ts +3 -0
  640. package/dist/rendering/host-resolver/index.d.ts.map +1 -0
  641. package/dist/rendering/host-resolver/index.js +2 -0
  642. package/dist/rendering/host-resolver/index.js.map +1 -0
  643. package/dist/rendering/index.d.ts +34 -0
  644. package/dist/rendering/index.d.ts.map +1 -0
  645. package/dist/rendering/index.js +27 -0
  646. package/dist/rendering/index.js.map +1 -0
  647. package/dist/rendering/inputs/smart-input-store.d.ts +11 -0
  648. package/dist/rendering/inputs/smart-input-store.d.ts.map +1 -0
  649. package/dist/rendering/inputs/smart-input-store.interface.d.ts +54 -0
  650. package/dist/rendering/inputs/smart-input-store.interface.d.ts.map +1 -0
  651. package/dist/rendering/inputs/smart-input-store.interface.js +5 -0
  652. package/dist/rendering/inputs/smart-input-store.interface.js.map +1 -0
  653. package/dist/rendering/inputs/smart-input-store.js +92 -0
  654. package/dist/rendering/inputs/smart-input-store.js.map +1 -0
  655. package/dist/rendering/lifecycle/lifecycle-coordinator.d.ts +94 -0
  656. package/dist/rendering/lifecycle/lifecycle-coordinator.d.ts.map +1 -0
  657. package/dist/rendering/lifecycle/lifecycle-coordinator.js +142 -0
  658. package/dist/rendering/lifecycle/lifecycle-coordinator.js.map +1 -0
  659. package/dist/rendering/lifecycle/mount-context.interface.d.ts +50 -0
  660. package/dist/rendering/lifecycle/mount-context.interface.d.ts.map +1 -0
  661. package/dist/rendering/lifecycle/mount-context.interface.js +2 -0
  662. package/dist/rendering/lifecycle/mount-context.interface.js.map +1 -0
  663. package/dist/rendering/lifecycle/mount-session.d.ts +49 -0
  664. package/dist/rendering/lifecycle/mount-session.d.ts.map +1 -0
  665. package/dist/rendering/lifecycle/mount-session.js +71 -0
  666. package/dist/rendering/lifecycle/mount-session.js.map +1 -0
  667. package/dist/rendering/managed-host/host-style-migrator.d.ts +55 -0
  668. package/dist/rendering/managed-host/host-style-migrator.d.ts.map +1 -0
  669. package/dist/rendering/managed-host/host-style-migrator.interface.d.ts +42 -0
  670. package/dist/rendering/managed-host/host-style-migrator.interface.d.ts.map +1 -0
  671. package/dist/rendering/managed-host/host-style-migrator.interface.js +2 -0
  672. package/dist/rendering/managed-host/host-style-migrator.interface.js.map +1 -0
  673. package/dist/rendering/managed-host/host-style-migrator.js +105 -0
  674. package/dist/rendering/managed-host/host-style-migrator.js.map +1 -0
  675. package/dist/rendering/managed-host/index.d.ts +18 -0
  676. package/dist/rendering/managed-host/index.d.ts.map +1 -0
  677. package/dist/rendering/managed-host/index.js +14 -0
  678. package/dist/rendering/managed-host/index.js.map +1 -0
  679. package/dist/rendering/managed-host/input-attribute-policy.d.ts +60 -0
  680. package/dist/rendering/managed-host/input-attribute-policy.d.ts.map +1 -0
  681. package/dist/rendering/managed-host/input-attribute-policy.interface.d.ts +43 -0
  682. package/dist/rendering/managed-host/input-attribute-policy.interface.d.ts.map +1 -0
  683. package/dist/rendering/managed-host/input-attribute-policy.interface.js +2 -0
  684. package/dist/rendering/managed-host/input-attribute-policy.interface.js.map +1 -0
  685. package/dist/rendering/managed-host/input-attribute-policy.js +114 -0
  686. package/dist/rendering/managed-host/input-attribute-policy.js.map +1 -0
  687. package/dist/rendering/managed-host/managed-element-registry.d.ts +35 -0
  688. package/dist/rendering/managed-host/managed-element-registry.d.ts.map +1 -0
  689. package/dist/rendering/managed-host/managed-element-registry.js +103 -0
  690. package/dist/rendering/managed-host/managed-element-registry.js.map +1 -0
  691. package/dist/rendering/managed-host/managed-element-resolver.d.ts +27 -0
  692. package/dist/rendering/managed-host/managed-element-resolver.d.ts.map +1 -0
  693. package/dist/rendering/managed-host/managed-element-resolver.interface.d.ts +36 -0
  694. package/dist/rendering/managed-host/managed-element-resolver.interface.d.ts.map +1 -0
  695. package/dist/rendering/managed-host/managed-element-resolver.interface.js +2 -0
  696. package/dist/rendering/managed-host/managed-element-resolver.interface.js.map +1 -0
  697. package/dist/rendering/managed-host/managed-element-resolver.js +31 -0
  698. package/dist/rendering/managed-host/managed-element-resolver.js.map +1 -0
  699. package/dist/rendering/managed-host/managed-host-context.interface.d.ts +31 -0
  700. package/dist/rendering/managed-host/managed-host-context.interface.d.ts.map +1 -0
  701. package/dist/rendering/managed-host/managed-host-context.interface.js +2 -0
  702. package/dist/rendering/managed-host/managed-host-context.interface.js.map +1 -0
  703. package/dist/rendering/managed-host/outlet-resolver.d.ts +43 -0
  704. package/dist/rendering/managed-host/outlet-resolver.d.ts.map +1 -0
  705. package/dist/rendering/managed-host/outlet-resolver.interface.d.ts +28 -0
  706. package/dist/rendering/managed-host/outlet-resolver.interface.d.ts.map +1 -0
  707. package/dist/rendering/managed-host/outlet-resolver.interface.js +2 -0
  708. package/dist/rendering/managed-host/outlet-resolver.interface.js.map +1 -0
  709. package/dist/rendering/managed-host/outlet-resolver.js +59 -0
  710. package/dist/rendering/managed-host/outlet-resolver.js.map +1 -0
  711. package/dist/rendering/pipeline/error-renderer.d.ts +107 -0
  712. package/dist/rendering/pipeline/error-renderer.d.ts.map +1 -0
  713. package/dist/rendering/pipeline/error-renderer.js +127 -0
  714. package/dist/rendering/pipeline/error-renderer.js.map +1 -0
  715. package/dist/rendering/pipeline/render-pipeline.d.ts +87 -0
  716. package/dist/rendering/pipeline/render-pipeline.d.ts.map +1 -0
  717. package/dist/rendering/pipeline/render-pipeline.interface.d.ts +54 -0
  718. package/dist/rendering/pipeline/render-pipeline.interface.d.ts.map +1 -0
  719. package/dist/rendering/pipeline/render-pipeline.interface.js +2 -0
  720. package/dist/rendering/pipeline/render-pipeline.interface.js.map +1 -0
  721. package/dist/rendering/pipeline/render-pipeline.js +201 -0
  722. package/dist/rendering/pipeline/render-pipeline.js.map +1 -0
  723. package/dist/rendering/refs/get-component-host.d.ts +25 -0
  724. package/dist/rendering/refs/get-component-host.d.ts.map +1 -0
  725. package/dist/rendering/refs/get-component-host.js +27 -0
  726. package/dist/rendering/refs/get-component-host.js.map +1 -0
  727. package/dist/rendering/refs/host-ref-registry.d.ts +43 -0
  728. package/dist/rendering/refs/host-ref-registry.d.ts.map +1 -0
  729. package/dist/rendering/refs/host-ref-registry.js +38 -0
  730. package/dist/rendering/refs/host-ref-registry.js.map +1 -0
  731. package/dist/rendering/refs/ref-resolver.d.ts +44 -0
  732. package/dist/rendering/refs/ref-resolver.d.ts.map +1 -0
  733. package/dist/rendering/refs/ref-resolver.js +54 -0
  734. package/dist/rendering/refs/ref-resolver.js.map +1 -0
  735. package/dist/rendering/render-engine-facade.d.ts +80 -0
  736. package/dist/rendering/render-engine-facade.d.ts.map +1 -0
  737. package/dist/rendering/render-engine-facade.js +90 -0
  738. package/dist/rendering/render-engine-facade.js.map +1 -0
  739. package/dist/rendering/render-engine-factory.d.ts +158 -0
  740. package/dist/rendering/render-engine-factory.d.ts.map +1 -0
  741. package/dist/rendering/render-engine-factory.js +225 -0
  742. package/dist/rendering/render-engine-factory.js.map +1 -0
  743. package/dist/rendering/render-engine.d.ts +200 -0
  744. package/dist/rendering/render-engine.d.ts.map +1 -0
  745. package/dist/rendering/render-engine.js +205 -0
  746. package/dist/rendering/render-engine.js.map +1 -0
  747. package/dist/rendering/skeleton/skeleton-renderer.d.ts +91 -0
  748. package/dist/rendering/skeleton/skeleton-renderer.d.ts.map +1 -0
  749. package/dist/rendering/skeleton/skeleton-renderer.interface.d.ts +33 -0
  750. package/dist/rendering/skeleton/skeleton-renderer.interface.d.ts.map +1 -0
  751. package/dist/rendering/skeleton/skeleton-renderer.interface.js +2 -0
  752. package/dist/rendering/skeleton/skeleton-renderer.interface.js.map +1 -0
  753. package/dist/rendering/skeleton/skeleton-renderer.js +188 -0
  754. package/dist/rendering/skeleton/skeleton-renderer.js.map +1 -0
  755. package/dist/rendering/skeleton/skeleton-validator.d.ts +51 -0
  756. package/dist/rendering/skeleton/skeleton-validator.d.ts.map +1 -0
  757. package/dist/rendering/skeleton/skeleton-validator.interface.d.ts +23 -0
  758. package/dist/rendering/skeleton/skeleton-validator.interface.d.ts.map +1 -0
  759. package/dist/rendering/skeleton/skeleton-validator.interface.js +2 -0
  760. package/dist/rendering/skeleton/skeleton-validator.interface.js.map +1 -0
  761. package/dist/rendering/skeleton/skeleton-validator.js +215 -0
  762. package/dist/rendering/skeleton/skeleton-validator.js.map +1 -0
  763. package/dist/rendering/slots/index.d.ts +2 -0
  764. package/dist/rendering/slots/index.d.ts.map +1 -0
  765. package/dist/rendering/slots/index.js +2 -0
  766. package/dist/rendering/slots/index.js.map +1 -0
  767. package/dist/rendering/slots/slot-content.registry.d.ts +58 -0
  768. package/dist/rendering/slots/slot-content.registry.d.ts.map +1 -0
  769. package/dist/rendering/slots/slot-content.registry.js +77 -0
  770. package/dist/rendering/slots/slot-content.registry.js.map +1 -0
  771. package/dist/rendering/styles/shared-styles-registry.d.ts +68 -0
  772. package/dist/rendering/styles/shared-styles-registry.d.ts.map +1 -0
  773. package/dist/rendering/styles/shared-styles-registry.js +55 -0
  774. package/dist/rendering/styles/shared-styles-registry.js.map +1 -0
  775. package/dist/rendering/support/error-render-options.interface.d.ts +29 -0
  776. package/dist/rendering/support/error-render-options.interface.d.ts.map +1 -0
  777. package/dist/rendering/support/error-render-options.interface.js +2 -0
  778. package/dist/rendering/support/error-render-options.interface.js.map +1 -0
  779. package/dist/rendering/support/error-renderer.d.ts +56 -0
  780. package/dist/rendering/support/error-renderer.d.ts.map +1 -0
  781. package/dist/rendering/support/error-renderer.interface.d.ts +29 -0
  782. package/dist/rendering/support/error-renderer.interface.d.ts.map +1 -0
  783. package/dist/rendering/support/error-renderer.interface.js +2 -0
  784. package/dist/rendering/support/error-renderer.interface.js.map +1 -0
  785. package/dist/rendering/support/error-renderer.js +92 -0
  786. package/dist/rendering/support/error-renderer.js.map +1 -0
  787. package/dist/rendering/support/safe-methods.d.ts +46 -0
  788. package/dist/rendering/support/safe-methods.d.ts.map +1 -0
  789. package/dist/rendering/support/safe-methods.js +138 -0
  790. package/dist/rendering/support/safe-methods.js.map +1 -0
  791. package/dist/rendering/support/smart-input-store.d.ts +11 -0
  792. package/dist/rendering/support/smart-input-store.d.ts.map +1 -0
  793. package/dist/rendering/support/smart-input-store.interface.d.ts +54 -0
  794. package/dist/rendering/support/smart-input-store.interface.d.ts.map +1 -0
  795. package/dist/rendering/support/smart-input-store.interface.js +5 -0
  796. package/dist/rendering/support/smart-input-store.interface.js.map +1 -0
  797. package/dist/rendering/support/smart-input-store.js +92 -0
  798. package/dist/rendering/support/smart-input-store.js.map +1 -0
  799. package/dist/rendering/templates/compiled-template.interface.d.ts +34 -0
  800. package/dist/rendering/templates/compiled-template.interface.d.ts.map +1 -0
  801. package/dist/rendering/templates/compiled-template.interface.js +2 -0
  802. package/dist/rendering/templates/compiled-template.interface.js.map +1 -0
  803. package/dist/rendering/templates/composite-token-extractor.d.ts +10 -0
  804. package/dist/rendering/templates/composite-token-extractor.d.ts.map +1 -0
  805. package/dist/rendering/templates/composite-token-extractor.js +16 -0
  806. package/dist/rendering/templates/composite-token-extractor.js.map +1 -0
  807. package/dist/rendering/templates/delimited-token-extractor.d.ts +12 -0
  808. package/dist/rendering/templates/delimited-token-extractor.d.ts.map +1 -0
  809. package/dist/rendering/templates/delimited-token-extractor.js +44 -0
  810. package/dist/rendering/templates/delimited-token-extractor.js.map +1 -0
  811. package/dist/rendering/templates/host-projector.interface.d.ts +25 -0
  812. package/dist/rendering/templates/host-projector.interface.d.ts.map +1 -0
  813. package/dist/rendering/templates/host-projector.interface.js +2 -0
  814. package/dist/rendering/templates/host-projector.interface.js.map +1 -0
  815. package/dist/rendering/templates/html-aware-token-extractor.d.ts +56 -0
  816. package/dist/rendering/templates/html-aware-token-extractor.d.ts.map +1 -0
  817. package/dist/rendering/templates/html-aware-token-extractor.js +78 -0
  818. package/dist/rendering/templates/html-aware-token-extractor.js.map +1 -0
  819. package/dist/rendering/templates/html-fragment-parser.interface.d.ts +19 -0
  820. package/dist/rendering/templates/html-fragment-parser.interface.d.ts.map +1 -0
  821. package/dist/rendering/templates/html-fragment-parser.interface.js +2 -0
  822. package/dist/rendering/templates/html-fragment-parser.interface.js.map +1 -0
  823. package/dist/rendering/templates/interpolable-content-selector.interface.d.ts +33 -0
  824. package/dist/rendering/templates/interpolable-content-selector.interface.d.ts.map +1 -0
  825. package/dist/rendering/templates/interpolable-content-selector.interface.js +2 -0
  826. package/dist/rendering/templates/interpolable-content-selector.interface.js.map +1 -0
  827. package/dist/rendering/templates/parse5-fragment-parser.d.ts +31 -0
  828. package/dist/rendering/templates/parse5-fragment-parser.d.ts.map +1 -0
  829. package/dist/rendering/templates/parse5-fragment-parser.js +36 -0
  830. package/dist/rendering/templates/parse5-fragment-parser.js.map +1 -0
  831. package/dist/rendering/templates/safe-content-selector.d.ts +50 -0
  832. package/dist/rendering/templates/safe-content-selector.d.ts.map +1 -0
  833. package/dist/rendering/templates/safe-content-selector.js +138 -0
  834. package/dist/rendering/templates/safe-content-selector.js.map +1 -0
  835. package/dist/rendering/templates/simple-template-analyzer.d.ts +29 -0
  836. package/dist/rendering/templates/simple-template-analyzer.d.ts.map +1 -0
  837. package/dist/rendering/templates/simple-template-analyzer.js +59 -0
  838. package/dist/rendering/templates/simple-template-analyzer.js.map +1 -0
  839. package/dist/rendering/templates/template-analyzer.d.ts +60 -0
  840. package/dist/rendering/templates/template-analyzer.d.ts.map +1 -0
  841. package/dist/rendering/templates/template-analyzer.interface.d.ts +15 -0
  842. package/dist/rendering/templates/template-analyzer.interface.d.ts.map +1 -0
  843. package/dist/rendering/templates/template-analyzer.interface.js +2 -0
  844. package/dist/rendering/templates/template-analyzer.interface.js.map +1 -0
  845. package/dist/rendering/templates/template-analyzer.js +74 -0
  846. package/dist/rendering/templates/template-analyzer.js.map +1 -0
  847. package/dist/rendering/templates/template-compilation-cache.d.ts +96 -0
  848. package/dist/rendering/templates/template-compilation-cache.d.ts.map +1 -0
  849. package/dist/rendering/templates/template-compilation-cache.js +125 -0
  850. package/dist/rendering/templates/template-compilation-cache.js.map +1 -0
  851. package/dist/rendering/templates/template-compiler.d.ts +76 -0
  852. package/dist/rendering/templates/template-compiler.d.ts.map +1 -0
  853. package/dist/rendering/templates/template-compiler.interface.d.ts +35 -0
  854. package/dist/rendering/templates/template-compiler.interface.d.ts.map +1 -0
  855. package/dist/rendering/templates/template-compiler.interface.js +2 -0
  856. package/dist/rendering/templates/template-compiler.interface.js.map +1 -0
  857. package/dist/rendering/templates/template-compiler.js +136 -0
  858. package/dist/rendering/templates/template-compiler.js.map +1 -0
  859. package/dist/rendering/templates/template-provider.d.ts +112 -0
  860. package/dist/rendering/templates/template-provider.d.ts.map +1 -0
  861. package/dist/rendering/templates/template-provider.factory.d.ts +35 -0
  862. package/dist/rendering/templates/template-provider.factory.d.ts.map +1 -0
  863. package/dist/rendering/templates/template-provider.factory.js +42 -0
  864. package/dist/rendering/templates/template-provider.factory.js.map +1 -0
  865. package/dist/rendering/templates/template-provider.interface.d.ts +32 -0
  866. package/dist/rendering/templates/template-provider.interface.d.ts.map +1 -0
  867. package/dist/rendering/templates/template-provider.interface.js +2 -0
  868. package/dist/rendering/templates/template-provider.interface.js.map +1 -0
  869. package/dist/rendering/templates/template-provider.js +104 -0
  870. package/dist/rendering/templates/template-provider.js.map +1 -0
  871. package/dist/rendering/templates/template-token.interface.d.ts +38 -0
  872. package/dist/rendering/templates/template-token.interface.d.ts.map +1 -0
  873. package/dist/rendering/templates/template-token.interface.js +2 -0
  874. package/dist/rendering/templates/template-token.interface.js.map +1 -0
  875. package/dist/types/interfaces.d.ts +204 -0
  876. package/dist/types/interfaces.d.ts.map +1 -0
  877. package/dist/types/interfaces.js +2 -0
  878. package/dist/types/interfaces.js.map +1 -0
  879. package/dist/utils/dom-utils.d.ts +71 -0
  880. package/dist/utils/dom-utils.d.ts.map +1 -0
  881. package/dist/utils/dom-utils.js +119 -0
  882. package/dist/utils/dom-utils.js.map +1 -0
  883. package/dist/utils/object-registry.d.ts +71 -0
  884. package/dist/utils/object-registry.d.ts.map +1 -0
  885. package/dist/utils/object-registry.js +126 -0
  886. package/dist/utils/object-registry.js.map +1 -0
  887. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=listener-initializer.interface.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=listener-metadata-registry.interface.js.map
@@ -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"}