@dooboostore/dom-render 1.0.106 → 1.0.108

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 (847) hide show
  1. package/dist/cjs/DomRenderProxy.js +0 -1
  2. package/dist/cjs/DomRenderProxy.js.map +2 -2
  3. package/dist/cjs/bundle-entry.js +56 -0
  4. package/dist/cjs/bundle-entry.js.map +7 -0
  5. package/dist/cjs/components/ComponentBase.js +71 -54
  6. package/dist/cjs/components/ComponentBase.js.map +2 -2
  7. package/dist/cjs/components/a/A.js +40 -32
  8. package/dist/cjs/components/a/A.js.map +1 -1
  9. package/dist/cjs/components/router/Route.js +18 -15
  10. package/dist/cjs/components/router/Route.js.map +1 -1
  11. package/dist/cjs/components/select/Select.js +86 -69
  12. package/dist/cjs/components/select/Select.js.map +2 -2
  13. package/dist/cjs/decorators/DomRenderNoProxy.js +0 -1
  14. package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
  15. package/dist/cjs/index.js +2 -41
  16. package/dist/cjs/index.js.map +2 -2
  17. package/dist/cjs/operators/DrForOf.js +2 -2
  18. package/dist/cjs/operators/DrForOf.js.map +2 -2
  19. package/dist/cjs/operators/DrIf.js +3 -3
  20. package/dist/cjs/operators/DrIf.js.map +2 -2
  21. package/dist/cjs/operators/OperatorExecuter.js +2 -2
  22. package/dist/cjs/operators/OperatorExecuter.js.map +2 -2
  23. package/dist/cjs/rawsets/RawSet.js +9 -9
  24. package/dist/cjs/rawsets/RawSet.js.map +2 -2
  25. package/dist/cjs/routers/PathRouter.js +0 -1
  26. package/dist/cjs/routers/PathRouter.js.map +2 -2
  27. package/dist/esm/DomRender.js +8 -8
  28. package/dist/esm/DomRenderProxy.js +15 -16
  29. package/dist/esm/DomRenderProxy.js.map +2 -2
  30. package/dist/esm/bundle-entry.js +36 -0
  31. package/dist/esm/bundle-entry.js.map +7 -0
  32. package/dist/esm/components/ComponentBase.js +71 -56
  33. package/dist/esm/components/ComponentBase.js.map +2 -2
  34. package/dist/esm/components/ComponentRouterBase.js +2 -2
  35. package/dist/esm/components/ComponentSet.js +1 -1
  36. package/dist/esm/components/a/A.js +42 -36
  37. package/dist/esm/components/a/A.js.map +1 -1
  38. package/dist/esm/components/a/index.js +1 -1
  39. package/dist/esm/components/appender/Appender.js +3 -3
  40. package/dist/esm/components/appender/index.js +1 -1
  41. package/dist/esm/components/checkbox/CheckBox.js +3 -3
  42. package/dist/esm/components/checkbox/index.js +1 -1
  43. package/dist/esm/components/choose/Choose.js +3 -3
  44. package/dist/esm/components/choose/index.js +1 -1
  45. package/dist/esm/components/details/Details.js +3 -3
  46. package/dist/esm/components/details/index.js +1 -1
  47. package/dist/esm/components/forOf/ForOf.js +3 -3
  48. package/dist/esm/components/forOf/index.js +1 -1
  49. package/dist/esm/components/if/If.js +3 -3
  50. package/dist/esm/components/if/index.js +1 -1
  51. package/dist/esm/components/index.js +31 -31
  52. package/dist/esm/components/input/Input.js +3 -3
  53. package/dist/esm/components/input/index.js +1 -1
  54. package/dist/esm/components/promise/PromiseSwitch.js +3 -3
  55. package/dist/esm/components/promise/index.js +1 -1
  56. package/dist/esm/components/radio/Radio.js +3 -3
  57. package/dist/esm/components/radio/index.js +1 -1
  58. package/dist/esm/components/router/Route.js +21 -20
  59. package/dist/esm/components/router/Route.js.map +1 -1
  60. package/dist/esm/components/router/RouterOutlet.js +3 -3
  61. package/dist/esm/components/router/index.js +2 -2
  62. package/dist/esm/components/select/Select.js +89 -74
  63. package/dist/esm/components/select/Select.js.map +2 -2
  64. package/dist/esm/components/select/index.js +1 -1
  65. package/dist/esm/components/this/This.js +3 -3
  66. package/dist/esm/components/this/index.js +1 -1
  67. package/dist/esm/components/timer/Timer.js +3 -3
  68. package/dist/esm/components/timer/index.js +1 -1
  69. package/dist/esm/configs/index.js +3 -3
  70. package/dist/esm/decorators/DomRenderNoProxy.js +0 -1
  71. package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
  72. package/dist/esm/decorators/index.js +1 -1
  73. package/dist/esm/events/EventManager.js +2 -2
  74. package/dist/esm/events/index.js +1 -1
  75. package/dist/esm/index.js +2 -40
  76. package/dist/esm/index.js.map +2 -2
  77. package/dist/esm/iterators/index.js +1 -1
  78. package/dist/esm/lifecycle/dr-this/index.js +2 -2
  79. package/dist/esm/lifecycle/index.js +12 -12
  80. package/dist/esm/messenger/DefaultMessenger.js +1 -1
  81. package/dist/esm/messenger/Messenger.js +1 -1
  82. package/dist/esm/messenger/index.js +2 -2
  83. package/dist/esm/operators/Dr.js +3 -3
  84. package/dist/esm/operators/DrAppender.js +3 -3
  85. package/dist/esm/operators/DrFor.js +3 -3
  86. package/dist/esm/operators/DrForOf.js +4 -4
  87. package/dist/esm/operators/DrForOf.js.map +1 -1
  88. package/dist/esm/operators/DrForm.js +6 -6
  89. package/dist/esm/operators/DrIf.js +4 -4
  90. package/dist/esm/operators/DrIf.js.map +1 -1
  91. package/dist/esm/operators/DrInnerHTML.js +3 -3
  92. package/dist/esm/operators/DrInnerText.js +3 -3
  93. package/dist/esm/operators/DrPre.js +1 -1
  94. package/dist/esm/operators/DrRepeat.js +4 -4
  95. package/dist/esm/operators/DrStripElement.js +3 -3
  96. package/dist/esm/operators/DrTargetAttr.js +2 -2
  97. package/dist/esm/operators/DrTargetElement.js +2 -2
  98. package/dist/esm/operators/DrTargetElementIsElement.js +2 -2
  99. package/dist/esm/operators/DrThis.js +6 -6
  100. package/dist/esm/operators/DrThisProperty.js +3 -3
  101. package/dist/esm/operators/OperatorExecuter.js +1 -1
  102. package/dist/esm/operators/OperatorExecuter.js.map +1 -1
  103. package/dist/esm/operators/OperatorExecuterAttrRequire.js +1 -1
  104. package/dist/esm/operators/index.js +19 -19
  105. package/dist/esm/rawsets/RawSet.js +29 -29
  106. package/dist/esm/rawsets/RawSet.js.map +1 -1
  107. package/dist/esm/rawsets/index.js +9 -9
  108. package/dist/esm/routers/HashRouter.js +1 -1
  109. package/dist/esm/routers/PathRouter.js +1 -2
  110. package/dist/esm/routers/PathRouter.js.map +2 -2
  111. package/dist/esm/routers/index.js +3 -3
  112. package/dist/esm/types/index.js +1 -1
  113. package/dist/esm/validators/AllCheckedValidatorArray.js +1 -1
  114. package/dist/esm/validators/AllUnCheckedValidatorArray.js +1 -1
  115. package/dist/esm/validators/CheckedValidator.js +1 -1
  116. package/dist/esm/validators/CountEqualsCheckedValidatorArray.js +1 -1
  117. package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.js +1 -1
  118. package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.js +1 -1
  119. package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.js +1 -1
  120. package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +1 -1
  121. package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.js +1 -1
  122. package/dist/esm/validators/CountLessThanCheckedValidatorArray.js +1 -1
  123. package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.js +1 -1
  124. package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.js +1 -1
  125. package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.js +1 -1
  126. package/dist/esm/validators/CountUnCheckedValidatorArray.js +1 -1
  127. package/dist/esm/validators/EmptyValidator.js +1 -1
  128. package/dist/esm/validators/ExcludeCheckedValidatorArray.js +1 -1
  129. package/dist/esm/validators/FormValidator.js +1 -1
  130. package/dist/esm/validators/IncludeCheckedValidatorArray.js +1 -1
  131. package/dist/esm/validators/MultipleValidator.js +1 -1
  132. package/dist/esm/validators/NonPassValidator.js +1 -1
  133. package/dist/esm/validators/NotEmptyValidator.js +1 -1
  134. package/dist/esm/validators/NotRegExpTestValidator.js +2 -2
  135. package/dist/esm/validators/PassValidator.js +1 -1
  136. package/dist/esm/validators/RegExpTestValidator.js +2 -2
  137. package/dist/esm/validators/RequiredValidator.js +1 -1
  138. package/dist/esm/validators/UnCheckedValidator.js +1 -1
  139. package/dist/esm/validators/ValidMultipleValidator.js +1 -1
  140. package/dist/esm/validators/ValidValidator.js +1 -1
  141. package/dist/esm/validators/ValidValidatorArray.js +1 -1
  142. package/dist/esm/validators/ValidatorArray.js +2 -2
  143. package/dist/esm/validators/ValueEqualsValidator.js +1 -1
  144. package/dist/esm/validators/ValueNotEqualsValidator.js +1 -1
  145. package/dist/esm/validators/index.js +31 -31
  146. package/dist/esm-bundle/dooboostore-dom-render.esm.js +7077 -3426
  147. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  148. package/dist/{esm → types}/DomRenderProxy.d.ts +0 -1
  149. package/dist/types/DomRenderProxy.d.ts.map +1 -0
  150. package/dist/{cjs/index.d.ts → types/bundle-entry.d.ts} +3 -4
  151. package/dist/types/bundle-entry.d.ts.map +1 -0
  152. package/dist/{cjs → types}/components/ComponentBase.d.ts +0 -1
  153. package/dist/types/components/ComponentBase.d.ts.map +1 -0
  154. package/dist/{cjs → types}/components/a/A.d.ts +1 -1
  155. package/dist/{cjs → types}/components/appender/Appender.d.ts +1 -1
  156. package/dist/{cjs → types}/components/checkbox/CheckBox.d.ts +3 -3
  157. package/dist/{cjs → types}/components/choose/Choose.d.ts +3 -3
  158. package/dist/{cjs → types}/components/details/Details.d.ts +4 -4
  159. package/dist/{cjs → types}/components/forOf/ForOf.d.ts +1 -1
  160. package/dist/{esm → types}/components/if/If.d.ts +1 -1
  161. package/dist/types/components/index.d.ts +58 -0
  162. package/dist/{cjs → types}/components/input/Input.d.ts +1 -1
  163. package/dist/{cjs → types}/components/promise/PromiseSwitch.d.ts +5 -5
  164. package/dist/{esm → types}/components/radio/Radio.d.ts +3 -3
  165. package/dist/{cjs → types}/components/router/Route.d.ts +2 -2
  166. package/dist/{cjs → types}/components/router/RouterOutlet.d.ts +1 -1
  167. package/dist/{esm → types}/components/select/Select.d.ts +10 -10
  168. package/dist/{cjs → types}/components/this/This.d.ts +1 -1
  169. package/dist/{cjs → types}/components/timer/Timer.d.ts +1 -1
  170. package/dist/{cjs → types}/decorators/DomRenderNoProxy.d.ts +0 -1
  171. package/dist/types/decorators/DomRenderNoProxy.d.ts.map +1 -0
  172. package/dist/types/index.d.ts +103 -0
  173. package/dist/types/index.d.ts.map +1 -0
  174. package/dist/{cjs → types}/routers/PathRouter.d.ts.map +1 -1
  175. package/dist/umd-bundle/dooboostore-dom-render.umd.js +6296 -2648
  176. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  177. package/package.json +32 -19
  178. package/src/DomRender.ts +173 -0
  179. package/src/DomRenderProxy.ts +671 -0
  180. package/{dist/esm/index.d.ts → src/bundle-entry.ts} +7 -5
  181. package/src/components/ComponentBase.ts +682 -0
  182. package/src/components/ComponentRouterBase.ts +44 -0
  183. package/src/components/ComponentSet.ts +26 -0
  184. package/src/components/a/A.ts +81 -0
  185. package/src/components/a/index.ts +1 -0
  186. package/src/components/appender/Appender.ts +86 -0
  187. package/src/components/appender/index.ts +1 -0
  188. package/src/components/checkbox/CheckBox.ts +137 -0
  189. package/src/components/checkbox/index.ts +1 -0
  190. package/src/components/choose/Choose.ts +111 -0
  191. package/src/components/choose/index.ts +1 -0
  192. package/src/components/details/Details.ts +236 -0
  193. package/src/components/details/index.ts +1 -0
  194. package/src/components/dialog/Dialog.ts +84 -0
  195. package/src/components/dialog/dialog.html +10 -0
  196. package/src/components/dialog/example/ImageEditorDialog.ts +115 -0
  197. package/src/components/dialog/example/imageEditorDialog.css +179 -0
  198. package/src/components/dialog/example/imageEditorDialog.html +48 -0
  199. package/src/components/forOf/ForOf.ts +41 -0
  200. package/src/components/forOf/index.ts +1 -0
  201. package/src/components/if/If.ts +63 -0
  202. package/src/components/if/index.ts +1 -0
  203. package/src/components/index.ts +49 -0
  204. package/src/components/input/Input.ts +125 -0
  205. package/src/components/input/index.ts +1 -0
  206. package/src/components/promise/PromiseSwitch.ts +232 -0
  207. package/src/components/promise/index.ts +1 -0
  208. package/src/components/radio/Radio.ts +129 -0
  209. package/src/components/radio/index.ts +1 -0
  210. package/src/components/router/Route.ts +91 -0
  211. package/src/components/router/RouterOutlet.ts +73 -0
  212. package/{dist/esm/components/router/index.d.ts → src/components/router/index.ts} +0 -1
  213. package/src/components/select/Select.ts +580 -0
  214. package/src/components/select/index.ts +1 -0
  215. package/src/components/this/This.ts +62 -0
  216. package/src/components/this/index.ts +1 -0
  217. package/src/components/timer/Timer.ts +119 -0
  218. package/src/components/timer/index.ts +1 -0
  219. package/src/configs/DomRenderConfig.ts +30 -0
  220. package/{dist/esm/configs/TargetAttr.d.ts → src/configs/TargetAttr.ts} +3 -3
  221. package/{dist/esm/configs/TargetElement.d.ts → src/configs/TargetElement.ts} +7 -7
  222. package/{dist/esm/configs/index.d.ts → src/configs/index.ts} +0 -1
  223. package/src/decorators/DomRenderNoProxy.ts +30 -0
  224. package/{dist/esm/decorators/index.d.ts → src/decorators/index.ts} +0 -1
  225. package/src/events/EventManager.ts +729 -0
  226. package/src/events/index.ts +1 -0
  227. package/src/index.ts +17 -0
  228. package/src/iterators/Range.ts +73 -0
  229. package/src/iterators/index.ts +1 -0
  230. package/{dist/esm/lifecycle/OnBeforeReturnGet.d.ts → src/lifecycle/OnBeforeReturnGet.ts} +0 -1
  231. package/src/lifecycle/OnBeforeReturnSet.ts +6 -0
  232. package/{dist/esm/lifecycle/OnChangeAttrRender.d.ts → src/lifecycle/OnChangeAttrRender.ts} +7 -4
  233. package/src/lifecycle/OnChildRenderedByProperty.ts +9 -0
  234. package/src/lifecycle/OnCreateRender.ts +6 -0
  235. package/src/lifecycle/OnCreateRenderData.ts +11 -0
  236. package/src/lifecycle/OnCreateRendered.ts +11 -0
  237. package/src/lifecycle/OnCreatedThisChild.ts +10 -0
  238. package/src/lifecycle/OnDestroyRender.ts +11 -0
  239. package/src/lifecycle/OnInitRender.ts +9 -0
  240. package/src/lifecycle/OnProxyDomRender.ts +7 -0
  241. package/src/lifecycle/dr-this/OnDrThisBind.ts +6 -0
  242. package/src/lifecycle/dr-this/OnDrThisUnBind.ts +6 -0
  243. package/{dist/esm/lifecycle/dr-this/index.d.ts → src/lifecycle/dr-this/index.ts} +0 -1
  244. package/{dist/esm/lifecycle/index.d.ts → src/lifecycle/index.ts} +0 -1
  245. package/src/messenger/DefaultMessenger.ts +5 -0
  246. package/src/messenger/Messenger.ts +222 -0
  247. package/{dist/esm/messenger/index.d.ts → src/messenger/index.ts} +0 -1
  248. package/src/operators/Appender.ts +104 -0
  249. package/src/operators/Dr.ts +47 -0
  250. package/src/operators/DrAppender.ts +64 -0
  251. package/src/operators/DrFor.ts +52 -0
  252. package/src/operators/DrForOf.ts +116 -0
  253. package/src/operators/DrForm.ts +72 -0
  254. package/src/operators/DrIf.ts +69 -0
  255. package/src/operators/DrInnerHTML.ts +41 -0
  256. package/src/operators/DrInnerText.ts +40 -0
  257. package/src/operators/DrPre.ts +14 -0
  258. package/src/operators/DrRepeat.ts +64 -0
  259. package/src/operators/DrStripElement.ts +49 -0
  260. package/src/operators/DrTargetAttr.ts +36 -0
  261. package/src/operators/DrTargetElement.ts +119 -0
  262. package/src/operators/DrTargetElementIsElement.ts +76 -0
  263. package/src/operators/DrThis.ts +107 -0
  264. package/src/operators/DrThisProperty.ts +91 -0
  265. package/src/operators/OperatorExecuter.ts +67 -0
  266. package/src/operators/OperatorExecuterAttrRequire.ts +24 -0
  267. package/{dist/esm/operators/index.d.ts → src/operators/index.ts} +0 -1
  268. package/src/rawsets/AttrInitCallBack.ts +1 -0
  269. package/{dist/esm/rawsets/Attrs.d.ts → src/rawsets/Attrs.ts} +1 -2
  270. package/{dist/esm/rawsets/CreatorMetaData.d.ts → src/rawsets/CreatorMetaData.ts} +7 -8
  271. package/src/rawsets/DestroyOptionType.ts +4 -0
  272. package/src/rawsets/ElementInitCallBack.ts +4 -0
  273. package/src/rawsets/RawSet.ts +1582 -0
  274. package/src/rawsets/RawSetOperatorType.ts +3 -0
  275. package/src/rawsets/RawSetType.ts +7 -0
  276. package/{dist/esm/rawsets/Render.d.ts → src/rawsets/Render.ts} +9 -11
  277. package/{dist/esm/rawsets/index.d.ts → src/rawsets/index.ts} +0 -1
  278. package/src/routers/HashRouter.ts +106 -0
  279. package/src/routers/PathRouter.ts +93 -0
  280. package/src/routers/Router.ts +215 -0
  281. package/{dist/esm/routers/index.d.ts → src/routers/index.ts} +0 -1
  282. package/src/types/Types.ts +32 -0
  283. package/src/types/index.ts +2 -0
  284. package/src/types/type.ts +24 -0
  285. package/src/validators/AllCheckedValidatorArray.ts +12 -0
  286. package/src/validators/AllUnCheckedValidatorArray.ts +12 -0
  287. package/src/validators/CheckedValidator.ts +11 -0
  288. package/src/validators/CountEqualsCheckedValidatorArray.ts +12 -0
  289. package/src/validators/CountEqualsUnCheckedValidatorArray.ts +12 -0
  290. package/src/validators/CountGreaterThanCheckedValidatorArray.ts +12 -0
  291. package/src/validators/CountGreaterThanEqualsCheckedValidatorArray.ts +12 -0
  292. package/src/validators/CountGreaterThanEqualsUnCheckedValidatorArray.ts +12 -0
  293. package/src/validators/CountGreaterThanUnCheckedValidatorArray.ts +12 -0
  294. package/src/validators/CountLessThanCheckedValidatorArray.ts +12 -0
  295. package/src/validators/CountLessThanEqualsCheckedValidatorArray.ts +12 -0
  296. package/src/validators/CountLessThanEqualsUnCheckedValidatorArray.ts +12 -0
  297. package/src/validators/CountLessThanUnCheckedValidatorArray.ts +12 -0
  298. package/src/validators/CountUnCheckedValidatorArray.ts +12 -0
  299. package/src/validators/EmptyValidator.ts +12 -0
  300. package/src/validators/ExcludeCheckedValidatorArray.ts +16 -0
  301. package/src/validators/FormValidator.ts +19 -0
  302. package/src/validators/IncludeCheckedValidatorArray.ts +16 -0
  303. package/src/validators/MultipleValidator.ts +29 -0
  304. package/src/validators/NonPassValidator.ts +11 -0
  305. package/src/validators/NotEmptyValidator.ts +13 -0
  306. package/src/validators/NotRegExpTestValidator.ts +20 -0
  307. package/src/validators/PassValidator.ts +11 -0
  308. package/src/validators/RegExpTestValidator.ts +21 -0
  309. package/src/validators/RequiredValidator.ts +13 -0
  310. package/src/validators/UnCheckedValidator.ts +11 -0
  311. package/src/validators/ValidMultipleValidator.ts +14 -0
  312. package/src/validators/ValidValidator.ts +11 -0
  313. package/src/validators/ValidValidatorArray.ts +12 -0
  314. package/src/validators/Validator.ts +245 -0
  315. package/src/validators/ValidatorArray.ts +83 -0
  316. package/src/validators/ValueEqualsValidator.ts +11 -0
  317. package/src/validators/ValueNotEqualsValidator.ts +11 -0
  318. package/{dist/esm/validators/index.d.ts → src/validators/index.ts} +0 -1
  319. package/tsconfig.json +24 -0
  320. package/types.d.ts +2825 -0
  321. package/dist/cjs/DomRenderProxy.d.ts +0 -42
  322. package/dist/cjs/DomRenderProxy.d.ts.map +0 -1
  323. package/dist/cjs/components/ComponentBase.d.ts.map +0 -1
  324. package/dist/cjs/components/if/If.d.ts +0 -21
  325. package/dist/cjs/components/index.d.ts +0 -58
  326. package/dist/cjs/components/radio/Radio.d.ts +0 -45
  327. package/dist/cjs/components/select/Select.d.ts +0 -154
  328. package/dist/cjs/decorators/DomRenderNoProxy.d.ts.map +0 -1
  329. package/dist/cjs/index.d.ts.map +0 -1
  330. package/dist/cjs/managers/RenderManager.d.ts +0 -2
  331. package/dist/cjs/managers/RenderManager.d.ts.map +0 -1
  332. package/dist/cjs/managers/RenderManager.js +0 -1
  333. package/dist/cjs/managers/RenderManager.js.map +0 -7
  334. package/dist/cjs/managers/index.d.ts +0 -2
  335. package/dist/cjs/managers/index.d.ts.map +0 -1
  336. package/dist/cjs/managers/index.js +0 -18
  337. package/dist/cjs/managers/index.js.map +0 -7
  338. package/dist/cjs/package.json +0 -3
  339. package/dist/esm/DomRender.d.ts +0 -39
  340. package/dist/esm/DomRender.d.ts.map +0 -1
  341. package/dist/esm/DomRenderProxy.d.ts.map +0 -1
  342. package/dist/esm/components/ComponentBase.d.ts +0 -132
  343. package/dist/esm/components/ComponentBase.d.ts.map +0 -1
  344. package/dist/esm/components/ComponentRouterBase.d.ts +0 -13
  345. package/dist/esm/components/ComponentRouterBase.d.ts.map +0 -1
  346. package/dist/esm/components/ComponentSet.d.ts +0 -22
  347. package/dist/esm/components/ComponentSet.d.ts.map +0 -1
  348. package/dist/esm/components/a/A.d.ts +0 -40
  349. package/dist/esm/components/a/A.d.ts.map +0 -1
  350. package/dist/esm/components/a/index.d.ts +0 -2
  351. package/dist/esm/components/a/index.d.ts.map +0 -1
  352. package/dist/esm/components/appender/Appender.d.ts +0 -23
  353. package/dist/esm/components/appender/Appender.d.ts.map +0 -1
  354. package/dist/esm/components/appender/index.d.ts +0 -2
  355. package/dist/esm/components/appender/index.d.ts.map +0 -1
  356. package/dist/esm/components/checkbox/CheckBox.d.ts +0 -47
  357. package/dist/esm/components/checkbox/CheckBox.d.ts.map +0 -1
  358. package/dist/esm/components/checkbox/index.d.ts +0 -2
  359. package/dist/esm/components/checkbox/index.d.ts.map +0 -1
  360. package/dist/esm/components/choose/Choose.d.ts +0 -39
  361. package/dist/esm/components/choose/Choose.d.ts.map +0 -1
  362. package/dist/esm/components/choose/index.d.ts +0 -2
  363. package/dist/esm/components/choose/index.d.ts.map +0 -1
  364. package/dist/esm/components/details/Details.d.ts +0 -57
  365. package/dist/esm/components/details/Details.d.ts.map +0 -1
  366. package/dist/esm/components/details/index.d.ts +0 -2
  367. package/dist/esm/components/details/index.d.ts.map +0 -1
  368. package/dist/esm/components/dialog/Dialog.d.ts +0 -1
  369. package/dist/esm/components/dialog/Dialog.d.ts.map +0 -1
  370. package/dist/esm/components/dialog/example/ImageEditorDialog.d.ts +0 -1
  371. package/dist/esm/components/dialog/example/ImageEditorDialog.d.ts.map +0 -1
  372. package/dist/esm/components/forOf/ForOf.d.ts +0 -18
  373. package/dist/esm/components/forOf/ForOf.d.ts.map +0 -1
  374. package/dist/esm/components/forOf/index.d.ts +0 -2
  375. package/dist/esm/components/forOf/index.d.ts.map +0 -1
  376. package/dist/esm/components/if/If.d.ts.map +0 -1
  377. package/dist/esm/components/if/index.d.ts +0 -2
  378. package/dist/esm/components/if/index.d.ts.map +0 -1
  379. package/dist/esm/components/index.d.ts +0 -58
  380. package/dist/esm/components/index.d.ts.map +0 -1
  381. package/dist/esm/components/input/Input.d.ts +0 -34
  382. package/dist/esm/components/input/Input.d.ts.map +0 -1
  383. package/dist/esm/components/input/index.d.ts +0 -2
  384. package/dist/esm/components/input/index.d.ts.map +0 -1
  385. package/dist/esm/components/promise/PromiseSwitch.d.ts +0 -56
  386. package/dist/esm/components/promise/PromiseSwitch.d.ts.map +0 -1
  387. package/dist/esm/components/promise/index.d.ts +0 -2
  388. package/dist/esm/components/promise/index.d.ts.map +0 -1
  389. package/dist/esm/components/radio/Radio.d.ts.map +0 -1
  390. package/dist/esm/components/radio/index.d.ts +0 -2
  391. package/dist/esm/components/radio/index.d.ts.map +0 -1
  392. package/dist/esm/components/router/Route.d.ts +0 -36
  393. package/dist/esm/components/router/Route.d.ts.map +0 -1
  394. package/dist/esm/components/router/RouterOutlet.d.ts +0 -34
  395. package/dist/esm/components/router/RouterOutlet.d.ts.map +0 -1
  396. package/dist/esm/components/router/index.d.ts.map +0 -1
  397. package/dist/esm/components/select/Select.d.ts.map +0 -1
  398. package/dist/esm/components/select/index.d.ts +0 -2
  399. package/dist/esm/components/select/index.d.ts.map +0 -1
  400. package/dist/esm/components/this/This.d.ts +0 -31
  401. package/dist/esm/components/this/This.d.ts.map +0 -1
  402. package/dist/esm/components/this/index.d.ts +0 -2
  403. package/dist/esm/components/this/index.d.ts.map +0 -1
  404. package/dist/esm/components/timer/Timer.d.ts +0 -26
  405. package/dist/esm/components/timer/Timer.d.ts.map +0 -1
  406. package/dist/esm/components/timer/index.d.ts +0 -2
  407. package/dist/esm/components/timer/index.d.ts.map +0 -1
  408. package/dist/esm/configs/DomRenderConfig.d.ts +0 -39
  409. package/dist/esm/configs/DomRenderConfig.d.ts.map +0 -1
  410. package/dist/esm/configs/TargetAttr.d.ts.map +0 -1
  411. package/dist/esm/configs/TargetElement.d.ts.map +0 -1
  412. package/dist/esm/configs/index.d.ts.map +0 -1
  413. package/dist/esm/decorators/DomRenderNoProxy.d.ts +0 -6
  414. package/dist/esm/decorators/DomRenderNoProxy.d.ts.map +0 -1
  415. package/dist/esm/decorators/index.d.ts.map +0 -1
  416. package/dist/esm/events/EventManager.d.ts +0 -80
  417. package/dist/esm/events/EventManager.d.ts.map +0 -1
  418. package/dist/esm/events/index.d.ts +0 -2
  419. package/dist/esm/events/index.d.ts.map +0 -1
  420. package/dist/esm/index.d.ts.map +0 -1
  421. package/dist/esm/iterators/Range.d.ts +0 -24
  422. package/dist/esm/iterators/Range.d.ts.map +0 -1
  423. package/dist/esm/iterators/index.d.ts +0 -2
  424. package/dist/esm/iterators/index.d.ts.map +0 -1
  425. package/dist/esm/lifecycle/OnBeforeReturnGet.d.ts.map +0 -1
  426. package/dist/esm/lifecycle/OnBeforeReturnSet.d.ts +0 -5
  427. package/dist/esm/lifecycle/OnBeforeReturnSet.d.ts.map +0 -1
  428. package/dist/esm/lifecycle/OnChangeAttrRender.d.ts.map +0 -1
  429. package/dist/esm/lifecycle/OnChildRenderedByProperty.d.ts +0 -5
  430. package/dist/esm/lifecycle/OnChildRenderedByProperty.d.ts.map +0 -1
  431. package/dist/esm/lifecycle/OnCreateRender.d.ts +0 -5
  432. package/dist/esm/lifecycle/OnCreateRender.d.ts.map +0 -1
  433. package/dist/esm/lifecycle/OnCreateRenderData.d.ts +0 -10
  434. package/dist/esm/lifecycle/OnCreateRenderData.d.ts.map +0 -1
  435. package/dist/esm/lifecycle/OnCreateRendered.d.ts +0 -8
  436. package/dist/esm/lifecycle/OnCreateRendered.d.ts.map +0 -1
  437. package/dist/esm/lifecycle/OnCreatedThisChild.d.ts +0 -6
  438. package/dist/esm/lifecycle/OnCreatedThisChild.d.ts.map +0 -1
  439. package/dist/esm/lifecycle/OnDestroyRender.d.ts +0 -9
  440. package/dist/esm/lifecycle/OnDestroyRender.d.ts.map +0 -1
  441. package/dist/esm/lifecycle/OnInitRender.d.ts +0 -6
  442. package/dist/esm/lifecycle/OnInitRender.d.ts.map +0 -1
  443. package/dist/esm/lifecycle/OnProxyDomRender.d.ts +0 -6
  444. package/dist/esm/lifecycle/OnProxyDomRender.d.ts.map +0 -1
  445. package/dist/esm/lifecycle/dr-this/OnDrThisBind.d.ts +0 -5
  446. package/dist/esm/lifecycle/dr-this/OnDrThisBind.d.ts.map +0 -1
  447. package/dist/esm/lifecycle/dr-this/OnDrThisUnBind.d.ts +0 -5
  448. package/dist/esm/lifecycle/dr-this/OnDrThisUnBind.d.ts.map +0 -1
  449. package/dist/esm/lifecycle/dr-this/index.d.ts.map +0 -1
  450. package/dist/esm/lifecycle/index.d.ts.map +0 -1
  451. package/dist/esm/managers/RenderManager.d.ts +0 -2
  452. package/dist/esm/managers/RenderManager.d.ts.map +0 -1
  453. package/dist/esm/managers/RenderManager.js +0 -1
  454. package/dist/esm/managers/RenderManager.js.map +0 -7
  455. package/dist/esm/managers/index.d.ts +0 -2
  456. package/dist/esm/managers/index.d.ts.map +0 -1
  457. package/dist/esm/managers/index.js +0 -2
  458. package/dist/esm/managers/index.js.map +0 -7
  459. package/dist/esm/messenger/DefaultMessenger.d.ts +0 -4
  460. package/dist/esm/messenger/DefaultMessenger.d.ts.map +0 -1
  461. package/dist/esm/messenger/Messenger.d.ts +0 -79
  462. package/dist/esm/messenger/Messenger.d.ts.map +0 -1
  463. package/dist/esm/messenger/index.d.ts.map +0 -1
  464. package/dist/esm/operators/Appender.d.ts +0 -15
  465. package/dist/esm/operators/Appender.d.ts.map +0 -1
  466. package/dist/esm/operators/Dr.d.ts +0 -9
  467. package/dist/esm/operators/Dr.d.ts.map +0 -1
  468. package/dist/esm/operators/DrAppender.d.ts +0 -9
  469. package/dist/esm/operators/DrAppender.d.ts.map +0 -1
  470. package/dist/esm/operators/DrFor.d.ts +0 -9
  471. package/dist/esm/operators/DrFor.d.ts.map +0 -1
  472. package/dist/esm/operators/DrForOf.d.ts +0 -9
  473. package/dist/esm/operators/DrForOf.d.ts.map +0 -1
  474. package/dist/esm/operators/DrForm.d.ts +0 -9
  475. package/dist/esm/operators/DrForm.d.ts.map +0 -1
  476. package/dist/esm/operators/DrIf.d.ts +0 -9
  477. package/dist/esm/operators/DrIf.d.ts.map +0 -1
  478. package/dist/esm/operators/DrInnerHTML.d.ts +0 -9
  479. package/dist/esm/operators/DrInnerHTML.d.ts.map +0 -1
  480. package/dist/esm/operators/DrInnerText.d.ts +0 -9
  481. package/dist/esm/operators/DrInnerText.d.ts.map +0 -1
  482. package/dist/esm/operators/DrPre.d.ts +0 -8
  483. package/dist/esm/operators/DrPre.d.ts.map +0 -1
  484. package/dist/esm/operators/DrRepeat.d.ts +0 -9
  485. package/dist/esm/operators/DrRepeat.d.ts.map +0 -1
  486. package/dist/esm/operators/DrStripElement.d.ts +0 -9
  487. package/dist/esm/operators/DrStripElement.d.ts.map +0 -1
  488. package/dist/esm/operators/DrTargetAttr.d.ts +0 -8
  489. package/dist/esm/operators/DrTargetAttr.d.ts.map +0 -1
  490. package/dist/esm/operators/DrTargetElement.d.ts +0 -13
  491. package/dist/esm/operators/DrTargetElement.d.ts.map +0 -1
  492. package/dist/esm/operators/DrTargetElementIsElement.d.ts +0 -8
  493. package/dist/esm/operators/DrTargetElementIsElement.d.ts.map +0 -1
  494. package/dist/esm/operators/DrThis.d.ts +0 -7
  495. package/dist/esm/operators/DrThis.d.ts.map +0 -1
  496. package/dist/esm/operators/DrThisProperty.d.ts +0 -11
  497. package/dist/esm/operators/DrThisProperty.d.ts.map +0 -1
  498. package/dist/esm/operators/OperatorExecuter.d.ts +0 -50
  499. package/dist/esm/operators/OperatorExecuter.d.ts.map +0 -1
  500. package/dist/esm/operators/OperatorExecuterAttrRequire.d.ts +0 -9
  501. package/dist/esm/operators/OperatorExecuterAttrRequire.d.ts.map +0 -1
  502. package/dist/esm/operators/index.d.ts.map +0 -1
  503. package/dist/esm/rawsets/AttrInitCallBack.d.ts +0 -6
  504. package/dist/esm/rawsets/AttrInitCallBack.d.ts.map +0 -1
  505. package/dist/esm/rawsets/Attrs.d.ts.map +0 -1
  506. package/dist/esm/rawsets/CreatorMetaData.d.ts.map +0 -1
  507. package/dist/esm/rawsets/DestroyOptionType.d.ts +0 -5
  508. package/dist/esm/rawsets/DestroyOptionType.d.ts.map +0 -1
  509. package/dist/esm/rawsets/ElementInitCallBack.d.ts +0 -9
  510. package/dist/esm/rawsets/ElementInitCallBack.d.ts.map +0 -1
  511. package/dist/esm/rawsets/RawSet.d.ts +0 -180
  512. package/dist/esm/rawsets/RawSet.d.ts.map +0 -1
  513. package/dist/esm/rawsets/RawSetOperatorType.d.ts +0 -4
  514. package/dist/esm/rawsets/RawSetOperatorType.d.ts.map +0 -1
  515. package/dist/esm/rawsets/RawSetType.d.ts +0 -8
  516. package/dist/esm/rawsets/RawSetType.d.ts.map +0 -1
  517. package/dist/esm/rawsets/Render.d.ts.map +0 -1
  518. package/dist/esm/rawsets/index.d.ts.map +0 -1
  519. package/dist/esm/routers/HashRouter.d.ts +0 -25
  520. package/dist/esm/routers/HashRouter.d.ts.map +0 -1
  521. package/dist/esm/routers/PathRouter.d.ts +0 -24
  522. package/dist/esm/routers/PathRouter.d.ts.map +0 -1
  523. package/dist/esm/routers/Router.d.ts +0 -83
  524. package/dist/esm/routers/Router.d.ts.map +0 -1
  525. package/dist/esm/routers/index.d.ts.map +0 -1
  526. package/dist/esm/types/Types.d.ts +0 -12
  527. package/dist/esm/types/Types.d.ts.map +0 -1
  528. package/dist/esm/types/index.d.ts +0 -2
  529. package/dist/esm/types/index.d.ts.map +0 -1
  530. package/dist/esm/types/type.d.ts +0 -25
  531. package/dist/esm/types/type.d.ts.map +0 -1
  532. package/dist/esm/validators/AllCheckedValidatorArray.d.ts +0 -7
  533. package/dist/esm/validators/AllCheckedValidatorArray.d.ts.map +0 -1
  534. package/dist/esm/validators/AllUnCheckedValidatorArray.d.ts +0 -7
  535. package/dist/esm/validators/AllUnCheckedValidatorArray.d.ts.map +0 -1
  536. package/dist/esm/validators/CheckedValidator.d.ts +0 -6
  537. package/dist/esm/validators/CheckedValidator.d.ts.map +0 -1
  538. package/dist/esm/validators/CountEqualsCheckedValidatorArray.d.ts +0 -8
  539. package/dist/esm/validators/CountEqualsCheckedValidatorArray.d.ts.map +0 -1
  540. package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.d.ts +0 -8
  541. package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.d.ts.map +0 -1
  542. package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.d.ts +0 -8
  543. package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.d.ts.map +0 -1
  544. package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts +0 -8
  545. package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts.map +0 -1
  546. package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts +0 -8
  547. package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts.map +0 -1
  548. package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.d.ts +0 -8
  549. package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.d.ts.map +0 -1
  550. package/dist/esm/validators/CountLessThanCheckedValidatorArray.d.ts +0 -8
  551. package/dist/esm/validators/CountLessThanCheckedValidatorArray.d.ts.map +0 -1
  552. package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.d.ts +0 -8
  553. package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.d.ts.map +0 -1
  554. package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts +0 -8
  555. package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts.map +0 -1
  556. package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.d.ts +0 -8
  557. package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.d.ts.map +0 -1
  558. package/dist/esm/validators/CountUnCheckedValidatorArray.d.ts +0 -8
  559. package/dist/esm/validators/CountUnCheckedValidatorArray.d.ts.map +0 -1
  560. package/dist/esm/validators/EmptyValidator.d.ts +0 -6
  561. package/dist/esm/validators/EmptyValidator.d.ts.map +0 -1
  562. package/dist/esm/validators/ExcludeCheckedValidatorArray.d.ts +0 -9
  563. package/dist/esm/validators/ExcludeCheckedValidatorArray.d.ts.map +0 -1
  564. package/dist/esm/validators/FormValidator.d.ts +0 -8
  565. package/dist/esm/validators/FormValidator.d.ts.map +0 -1
  566. package/dist/esm/validators/IncludeCheckedValidatorArray.d.ts +0 -9
  567. package/dist/esm/validators/IncludeCheckedValidatorArray.d.ts.map +0 -1
  568. package/dist/esm/validators/MultipleValidator.d.ts +0 -9
  569. package/dist/esm/validators/MultipleValidator.d.ts.map +0 -1
  570. package/dist/esm/validators/NonPassValidator.d.ts +0 -6
  571. package/dist/esm/validators/NonPassValidator.d.ts.map +0 -1
  572. package/dist/esm/validators/NotEmptyValidator.d.ts +0 -6
  573. package/dist/esm/validators/NotEmptyValidator.d.ts.map +0 -1
  574. package/dist/esm/validators/NotRegExpTestValidator.d.ts +0 -7
  575. package/dist/esm/validators/NotRegExpTestValidator.d.ts.map +0 -1
  576. package/dist/esm/validators/PassValidator.d.ts +0 -6
  577. package/dist/esm/validators/PassValidator.d.ts.map +0 -1
  578. package/dist/esm/validators/RegExpTestValidator.d.ts +0 -7
  579. package/dist/esm/validators/RegExpTestValidator.d.ts.map +0 -1
  580. package/dist/esm/validators/RequiredValidator.d.ts +0 -6
  581. package/dist/esm/validators/RequiredValidator.d.ts.map +0 -1
  582. package/dist/esm/validators/UnCheckedValidator.d.ts +0 -6
  583. package/dist/esm/validators/UnCheckedValidator.d.ts.map +0 -1
  584. package/dist/esm/validators/ValidMultipleValidator.d.ts +0 -10
  585. package/dist/esm/validators/ValidMultipleValidator.d.ts.map +0 -1
  586. package/dist/esm/validators/ValidValidator.d.ts +0 -7
  587. package/dist/esm/validators/ValidValidator.d.ts.map +0 -1
  588. package/dist/esm/validators/ValidValidatorArray.d.ts +0 -8
  589. package/dist/esm/validators/ValidValidatorArray.d.ts.map +0 -1
  590. package/dist/esm/validators/Validator.d.ts +0 -58
  591. package/dist/esm/validators/Validator.d.ts.map +0 -1
  592. package/dist/esm/validators/ValidatorArray.d.ts +0 -18
  593. package/dist/esm/validators/ValidatorArray.d.ts.map +0 -1
  594. package/dist/esm/validators/ValueEqualsValidator.d.ts +0 -7
  595. package/dist/esm/validators/ValueEqualsValidator.d.ts.map +0 -1
  596. package/dist/esm/validators/ValueNotEqualsValidator.d.ts +0 -7
  597. package/dist/esm/validators/ValueNotEqualsValidator.d.ts.map +0 -1
  598. package/dist/esm/validators/index.d.ts.map +0 -1
  599. /package/dist/{cjs → types}/DomRender.d.ts +0 -0
  600. /package/dist/{cjs → types}/DomRender.d.ts.map +0 -0
  601. /package/dist/{cjs → types}/components/ComponentRouterBase.d.ts +0 -0
  602. /package/dist/{cjs → types}/components/ComponentRouterBase.d.ts.map +0 -0
  603. /package/dist/{cjs → types}/components/ComponentSet.d.ts +0 -0
  604. /package/dist/{cjs → types}/components/ComponentSet.d.ts.map +0 -0
  605. /package/dist/{cjs → types}/components/a/A.d.ts.map +0 -0
  606. /package/dist/{cjs → types}/components/a/index.d.ts +0 -0
  607. /package/dist/{cjs → types}/components/a/index.d.ts.map +0 -0
  608. /package/dist/{cjs → types}/components/appender/Appender.d.ts.map +0 -0
  609. /package/dist/{cjs → types}/components/appender/index.d.ts +0 -0
  610. /package/dist/{cjs → types}/components/appender/index.d.ts.map +0 -0
  611. /package/dist/{cjs → types}/components/checkbox/CheckBox.d.ts.map +0 -0
  612. /package/dist/{cjs → types}/components/checkbox/index.d.ts +0 -0
  613. /package/dist/{cjs → types}/components/checkbox/index.d.ts.map +0 -0
  614. /package/dist/{cjs → types}/components/choose/Choose.d.ts.map +0 -0
  615. /package/dist/{cjs → types}/components/choose/index.d.ts +0 -0
  616. /package/dist/{cjs → types}/components/choose/index.d.ts.map +0 -0
  617. /package/dist/{cjs → types}/components/details/Details.d.ts.map +0 -0
  618. /package/dist/{cjs → types}/components/details/index.d.ts +0 -0
  619. /package/dist/{cjs → types}/components/details/index.d.ts.map +0 -0
  620. /package/dist/{cjs → types}/components/dialog/Dialog.d.ts +0 -0
  621. /package/dist/{cjs → types}/components/dialog/Dialog.d.ts.map +0 -0
  622. /package/dist/{cjs → types}/components/dialog/example/ImageEditorDialog.d.ts +0 -0
  623. /package/dist/{cjs → types}/components/dialog/example/ImageEditorDialog.d.ts.map +0 -0
  624. /package/dist/{cjs → types}/components/forOf/ForOf.d.ts.map +0 -0
  625. /package/dist/{cjs → types}/components/forOf/index.d.ts +0 -0
  626. /package/dist/{cjs → types}/components/forOf/index.d.ts.map +0 -0
  627. /package/dist/{cjs → types}/components/if/If.d.ts.map +0 -0
  628. /package/dist/{cjs → types}/components/if/index.d.ts +0 -0
  629. /package/dist/{cjs → types}/components/if/index.d.ts.map +0 -0
  630. /package/dist/{cjs → types}/components/index.d.ts.map +0 -0
  631. /package/dist/{cjs → types}/components/input/Input.d.ts.map +0 -0
  632. /package/dist/{cjs → types}/components/input/index.d.ts +0 -0
  633. /package/dist/{cjs → types}/components/input/index.d.ts.map +0 -0
  634. /package/dist/{cjs → types}/components/promise/PromiseSwitch.d.ts.map +0 -0
  635. /package/dist/{cjs → types}/components/promise/index.d.ts +0 -0
  636. /package/dist/{cjs → types}/components/promise/index.d.ts.map +0 -0
  637. /package/dist/{cjs → types}/components/radio/Radio.d.ts.map +0 -0
  638. /package/dist/{cjs → types}/components/radio/index.d.ts +0 -0
  639. /package/dist/{cjs → types}/components/radio/index.d.ts.map +0 -0
  640. /package/dist/{cjs → types}/components/router/Route.d.ts.map +0 -0
  641. /package/dist/{cjs → types}/components/router/RouterOutlet.d.ts.map +0 -0
  642. /package/dist/{cjs → types}/components/router/index.d.ts +0 -0
  643. /package/dist/{cjs → types}/components/router/index.d.ts.map +0 -0
  644. /package/dist/{cjs → types}/components/select/Select.d.ts.map +0 -0
  645. /package/dist/{cjs → types}/components/select/index.d.ts +0 -0
  646. /package/dist/{cjs → types}/components/select/index.d.ts.map +0 -0
  647. /package/dist/{cjs → types}/components/this/This.d.ts.map +0 -0
  648. /package/dist/{cjs → types}/components/this/index.d.ts +0 -0
  649. /package/dist/{cjs → types}/components/this/index.d.ts.map +0 -0
  650. /package/dist/{cjs → types}/components/timer/Timer.d.ts.map +0 -0
  651. /package/dist/{cjs → types}/components/timer/index.d.ts +0 -0
  652. /package/dist/{cjs → types}/components/timer/index.d.ts.map +0 -0
  653. /package/dist/{cjs → types}/configs/DomRenderConfig.d.ts +0 -0
  654. /package/dist/{cjs → types}/configs/DomRenderConfig.d.ts.map +0 -0
  655. /package/dist/{cjs → types}/configs/TargetAttr.d.ts +0 -0
  656. /package/dist/{cjs → types}/configs/TargetAttr.d.ts.map +0 -0
  657. /package/dist/{cjs → types}/configs/TargetElement.d.ts +0 -0
  658. /package/dist/{cjs → types}/configs/TargetElement.d.ts.map +0 -0
  659. /package/dist/{cjs → types}/configs/index.d.ts +0 -0
  660. /package/dist/{cjs → types}/configs/index.d.ts.map +0 -0
  661. /package/dist/{cjs → types}/decorators/index.d.ts +0 -0
  662. /package/dist/{cjs → types}/decorators/index.d.ts.map +0 -0
  663. /package/dist/{cjs → types}/events/EventManager.d.ts +0 -0
  664. /package/dist/{cjs → types}/events/EventManager.d.ts.map +0 -0
  665. /package/dist/{cjs → types}/events/index.d.ts +0 -0
  666. /package/dist/{cjs → types}/events/index.d.ts.map +0 -0
  667. /package/dist/{cjs → types}/iterators/Range.d.ts +0 -0
  668. /package/dist/{cjs → types}/iterators/Range.d.ts.map +0 -0
  669. /package/dist/{cjs → types}/iterators/index.d.ts +0 -0
  670. /package/dist/{cjs → types}/iterators/index.d.ts.map +0 -0
  671. /package/dist/{cjs → types}/lifecycle/OnBeforeReturnGet.d.ts +0 -0
  672. /package/dist/{cjs → types}/lifecycle/OnBeforeReturnGet.d.ts.map +0 -0
  673. /package/dist/{cjs → types}/lifecycle/OnBeforeReturnSet.d.ts +0 -0
  674. /package/dist/{cjs → types}/lifecycle/OnBeforeReturnSet.d.ts.map +0 -0
  675. /package/dist/{cjs → types}/lifecycle/OnChangeAttrRender.d.ts +0 -0
  676. /package/dist/{cjs → types}/lifecycle/OnChangeAttrRender.d.ts.map +0 -0
  677. /package/dist/{cjs → types}/lifecycle/OnChildRenderedByProperty.d.ts +0 -0
  678. /package/dist/{cjs → types}/lifecycle/OnChildRenderedByProperty.d.ts.map +0 -0
  679. /package/dist/{cjs → types}/lifecycle/OnCreateRender.d.ts +0 -0
  680. /package/dist/{cjs → types}/lifecycle/OnCreateRender.d.ts.map +0 -0
  681. /package/dist/{cjs → types}/lifecycle/OnCreateRenderData.d.ts +0 -0
  682. /package/dist/{cjs → types}/lifecycle/OnCreateRenderData.d.ts.map +0 -0
  683. /package/dist/{cjs → types}/lifecycle/OnCreateRendered.d.ts +0 -0
  684. /package/dist/{cjs → types}/lifecycle/OnCreateRendered.d.ts.map +0 -0
  685. /package/dist/{cjs → types}/lifecycle/OnCreatedThisChild.d.ts +0 -0
  686. /package/dist/{cjs → types}/lifecycle/OnCreatedThisChild.d.ts.map +0 -0
  687. /package/dist/{cjs → types}/lifecycle/OnDestroyRender.d.ts +0 -0
  688. /package/dist/{cjs → types}/lifecycle/OnDestroyRender.d.ts.map +0 -0
  689. /package/dist/{cjs → types}/lifecycle/OnInitRender.d.ts +0 -0
  690. /package/dist/{cjs → types}/lifecycle/OnInitRender.d.ts.map +0 -0
  691. /package/dist/{cjs → types}/lifecycle/OnProxyDomRender.d.ts +0 -0
  692. /package/dist/{cjs → types}/lifecycle/OnProxyDomRender.d.ts.map +0 -0
  693. /package/dist/{cjs → types}/lifecycle/dr-this/OnDrThisBind.d.ts +0 -0
  694. /package/dist/{cjs → types}/lifecycle/dr-this/OnDrThisBind.d.ts.map +0 -0
  695. /package/dist/{cjs → types}/lifecycle/dr-this/OnDrThisUnBind.d.ts +0 -0
  696. /package/dist/{cjs → types}/lifecycle/dr-this/OnDrThisUnBind.d.ts.map +0 -0
  697. /package/dist/{cjs → types}/lifecycle/dr-this/index.d.ts +0 -0
  698. /package/dist/{cjs → types}/lifecycle/dr-this/index.d.ts.map +0 -0
  699. /package/dist/{cjs → types}/lifecycle/index.d.ts +0 -0
  700. /package/dist/{cjs → types}/lifecycle/index.d.ts.map +0 -0
  701. /package/dist/{cjs → types}/messenger/DefaultMessenger.d.ts +0 -0
  702. /package/dist/{cjs → types}/messenger/DefaultMessenger.d.ts.map +0 -0
  703. /package/dist/{cjs → types}/messenger/Messenger.d.ts +0 -0
  704. /package/dist/{cjs → types}/messenger/Messenger.d.ts.map +0 -0
  705. /package/dist/{cjs → types}/messenger/index.d.ts +0 -0
  706. /package/dist/{cjs → types}/messenger/index.d.ts.map +0 -0
  707. /package/dist/{cjs → types}/operators/Appender.d.ts +0 -0
  708. /package/dist/{cjs → types}/operators/Appender.d.ts.map +0 -0
  709. /package/dist/{cjs → types}/operators/Dr.d.ts +0 -0
  710. /package/dist/{cjs → types}/operators/Dr.d.ts.map +0 -0
  711. /package/dist/{cjs → types}/operators/DrAppender.d.ts +0 -0
  712. /package/dist/{cjs → types}/operators/DrAppender.d.ts.map +0 -0
  713. /package/dist/{cjs → types}/operators/DrFor.d.ts +0 -0
  714. /package/dist/{cjs → types}/operators/DrFor.d.ts.map +0 -0
  715. /package/dist/{cjs → types}/operators/DrForOf.d.ts +0 -0
  716. /package/dist/{cjs → types}/operators/DrForOf.d.ts.map +0 -0
  717. /package/dist/{cjs → types}/operators/DrForm.d.ts +0 -0
  718. /package/dist/{cjs → types}/operators/DrForm.d.ts.map +0 -0
  719. /package/dist/{cjs → types}/operators/DrIf.d.ts +0 -0
  720. /package/dist/{cjs → types}/operators/DrIf.d.ts.map +0 -0
  721. /package/dist/{cjs → types}/operators/DrInnerHTML.d.ts +0 -0
  722. /package/dist/{cjs → types}/operators/DrInnerHTML.d.ts.map +0 -0
  723. /package/dist/{cjs → types}/operators/DrInnerText.d.ts +0 -0
  724. /package/dist/{cjs → types}/operators/DrInnerText.d.ts.map +0 -0
  725. /package/dist/{cjs → types}/operators/DrPre.d.ts +0 -0
  726. /package/dist/{cjs → types}/operators/DrPre.d.ts.map +0 -0
  727. /package/dist/{cjs → types}/operators/DrRepeat.d.ts +0 -0
  728. /package/dist/{cjs → types}/operators/DrRepeat.d.ts.map +0 -0
  729. /package/dist/{cjs → types}/operators/DrStripElement.d.ts +0 -0
  730. /package/dist/{cjs → types}/operators/DrStripElement.d.ts.map +0 -0
  731. /package/dist/{cjs → types}/operators/DrTargetAttr.d.ts +0 -0
  732. /package/dist/{cjs → types}/operators/DrTargetAttr.d.ts.map +0 -0
  733. /package/dist/{cjs → types}/operators/DrTargetElement.d.ts +0 -0
  734. /package/dist/{cjs → types}/operators/DrTargetElement.d.ts.map +0 -0
  735. /package/dist/{cjs → types}/operators/DrTargetElementIsElement.d.ts +0 -0
  736. /package/dist/{cjs → types}/operators/DrTargetElementIsElement.d.ts.map +0 -0
  737. /package/dist/{cjs → types}/operators/DrThis.d.ts +0 -0
  738. /package/dist/{cjs → types}/operators/DrThis.d.ts.map +0 -0
  739. /package/dist/{cjs → types}/operators/DrThisProperty.d.ts +0 -0
  740. /package/dist/{cjs → types}/operators/DrThisProperty.d.ts.map +0 -0
  741. /package/dist/{cjs → types}/operators/OperatorExecuter.d.ts +0 -0
  742. /package/dist/{cjs → types}/operators/OperatorExecuter.d.ts.map +0 -0
  743. /package/dist/{cjs → types}/operators/OperatorExecuterAttrRequire.d.ts +0 -0
  744. /package/dist/{cjs → types}/operators/OperatorExecuterAttrRequire.d.ts.map +0 -0
  745. /package/dist/{cjs → types}/operators/index.d.ts +0 -0
  746. /package/dist/{cjs → types}/operators/index.d.ts.map +0 -0
  747. /package/dist/{cjs → types}/rawsets/AttrInitCallBack.d.ts +0 -0
  748. /package/dist/{cjs → types}/rawsets/AttrInitCallBack.d.ts.map +0 -0
  749. /package/dist/{cjs → types}/rawsets/Attrs.d.ts +0 -0
  750. /package/dist/{cjs → types}/rawsets/Attrs.d.ts.map +0 -0
  751. /package/dist/{cjs → types}/rawsets/CreatorMetaData.d.ts +0 -0
  752. /package/dist/{cjs → types}/rawsets/CreatorMetaData.d.ts.map +0 -0
  753. /package/dist/{cjs → types}/rawsets/DestroyOptionType.d.ts +0 -0
  754. /package/dist/{cjs → types}/rawsets/DestroyOptionType.d.ts.map +0 -0
  755. /package/dist/{cjs → types}/rawsets/ElementInitCallBack.d.ts +0 -0
  756. /package/dist/{cjs → types}/rawsets/ElementInitCallBack.d.ts.map +0 -0
  757. /package/dist/{cjs → types}/rawsets/RawSet.d.ts +0 -0
  758. /package/dist/{cjs → types}/rawsets/RawSet.d.ts.map +0 -0
  759. /package/dist/{cjs → types}/rawsets/RawSetOperatorType.d.ts +0 -0
  760. /package/dist/{cjs → types}/rawsets/RawSetOperatorType.d.ts.map +0 -0
  761. /package/dist/{cjs → types}/rawsets/RawSetType.d.ts +0 -0
  762. /package/dist/{cjs → types}/rawsets/RawSetType.d.ts.map +0 -0
  763. /package/dist/{cjs → types}/rawsets/Render.d.ts +0 -0
  764. /package/dist/{cjs → types}/rawsets/Render.d.ts.map +0 -0
  765. /package/dist/{cjs → types}/rawsets/index.d.ts +0 -0
  766. /package/dist/{cjs → types}/rawsets/index.d.ts.map +0 -0
  767. /package/dist/{cjs → types}/routers/HashRouter.d.ts +0 -0
  768. /package/dist/{cjs → types}/routers/HashRouter.d.ts.map +0 -0
  769. /package/dist/{cjs → types}/routers/PathRouter.d.ts +0 -0
  770. /package/dist/{cjs → types}/routers/Router.d.ts +0 -0
  771. /package/dist/{cjs → types}/routers/Router.d.ts.map +0 -0
  772. /package/dist/{cjs → types}/routers/index.d.ts +0 -0
  773. /package/dist/{cjs → types}/routers/index.d.ts.map +0 -0
  774. /package/dist/{cjs → types}/types/Types.d.ts +0 -0
  775. /package/dist/{cjs → types}/types/Types.d.ts.map +0 -0
  776. /package/dist/{cjs → types}/types/index.d.ts +0 -0
  777. /package/dist/{cjs → types}/types/index.d.ts.map +0 -0
  778. /package/dist/{cjs → types}/types/type.d.ts +0 -0
  779. /package/dist/{cjs → types}/types/type.d.ts.map +0 -0
  780. /package/dist/{cjs → types}/validators/AllCheckedValidatorArray.d.ts +0 -0
  781. /package/dist/{cjs → types}/validators/AllCheckedValidatorArray.d.ts.map +0 -0
  782. /package/dist/{cjs → types}/validators/AllUnCheckedValidatorArray.d.ts +0 -0
  783. /package/dist/{cjs → types}/validators/AllUnCheckedValidatorArray.d.ts.map +0 -0
  784. /package/dist/{cjs → types}/validators/CheckedValidator.d.ts +0 -0
  785. /package/dist/{cjs → types}/validators/CheckedValidator.d.ts.map +0 -0
  786. /package/dist/{cjs → types}/validators/CountEqualsCheckedValidatorArray.d.ts +0 -0
  787. /package/dist/{cjs → types}/validators/CountEqualsCheckedValidatorArray.d.ts.map +0 -0
  788. /package/dist/{cjs → types}/validators/CountEqualsUnCheckedValidatorArray.d.ts +0 -0
  789. /package/dist/{cjs → types}/validators/CountEqualsUnCheckedValidatorArray.d.ts.map +0 -0
  790. /package/dist/{cjs → types}/validators/CountGreaterThanCheckedValidatorArray.d.ts +0 -0
  791. /package/dist/{cjs → types}/validators/CountGreaterThanCheckedValidatorArray.d.ts.map +0 -0
  792. /package/dist/{cjs → types}/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts +0 -0
  793. /package/dist/{cjs → types}/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts.map +0 -0
  794. /package/dist/{cjs → types}/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts +0 -0
  795. /package/dist/{cjs → types}/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts.map +0 -0
  796. /package/dist/{cjs → types}/validators/CountGreaterThanUnCheckedValidatorArray.d.ts +0 -0
  797. /package/dist/{cjs → types}/validators/CountGreaterThanUnCheckedValidatorArray.d.ts.map +0 -0
  798. /package/dist/{cjs → types}/validators/CountLessThanCheckedValidatorArray.d.ts +0 -0
  799. /package/dist/{cjs → types}/validators/CountLessThanCheckedValidatorArray.d.ts.map +0 -0
  800. /package/dist/{cjs → types}/validators/CountLessThanEqualsCheckedValidatorArray.d.ts +0 -0
  801. /package/dist/{cjs → types}/validators/CountLessThanEqualsCheckedValidatorArray.d.ts.map +0 -0
  802. /package/dist/{cjs → types}/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts +0 -0
  803. /package/dist/{cjs → types}/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts.map +0 -0
  804. /package/dist/{cjs → types}/validators/CountLessThanUnCheckedValidatorArray.d.ts +0 -0
  805. /package/dist/{cjs → types}/validators/CountLessThanUnCheckedValidatorArray.d.ts.map +0 -0
  806. /package/dist/{cjs → types}/validators/CountUnCheckedValidatorArray.d.ts +0 -0
  807. /package/dist/{cjs → types}/validators/CountUnCheckedValidatorArray.d.ts.map +0 -0
  808. /package/dist/{cjs → types}/validators/EmptyValidator.d.ts +0 -0
  809. /package/dist/{cjs → types}/validators/EmptyValidator.d.ts.map +0 -0
  810. /package/dist/{cjs → types}/validators/ExcludeCheckedValidatorArray.d.ts +0 -0
  811. /package/dist/{cjs → types}/validators/ExcludeCheckedValidatorArray.d.ts.map +0 -0
  812. /package/dist/{cjs → types}/validators/FormValidator.d.ts +0 -0
  813. /package/dist/{cjs → types}/validators/FormValidator.d.ts.map +0 -0
  814. /package/dist/{cjs → types}/validators/IncludeCheckedValidatorArray.d.ts +0 -0
  815. /package/dist/{cjs → types}/validators/IncludeCheckedValidatorArray.d.ts.map +0 -0
  816. /package/dist/{cjs → types}/validators/MultipleValidator.d.ts +0 -0
  817. /package/dist/{cjs → types}/validators/MultipleValidator.d.ts.map +0 -0
  818. /package/dist/{cjs → types}/validators/NonPassValidator.d.ts +0 -0
  819. /package/dist/{cjs → types}/validators/NonPassValidator.d.ts.map +0 -0
  820. /package/dist/{cjs → types}/validators/NotEmptyValidator.d.ts +0 -0
  821. /package/dist/{cjs → types}/validators/NotEmptyValidator.d.ts.map +0 -0
  822. /package/dist/{cjs → types}/validators/NotRegExpTestValidator.d.ts +0 -0
  823. /package/dist/{cjs → types}/validators/NotRegExpTestValidator.d.ts.map +0 -0
  824. /package/dist/{cjs → types}/validators/PassValidator.d.ts +0 -0
  825. /package/dist/{cjs → types}/validators/PassValidator.d.ts.map +0 -0
  826. /package/dist/{cjs → types}/validators/RegExpTestValidator.d.ts +0 -0
  827. /package/dist/{cjs → types}/validators/RegExpTestValidator.d.ts.map +0 -0
  828. /package/dist/{cjs → types}/validators/RequiredValidator.d.ts +0 -0
  829. /package/dist/{cjs → types}/validators/RequiredValidator.d.ts.map +0 -0
  830. /package/dist/{cjs → types}/validators/UnCheckedValidator.d.ts +0 -0
  831. /package/dist/{cjs → types}/validators/UnCheckedValidator.d.ts.map +0 -0
  832. /package/dist/{cjs → types}/validators/ValidMultipleValidator.d.ts +0 -0
  833. /package/dist/{cjs → types}/validators/ValidMultipleValidator.d.ts.map +0 -0
  834. /package/dist/{cjs → types}/validators/ValidValidator.d.ts +0 -0
  835. /package/dist/{cjs → types}/validators/ValidValidator.d.ts.map +0 -0
  836. /package/dist/{cjs → types}/validators/ValidValidatorArray.d.ts +0 -0
  837. /package/dist/{cjs → types}/validators/ValidValidatorArray.d.ts.map +0 -0
  838. /package/dist/{cjs → types}/validators/Validator.d.ts +0 -0
  839. /package/dist/{cjs → types}/validators/Validator.d.ts.map +0 -0
  840. /package/dist/{cjs → types}/validators/ValidatorArray.d.ts +0 -0
  841. /package/dist/{cjs → types}/validators/ValidatorArray.d.ts.map +0 -0
  842. /package/dist/{cjs → types}/validators/ValueEqualsValidator.d.ts +0 -0
  843. /package/dist/{cjs → types}/validators/ValueEqualsValidator.d.ts.map +0 -0
  844. /package/dist/{cjs → types}/validators/ValueNotEqualsValidator.d.ts +0 -0
  845. /package/dist/{cjs → types}/validators/ValueNotEqualsValidator.d.ts.map +0 -0
  846. /package/dist/{cjs → types}/validators/index.d.ts +0 -0
  847. /package/dist/{cjs → types}/validators/index.d.ts.map +0 -0
