@dooboostore/dom-render 1.0.107 → 1.0.109

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 (1246) hide show
  1. package/README.MD +27 -1451
  2. package/dist/cjs/DomRender.js +41 -31
  3. package/dist/cjs/DomRender.js.map +2 -2
  4. package/dist/cjs/DomRenderProxy.js +15 -11
  5. package/dist/cjs/DomRenderProxy.js.map +2 -2
  6. package/dist/cjs/bundle-entry.js +67 -0
  7. package/dist/cjs/bundle-entry.js.map +7 -0
  8. package/dist/cjs/components/ComponentBase.js +20 -2
  9. package/dist/cjs/components/ComponentBase.js.map +2 -2
  10. package/dist/cjs/components/ComponentRouterBase.js +11 -5
  11. package/dist/cjs/components/ComponentRouterBase.js.map +2 -2
  12. package/dist/cjs/components/ComponentSet.js +0 -5
  13. package/dist/cjs/components/ComponentSet.js.map +1 -1
  14. package/dist/cjs/components/appender/Appender.js +0 -6
  15. package/dist/cjs/components/appender/Appender.js.map +1 -1
  16. package/dist/cjs/components/checkbox/CheckBox.js +4 -7
  17. package/dist/cjs/components/checkbox/CheckBox.js.map +1 -1
  18. package/dist/cjs/components/choose/Choose.js +5 -11
  19. package/dist/cjs/components/choose/Choose.js.map +2 -2
  20. package/dist/cjs/components/details/Details.js +0 -11
  21. package/dist/cjs/components/details/Details.js.map +1 -1
  22. package/dist/cjs/components/forOf/ForOf.js +0 -6
  23. package/dist/cjs/components/forOf/ForOf.js.map +1 -1
  24. package/dist/cjs/components/if/If.js +1 -3
  25. package/dist/cjs/components/if/If.js.map +1 -1
  26. package/dist/cjs/components/input/Input.js +0 -8
  27. package/dist/cjs/components/input/Input.js.map +1 -1
  28. package/dist/cjs/components/promise/PromiseSwitch.js +1 -20
  29. package/dist/cjs/components/promise/PromiseSwitch.js.map +1 -1
  30. package/dist/cjs/components/radio/Radio.js +4 -7
  31. package/dist/cjs/components/radio/Radio.js.map +1 -1
  32. package/dist/cjs/components/router/RouterOutlet.js +16 -6
  33. package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
  34. package/dist/cjs/components/select/Select.js +20 -6
  35. package/dist/cjs/components/select/Select.js.map +2 -2
  36. package/dist/cjs/components/this/This.js +1 -5
  37. package/dist/cjs/components/this/This.js.map +1 -1
  38. package/dist/cjs/components/timer/Timer.js +14 -18
  39. package/dist/cjs/components/timer/Timer.js.map +2 -2
  40. package/dist/cjs/decorators/DomRenderNoProxy.js +2 -1
  41. package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
  42. package/dist/cjs/events/EventManager.js +56 -58
  43. package/dist/cjs/events/EventManager.js.map +1 -1
  44. package/dist/cjs/index.js.map +1 -1
  45. package/dist/cjs/iterators/Range.js +1 -9
  46. package/dist/cjs/iterators/Range.js.map +1 -1
  47. package/dist/cjs/lifecycle/OnRawSetRendered.js +26 -0
  48. package/dist/cjs/lifecycle/OnRawSetRendered.js.map +7 -0
  49. package/dist/cjs/lifecycle/index.js +1 -0
  50. package/dist/cjs/lifecycle/index.js.map +2 -2
  51. package/dist/cjs/messenger/Messenger.js +5 -8
  52. package/dist/cjs/messenger/Messenger.js.map +1 -1
  53. package/dist/cjs/operators/Appender.js +3 -5
  54. package/dist/cjs/operators/Appender.js.map +1 -1
  55. package/dist/cjs/operators/DrTargetElement.js +2 -0
  56. package/dist/cjs/operators/DrTargetElement.js.map +2 -2
  57. package/dist/cjs/operators/OperatorExecuter.js +1 -2
  58. package/dist/cjs/operators/OperatorExecuter.js.map +2 -2
  59. package/dist/cjs/package.json +2 -0
  60. package/dist/cjs/rawsets/RawSet.js +207 -129
  61. package/dist/cjs/rawsets/RawSet.js.map +3 -3
  62. package/dist/cjs/rawsets/Render.js.map +1 -1
  63. package/dist/cjs/routers/Router.js +24 -12
  64. package/dist/cjs/routers/Router.js.map +3 -3
  65. package/dist/cjs/validators/MultipleValidator.js +0 -3
  66. package/dist/cjs/validators/MultipleValidator.js.map +1 -1
  67. package/dist/cjs/validators/NotRegExpTestValidator.js +0 -3
  68. package/dist/cjs/validators/NotRegExpTestValidator.js.map +1 -1
  69. package/dist/cjs/validators/RegExpTestValidator.js +0 -3
  70. package/dist/cjs/validators/RegExpTestValidator.js.map +1 -1
  71. package/dist/cjs/validators/Validator.js +0 -7
  72. package/dist/cjs/validators/Validator.js.map +1 -1
  73. package/dist/cjs/validators/ValidatorArray.js +2 -4
  74. package/dist/cjs/validators/ValidatorArray.js.map +1 -1
  75. package/dist/esm/DomRender.js +41 -32
  76. package/dist/esm/DomRender.js.map +2 -2
  77. package/dist/esm/DomRenderProxy.js +15 -12
  78. package/dist/esm/DomRenderProxy.js.map +2 -2
  79. package/dist/esm/bundle-entry.js +37 -0
  80. package/dist/esm/bundle-entry.js.map +7 -0
  81. package/dist/esm/components/ComponentBase.js +20 -2
  82. package/dist/esm/components/ComponentBase.js.map +2 -2
  83. package/dist/esm/components/ComponentRouterBase.js +11 -6
  84. package/dist/esm/components/ComponentRouterBase.js.map +2 -2
  85. package/dist/esm/components/ComponentSet.js +0 -6
  86. package/dist/esm/components/ComponentSet.js.map +1 -1
  87. package/dist/esm/components/appender/Appender.js +0 -7
  88. package/dist/esm/components/appender/Appender.js.map +1 -1
  89. package/dist/esm/components/checkbox/CheckBox.js +4 -8
  90. package/dist/esm/components/checkbox/CheckBox.js.map +1 -1
  91. package/dist/esm/components/choose/Choose.js +5 -12
  92. package/dist/esm/components/choose/Choose.js.map +2 -2
  93. package/dist/esm/components/details/Details.js +0 -12
  94. package/dist/esm/components/details/Details.js.map +1 -1
  95. package/dist/esm/components/forOf/ForOf.js +0 -7
  96. package/dist/esm/components/forOf/ForOf.js.map +1 -1
  97. package/dist/esm/components/if/If.js +1 -4
  98. package/dist/esm/components/if/If.js.map +1 -1
  99. package/dist/esm/components/input/Input.js +0 -9
  100. package/dist/esm/components/input/Input.js.map +1 -1
  101. package/dist/esm/components/promise/PromiseSwitch.js +1 -21
  102. package/dist/esm/components/promise/PromiseSwitch.js.map +1 -1
  103. package/dist/esm/components/radio/Radio.js +4 -8
  104. package/dist/esm/components/radio/Radio.js.map +1 -1
  105. package/dist/esm/components/router/RouterOutlet.js +17 -8
  106. package/dist/esm/components/router/RouterOutlet.js.map +2 -2
  107. package/dist/esm/components/select/Select.js +20 -6
  108. package/dist/esm/components/select/Select.js.map +2 -2
  109. package/dist/esm/components/this/This.js +1 -6
  110. package/dist/esm/components/this/This.js.map +1 -1
  111. package/dist/esm/components/timer/Timer.js +14 -19
  112. package/dist/esm/components/timer/Timer.js.map +2 -2
  113. package/dist/esm/decorators/DomRenderNoProxy.js +2 -1
  114. package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
  115. package/dist/esm/events/EventManager.js +56 -59
  116. package/dist/esm/events/EventManager.js.map +1 -1
  117. package/dist/esm/index.js.map +1 -1
  118. package/dist/esm/iterators/Range.js +1 -10
  119. package/dist/esm/iterators/Range.js.map +1 -1
  120. package/dist/esm/lifecycle/OnRawSetRendered.js +7 -0
  121. package/dist/esm/lifecycle/OnRawSetRendered.js.map +7 -0
  122. package/dist/esm/lifecycle/index.js +1 -0
  123. package/dist/esm/lifecycle/index.js.map +2 -2
  124. package/dist/esm/messenger/Messenger.js +5 -9
  125. package/dist/esm/messenger/Messenger.js.map +1 -1
  126. package/dist/esm/operators/Appender.js +3 -6
  127. package/dist/esm/operators/Appender.js.map +1 -1
  128. package/dist/esm/operators/DrTargetElement.js +2 -0
  129. package/dist/esm/operators/DrTargetElement.js.map +2 -2
  130. package/dist/esm/operators/OperatorExecuter.js +1 -2
  131. package/dist/esm/operators/OperatorExecuter.js.map +2 -2
  132. package/dist/esm/rawsets/RawSet.js +207 -130
  133. package/dist/esm/rawsets/RawSet.js.map +3 -3
  134. package/dist/esm/routers/Router.js +24 -13
  135. package/dist/esm/routers/Router.js.map +3 -3
  136. package/dist/esm/validators/MultipleValidator.js +0 -4
  137. package/dist/esm/validators/MultipleValidator.js.map +1 -1
  138. package/dist/esm/validators/NotRegExpTestValidator.js +0 -4
  139. package/dist/esm/validators/NotRegExpTestValidator.js.map +1 -1
  140. package/dist/esm/validators/RegExpTestValidator.js +0 -4
  141. package/dist/esm/validators/RegExpTestValidator.js.map +1 -1
  142. package/dist/esm/validators/Validator.js +0 -8
  143. package/dist/esm/validators/Validator.js.map +1 -1
  144. package/dist/esm/validators/ValidatorArray.js +2 -5
  145. package/dist/esm/validators/ValidatorArray.js.map +1 -1
  146. package/dist/esm-bundle/dooboostore-dom-render.esm.js +16498 -3
  147. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  148. package/dist/types/DomRender.d.ts +45 -0
  149. package/dist/types/DomRender.d.ts.map +1 -0
  150. package/dist/types/DomRenderProxy.d.ts.map +1 -0
  151. package/dist/types/bundle-entry.d.ts +18 -0
  152. package/dist/types/bundle-entry.d.ts.map +1 -0
  153. package/dist/types/components/ComponentBase.d.ts +137 -0
  154. package/dist/types/components/ComponentBase.d.ts.map +1 -0
  155. package/dist/types/components/ComponentRouterBase.d.ts +21 -0
  156. package/dist/types/components/ComponentRouterBase.d.ts.map +1 -0
  157. package/dist/types/components/choose/Choose.d.ts.map +1 -0
  158. package/dist/types/components/index.d.ts +59 -0
  159. package/dist/types/components/index.d.ts.map +1 -0
  160. package/dist/types/components/router/RouterOutlet.d.ts +38 -0
  161. package/dist/types/components/router/RouterOutlet.d.ts.map +1 -0
  162. package/dist/types/components/select/Select.d.ts +154 -0
  163. package/dist/types/components/select/Select.d.ts.map +1 -0
  164. package/dist/types/components/timer/Timer.d.ts +28 -0
  165. package/dist/types/components/timer/Timer.d.ts.map +1 -0
  166. package/dist/types/decorators/DomRenderNoProxy.d.ts.map +1 -0
  167. package/dist/types/index.d.ts +104 -0
  168. package/dist/types/lifecycle/OnRawSetRendered.d.ts +10 -0
  169. package/dist/types/lifecycle/OnRawSetRendered.d.ts.map +1 -0
  170. package/dist/types/lifecycle/index.d.ts +14 -0
  171. package/dist/types/lifecycle/index.d.ts.map +1 -0
  172. package/dist/types/operators/DrTargetElement.d.ts.map +1 -0
  173. package/dist/types/operators/OperatorExecuter.d.ts.map +1 -0
  174. package/dist/types/rawsets/RawSet.d.ts +187 -0
  175. package/dist/types/rawsets/RawSet.d.ts.map +1 -0
  176. package/dist/types/rawsets/Render.d.ts +28 -0
  177. package/dist/types/rawsets/Render.d.ts.map +1 -0
  178. package/dist/types/routers/Router.d.ts +82 -0
  179. package/dist/types/routers/Router.d.ts.map +1 -0
  180. package/dist/umd-bundle/dooboostore-dom-render.umd.js +16485 -7
  181. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  182. package/package.json +27 -14
  183. package/src/DomRender.ts +201 -0
  184. package/src/DomRenderProxy.ts +683 -0
  185. package/src/bundle-entry.ts +20 -0
  186. package/src/components/ComponentBase.ts +704 -0
  187. package/src/components/ComponentRouterBase.ts +59 -0
  188. package/src/components/ComponentSet.ts +26 -0
  189. package/src/components/a/A.ts +81 -0
  190. package/src/components/a/index.ts +1 -0
  191. package/src/components/appender/Appender.ts +86 -0
  192. package/src/components/appender/index.ts +1 -0
  193. package/src/components/checkbox/CheckBox.ts +137 -0
  194. package/src/components/checkbox/index.ts +1 -0
  195. package/src/components/choose/Choose.ts +115 -0
  196. package/src/components/choose/index.ts +1 -0
  197. package/src/components/details/Details.ts +236 -0
  198. package/src/components/details/index.ts +1 -0
  199. package/src/components/dialog/Dialog.ts +84 -0
  200. package/src/components/dialog/dialog.html +10 -0
  201. package/src/components/dialog/example/ImageEditorDialog.ts +115 -0
  202. package/src/components/dialog/example/imageEditorDialog.css +179 -0
  203. package/src/components/dialog/example/imageEditorDialog.html +48 -0
  204. package/src/components/forOf/ForOf.ts +41 -0
  205. package/src/components/forOf/index.ts +1 -0
  206. package/src/components/if/If.ts +63 -0
  207. package/src/components/if/index.ts +1 -0
  208. package/src/components/index.ts +49 -0
  209. package/src/components/input/Input.ts +125 -0
  210. package/src/components/input/index.ts +1 -0
  211. package/src/components/promise/PromiseSwitch.ts +232 -0
  212. package/src/components/promise/index.ts +1 -0
  213. package/src/components/radio/Radio.ts +129 -0
  214. package/src/components/radio/index.ts +1 -0
  215. package/src/components/router/Route.ts +91 -0
  216. package/src/components/router/RouterOutlet.ts +93 -0
  217. package/src/components/router/index.ts +2 -0
  218. package/src/components/select/Select.ts +594 -0
  219. package/src/components/select/index.ts +1 -0
  220. package/src/components/this/This.ts +62 -0
  221. package/src/components/this/index.ts +1 -0
  222. package/src/components/timer/Timer.ts +87 -0
  223. package/src/components/timer/index.ts +1 -0
  224. package/src/configs/DomRenderConfig.ts +30 -0
  225. package/src/configs/TargetAttr.ts +7 -0
  226. package/src/configs/TargetElement.ts +16 -0
  227. package/src/configs/index.ts +3 -0
  228. package/src/decorators/DomRenderNoProxy.ts +32 -0
  229. package/src/decorators/index.ts +1 -0
  230. package/src/events/EventManager.ts +729 -0
  231. package/src/events/index.ts +1 -0
  232. package/src/index.ts +17 -0
  233. package/src/iterators/Range.ts +73 -0
  234. package/src/iterators/index.ts +1 -0
  235. package/src/lifecycle/OnBeforeReturnGet.ts +3 -0
  236. package/src/lifecycle/OnBeforeReturnSet.ts +6 -0
  237. package/src/lifecycle/OnChangeAttrRender.ts +12 -0
  238. package/src/lifecycle/OnChildRenderedByProperty.ts +9 -0
  239. package/src/lifecycle/OnCreateRender.ts +6 -0
  240. package/src/lifecycle/OnCreateRenderData.ts +11 -0
  241. package/src/lifecycle/OnCreateRendered.ts +11 -0
  242. package/src/lifecycle/OnCreatedThisChild.ts +10 -0
  243. package/src/lifecycle/OnDestroyRender.ts +11 -0
  244. package/src/lifecycle/OnInitRender.ts +9 -0
  245. package/src/lifecycle/OnProxyDomRender.ts +7 -0
  246. package/src/lifecycle/OnRawSetRendered.ts +15 -0
  247. package/src/lifecycle/dr-this/OnDrThisBind.ts +6 -0
  248. package/src/lifecycle/dr-this/OnDrThisUnBind.ts +6 -0
  249. package/src/lifecycle/dr-this/index.ts +2 -0
  250. package/src/lifecycle/index.ts +13 -0
  251. package/src/messenger/DefaultMessenger.ts +5 -0
  252. package/src/messenger/Messenger.ts +222 -0
  253. package/src/messenger/index.ts +2 -0
  254. package/src/operators/Appender.ts +104 -0
  255. package/src/operators/Dr.ts +47 -0
  256. package/src/operators/DrAppender.ts +64 -0
  257. package/src/operators/DrFor.ts +52 -0
  258. package/src/operators/DrForOf.ts +116 -0
  259. package/src/operators/DrForm.ts +72 -0
  260. package/src/operators/DrIf.ts +69 -0
  261. package/src/operators/DrInnerHTML.ts +41 -0
  262. package/src/operators/DrInnerText.ts +40 -0
  263. package/src/operators/DrPre.ts +14 -0
  264. package/src/operators/DrRepeat.ts +64 -0
  265. package/src/operators/DrStripElement.ts +49 -0
  266. package/src/operators/DrTargetAttr.ts +36 -0
  267. package/src/operators/DrTargetElement.ts +133 -0
  268. package/src/operators/DrTargetElementIsElement.ts +76 -0
  269. package/src/operators/DrThis.ts +107 -0
  270. package/src/operators/DrThisProperty.ts +91 -0
  271. package/src/operators/OperatorExecuter.ts +66 -0
  272. package/src/operators/OperatorExecuterAttrRequire.ts +24 -0
  273. package/src/operators/index.ts +19 -0
  274. package/src/rawsets/AttrInitCallBack.ts +1 -0
  275. package/src/rawsets/Attrs.ts +28 -0
  276. package/src/rawsets/CreatorMetaData.ts +19 -0
  277. package/src/rawsets/DestroyOptionType.ts +4 -0
  278. package/src/rawsets/ElementInitCallBack.ts +4 -0
  279. package/src/rawsets/RawSet.ts +1897 -0
  280. package/src/rawsets/RawSetOperatorType.ts +3 -0
  281. package/src/rawsets/RawSetType.ts +7 -0
  282. package/src/rawsets/Render.ts +26 -0
  283. package/src/rawsets/index.ts +9 -0
  284. package/src/routers/HashRouter.ts +106 -0
  285. package/src/routers/PathRouter.ts +93 -0
  286. package/src/routers/Router.ts +232 -0
  287. package/src/routers/index.ts +3 -0
  288. package/src/types/Types.ts +32 -0
  289. package/src/types/index.ts +2 -0
  290. package/src/types/type.ts +24 -0
  291. package/src/validators/AllCheckedValidatorArray.ts +12 -0
  292. package/src/validators/AllUnCheckedValidatorArray.ts +12 -0
  293. package/src/validators/CheckedValidator.ts +11 -0
  294. package/src/validators/CountEqualsCheckedValidatorArray.ts +12 -0
  295. package/src/validators/CountEqualsUnCheckedValidatorArray.ts +12 -0
  296. package/src/validators/CountGreaterThanCheckedValidatorArray.ts +12 -0
  297. package/src/validators/CountGreaterThanEqualsCheckedValidatorArray.ts +12 -0
  298. package/src/validators/CountGreaterThanEqualsUnCheckedValidatorArray.ts +12 -0
  299. package/src/validators/CountGreaterThanUnCheckedValidatorArray.ts +12 -0
  300. package/src/validators/CountLessThanCheckedValidatorArray.ts +12 -0
  301. package/src/validators/CountLessThanEqualsCheckedValidatorArray.ts +12 -0
  302. package/src/validators/CountLessThanEqualsUnCheckedValidatorArray.ts +12 -0
  303. package/src/validators/CountLessThanUnCheckedValidatorArray.ts +12 -0
  304. package/src/validators/CountUnCheckedValidatorArray.ts +12 -0
  305. package/src/validators/EmptyValidator.ts +12 -0
  306. package/src/validators/ExcludeCheckedValidatorArray.ts +16 -0
  307. package/src/validators/FormValidator.ts +19 -0
  308. package/src/validators/IncludeCheckedValidatorArray.ts +16 -0
  309. package/src/validators/MultipleValidator.ts +29 -0
  310. package/src/validators/NonPassValidator.ts +11 -0
  311. package/src/validators/NotEmptyValidator.ts +13 -0
  312. package/src/validators/NotRegExpTestValidator.ts +20 -0
  313. package/src/validators/PassValidator.ts +11 -0
  314. package/src/validators/RegExpTestValidator.ts +21 -0
  315. package/src/validators/RequiredValidator.ts +13 -0
  316. package/src/validators/UnCheckedValidator.ts +11 -0
  317. package/src/validators/ValidMultipleValidator.ts +14 -0
  318. package/src/validators/ValidValidator.ts +11 -0
  319. package/src/validators/ValidValidatorArray.ts +12 -0
  320. package/src/validators/Validator.ts +245 -0
  321. package/src/validators/ValidatorArray.ts +83 -0
  322. package/src/validators/ValueEqualsValidator.ts +11 -0
  323. package/src/validators/ValueNotEqualsValidator.ts +11 -0
  324. package/src/validators/index.ts +31 -0
  325. package/tsconfig.json +24 -0
  326. package/types.d.ts +2873 -0
  327. package/dist/cjs/DomRender.d.js +0 -16
  328. package/dist/cjs/DomRender.d.js.map +0 -7
  329. package/dist/cjs/DomRender.d.ts +0 -39
  330. package/dist/cjs/DomRender.d.ts.map +0 -1
  331. package/dist/cjs/DomRenderProxy.d.js +0 -17
  332. package/dist/cjs/DomRenderProxy.d.js.map +0 -7
  333. package/dist/cjs/DomRenderProxy.d.ts.map +0 -1
  334. package/dist/cjs/components/ComponentBase.d.js +0 -17
  335. package/dist/cjs/components/ComponentBase.d.js.map +0 -7
  336. package/dist/cjs/components/ComponentBase.d.ts +0 -131
  337. package/dist/cjs/components/ComponentBase.d.ts.map +0 -1
  338. package/dist/cjs/components/ComponentRouterBase.d.js +0 -16
  339. package/dist/cjs/components/ComponentRouterBase.d.js.map +0 -7
  340. package/dist/cjs/components/ComponentRouterBase.d.ts +0 -13
  341. package/dist/cjs/components/ComponentRouterBase.d.ts.map +0 -1
  342. package/dist/cjs/components/ComponentSet.d.js +0 -16
  343. package/dist/cjs/components/ComponentSet.d.js.map +0 -7
  344. package/dist/cjs/components/a/A.d.js +0 -24
  345. package/dist/cjs/components/a/A.d.js.map +0 -7
  346. package/dist/cjs/components/a/index.d.js +0 -18
  347. package/dist/cjs/components/a/index.d.js.map +0 -7
  348. package/dist/cjs/components/appender/Appender.d.js +0 -24
  349. package/dist/cjs/components/appender/Appender.d.js.map +0 -7
  350. package/dist/cjs/components/appender/index.d.js +0 -18
  351. package/dist/cjs/components/appender/index.d.js.map +0 -7
  352. package/dist/cjs/components/checkbox/CheckBox.d.js +0 -24
  353. package/dist/cjs/components/checkbox/CheckBox.d.js.map +0 -7
  354. package/dist/cjs/components/checkbox/index.d.js +0 -18
  355. package/dist/cjs/components/checkbox/index.d.js.map +0 -7
  356. package/dist/cjs/components/choose/Choose.d.js +0 -24
  357. package/dist/cjs/components/choose/Choose.d.js.map +0 -7
  358. package/dist/cjs/components/choose/Choose.d.ts.map +0 -1
  359. package/dist/cjs/components/choose/index.d.js +0 -18
  360. package/dist/cjs/components/choose/index.d.js.map +0 -7
  361. package/dist/cjs/components/details/Details.d.js +0 -24
  362. package/dist/cjs/components/details/Details.d.js.map +0 -7
  363. package/dist/cjs/components/details/index.d.js +0 -18
  364. package/dist/cjs/components/details/index.d.js.map +0 -7
  365. package/dist/cjs/components/forOf/ForOf.d.js +0 -24
  366. package/dist/cjs/components/forOf/ForOf.d.js.map +0 -7
  367. package/dist/cjs/components/forOf/index.d.js +0 -18
  368. package/dist/cjs/components/forOf/index.d.js.map +0 -7
  369. package/dist/cjs/components/if/If.d.js +0 -24
  370. package/dist/cjs/components/if/If.d.js.map +0 -7
  371. package/dist/cjs/components/if/index.d.js +0 -18
  372. package/dist/cjs/components/if/index.d.js.map +0 -7
  373. package/dist/cjs/components/index.d.js +0 -34
  374. package/dist/cjs/components/index.d.js.map +0 -7
  375. package/dist/cjs/components/index.d.ts +0 -58
  376. package/dist/cjs/components/index.d.ts.map +0 -1
  377. package/dist/cjs/components/input/Input.d.js +0 -24
  378. package/dist/cjs/components/input/Input.d.js.map +0 -7
  379. package/dist/cjs/components/input/index.d.js +0 -18
  380. package/dist/cjs/components/input/index.d.js.map +0 -7
  381. package/dist/cjs/components/promise/PromiseSwitch.d.js +0 -24
  382. package/dist/cjs/components/promise/PromiseSwitch.d.js.map +0 -7
  383. package/dist/cjs/components/promise/index.d.js +0 -18
  384. package/dist/cjs/components/promise/index.d.js.map +0 -7
  385. package/dist/cjs/components/radio/Radio.d.js +0 -24
  386. package/dist/cjs/components/radio/Radio.d.js.map +0 -7
  387. package/dist/cjs/components/radio/index.d.js +0 -18
  388. package/dist/cjs/components/radio/index.d.js.map +0 -7
  389. package/dist/cjs/components/router/Route.d.js +0 -24
  390. package/dist/cjs/components/router/Route.d.js.map +0 -7
  391. package/dist/cjs/components/router/RouterOutlet.d.js +0 -24
  392. package/dist/cjs/components/router/RouterOutlet.d.js.map +0 -7
  393. package/dist/cjs/components/router/RouterOutlet.d.ts +0 -34
  394. package/dist/cjs/components/router/RouterOutlet.d.ts.map +0 -1
  395. package/dist/cjs/components/router/index.d.js +0 -19
  396. package/dist/cjs/components/router/index.d.js.map +0 -7
  397. package/dist/cjs/components/select/Select.d.js +0 -24
  398. package/dist/cjs/components/select/Select.d.js.map +0 -7
  399. package/dist/cjs/components/select/Select.d.ts +0 -154
  400. package/dist/cjs/components/select/Select.d.ts.map +0 -1
  401. package/dist/cjs/components/select/index.d.js +0 -18
  402. package/dist/cjs/components/select/index.d.js.map +0 -7
  403. package/dist/cjs/components/this/This.d.js +0 -24
  404. package/dist/cjs/components/this/This.d.js.map +0 -7
  405. package/dist/cjs/components/this/index.d.js +0 -18
  406. package/dist/cjs/components/this/index.d.js.map +0 -7
  407. package/dist/cjs/components/timer/Timer.d.js +0 -24
  408. package/dist/cjs/components/timer/Timer.d.js.map +0 -7
  409. package/dist/cjs/components/timer/Timer.d.ts +0 -26
  410. package/dist/cjs/components/timer/Timer.d.ts.map +0 -1
  411. package/dist/cjs/components/timer/index.d.js +0 -18
  412. package/dist/cjs/components/timer/index.d.js.map +0 -7
  413. package/dist/cjs/configs/DomRenderConfig.d.js +0 -16
  414. package/dist/cjs/configs/DomRenderConfig.d.js.map +0 -7
  415. package/dist/cjs/configs/TargetAttr.d.js +0 -16
  416. package/dist/cjs/configs/TargetAttr.d.js.map +0 -7
  417. package/dist/cjs/configs/TargetElement.d.js +0 -16
  418. package/dist/cjs/configs/TargetElement.d.js.map +0 -7
  419. package/dist/cjs/decorators/DomRenderNoProxy.d.js +0 -17
  420. package/dist/cjs/decorators/DomRenderNoProxy.d.js.map +0 -7
  421. package/dist/cjs/decorators/DomRenderNoProxy.d.ts.map +0 -1
  422. package/dist/cjs/events/EventManager.d.js +0 -16
  423. package/dist/cjs/events/EventManager.d.js.map +0 -7
  424. package/dist/cjs/index.d.ts +0 -3
  425. package/dist/cjs/iterators/Range.d.js +0 -16
  426. package/dist/cjs/iterators/Range.d.js.map +0 -7
  427. package/dist/cjs/lifecycle/OnBeforeReturnSet.d.js +0 -16
  428. package/dist/cjs/lifecycle/OnBeforeReturnSet.d.js.map +0 -7
  429. package/dist/cjs/lifecycle/OnChangeAttrRender.d.js +0 -16
  430. package/dist/cjs/lifecycle/OnChangeAttrRender.d.js.map +0 -7
  431. package/dist/cjs/lifecycle/OnChildRenderedByProperty.d.js +0 -16
  432. package/dist/cjs/lifecycle/OnChildRenderedByProperty.d.js.map +0 -7
  433. package/dist/cjs/lifecycle/OnCreateRender.d.js +0 -16
  434. package/dist/cjs/lifecycle/OnCreateRender.d.js.map +0 -7
  435. package/dist/cjs/lifecycle/OnCreateRenderData.d.js +0 -16
  436. package/dist/cjs/lifecycle/OnCreateRenderData.d.js.map +0 -7
  437. package/dist/cjs/lifecycle/OnCreatedThisChild.d.js +0 -16
  438. package/dist/cjs/lifecycle/OnCreatedThisChild.d.js.map +0 -7
  439. package/dist/cjs/lifecycle/OnDestroyRender.d.js +0 -16
  440. package/dist/cjs/lifecycle/OnDestroyRender.d.js.map +0 -7
  441. package/dist/cjs/lifecycle/OnInitRender.d.js +0 -16
  442. package/dist/cjs/lifecycle/OnInitRender.d.js.map +0 -7
  443. package/dist/cjs/lifecycle/OnProxyDomRender.d.js +0 -16
  444. package/dist/cjs/lifecycle/OnProxyDomRender.d.js.map +0 -7
  445. package/dist/cjs/lifecycle/dr-this/OnDrThisBind.d.js +0 -16
  446. package/dist/cjs/lifecycle/dr-this/OnDrThisBind.d.js.map +0 -7
  447. package/dist/cjs/lifecycle/dr-this/OnDrThisUnBind.d.js +0 -16
  448. package/dist/cjs/lifecycle/dr-this/OnDrThisUnBind.d.js.map +0 -7
  449. package/dist/cjs/lifecycle/index.d.ts +0 -13
  450. package/dist/cjs/lifecycle/index.d.ts.map +0 -1
  451. package/dist/cjs/managers/RenderManager.d.ts +0 -2
  452. package/dist/cjs/managers/RenderManager.d.ts.map +0 -1
  453. package/dist/cjs/managers/RenderManager.js +0 -1
  454. package/dist/cjs/managers/RenderManager.js.map +0 -7
  455. package/dist/cjs/managers/index.d.ts +0 -2
  456. package/dist/cjs/managers/index.d.ts.map +0 -1
  457. package/dist/cjs/managers/index.js +0 -18
  458. package/dist/cjs/managers/index.js.map +0 -7
  459. package/dist/cjs/messenger/DefaultMessenger.d.js +0 -16
  460. package/dist/cjs/messenger/DefaultMessenger.d.js.map +0 -7
  461. package/dist/cjs/messenger/Messenger.d.js +0 -16
  462. package/dist/cjs/messenger/Messenger.d.js.map +0 -7
  463. package/dist/cjs/operators/Appender.d.js +0 -16
  464. package/dist/cjs/operators/Appender.d.js.map +0 -7
  465. package/dist/cjs/operators/Dr.d.js +0 -16
  466. package/dist/cjs/operators/Dr.d.js.map +0 -7
  467. package/dist/cjs/operators/DrAppender.d.js +0 -16
  468. package/dist/cjs/operators/DrAppender.d.js.map +0 -7
  469. package/dist/cjs/operators/DrFor.d.js +0 -16
  470. package/dist/cjs/operators/DrFor.d.js.map +0 -7
  471. package/dist/cjs/operators/DrForOf.d.js +0 -16
  472. package/dist/cjs/operators/DrForOf.d.js.map +0 -7
  473. package/dist/cjs/operators/DrForm.d.js +0 -16
  474. package/dist/cjs/operators/DrForm.d.js.map +0 -7
  475. package/dist/cjs/operators/DrIf.d.js +0 -16
  476. package/dist/cjs/operators/DrIf.d.js.map +0 -7
  477. package/dist/cjs/operators/DrInnerHTML.d.js +0 -16
  478. package/dist/cjs/operators/DrInnerHTML.d.js.map +0 -7
  479. package/dist/cjs/operators/DrInnerText.d.js +0 -16
  480. package/dist/cjs/operators/DrInnerText.d.js.map +0 -7
  481. package/dist/cjs/operators/DrPre.d.js +0 -16
  482. package/dist/cjs/operators/DrPre.d.js.map +0 -7
  483. package/dist/cjs/operators/DrRepeat.d.js +0 -16
  484. package/dist/cjs/operators/DrRepeat.d.js.map +0 -7
  485. package/dist/cjs/operators/DrStripElement.d.js +0 -16
  486. package/dist/cjs/operators/DrStripElement.d.js.map +0 -7
  487. package/dist/cjs/operators/DrTargetAttr.d.js +0 -16
  488. package/dist/cjs/operators/DrTargetAttr.d.js.map +0 -7
  489. package/dist/cjs/operators/DrTargetElement.d.js +0 -16
  490. package/dist/cjs/operators/DrTargetElement.d.js.map +0 -7
  491. package/dist/cjs/operators/DrTargetElement.d.ts.map +0 -1
  492. package/dist/cjs/operators/DrTargetElementIsElement.d.js +0 -16
  493. package/dist/cjs/operators/DrTargetElementIsElement.d.js.map +0 -7
  494. package/dist/cjs/operators/DrThis.d.js +0 -16
  495. package/dist/cjs/operators/DrThis.d.js.map +0 -7
  496. package/dist/cjs/operators/DrThisProperty.d.js +0 -16
  497. package/dist/cjs/operators/DrThisProperty.d.js.map +0 -7
  498. package/dist/cjs/operators/OperatorExecuter.d.js +0 -16
  499. package/dist/cjs/operators/OperatorExecuter.d.js.map +0 -7
  500. package/dist/cjs/operators/OperatorExecuter.d.ts.map +0 -1
  501. package/dist/cjs/operators/OperatorExecuterAttrRequire.d.js +0 -16
  502. package/dist/cjs/operators/OperatorExecuterAttrRequire.d.js.map +0 -7
  503. package/dist/cjs/rawsets/AttrInitCallBack.d.js +0 -16
  504. package/dist/cjs/rawsets/AttrInitCallBack.d.js.map +0 -7
  505. package/dist/cjs/rawsets/Attrs.d.js +0 -16
  506. package/dist/cjs/rawsets/Attrs.d.js.map +0 -7
  507. package/dist/cjs/rawsets/CreatorMetaData.d.js +0 -16
  508. package/dist/cjs/rawsets/CreatorMetaData.d.js.map +0 -7
  509. package/dist/cjs/rawsets/DestroyOptionType.d.js +0 -16
  510. package/dist/cjs/rawsets/DestroyOptionType.d.js.map +0 -7
  511. package/dist/cjs/rawsets/ElementInitCallBack.d.js +0 -16
  512. package/dist/cjs/rawsets/ElementInitCallBack.d.js.map +0 -7
  513. package/dist/cjs/rawsets/RawSet.d.js +0 -16
  514. package/dist/cjs/rawsets/RawSet.d.js.map +0 -7
  515. package/dist/cjs/rawsets/RawSet.d.ts +0 -180
  516. package/dist/cjs/rawsets/RawSet.d.ts.map +0 -1
  517. package/dist/cjs/rawsets/RawSetOperatorType.d.js +0 -16
  518. package/dist/cjs/rawsets/RawSetOperatorType.d.js.map +0 -7
  519. package/dist/cjs/rawsets/RawSetType.d.js +0 -16
  520. package/dist/cjs/rawsets/RawSetType.d.js.map +0 -7
  521. package/dist/cjs/rawsets/Render.d.js +0 -16
  522. package/dist/cjs/rawsets/Render.d.js.map +0 -7
  523. package/dist/cjs/rawsets/Render.d.ts +0 -27
  524. package/dist/cjs/rawsets/Render.d.ts.map +0 -1
  525. package/dist/cjs/routers/HashRouter.d.js +0 -16
  526. package/dist/cjs/routers/HashRouter.d.js.map +0 -7
  527. package/dist/cjs/routers/PathRouter.d.js +0 -16
  528. package/dist/cjs/routers/PathRouter.d.js.map +0 -7
  529. package/dist/cjs/routers/Router.d.js +0 -17
  530. package/dist/cjs/routers/Router.d.js.map +0 -7
  531. package/dist/cjs/routers/Router.d.ts +0 -83
  532. package/dist/cjs/routers/Router.d.ts.map +0 -1
  533. package/dist/cjs/types/Types.d.js +0 -16
  534. package/dist/cjs/types/Types.d.js.map +0 -7
  535. package/dist/cjs/validators/NonPassValidator.d.js +0 -16
  536. package/dist/cjs/validators/NonPassValidator.d.js.map +0 -7
  537. package/dist/cjs/validators/Validator.d.js +0 -16
  538. package/dist/cjs/validators/Validator.d.js.map +0 -7
  539. package/dist/cjs/validators/ValidatorArray.d.js +0 -16
  540. package/dist/cjs/validators/ValidatorArray.d.js.map +0 -7
  541. package/dist/esm/DomRender.d.js +0 -1
  542. package/dist/esm/DomRender.d.js.map +0 -7
  543. package/dist/esm/DomRender.d.ts +0 -39
  544. package/dist/esm/DomRender.d.ts.map +0 -1
  545. package/dist/esm/DomRenderProxy.d.js +0 -2
  546. package/dist/esm/DomRenderProxy.d.js.map +0 -7
  547. package/dist/esm/DomRenderProxy.d.ts +0 -41
  548. package/dist/esm/DomRenderProxy.d.ts.map +0 -1
  549. package/dist/esm/components/ComponentBase.d.js +0 -2
  550. package/dist/esm/components/ComponentBase.d.js.map +0 -7
  551. package/dist/esm/components/ComponentBase.d.ts +0 -131
  552. package/dist/esm/components/ComponentBase.d.ts.map +0 -1
  553. package/dist/esm/components/ComponentRouterBase.d.js +0 -1
  554. package/dist/esm/components/ComponentRouterBase.d.js.map +0 -7
  555. package/dist/esm/components/ComponentRouterBase.d.ts +0 -13
  556. package/dist/esm/components/ComponentRouterBase.d.ts.map +0 -1
  557. package/dist/esm/components/ComponentSet.d.js +0 -1
  558. package/dist/esm/components/ComponentSet.d.js.map +0 -7
  559. package/dist/esm/components/ComponentSet.d.ts +0 -22
  560. package/dist/esm/components/ComponentSet.d.ts.map +0 -1
  561. package/dist/esm/components/a/A.d.js +0 -5
  562. package/dist/esm/components/a/A.d.js.map +0 -7
  563. package/dist/esm/components/a/A.d.ts +0 -40
  564. package/dist/esm/components/a/A.d.ts.map +0 -1
  565. package/dist/esm/components/a/index.d.js +0 -2
  566. package/dist/esm/components/a/index.d.js.map +0 -7
  567. package/dist/esm/components/a/index.d.ts +0 -2
  568. package/dist/esm/components/a/index.d.ts.map +0 -1
  569. package/dist/esm/components/appender/Appender.d.js +0 -5
  570. package/dist/esm/components/appender/Appender.d.js.map +0 -7
  571. package/dist/esm/components/appender/Appender.d.ts +0 -23
  572. package/dist/esm/components/appender/Appender.d.ts.map +0 -1
  573. package/dist/esm/components/appender/index.d.js +0 -2
  574. package/dist/esm/components/appender/index.d.js.map +0 -7
  575. package/dist/esm/components/appender/index.d.ts +0 -2
  576. package/dist/esm/components/appender/index.d.ts.map +0 -1
  577. package/dist/esm/components/checkbox/CheckBox.d.js +0 -5
  578. package/dist/esm/components/checkbox/CheckBox.d.js.map +0 -7
  579. package/dist/esm/components/checkbox/CheckBox.d.ts +0 -47
  580. package/dist/esm/components/checkbox/CheckBox.d.ts.map +0 -1
  581. package/dist/esm/components/checkbox/index.d.js +0 -2
  582. package/dist/esm/components/checkbox/index.d.js.map +0 -7
  583. package/dist/esm/components/checkbox/index.d.ts +0 -2
  584. package/dist/esm/components/checkbox/index.d.ts.map +0 -1
  585. package/dist/esm/components/choose/Choose.d.js +0 -5
  586. package/dist/esm/components/choose/Choose.d.js.map +0 -7
  587. package/dist/esm/components/choose/Choose.d.ts +0 -39
  588. package/dist/esm/components/choose/Choose.d.ts.map +0 -1
  589. package/dist/esm/components/choose/index.d.js +0 -2
  590. package/dist/esm/components/choose/index.d.js.map +0 -7
  591. package/dist/esm/components/choose/index.d.ts +0 -2
  592. package/dist/esm/components/choose/index.d.ts.map +0 -1
  593. package/dist/esm/components/details/Details.d.js +0 -5
  594. package/dist/esm/components/details/Details.d.js.map +0 -7
  595. package/dist/esm/components/details/Details.d.ts +0 -57
  596. package/dist/esm/components/details/Details.d.ts.map +0 -1
  597. package/dist/esm/components/details/index.d.js +0 -2
  598. package/dist/esm/components/details/index.d.js.map +0 -7
  599. package/dist/esm/components/details/index.d.ts +0 -2
  600. package/dist/esm/components/details/index.d.ts.map +0 -1
  601. package/dist/esm/components/dialog/Dialog.d.ts +0 -1
  602. package/dist/esm/components/dialog/Dialog.d.ts.map +0 -1
  603. package/dist/esm/components/dialog/example/ImageEditorDialog.d.ts +0 -1
  604. package/dist/esm/components/dialog/example/ImageEditorDialog.d.ts.map +0 -1
  605. package/dist/esm/components/forOf/ForOf.d.js +0 -5
  606. package/dist/esm/components/forOf/ForOf.d.js.map +0 -7
  607. package/dist/esm/components/forOf/ForOf.d.ts +0 -18
  608. package/dist/esm/components/forOf/ForOf.d.ts.map +0 -1
  609. package/dist/esm/components/forOf/index.d.js +0 -2
  610. package/dist/esm/components/forOf/index.d.js.map +0 -7
  611. package/dist/esm/components/forOf/index.d.ts +0 -2
  612. package/dist/esm/components/forOf/index.d.ts.map +0 -1
  613. package/dist/esm/components/if/If.d.js +0 -5
  614. package/dist/esm/components/if/If.d.js.map +0 -7
  615. package/dist/esm/components/if/If.d.ts +0 -21
  616. package/dist/esm/components/if/If.d.ts.map +0 -1
  617. package/dist/esm/components/if/index.d.js +0 -2
  618. package/dist/esm/components/if/index.d.js.map +0 -7
  619. package/dist/esm/components/if/index.d.ts +0 -2
  620. package/dist/esm/components/if/index.d.ts.map +0 -1
  621. package/dist/esm/components/index.d.js +0 -18
  622. package/dist/esm/components/index.d.js.map +0 -7
  623. package/dist/esm/components/index.d.ts +0 -58
  624. package/dist/esm/components/index.d.ts.map +0 -1
  625. package/dist/esm/components/input/Input.d.js +0 -5
  626. package/dist/esm/components/input/Input.d.js.map +0 -7
  627. package/dist/esm/components/input/Input.d.ts +0 -34
  628. package/dist/esm/components/input/Input.d.ts.map +0 -1
  629. package/dist/esm/components/input/index.d.js +0 -2
  630. package/dist/esm/components/input/index.d.js.map +0 -7
  631. package/dist/esm/components/input/index.d.ts +0 -2
  632. package/dist/esm/components/input/index.d.ts.map +0 -1
  633. package/dist/esm/components/promise/PromiseSwitch.d.js +0 -5
  634. package/dist/esm/components/promise/PromiseSwitch.d.js.map +0 -7
  635. package/dist/esm/components/promise/PromiseSwitch.d.ts +0 -56
  636. package/dist/esm/components/promise/PromiseSwitch.d.ts.map +0 -1
  637. package/dist/esm/components/promise/index.d.js +0 -2
  638. package/dist/esm/components/promise/index.d.js.map +0 -7
  639. package/dist/esm/components/promise/index.d.ts +0 -2
  640. package/dist/esm/components/promise/index.d.ts.map +0 -1
  641. package/dist/esm/components/radio/Radio.d.js +0 -5
  642. package/dist/esm/components/radio/Radio.d.js.map +0 -7
  643. package/dist/esm/components/radio/Radio.d.ts +0 -45
  644. package/dist/esm/components/radio/Radio.d.ts.map +0 -1
  645. package/dist/esm/components/radio/index.d.js +0 -2
  646. package/dist/esm/components/radio/index.d.js.map +0 -7
  647. package/dist/esm/components/radio/index.d.ts +0 -2
  648. package/dist/esm/components/radio/index.d.ts.map +0 -1
  649. package/dist/esm/components/router/Route.d.js +0 -5
  650. package/dist/esm/components/router/Route.d.js.map +0 -7
  651. package/dist/esm/components/router/Route.d.ts +0 -36
  652. package/dist/esm/components/router/Route.d.ts.map +0 -1
  653. package/dist/esm/components/router/RouterOutlet.d.js +0 -5
  654. package/dist/esm/components/router/RouterOutlet.d.js.map +0 -7
  655. package/dist/esm/components/router/RouterOutlet.d.ts +0 -34
  656. package/dist/esm/components/router/RouterOutlet.d.ts.map +0 -1
  657. package/dist/esm/components/router/index.d.js +0 -3
  658. package/dist/esm/components/router/index.d.js.map +0 -7
  659. package/dist/esm/components/router/index.d.ts +0 -3
  660. package/dist/esm/components/router/index.d.ts.map +0 -1
  661. package/dist/esm/components/select/Select.d.js +0 -5
  662. package/dist/esm/components/select/Select.d.js.map +0 -7
  663. package/dist/esm/components/select/Select.d.ts +0 -154
  664. package/dist/esm/components/select/Select.d.ts.map +0 -1
  665. package/dist/esm/components/select/index.d.js +0 -2
  666. package/dist/esm/components/select/index.d.js.map +0 -7
  667. package/dist/esm/components/select/index.d.ts +0 -2
  668. package/dist/esm/components/select/index.d.ts.map +0 -1
  669. package/dist/esm/components/this/This.d.js +0 -5
  670. package/dist/esm/components/this/This.d.js.map +0 -7
  671. package/dist/esm/components/this/This.d.ts +0 -31
  672. package/dist/esm/components/this/This.d.ts.map +0 -1
  673. package/dist/esm/components/this/index.d.js +0 -2
  674. package/dist/esm/components/this/index.d.js.map +0 -7
  675. package/dist/esm/components/this/index.d.ts +0 -2
  676. package/dist/esm/components/this/index.d.ts.map +0 -1
  677. package/dist/esm/components/timer/Timer.d.js +0 -5
  678. package/dist/esm/components/timer/Timer.d.js.map +0 -7
  679. package/dist/esm/components/timer/Timer.d.ts +0 -26
  680. package/dist/esm/components/timer/Timer.d.ts.map +0 -1
  681. package/dist/esm/components/timer/index.d.js +0 -2
  682. package/dist/esm/components/timer/index.d.js.map +0 -7
  683. package/dist/esm/components/timer/index.d.ts +0 -2
  684. package/dist/esm/components/timer/index.d.ts.map +0 -1
  685. package/dist/esm/configs/DomRenderConfig.d.js +0 -1
  686. package/dist/esm/configs/DomRenderConfig.d.js.map +0 -7
  687. package/dist/esm/configs/DomRenderConfig.d.ts +0 -39
  688. package/dist/esm/configs/DomRenderConfig.d.ts.map +0 -1
  689. package/dist/esm/configs/TargetAttr.d.js +0 -1
  690. package/dist/esm/configs/TargetAttr.d.js.map +0 -7
  691. package/dist/esm/configs/TargetAttr.d.ts +0 -7
  692. package/dist/esm/configs/TargetAttr.d.ts.map +0 -1
  693. package/dist/esm/configs/TargetElement.d.js +0 -1
  694. package/dist/esm/configs/TargetElement.d.js.map +0 -7
  695. package/dist/esm/configs/TargetElement.d.ts +0 -16
  696. package/dist/esm/configs/TargetElement.d.ts.map +0 -1
  697. package/dist/esm/configs/index.d.ts +0 -4
  698. package/dist/esm/configs/index.d.ts.map +0 -1
  699. package/dist/esm/decorators/DomRenderNoProxy.d.js +0 -2
  700. package/dist/esm/decorators/DomRenderNoProxy.d.js.map +0 -7
  701. package/dist/esm/decorators/DomRenderNoProxy.d.ts +0 -5
  702. package/dist/esm/decorators/DomRenderNoProxy.d.ts.map +0 -1
  703. package/dist/esm/decorators/index.d.ts +0 -2
  704. package/dist/esm/decorators/index.d.ts.map +0 -1
  705. package/dist/esm/events/EventManager.d.js +0 -1
  706. package/dist/esm/events/EventManager.d.js.map +0 -7
  707. package/dist/esm/events/EventManager.d.ts +0 -80
  708. package/dist/esm/events/EventManager.d.ts.map +0 -1
  709. package/dist/esm/events/index.d.ts +0 -2
  710. package/dist/esm/events/index.d.ts.map +0 -1
  711. package/dist/esm/index.d.ts +0 -3
  712. package/dist/esm/index.d.ts.map +0 -1
  713. package/dist/esm/iterators/Range.d.js +0 -1
  714. package/dist/esm/iterators/Range.d.js.map +0 -7
  715. package/dist/esm/iterators/Range.d.ts +0 -24
  716. package/dist/esm/iterators/Range.d.ts.map +0 -1
  717. package/dist/esm/iterators/index.d.ts +0 -2
  718. package/dist/esm/iterators/index.d.ts.map +0 -1
  719. package/dist/esm/lifecycle/OnBeforeReturnGet.d.ts +0 -4
  720. package/dist/esm/lifecycle/OnBeforeReturnGet.d.ts.map +0 -1
  721. package/dist/esm/lifecycle/OnBeforeReturnSet.d.js +0 -1
  722. package/dist/esm/lifecycle/OnBeforeReturnSet.d.js.map +0 -7
  723. package/dist/esm/lifecycle/OnBeforeReturnSet.d.ts +0 -5
  724. package/dist/esm/lifecycle/OnBeforeReturnSet.d.ts.map +0 -1
  725. package/dist/esm/lifecycle/OnChangeAttrRender.d.js +0 -1
  726. package/dist/esm/lifecycle/OnChangeAttrRender.d.js.map +0 -7
  727. package/dist/esm/lifecycle/OnChangeAttrRender.d.ts +0 -9
  728. package/dist/esm/lifecycle/OnChangeAttrRender.d.ts.map +0 -1
  729. package/dist/esm/lifecycle/OnChildRenderedByProperty.d.js +0 -1
  730. package/dist/esm/lifecycle/OnChildRenderedByProperty.d.js.map +0 -7
  731. package/dist/esm/lifecycle/OnChildRenderedByProperty.d.ts +0 -5
  732. package/dist/esm/lifecycle/OnChildRenderedByProperty.d.ts.map +0 -1
  733. package/dist/esm/lifecycle/OnCreateRender.d.js +0 -1
  734. package/dist/esm/lifecycle/OnCreateRender.d.js.map +0 -7
  735. package/dist/esm/lifecycle/OnCreateRender.d.ts +0 -5
  736. package/dist/esm/lifecycle/OnCreateRender.d.ts.map +0 -1
  737. package/dist/esm/lifecycle/OnCreateRenderData.d.js +0 -1
  738. package/dist/esm/lifecycle/OnCreateRenderData.d.js.map +0 -7
  739. package/dist/esm/lifecycle/OnCreateRenderData.d.ts +0 -10
  740. package/dist/esm/lifecycle/OnCreateRenderData.d.ts.map +0 -1
  741. package/dist/esm/lifecycle/OnCreateRendered.d.ts +0 -8
  742. package/dist/esm/lifecycle/OnCreateRendered.d.ts.map +0 -1
  743. package/dist/esm/lifecycle/OnCreatedThisChild.d.js +0 -1
  744. package/dist/esm/lifecycle/OnCreatedThisChild.d.js.map +0 -7
  745. package/dist/esm/lifecycle/OnCreatedThisChild.d.ts +0 -6
  746. package/dist/esm/lifecycle/OnCreatedThisChild.d.ts.map +0 -1
  747. package/dist/esm/lifecycle/OnDestroyRender.d.js +0 -1
  748. package/dist/esm/lifecycle/OnDestroyRender.d.js.map +0 -7
  749. package/dist/esm/lifecycle/OnDestroyRender.d.ts +0 -9
  750. package/dist/esm/lifecycle/OnDestroyRender.d.ts.map +0 -1
  751. package/dist/esm/lifecycle/OnInitRender.d.js +0 -1
  752. package/dist/esm/lifecycle/OnInitRender.d.js.map +0 -7
  753. package/dist/esm/lifecycle/OnInitRender.d.ts +0 -6
  754. package/dist/esm/lifecycle/OnInitRender.d.ts.map +0 -1
  755. package/dist/esm/lifecycle/OnProxyDomRender.d.js +0 -1
  756. package/dist/esm/lifecycle/OnProxyDomRender.d.js.map +0 -7
  757. package/dist/esm/lifecycle/OnProxyDomRender.d.ts +0 -6
  758. package/dist/esm/lifecycle/OnProxyDomRender.d.ts.map +0 -1
  759. package/dist/esm/lifecycle/dr-this/OnDrThisBind.d.js +0 -1
  760. package/dist/esm/lifecycle/dr-this/OnDrThisBind.d.js.map +0 -7
  761. package/dist/esm/lifecycle/dr-this/OnDrThisBind.d.ts +0 -5
  762. package/dist/esm/lifecycle/dr-this/OnDrThisBind.d.ts.map +0 -1
  763. package/dist/esm/lifecycle/dr-this/OnDrThisUnBind.d.js +0 -1
  764. package/dist/esm/lifecycle/dr-this/OnDrThisUnBind.d.js.map +0 -7
  765. package/dist/esm/lifecycle/dr-this/OnDrThisUnBind.d.ts +0 -5
  766. package/dist/esm/lifecycle/dr-this/OnDrThisUnBind.d.ts.map +0 -1
  767. package/dist/esm/lifecycle/dr-this/index.d.ts +0 -3
  768. package/dist/esm/lifecycle/dr-this/index.d.ts.map +0 -1
  769. package/dist/esm/lifecycle/index.d.ts +0 -13
  770. package/dist/esm/lifecycle/index.d.ts.map +0 -1
  771. package/dist/esm/managers/RenderManager.d.ts +0 -2
  772. package/dist/esm/managers/RenderManager.d.ts.map +0 -1
  773. package/dist/esm/managers/RenderManager.js +0 -1
  774. package/dist/esm/managers/RenderManager.js.map +0 -7
  775. package/dist/esm/managers/index.d.ts +0 -2
  776. package/dist/esm/managers/index.d.ts.map +0 -1
  777. package/dist/esm/managers/index.js +0 -2
  778. package/dist/esm/managers/index.js.map +0 -7
  779. package/dist/esm/messenger/DefaultMessenger.d.js +0 -1
  780. package/dist/esm/messenger/DefaultMessenger.d.js.map +0 -7
  781. package/dist/esm/messenger/DefaultMessenger.d.ts +0 -4
  782. package/dist/esm/messenger/DefaultMessenger.d.ts.map +0 -1
  783. package/dist/esm/messenger/Messenger.d.js +0 -1
  784. package/dist/esm/messenger/Messenger.d.js.map +0 -7
  785. package/dist/esm/messenger/Messenger.d.ts +0 -79
  786. package/dist/esm/messenger/Messenger.d.ts.map +0 -1
  787. package/dist/esm/messenger/index.d.ts +0 -3
  788. package/dist/esm/messenger/index.d.ts.map +0 -1
  789. package/dist/esm/operators/Appender.d.js +0 -1
  790. package/dist/esm/operators/Appender.d.js.map +0 -7
  791. package/dist/esm/operators/Appender.d.ts +0 -15
  792. package/dist/esm/operators/Appender.d.ts.map +0 -1
  793. package/dist/esm/operators/Dr.d.js +0 -1
  794. package/dist/esm/operators/Dr.d.js.map +0 -7
  795. package/dist/esm/operators/Dr.d.ts +0 -9
  796. package/dist/esm/operators/Dr.d.ts.map +0 -1
  797. package/dist/esm/operators/DrAppender.d.js +0 -1
  798. package/dist/esm/operators/DrAppender.d.js.map +0 -7
  799. package/dist/esm/operators/DrAppender.d.ts +0 -9
  800. package/dist/esm/operators/DrAppender.d.ts.map +0 -1
  801. package/dist/esm/operators/DrFor.d.js +0 -1
  802. package/dist/esm/operators/DrFor.d.js.map +0 -7
  803. package/dist/esm/operators/DrFor.d.ts +0 -9
  804. package/dist/esm/operators/DrFor.d.ts.map +0 -1
  805. package/dist/esm/operators/DrForOf.d.js +0 -1
  806. package/dist/esm/operators/DrForOf.d.js.map +0 -7
  807. package/dist/esm/operators/DrForOf.d.ts +0 -9
  808. package/dist/esm/operators/DrForOf.d.ts.map +0 -1
  809. package/dist/esm/operators/DrForm.d.js +0 -1
  810. package/dist/esm/operators/DrForm.d.js.map +0 -7
  811. package/dist/esm/operators/DrForm.d.ts +0 -9
  812. package/dist/esm/operators/DrForm.d.ts.map +0 -1
  813. package/dist/esm/operators/DrIf.d.js +0 -1
  814. package/dist/esm/operators/DrIf.d.js.map +0 -7
  815. package/dist/esm/operators/DrIf.d.ts +0 -9
  816. package/dist/esm/operators/DrIf.d.ts.map +0 -1
  817. package/dist/esm/operators/DrInnerHTML.d.js +0 -1
  818. package/dist/esm/operators/DrInnerHTML.d.js.map +0 -7
  819. package/dist/esm/operators/DrInnerHTML.d.ts +0 -9
  820. package/dist/esm/operators/DrInnerHTML.d.ts.map +0 -1
  821. package/dist/esm/operators/DrInnerText.d.js +0 -1
  822. package/dist/esm/operators/DrInnerText.d.js.map +0 -7
  823. package/dist/esm/operators/DrInnerText.d.ts +0 -9
  824. package/dist/esm/operators/DrInnerText.d.ts.map +0 -1
  825. package/dist/esm/operators/DrPre.d.js +0 -1
  826. package/dist/esm/operators/DrPre.d.js.map +0 -7
  827. package/dist/esm/operators/DrPre.d.ts +0 -8
  828. package/dist/esm/operators/DrPre.d.ts.map +0 -1
  829. package/dist/esm/operators/DrRepeat.d.js +0 -1
  830. package/dist/esm/operators/DrRepeat.d.js.map +0 -7
  831. package/dist/esm/operators/DrRepeat.d.ts +0 -9
  832. package/dist/esm/operators/DrRepeat.d.ts.map +0 -1
  833. package/dist/esm/operators/DrStripElement.d.js +0 -1
  834. package/dist/esm/operators/DrStripElement.d.js.map +0 -7
  835. package/dist/esm/operators/DrStripElement.d.ts +0 -9
  836. package/dist/esm/operators/DrStripElement.d.ts.map +0 -1
  837. package/dist/esm/operators/DrTargetAttr.d.js +0 -1
  838. package/dist/esm/operators/DrTargetAttr.d.js.map +0 -7
  839. package/dist/esm/operators/DrTargetAttr.d.ts +0 -8
  840. package/dist/esm/operators/DrTargetAttr.d.ts.map +0 -1
  841. package/dist/esm/operators/DrTargetElement.d.js +0 -1
  842. package/dist/esm/operators/DrTargetElement.d.js.map +0 -7
  843. package/dist/esm/operators/DrTargetElement.d.ts +0 -13
  844. package/dist/esm/operators/DrTargetElement.d.ts.map +0 -1
  845. package/dist/esm/operators/DrTargetElementIsElement.d.js +0 -1
  846. package/dist/esm/operators/DrTargetElementIsElement.d.js.map +0 -7
  847. package/dist/esm/operators/DrTargetElementIsElement.d.ts +0 -8
  848. package/dist/esm/operators/DrTargetElementIsElement.d.ts.map +0 -1
  849. package/dist/esm/operators/DrThis.d.js +0 -1
  850. package/dist/esm/operators/DrThis.d.js.map +0 -7
  851. package/dist/esm/operators/DrThis.d.ts +0 -7
  852. package/dist/esm/operators/DrThis.d.ts.map +0 -1
  853. package/dist/esm/operators/DrThisProperty.d.js +0 -1
  854. package/dist/esm/operators/DrThisProperty.d.js.map +0 -7
  855. package/dist/esm/operators/DrThisProperty.d.ts +0 -11
  856. package/dist/esm/operators/DrThisProperty.d.ts.map +0 -1
  857. package/dist/esm/operators/OperatorExecuter.d.js +0 -1
  858. package/dist/esm/operators/OperatorExecuter.d.js.map +0 -7
  859. package/dist/esm/operators/OperatorExecuter.d.ts +0 -50
  860. package/dist/esm/operators/OperatorExecuter.d.ts.map +0 -1
  861. package/dist/esm/operators/OperatorExecuterAttrRequire.d.js +0 -1
  862. package/dist/esm/operators/OperatorExecuterAttrRequire.d.js.map +0 -7
  863. package/dist/esm/operators/OperatorExecuterAttrRequire.d.ts +0 -9
  864. package/dist/esm/operators/OperatorExecuterAttrRequire.d.ts.map +0 -1
  865. package/dist/esm/operators/index.d.ts +0 -20
  866. package/dist/esm/operators/index.d.ts.map +0 -1
  867. package/dist/esm/rawsets/AttrInitCallBack.d.js +0 -1
  868. package/dist/esm/rawsets/AttrInitCallBack.d.js.map +0 -7
  869. package/dist/esm/rawsets/AttrInitCallBack.d.ts +0 -6
  870. package/dist/esm/rawsets/AttrInitCallBack.d.ts.map +0 -1
  871. package/dist/esm/rawsets/Attrs.d.js +0 -1
  872. package/dist/esm/rawsets/Attrs.d.js.map +0 -7
  873. package/dist/esm/rawsets/Attrs.d.ts +0 -29
  874. package/dist/esm/rawsets/Attrs.d.ts.map +0 -1
  875. package/dist/esm/rawsets/CreatorMetaData.d.js +0 -1
  876. package/dist/esm/rawsets/CreatorMetaData.d.js.map +0 -7
  877. package/dist/esm/rawsets/CreatorMetaData.d.ts +0 -20
  878. package/dist/esm/rawsets/CreatorMetaData.d.ts.map +0 -1
  879. package/dist/esm/rawsets/DestroyOptionType.d.js +0 -1
  880. package/dist/esm/rawsets/DestroyOptionType.d.js.map +0 -7
  881. package/dist/esm/rawsets/DestroyOptionType.d.ts +0 -5
  882. package/dist/esm/rawsets/DestroyOptionType.d.ts.map +0 -1
  883. package/dist/esm/rawsets/ElementInitCallBack.d.js +0 -1
  884. package/dist/esm/rawsets/ElementInitCallBack.d.js.map +0 -7
  885. package/dist/esm/rawsets/ElementInitCallBack.d.ts +0 -9
  886. package/dist/esm/rawsets/ElementInitCallBack.d.ts.map +0 -1
  887. package/dist/esm/rawsets/RawSet.d.js +0 -1
  888. package/dist/esm/rawsets/RawSet.d.js.map +0 -7
  889. package/dist/esm/rawsets/RawSet.d.ts +0 -180
  890. package/dist/esm/rawsets/RawSet.d.ts.map +0 -1
  891. package/dist/esm/rawsets/RawSetOperatorType.d.js +0 -1
  892. package/dist/esm/rawsets/RawSetOperatorType.d.js.map +0 -7
  893. package/dist/esm/rawsets/RawSetOperatorType.d.ts +0 -4
  894. package/dist/esm/rawsets/RawSetOperatorType.d.ts.map +0 -1
  895. package/dist/esm/rawsets/RawSetType.d.js +0 -1
  896. package/dist/esm/rawsets/RawSetType.d.js.map +0 -7
  897. package/dist/esm/rawsets/RawSetType.d.ts +0 -8
  898. package/dist/esm/rawsets/RawSetType.d.ts.map +0 -1
  899. package/dist/esm/rawsets/Render.d.js +0 -1
  900. package/dist/esm/rawsets/Render.d.js.map +0 -7
  901. package/dist/esm/rawsets/Render.d.ts +0 -27
  902. package/dist/esm/rawsets/Render.d.ts.map +0 -1
  903. package/dist/esm/rawsets/index.d.ts +0 -10
  904. package/dist/esm/rawsets/index.d.ts.map +0 -1
  905. package/dist/esm/routers/HashRouter.d.js +0 -1
  906. package/dist/esm/routers/HashRouter.d.js.map +0 -7
  907. package/dist/esm/routers/HashRouter.d.ts +0 -25
  908. package/dist/esm/routers/HashRouter.d.ts.map +0 -1
  909. package/dist/esm/routers/PathRouter.d.js +0 -1
  910. package/dist/esm/routers/PathRouter.d.js.map +0 -7
  911. package/dist/esm/routers/PathRouter.d.ts +0 -24
  912. package/dist/esm/routers/PathRouter.d.ts.map +0 -1
  913. package/dist/esm/routers/Router.d.js +0 -2
  914. package/dist/esm/routers/Router.d.js.map +0 -7
  915. package/dist/esm/routers/Router.d.ts +0 -83
  916. package/dist/esm/routers/Router.d.ts.map +0 -1
  917. package/dist/esm/routers/index.d.ts +0 -4
  918. package/dist/esm/routers/index.d.ts.map +0 -1
  919. package/dist/esm/types/Types.d.js +0 -1
  920. package/dist/esm/types/Types.d.js.map +0 -7
  921. package/dist/esm/types/Types.d.ts +0 -12
  922. package/dist/esm/types/Types.d.ts.map +0 -1
  923. package/dist/esm/types/index.d.ts +0 -2
  924. package/dist/esm/types/index.d.ts.map +0 -1
  925. package/dist/esm/types/type.d.ts +0 -25
  926. package/dist/esm/types/type.d.ts.map +0 -1
  927. package/dist/esm/validators/AllCheckedValidatorArray.d.ts +0 -7
  928. package/dist/esm/validators/AllCheckedValidatorArray.d.ts.map +0 -1
  929. package/dist/esm/validators/AllUnCheckedValidatorArray.d.ts +0 -7
  930. package/dist/esm/validators/AllUnCheckedValidatorArray.d.ts.map +0 -1
  931. package/dist/esm/validators/CheckedValidator.d.ts +0 -6
  932. package/dist/esm/validators/CheckedValidator.d.ts.map +0 -1
  933. package/dist/esm/validators/CountEqualsCheckedValidatorArray.d.ts +0 -8
  934. package/dist/esm/validators/CountEqualsCheckedValidatorArray.d.ts.map +0 -1
  935. package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.d.ts +0 -8
  936. package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.d.ts.map +0 -1
  937. package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.d.ts +0 -8
  938. package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.d.ts.map +0 -1
  939. package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts +0 -8
  940. package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts.map +0 -1
  941. package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts +0 -8
  942. package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts.map +0 -1
  943. package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.d.ts +0 -8
  944. package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.d.ts.map +0 -1
  945. package/dist/esm/validators/CountLessThanCheckedValidatorArray.d.ts +0 -8
  946. package/dist/esm/validators/CountLessThanCheckedValidatorArray.d.ts.map +0 -1
  947. package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.d.ts +0 -8
  948. package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.d.ts.map +0 -1
  949. package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts +0 -8
  950. package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts.map +0 -1
  951. package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.d.ts +0 -8
  952. package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.d.ts.map +0 -1
  953. package/dist/esm/validators/CountUnCheckedValidatorArray.d.ts +0 -8
  954. package/dist/esm/validators/CountUnCheckedValidatorArray.d.ts.map +0 -1
  955. package/dist/esm/validators/EmptyValidator.d.ts +0 -6
  956. package/dist/esm/validators/EmptyValidator.d.ts.map +0 -1
  957. package/dist/esm/validators/ExcludeCheckedValidatorArray.d.ts +0 -9
  958. package/dist/esm/validators/ExcludeCheckedValidatorArray.d.ts.map +0 -1
  959. package/dist/esm/validators/FormValidator.d.ts +0 -8
  960. package/dist/esm/validators/FormValidator.d.ts.map +0 -1
  961. package/dist/esm/validators/IncludeCheckedValidatorArray.d.ts +0 -9
  962. package/dist/esm/validators/IncludeCheckedValidatorArray.d.ts.map +0 -1
  963. package/dist/esm/validators/MultipleValidator.d.ts +0 -9
  964. package/dist/esm/validators/MultipleValidator.d.ts.map +0 -1
  965. package/dist/esm/validators/NonPassValidator.d.js +0 -1
  966. package/dist/esm/validators/NonPassValidator.d.js.map +0 -7
  967. package/dist/esm/validators/NonPassValidator.d.ts +0 -6
  968. package/dist/esm/validators/NonPassValidator.d.ts.map +0 -1
  969. package/dist/esm/validators/NotEmptyValidator.d.ts +0 -6
  970. package/dist/esm/validators/NotEmptyValidator.d.ts.map +0 -1
  971. package/dist/esm/validators/NotRegExpTestValidator.d.ts +0 -7
  972. package/dist/esm/validators/NotRegExpTestValidator.d.ts.map +0 -1
  973. package/dist/esm/validators/PassValidator.d.ts +0 -6
  974. package/dist/esm/validators/PassValidator.d.ts.map +0 -1
  975. package/dist/esm/validators/RegExpTestValidator.d.ts +0 -7
  976. package/dist/esm/validators/RegExpTestValidator.d.ts.map +0 -1
  977. package/dist/esm/validators/RequiredValidator.d.ts +0 -6
  978. package/dist/esm/validators/RequiredValidator.d.ts.map +0 -1
  979. package/dist/esm/validators/UnCheckedValidator.d.ts +0 -6
  980. package/dist/esm/validators/UnCheckedValidator.d.ts.map +0 -1
  981. package/dist/esm/validators/ValidMultipleValidator.d.ts +0 -10
  982. package/dist/esm/validators/ValidMultipleValidator.d.ts.map +0 -1
  983. package/dist/esm/validators/ValidValidator.d.ts +0 -7
  984. package/dist/esm/validators/ValidValidator.d.ts.map +0 -1
  985. package/dist/esm/validators/ValidValidatorArray.d.ts +0 -8
  986. package/dist/esm/validators/ValidValidatorArray.d.ts.map +0 -1
  987. package/dist/esm/validators/Validator.d.js +0 -1
  988. package/dist/esm/validators/Validator.d.js.map +0 -7
  989. package/dist/esm/validators/Validator.d.ts +0 -58
  990. package/dist/esm/validators/Validator.d.ts.map +0 -1
  991. package/dist/esm/validators/ValidatorArray.d.js +0 -1
  992. package/dist/esm/validators/ValidatorArray.d.js.map +0 -7
  993. package/dist/esm/validators/ValidatorArray.d.ts +0 -18
  994. package/dist/esm/validators/ValidatorArray.d.ts.map +0 -1
  995. package/dist/esm/validators/ValueEqualsValidator.d.ts +0 -7
  996. package/dist/esm/validators/ValueEqualsValidator.d.ts.map +0 -1
  997. package/dist/esm/validators/ValueNotEqualsValidator.d.ts +0 -7
  998. package/dist/esm/validators/ValueNotEqualsValidator.d.ts.map +0 -1
  999. package/dist/esm/validators/index.d.ts +0 -32
  1000. package/dist/esm/validators/index.d.ts.map +0 -1
  1001. /package/dist/{cjs → types}/DomRenderProxy.d.ts +0 -0
  1002. /package/dist/{cjs → types}/components/ComponentSet.d.ts +0 -0
  1003. /package/dist/{cjs → types}/components/ComponentSet.d.ts.map +0 -0
  1004. /package/dist/{cjs → types}/components/a/A.d.ts +0 -0
  1005. /package/dist/{cjs → types}/components/a/A.d.ts.map +0 -0
  1006. /package/dist/{cjs → types}/components/a/index.d.ts +0 -0
  1007. /package/dist/{cjs → types}/components/a/index.d.ts.map +0 -0
  1008. /package/dist/{cjs → types}/components/appender/Appender.d.ts +0 -0
  1009. /package/dist/{cjs → types}/components/appender/Appender.d.ts.map +0 -0
  1010. /package/dist/{cjs → types}/components/appender/index.d.ts +0 -0
  1011. /package/dist/{cjs → types}/components/appender/index.d.ts.map +0 -0
  1012. /package/dist/{cjs → types}/components/checkbox/CheckBox.d.ts +0 -0
  1013. /package/dist/{cjs → types}/components/checkbox/CheckBox.d.ts.map +0 -0
  1014. /package/dist/{cjs → types}/components/checkbox/index.d.ts +0 -0
  1015. /package/dist/{cjs → types}/components/checkbox/index.d.ts.map +0 -0
  1016. /package/dist/{cjs → types}/components/choose/Choose.d.ts +0 -0
  1017. /package/dist/{cjs → types}/components/choose/index.d.ts +0 -0
  1018. /package/dist/{cjs → types}/components/choose/index.d.ts.map +0 -0
  1019. /package/dist/{cjs → types}/components/details/Details.d.ts +0 -0
  1020. /package/dist/{cjs → types}/components/details/Details.d.ts.map +0 -0
  1021. /package/dist/{cjs → types}/components/details/index.d.ts +0 -0
  1022. /package/dist/{cjs → types}/components/details/index.d.ts.map +0 -0
  1023. /package/dist/{cjs → types}/components/dialog/Dialog.d.ts +0 -0
  1024. /package/dist/{cjs → types}/components/dialog/Dialog.d.ts.map +0 -0
  1025. /package/dist/{cjs → types}/components/dialog/example/ImageEditorDialog.d.ts +0 -0
  1026. /package/dist/{cjs → types}/components/dialog/example/ImageEditorDialog.d.ts.map +0 -0
  1027. /package/dist/{cjs → types}/components/forOf/ForOf.d.ts +0 -0
  1028. /package/dist/{cjs → types}/components/forOf/ForOf.d.ts.map +0 -0
  1029. /package/dist/{cjs → types}/components/forOf/index.d.ts +0 -0
  1030. /package/dist/{cjs → types}/components/forOf/index.d.ts.map +0 -0
  1031. /package/dist/{cjs → types}/components/if/If.d.ts +0 -0
  1032. /package/dist/{cjs → types}/components/if/If.d.ts.map +0 -0
  1033. /package/dist/{cjs → types}/components/if/index.d.ts +0 -0
  1034. /package/dist/{cjs → types}/components/if/index.d.ts.map +0 -0
  1035. /package/dist/{cjs → types}/components/input/Input.d.ts +0 -0
  1036. /package/dist/{cjs → types}/components/input/Input.d.ts.map +0 -0
  1037. /package/dist/{cjs → types}/components/input/index.d.ts +0 -0
  1038. /package/dist/{cjs → types}/components/input/index.d.ts.map +0 -0
  1039. /package/dist/{cjs → types}/components/promise/PromiseSwitch.d.ts +0 -0
  1040. /package/dist/{cjs → types}/components/promise/PromiseSwitch.d.ts.map +0 -0
  1041. /package/dist/{cjs → types}/components/promise/index.d.ts +0 -0
  1042. /package/dist/{cjs → types}/components/promise/index.d.ts.map +0 -0
  1043. /package/dist/{cjs → types}/components/radio/Radio.d.ts +0 -0
  1044. /package/dist/{cjs → types}/components/radio/Radio.d.ts.map +0 -0
  1045. /package/dist/{cjs → types}/components/radio/index.d.ts +0 -0
  1046. /package/dist/{cjs → types}/components/radio/index.d.ts.map +0 -0
  1047. /package/dist/{cjs → types}/components/router/Route.d.ts +0 -0
  1048. /package/dist/{cjs → types}/components/router/Route.d.ts.map +0 -0
  1049. /package/dist/{cjs → types}/components/router/index.d.ts +0 -0
  1050. /package/dist/{cjs → types}/components/router/index.d.ts.map +0 -0
  1051. /package/dist/{cjs → types}/components/select/index.d.ts +0 -0
  1052. /package/dist/{cjs → types}/components/select/index.d.ts.map +0 -0
  1053. /package/dist/{cjs → types}/components/this/This.d.ts +0 -0
  1054. /package/dist/{cjs → types}/components/this/This.d.ts.map +0 -0
  1055. /package/dist/{cjs → types}/components/this/index.d.ts +0 -0
  1056. /package/dist/{cjs → types}/components/this/index.d.ts.map +0 -0
  1057. /package/dist/{cjs → types}/components/timer/index.d.ts +0 -0
  1058. /package/dist/{cjs → types}/components/timer/index.d.ts.map +0 -0
  1059. /package/dist/{cjs → types}/configs/DomRenderConfig.d.ts +0 -0
  1060. /package/dist/{cjs → types}/configs/DomRenderConfig.d.ts.map +0 -0
  1061. /package/dist/{cjs → types}/configs/TargetAttr.d.ts +0 -0
  1062. /package/dist/{cjs → types}/configs/TargetAttr.d.ts.map +0 -0
  1063. /package/dist/{cjs → types}/configs/TargetElement.d.ts +0 -0
  1064. /package/dist/{cjs → types}/configs/TargetElement.d.ts.map +0 -0
  1065. /package/dist/{cjs → types}/configs/index.d.ts +0 -0
  1066. /package/dist/{cjs → types}/configs/index.d.ts.map +0 -0
  1067. /package/dist/{cjs → types}/decorators/DomRenderNoProxy.d.ts +0 -0
  1068. /package/dist/{cjs → types}/decorators/index.d.ts +0 -0
  1069. /package/dist/{cjs → types}/decorators/index.d.ts.map +0 -0
  1070. /package/dist/{cjs → types}/events/EventManager.d.ts +0 -0
  1071. /package/dist/{cjs → types}/events/EventManager.d.ts.map +0 -0
  1072. /package/dist/{cjs → types}/events/index.d.ts +0 -0
  1073. /package/dist/{cjs → types}/events/index.d.ts.map +0 -0
  1074. /package/dist/{cjs → types}/index.d.ts.map +0 -0
  1075. /package/dist/{cjs → types}/iterators/Range.d.ts +0 -0
  1076. /package/dist/{cjs → types}/iterators/Range.d.ts.map +0 -0
  1077. /package/dist/{cjs → types}/iterators/index.d.ts +0 -0
  1078. /package/dist/{cjs → types}/iterators/index.d.ts.map +0 -0
  1079. /package/dist/{cjs → types}/lifecycle/OnBeforeReturnGet.d.ts +0 -0
  1080. /package/dist/{cjs → types}/lifecycle/OnBeforeReturnGet.d.ts.map +0 -0
  1081. /package/dist/{cjs → types}/lifecycle/OnBeforeReturnSet.d.ts +0 -0
  1082. /package/dist/{cjs → types}/lifecycle/OnBeforeReturnSet.d.ts.map +0 -0
  1083. /package/dist/{cjs → types}/lifecycle/OnChangeAttrRender.d.ts +0 -0
  1084. /package/dist/{cjs → types}/lifecycle/OnChangeAttrRender.d.ts.map +0 -0
  1085. /package/dist/{cjs → types}/lifecycle/OnChildRenderedByProperty.d.ts +0 -0
  1086. /package/dist/{cjs → types}/lifecycle/OnChildRenderedByProperty.d.ts.map +0 -0
  1087. /package/dist/{cjs → types}/lifecycle/OnCreateRender.d.ts +0 -0
  1088. /package/dist/{cjs → types}/lifecycle/OnCreateRender.d.ts.map +0 -0
  1089. /package/dist/{cjs → types}/lifecycle/OnCreateRenderData.d.ts +0 -0
  1090. /package/dist/{cjs → types}/lifecycle/OnCreateRenderData.d.ts.map +0 -0
  1091. /package/dist/{cjs → types}/lifecycle/OnCreateRendered.d.ts +0 -0
  1092. /package/dist/{cjs → types}/lifecycle/OnCreateRendered.d.ts.map +0 -0
  1093. /package/dist/{cjs → types}/lifecycle/OnCreatedThisChild.d.ts +0 -0
  1094. /package/dist/{cjs → types}/lifecycle/OnCreatedThisChild.d.ts.map +0 -0
  1095. /package/dist/{cjs → types}/lifecycle/OnDestroyRender.d.ts +0 -0
  1096. /package/dist/{cjs → types}/lifecycle/OnDestroyRender.d.ts.map +0 -0
  1097. /package/dist/{cjs → types}/lifecycle/OnInitRender.d.ts +0 -0
  1098. /package/dist/{cjs → types}/lifecycle/OnInitRender.d.ts.map +0 -0
  1099. /package/dist/{cjs → types}/lifecycle/OnProxyDomRender.d.ts +0 -0
  1100. /package/dist/{cjs → types}/lifecycle/OnProxyDomRender.d.ts.map +0 -0
  1101. /package/dist/{cjs → types}/lifecycle/dr-this/OnDrThisBind.d.ts +0 -0
  1102. /package/dist/{cjs → types}/lifecycle/dr-this/OnDrThisBind.d.ts.map +0 -0
  1103. /package/dist/{cjs → types}/lifecycle/dr-this/OnDrThisUnBind.d.ts +0 -0
  1104. /package/dist/{cjs → types}/lifecycle/dr-this/OnDrThisUnBind.d.ts.map +0 -0
  1105. /package/dist/{cjs → types}/lifecycle/dr-this/index.d.ts +0 -0
  1106. /package/dist/{cjs → types}/lifecycle/dr-this/index.d.ts.map +0 -0
  1107. /package/dist/{cjs → types}/messenger/DefaultMessenger.d.ts +0 -0
  1108. /package/dist/{cjs → types}/messenger/DefaultMessenger.d.ts.map +0 -0
  1109. /package/dist/{cjs → types}/messenger/Messenger.d.ts +0 -0
  1110. /package/dist/{cjs → types}/messenger/Messenger.d.ts.map +0 -0
  1111. /package/dist/{cjs → types}/messenger/index.d.ts +0 -0
  1112. /package/dist/{cjs → types}/messenger/index.d.ts.map +0 -0
  1113. /package/dist/{cjs → types}/operators/Appender.d.ts +0 -0
  1114. /package/dist/{cjs → types}/operators/Appender.d.ts.map +0 -0
  1115. /package/dist/{cjs → types}/operators/Dr.d.ts +0 -0
  1116. /package/dist/{cjs → types}/operators/Dr.d.ts.map +0 -0
  1117. /package/dist/{cjs → types}/operators/DrAppender.d.ts +0 -0
  1118. /package/dist/{cjs → types}/operators/DrAppender.d.ts.map +0 -0
  1119. /package/dist/{cjs → types}/operators/DrFor.d.ts +0 -0
  1120. /package/dist/{cjs → types}/operators/DrFor.d.ts.map +0 -0
  1121. /package/dist/{cjs → types}/operators/DrForOf.d.ts +0 -0
  1122. /package/dist/{cjs → types}/operators/DrForOf.d.ts.map +0 -0
  1123. /package/dist/{cjs → types}/operators/DrForm.d.ts +0 -0
  1124. /package/dist/{cjs → types}/operators/DrForm.d.ts.map +0 -0
  1125. /package/dist/{cjs → types}/operators/DrIf.d.ts +0 -0
  1126. /package/dist/{cjs → types}/operators/DrIf.d.ts.map +0 -0
  1127. /package/dist/{cjs → types}/operators/DrInnerHTML.d.ts +0 -0
  1128. /package/dist/{cjs → types}/operators/DrInnerHTML.d.ts.map +0 -0
  1129. /package/dist/{cjs → types}/operators/DrInnerText.d.ts +0 -0
  1130. /package/dist/{cjs → types}/operators/DrInnerText.d.ts.map +0 -0
  1131. /package/dist/{cjs → types}/operators/DrPre.d.ts +0 -0
  1132. /package/dist/{cjs → types}/operators/DrPre.d.ts.map +0 -0
  1133. /package/dist/{cjs → types}/operators/DrRepeat.d.ts +0 -0
  1134. /package/dist/{cjs → types}/operators/DrRepeat.d.ts.map +0 -0
  1135. /package/dist/{cjs → types}/operators/DrStripElement.d.ts +0 -0
  1136. /package/dist/{cjs → types}/operators/DrStripElement.d.ts.map +0 -0
  1137. /package/dist/{cjs → types}/operators/DrTargetAttr.d.ts +0 -0
  1138. /package/dist/{cjs → types}/operators/DrTargetAttr.d.ts.map +0 -0
  1139. /package/dist/{cjs → types}/operators/DrTargetElement.d.ts +0 -0
  1140. /package/dist/{cjs → types}/operators/DrTargetElementIsElement.d.ts +0 -0
  1141. /package/dist/{cjs → types}/operators/DrTargetElementIsElement.d.ts.map +0 -0
  1142. /package/dist/{cjs → types}/operators/DrThis.d.ts +0 -0
  1143. /package/dist/{cjs → types}/operators/DrThis.d.ts.map +0 -0
  1144. /package/dist/{cjs → types}/operators/DrThisProperty.d.ts +0 -0
  1145. /package/dist/{cjs → types}/operators/DrThisProperty.d.ts.map +0 -0
  1146. /package/dist/{cjs → types}/operators/OperatorExecuter.d.ts +0 -0
  1147. /package/dist/{cjs → types}/operators/OperatorExecuterAttrRequire.d.ts +0 -0
  1148. /package/dist/{cjs → types}/operators/OperatorExecuterAttrRequire.d.ts.map +0 -0
  1149. /package/dist/{cjs → types}/operators/index.d.ts +0 -0
  1150. /package/dist/{cjs → types}/operators/index.d.ts.map +0 -0
  1151. /package/dist/{cjs → types}/rawsets/AttrInitCallBack.d.ts +0 -0
  1152. /package/dist/{cjs → types}/rawsets/AttrInitCallBack.d.ts.map +0 -0
  1153. /package/dist/{cjs → types}/rawsets/Attrs.d.ts +0 -0
  1154. /package/dist/{cjs → types}/rawsets/Attrs.d.ts.map +0 -0
  1155. /package/dist/{cjs → types}/rawsets/CreatorMetaData.d.ts +0 -0
  1156. /package/dist/{cjs → types}/rawsets/CreatorMetaData.d.ts.map +0 -0
  1157. /package/dist/{cjs → types}/rawsets/DestroyOptionType.d.ts +0 -0
  1158. /package/dist/{cjs → types}/rawsets/DestroyOptionType.d.ts.map +0 -0
  1159. /package/dist/{cjs → types}/rawsets/ElementInitCallBack.d.ts +0 -0
  1160. /package/dist/{cjs → types}/rawsets/ElementInitCallBack.d.ts.map +0 -0
  1161. /package/dist/{cjs → types}/rawsets/RawSetOperatorType.d.ts +0 -0
  1162. /package/dist/{cjs → types}/rawsets/RawSetOperatorType.d.ts.map +0 -0
  1163. /package/dist/{cjs → types}/rawsets/RawSetType.d.ts +0 -0
  1164. /package/dist/{cjs → types}/rawsets/RawSetType.d.ts.map +0 -0
  1165. /package/dist/{cjs → types}/rawsets/index.d.ts +0 -0
  1166. /package/dist/{cjs → types}/rawsets/index.d.ts.map +0 -0
  1167. /package/dist/{cjs → types}/routers/HashRouter.d.ts +0 -0
  1168. /package/dist/{cjs → types}/routers/HashRouter.d.ts.map +0 -0
  1169. /package/dist/{cjs → types}/routers/PathRouter.d.ts +0 -0
  1170. /package/dist/{cjs → types}/routers/PathRouter.d.ts.map +0 -0
  1171. /package/dist/{cjs → types}/routers/index.d.ts +0 -0
  1172. /package/dist/{cjs → types}/routers/index.d.ts.map +0 -0
  1173. /package/dist/{cjs → types}/types/Types.d.ts +0 -0
  1174. /package/dist/{cjs → types}/types/Types.d.ts.map +0 -0
  1175. /package/dist/{cjs → types}/types/index.d.ts +0 -0
  1176. /package/dist/{cjs → types}/types/index.d.ts.map +0 -0
  1177. /package/dist/{cjs → types}/types/type.d.ts +0 -0
  1178. /package/dist/{cjs → types}/types/type.d.ts.map +0 -0
  1179. /package/dist/{cjs → types}/validators/AllCheckedValidatorArray.d.ts +0 -0
  1180. /package/dist/{cjs → types}/validators/AllCheckedValidatorArray.d.ts.map +0 -0
  1181. /package/dist/{cjs → types}/validators/AllUnCheckedValidatorArray.d.ts +0 -0
  1182. /package/dist/{cjs → types}/validators/AllUnCheckedValidatorArray.d.ts.map +0 -0
  1183. /package/dist/{cjs → types}/validators/CheckedValidator.d.ts +0 -0
  1184. /package/dist/{cjs → types}/validators/CheckedValidator.d.ts.map +0 -0
  1185. /package/dist/{cjs → types}/validators/CountEqualsCheckedValidatorArray.d.ts +0 -0
  1186. /package/dist/{cjs → types}/validators/CountEqualsCheckedValidatorArray.d.ts.map +0 -0
  1187. /package/dist/{cjs → types}/validators/CountEqualsUnCheckedValidatorArray.d.ts +0 -0
  1188. /package/dist/{cjs → types}/validators/CountEqualsUnCheckedValidatorArray.d.ts.map +0 -0
  1189. /package/dist/{cjs → types}/validators/CountGreaterThanCheckedValidatorArray.d.ts +0 -0
  1190. /package/dist/{cjs → types}/validators/CountGreaterThanCheckedValidatorArray.d.ts.map +0 -0
  1191. /package/dist/{cjs → types}/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts +0 -0
  1192. /package/dist/{cjs → types}/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts.map +0 -0
  1193. /package/dist/{cjs → types}/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts +0 -0
  1194. /package/dist/{cjs → types}/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts.map +0 -0
  1195. /package/dist/{cjs → types}/validators/CountGreaterThanUnCheckedValidatorArray.d.ts +0 -0
  1196. /package/dist/{cjs → types}/validators/CountGreaterThanUnCheckedValidatorArray.d.ts.map +0 -0
  1197. /package/dist/{cjs → types}/validators/CountLessThanCheckedValidatorArray.d.ts +0 -0
  1198. /package/dist/{cjs → types}/validators/CountLessThanCheckedValidatorArray.d.ts.map +0 -0
  1199. /package/dist/{cjs → types}/validators/CountLessThanEqualsCheckedValidatorArray.d.ts +0 -0
  1200. /package/dist/{cjs → types}/validators/CountLessThanEqualsCheckedValidatorArray.d.ts.map +0 -0
  1201. /package/dist/{cjs → types}/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts +0 -0
  1202. /package/dist/{cjs → types}/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts.map +0 -0
  1203. /package/dist/{cjs → types}/validators/CountLessThanUnCheckedValidatorArray.d.ts +0 -0
  1204. /package/dist/{cjs → types}/validators/CountLessThanUnCheckedValidatorArray.d.ts.map +0 -0
  1205. /package/dist/{cjs → types}/validators/CountUnCheckedValidatorArray.d.ts +0 -0
  1206. /package/dist/{cjs → types}/validators/CountUnCheckedValidatorArray.d.ts.map +0 -0
  1207. /package/dist/{cjs → types}/validators/EmptyValidator.d.ts +0 -0
  1208. /package/dist/{cjs → types}/validators/EmptyValidator.d.ts.map +0 -0
  1209. /package/dist/{cjs → types}/validators/ExcludeCheckedValidatorArray.d.ts +0 -0
  1210. /package/dist/{cjs → types}/validators/ExcludeCheckedValidatorArray.d.ts.map +0 -0
  1211. /package/dist/{cjs → types}/validators/FormValidator.d.ts +0 -0
  1212. /package/dist/{cjs → types}/validators/FormValidator.d.ts.map +0 -0
  1213. /package/dist/{cjs → types}/validators/IncludeCheckedValidatorArray.d.ts +0 -0
  1214. /package/dist/{cjs → types}/validators/IncludeCheckedValidatorArray.d.ts.map +0 -0
  1215. /package/dist/{cjs → types}/validators/MultipleValidator.d.ts +0 -0
  1216. /package/dist/{cjs → types}/validators/MultipleValidator.d.ts.map +0 -0
  1217. /package/dist/{cjs → types}/validators/NonPassValidator.d.ts +0 -0
  1218. /package/dist/{cjs → types}/validators/NonPassValidator.d.ts.map +0 -0
  1219. /package/dist/{cjs → types}/validators/NotEmptyValidator.d.ts +0 -0
  1220. /package/dist/{cjs → types}/validators/NotEmptyValidator.d.ts.map +0 -0
  1221. /package/dist/{cjs → types}/validators/NotRegExpTestValidator.d.ts +0 -0
  1222. /package/dist/{cjs → types}/validators/NotRegExpTestValidator.d.ts.map +0 -0
  1223. /package/dist/{cjs → types}/validators/PassValidator.d.ts +0 -0
  1224. /package/dist/{cjs → types}/validators/PassValidator.d.ts.map +0 -0
  1225. /package/dist/{cjs → types}/validators/RegExpTestValidator.d.ts +0 -0
  1226. /package/dist/{cjs → types}/validators/RegExpTestValidator.d.ts.map +0 -0
  1227. /package/dist/{cjs → types}/validators/RequiredValidator.d.ts +0 -0
  1228. /package/dist/{cjs → types}/validators/RequiredValidator.d.ts.map +0 -0
  1229. /package/dist/{cjs → types}/validators/UnCheckedValidator.d.ts +0 -0
  1230. /package/dist/{cjs → types}/validators/UnCheckedValidator.d.ts.map +0 -0
  1231. /package/dist/{cjs → types}/validators/ValidMultipleValidator.d.ts +0 -0
  1232. /package/dist/{cjs → types}/validators/ValidMultipleValidator.d.ts.map +0 -0
  1233. /package/dist/{cjs → types}/validators/ValidValidator.d.ts +0 -0
  1234. /package/dist/{cjs → types}/validators/ValidValidator.d.ts.map +0 -0
  1235. /package/dist/{cjs → types}/validators/ValidValidatorArray.d.ts +0 -0
  1236. /package/dist/{cjs → types}/validators/ValidValidatorArray.d.ts.map +0 -0
  1237. /package/dist/{cjs → types}/validators/Validator.d.ts +0 -0
  1238. /package/dist/{cjs → types}/validators/Validator.d.ts.map +0 -0
  1239. /package/dist/{cjs → types}/validators/ValidatorArray.d.ts +0 -0
  1240. /package/dist/{cjs → types}/validators/ValidatorArray.d.ts.map +0 -0
  1241. /package/dist/{cjs → types}/validators/ValueEqualsValidator.d.ts +0 -0
  1242. /package/dist/{cjs → types}/validators/ValueEqualsValidator.d.ts.map +0 -0
  1243. /package/dist/{cjs → types}/validators/ValueNotEqualsValidator.d.ts +0 -0
  1244. /package/dist/{cjs → types}/validators/ValueNotEqualsValidator.d.ts.map +0 -0
  1245. /package/dist/{cjs → types}/validators/index.d.ts +0 -0
  1246. /package/dist/{cjs → types}/validators/index.d.ts.map +0 -0
@@ -0,0 +1,1897 @@
1
+ import { RandomUtils } from '@dooboostore/core/random/RandomUtils';
2
+ import { StringUtils } from '@dooboostore/core/string/StringUtils';
3
+ import { EventManager } from '../events/EventManager';
4
+ import type { DomRenderConfig } from '../configs/DomRenderConfig';
5
+ import { Range } from '../iterators/Range';
6
+ import { ElementUtils } from '@dooboostore/core-web/element/ElementUtils';
7
+ import { ComponentSet } from '../components/ComponentSet';
8
+ import { DrPre } from '../operators/DrPre';
9
+ import { Dr } from '../operators/Dr';
10
+ import { DrIf } from '../operators/DrIf';
11
+ import { ExecuteState, OperatorExecuter } from '../operators/OperatorExecuter';
12
+ import { DrThis } from '../operators/DrThis';
13
+ import { DrForm } from '../operators/DrForm';
14
+ import { DrInnerText } from '../operators/DrInnerText';
15
+ import { DrInnerHTML } from '../operators/DrInnerHTML';
16
+ import { DrFor } from '../operators/DrFor';
17
+ import { DrForOf } from '../operators/DrForOf';
18
+ import { DrAppender } from '../operators/DrAppender';
19
+ import { DrRepeat } from '../operators/DrRepeat';
20
+ import { DrTargetElement } from '../operators/DrTargetElement';
21
+ import { DrTargetAttr } from '../operators/DrTargetAttr';
22
+ import { DrStripElement } from '../operators/DrStripElement';
23
+ import { TargetElement } from '../configs/TargetElement';
24
+ import { TargetAttr } from '../configs/TargetAttr';
25
+ import { DestroyOptionType } from './DestroyOptionType';
26
+ import { Attrs } from './Attrs';
27
+ import { AttrInitCallBack } from './AttrInitCallBack';
28
+ import { ElementInitCallBack } from './ElementInitCallBack';
29
+ import { RawSetType } from './RawSetType';
30
+ import { Render } from './Render';
31
+ import { DrThisProperty } from '../operators/DrThisProperty';
32
+ import { RawSetOperatorType } from './RawSetOperatorType';
33
+ import { CssParser, CssRule, isStyleRule, isAtRule } from '@dooboostore/core/parser/css/CssParser';
34
+ import { isOnCreateRenderData, OnCreateRenderDataParams } from '../lifecycle/OnCreateRenderData';
35
+ import { isOnCreateRender } from '../lifecycle/OnCreateRender';
36
+ import { isOnChangeAttrRender } from '../lifecycle/OnChangeAttrRender';
37
+ import { isOnInitRender } from '../lifecycle/OnInitRender';
38
+ import { isOnCreatedThisChild } from '../lifecycle/OnCreatedThisChild';
39
+ import { isOnDestroyRender, OnDestroyRenderParams } from '../lifecycle/OnDestroyRender';
40
+ import { DrTargetElementIsElement } from '../operators/DrTargetElementIsElement';
41
+ import { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';
42
+ import { NodeUtils } from '@dooboostore/core-web/node/NodeUtils';
43
+
44
+
45
+ export type RenderResult = { raws: RawSet[]; executedOperators: OperatorExecuter[] };
46
+
47
+ export class RawSet {
48
+ public static readonly DR_NAME = 'dr';
49
+ public static readonly DR_IF_NAME = 'dr-if';
50
+ public static readonly DR_FOR_NAME = 'dr-for';
51
+ public static readonly DR_FOR_OF_NAME = 'dr-for-of';
52
+ public static readonly DR_THIS_PROPERTY_NAME = 'dr-this-property';
53
+ public static readonly DR_REPEAT_NAME = 'dr-repeat';
54
+ public static readonly DR_THIS_NAME = 'dr-this';
55
+ public static readonly DR_FORM_NAME = 'dr-form';
56
+ public static readonly DR_PRE_NAME = 'dr-pre';
57
+ public static readonly DR_APPENDER_NAME = 'dr-appender';
58
+ public static readonly DR_INNERHTML_NAME = 'dr-inner-html';
59
+ public static readonly DR_INNERTEXT_NAME = 'dr-inner-text';
60
+ public static readonly DR_DETECT_NAME = 'dr-detect';
61
+ public static readonly DR_STRIP_NAME = 'dr-strip';
62
+ public static readonly DR_REPLACE_TARGET_ELEMENT_IS_NAME = 'dr-replace-target-element-is';
63
+
64
+ // 감지처리되는 옵션
65
+ public static readonly DR_DETECT_IF_OPTIONNAME = 'dr-detect-option-if';
66
+ public static readonly DR_DETECT_FILTER_OPTIONNAME = 'dr-detect-option-filter';
67
+ public static readonly DR_DETECT_ATTR_OPTIONNAME = 'dr-detect-option-attr';
68
+
69
+ /**
70
+ * @deprecated
71
+ */
72
+ public static readonly DR_THIS_OPTIONNAME = 'dr-option-this';
73
+ public static readonly DR_ATTR_OPTIONNAME = 'dr-option-attr';
74
+ public static readonly DR_IF_OPTIONNAME = 'dr-option-if';
75
+ public static readonly DR_IT_OPTIONNAME = 'dr-option-it';
76
+ public static readonly DR_VAR_OPTIONNAME = 'dr-option-var';
77
+ public static readonly DR_AFTER_OPTIONNAME = 'dr-option-after';
78
+ public static readonly DR_NEXT_OPTIONNAME = 'dr-option-next';
79
+ public static readonly DR_BEFORE_OPTIONNAME = 'dr-option-before';
80
+ public static readonly DR_COMPLETE_OPTIONNAME = 'dr-option-complete';
81
+ public static readonly DR_STRIP_OPTIONNAME = 'dr-option-strip';
82
+ public static readonly DR_DESTROY_OPTIONNAME = 'dr-option-destroy';
83
+
84
+ public static readonly DR_THIS_NAME_OPTIONNAME = 'dr-option-this-name';
85
+ /**
86
+ * @deprecated
87
+ */
88
+ public static readonly DR_COMPONENT_NAME_OPTIONNAME = 'dr-option-component-name';
89
+ public static readonly DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = 'dr-option-component-inner-html-name';
90
+ public static readonly DR_KEY_OPTIONNAME = 'dr-option-key';
91
+ public static readonly DR_HAS_KEYS_OPTIONNAME = 'dr-option-has-keys';
92
+
93
+ public static readonly DR_ON_CREATE_ARGUMENTS_OPTIONNAME = 'dr-on-create:arguments';
94
+ public static readonly DR_ON_CREATED_CALLBACK_OPTIONNAME = 'dr-on-create:callback';
95
+ /** 우선 쓰는곳이 없어서 deprecated를 걸어놨음
96
+ @deprecated
97
+ */
98
+ public static readonly DR_ON_INIT_ARGUMENTS_OPTIONNAME = 'dr-on-init:arguments';
99
+ public static readonly DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME = 'dr-on-constructor:arguments';
100
+
101
+ public static readonly drAttrsOriginName: Attrs = {
102
+ dr: RawSet.DR_NAME,
103
+ drIf: RawSet.DR_IF_NAME,
104
+ drFor: RawSet.DR_FOR_NAME,
105
+ drForOf: RawSet.DR_FOR_OF_NAME,
106
+ drThisProperty: RawSet.DR_THIS_PROPERTY_NAME,
107
+ drAppender: RawSet.DR_APPENDER_NAME,
108
+ drRepeat: RawSet.DR_REPEAT_NAME,
109
+ drThis: RawSet.DR_THIS_NAME,
110
+ drForm: RawSet.DR_FORM_NAME,
111
+ drPre: RawSet.DR_PRE_NAME,
112
+ drInnerHTML: RawSet.DR_INNERHTML_NAME,
113
+ drInnerText: RawSet.DR_INNERTEXT_NAME,
114
+ drItOption: RawSet.DR_IT_OPTIONNAME,
115
+ drVarOption: RawSet.DR_VAR_OPTIONNAME,
116
+ drAfterOption: RawSet.DR_AFTER_OPTIONNAME,
117
+ drNextOption: RawSet.DR_NEXT_OPTIONNAME,
118
+ drBeforeOption: RawSet.DR_BEFORE_OPTIONNAME,
119
+ drCompleteOption: RawSet.DR_COMPLETE_OPTIONNAME,
120
+ drStripElement: RawSet.DR_STRIP_NAME,
121
+ drReplaceTargetElementIs: RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME,
122
+ drStripOption: RawSet.DR_STRIP_OPTIONNAME,
123
+ drIfOption: RawSet.DR_IF_OPTIONNAME,
124
+ drDetectIfOption: RawSet.DR_DETECT_IF_OPTIONNAME,
125
+ drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME,
126
+ drHasKeysOption: RawSet.DR_HAS_KEYS_OPTIONNAME,
127
+ drKeyOption: RawSet.DR_KEY_OPTIONNAME
128
+ };
129
+
130
+ public static readonly DR_TAGS = [];
131
+
132
+ // public static readonly DR_REPLACE_ACTION_ATTRIBUTES = [
133
+ // RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME
134
+ // ]
135
+
136
+ public static readonly DR_ATTRIBUTES = [
137
+ RawSet.DR_NAME,
138
+ RawSet.DR_APPENDER_NAME,
139
+ RawSet.DR_IF_NAME,
140
+ RawSet.DR_FOR_OF_NAME,
141
+ RawSet.DR_THIS_PROPERTY_NAME,
142
+ RawSet.DR_FOR_NAME,
143
+ RawSet.DR_THIS_NAME,
144
+ RawSet.DR_FORM_NAME,
145
+ RawSet.DR_PRE_NAME,
146
+ RawSet.DR_INNERHTML_NAME,
147
+ RawSet.DR_INNERTEXT_NAME,
148
+ RawSet.DR_REPEAT_NAME,
149
+ RawSet.DR_DETECT_NAME,
150
+ RawSet.DR_STRIP_NAME
151
+ ] as const;
152
+
153
+ constructor(
154
+ public uuid: string,
155
+ public type: RawSetType,
156
+ public point: {
157
+ start: Comment | Text | HTMLMetaElement;
158
+ node: Node;
159
+ end: Comment | Text | HTMLMetaElement;
160
+ innerHTML?: string;
161
+ // thisVariableName?: string | null,
162
+ parent?: Node | null;
163
+ parentRawSet?: RawSet;
164
+ childrenRawSets?: RawSet[];
165
+ },
166
+ public dataSet: {
167
+ config: DomRenderConfig;
168
+ fragment: DocumentFragment;
169
+ render?: Render;
170
+ },
171
+ public detect?: { action: Function }
172
+ ) {
173
+ // point.start.rawSet = this;
174
+ // console.log('rawset constructor->', (this.point.node as Element).getAttributeNames());
175
+ }
176
+
177
+ get isConnected() {
178
+ // console.log('isConnect???', this, this.point.start.isConnected, this.point.end.isConnected);
179
+ return this.point && this.point.start && this.point.end && this.point.start.isConnected && this.point.end.isConnected;
180
+ }
181
+
182
+ // 중요
183
+ getUsingTriggerVariables(config?: DomRenderConfig): Set<string> {
184
+ const usingTriggerVariables = new Set<string>();
185
+ // console.log('------data', this.dataSet)
186
+ this.dataSet.fragment.childNodes.forEach((cNode, key) => {
187
+ // console.log('-----aaaa-data', cNode, key)
188
+ let script = '';
189
+ if (cNode.nodeType === Node.TEXT_NODE) {
190
+ script = `\`${(cNode as Text).textContent ?? ''}\``;
191
+ const expressionGroups = RawSet.expressionGroups(script);
192
+ // console.log('???????', script, expressionGroups)
193
+ if (expressionGroups[0].length > 1) {
194
+ script = expressionGroups[0][1] as string;
195
+ }
196
+ // console.log('--', expressionGroups, script)
197
+ } else if (cNode.nodeType === Node.ELEMENT_NODE) {
198
+ const element = cNode as Element;
199
+ const targetAttrNames = (config?.targetAttrs?.map(it => it.name) ?? []).concat(
200
+ RawSet.DR_ATTRIBUTES,
201
+ RawSet.DR_DETECT_FILTER_OPTIONNAME,
202
+ RawSet.DR_DETECT_IF_OPTIONNAME,
203
+ RawSet.DR_DETECT_ATTR_OPTIONNAME
204
+ ); // .concat(EventManager.normalAttrMapAttrName);
205
+ const targetScripts = targetAttrNames
206
+ .map(it => element.getAttribute(it))
207
+ .filter(it => it)
208
+ .map(it => `(${it})`);
209
+ const targetAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);
210
+ // console.log('targetAttrMap-->', targetAttrMap)
211
+ if (targetAttrMap) {
212
+ new Map<string, string>(JSON.parse(targetAttrMap)).forEach((v, k) => {
213
+ targetScripts.push(`(${v})`);
214
+ });
215
+ }
216
+ // console.log('targetScriptstargetScripts', targetScripts)
217
+ script = targetScripts.join(';');
218
+ // script = targetScripts.map(it=>`try{${it}}catch(e){}`).join(';');
219
+
220
+ // attribute쪽 체크하는거 추가
221
+ // console.log('----!!!!!-->', targetAttrNames)
222
+ // const otherAttrs = element.getAttributeNames()
223
+ // .filter(it => !targetAttrNames.includes(it.toLowerCase()) && RawSet.isExporesion(element.getAttribute(it)))
224
+ // .map(it => {
225
+ // return `\`${element.getAttribute(it) ?? ''}\``;
226
+ // }).join(';');
227
+ // script += ';' + otherAttrs
228
+ }
229
+ if (script) {
230
+ // console.log('------1-',script)
231
+ script = script.replace(/#[^#]*#/g, '({})');
232
+ // console.log('------2-',script)
233
+ // script = script.replace('}$','}');
234
+ // script = script.replace('@this@','this');
235
+ // console.log('----------->', script)
236
+
237
+ // TODO: 훔.. 꼭필요한가..? 트리거될때 스크립트변수 까지 감지해야될까?
238
+ EventManager.VARNAMES.forEach(it => {
239
+ // script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), `this?.___${it}`);
240
+ // script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), `this.___${it}`);
241
+ script = script.replace(RegExp(it.replace('$', '\\$'), 'g'), `this.___${it}`);
242
+ // console.log('scripts-->', script)
243
+ });
244
+ // console.log('--------1--', script);
245
+ // script = script.replaceAll('#{','${').replaceAll('}#', '}')
246
+ // console.log('--------2--', script);
247
+ // TODO: 훔.. 꼭필요한가..? 트리거될때 스크립트변수 까지 감지해야될까?
248
+ Array.from(ObjectUtils.Path.detectPathFromScript(script, { excludeThis: true }))
249
+ .filter(it => !it.startsWith(`___${EventManager.SCRIPTS_VARNAME}`))
250
+ .forEach(it => usingTriggerVariables.add(it));
251
+ }
252
+ });
253
+ // console.log('usingTriggerVariable----------->', usingTriggerVariables)
254
+ return usingTriggerVariables;
255
+ }
256
+
257
+ // 중요 render 처리 부분
258
+ // public async render(obj: any, config: DomRenderConfig): Promise<RawSet[]> {
259
+ // }
260
+ public async render(obj: any, config: DomRenderConfig): Promise<RenderResult> {
261
+ // console.log('render!!!!!!!!!!!!!!')
262
+ const genNode = config.window.document.importNode(this.dataSet.fragment, true);
263
+ const raws: RawSet[] = [];
264
+ const onAttrInitCallBacks: AttrInitCallBack[] = [];
265
+ const onElementInitCallBacks: ElementInitCallBack[] = [];
266
+ const onThisComponentSetCallBacks: ComponentSet[] = [];
267
+ const drAttrs: Attrs[] = [];
268
+ // console.log('rawSet render!!', obj, config, this, Array.from(genNode.childNodes.values()));
269
+ const executedOperators: OperatorExecuter[] = [];
270
+ for (const cNode of Array.from(genNode.childNodes.values())) {
271
+ // console.log('cNodecNodecNode', cNode);
272
+ let attribute = {};
273
+ if (cNode.nodeType === Node.ELEMENT_NODE) {
274
+ attribute = ElementUtils.getAttributeToObject(cNode as Element);
275
+ }
276
+
277
+ const __render = Object.freeze({
278
+ rawSet: this,
279
+ scripts: EventManager.setBindProperty(config?.scripts, obj),
280
+ router: config?.router,
281
+ range: Range.range,
282
+ element: cNode,
283
+ attribute: attribute,
284
+ rootObject: obj,
285
+ scriptUtils: ObjectUtils.Script,
286
+ nearThis: this.findNearThis(obj),
287
+ parentThis: this.findParentThis(obj),
288
+ bindScript: ` /** render **/
289
+ const ${EventManager.SCRIPTS_VARNAME} = this.__render.scripts;
290
+ const ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;
291
+ const ${EventManager.ELEMENT_VARNAME} = this.__render.element;
292
+ const ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute;
293
+ const ${EventManager.RANGE_VARNAME} = this.__render.range;
294
+ const ${EventManager.ROUTER_VARNAME} = this.__render.router;
295
+ const ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis;
296
+ const ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis;
297
+ const ${EventManager.SCRIPT_UTILS_VARNAME} = this.__render.scriptUtils;
298
+ const ${EventManager.ROOT_OBJECT_VARNAME} = this.__render.rootObject;
299
+ `
300
+ }) as unknown as Render;
301
+
302
+ // const normalAttribute = attribute[EventManager.normalAttrMapAttrName];
303
+ // if (normalAttribute) {
304
+ // new Map<string, string>(JSON.parse(normalAttribute)).forEach((v, k) => {
305
+ // const cval = ScriptUtils.evalReturn({ bodyScript: __render.bindScript, returnScript: v }, Object.assign(obj, { __render: __render }));
306
+ // console.log('-----------',v,k, cval);
307
+ // attribute[v] = cval;
308
+ // });
309
+ // }
310
+
311
+ const fag = config.window.document.createDocumentFragment();
312
+ if (cNode.nodeType === Node.TEXT_NODE && cNode.textContent) {
313
+ // console.log('text-->', this, obj, config, cNode.textContent);
314
+ // console.log('text-->', Array.from(this.fragment.childNodes))
315
+ const textContent = cNode.textContent;
316
+ const runText = RawSet.expressionGroups(textContent)[0][1];
317
+ // console.log('--->', RawSet.exporesionGrouops(textContent), textContent,runText, runText[0][1])
318
+ let newNode: Node;
319
+ if (textContent?.startsWith('#')) {
320
+ const r = ObjectUtils.Script.evaluate(`${__render.bindScript} return ${runText}`, Object.assign(obj, { __render }));
321
+ const template = config.window.document.createElement('template') as HTMLTemplateElement;
322
+ template.innerHTML = r;
323
+ newNode = template.content;
324
+ } else {
325
+ const r = ObjectUtils.Script.evaluate(`${__render.bindScript} return ${runText}`, Object.assign(obj, { __render }));
326
+ newNode = config.window.document.createTextNode(r);
327
+ }
328
+ cNode.parentNode?.replaceChild(newNode, cNode);
329
+ // console.log('-------', this.point.start.parentNode.nodeName)
330
+ // 중요 style value change 됐을때 다시 처리해야되기떄문에: 마지막에 completed 없는 attr 가지고 판단 하니깐
331
+ if (this.type === RawSetType.STYLE_TEXT && this.point.parent) {
332
+ (this.point.parent as Element).removeAttribute('completed');
333
+ }
334
+ } else if (cNode.nodeType === Node.ELEMENT_NODE) {
335
+ const element = cNode as Element;
336
+ // console.log('target-->', element)
337
+ const drAttr: Attrs = {
338
+ dr: this.getAttributeAndDelete(element, RawSet.DR_NAME),
339
+ drIf: this.getAttributeAndDelete(element, RawSet.DR_IF_NAME),
340
+ drFor: this.getAttributeAndDelete(element, RawSet.DR_FOR_NAME),
341
+ drForOf: this.getAttributeAndDelete(element, RawSet.DR_FOR_OF_NAME),
342
+ drThisProperty: this.getAttributeAndDelete(element, RawSet.DR_THIS_PROPERTY_NAME),
343
+ drAppender: this.getAttributeAndDelete(element, RawSet.DR_APPENDER_NAME),
344
+ drRepeat: this.getAttributeAndDelete(element, RawSet.DR_REPEAT_NAME),
345
+ drThis: this.getAttributeAndDelete(element, RawSet.DR_THIS_NAME),
346
+ drForm: this.getAttributeAndDelete(element, RawSet.DR_FORM_NAME),
347
+ drPre: this.getAttributeAndDelete(element, RawSet.DR_PRE_NAME),
348
+ drInnerHTML: this.getAttributeAndDelete(element, RawSet.DR_INNERHTML_NAME),
349
+ drInnerText: this.getAttributeAndDelete(element, RawSet.DR_INNERTEXT_NAME),
350
+ drStripElement: this.getAttributeAndDelete(element, RawSet.DR_STRIP_NAME),
351
+ drReplaceTargetElementIs: this.getAttributeAndDelete(element, RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME),
352
+ drItOption: this.getAttributeAndDelete(element, RawSet.DR_IT_OPTIONNAME),
353
+ drIfOption: this.getAttributeAndDelete(element, RawSet.DR_IF_OPTIONNAME),
354
+ drVarOption: this.getAttributeAndDelete(element, RawSet.DR_VAR_OPTIONNAME),
355
+ drNextOption: this.getAttributeAndDelete(element, RawSet.DR_NEXT_OPTIONNAME),
356
+ drAfterOption: this.getAttributeAndDelete(element, RawSet.DR_AFTER_OPTIONNAME),
357
+ drBeforeOption: this.getAttributeAndDelete(element, RawSet.DR_BEFORE_OPTIONNAME),
358
+ drCompleteOption: this.getAttributeAndDelete(element, RawSet.DR_COMPLETE_OPTIONNAME),
359
+ drStripOption: this.getAttributeAndDelete(element, RawSet.DR_STRIP_OPTIONNAME),
360
+ drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME),
361
+ drKeyOption: this.getAttributeAndDelete(element, RawSet.DR_KEY_OPTIONNAME),
362
+ drDetectIfOption: this.getAttribute(element, RawSet.DR_DETECT_IF_OPTIONNAME),
363
+ drHasKeysOption: this.getAttribute(element, RawSet.DR_HAS_KEYS_OPTIONNAME)
364
+ };
365
+ drAttrs.push(drAttr);
366
+ // 아래 순서 중요
367
+ const operators = [
368
+ new DrPre( this, __render, { raws, fag }, { element, attrName: RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drPre }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
369
+ new Dr( this, __render, { raws, fag }, { element, attrName: RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.dr }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
370
+ // new Dr(this, __render, {raws, fag}, {element, attrName: EventManager.onRenderedInitAttrName, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),
371
+ new DrIf( this, __render, { raws, fag }, { element, attrName: RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drIf }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
372
+ new DrStripElement( this, __render, { raws, fag }, { element, attrName: RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThis }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
373
+ new DrThis( this, __render, { raws, fag }, { element, attrName: RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThis }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
374
+ new DrForm( this, __render, { raws, fag }, { element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drForm }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
375
+ new DrInnerText( this, __render, { raws, fag }, { element, attrName: RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drInnerText }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
376
+ new DrInnerHTML( this, __render, { raws, fag }, { element, attrName: RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drInnerHTML }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
377
+ new DrFor( this, __render, { raws, fag }, { element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drFor }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
378
+ new DrForOf( this, __render, { raws, fag }, { element, attrName: RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drForOf }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
379
+ new DrThisProperty( this, __render, { raws, fag }, { element, attrName: RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThisProperty }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
380
+ new DrAppender( this, __render, { raws, fag }, { element, attrName: RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drAppender }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
381
+ new DrRepeat( this, __render, { raws, fag }, { element, attrName: RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drRepeat }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
382
+ new DrTargetElementIsElement( this, __render, { raws, fag }, { element, attrName: RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME, attr: drAttr.drReplaceTargetElementIs, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
383
+ new DrTargetElement( this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } ),
384
+ new DrTargetAttr( this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks } )
385
+ ];
386
+
387
+ for (const operator of operators) {
388
+ const state = await operator.start();
389
+ if (state === ExecuteState.EXECUTE) {
390
+ executedOperators.push(operator);
391
+ break;
392
+ } else if (state === ExecuteState.STOP) {
393
+ return { raws, executedOperators };
394
+ }
395
+ }
396
+ }
397
+ }
398
+
399
+ this.point.childrenRawSets = raws;
400
+ raws.forEach(it => {
401
+ it.point.parentRawSet = this;
402
+ });
403
+
404
+ // console.log('pppppppppppppp', this);
405
+
406
+ // replaceBody와 applyEvent 순서를 바꿨다 20250511
407
+ const childrenNodes = Array.from(genNode.childNodes);
408
+ this.applyEvent(obj, genNode, config);
409
+ this.replaceBody(genNode); // 중요 여기서 마지막에 연션된 값을 그려준다.
410
+ // console.log('rawSEt!!!!!!!', obj, this.near)
411
+ // console.log('rawSEt!!!!!!!', obj, this.findNearThis(obj),childrenNodes,config)
412
+ // console.log('rawSEt!!!!!!!', obj, drAttrs)
413
+ this.onRenderedEvent(obj, childrenNodes, config);
414
+
415
+ drAttrs.forEach(it => {
416
+ if (it.drCompleteOption) {
417
+ // genNode.childNodes
418
+ const render = Object.freeze({
419
+ rawSet: this,
420
+ fag: genNode,
421
+ scripts: EventManager.setBindProperty(config?.scripts, obj)
422
+ } as Render);
423
+ ObjectUtils.Script.evaluate(
424
+ `
425
+ const ${EventManager.FAG_VARNAME} = this.__render.fag;
426
+ const ${EventManager.SCRIPTS_VARNAME} = this.__render.scripts;
427
+ const ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;
428
+ ${it.drCompleteOption}`,
429
+ Object.assign(obj, { __render: render })
430
+ );
431
+ }
432
+ });
433
+
434
+ // 중요 style isolation 나중에 :scope로 대체 가능할듯.
435
+ // 2023.9.4일 없앰 style 처음들어올때 처리하는걸로 바꿈
436
+ // RawSet.generateStyleSheetsLocal(config);
437
+ for (const it of onThisComponentSetCallBacks) {
438
+ if (isOnInitRender(it.obj)) {
439
+ it.obj?.onInitRender?.({}, this);
440
+ }
441
+ }
442
+ for (const it of onElementInitCallBacks) {
443
+ if (isOnInitRender(this.dataSet.render?.currentThis)) {
444
+ // TODO: 나중에 파라미터 들어가야될듯. 지금은 리팩토링하느라 빠짐
445
+ // console.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!', it, this.dataSet);
446
+ // dr-on-init:arguments
447
+
448
+ // if (isOnInitRender()) {
449
+ // it.targetElement.__render.component.onInitRender?.(...param);
450
+ // }
451
+ // if (it.targetElement?.__render?.element && it.targetElement?.__render?.component) {
452
+ // const oninit = it.targetElement.__render.element.getAttribute(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME); // dr-on-component-init
453
+ // let param = [];
454
+ // if (oninit) {
455
+ // const script = `${it.targetElement.__render.renderScript} return ${oninit} `;
456
+ // param = ScriptUtils.eval(script, Object.assign(obj, {
457
+ // __render: it.targetElement.__render
458
+ // }));
459
+ // if (!Array.isArray(param)) {
460
+ // param = [param];
461
+ // }
462
+ // }
463
+ //
464
+ // if (isOnInitRender(it.targetElement.__render.component)) {
465
+ // it.targetElement.__render.component.onInitRender?.(...param);
466
+ // }
467
+ // }
468
+ this.dataSet.render.currentThis.onInitRender({}, this);
469
+ }
470
+
471
+ config?.onElementInit?.(it.name, obj, this, it.targetElement);
472
+ }
473
+
474
+ // TODO: 이부분도 위에 targetElement 처럼 해야될까?
475
+ for (const it of onAttrInitCallBacks) {
476
+ config?.onAttrInit?.(it.attrName, it.attrValue, obj, this);
477
+ }
478
+
479
+ // component destroy
480
+ if (obj.__domrender_components) {
481
+ Object.entries(obj.__domrender_components).forEach(([key, value]) => {
482
+ const rawSet = (value as any).__rawSet as RawSet;
483
+ const drAttrs: Attrs | undefined = rawSet?.dataSet.render?.attribute;
484
+ if (rawSet && !rawSet.isConnected) {
485
+ const destroyOptions = drAttrs?.drDestroyOption?.split(',') ?? [];
486
+ RawSet.destroy(obj.__domrender_components[key], { rawSet: rawSet }, config, destroyOptions);
487
+ delete obj.__domrender_components[key];
488
+ }
489
+ });
490
+ }
491
+ // console.log('-------raws',raws)
492
+ return { raws: raws, executedOperators: executedOperators };
493
+ }
494
+
495
+ // 중요 스타일 적용 부분
496
+ private static generateRuleSelector(start: string, end: string, sit: string) {
497
+ const selectorText = `:is(${start} ~ *:not(${start} ~ ${end} ~ *))`;
498
+ if (sit.startsWith('## ')) {
499
+ return sit.replace(/^## /, '');
500
+ } else if (sit.startsWith('.')) {
501
+ return `${selectorText}${sit}, ${selectorText} ${sit}`;
502
+ } else if (sit.includes('::')) {
503
+ const reg = sit.match(/(.*)::(.*)$/);
504
+ const first = reg?.[1];
505
+ const extracted = reg?.[2];
506
+ const divText = `${start} ~ ${first}:not(${start} ~ ${end} ~ *)`;
507
+ return `${selectorText} ${first}, ${divText}::${extracted}`;
508
+ } else {
509
+ const divText = `${start} ~ ${sit}:not(${start} ~ ${end} ~ *)`;
510
+ return `${selectorText} ${sit}, ${divText}`;
511
+ }
512
+ }
513
+
514
+ public static generateStyleTransform(styleBody: string | string[], componentKey: string, styleTagWrap = true) {
515
+ // console.log('style!!!!!!!!!!!!!!!!1', styleBody, componentKey, styleTagWrap);
516
+ if (Array.isArray(styleBody)) {
517
+ styleBody = styleBody.join('\n');
518
+ }
519
+ styleBody = styleBody.replaceAll('#uuid#', componentKey);
520
+ const start = `#${componentKey}-start`;
521
+ const end = `#${componentKey}-end`;
522
+ // 이거뭐하는지 까먹었네 뭐였지??..
523
+ // 동적으로 처리하는것같은데.. css 에서는 동적으로 처리하는걸 지향 해야될것같은데 이기능 deprecated 할지 고민중
524
+ // const before = StringUtils.regexExecArrayReplace(styleBody, /(\$\{.*?\}\$)/g, (data) => {
525
+ // // console.log('동적?', `var(--domrender-${data[0]})`)
526
+ // return `var(--domrender-${data[0]})`;
527
+ // });
528
+ // const before = styleBody;
529
+ // console.log('before@@@@@@@@@@@', before)
530
+ const cssParser = new CssParser(styleBody);
531
+
532
+ const processRule = (rule: CssRule) => {
533
+ if (isStyleRule(rule)) {
534
+ const isRoot = rule.selector.includes(':root');
535
+ if (!isRoot) {
536
+ // Handle comma-separated selectors
537
+ const selectors = rule.selector.split(',').map(s => s.trim());
538
+ const transformedSelectors = selectors.map(selector => this.generateRuleSelector(start, end, selector));
539
+ rule.selector = transformedSelectors.join(', ');
540
+ }
541
+ } else if (isAtRule(rule)) {
542
+ if (rule.name === 'media') {
543
+ const hasRoot = rule.children.some(
544
+ childRule => isStyleRule(childRule) && childRule.selector.includes(':root')
545
+ );
546
+ if (!hasRoot) {
547
+ rule.children.forEach(childRule => {
548
+ if (isStyleRule(childRule)) {
549
+ const selectors = childRule.selector.split(',').map(s => s.trim());
550
+ const transformedSelectors = selectors.map(selector => this.generateRuleSelector(start, end, selector));
551
+ childRule.selector = transformedSelectors.join(', ');
552
+ }
553
+ });
554
+ }
555
+ }
556
+ }
557
+ };
558
+
559
+ cssParser.rules.forEach(processRule);
560
+
561
+ let after = cssParser.stringify();
562
+ // let after = StringUtils.regexExecArrayReplace(stringify as string, /(var\(--domrender-(\$\{.*?\}\$)?\))/g, (data) => {
563
+ // return data[2];
564
+ // });
565
+ // console.log('after@@@@@@@@@@@', after)
566
+
567
+ // 여기서 선언 selector 자체에도 처리가능하도록 한다 20250518
568
+ after = after.replaceAll('/*$', '${');
569
+ after = after.replaceAll('$*/', '}$');
570
+
571
+ if (styleTagWrap) {
572
+ styleBody = `<style id='${componentKey}-style' domstyle>${after}</style>`;
573
+ }
574
+
575
+ // console.log('style!!!!!!!!!!!!!!2', styleBody);
576
+ return styleBody;
577
+ }
578
+
579
+ public applyEvent(obj: any, fragment = this.dataSet.fragment, config?: DomRenderConfig) {
580
+ this.dataSet.config.eventManager.applyEvent(
581
+ obj,
582
+ this.dataSet.config.eventManager.findAttrElements(fragment, config),
583
+ config
584
+ );
585
+ }
586
+
587
+ public onRenderedEvent(obj: any, nodes: Node[], config?: DomRenderConfig) {
588
+ this.dataSet.config.eventManager.onRenderedEvent(obj, nodes, config);
589
+ }
590
+
591
+ public getAttribute(element: Element, attr: string) {
592
+ const data = element.getAttribute(attr);
593
+ return data;
594
+ }
595
+
596
+ public getAttributeAndDelete(element: Element, attr: string) {
597
+ const data = element.getAttribute(attr);
598
+ // if (data)
599
+ // element.setAttribute(`origin-${attr}`, data);
600
+
601
+ element.removeAttribute(attr);
602
+ return data;
603
+ }
604
+
605
+ public getDrAppendAttributeAndDelete(element: Element, obj: any) {
606
+ let data = element.getAttribute(RawSet.DR_APPENDER_NAME);
607
+ // if (data && !/\[[0-9]+\]/g.test(data)) {
608
+ if (data && !/\[.+\]/g.test(data)) {
609
+ const currentIndex = ObjectUtils.Script.evaluateReturn(`${ObjectUtils.Path.toOptionalChainPath(data)}?.length -1`, obj);
610
+ // console.log('------?', currentIndex)
611
+ // if (currentIndex === undefined || isNaN(currentIndex)) {
612
+ // return undefined;
613
+ // }
614
+ // const currentIndex = ScriptUtils.evalReturn(`${data}.length`, obj);
615
+ data = `${data}[${currentIndex}]`;
616
+ element.setAttribute(RawSet.DR_APPENDER_NAME, data);
617
+ // element.setAttribute(RawSet.DR_IF_NAME, data);
618
+ // element.setAttribute('dr-id', data);
619
+ // console.log('-->', element)
620
+ }
621
+
622
+ // if (data && !/\.childs\[[0-9]+\]/g.test(data)) {
623
+ // const currentIndex = ScriptUtils.evalReturn(`${data}.currentIndex`, obj);
624
+ // data = `${data}.childs[${currentIndex}]`;
625
+ // element.setAttribute(RawSet.DR_APPENDER_NAME, data)
626
+ // }
627
+ element.removeAttribute(RawSet.DR_APPENDER_NAME);
628
+ return data;
629
+ }
630
+
631
+ public replaceBody(genNode: Node) {
632
+ this.childAllRemove();
633
+ this.point.start.parentNode?.insertBefore(genNode, this.point.start.nextSibling); // 중요 start checkpoint 다음인 end checkpoint 앞에 넣는다. 즉 중간 껴넣기 (나중에 meta tag로 변경을 해도될듯하긴한데..)
634
+ }
635
+
636
+ // 중요 important
637
+ public static checkPointCreates(element: Node, obj: any, config: DomRenderConfig): RawSet[] {
638
+ // console.log('!@@@@@@@@@@@@@@@@', obj);
639
+ // const NodeFilter = (config.window as any).NodeFilter;
640
+ // const thisVariableName = (element as any).__domrender_this_variable_name;
641
+ // let html = element instanceof DocumentFragment ? ElementUtils.toInnerHTML(element, {document: config.window.document}) : (element as HTMLElement).outerHTML;
642
+ // console.log('==============html-->', element, html);
643
+ const NodeFilter = (config.window as any).NodeFilter;
644
+ const Node = (config.window as any).Node;
645
+ const processedNodes = new Set<Node>();
646
+
647
+
648
+
649
+ const findNodes = NodeUtils.findNodes(element, (node) => {
650
+ // console.log('nodeType', node.nodeType, node, (node as any).tagName, (node as any).data);
651
+ // for (const processedNode of processedNodes) {
652
+ // console.log('pre check!!', Array.from(processedNodes),processedNode !== node , processedNode.contains(node));
653
+ // // if(processedNode.contains(node)){
654
+ // console.log('---prechecker--html', (processedNode as HTMLElement).outerHTML,'------', (node as HTMLElement).outerHTML);
655
+ // // }
656
+ // if (processedNode !== node && processedNode.contains(node)) {
657
+ // console.log('acceptNodeReturn contain', NodeFilter.FILTER_REJECT);
658
+ // return NodeFilter.FILTER_REJECT;
659
+ // }
660
+ // }
661
+
662
+ if (node.nodeType === Node.TEXT_NODE) {
663
+ // console.log('nodeText--->', node.textContent)
664
+ // console.log('????????', node.parentElement, node.parentElement?.getAttribute('dr-pre'));
665
+ // console.log('???????/',node.textContent, node.parentElement?.getAttribute('dr-pre'))
666
+ // TODO: 나중에
667
+ // const between = StringUtils.betweenRegexpStr('[$#]\\{', '\\}', StringUtils.deleteEnter((node as Text).data ?? ''))
668
+ const between = RawSet.expressionGroups(StringUtils.deleteEnter((node as Text).data ?? ''));
669
+ // console.log('bbbb', between)
670
+ const r = between?.length > 0 ? NodeUtils.FindNodesFilterResult.MATCH_AND_SKIP_CHILDREN : NodeUtils.FindNodesFilterResult.NO_MATCH_AND_SKIP_CHILDREN;
671
+ // console.log('acceptNodeReturn node', r);
672
+ return r;
673
+ // return /\$\{.*?\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
674
+ // return /[$#]\{.*?\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
675
+ } else if (node.nodeType === Node.ELEMENT_NODE) {
676
+ const element = node as Element;
677
+ // if (typeof Window === 'undefined' && element.getAttribute('ttt') === 'visual') {
678
+ // return NodeFilter.FILTER_REJECT;
679
+ // }
680
+ // console.log('nodeHTML-->', element.outerHTML);
681
+ if (element.hasAttribute(RawSet.DR_PRE_NAME)) {
682
+ let r = NodeUtils.FindNodesFilterResult.NO_MATCH_AND_SKIP_CHILDREN;
683
+ // console.log('acceptNodeReturn', r);
684
+ return r;
685
+ }
686
+ if (element.hasAttribute(EventManager.attrAttrName)) {
687
+ const script = element.getAttribute(EventManager.attrAttrName) ?? '';
688
+ // console.log('scriptscriptscriptscriptscriptscript,', script)
689
+ const keyValuePairs = Array.from(script.matchAll(/(\w+):\s*([^,}]+)/g)).map(match => ({
690
+ key: match[1],
691
+ value: match[2]
692
+ }));
693
+ (keyValuePairs ?? []).forEach(it => {
694
+ element.setAttribute(it.key, '${' + it.value + '}$');
695
+ });
696
+ }
697
+ // element.setAttribute('dr-event-click', 'console.log(11)');
698
+ const targetElementIs = element.getAttribute(RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);
699
+ const targetElementNames = config.targetElements?.map(it => it.name.toLowerCase()) ?? [];
700
+ const isElement =
701
+ targetElementNames.includes(element.tagName.toLowerCase()) ||
702
+ targetElementNames.includes(targetElementIs?.toLowerCase() as any);
703
+ // if (isElement) {
704
+ // (element as HTMLElement).style.display = 'none';
705
+ // (element as HTMLElement).style.width = '100px';
706
+ // (element as HTMLElement).style.height = '100px';
707
+ // console.log((element as HTMLElement).outerHTML)
708
+ // }
709
+ // console.log('------targetElementIstargetElementIs>', targetElementNames, '---', isElement, targetElementIs);
710
+ // const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat([...RawSet.DR_ATTRIBUTES,...EventManager.RAWSET_CHECK_ATTRIBUTE]);
711
+ const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat([...RawSet.DR_ATTRIBUTES]);
712
+ const normalAttrs = new Map<string, string>();
713
+ const linkVariables = new Map<string, string>();
714
+ const linkNames = EventManager.linkAttrs.map(it => it.name);
715
+ const isAttr =
716
+ element.getAttributeNames().filter(it => {
717
+ const value = element.getAttribute(it);
718
+
719
+ // link일때
720
+ if (value && linkNames.includes(it)) {
721
+ linkVariables.set(it, value);
722
+ } else if (value && RawSet.isExpression(value)) {
723
+ // 표현식있을떄
724
+ let variablePath: string = RawSet.expressionGroups(value)[0][1];
725
+ // console.log('0-----',variablePath, node);
726
+ // normal Attribute 초반에 셋팅해주기.
727
+ // TODO: 이거 하긴했는데 사이드 이팩트?
728
+ const originVariable = variablePath;
729
+ variablePath = variablePath.replace(/#[^#]*#/g, '({})');
730
+ // console.log('1-----',variablePath, node);
731
+ const optionalChainPath = ObjectUtils.Path.toOptionalChainPath(variablePath);
732
+ // console.log('2-----',optionalChainPath);
733
+ const cval = ObjectUtils.Script.evaluateReturn(optionalChainPath, Object.assign(obj));
734
+ // const cval = ScriptUtils.evalReturn(variablePath, Object.assign(obj));
735
+ if (cval === null) {
736
+ element.removeAttribute(it);
737
+ } else {
738
+ element.setAttribute(it, cval);
739
+ }
740
+ normalAttrs.set(it, originVariable);
741
+ // console.log('normalAttribute', it, variablePath);
742
+ }
743
+ // console.log(element.getAttribute(it), attrExpresion);
744
+ const isTargetAttr = targetAttrNames.includes(it.toLowerCase());
745
+ return isTargetAttr;
746
+ }).length > 0;
747
+
748
+ if (linkVariables.size) {
749
+ element.setAttribute(
750
+ EventManager.linkTargetMapAttrName,
751
+ JSON.stringify(Array.from(linkVariables.entries()))
752
+ );
753
+ }
754
+ // 기본 attribute를 처리하기위해
755
+ if (normalAttrs.size) {
756
+ element.setAttribute(EventManager.normalAttrMapAttrName, JSON.stringify(Array.from(normalAttrs.entries())));
757
+ }
758
+ // if (isElement) {
759
+ // element.setAttribute('www', '@this@');
760
+ // }
761
+ const r = isAttr || isElement ? NodeUtils.FindNodesFilterResult.MATCH_AND_SKIP_CHILDREN : NodeUtils.FindNodesFilterResult.NO_MATCH_AND_CONTINUE;
762
+ // console.log('acceptNodeReturn element', r);
763
+ return r;
764
+ }
765
+ const r = NodeUtils.FindNodesFilterResult.NO_MATCH_AND_CONTINUE;
766
+ // console.log('acceptNodeReturn nothing', r);
767
+ return r;
768
+ }
769
+ )
770
+
771
+
772
+ /**
773
+ nodeIterator.nextNode() 할때 그때 호출시점에 아래 로직에서 다음 노드를 찾는다.
774
+ 브라우저는 nodeIterator.nextNode() 해서 동기로 dom을 조작하거나 옮기면 다음 nextNode할때 그 옮겨진 대상은 제외된다
775
+ 하지만 jsdom은 그대로 남아있어 아주 예기치못한 사건이 발생된다 5시간은 삽질..했다.. 따라서 중복방지 처리하였다
776
+ */
777
+ // const nodeIterator = config.window.document?.createNodeIterator(element, NodeFilter.SHOW_ALL, {
778
+ // acceptNode(node) {
779
+ // console.log('nodeType', node.nodeType, node, (node as any).tagName, (node as any).data);
780
+ // for (const processedNode of processedNodes) {
781
+ // console.log('pre check!!', Array.from(processedNodes),processedNode !== node , processedNode.contains(node));
782
+ // // if(processedNode.contains(node)){
783
+ // console.log('---prechecker--html', (processedNode as HTMLElement).outerHTML,'------', (node as HTMLElement).outerHTML);
784
+ // // }
785
+ // if (processedNode !== node && processedNode.contains(node)) {
786
+ // console.log('acceptNodeReturn contain', NodeFilter.FILTER_REJECT);
787
+ // return NodeFilter.FILTER_REJECT;
788
+ // }
789
+ // }
790
+ //
791
+ // if (node.nodeType === Node.TEXT_NODE) {
792
+ // console.log('nodeText--->', node.textContent)
793
+ // // console.log('????????', node.parentElement, node.parentElement?.getAttribute('dr-pre'));
794
+ // // console.log('???????/',node.textContent, node.parentElement?.getAttribute('dr-pre'))
795
+ // // TODO: 나중에
796
+ // // const between = StringUtils.betweenRegexpStr('[$#]\\{', '\\}', StringUtils.deleteEnter((node as Text).data ?? ''))
797
+ // const between = RawSet.expressionGroups(StringUtils.deleteEnter((node as Text).data ?? ''));
798
+ // // console.log('bbbb', between)
799
+ // const r = between?.length > 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
800
+ // console.log('acceptNodeReturn node', r);
801
+ // return r;
802
+ // // return /\$\{.*?\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
803
+ // // return /[$#]\{.*?\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
804
+ // } else if (node.nodeType === Node.ELEMENT_NODE) {
805
+ // const element = node as Element;
806
+ // // if (typeof Window === 'undefined' && element.getAttribute('ttt') === 'visual') {
807
+ // // return NodeFilter.FILTER_REJECT;
808
+ // // }
809
+ // console.log('nodeHTML-->', element.outerHTML);
810
+ // if (element.hasAttribute(RawSet.DR_PRE_NAME)) {
811
+ // console.log('acceptNodeReturn', NodeFilter.FILTER_REJECT);
812
+ // return NodeFilter.FILTER_REJECT;
813
+ // }
814
+ // if (element.hasAttribute(EventManager.attrAttrName)) {
815
+ // const script = element.getAttribute(EventManager.attrAttrName) ?? '';
816
+ // // console.log('scriptscriptscriptscriptscriptscript,', script)
817
+ // const keyValuePairs = Array.from(script.matchAll(/(\w+):\s*([^,}]+)/g)).map(match => ({
818
+ // key: match[1],
819
+ // value: match[2]
820
+ // }));
821
+ // (keyValuePairs ?? []).forEach(it => {
822
+ // element.setAttribute(it.key, '${' + it.value + '}$');
823
+ // });
824
+ // // console.log('-------k', keyValuePairs)
825
+ //
826
+ // // const drAttr = ScriptUtils.evalReturn(script, obj)
827
+ // // Object.entries(drAttr).forEach(([key, value]) => {
828
+ // // const keyValuePairs = Array.from(a.matchAll(/(\w+):\s*([^,}]+)/g)).map(match => ({ key: match[1], value: match[2] }));
829
+ // // console.log(keyValuePairs);
830
+ // // // 출력: [{ key: 'value', value: 'this.child.obj.name' }, { key: 'wow', value: 'this.ww' }, { key: 'zz', value: '22' }, { key: 'v', value: '"ee"' }]
831
+ // //
832
+ // // console.log('-----------------', key,value)
833
+ // // element.setAttribute(key, '${'+(value)+'}$');
834
+ // // })
835
+ // // EventManager.attrNames.filter(it => it in drAttr).forEach(it => {
836
+ // // if (drAttr[it] === null) {
837
+ // // element.removeAttribute(it);
838
+ // // } else {
839
+ // // element.setAttribute(it, drAttr[it]);
840
+ // // }
841
+ // // })
842
+ // // console.log('-------->', Array.from(element.attributes), element.getAttribute('dr-attr'), obj)
843
+ // }
844
+ // // element.setAttribute('dr-event-click', 'console.log(11)');
845
+ // const targetElementIs = element.getAttribute(RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);
846
+ // const targetElementNames = config.targetElements?.map(it => it.name.toLowerCase()) ?? [];
847
+ // const isElement =
848
+ // targetElementNames.includes(element.tagName.toLowerCase()) ||
849
+ // targetElementNames.includes(targetElementIs?.toLowerCase() as any);
850
+ // // if (isElement) {
851
+ // // (element as HTMLElement).style.display = 'none';
852
+ // // (element as HTMLElement).style.width = '100px';
853
+ // // (element as HTMLElement).style.height = '100px';
854
+ // // console.log((element as HTMLElement).outerHTML)
855
+ // // }
856
+ // // console.log('------targetElementIstargetElementIs>', targetElementNames, '---', isElement, targetElementIs);
857
+ // // const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat([...RawSet.DR_ATTRIBUTES,...EventManager.RAWSET_CHECK_ATTRIBUTE]);
858
+ // const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat([...RawSet.DR_ATTRIBUTES]);
859
+ // const normalAttrs = new Map<string, string>();
860
+ // const linkVariables = new Map<string, string>();
861
+ // const linkNames = EventManager.linkAttrs.map(it => it.name);
862
+ // const isAttr =
863
+ // element.getAttributeNames().filter(it => {
864
+ // const value = element.getAttribute(it);
865
+ //
866
+ // // link일때
867
+ // if (value && linkNames.includes(it)) {
868
+ // linkVariables.set(it, value);
869
+ // } else if (value && RawSet.isExpression(value)) {
870
+ // // 표현식있을떄
871
+ // let variablePath: string = RawSet.expressionGroups(value)[0][1];
872
+ // // console.log('0-----',variablePath, node);
873
+ // // normal Attribute 초반에 셋팅해주기.
874
+ // // TODO: 이거 하긴했는데 사이드 이팩트?
875
+ // const originVariable = variablePath;
876
+ // variablePath = variablePath.replace(/#[^#]*#/g, '({})');
877
+ // // console.log('1-----',variablePath, node);
878
+ // const optionalChainPath = ObjectUtils.Path.toOptionalChainPath(variablePath);
879
+ // // console.log('2-----',optionalChainPath);
880
+ // const cval = ObjectUtils.Script.evaluateReturn(optionalChainPath, Object.assign(obj));
881
+ // // const cval = ScriptUtils.evalReturn(variablePath, Object.assign(obj));
882
+ // if (cval === null) {
883
+ // element.removeAttribute(it);
884
+ // } else {
885
+ // element.setAttribute(it, cval);
886
+ // }
887
+ // normalAttrs.set(it, originVariable);
888
+ // // console.log('normalAttribute', it, variablePath);
889
+ // }
890
+ // // console.log(element.getAttribute(it), attrExpresion);
891
+ // const isTargetAttr = targetAttrNames.includes(it.toLowerCase());
892
+ // return isTargetAttr;
893
+ // }).length > 0;
894
+ //
895
+ // if (linkVariables.size) {
896
+ // element.setAttribute(
897
+ // EventManager.linkTargetMapAttrName,
898
+ // JSON.stringify(Array.from(linkVariables.entries()))
899
+ // );
900
+ // }
901
+ // // 기본 attribute를 처리하기위해
902
+ // if (normalAttrs.size) {
903
+ // element.setAttribute(EventManager.normalAttrMapAttrName, JSON.stringify(Array.from(normalAttrs.entries())));
904
+ // }
905
+ // // if (isElement) {
906
+ // // element.setAttribute('www', '@this@');
907
+ // // }
908
+ // const r = isAttr || isElement ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
909
+ // console.log('acceptNodeReturn element', r);
910
+ // return r;
911
+ // }
912
+ // console.log('acceptNodeReturn nothing', NodeFilter.FILTER_REJECT);
913
+ // return NodeFilter.FILTER_REJECT;
914
+ // }
915
+ // });
916
+ const pars: RawSet[] = [];
917
+ let currentNode: Node | null;
918
+ const name = RandomUtils.uuid();
919
+ // console.log('name==', name);
920
+ // eslint-disable-next-line no-cond-assign
921
+ // while ((currentNode = nodeIterator?.nextNode())) {
922
+ // console.log('findNodes~~', findNodes);
923
+ for (const currentNode of findNodes) {
924
+ // 여기에서 부모인거 인지시켜준다 위쪽 에서 다시찾을떄 걸러진다.. JSDOM ..이놈이 즉각적인 처리를 못해줘서 수동 검증 로직 넣었다.
925
+ processedNodes.add(currentNode);
926
+ // console.log('currentNode!!!!', currentNode);
927
+ if (currentNode.nodeType === Node.TEXT_NODE) {
928
+ const text = (currentNode as Text).textContent ?? '';
929
+ const template = config.window.document?.createElement('template');
930
+ if (!template) break;
931
+ // const a = StringUtils.regexExec(/\$\{.*?\}/g, text);
932
+ // const a = StringUtils.regexExec(/[$#]\{.*?\}/g, text);
933
+ // const a = StringUtils.betweenRegexpStr('[$#]\\{', '\\}', text); // <--TODO: 나중에..
934
+ const groups = RawSet.expressionGroups(text);
935
+ const map = groups.map(it => ({
936
+ uuid: `${RandomUtils.alphabet(40)}_${obj?.constructor?.name}`,
937
+ content: it[0],
938
+ regexArr: it
939
+ }));
940
+ // console.log('create!!',map);
941
+ let lasterIndex = 0;
942
+ for (let i = 0; i < map.length; i++) {
943
+ const it = map[i];
944
+ // console.log('itttttttttttt', it);
945
+ const regexArr = it.regexArr;
946
+ // 중요: text경우 asdasd ${this.name}$ 이렇게 있다면 앞부분 asdasd <-- 이부분은 살려야되니깐 아래처럼 짜름
947
+ const preparedText = regexArr.input.substring(lasterIndex, regexArr.index);
948
+ // const preparedText = regexArr[1];
949
+ // const start = config.window.document.createElement('meta');
950
+ // start.setAttribute('id', `${it.uuid}-start`);
951
+ // const end = config.window.document.createElement('meta');
952
+ // end.setAttribute('id', `${it.uuid}-end`);
953
+ let type: RawSetType;
954
+ if (currentNode.parentNode && currentNode.parentNode.nodeName.toUpperCase() === 'STYLE') {
955
+ type = RawSetType.STYLE_TEXT;
956
+ } else {
957
+ type = RawSetType.TEXT;
958
+ }
959
+ const node = config.window.document.createTextNode(preparedText);
960
+ const startEndPoint = RawSet.createStartEndPoint({ id: it.uuid, type }, config);
961
+ // layout setting
962
+ // console.log('createTextNode', node);
963
+ template.content.append(node); // expression 앞 부분 넣어줘야 앞부분 일반 text 안짤린다.
964
+ template.content.append(startEndPoint.start); // add start checkpoint
965
+ template.content.append(startEndPoint.end); // add end checkpoint
966
+
967
+ // content 안쪽 RawSet render 할때 start 와 end 사이에 fragment 연산해서 들어간다.
968
+ const fragment = config.window.document.createDocumentFragment();
969
+ fragment.append(config.window.document.createTextNode(it.content));
970
+ // (startEndPoint.start as any).khh = RandomUtils.decimal(0,10)
971
+ pars.push(
972
+ new RawSet(
973
+ it.uuid,
974
+ type,
975
+ {
976
+ start: startEndPoint.start,
977
+ node: currentNode,
978
+ end: startEndPoint.end,
979
+ parent: currentNode.parentNode
980
+ // thisVariableName: thisVariableName
981
+ },
982
+ { fragment: fragment, config: config }
983
+ )
984
+ );
985
+ lasterIndex = regexArr.index + it.content.length;
986
+ }
987
+ template.content.append(config.window.document.createTextNode(text.substring(lasterIndex, text.length)));
988
+ currentNode?.parentNode?.replaceChild(template.content, currentNode); // <-- 여기서 text를 fragment로 replace했기때문에 추적 변경이 가능하다.
989
+ } else if (currentNode.nodeType === Node.ELEMENT_NODE) {
990
+ // const uuid = `${RandomUtils.alphabet(40)}___${obj?.constructor?.name}`;
991
+ const uuid = `${RandomUtils.alphabet(40)}`;
992
+ const element = currentNode as Element;
993
+ // console.log('create ElementTarget', uuid, element.outerHTML);
994
+ const fragment = config.window.document.createDocumentFragment();
995
+ const elementType: RawSetType = RawSetType.TARGET_ELEMENT;
996
+ const startEndPoint = RawSet.createStartEndPoint({ node: element, id: uuid, type: elementType }, config);
997
+ // 여기서 등록한 component 추가한다.
998
+ const targetElementIs = element.getAttribute(RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);
999
+ const targetElementNames = config.targetElements?.map(it => it.name.toLowerCase()) ?? [];
1000
+ const isElement =
1001
+ targetElementNames.includes(element.tagName.toLowerCase()) ||
1002
+ targetElementNames.includes(targetElementIs?.toLowerCase() as any);
1003
+ // if (isElement) {
1004
+ // (element as HTMLElement).style.display = 'none'
1005
+ // }
1006
+ // const isElement = targetElementNames.includes(element.tagName.toLowerCase());
1007
+ const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat(RawSet.DR_ATTRIBUTES);
1008
+ const isAttr = element.getAttributeNames().filter(it => targetAttrNames.includes(it.toLowerCase())).length > 0;
1009
+ currentNode?.parentNode?.insertBefore(startEndPoint.start, currentNode);
1010
+ currentNode?.parentNode?.insertBefore(startEndPoint.end, currentNode.nextSibling);
1011
+ fragment.append(currentNode);
1012
+ // const tempDiv = document.createElement('div');
1013
+ // tempDiv.appendChild(fragment.cloneNode(true)); // fragment 복사본 추가
1014
+ // console.log('------',tempDiv.innerHTML);
1015
+ // console.log();
1016
+ const rawSet = new RawSet(
1017
+ uuid,
1018
+ isElement ? elementType : isAttr ? RawSetType.TARGET_ATTR : RawSetType.UNKOWN,
1019
+ {
1020
+ start: startEndPoint.start,
1021
+ node: currentNode,
1022
+ end: startEndPoint.end,
1023
+ parent: currentNode.parentNode
1024
+ // thisVariableName: thisVariableName
1025
+ },
1026
+ { config: config, fragment: fragment }
1027
+ );
1028
+ pars.push(rawSet);
1029
+ }
1030
+ }
1031
+ // config
1032
+ const util = ElementUtils;
1033
+ // console.log('parsparsparsparsparsparsparsparsparspars', pars, name);
1034
+ return pars;
1035
+ // const lastpars: RawSet[] = []
1036
+ //
1037
+ // pars.forEach(it => {
1038
+ // // it.uuid
1039
+ // const parents = pars.filter(it => it.dataSet.fragment.getElementById(it.uuid+'-start'))
1040
+ //
1041
+ // console.log('vvvvvvvvv', parents);
1042
+ // if (parents.length>0) {
1043
+ // parents.forEach(sit => {
1044
+ // sit.dataSet.fragment.getElementById(sit.uuid + '-start')?.replaceWith(it.dataSet.fragment);
1045
+ // it.dataSet.fragment.getElementById(sit.uuid + '-end').remove();
1046
+ // console.log('rrr');
1047
+ // // ElementUtils.toInnerHTML(it.dataSet.fragment, {document: config.window.document});
1048
+ // // ElementUtils.toInnerHTML(it.dataSet.fragment
1049
+ // });
1050
+ // } else {
1051
+ // lastpars.push(it)
1052
+ // }
1053
+ // })
1054
+ // console.log('zzzzzz', lastpars);
1055
+ // return lastpars;
1056
+ }
1057
+
1058
+ public static createStartEndPoint(data: { node?: Node; id: string; type: RawSetType }, config: DomRenderConfig) {
1059
+ if (data.type === RawSetType.TARGET_ELEMENT && data.node) {
1060
+ const element = data.node as Element;
1061
+ const start: HTMLMetaElement = config.window.document.createElement('meta');
1062
+ const end: HTMLMetaElement = config.window.document.createElement('meta');
1063
+ start.setAttribute('id', `${data.id}-start`);
1064
+ start.setAttribute('dr-start-point', '');
1065
+ const keys = element.getAttribute(RawSet.DR_KEY_OPTIONNAME);
1066
+ const thisPropertyType = element.getAttribute(RawSet.DR_THIS_PROPERTY_NAME);
1067
+ if (thisPropertyType) {
1068
+ start.setAttribute('type', RawSetOperatorType.DR_THIS_PROPERTY);
1069
+ }
1070
+ if (keys) {
1071
+ element.removeAttribute(RawSet.DR_KEY_OPTIONNAME);
1072
+ start.setAttribute(RawSet.DR_KEY_OPTIONNAME, keys);
1073
+ }
1074
+ end.setAttribute('id', `${data.id}-end`);
1075
+ end.setAttribute('dr-end-point', '');
1076
+ return { start, end };
1077
+ } else if (data.type === RawSetType.STYLE_TEXT) {
1078
+ return {
1079
+ start: config.window.document.createTextNode(`/*start text ${data.id}*/`),
1080
+ end: config.window.document.createTextNode(`/*end text ${data.id}*/`)
1081
+ };
1082
+ } else {
1083
+ // text
1084
+ return {
1085
+ start: config.window.document.createComment(`start text ${data.id}`),
1086
+ end: config.window.document.createComment(`end text ${data.id}`)
1087
+ };
1088
+ }
1089
+ }
1090
+
1091
+ public remove() {
1092
+ this.childAllRemove();
1093
+ this.point.end.remove();
1094
+ this.point.start.remove();
1095
+ }
1096
+
1097
+ public childAllRemove() {
1098
+ let next = this.point.start.nextSibling;
1099
+ while (next) {
1100
+ if (next === this.point.end) {
1101
+ break;
1102
+ }
1103
+ next.remove();
1104
+ next = this.point.start.nextSibling;
1105
+ }
1106
+ }
1107
+
1108
+ public childs(stopNext?: (node: Node) => boolean) {
1109
+ const childs: any[] = [];
1110
+ let next = this.point.start.nextSibling;
1111
+ while (next && next !== this.point.end) {
1112
+ if (stopNext?.(next)) {
1113
+ return;
1114
+ }
1115
+ childs.push(next);
1116
+ next = next.nextSibling;
1117
+ }
1118
+ return childs;
1119
+ }
1120
+
1121
+ public getHasRawSet(key: string) {
1122
+ let rawSet: RawSet | undefined;
1123
+ this.childs(node => {
1124
+ const drKey = (node as Element).getAttribute?.(RawSet.DR_KEY_OPTIONNAME);
1125
+ if (drKey && drKey === key) {
1126
+ rawSet = (node as any).rawSet as RawSet;
1127
+ return true;
1128
+ }
1129
+ return false;
1130
+ });
1131
+ return rawSet;
1132
+ }
1133
+
1134
+ public static drItOtherEncoding(element: Element | DocumentFragment, postFix?: string) {
1135
+ const random = RandomUtils.uuid() + postFix;
1136
+ const regex = /#it#/g;
1137
+ element
1138
+ .querySelectorAll(
1139
+ `[${RawSet.DR_IT_OPTIONNAME}], [${RawSet.DR_FOR_OF_NAME}], [${RawSet.DR_REPEAT_NAME}], [${RawSet.DR_APPENDER_NAME}]`
1140
+ )
1141
+ .forEach(it => {
1142
+ it.innerHTML = it.innerHTML.replace(regex, random);
1143
+ });
1144
+ return random;
1145
+ }
1146
+
1147
+ public static drItOtherDecoding(element: Element | DocumentFragment, random: string) {
1148
+ element
1149
+ .querySelectorAll(
1150
+ `[${RawSet.DR_IT_OPTIONNAME}], [${RawSet.DR_FOR_OF_NAME}], [${RawSet.DR_REPEAT_NAME}], [${RawSet.DR_APPENDER_NAME}]`
1151
+ )
1152
+ .forEach(it => {
1153
+ it.innerHTML = it.innerHTML.replace(RegExp(random, 'g'), '#it#');
1154
+ });
1155
+ }
1156
+
1157
+ public static drVarDecoding(
1158
+ element: Element,
1159
+ vars: { name: string; value: string; regex: RegExp; random: string }[]
1160
+ ) {
1161
+ element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {
1162
+ vars
1163
+ .filter(vit => vit.value && vit.name)
1164
+ .forEach(vit => {
1165
+ it.innerHTML = it.innerHTML.replace(RegExp(vit.random, 'g'), vit.value);
1166
+ });
1167
+ });
1168
+ }
1169
+
1170
+ public static replaceInnerHTML(element: Element, config: { asIs: string | RegExp; toBe?: string }): string {
1171
+ const innerHTML = element.innerHTML;
1172
+ const tobe = (config.toBe = config.toBe ?? RandomUtils.uuid());
1173
+ if (config.asIs instanceof RegExp) {
1174
+ element.innerHTML = innerHTML.replace(config.asIs, config.toBe);
1175
+ } else {
1176
+ element.innerHTML = innerHTML.replaceAll(config.asIs, config.toBe);
1177
+ }
1178
+ return tobe;
1179
+ }
1180
+
1181
+ public static drThisEncoding(element: Element, drThis: string, config: { asIs: RegExp; toBe?: string }): string {
1182
+ const thisRandom = (config.toBe = config?.toBe ?? RandomUtils.uuid());
1183
+ // const thisRegex = /(?<!(dr-|\.))this(?=.?)/g;
1184
+ // const thisRegex = /[^(dr\-)]this(?=.?)/g;
1185
+ // const thisRegex = /[^(dr\-)]this\./g;
1186
+ // safari 때문에 전위 검색 regex가 안됨 아 짜증나서 이걸로함.
1187
+ // element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {
1188
+ // let message = it.innerHTML;
1189
+ // })
1190
+ element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {
1191
+ it.innerHTML = it.innerHTML.replace(config.asIs, thisRandom);
1192
+ });
1193
+ element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {
1194
+ // console.log('rrrrrrrrand?', drThis,config);
1195
+ let message = it.innerHTML;
1196
+ // StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(it => {
1197
+ StringUtils.regexExec(config.asIs, message)
1198
+ .reverse()
1199
+ .forEach(it => {
1200
+ message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], `${it[1] ?? ''}${drThis}`);
1201
+ });
1202
+ it.innerHTML = message;
1203
+ });
1204
+
1205
+ // console.log('changggg', element.innerHTML);
1206
+ let message = element.innerHTML;
1207
+ StringUtils.regexExec(config.asIs, message)
1208
+ .reverse()
1209
+ .forEach(it => {
1210
+ message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], `${it[1] ?? ''}${drThis}`);
1211
+ });
1212
+ element.innerHTML = message;
1213
+ return thisRandom;
1214
+ }
1215
+
1216
+ public static drThisBindEncoding(
1217
+ element: Element,
1218
+ variable: RegExp,
1219
+ config: { config: DomRenderConfig; otherReplaceVariablePath?: string }
1220
+ ) {
1221
+ element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(eIt => {
1222
+ let message = eIt.innerHTML;
1223
+ // StringUtils.regexExec(/([^(dr\-)])?this(?=.?)/g, message).reverse().forEach(it => {
1224
+ StringUtils.regexExec(variable, message)
1225
+ .reverse()
1226
+ .forEach(it => {
1227
+ message =
1228
+ message.substr(0, it.index) +
1229
+ message.substr(it.index).replace(it[0], `${it[1] ?? ''}${eIt.getAttribute(RawSet.DR_THIS_NAME)}`);
1230
+ });
1231
+ eIt.innerHTML = message;
1232
+ });
1233
+
1234
+ const targetElements = config.config.targetElements ?? [];
1235
+ const targetElementNames = targetElements
1236
+ .map(it => it.name.replaceAll('.', '\\.').replaceAll(':', '\\:'))
1237
+ .join(',');
1238
+ const thisRandom = RandomUtils.uuid();
1239
+ element.querySelectorAll(targetElementNames).forEach(it => {
1240
+ it.innerHTML = it.innerHTML.replace(variable, thisRandom);
1241
+ });
1242
+
1243
+ element.querySelectorAll(`[${RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME}]`).forEach(it => {
1244
+ it.innerHTML = it.innerHTML.replace(variable, thisRandom);
1245
+ });
1246
+
1247
+ if (config.otherReplaceVariablePath) {
1248
+ let message = element.innerHTML;
1249
+ StringUtils.regexExec(variable, message)
1250
+ .reverse()
1251
+ .forEach(it => {
1252
+ message =
1253
+ message.substr(0, it.index) +
1254
+ message.substr(it.index).replace(it[0], `${it[1] ?? ''}${config.otherReplaceVariablePath}`);
1255
+ });
1256
+ element.innerHTML = message;
1257
+ }
1258
+ return thisRandom;
1259
+ }
1260
+
1261
+ public static drThisBindDecoding(element: Element, config: { asIs: string; toBe: string; config: DomRenderConfig }) {
1262
+ const targetElements = config.config.targetElements ?? [];
1263
+ const targetElementNames = targetElements
1264
+ .map(it => it.name.replaceAll('.', '\\.').replaceAll(':', '\\:'))
1265
+ .join(',');
1266
+ element.querySelectorAll(targetElementNames).forEach(it => {
1267
+ it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);
1268
+ });
1269
+ element.querySelectorAll(`[${RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME}]`).forEach(it => {
1270
+ it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);
1271
+ });
1272
+ }
1273
+
1274
+ public static drThisDecoding(element: Element, config: { asIs: string; toBe: string }) {
1275
+ element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {
1276
+ it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);
1277
+ });
1278
+ element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {
1279
+ it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);
1280
+ });
1281
+ }
1282
+
1283
+ public static drFormOtherMoveAttr(element: Element, as: string, to: string, config: DomRenderConfig) {
1284
+ element.querySelectorAll(`[${RawSet.DR_FORM_NAME}]`).forEach(subElement => {
1285
+ const nodeIterator = config.window.document?.createNodeIterator(subElement, NodeFilter.SHOW_ELEMENT, {
1286
+ acceptNode(node) {
1287
+ if (node.nodeType === Node.ELEMENT_NODE) {
1288
+ const element = node as Element;
1289
+ return element.hasAttribute(as) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
1290
+ } else {
1291
+ return NodeFilter.FILTER_REJECT;
1292
+ }
1293
+ }
1294
+ });
1295
+
1296
+ let node;
1297
+ // eslint-disable-next-line no-cond-assign
1298
+ while ((node = nodeIterator?.nextNode())) {
1299
+ const element = node as Element;
1300
+ element.setAttribute(to, element.getAttribute(as) ?? '');
1301
+ element.removeAttribute(as);
1302
+ }
1303
+ });
1304
+ }
1305
+
1306
+ public static drVarEncoding(element: Element, drVarOption: string) {
1307
+ const vars = (drVarOption?.split(',') ?? []).map(it => {
1308
+ const s = it.trim().split('=');
1309
+ const name = s[0]?.trim();
1310
+ const value = s[1]?.trim();
1311
+ return {
1312
+ name,
1313
+ value,
1314
+ // regex: RegExp('(?<!(dr-|\\.))var\\.' + s[0] + '(?=.?)', 'g'),
1315
+ regex: RegExp('\\$var\\.' + name + '(?=.?)', 'g'),
1316
+ random: RandomUtils.uuid()
1317
+ };
1318
+ });
1319
+ // console.log('asd', element.innerHTML);
1320
+ // element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {
1321
+ element.querySelectorAll(`[${RawSet.DR_VAR_OPTIONNAME}]`).forEach(it => {
1322
+ vars
1323
+ .filter(vit => vit.value && vit.name)
1324
+ .forEach(vit => {
1325
+ it.innerHTML = it.innerHTML.replace(vit.regex, vit.random);
1326
+ });
1327
+ });
1328
+ vars
1329
+ .filter(vit => vit.value && vit.name)
1330
+ .forEach(vit => {
1331
+ element.innerHTML = element.innerHTML.replace(vit.regex, vit.value);
1332
+ });
1333
+ return vars;
1334
+ }
1335
+
1336
+ public static async drThisCreate(
1337
+ rawSet: RawSet,
1338
+ element: Element,
1339
+ drThis: string,
1340
+ drVarOption: string,
1341
+ drStripOption: boolean | string | null,
1342
+ obj: any,
1343
+ config: DomRenderConfig,
1344
+ set?: ComponentSet
1345
+ ): Promise<DocumentFragment | undefined> {
1346
+ // console.log('ttttttttttttttttttttt',element.innerHTML, drThis, set, obj);
1347
+ const fag = config.window.document?.createDocumentFragment();
1348
+ if (!fag) {
1349
+ return;
1350
+ }
1351
+ const targetElement = element.cloneNode(true) as Element;
1352
+ let targetObj = obj;
1353
+ if (set) {
1354
+ targetObj = set.obj;
1355
+ set.setTemplateStyle(await RawSet.fetchTemplateStyle(set));
1356
+ const style = RawSet.generateStyleTransform(set.styles ?? [], rawSet.uuid, true);
1357
+ targetElement.innerHTML = style + (set.template ?? '');
1358
+ } else {
1359
+ targetObj = ObjectUtils.Script.evaluateReturn(ObjectUtils.Path.toOptionalChainPath(drThis), obj);
1360
+ }
1361
+
1362
+ const componentKey = rawSet.uuid;
1363
+ const renderScript = ` /*drThisCreate*/
1364
+ // console.log('-----', this.__render);
1365
+ var ${EventManager.RENDER_VARNAME} = this.__render;
1366
+ var ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;
1367
+ var ${EventManager.COMPONENT_VARNAME} = this.__render.component;
1368
+ var ${EventManager.ELEMENT_VARNAME} = this.__render.element;
1369
+ var ${EventManager.ROUTER_VARNAME} = this.__render.router;
1370
+ var ${EventManager.INNER_HTML_VARNAME} = this.__render.innerHTML;
1371
+ var ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute;
1372
+ var ${EventManager.PARENT_THIS_PATH_VARNAME} = this.__render.parentThisPath;
1373
+ var ${EventManager.CURRENT_THIS_VARNAME} = this.__render.currentThis;
1374
+ var ${EventManager.CURRENT_THIS_PATH_VARNAME} = this.__render.currentThisPath;
1375
+ var ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis;
1376
+ var ${EventManager.NEAR_THIS_PATH_VARNAME} = this.__render.nearThisPath;
1377
+ var ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis;
1378
+ var ${EventManager.CREATOR_META_DATA_VARNAME} = this.__render.creatorMetaData;
1379
+ `;
1380
+
1381
+ const parentThisPath = rawSet.findParentThisPath();
1382
+ const parentThis = rawSet.findParentThis(obj);
1383
+ const nearThisPath = rawSet.findNearThisPath();
1384
+ const nearThis = rawSet.findNearThis(obj);
1385
+ // console.log('ttttttttttttttttt',parentThisPath, parentThis, nearThisPath, nearThis);
1386
+ // console.log('-element.innerHTMLelement.innerHTMLelement.innerHTML',element.innerHTML);
1387
+ let render = {
1388
+ renderScript: renderScript,
1389
+ element: element,
1390
+ getElement: () => config.window.document.querySelector(`[class*="${rawSet.uuid}"]`),
1391
+ innerHTML: element.innerHTML,
1392
+ // attribute: ObjectUtils.toDeleteKey(attribute, [...Object.values(RawSet.drAttrsOriginName), ...Object.values(EventManager.VARNAMES)]),
1393
+ rawSet: rawSet,
1394
+ router: config.router,
1395
+ componentKey: componentKey,
1396
+ currentThis: targetObj,
1397
+ currentThisPath: drThis,
1398
+ parentThisPath: parentThisPath,
1399
+ parentThis: parentThis,
1400
+ nearThisPath: nearThisPath,
1401
+ nearThis: nearThis,
1402
+ scripts: EventManager.setBindProperty(config.scripts ?? {}, obj)
1403
+ } as Render;
1404
+ // const attribute = DomUtils.getAttributeToObject(element);
1405
+ render.attribute = RawSet.getAttributeObject(element, { script: renderScript, obj: obj, renderData: render });
1406
+ render = Object.freeze(render);
1407
+
1408
+ // dr-on-create data onCreateRender
1409
+ const onCreateDataScript = `return {rootParent: this, render: this.__render}`;
1410
+ const onCreateDataParam = ObjectUtils.Script.evaluate<OnCreateRenderDataParams>(
1411
+ onCreateDataScript,
1412
+ Object.assign(obj, { __render: render })
1413
+ );
1414
+ if (isOnCreateRenderData(targetObj)) {
1415
+ targetObj?.onCreateRenderData(onCreateDataParam as OnCreateRenderDataParams);
1416
+ }
1417
+ // 부모에게도 자식 this 생성된거 알려주는 callback
1418
+ if (onCreateDataParam?.render?.parentThis && isOnCreatedThisChild(onCreateDataParam?.render?.parentThis)) {
1419
+ onCreateDataParam.render.parentThis.onCreatedThisChild(targetObj, onCreateDataParam as OnCreateRenderDataParams);
1420
+ }
1421
+
1422
+ // dr-on-create onCreateRender
1423
+ const onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
1424
+ let createParam: any[] = [];
1425
+ if (onCreate) {
1426
+ createParam = ObjectUtils.Script.evaluateReturn<any[]>(
1427
+ { bodyScript: renderScript, returnScript: ObjectUtils.Path.toOptionalChainPath(onCreate) },
1428
+ obj
1429
+ );
1430
+ if (!Array.isArray(createParam)) {
1431
+ createParam = [createParam];
1432
+ }
1433
+ }
1434
+
1435
+ if (isOnCreateRender(targetObj)) {
1436
+ targetObj.onCreateRender(...createParam);
1437
+ }
1438
+
1439
+ // console.log('매번타나?');
1440
+ // 중요 dr-normal-attr-map
1441
+ // const normalAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);
1442
+ const targetAttrObject = RawSet.getAttributeObject(element, { script: renderScript, obj: obj, renderData: render });
1443
+ if (targetAttrObject) {
1444
+ rawSet.dataSet.render ??= {};
1445
+ rawSet.dataSet.render.attribute = targetAttrObject;
1446
+ Object.entries(targetAttrObject).forEach(([key, cval], index) => {
1447
+ // console.log('ooooooooooooooooo', key, cval);
1448
+ // const script = `${renderScript} return ${value} `;
1449
+ // const cval = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));
1450
+ // // element.setAttribute(key, cval);
1451
+ if (isOnChangeAttrRender(targetObj)) {
1452
+ targetObj.onChangeAttrRender(key, cval, { rawSet: rawSet });
1453
+ }
1454
+ });
1455
+ }
1456
+
1457
+ // dr-on-component-init
1458
+ // const oninit = element.getAttribute(`${EventManager.attrPrefix}on-component-init`); // dr-on-component-init
1459
+ const oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME); // dr-on-component-init
1460
+ // console.log('--------drThisCreate!!!', oninit)
1461
+ if (oninit) {
1462
+ const script = `${renderScript} ${oninit} `;
1463
+ ObjectUtils.Script.evaluate(script, Object.assign(obj, { __render: render }));
1464
+ }
1465
+
1466
+ targetElement.querySelectorAll(EventManager.attrNames.map(it => `[${it}]`).join(',')).forEach(it => {
1467
+ it.setAttribute(EventManager.ownerVariablePathAttrName, 'this');
1468
+ });
1469
+
1470
+ // console.log('targetElement',targetElement);
1471
+ // attribute
1472
+ // const componentName = element.getAttribute(RawSet.DR_COMPONENT_NAME_OPTIONNAME) ?? 'component';
1473
+ const componentNameReplaceKey = RandomUtils.uuid();
1474
+ // if (componentName) {
1475
+ // RawSet.replaceInnerHTML(element, {asIs: `#${componentName}#`, toBe: 'this'})
1476
+ // }
1477
+ // const innerHTMLName = element.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? 'innerHTML';
1478
+ // const innerHTMLNameReplaceKey = RandomUtils.uuid();
1479
+ // if (innerHTMLName) {
1480
+ // RawSet.replaceInnerHTML(element, {asIs: `#${innerHTMLName}#`, toBe: innerHTMLNameReplaceKey})
1481
+ // }
1482
+
1483
+ rawSet.point.innerHTML = element.innerHTML;
1484
+ // 이걸 왜 뺐었지... 다시넣었음 그런데 조금 로직이.. 검증이..
1485
+ const innerHTMLName = targetElement.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? 'innerHTML';
1486
+ if (innerHTMLName) {
1487
+ // console.log('---------', element.innerHTML);
1488
+ RawSet.replaceInnerHTML(targetElement, { asIs: `#${innerHTMLName}#`, toBe: element.innerHTML });
1489
+ }
1490
+
1491
+ // console.log('aa-asIs', targetElement.innerHTML);
1492
+ const optionThisName = targetElement.getAttribute(RawSet.DR_THIS_NAME_OPTIONNAME);
1493
+ // console.log('11111111111111', optionThisName)
1494
+ targetElement
1495
+ .getAttributeNames()
1496
+ .forEach(it => targetElement.setAttribute(it, targetElement.getAttribute(it)!.replace(/#this#/g, drThis)));
1497
+ const thisRandom = this.drThisEncoding(targetElement, drThis, { asIs: /@this@/g });
1498
+ // console.log('@@@@@@@@@@@@@0', targetElement.innerHTML);
1499
+ // let thisNameRandom: string | undefined = undefined;
1500
+ if (optionThisName) {
1501
+ // console.log('-----0', element.innerHTML, '\n', targetElement.innerHTML)
1502
+ targetElement.innerHTML = targetElement.innerHTML.replaceAll(`@${optionThisName}@`, drThis);
1503
+ // console.log('-----1', element.innerHTML, '\n', targetElement.innerHTML)
1504
+ // thisNameRandom = this.drThisBindEncoding(targetElement, new RegExp(`@${optionThisName}@`, 'g'), {config: config, otherReplaceVariablePath: drThis});
1505
+ }
1506
+ const nearThisRandom = this.drThisBindEncoding(targetElement, /@nearThis@/g, {
1507
+ config: config,
1508
+ otherReplaceVariablePath: rawSet.findNearThisPath()
1509
+ });
1510
+ const parentThisRandom = this.drThisBindEncoding(targetElement, /@parentThis@/g, {
1511
+ config: config,
1512
+ otherReplaceVariablePath: rawSet.findParentThisPath()
1513
+ });
1514
+ // console.log('@@@@@@@@@@@@@1', targetElement.innerHTML, rawSet.findParentThisPath());
1515
+ // console.log('@@@@@@@@@@@@@-----------', rawSet.point?.parentRawSet?.point?.start, rawSet.point?.parentRawSet?.point?.start instanceof HTMLMetaElement);
1516
+ // if (rawSet.point?.parentRawSet?.point?.start instanceof HTMLMetaElement) {
1517
+ // console.log('@@@@@@@@@@@@@-----------', rawSet.point?.parentRawSet?.point?.start.getAttribute('this-path'));
1518
+ // }
1519
+ // console.log('@@@@@@@@@@@@@2', targetElement.innerHTML);
1520
+ // const nearThisRandom = this.drThisEncoding(targetElement, rawSet.findNearThisPath(), {asIs: /@nearThis@/g});
1521
+ // const parentThisRandom = this.drThisEncoding(targetElement, rawSet.findParentThisPath(), {asIs: /@parentThis@/g});
1522
+ // console.log('aa-toBe', targetElement.innerHTML);
1523
+ // console.log('------', rawSet.findNearThisPath());
1524
+ // console.log('------', rawSet.findParentThisPath());
1525
+ const vars = this.drVarEncoding(targetElement, drVarOption);
1526
+ this.drVarDecoding(targetElement, vars);
1527
+ this.drThisDecoding(targetElement, { asIs: thisRandom, toBe: '@this@' });
1528
+ // if (optionThisName && thisNameRandom)
1529
+ // this.drThisBindDecoding(targetElement, {config: config, asIs: thisNameRandom, toBe: `@${optionThisName}@`});
1530
+ this.drThisBindDecoding(targetElement, { config: config, asIs: nearThisRandom, toBe: '@nearThis@' });
1531
+ this.drThisBindDecoding(targetElement, { config: config, asIs: parentThisRandom, toBe: '@parentThis@' });
1532
+ // if (componentName) {
1533
+ // RawSet.replaceInnerHTML(element, {asIs: componentNameReplaceKey, toBe: `#${componentName}#`})
1534
+ // }
1535
+ // if (innerHTMLName) {
1536
+ // RawSet.replaceInnerHTML(targetElement, {asIs: innerHTMLNameReplaceKey, toBe: `#${innerHTMLName}#`})
1537
+ // }
1538
+ // console.log('ddddddddddddd', targetElement.innerHTML);
1539
+ if (drStripOption && (drStripOption === true || drStripOption === 'true')) {
1540
+ // console.log('------childNodes', Array.from(n.childNodes))
1541
+ Array.from(targetElement.childNodes).forEach(it => fag.append(it));
1542
+ } else {
1543
+ targetElement.classList.add(`${rawSet.uuid}`);
1544
+ fag.append(targetElement);
1545
+ }
1546
+ // (fag as any).__domrender_this_variable_name = drThis;
1547
+ // console.log('set __domrender_this_variable_name', (fag as any).__domrender_this_variable_name)
1548
+ return fag;
1549
+ }
1550
+
1551
+ private static async fetchTemplateStyle(set: { template?: string; styles?: string | string[] }) {
1552
+ // const id = RandomUtils.getRandomString(20);
1553
+ const stylePromises: Promise<string>[] = [];
1554
+ const templatePromise =
1555
+ set.template && set.template.startsWith('lazy://')
1556
+ ? (await fetch(set.template.substring(6))).text()
1557
+ : Promise.resolve(set.template);
1558
+ if (Array.isArray(set.styles)) {
1559
+ for (let i = 0; set.styles && i < (set.styles.length ?? 0); i++) {
1560
+ const it = set.styles[i];
1561
+ stylePromises.push(it.startsWith('lazy://') ? (await fetch(it.substring(6))).text() : Promise.resolve(it));
1562
+ }
1563
+ } else if (set.styles) {
1564
+ stylePromises.push(Promise.resolve(set.styles));
1565
+ }
1566
+ // const tempTemplate = config.window.document.createElement('template');
1567
+ // tempTemplate.innerHTML = await templatePromise;
1568
+ // const tempContainer = config.window.document.createElement('div');
1569
+ return {
1570
+ template: await templatePromise,
1571
+ styles: await Promise.all(stylePromises)
1572
+ };
1573
+ }
1574
+
1575
+ public static createComponentTargetAttribute(
1576
+ name: string,
1577
+ getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any,
1578
+ factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment
1579
+ ) {
1580
+ const targetAttribute: TargetAttr = {
1581
+ name,
1582
+ callBack(element: Element, attrValue: string, obj: any, rawSet: RawSet): DocumentFragment {
1583
+ const thisObj = getThisObj(element, attrValue, obj, rawSet);
1584
+ const data = factory(element, attrValue, obj, rawSet);
1585
+ // rawSet.point.thisVariableName = (data as any).__domrender_this_variable_name;
1586
+ if (thisObj) {
1587
+ // const i = thisObj.__domrender_component_new = (thisObj.__domrender_component_new ?? new Proxy({}, new DomRenderFinalProxy())) as CreatorMetaData;
1588
+ // i.thisVariableName = rawSet.point.thisVariableName;
1589
+ // i.rawSet = rawSet;
1590
+ // i.innerHTML = element.innerHTML;
1591
+ // i.rootCreator = new Proxy(obj, new DomRenderFinalProxy());
1592
+ // i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new DomRenderFinalProxy());
1593
+ }
1594
+ return data;
1595
+ }
1596
+ };
1597
+ return targetAttribute;
1598
+ }
1599
+
1600
+ public static createComponentTargetElement({
1601
+ name,
1602
+ objFactory,
1603
+ template = '',
1604
+ styles = [],
1605
+ noStrip
1606
+ }: {
1607
+ name: string;
1608
+ noStrip?: boolean;
1609
+ objFactory: (element: Element, obj: any, rawSet: RawSet, counstructorParam: any[]) => any;
1610
+ template?: string;
1611
+ styles?: string | string[];
1612
+ }): TargetElement {
1613
+ const targetElement: TargetElement = {
1614
+ name,
1615
+ styles,
1616
+ template,
1617
+ noStrip,
1618
+ async callBack(
1619
+ element: Element,
1620
+ obj: any,
1621
+ rawSet: RawSet,
1622
+ attrs: Attrs,
1623
+ config: DomRenderConfig
1624
+ ): Promise<DocumentFragment | undefined> {
1625
+ const templateStyle = await RawSet.fetchTemplateStyle({ template: this.template, styles: this.styles });
1626
+ this.template = templateStyle.template;
1627
+ this.styles = templateStyle.styles;
1628
+ obj.__domrender_components ??= {};
1629
+ const domrenderComponents = obj.__domrender_components;
1630
+ // debugger;
1631
+ const renderScript = ` /*createComponentTargetElement*/
1632
+ // console.log('-------------------',this.__render);
1633
+ var ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;
1634
+ var ${EventManager.COMPONENT_VARNAME} = this.__render.component;
1635
+ var ${EventManager.ELEMENT_VARNAME} = this.__render.element;
1636
+ var ${EventManager.ROUTER_VARNAME} = this.__render.router;
1637
+ var ${EventManager.INNER_HTML_VARNAME} = this.__render.innerHTML;
1638
+ var ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute;
1639
+ var ${EventManager.PARENT_THIS_PATH_VARNAME} = this.__render.parentThisPath;
1640
+ var ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis;
1641
+ var ${EventManager.NEAR_THIS_PATH_VARNAME} = this.__render.nearThisPath;
1642
+ var ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis;
1643
+ var ${EventManager.CREATOR_META_DATA_VARNAME} = this.__render.creatorMetaData;
1644
+ `;
1645
+ const parentThisPath = rawSet.findParentThisPath();
1646
+ const parentThis = rawSet.findParentThis(obj);
1647
+ const nearThisPath = rawSet.findNearThisPath();
1648
+ const nearThis = rawSet.findNearThis(obj);
1649
+ let render = {
1650
+ renderScript,
1651
+ element: element,
1652
+ innerHTML: element.innerHTML,
1653
+ // attribute: attribute,
1654
+ getElement: () => config.window.document.querySelector(`[class*="${rawSet.uuid}"]`),
1655
+ rawSet: rawSet,
1656
+ router: config.router,
1657
+ componentKey: rawSet.uuid,
1658
+ nearThisPath: nearThisPath,
1659
+ nearThis: nearThis,
1660
+ parentThisPath: parentThisPath,
1661
+ parentThis: parentThis,
1662
+ scripts: EventManager.setBindProperty(config.scripts ?? {}, obj)
1663
+ } as Render;
1664
+ const constructor = element.getAttribute(RawSet.DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME);
1665
+ let constructorParam = [];
1666
+ // script 부분은 처리되어 바인딩 시켜준다
1667
+ render.attribute = RawSet.getAttributeObject(element, { script: renderScript, obj: obj, renderData: render });
1668
+ render = Object.freeze(render);
1669
+ //
1670
+ // // dr-constructor
1671
+ if (constructor) {
1672
+ let param =
1673
+ ObjectUtils.Script.evaluateReturn(
1674
+ { bodyScript: renderScript, returnScript: ObjectUtils.Path.toOptionalChainPath(constructor) },
1675
+ Object.assign(obj, { __render: render })
1676
+ ) ?? [];
1677
+ if (!Array.isArray(param)) {
1678
+ param = [param];
1679
+ }
1680
+ constructorParam = param;
1681
+ }
1682
+
1683
+ // // console.log('------22', attrs);
1684
+ const instance = (domrenderComponents[rawSet.uuid] = objFactory(element, obj, rawSet, constructorParam));
1685
+ render = {
1686
+ currentThis: instance,
1687
+ // creatorMetaData: i,
1688
+ ...render
1689
+ };
1690
+ rawSet.dataSet.render = render;
1691
+ // 추적 및 destroy 위해.
1692
+ instance.__rawSet = rawSet;
1693
+
1694
+ //
1695
+ // const i = instance.__domrender_component_new = (instance.__domrender_component_new ?? new Proxy({}, new DomRenderFinalProxy())) as CreatorMetaData;
1696
+ // i.thisVariableName = rawSet.point.thisVariableName;
1697
+ // i.thisFullVariableName = `this.__domrender_components.${componentKey}`;
1698
+ // i.componentKey = componentKey;
1699
+ // i.rawSet = rawSet;
1700
+ // i.attribute = attribute;
1701
+ // i.router = config.router;
1702
+ // i.scripts = render.scripts;
1703
+ // i.drAttrs = attrs;
1704
+ // i.innerHTML = element.innerHTML;
1705
+ // i.rootCreator = new Proxy(obj, new DomRenderFinalProxy());
1706
+ // i.creator = new Proxy(rawSet.point.thisVariableName ? ObjectUtils.Script.evalReturn(rawSet.point.thisVariableName, obj) : obj, new DomRenderFinalProxy());
1707
+ // this.__creatorMetaData = i;
1708
+ // render = {
1709
+ // component: instance,
1710
+ // creatorMetaData: i,
1711
+ // ...render
1712
+ // };
1713
+ //
1714
+ // // 중요 dr-normal-attr-map
1715
+ // const normalAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);
1716
+ // if (isOnChangeAttrRender(instance) && normalAttrMap) {
1717
+ // new Map<string, string>(JSON.parse(normalAttrMap)).forEach((value, key) => {
1718
+ // const script = `${renderScript} return ${value} `;
1719
+ // const cval = ObjectUtils.Script.eval(script, Object.assign(obj, { __render: render }));
1720
+ // // element.setAttribute(key, cval);
1721
+ // instance.onChangeAttrRender(key, cval);
1722
+ // });
1723
+ // }
1724
+ //
1725
+ // // dr-on-create data
1726
+ // const onCreateDataScript = `return {rootParent: this, render: this.__render}`;
1727
+ // const onCreateDataParam = ObjectUtils.Script.eval(onCreateDataScript, Object.assign(obj, { __render: render }));
1728
+ // if (isOnCreateRenderData(instance)) {
1729
+ // instance?.onCreateRenderData(onCreateDataParam);
1730
+ // }
1731
+ //
1732
+ // // dr-on-create onCreateRender
1733
+ // const onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
1734
+ // this.__render = render;
1735
+ // let createParam = [];
1736
+ // if (onCreate) {
1737
+ // const script = `${renderScript} return ${onCreate} `;
1738
+ // createParam = ObjectUtils.Script.eval(script, Object.assign(obj, { __render: render }));
1739
+ // if (!Array.isArray(createParam)) {
1740
+ // createParam = [createParam];
1741
+ // }
1742
+ // }
1743
+ // if (isOnCreateRender(instance)) {
1744
+ // instance?.onCreateRender?.(...createParam);
1745
+ // }
1746
+ let applayTemplate = element.innerHTML;
1747
+ let innerHTMLThisRandom;
1748
+ const componentName = element.getAttribute(RawSet.DR_COMPONENT_NAME_OPTIONNAME) ?? 'component';
1749
+ const innerHTMLName = element.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? 'innerHTML';
1750
+ if (applayTemplate) {
1751
+ // if (rawSet.point.thisVariableName) {
1752
+ // 넘어온 innerHTML에 this가 있으면 해당안되게 우선 치환.
1753
+ innerHTMLThisRandom = RandomUtils.uuid();
1754
+ applayTemplate = applayTemplate.replace(/this\./g, innerHTMLThisRandom);
1755
+ // }
1756
+ applayTemplate = applayTemplate.replace(RegExp(`#${componentName}#`, 'g'), 'this');
1757
+ }
1758
+ // applayTemplate = template.replace(RegExp(`#${innerHTMLName}#`, 'g'), applayTemplate);
1759
+ applayTemplate = (this.template ?? '').replace(RegExp(`#${innerHTMLName}#`, 'g'), applayTemplate);
1760
+ // dr-on-component-init
1761
+ // const oninit = element.getAttribute(`${EventManager.attrPrefix}on-component-init`); // dr-on-component-init
1762
+ // const oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME); // dr-on-component-init
1763
+ // if (oninit) {
1764
+ // const script = `${renderScript} ${oninit} `;
1765
+ // ObjectUtils.Script.eval(script, Object.assign(obj, {
1766
+ // __render: render
1767
+ // }));
1768
+ // }
1769
+
1770
+ const style = RawSet.generateStyleTransform(this.styles, rawSet.uuid, true);
1771
+ element.innerHTML = style + (applayTemplate ?? '');
1772
+
1773
+ // 여기서 targetElement의 옷을 벗긴다.
1774
+ // console.log('---createComponentTargetElement', element);
1775
+ let data = await RawSet.drThisCreate(
1776
+ rawSet,
1777
+ element,
1778
+ `this.__domrender_components.${rawSet.uuid}`,
1779
+ '',
1780
+ !noStrip,
1781
+ obj,
1782
+ config
1783
+ );
1784
+ // const tempDiv = document.createElement("div");
1785
+ // tempDiv.appendChild(data.cloneNode(true)); // 원본 보존
1786
+ // console.log('-------------ddddddddddddd', element.innerHTML, tempDiv.innerHTML);
1787
+ // let data = await RawSet.drThisCreate(rawSet, element, `this.__domrender_components.${componentKey}`, '', false, obj, config);
1788
+
1789
+ // 넘어온 innerHTML에 this가 있는걸 다시 복호화해서 제대로 작동하도록한다. 부모에서의 this면 부모껄로 작동되게
1790
+ if (data && innerHTMLThisRandom) {
1791
+ const template = config.window.document.createElement('template') as HTMLTemplateElement;
1792
+ template.content.append(data);
1793
+ template.innerHTML = template.innerHTML.replace(RegExp(innerHTMLThisRandom, 'g'), 'this.');
1794
+ data = template.content;
1795
+ }
1796
+ // (data as any).render = render;
1797
+ return data;
1798
+ }
1799
+ // complete
1800
+ };
1801
+ return targetElement;
1802
+ }
1803
+
1804
+ public static isExpression(data: string | null) {
1805
+ // const reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]?[^{]*?)\}[$#]))/g;
1806
+ const reg = /[$#]\{([\s\S.]*?)\}[$#]/g;
1807
+ return reg.test(data ?? '');
1808
+ }
1809
+
1810
+ public static expressionGroups(data: string | null) {
1811
+ // const reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]*?)\}[$#]))/g;
1812
+ // const reg = /(?:[$#]\{(?:(([$#]\{)??[^$#]?[^{]*?)\}[$#]))/g;
1813
+ const reg = /[$#]\{([\s\S.]*?)\}[$#]/g;
1814
+ return StringUtils.regexExec(reg, data ?? '');
1815
+ }
1816
+
1817
+ public static destroy(
1818
+ obj: any | undefined,
1819
+ parameter: OnDestroyRenderParams,
1820
+ config: DomRenderConfig,
1821
+ destroyOptions: (DestroyOptionType | string)[] = []
1822
+ ): void {
1823
+ // console.log('destroy destroydestroydestroydestroy', obj, parameter, config, destroyOptions);
1824
+ if (!destroyOptions.some(it => it === DestroyOptionType.NO_DESTROY)) {
1825
+ if (!destroyOptions.some(it => it === DestroyOptionType.NO_MESSENGER_DESTROY)) {
1826
+ if (config.messenger && obj) {
1827
+ config.messenger.deleteChannelFromObj(obj);
1828
+ }
1829
+ }
1830
+ // console.log('------------destroy', obj);
1831
+ if (isOnDestroyRender(obj)) {
1832
+ obj.onDestroyRender?.(parameter);
1833
+ }
1834
+ }
1835
+ }
1836
+
1837
+ public findNearThis = (obj: any, rawSet: RawSet = this) => {
1838
+ const path = this.findNearThisPath(rawSet);
1839
+ if (path) {
1840
+ const optionalPath = ObjectUtils.Path.toOptionalChainPath(path);
1841
+ // console.log('ppppp-', path, optionalPath)
1842
+ return ObjectUtils.Script.evaluateReturn(optionalPath, obj);
1843
+ }
1844
+ };
1845
+
1846
+ public findParentThis = (obj: any, rawSet: RawSet = this) => {
1847
+ const path = this.findParentThisPath(rawSet);
1848
+ if (path) {
1849
+ const optionalPath = ObjectUtils.Path.toOptionalChainPath(path);
1850
+ return ObjectUtils.Script.evaluateReturn(optionalPath, obj);
1851
+ }
1852
+ };
1853
+
1854
+ public findNearThisPath = (rawSet: RawSet = this): string | undefined => {
1855
+ const paths = this.findThisPaths(rawSet);
1856
+ return paths[paths.length - 1];
1857
+ };
1858
+
1859
+ public findParentThisPath = (rawSet: RawSet = this): string | undefined => {
1860
+ const paths = this.findThisPaths(rawSet);
1861
+ return paths[paths.length - 2];
1862
+ };
1863
+
1864
+ public findThisPaths = (rawSet: RawSet = this): string[] => {
1865
+ const paths: string[] = [];
1866
+ const findPath = (rawSet: RawSet) => {
1867
+ if (rawSet && rawSet.point) {
1868
+ // jsDom에서 instranceof HTMLMetaElement가 안먹히는것같아? 간혈적으로?
1869
+ if (rawSet.point?.start && ('getAttribute' in rawSet.point.start) && rawSet.point.start.getAttribute('this-path')) {
1870
+ paths.push(rawSet.point.start.getAttribute('this-path')!);
1871
+ }
1872
+ if (rawSet.point.parentRawSet) findPath(rawSet.point.parentRawSet);
1873
+ }
1874
+ };
1875
+ findPath(rawSet);
1876
+ paths.push('this');
1877
+ return paths.reverse();
1878
+ };
1879
+
1880
+ public static getAttributeObject(element: Element, config: { script: string; obj: any; renderData?: any }) {
1881
+ if (!element) {
1882
+ return undefined;
1883
+ }
1884
+ const attribute = ElementUtils.getAttributeToObject(element);
1885
+ const normalAttribute = attribute[EventManager.normalAttrMapAttrName];
1886
+ if (normalAttribute) {
1887
+ new Map<string, string>(JSON.parse(normalAttribute)).forEach((v, k) => {
1888
+ const cval = ObjectUtils.Script.evaluateReturn(
1889
+ { bodyScript: config.script, returnScript: v },
1890
+ Object.assign(config.obj, config.renderData ? { __render: config.renderData } : undefined)
1891
+ );
1892
+ attribute[k] = cval;
1893
+ });
1894
+ }
1895
+ return attribute;
1896
+ }
1897
+ }