@@ -0,0 +1,729 @@
1
+ import { DomRenderConfig } from '../configs/DomRenderConfig';
2
+ import { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';
3
+ import { ElementUtils } from '@dooboostore/core-web/element/ElementUtils';
4
+ import { Range } from '../iterators/Range';
5
+ import { DomRenderFinalProxy } from '../types/Types';
6
+ import { getDomRenderConfig } from '../DomRenderProxy';
7
+ import { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';
8
+
9
+ type HandlerInfo = {
10
+ element: HTMLElement;
11
+ attr: string;
12
+ type: 'link' | 'event' | 'event-param';
13
+ priority: number;
14
+ property?: string; // for link type
15
+ };
16
+
17
+ export class EventManager {
18
+ public static readonly attrPrefix = 'dr-';
19
+ public readonly eventNames = [
20
+ 'click', 'mousedown', 'mouseup', 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mouseenter', 'mouseleave', 'contextmenu',
21
+ 'keyup', 'keydown', 'keypress', 'toggle',
22
+ 'change', 'input', 'submit', 'resize', 'focus', 'blur',
23
+ 'close', 'cancel'
24
+ ];
25
+
26
+ private readonly delegatableEventMap: { [key: string]: string } = {
27
+ mouseleave: 'mouseout',
28
+ mouseenter: 'mouseover',
29
+ focus: 'focusin',
30
+ blur: 'focusout',
31
+ };
32
+ private readonly directAttachEvents = new Set(['close']);
33
+
34
+ public static ownerVariablePathAttrName = EventManager.attrPrefix + 'owner-variable-path';
35
+
36
+ public static readonly eventParam = EventManager.attrPrefix + 'event';
37
+ public static readonly onInitAttrName = EventManager.attrPrefix + 'on-init';
38
+ public static readonly valueAttrName = EventManager.attrPrefix + 'value';
39
+ public static readonly checkedAttrName = EventManager.attrPrefix + 'checked';
40
+ public static readonly selectedAttrName = EventManager.attrPrefix + 'selected';
41
+ public static readonly readonlyAttrName = EventManager.attrPrefix + 'readonly';
42
+ public static readonly disabledAttrName = EventManager.attrPrefix + 'disabled';
43
+ public static readonly hiddenAttrName = EventManager.attrPrefix + 'hidden';
44
+ public static readonly requiredAttrName = EventManager.attrPrefix + 'required';
45
+ public static readonly openAttrName = EventManager.attrPrefix + 'open';
46
+
47
+ // link는 쓰지 않는걸 추천한다 라이프 사이클 꼬인다 다른 프레임워크에서도 양방향은 지양 한다
48
+ public static linkAttrs = [
49
+ {name: EventManager.attrPrefix + 'value-link', property: 'value', event: 'input'},
50
+ {name: EventManager.attrPrefix + 'hidden-link', property: 'value', event: 'input'},
51
+ {name: EventManager.attrPrefix + 'required-link', property: 'value', event: 'input'},
52
+ {name: EventManager.attrPrefix + 'checked-link', property: 'checked', event: 'change'},
53
+ {name: EventManager.attrPrefix + 'open-link', property: 'open', event: 'toggle'},
54
+ ]
55
+ // @ts-ignore 합성이벤트(Synthetic) 처리하면서 의미가 없어졌다
56
+ public static readonly linkTargetMapAttrName = EventManager.attrPrefix + 'link-variables';
57
+
58
+ public static readonly onRenderedInitAttrName = EventManager.attrPrefix + 'on-rendered-init';
59
+
60
+ public static readonly attrAttrName = EventManager.attrPrefix + 'attr';
61
+ public static readonly normalAttrMapAttrName = EventManager.attrPrefix + 'normal-attr-map';
62
+ public static readonly styleAttrName = EventManager.attrPrefix + 'style';
63
+ public static readonly classAttrName = EventManager.attrPrefix + 'class';
64
+
65
+ public static readonly VALUE_VARNAME = '$value';
66
+ public static readonly SCRIPTS_VARNAME = '$scripts';
67
+ public static readonly FAG_VARNAME = '$fag';
68
+ public static readonly RAWSET_VARNAME = '$rawSet';
69
+ public static readonly RENDER_VARNAME = '$render';
70
+ public static readonly NEAR_THIS_VARNAME = '$nearThis';
71
+ public static readonly PARENT_THIS_VARNAME = '$parentThis';
72
+ public static readonly ROOT_OBJECT_VARNAME = '$rootObject';
73
+ public static readonly SCRIPT_UTILS_VARNAME = '$scriptUtils';
74
+ public static readonly RANGE_VARNAME = '$range';
75
+ public static readonly ROUTER_VARNAME = '$router';
76
+ public static readonly INNER_HTML_VARNAME = '$innerHTML';
77
+ public static readonly ELEMENT_VARNAME = '$element';
78
+ public static readonly TARGET_VARNAME = '$target';
79
+ public static readonly EVENT_VARNAME = '$event';
80
+ public static readonly COMPONENT_VARNAME = '$component';
81
+ public static readonly INNERHTML_VARNAME = '$innerHTML';
82
+ public static readonly ATTRIBUTE_VARNAME = '$attribute';
83
+ public static readonly CREATOR_META_DATA_VARNAME = '$creatorMetaData';
84
+ public static readonly PARENT_THIS_PATH_VARNAME = '$parentPath';
85
+ public static readonly CURRENT_THIS_VARNAME = '$currentThis';
86
+ public static readonly CURRENT_THIS_PATH_VARNAME = '$currentThisPath';
87
+ public static readonly NEAR_THIS_PATH_VARNAME = '$nearThisPath';
88
+ public static readonly VARNAMES = [EventManager.SCRIPTS_VARNAME, EventManager.FAG_VARNAME, EventManager.RAWSET_VARNAME, EventManager.RANGE_VARNAME, EventManager.ROUTER_VARNAME, EventManager.ELEMENT_VARNAME, EventManager.TARGET_VARNAME, EventManager.EVENT_VARNAME, EventManager.COMPONENT_VARNAME, EventManager.INNERHTML_VARNAME, EventManager.ATTRIBUTE_VARNAME, EventManager.ATTRIBUTE_VARNAME, EventManager.CREATOR_META_DATA_VARNAME, EventManager.PARENT_THIS_PATH_VARNAME, EventManager.PARENT_THIS_VARNAME];
89
+
90
+ public static readonly WINDOW_EVENT_POPSTATE = 'popstate';
91
+ public static readonly WINDOW_EVENT_RESIZE = 'resize';
92
+ public static readonly WINDOW_EVENTS = [EventManager.WINDOW_EVENT_POPSTATE, EventManager.WINDOW_EVENT_RESIZE];
93
+ public static readonly attrNames = [
94
+ EventManager.valueAttrName,
95
+ EventManager.checkedAttrName,
96
+ EventManager.selectedAttrName,
97
+ EventManager.readonlyAttrName,
98
+ EventManager.disabledAttrName,
99
+ EventManager.hiddenAttrName,
100
+ EventManager.requiredAttrName,
101
+ EventManager.openAttrName,
102
+ EventManager.attrAttrName,
103
+ EventManager.normalAttrMapAttrName,
104
+ EventManager.styleAttrName,
105
+ EventManager.classAttrName,
106
+ EventManager.attrPrefix + 'window-event-' + EventManager.WINDOW_EVENT_POPSTATE,
107
+ EventManager.attrPrefix + 'window-event-' + EventManager.WINDOW_EVENT_RESIZE,
108
+ EventManager.onInitAttrName,
109
+ ...EventManager.linkAttrs.map(it => it.name),
110
+ this.eventParam
111
+ ];
112
+ readonly bindScript = `
113
+ const ${EventManager.VALUE_VARNAME} = this.__render.value;
114
+ const ${EventManager.SCRIPTS_VARNAME} = this.__render.scripts;
115
+ const ${EventManager.RANGE_VARNAME} = this.__render.range;
116
+ const ${EventManager.ROUTER_VARNAME} = this.__render.router;
117
+ const ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute;
118
+ const ${EventManager.ELEMENT_VARNAME} = this.__render.element;
119
+ const ${EventManager.COMPONENT_VARNAME} = this.__render.element.component;
120
+ const ${EventManager.TARGET_VARNAME} = this.__render.target;
121
+ const ${EventManager.EVENT_VARNAME} = this.__render.event;
122
+ `;
123
+
124
+ constructor(private window: Window) {
125
+ this.eventNames.forEach(it => {
126
+ EventManager.attrNames.push(EventManager.attrPrefix + 'event-' + it);
127
+ });
128
+ EventManager.attrNames.push(EventManager.onRenderedInitAttrName);
129
+
130
+ if (typeof window !== 'undefined') {
131
+ EventManager.WINDOW_EVENTS.forEach(eventName => {
132
+ window?.addEventListener(eventName, (event) => {
133
+ const targetAttr = `dr-window-event-${eventName}`;
134
+ document.querySelectorAll(`[${targetAttr}]`).forEach(it => {
135
+ const script = it.getAttribute(targetAttr);
136
+ if (script) {
137
+ const obj = this.findComponentInstance(it as HTMLElement);
138
+ const config = getDomRenderConfig(obj);
139
+ ScriptUtils.evaluate(`${this.bindScript} ${script} `, this.createExecutionContext(event, it as HTMLElement, obj, config));
140
+ }
141
+ });
142
+ });
143
+ });
144
+
145
+ const rootElement = this.window.document;
146
+ const listeningEvents = new Set<string>();
147
+ this.eventNames.forEach(eventName => {
148
+ if (this.directAttachEvents.has(eventName)) {
149
+ return;
150
+ }
151
+ const delegatedEventName = this.delegatableEventMap[eventName] || eventName;
152
+
153
+ if (listeningEvents.has(delegatedEventName)) {
154
+ return;
155
+ }
156
+ listeningEvents.add(delegatedEventName);
157
+ rootElement.addEventListener(delegatedEventName, this.handleEvent.bind(this), true);
158
+ });
159
+ }
160
+ }
161
+
162
+ private handleEvent(event: Event) {
163
+ const handlers = this.collectHandlers(event);
164
+ // console.log('handlers', handlers, event);
165
+ for (const handler of handlers) {
166
+ if (event.cancelBubble) {
167
+ break;
168
+ }
169
+
170
+ const componentInstance = this.findComponentInstance(handler.element);
171
+ if (!componentInstance) {
172
+ continue;
173
+ }
174
+ // console.log('executeHandler', event,handler,componentInstance)
175
+ this.executeHandler(event, handler, componentInstance);
176
+ }
177
+ }
178
+
179
+ private collectHandlers(event: Event): HandlerInfo[] {
180
+ const handlers: HandlerInfo[] = [];
181
+ const root = this.window.document;
182
+ if (!root) return handlers;
183
+
184
+ const initialTarget = event.target as Node;
185
+ let currentTarget: HTMLElement | null = (initialTarget.nodeType === 1)
186
+ ? (initialTarget as HTMLElement)
187
+ : initialTarget.parentElement;
188
+ const collectedElements = new Set<HTMLElement>();
189
+
190
+ const eventMap: { [key: string]: string } = {
191
+ mouseout: 'mouseleave',
192
+ mouseover: 'mouseenter',
193
+ focusout: 'blur',
194
+ focusin: 'focus'
195
+ };
196
+ const mappedEventName = eventMap[event.type] || event.type;
197
+
198
+ while (currentTarget) {
199
+ if (collectedElements.has(currentTarget)) {
200
+ break;
201
+ }
202
+
203
+ // Priority 1: Link attributes
204
+ const matchingLinkAttr = EventManager.linkAttrs.find(la => la.event === mappedEventName && currentTarget?.hasAttribute(la.name));
205
+ if (matchingLinkAttr) {
206
+ handlers.push({
207
+ element: currentTarget,
208
+ attr: matchingLinkAttr.name,
209
+ type: 'link',
210
+ priority: 1,
211
+ property: matchingLinkAttr.property
212
+ });
213
+ }
214
+
215
+ // Priority 2: dr-event-* attributes
216
+ const eventAttr = `${EventManager.attrPrefix}event-${mappedEventName}`;
217
+ if (currentTarget.hasAttribute(eventAttr)) {
218
+ handlers.push({
219
+ element: currentTarget,
220
+ attr: eventAttr,
221
+ type: 'event',
222
+ priority: 2
223
+ });
224
+ }
225
+
226
+ // Priority 3: dr-event with params
227
+ const eventParamAttr = EventManager.eventParam;
228
+ if (currentTarget.hasAttribute(eventParamAttr)) {
229
+ const bindEvents = currentTarget.getAttribute(`${eventParamAttr}:bind`);
230
+ if (bindEvents && bindEvents.split(',').map(s => s.trim()).includes(mappedEventName)) {
231
+ handlers.push({
232
+ element: currentTarget,
233
+ attr: eventParamAttr,
234
+ type: 'event-param',
235
+ priority: 3
236
+ });
237
+ }
238
+ }
239
+
240
+ collectedElements.add(currentTarget);
241
+
242
+ if (currentTarget === root.documentElement) {
243
+ break;
244
+ }
245
+
246
+ currentTarget = currentTarget.parentElement;
247
+ }
248
+
249
+ return handlers.sort((a, b) => a.priority - b.priority);
250
+ }
251
+
252
+ private findComponentInstance(element: HTMLElement | null): any {
253
+ let current = element;
254
+ const root = this.window.document;
255
+ while (current) {
256
+ if ((current as any).obj) {
257
+ return (current as any).obj;
258
+ }
259
+ if (current === root.documentElement) {
260
+ break;
261
+ }
262
+ current = current.parentElement;
263
+ }
264
+ return this.window;
265
+ }
266
+
267
+ private createExecutionContext(event: Event, element: HTMLElement, componentInstance: any, config: DomRenderConfig | undefined, extraVars = {}) {
268
+ // console.log('---------->', config?.eventVariables)
269
+ return Object.assign(componentInstance, {
270
+ __render: Object.freeze({
271
+ event,
272
+ element,
273
+ target: event.target,
274
+ attribute: ElementUtils.getAttributeToObject(element),
275
+ router: config?.router,
276
+ range: Range.range,
277
+ scripts: EventManager.setBindProperty(config?.scripts, componentInstance),
278
+ ...config?.eventVariables,
279
+ ...extraVars
280
+ })
281
+ });
282
+ }
283
+
284
+ private executeHandler(event: Event, handler: HandlerInfo, componentInstance: any) {
285
+ const {element, type, attr} = handler;
286
+ const config = getDomRenderConfig(componentInstance);
287
+
288
+ switch (type) {
289
+ case 'link':
290
+ const varName = element.getAttribute(attr);
291
+ if (!varName || !handler.property) return;
292
+
293
+ if (attr.includes('leave') || attr.includes('enter') || attr.includes('focus') || attr.includes('blur')) {
294
+ const relatedTarget = (event as MouseEvent).relatedTarget as Node;
295
+ if (relatedTarget && element.contains(relatedTarget)) {
296
+ return;
297
+ }
298
+ }
299
+
300
+ const ownerVariablePath = element.getAttribute(EventManager.ownerVariablePathAttrName);
301
+ let bindObj = componentInstance;
302
+ if (ownerVariablePath) {
303
+ bindObj = ScriptUtils.evaluateReturn(ownerVariablePath, componentInstance);
304
+ }
305
+
306
+ const mapScript = element.getAttribute(`${attr}:map`);
307
+ let value = (element as any)[handler.property];
308
+
309
+ if (mapScript) {
310
+ const context = this.createExecutionContext(event, element, bindObj, config, {value});
311
+ value = ScriptUtils.evaluate(`return ${mapScript}`, context);
312
+ }
313
+
314
+ if (typeof this.getValue(componentInstance, varName, bindObj) === 'function') {
315
+ this.getValue(componentInstance, varName, bindObj)(value, event);
316
+ } else {
317
+ this.setValue(componentInstance, varName, value);
318
+ }
319
+ break;
320
+
321
+ case 'event':
322
+ const script = element.getAttribute(attr);
323
+ if (!script) return;
324
+
325
+ if (attr.endsWith('mouseleave') || attr.endsWith('mouseenter') || attr.endsWith('blur') || attr.endsWith('focus')) {
326
+ const relatedTarget = (event as MouseEvent).relatedTarget as Node;
327
+ if (relatedTarget && element.contains(relatedTarget)) {
328
+ return;
329
+ }
330
+ }
331
+
332
+ const context = this.createExecutionContext(event, element, componentInstance, config);
333
+ const filterScript = element.getAttribute(`${attr}:filter`);
334
+ let filter = true;
335
+ // 개발자가 사용중에 문제가 발생될(디버깅) 버그를 유발할수있는 기능 흐름제어가 안될수있어 기능을 제거한다.
336
+ // if (filterScript) {
337
+ // filter = ScriptUtils.eval<boolean>(`${this.getBindScript(config)} return ${filterScript}`, context) ?? false;
338
+ // }
339
+
340
+ if (filter) {
341
+ ScriptUtils.evaluate(`${this.getBindScript(config)} ${script}`, context);
342
+ }
343
+
344
+ // 개발자가 사용중에 문제가 발생될(디버깅) 버그를 유발할수있는 기능 흐름제어가 안될수있어 기능을 제거한다.
345
+ // const hasDispatch = element.hasAttribute(`${attr}:dispatch`);
346
+ // if (hasDispatch) {
347
+ // element.dispatchEvent(new Event(event.type));
348
+ // }
349
+ break;
350
+
351
+ case 'event-param':
352
+ const paramScript = element.getAttribute(attr);
353
+ if (!paramScript) return;
354
+
355
+ if (attr.endsWith('mouseleave') || attr.endsWith('mouseenter') || attr.endsWith('blur') || attr.endsWith('focus')) {
356
+ const relatedTarget = (event as MouseEvent).relatedTarget as Node;
357
+ if (relatedTarget && element.contains(relatedTarget)) {
358
+ return;
359
+ }
360
+ }
361
+
362
+ const attributes = ElementUtils.getAttributeToObject(element);
363
+ const params = {} as any;
364
+ const prefix = attr + ':';
365
+ Object.entries(attributes).filter(([k, v]) => k.startsWith(prefix)).forEach(([k, v]) => {
366
+ params[k.slice(prefix.length)] = v;
367
+ });
368
+
369
+ const paramContext = this.createExecutionContext(event, element, componentInstance, config, {params});
370
+ ScriptUtils.evaluate(`${this.getBindScript(config)} ${paramScript}`, paramContext);
371
+ break;
372
+ }
373
+ }
374
+
375
+ public findAttrElements(fragment: DocumentFragment | Element, config?: DomRenderConfig): Set<Element> {
376
+ const elements = new Set<Element>();
377
+ const addAttributes = config?.applyEvents?.map(it => it.attrName) ?? [];
378
+ addAttributes.concat([...EventManager.attrNames]).forEach(attrName => {
379
+ fragment?.querySelectorAll(`[${attrName}]`).forEach(it => {
380
+ elements.add(it);
381
+ });
382
+ });
383
+ return elements;
384
+ }
385
+
386
+ public applyEvent(obj: any, childNodes: Set<ChildNode> | Set<Element>, config?: DomRenderConfig) {
387
+ childNodes.forEach(node => {
388
+ if (node.nodeType === 1) {
389
+ (node as any).obj = obj;
390
+ }
391
+ });
392
+
393
+ this.procAttr<HTMLInputElement>(childNodes, EventManager.valueAttrName, (it, attribute) => {
394
+ const script = attribute;
395
+ if (script) {
396
+ const data = ScriptUtils.evaluateReturn(script, obj);
397
+ if (it.value !== data) {
398
+ it.value = data;
399
+ }
400
+ }
401
+ });
402
+ this.procAttr<HTMLInputElement>(childNodes, EventManager.checkedAttrName, (it, attribute) => {
403
+ const script = attribute;
404
+ if (script) {
405
+ const data = ScriptUtils.evaluateReturn(script, obj);
406
+ if (it.checked!== data) {
407
+ it.checked = data;
408
+ }
409
+ }
410
+ });
411
+ this.procAttr<HTMLOptionElement>(childNodes, EventManager.selectedAttrName, (it, attribute) => {
412
+ const script = attribute;
413
+ if (script) {
414
+ const data = ScriptUtils.evaluateReturn(script, obj);
415
+ if (it.selected!== data) {
416
+ it.selected = data;
417
+ }
418
+ }
419
+ });
420
+ this.procAttr<HTMLInputElement>(childNodes, EventManager.readonlyAttrName, (it, attribute) => {
421
+ const script = attribute;
422
+ if (script) {
423
+ const data = ScriptUtils.evaluateReturn(script, obj);
424
+ if (it.readOnly!== data) {
425
+ it.readOnly = data;
426
+ }
427
+ }
428
+ });
429
+ this.procAttr<HTMLInputElement>(childNodes, EventManager.disabledAttrName, (it, attribute) => {
430
+ const script = attribute;
431
+ if (script) {
432
+ const data = ScriptUtils.evaluateReturn(script, obj);
433
+ if (it.disabled!== data) {
434
+ it.disabled = data;
435
+ }
436
+ }
437
+ });
438
+ this.procAttr<HTMLElement>(childNodes, EventManager.hiddenAttrName, (it, attribute) => {
439
+ const script = attribute;
440
+ if (script) {
441
+ const data = ScriptUtils.evaluateReturn(script, obj);
442
+ if (it.hidden!== data) {
443
+ it.hidden = data;
444
+ }
445
+ }
446
+ });
447
+ this.procAttr<HTMLInputElement>(childNodes, EventManager.requiredAttrName, (it, attribute) => {
448
+ const script = attribute;
449
+ if (script) {
450
+ const data = ScriptUtils.evaluateReturn(script, obj);
451
+ if (it.required!== data) {
452
+ it.required = data;
453
+ }
454
+ }
455
+ });
456
+ this.procAttr<HTMLDialogElement>(childNodes, EventManager.openAttrName, (it, attribute) => {
457
+ const script = attribute;
458
+ if (script) {
459
+ const data = ScriptUtils.evaluateReturn(script, obj);
460
+ if (it.open!== data) {
461
+ it.open = data;
462
+ }
463
+ }
464
+ });
465
+
466
+ this.procAttr(childNodes, EventManager.normalAttrMapAttrName, (it, attribute) => {
467
+ const map = new Map<string, string>(JSON.parse(attribute));
468
+ map.forEach((v, k) => {
469
+ const data = ScriptUtils.evaluate(`const $element = this.element; return ${v} `, Object.assign(obj, {
470
+ __render: Object.freeze({
471
+ element: it,
472
+ attribute: ElementUtils.getAttributeToObject(it)
473
+ })
474
+ }));
475
+ if (data === null) {
476
+ it.removeAttribute(k);
477
+ } else {
478
+ it.setAttribute(k, data);
479
+ }
480
+ });
481
+ });
482
+
483
+ EventManager.WINDOW_EVENTS.forEach(it => {
484
+ this.procAttr<HTMLInputElement>(childNodes, EventManager.attrPrefix + 'window-event-' + it, (it, attribute) => {
485
+ (it as any).obj = obj;
486
+ });
487
+ });
488
+
489
+ EventManager.linkAttrs.forEach(linkInfo => {
490
+ this.procAttr<HTMLElement>(childNodes, linkInfo.name, (it, varName) => {
491
+
492
+ // console.log('ink??????????')
493
+ if (varName) {
494
+ const ownerVariablePathName = it.getAttribute(EventManager.ownerVariablePathAttrName);
495
+ const mapScript = it.getAttribute(`${linkInfo.name}:map`);
496
+ let bindObj = obj;
497
+ if (ownerVariablePathName) {
498
+ bindObj = ScriptUtils.evaluateReturn(ownerVariablePathName, obj);
499
+ }
500
+ const getValue = this.getValue(obj, varName, bindObj);
501
+ if (typeof getValue === 'function' && getValue) {
502
+ let setValue = (it as any)[linkInfo.property];
503
+ if (mapScript) {
504
+ setValue = ScriptUtils.evaluate(`${this.getBindScript(config)} return ${mapScript}`, Object.assign(bindObj, {__render: Object.freeze({element: it, target: bindObj, range: Range.range, value: setValue, scripts: EventManager.setBindProperty(config?.scripts, obj), ...config?.eventVariables})}));
505
+ }
506
+ getValue(setValue);
507
+ } else if (getValue) {
508
+ let setValue = getValue;
509
+ if (mapScript) {
510
+ setValue = ScriptUtils.evaluate(`${this.getBindScript(config)} return ${mapScript}`, Object.assign(bindObj, {__render: Object.freeze({element: it, target: bindObj, range: Range.range, value: setValue, scripts: EventManager.setBindProperty(config?.scripts, obj), ...config?.eventVariables})}));
511
+ }
512
+ if (setValue === null) {
513
+ it.removeAttribute(linkInfo.property);
514
+ } else {
515
+ (it as any)[linkInfo.property] = setValue;
516
+ }
517
+ } else if (getValue === undefined) {
518
+ this.setValue(obj, varName, (it as any)[linkInfo.property]);
519
+ }
520
+ }
521
+ });
522
+ });
523
+
524
+ this.directAttachEvents.forEach(eventName => {
525
+ const attr = `${EventManager.attrPrefix}event-${eventName}`;
526
+ this.procAttr<HTMLElement>(childNodes, attr, (element, script) => {
527
+ const handler = (event: Event) => {
528
+ const componentInstance = this.findComponentInstance(element);
529
+ if (!componentInstance) return;
530
+
531
+ const context = this.createExecutionContext(event, element, componentInstance, config);
532
+ const filterScript = element.getAttribute(`${attr}:filter`);
533
+ let filter = true;
534
+ if (filterScript) {
535
+ filter = ScriptUtils.evaluate<boolean>(`${this.getBindScript(config)} return ${filterScript}`, context) ?? false;
536
+ }
537
+ if (filter) {
538
+ ScriptUtils.evaluate(`${this.getBindScript(config)} ${script}`, context);
539
+ }
540
+ };
541
+ element.addEventListener(eventName, handler);
542
+ // TODO: Add logic to remove this listener when the element is destroyed.
543
+ });
544
+ });
545
+
546
+ this.procAttr<HTMLElement>(childNodes, EventManager.onInitAttrName, (it, attribute) => {
547
+ let script = attribute;
548
+ if (script) {
549
+ script = 'return ' + script;
550
+ }
551
+ if (script) {
552
+ ScriptUtils.evaluate(`${this.getBindScript(config)}; ${script} `, Object.assign(obj, {
553
+ __render: Object.freeze({
554
+ element: it,
555
+ attribute: ElementUtils.getAttributeToObject(it),
556
+ ...config?.eventVariables
557
+ })
558
+ }));
559
+ }
560
+ });
561
+
562
+ this.onRenderedEvent(obj, childNodes, config);
563
+ this.changeVar(obj, childNodes, undefined, config);
564
+ const elements = Array.from(childNodes).filter(it => it.nodeType === 1).map(it => it as Element);
565
+ elements.forEach(it => {
566
+ config?.applyEvents?.filter(ta => it.getAttribute(ta.attrName) !== null).forEach(ta => ta.callBack(it, it.getAttribute(ta.attrName)!, obj));
567
+ });
568
+ }
569
+
570
+ public onRenderedEvent(obj: any, childNodes: Set<ChildNode> | Set<Element> | Node[], config?: DomRenderConfig) {
571
+ this.procAttr<HTMLInputElement>(childNodes, EventManager.onRenderedInitAttrName, (it, attribute) => {
572
+ if (!it.isConnected) {
573
+ return;
574
+ }
575
+ let script = attribute;
576
+ if (script) {
577
+ script = 'return ' + script;
578
+ }
579
+ if (script) {
580
+ ScriptUtils.evaluate(`${this.getBindScript(config)}; ${script} `, Object.assign(obj, {
581
+ __render: Object.freeze({
582
+ element: it,
583
+ attribute: ElementUtils.getAttributeToObject(it),
584
+ ...config?.eventVariables
585
+ })
586
+ }));
587
+ }
588
+ });
589
+ }
590
+
591
+ public changeVar(obj: any, elements: Set<Element> | Set<ChildNode>, varName?: string, config?: DomRenderConfig) {
592
+ // console.log('changeVar', obj, elements, varName)
593
+ this.procAttr(elements, EventManager.styleAttrName, (it, attribute) => {
594
+ let script = attribute;
595
+ if (script) {
596
+ script = 'return ' + script;
597
+ }
598
+ if (EventManager.isUsingThisVar(script, varName) || varName === undefined) {
599
+ const data = ScriptUtils.evaluate(`const $element = this.__render.element; ${script} `, Object.assign(obj, {
600
+ __render: Object.freeze({
601
+ element: it,
602
+ attribute: ElementUtils.getAttributeToObject(it)
603
+ })
604
+ }));
605
+ if (typeof data === 'string') {
606
+ it.setAttribute('style', data);
607
+ } else if (Array.isArray(data)) {
608
+ it.setAttribute('style', data.join(';'));
609
+ } else {
610
+ for (const [key, value] of Object.entries(data)) {
611
+ if (it instanceof HTMLElement) {
612
+ (it.style as any)[key] = String(value);
613
+ }
614
+ }
615
+ }
616
+ }
617
+ });
618
+
619
+ this.procAttr(elements, EventManager.classAttrName, (it, attribute) => {
620
+ let script = attribute;
621
+ if (script) {
622
+ script = 'return ' + script;
623
+ }
624
+ if (EventManager.isUsingThisVar(script, varName) || varName === undefined) {
625
+ const data = ScriptUtils.evaluate(`const $element = this.element; ${script} `, Object.assign(obj, {
626
+ __render: Object.freeze({
627
+ element: it,
628
+ attribute: ElementUtils.getAttributeToObject(it)
629
+ })
630
+ }));
631
+
632
+ if (typeof data === 'string') {
633
+ it.setAttribute('class', data);
634
+ } else if (Array.isArray(data)) {
635
+ it.setAttribute('class', data.join(' '));
636
+ } else {
637
+ for (const [key, value] of Object.entries(data)) {
638
+ if (it instanceof HTMLElement) {
639
+ if (value) {
640
+ it.classList.add(key);
641
+ } else {
642
+ it.classList.remove(key);
643
+ }
644
+ }
645
+ }
646
+ }
647
+ }
648
+ });
649
+ }
650
+
651
+ public procAttr<T extends Element = Element>(elements: Set<Element> | Set<ChildNode> | Node[] = new Set(), attrName: string, callBack: (h: T, value: string, attributes: any) => void) {
652
+ const sets = new Set<Element>();
653
+ elements.forEach(it => {
654
+ if (!it) {
655
+ return;
656
+ }
657
+ if (it.nodeType === 1) {
658
+ const e = it as Element;
659
+ sets.add(e);
660
+ e.querySelectorAll<T>(`[${attrName}]`).forEach(it => {
661
+ sets.add(it);
662
+ });
663
+ }
664
+ });
665
+ sets.forEach(it => {
666
+ const attr = it.getAttribute(attrName);
667
+ const attrs = ElementUtils.getAttributeToObject(it);
668
+ if (attr) {
669
+ callBack(it as T, attr, attrs);
670
+ }
671
+ });
672
+ }
673
+
674
+ public getValue<T = any>(obj: any, name: string, bindObj?: any): T {
675
+ let r = ScriptUtils.evaluateReturn(name, obj);
676
+ if (typeof r === 'function') {
677
+ r = r.bind(bindObj ?? obj);
678
+ }
679
+ return r;
680
+ }
681
+
682
+ public setValue(obj: any, name: string, value?: any) {
683
+ name = name.replaceAll('this.', 'this.this.');
684
+ ScriptUtils.evaluate(`${name} = this.value;`, {
685
+ this: obj,
686
+ value: value
687
+ });
688
+ }
689
+
690
+ public static isUsingThisVar(raws: string | null | undefined, varName: string | null | undefined): boolean {
691
+ if (varName && raws) {
692
+ if (varName.startsWith('this.')) {
693
+ varName = varName.replace(/this\./, '');
694
+ }
695
+ // TODO: 훔.. 꼭필요한가..? 트리거될때 스크립트변수 까지 감지해야될까?
696
+ EventManager.VARNAMES.forEach(it => {
697
+ // raws = raws!.replace(RegExp(it.replace('$', '\\$'), 'g'), `this?.___${it}`);
698
+ raws = raws!.replace(RegExp(it.replace('$', '\\$'), 'g'), `this.___${it}`);
699
+ });
700
+ const variablePaths = ObjectUtils.Path.detectPathFromScript(raws ?? '', {excludeThis: true});
701
+ return variablePaths.has(varName);
702
+ }
703
+ return false;
704
+ }
705
+
706
+ public static setBindProperty(scripts: { [p: string]: any } | undefined, obj: any): { [p: string]: any } | undefined {
707
+ if (scripts) {
708
+ const newScripts = Object.assign({}, scripts);
709
+ for (const [key, value] of Object.entries(newScripts)) {
710
+ if (typeof value === 'function') {
711
+ newScripts[key] = value.bind(obj);
712
+ }
713
+ }
714
+ return newScripts;
715
+ }
716
+ }
717
+
718
+ getBindScript(config?: DomRenderConfig) {
719
+ if (config?.eventVariables) {
720
+ const bindScript = Object.entries(config.eventVariables).filter(([key, value]) => !this.bindScript.includes(`const ${key}`)).map(([key, value]) => {
721
+ return `const ${key} = this.__render.${key};`;
722
+ }).join(';');
723
+ return this.bindScript + '' + bindScript;
724
+ } else {
725
+ return this.bindScript;
726
+ }
727
+ }
728
+ }
729
+