@dooboostore/dom-render 1.0.108 → 1.0.110

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 (236) hide show
  1. package/README.MD +27 -1451
  2. package/dist/cjs/DomRender.js +41 -26
  3. package/dist/cjs/DomRender.js.map +2 -2
  4. package/dist/cjs/DomRenderProxy.js +134 -62
  5. package/dist/cjs/DomRenderProxy.js.map +2 -2
  6. package/dist/cjs/bundle-entry.js +32 -21
  7. package/dist/cjs/bundle-entry.js.map +2 -2
  8. package/dist/cjs/components/ComponentBase.js +24 -6
  9. package/dist/cjs/components/ComponentBase.js.map +2 -2
  10. package/dist/cjs/components/ComponentRouterBase.js +11 -1
  11. package/dist/cjs/components/ComponentRouterBase.js.map +2 -2
  12. package/dist/cjs/components/appender/Appender.js +0 -3
  13. package/dist/cjs/components/appender/Appender.js.map +2 -2
  14. package/dist/cjs/components/checkbox/CheckBox.js.map +2 -2
  15. package/dist/cjs/components/choose/Choose.js +7 -1
  16. package/dist/cjs/components/choose/Choose.js.map +2 -2
  17. package/dist/cjs/components/details/Details.js +2 -2
  18. package/dist/cjs/components/details/Details.js.map +2 -2
  19. package/dist/cjs/components/forOf/ForOf.js.map +2 -2
  20. package/dist/cjs/components/if/If.js +2 -2
  21. package/dist/cjs/components/if/If.js.map +2 -2
  22. package/dist/cjs/components/input/Input.js +2 -2
  23. package/dist/cjs/components/input/Input.js.map +2 -2
  24. package/dist/cjs/components/promise/PromiseSwitch.js +6 -6
  25. package/dist/cjs/components/promise/PromiseSwitch.js.map +2 -2
  26. package/dist/cjs/components/radio/Radio.js.map +2 -2
  27. package/dist/cjs/components/router/Route.js +2 -2
  28. package/dist/cjs/components/router/Route.js.map +2 -2
  29. package/dist/cjs/components/router/RouterOutlet.js +17 -3
  30. package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
  31. package/dist/cjs/components/select/Select.js +26 -12
  32. package/dist/cjs/components/select/Select.js.map +2 -2
  33. package/dist/cjs/components/this/This.js +2 -2
  34. package/dist/cjs/components/this/This.js.map +2 -2
  35. package/dist/cjs/components/timer/Timer.js +15 -13
  36. package/dist/cjs/components/timer/Timer.js.map +2 -2
  37. package/dist/cjs/decorators/DomRenderNoProxy.js +2 -1
  38. package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
  39. package/dist/cjs/events/EventManager.js +9 -2
  40. package/dist/cjs/events/EventManager.js.map +2 -2
  41. package/dist/cjs/lifecycle/OnInitRender.js.map +1 -1
  42. package/dist/cjs/lifecycle/OnRawSetRendered.js +26 -0
  43. package/dist/cjs/lifecycle/OnRawSetRendered.js.map +7 -0
  44. package/dist/cjs/lifecycle/index.js +1 -0
  45. package/dist/cjs/lifecycle/index.js.map +2 -2
  46. package/dist/cjs/operators/DrForOf.js +24 -11
  47. package/dist/cjs/operators/DrForOf.js.map +2 -2
  48. package/dist/cjs/operators/DrIf.js +1 -2
  49. package/dist/cjs/operators/DrIf.js.map +2 -2
  50. package/dist/cjs/operators/DrInnerText.js +2 -2
  51. package/dist/cjs/operators/DrInnerText.js.map +2 -2
  52. package/dist/cjs/operators/DrTargetElement.js +2 -0
  53. package/dist/cjs/operators/DrTargetElement.js.map +2 -2
  54. package/dist/cjs/operators/OperatorExecuter.js +1 -2
  55. package/dist/cjs/operators/OperatorExecuter.js.map +2 -2
  56. package/dist/cjs/package.json +5 -0
  57. package/dist/cjs/rawsets/RawSet.js +392 -115
  58. package/dist/cjs/rawsets/RawSet.js.map +3 -3
  59. package/dist/cjs/rawsets/Render.js.map +1 -1
  60. package/dist/cjs/routers/PathRouter.js +13 -7
  61. package/dist/cjs/routers/PathRouter.js.map +2 -2
  62. package/dist/cjs/routers/Router.js +76 -36
  63. package/dist/cjs/routers/Router.js.map +3 -3
  64. package/dist/esm/DomRender.js +41 -26
  65. package/dist/esm/DomRender.js.map +2 -2
  66. package/dist/esm/DomRenderProxy.js +134 -62
  67. package/dist/esm/DomRenderProxy.js.map +2 -2
  68. package/dist/esm/bundle-entry.js +22 -21
  69. package/dist/esm/bundle-entry.js.map +2 -2
  70. package/dist/esm/components/ComponentBase.js +24 -6
  71. package/dist/esm/components/ComponentBase.js.map +2 -2
  72. package/dist/esm/components/ComponentRouterBase.js +11 -1
  73. package/dist/esm/components/ComponentRouterBase.js.map +2 -2
  74. package/dist/esm/components/appender/Appender.js +0 -3
  75. package/dist/esm/components/appender/Appender.js.map +2 -2
  76. package/dist/esm/components/checkbox/CheckBox.js.map +2 -2
  77. package/dist/esm/components/choose/Choose.js +7 -1
  78. package/dist/esm/components/choose/Choose.js.map +2 -2
  79. package/dist/esm/components/details/Details.js +2 -2
  80. package/dist/esm/components/details/Details.js.map +2 -2
  81. package/dist/esm/components/forOf/ForOf.js.map +2 -2
  82. package/dist/esm/components/if/If.js +2 -2
  83. package/dist/esm/components/if/If.js.map +2 -2
  84. package/dist/esm/components/input/Input.js +2 -2
  85. package/dist/esm/components/input/Input.js.map +2 -2
  86. package/dist/esm/components/promise/PromiseSwitch.js +6 -6
  87. package/dist/esm/components/promise/PromiseSwitch.js.map +2 -2
  88. package/dist/esm/components/radio/Radio.js.map +2 -2
  89. package/dist/esm/components/router/Route.js +2 -2
  90. package/dist/esm/components/router/Route.js.map +2 -2
  91. package/dist/esm/components/router/RouterOutlet.js +18 -4
  92. package/dist/esm/components/router/RouterOutlet.js.map +2 -2
  93. package/dist/esm/components/select/Select.js +26 -12
  94. package/dist/esm/components/select/Select.js.map +2 -2
  95. package/dist/esm/components/this/This.js +2 -2
  96. package/dist/esm/components/this/This.js.map +2 -2
  97. package/dist/esm/components/timer/Timer.js +15 -13
  98. package/dist/esm/components/timer/Timer.js.map +2 -2
  99. package/dist/esm/decorators/DomRenderNoProxy.js +2 -1
  100. package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
  101. package/dist/esm/events/EventManager.js +9 -2
  102. package/dist/esm/events/EventManager.js.map +2 -2
  103. package/dist/esm/lifecycle/OnInitRender.js.map +1 -1
  104. package/dist/esm/lifecycle/OnRawSetRendered.js +7 -0
  105. package/dist/esm/lifecycle/OnRawSetRendered.js.map +7 -0
  106. package/dist/esm/lifecycle/index.js +1 -0
  107. package/dist/esm/lifecycle/index.js.map +2 -2
  108. package/dist/esm/operators/DrForOf.js +24 -11
  109. package/dist/esm/operators/DrForOf.js.map +2 -2
  110. package/dist/esm/operators/DrIf.js +1 -2
  111. package/dist/esm/operators/DrIf.js.map +2 -2
  112. package/dist/esm/operators/DrInnerText.js +2 -2
  113. package/dist/esm/operators/DrInnerText.js.map +2 -2
  114. package/dist/esm/operators/DrTargetElement.js +2 -0
  115. package/dist/esm/operators/DrTargetElement.js.map +2 -2
  116. package/dist/esm/operators/OperatorExecuter.js +1 -2
  117. package/dist/esm/operators/OperatorExecuter.js.map +2 -2
  118. package/dist/esm/rawsets/RawSet.js +392 -115
  119. package/dist/esm/rawsets/RawSet.js.map +3 -3
  120. package/dist/esm/routers/PathRouter.js +13 -7
  121. package/dist/esm/routers/PathRouter.js.map +2 -2
  122. package/dist/esm/routers/Router.js +76 -36
  123. package/dist/esm/routers/Router.js.map +3 -3
  124. package/dist/esm-bundle/dooboostore-dom-render.esm.js +14023 -6402
  125. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  126. package/dist/types/DomRender.d.ts +11 -5
  127. package/dist/types/DomRender.d.ts.map +1 -1
  128. package/dist/types/DomRenderProxy.d.ts +2 -2
  129. package/dist/types/DomRenderProxy.d.ts.map +1 -1
  130. package/dist/types/bundle-entry.d.ts +5 -2
  131. package/dist/types/bundle-entry.d.ts.map +1 -1
  132. package/dist/types/components/ComponentBase.d.ts +8 -2
  133. package/dist/types/components/ComponentBase.d.ts.map +1 -1
  134. package/dist/types/components/ComponentRouterBase.d.ts +8 -0
  135. package/dist/types/components/ComponentRouterBase.d.ts.map +1 -1
  136. package/dist/types/components/appender/Appender.d.ts +0 -2
  137. package/dist/types/components/appender/Appender.d.ts.map +1 -1
  138. package/dist/types/components/checkbox/CheckBox.d.ts.map +1 -1
  139. package/dist/types/components/choose/Choose.d.ts.map +1 -1
  140. package/dist/types/components/details/Details.d.ts +1 -1
  141. package/dist/types/components/details/Details.d.ts.map +1 -1
  142. package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
  143. package/dist/types/components/if/If.d.ts +1 -1
  144. package/dist/types/components/if/If.d.ts.map +1 -1
  145. package/dist/types/components/index.d.ts +2 -1
  146. package/dist/types/components/index.d.ts.map +1 -1
  147. package/dist/types/components/input/Input.d.ts +1 -1
  148. package/dist/types/components/input/Input.d.ts.map +1 -1
  149. package/dist/types/components/promise/PromiseSwitch.d.ts +1 -1
  150. package/dist/types/components/promise/PromiseSwitch.d.ts.map +1 -1
  151. package/dist/types/components/radio/Radio.d.ts.map +1 -1
  152. package/dist/types/components/router/Route.d.ts +1 -1
  153. package/dist/types/components/router/Route.d.ts.map +1 -1
  154. package/dist/types/components/router/RouterOutlet.d.ts +6 -2
  155. package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
  156. package/dist/types/components/select/Select.d.ts +5 -5
  157. package/dist/types/components/select/Select.d.ts.map +1 -1
  158. package/dist/types/components/this/This.d.ts +1 -1
  159. package/dist/types/components/this/This.d.ts.map +1 -1
  160. package/dist/types/components/timer/Timer.d.ts +6 -4
  161. package/dist/types/components/timer/Timer.d.ts.map +1 -1
  162. package/dist/types/decorators/DomRenderNoProxy.d.ts.map +1 -1
  163. package/dist/types/events/EventManager.d.ts +8 -0
  164. package/dist/types/events/EventManager.d.ts.map +1 -1
  165. package/dist/types/index.d.ts +0 -100
  166. package/dist/types/lifecycle/OnInitRender.d.ts +1 -1
  167. package/dist/types/lifecycle/OnInitRender.d.ts.map +1 -1
  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 +1 -0
  171. package/dist/types/lifecycle/index.d.ts.map +1 -1
  172. package/dist/types/operators/DrForOf.d.ts.map +1 -1
  173. package/dist/types/operators/DrInnerText.d.ts.map +1 -1
  174. package/dist/types/operators/DrTargetElement.d.ts.map +1 -1
  175. package/dist/types/operators/OperatorExecuter.d.ts.map +1 -1
  176. package/dist/types/rawsets/RawSet.d.ts +17 -9
  177. package/dist/types/rawsets/RawSet.d.ts.map +1 -1
  178. package/dist/types/rawsets/Render.d.ts +1 -0
  179. package/dist/types/rawsets/Render.d.ts.map +1 -1
  180. package/dist/types/routers/PathRouter.d.ts.map +1 -1
  181. package/dist/types/routers/Router.d.ts +11 -14
  182. package/dist/types/routers/Router.d.ts.map +1 -1
  183. package/dist/umd-bundle/dooboostore-dom-render.umd.js +14104 -6502
  184. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  185. package/package.json +9 -8
  186. package/src/DomRender.ts +62 -34
  187. package/src/DomRenderProxy.ts +275 -142
  188. package/src/bundle-entry.ts +5 -3
  189. package/src/components/ComponentBase.ts +33 -11
  190. package/src/components/ComponentRouterBase.ts +17 -2
  191. package/src/components/appender/Appender.ts +0 -5
  192. package/src/components/checkbox/CheckBox.ts +22 -25
  193. package/src/components/choose/Choose.ts +19 -18
  194. package/src/components/details/Details.ts +40 -43
  195. package/src/components/forOf/ForOf.ts +6 -9
  196. package/src/components/if/If.ts +9 -11
  197. package/src/components/input/Input.ts +16 -22
  198. package/src/components/promise/PromiseSwitch.ts +67 -66
  199. package/src/components/radio/Radio.ts +23 -28
  200. package/src/components/router/Route.ts +10 -13
  201. package/src/components/router/RouterOutlet.ts +29 -8
  202. package/src/components/select/Select.ts +47 -33
  203. package/src/components/this/This.ts +13 -12
  204. package/src/components/timer/Timer.ts +29 -65
  205. package/src/decorators/DomRenderNoProxy.ts +3 -1
  206. package/src/events/EventManager.ts +15 -4
  207. package/src/lifecycle/OnInitRender.ts +1 -1
  208. package/src/lifecycle/OnRawSetRendered.ts +15 -0
  209. package/src/lifecycle/index.ts +1 -0
  210. package/src/node_modules/.bin/acorn +17 -0
  211. package/src/node_modules/.bin/browserslist +17 -0
  212. package/src/node_modules/.bin/eslint +17 -0
  213. package/src/node_modules/.bin/sbf +17 -0
  214. package/src/node_modules/.bin/ts-node +17 -0
  215. package/src/node_modules/.bin/ts-node-cwd +17 -0
  216. package/src/node_modules/.bin/ts-node-dev +17 -0
  217. package/src/node_modules/.bin/ts-node-esm +17 -0
  218. package/src/node_modules/.bin/ts-node-script +17 -0
  219. package/src/node_modules/.bin/ts-node-transpile-only +17 -0
  220. package/src/node_modules/.bin/ts-script +17 -0
  221. package/src/node_modules/.bin/tsc +17 -0
  222. package/src/node_modules/.bin/tsnd +17 -0
  223. package/src/node_modules/.bin/tsserver +17 -0
  224. package/src/node_modules/.bin/webpack +17 -0
  225. package/src/node_modules/.bin/webpack-cli +17 -0
  226. package/src/node_modules/.bin/webpack-dev-server +17 -0
  227. package/src/operators/DrForOf.ts +25 -10
  228. package/src/operators/DrIf.ts +1 -1
  229. package/src/operators/DrInnerText.ts +2 -1
  230. package/src/operators/DrTargetElement.ts +14 -0
  231. package/src/operators/OperatorExecuter.ts +1 -2
  232. package/src/rawsets/RawSet.ts +709 -295
  233. package/src/rawsets/Render.ts +1 -0
  234. package/src/routers/PathRouter.ts +14 -7
  235. package/src/routers/Router.ts +107 -61
  236. package/types.d.ts +0 -2825
@@ -22,7 +22,6 @@ __export(RawSet_exports, {
22
22
  module.exports = __toCommonJS(RawSet_exports);
23
23
  var import_RandomUtils = require("@dooboostore/core/random/RandomUtils");
24
24
  var import_StringUtils = require("@dooboostore/core/string/StringUtils");
25
- var import_ScriptUtils = require("@dooboostore/core-web/script/ScriptUtils");
26
25
  var import_EventManager = require("../events/EventManager");
27
26
  var import_Range = require("../iterators/Range");
28
27
  var import_ElementUtils = require("@dooboostore/core-web/element/ElementUtils");
@@ -54,6 +53,8 @@ var import_OnCreatedThisChild = require("../lifecycle/OnCreatedThisChild");
54
53
  var import_OnDestroyRender = require("../lifecycle/OnDestroyRender");
55
54
  var import_DrTargetElementIsElement = require("../operators/DrTargetElementIsElement");
56
55
  var import_ObjectUtils = require("@dooboostore/core/object/ObjectUtils");
56
+ var import_NodeUtils = require("@dooboostore/core-web/node/NodeUtils");
57
+ var import_ConvertUtils = require("@dooboostore/core/convert/ConvertUtils");
57
58
  const _RawSet = class _RawSet {
58
59
  constructor(uuid, type, point, dataSet, detect) {
59
60
  this.uuid = uuid;
@@ -65,14 +66,14 @@ const _RawSet = class _RawSet {
65
66
  const path = this.findNearThisPath(rawSet);
66
67
  if (path) {
67
68
  const optionalPath = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(path);
68
- return import_ScriptUtils.ScriptUtils.evaluateReturn(optionalPath, obj);
69
+ return import_ObjectUtils.ObjectUtils.Script.evaluateReturn(optionalPath, obj);
69
70
  }
70
71
  };
71
72
  this.findParentThis = (obj, rawSet = this) => {
72
73
  const path = this.findParentThisPath(rawSet);
73
74
  if (path) {
74
75
  const optionalPath = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(path);
75
- return import_ScriptUtils.ScriptUtils.evaluateReturn(optionalPath, obj);
76
+ return import_ObjectUtils.ObjectUtils.Script.evaluateReturn(optionalPath, obj);
76
77
  }
77
78
  };
78
79
  this.findNearThisPath = (rawSet = this) => {
@@ -87,11 +88,10 @@ const _RawSet = class _RawSet {
87
88
  const paths = [];
88
89
  const findPath = (rawSet2) => {
89
90
  if (rawSet2 && rawSet2.point) {
90
- if ("getAttribute" in rawSet2.point.start && rawSet2.point.start.getAttribute("this-path")) {
91
+ if (rawSet2.point?.start && "getAttribute" in rawSet2.point.start && rawSet2.point.start.getAttribute("this-path")) {
91
92
  paths.push(rawSet2.point.start.getAttribute("this-path"));
92
93
  }
93
- if (rawSet2.point.parentRawSet)
94
- findPath(rawSet2.point.parentRawSet);
94
+ if (rawSet2.point.parentRawSet) findPath(rawSet2.point.parentRawSet);
95
95
  }
96
96
  };
97
97
  findPath(rawSet);
@@ -100,7 +100,7 @@ const _RawSet = class _RawSet {
100
100
  };
101
101
  }
102
102
  get isConnected() {
103
- return this.point.start.isConnected && this.point.end.isConnected;
103
+ return this.point && this.point.start && this.point.end && this.point.start.isConnected && this.point.end.isConnected;
104
104
  }
105
105
  // 중요
106
106
  getUsingTriggerVariables(config) {
@@ -115,12 +115,18 @@ const _RawSet = class _RawSet {
115
115
  }
116
116
  } else if (cNode.nodeType === Node.ELEMENT_NODE) {
117
117
  const element = cNode;
118
- const targetAttrNames = (config?.targetAttrs?.map((it) => it.name) ?? []).concat(_RawSet.DR_ATTRIBUTES, _RawSet.DR_DETECT_FILTER_OPTIONNAME, _RawSet.DR_DETECT_IF_OPTIONNAME, _RawSet.DR_DETECT_ATTR_OPTIONNAME);
118
+ const targetAttrNames = (config?.targetAttrs?.map((it) => it.name) ?? []).concat(
119
+ _RawSet.DR_ATTRIBUTES,
120
+ _RawSet.DR_DETECT_FILTER_OPTIONNAME,
121
+ _RawSet.DR_DETECT_IF_OPTIONNAME,
122
+ _RawSet.DR_DETECT_ATTR_OPTIONNAME
123
+ );
119
124
  const targetScripts = targetAttrNames.map((it) => element.getAttribute(it)).filter((it) => it).map((it) => `(${it})`);
120
125
  const targetAttrMap = element.getAttribute(import_EventManager.EventManager.normalAttrMapAttrName);
121
126
  if (targetAttrMap) {
122
127
  new Map(JSON.parse(targetAttrMap)).forEach((v, k) => {
123
- targetScripts.push(`(${v})`);
128
+ const variablePaths = v.variablePaths;
129
+ variablePaths.forEach((it) => targetScripts.push(`(${it.inner})`));
124
130
  });
125
131
  }
126
132
  script = targetScripts.join(";");
@@ -136,6 +142,8 @@ const _RawSet = class _RawSet {
136
142
  return usingTriggerVariables;
137
143
  }
138
144
  // 중요 render 처리 부분
145
+ // public async render(obj: any, config: DomRenderConfig): Promise<RawSet[]> {
146
+ // }
139
147
  async render(obj, config) {
140
148
  const genNode = config.window.document.importNode(this.dataSet.fragment, true);
141
149
  const raws = [];
@@ -143,6 +151,7 @@ const _RawSet = class _RawSet {
143
151
  const onElementInitCallBacks = [];
144
152
  const onThisComponentSetCallBacks = [];
145
153
  const drAttrs = [];
154
+ const executedOperators = [];
146
155
  for (const cNode of Array.from(genNode.childNodes.values())) {
147
156
  let attribute = {};
148
157
  if (cNode.nodeType === Node.ELEMENT_NODE) {
@@ -156,7 +165,7 @@ const _RawSet = class _RawSet {
156
165
  element: cNode,
157
166
  attribute,
158
167
  rootObject: obj,
159
- scriptUtils: import_ScriptUtils.ScriptUtils,
168
+ scriptUtils: import_ObjectUtils.ObjectUtils.Script,
160
169
  nearThis: this.findNearThis(obj),
161
170
  parentThis: this.findParentThis(obj),
162
171
  bindScript: ` /** render **/
@@ -178,12 +187,18 @@ const _RawSet = class _RawSet {
178
187
  const runText = _RawSet.expressionGroups(textContent)[0][1];
179
188
  let newNode;
180
189
  if (textContent?.startsWith("#")) {
181
- const r = import_ScriptUtils.ScriptUtils.evaluate(`${__render.bindScript} return ${runText}`, Object.assign(obj, { __render }));
190
+ const r = import_ObjectUtils.ObjectUtils.Script.evaluate(
191
+ `${__render.bindScript} return ${runText}`,
192
+ Object.assign(obj, { __render })
193
+ );
182
194
  const template = config.window.document.createElement("template");
183
195
  template.innerHTML = r;
184
196
  newNode = template.content;
185
197
  } else {
186
- const r = import_ScriptUtils.ScriptUtils.evaluate(`${__render.bindScript} return ${runText}`, Object.assign(obj, { __render }));
198
+ const r = import_ObjectUtils.ObjectUtils.Script.evaluate(
199
+ `${__render.bindScript} return ${runText}`,
200
+ Object.assign(obj, { __render })
201
+ );
187
202
  newNode = config.window.document.createTextNode(r);
188
203
  }
189
204
  cNode.parentNode?.replaceChild(newNode, cNode);
@@ -222,30 +237,148 @@ const _RawSet = class _RawSet {
222
237
  };
223
238
  drAttrs.push(drAttr);
224
239
  const operators = [
225
- new import_DrPre.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 }),
226
- new import_Dr.Dr(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.dr }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
240
+ new import_DrPre.DrPre(
241
+ this,
242
+ __render,
243
+ { raws, fag },
244
+ { element, attrName: _RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr },
245
+ { config, obj, operatorAround: config.operatorAround?.drPre },
246
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
247
+ ),
248
+ new import_Dr.Dr(
249
+ this,
250
+ __render,
251
+ { raws, fag },
252
+ { element, attrName: _RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr },
253
+ { config, obj, operatorAround: config.operatorAround?.dr },
254
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
255
+ ),
227
256
  // new Dr(this, __render, {raws, fag}, {element, attrName: EventManager.onRenderedInitAttrName, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),
228
- new import_DrIf.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 }),
229
- new import_DrStripElement.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 }),
230
- new import_DrThis.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 }),
231
- new import_DrForm.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 }),
232
- new import_DrInnerText.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 }),
233
- new import_DrInnerHTML.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 }),
234
- new import_DrFor.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 }),
235
- new import_DrForOf.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 }),
236
- new import_DrThisProperty.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 }),
237
- new import_DrAppender.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 }),
238
- new import_DrRepeat.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 }),
239
- new import_DrTargetElementIsElement.DrTargetElementIsElement(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME, attr: drAttr.drReplaceTargetElementIs, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
240
- new import_DrTargetElement.DrTargetElement(this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
241
- new import_DrTargetAttr.DrTargetAttr(this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks })
257
+ new import_DrIf.DrIf(
258
+ this,
259
+ __render,
260
+ { raws, fag },
261
+ { element, attrName: _RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr },
262
+ { config, obj, operatorAround: config.operatorAround?.drIf },
263
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
264
+ ),
265
+ new import_DrStripElement.DrStripElement(
266
+ this,
267
+ __render,
268
+ { raws, fag },
269
+ { element, attrName: _RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr },
270
+ { config, obj, operatorAround: config.operatorAround?.drThis },
271
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
272
+ ),
273
+ new import_DrThis.DrThis(
274
+ this,
275
+ __render,
276
+ { raws, fag },
277
+ { element, attrName: _RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr },
278
+ { config, obj, operatorAround: config.operatorAround?.drThis },
279
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
280
+ ),
281
+ new import_DrForm.DrForm(
282
+ this,
283
+ __render,
284
+ { raws, fag },
285
+ { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr },
286
+ { config, obj, operatorAround: config.operatorAround?.drForm },
287
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
288
+ ),
289
+ new import_DrInnerText.DrInnerText(
290
+ this,
291
+ __render,
292
+ { raws, fag },
293
+ { element, attrName: _RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr },
294
+ { config, obj, operatorAround: config.operatorAround?.drInnerText },
295
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
296
+ ),
297
+ new import_DrInnerHTML.DrInnerHTML(
298
+ this,
299
+ __render,
300
+ { raws, fag },
301
+ { element, attrName: _RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr },
302
+ { config, obj, operatorAround: config.operatorAround?.drInnerHTML },
303
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
304
+ ),
305
+ new import_DrFor.DrFor(
306
+ this,
307
+ __render,
308
+ { raws, fag },
309
+ { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr },
310
+ { config, obj, operatorAround: config.operatorAround?.drFor },
311
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
312
+ ),
313
+ new import_DrForOf.DrForOf(
314
+ this,
315
+ __render,
316
+ { raws, fag },
317
+ { element, attrName: _RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr },
318
+ { config, obj, operatorAround: config.operatorAround?.drForOf },
319
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
320
+ ),
321
+ new import_DrThisProperty.DrThisProperty(
322
+ this,
323
+ __render,
324
+ { raws, fag },
325
+ { element, attrName: _RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr },
326
+ { config, obj, operatorAround: config.operatorAround?.drThisProperty },
327
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
328
+ ),
329
+ new import_DrAppender.DrAppender(
330
+ this,
331
+ __render,
332
+ { raws, fag },
333
+ { element, attrName: _RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr },
334
+ { config, obj, operatorAround: config.operatorAround?.drAppender },
335
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
336
+ ),
337
+ new import_DrRepeat.DrRepeat(
338
+ this,
339
+ __render,
340
+ { raws, fag },
341
+ { element, attrName: _RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr },
342
+ { config, obj, operatorAround: config.operatorAround?.drRepeat },
343
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
344
+ ),
345
+ new import_DrTargetElementIsElement.DrTargetElementIsElement(
346
+ this,
347
+ __render,
348
+ { raws, fag },
349
+ {
350
+ element,
351
+ attrName: _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME,
352
+ attr: drAttr.drReplaceTargetElementIs,
353
+ attrs: drAttr
354
+ },
355
+ { config, obj },
356
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
357
+ ),
358
+ new import_DrTargetElement.DrTargetElement(
359
+ this,
360
+ __render,
361
+ { raws, fag },
362
+ { element, attrs: drAttr },
363
+ { config, obj },
364
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
365
+ ),
366
+ new import_DrTargetAttr.DrTargetAttr(
367
+ this,
368
+ __render,
369
+ { raws, fag },
370
+ { element, attrs: drAttr },
371
+ { config, obj },
372
+ { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
373
+ )
242
374
  ];
243
375
  for (const operator of operators) {
244
376
  const state = await operator.start();
245
377
  if (state === import_OperatorExecuter.ExecuteState.EXECUTE) {
378
+ executedOperators.push(operator);
246
379
  break;
247
380
  } else if (state === import_OperatorExecuter.ExecuteState.STOP) {
248
- return raws;
381
+ return { raws, executedOperators };
249
382
  }
250
383
  }
251
384
  }
@@ -265,21 +398,24 @@ const _RawSet = class _RawSet {
265
398
  fag: genNode,
266
399
  scripts: import_EventManager.EventManager.setBindProperty(config?.scripts, obj)
267
400
  });
268
- import_ScriptUtils.ScriptUtils.evaluate(`
401
+ import_ObjectUtils.ObjectUtils.Script.evaluate(
402
+ `
269
403
  const ${import_EventManager.EventManager.FAG_VARNAME} = this.__render.fag;
270
404
  const ${import_EventManager.EventManager.SCRIPTS_VARNAME} = this.__render.scripts;
271
405
  const ${import_EventManager.EventManager.RAWSET_VARNAME} = this.__render.rawSet;
272
- ${it.drCompleteOption}`, Object.assign(obj, { __render: render }));
406
+ ${it.drCompleteOption}`,
407
+ Object.assign(obj, { __render: render })
408
+ );
273
409
  }
274
410
  });
275
411
  for (const it of onThisComponentSetCallBacks) {
276
412
  if ((0, import_OnInitRender.isOnInitRender)(it.obj)) {
277
- it.obj?.onInitRender?.({}, this);
413
+ await it.obj?.onInitRender?.({}, this);
278
414
  }
279
415
  }
280
416
  for (const it of onElementInitCallBacks) {
281
417
  if ((0, import_OnInitRender.isOnInitRender)(this.dataSet.render?.currentThis)) {
282
- this.dataSet.render.currentThis.onInitRender({}, this);
418
+ await this.dataSet.render.currentThis.onInitRender({}, this);
283
419
  }
284
420
  config?.onElementInit?.(it.name, obj, this, it.targetElement);
285
421
  }
@@ -297,7 +433,7 @@ const _RawSet = class _RawSet {
297
433
  }
298
434
  });
299
435
  }
300
- return raws;
436
+ return { raws, executedOperators };
301
437
  }
302
438
  // 중요 스타일 적용 부분
303
439
  static generateRuleSelector(start, end, sit) {
@@ -330,9 +466,7 @@ const _RawSet = class _RawSet {
330
466
  const isRoot = rule.selector.includes(":root");
331
467
  if (!isRoot) {
332
468
  const selectors = rule.selector.split(",").map((s) => s.trim());
333
- const transformedSelectors = selectors.map(
334
- (selector) => this.generateRuleSelector(start, end, selector)
335
- );
469
+ const transformedSelectors = selectors.map((selector) => this.generateRuleSelector(start, end, selector));
336
470
  rule.selector = transformedSelectors.join(", ");
337
471
  }
338
472
  } else if ((0, import_CssParser.isAtRule)(rule)) {
@@ -344,9 +478,7 @@ const _RawSet = class _RawSet {
344
478
  rule.children.forEach((childRule) => {
345
479
  if ((0, import_CssParser.isStyleRule)(childRule)) {
346
480
  const selectors = childRule.selector.split(",").map((s) => s.trim());
347
- const transformedSelectors = selectors.map(
348
- (selector) => this.generateRuleSelector(start, end, selector)
349
- );
481
+ const transformedSelectors = selectors.map((selector) => this.generateRuleSelector(start, end, selector));
350
482
  childRule.selector = transformedSelectors.join(", ");
351
483
  }
352
484
  });
@@ -364,7 +496,11 @@ const _RawSet = class _RawSet {
364
496
  return styleBody;
365
497
  }
366
498
  applyEvent(obj, fragment = this.dataSet.fragment, config) {
367
- this.dataSet.config.eventManager.applyEvent(obj, this.dataSet.config.eventManager.findAttrElements(fragment, config), config);
499
+ this.dataSet.config.eventManager.applyEvent(
500
+ obj,
501
+ this.dataSet.config.eventManager.findAttrElements(fragment, config),
502
+ config
503
+ );
368
504
  }
369
505
  onRenderedEvent(obj, nodes, config) {
370
506
  this.dataSet.config.eventManager.onRenderedEvent(obj, nodes, config);
@@ -381,7 +517,10 @@ const _RawSet = class _RawSet {
381
517
  getDrAppendAttributeAndDelete(element, obj) {
382
518
  let data = element.getAttribute(_RawSet.DR_APPENDER_NAME);
383
519
  if (data && !/\[.+\]/g.test(data)) {
384
- const currentIndex = import_ScriptUtils.ScriptUtils.evaluateReturn(`${import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(data)}?.length -1`, obj);
520
+ const currentIndex = import_ObjectUtils.ObjectUtils.Script.evaluateReturn(
521
+ `${import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(data)}?.length -1`,
522
+ obj
523
+ );
385
524
  data = `${data}[${currentIndex}]`;
386
525
  element.setAttribute(_RawSet.DR_APPENDER_NAME, data);
387
526
  }
@@ -394,19 +533,28 @@ const _RawSet = class _RawSet {
394
533
  }
395
534
  // 중요 important
396
535
  static checkPointCreates(element, obj, config) {
397
- const nodeIterator = config.window.document?.createNodeIterator(element, NodeFilter.SHOW_ALL, {
398
- acceptNode(node) {
399
- if (node.nodeType === Node.TEXT_NODE) {
536
+ const NodeFilter2 = config.window.NodeFilter;
537
+ const Node2 = config.window.Node;
538
+ const processedNodes = /* @__PURE__ */ new Set();
539
+ const findNodes = import_NodeUtils.NodeUtils.findNodes(
540
+ element,
541
+ (node) => {
542
+ if (node.nodeType === Node2.TEXT_NODE) {
400
543
  const between = _RawSet.expressionGroups(import_StringUtils.StringUtils.deleteEnter(node.data ?? ""));
401
- return between?.length > 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
402
- } else if (node.nodeType === Node.ELEMENT_NODE) {
544
+ const r2 = between?.length > 0 ? import_NodeUtils.NodeUtils.FindNodesFilterResult.MATCH_AND_SKIP_CHILDREN : import_NodeUtils.NodeUtils.FindNodesFilterResult.NO_MATCH_AND_SKIP_CHILDREN;
545
+ return r2;
546
+ } else if (node.nodeType === Node2.ELEMENT_NODE) {
403
547
  const element2 = node;
404
548
  if (element2.hasAttribute(_RawSet.DR_PRE_NAME)) {
405
- return NodeFilter.FILTER_REJECT;
549
+ let r3 = import_NodeUtils.NodeUtils.FindNodesFilterResult.NO_MATCH_AND_SKIP_CHILDREN;
550
+ return r3;
406
551
  }
407
552
  if (element2.hasAttribute(import_EventManager.EventManager.attrAttrName)) {
408
553
  const script = element2.getAttribute(import_EventManager.EventManager.attrAttrName) ?? "";
409
- const keyValuePairs = Array.from(script.matchAll(/(\w+):\s*([^,}]+)/g)).map((match) => ({ key: match[1], value: match[2] }));
554
+ const keyValuePairs = Array.from(script.matchAll(/(\w+):\s*([^,}]+)/g)).map((match) => ({
555
+ key: match[1],
556
+ value: match[2]
557
+ }));
410
558
  (keyValuePairs ?? []).forEach((it) => {
411
559
  element2.setAttribute(it.key, "${" + it.value + "}$");
412
560
  });
@@ -418,79 +566,102 @@ const _RawSet = class _RawSet {
418
566
  const normalAttrs = /* @__PURE__ */ new Map();
419
567
  const linkVariables = /* @__PURE__ */ new Map();
420
568
  const linkNames = import_EventManager.EventManager.linkAttrs.map((it) => it.name);
421
- const isAttr = element2.getAttributeNames().filter((it) => {
569
+ const isAttr = element2.getAttributeNames().filter((it) => !import_EventManager.EventManager.noDetectAttr.includes(it)).filter((it) => {
422
570
  const value = element2.getAttribute(it);
423
571
  if (value && linkNames.includes(it)) {
424
572
  linkVariables.set(it, value);
425
573
  } else if (value && _RawSet.isExpression(value)) {
426
- let variablePath = _RawSet.expressionGroups(value)[0][1];
427
- const originVariable = variablePath;
428
- variablePath = variablePath.replace(/#[^#]*#/g, "({})");
429
- const optionalChainPath = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(variablePath);
430
- const cval = import_ScriptUtils.ScriptUtils.evaluateReturn(optionalChainPath, Object.assign(obj));
574
+ const variablePaths = _RawSet.expressionGroups(value).map((it2) => ({
575
+ origin: it2[0],
576
+ inner: it2[1]
577
+ }));
578
+ let targetScript = value;
579
+ variablePaths.forEach((it2) => {
580
+ let r3 = it2.inner.replace(/#[^#]*#/g, "({})");
581
+ r3 = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(r3);
582
+ targetScript = targetScript.replaceAll(it2.origin, `\${${r3}}`);
583
+ });
584
+ const cval = import_ObjectUtils.ObjectUtils.Script.evaluateReturn("`" + targetScript + "`", Object.assign(obj));
431
585
  if (cval === null) {
432
586
  element2.removeAttribute(it);
433
587
  } else {
434
588
  element2.setAttribute(it, cval);
435
589
  }
436
- normalAttrs.set(it, originVariable);
590
+ normalAttrs.set(it, { originalAttrValue: value, variablePaths });
437
591
  }
438
592
  const isTargetAttr = targetAttrNames.includes(it.toLowerCase());
439
593
  return isTargetAttr;
440
594
  }).length > 0;
441
595
  if (linkVariables.size) {
442
- element2.setAttribute(import_EventManager.EventManager.linkTargetMapAttrName, JSON.stringify(Array.from(linkVariables.entries())));
596
+ element2.setAttribute(
597
+ import_EventManager.EventManager.linkTargetMapAttrName,
598
+ JSON.stringify(Array.from(linkVariables.entries()))
599
+ );
443
600
  }
444
601
  if (normalAttrs.size) {
445
602
  element2.setAttribute(import_EventManager.EventManager.normalAttrMapAttrName, JSON.stringify(Array.from(normalAttrs.entries())));
446
603
  }
447
- const r = isAttr || isElement ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
448
- return r;
604
+ const r2 = isAttr || isElement ? import_NodeUtils.NodeUtils.FindNodesFilterResult.MATCH_AND_SKIP_CHILDREN : import_NodeUtils.NodeUtils.FindNodesFilterResult.NO_MATCH_AND_CONTINUE;
605
+ return r2;
449
606
  }
450
- return NodeFilter.FILTER_REJECT;
607
+ const r = import_NodeUtils.NodeUtils.FindNodesFilterResult.NO_MATCH_AND_CONTINUE;
608
+ return r;
451
609
  }
452
- });
610
+ );
453
611
  const pars = [];
454
612
  let currentNode;
455
- while (currentNode = nodeIterator?.nextNode()) {
456
- if (currentNode.nodeType === Node.TEXT_NODE) {
457
- const text = currentNode.textContent ?? "";
613
+ const name = import_RandomUtils.RandomUtils.uuid();
614
+ for (const currentNode2 of findNodes) {
615
+ processedNodes.add(currentNode2);
616
+ if (currentNode2.nodeType === Node2.TEXT_NODE) {
617
+ const text = currentNode2.textContent ?? "";
458
618
  const template = config.window.document?.createElement("template");
459
619
  if (!template) break;
460
620
  const groups = _RawSet.expressionGroups(text);
461
- const map = groups.map((it) => ({ uuid: `${import_RandomUtils.RandomUtils.alphabet(40)}_${obj?.constructor?.name}`, content: it[0], regexArr: it }));
621
+ const map = groups.map((it) => ({
622
+ uuid: `${import_RandomUtils.RandomUtils.alphabet(40)}_${obj?.constructor?.name}`,
623
+ content: it[0],
624
+ regexArr: it
625
+ }));
462
626
  let lasterIndex = 0;
463
627
  for (let i = 0; i < map.length; i++) {
464
628
  const it = map[i];
465
629
  const regexArr = it.regexArr;
466
630
  const preparedText = regexArr.input.substring(lasterIndex, regexArr.index);
467
631
  let type;
468
- if (currentNode.parentNode && currentNode.parentNode.nodeName.toUpperCase() === "STYLE") {
632
+ if (currentNode2.parentNode && currentNode2.parentNode.nodeName.toUpperCase() === "STYLE") {
469
633
  type = import_RawSetType.RawSetType.STYLE_TEXT;
470
634
  } else {
471
635
  type = import_RawSetType.RawSetType.TEXT;
472
636
  }
473
- const node = document.createTextNode(preparedText);
637
+ const node = config.window.document.createTextNode(preparedText);
474
638
  const startEndPoint = _RawSet.createStartEndPoint({ id: it.uuid, type }, config);
475
639
  template.content.append(node);
476
640
  template.content.append(startEndPoint.start);
477
641
  template.content.append(startEndPoint.end);
478
642
  const fragment = config.window.document.createDocumentFragment();
479
643
  fragment.append(config.window.document.createTextNode(it.content));
480
- pars.push(new _RawSet(it.uuid, type, {
481
- start: startEndPoint.start,
482
- node: currentNode,
483
- end: startEndPoint.end,
484
- parent: currentNode.parentNode
485
- // thisVariableName: thisVariableName
486
- }, { fragment, config }));
644
+ pars.push(
645
+ new _RawSet(
646
+ it.uuid,
647
+ type,
648
+ {
649
+ start: startEndPoint.start,
650
+ node: currentNode2,
651
+ end: startEndPoint.end,
652
+ parent: currentNode2.parentNode
653
+ // thisVariableName: thisVariableName
654
+ },
655
+ { fragment, config }
656
+ )
657
+ );
487
658
  lasterIndex = regexArr.index + it.content.length;
488
659
  }
489
660
  template.content.append(config.window.document.createTextNode(text.substring(lasterIndex, text.length)));
490
- currentNode?.parentNode?.replaceChild(template.content, currentNode);
491
- } else if (currentNode.nodeType === Node.ELEMENT_NODE) {
661
+ currentNode2?.parentNode?.replaceChild(template.content, currentNode2);
662
+ } else if (currentNode2.nodeType === Node2.ELEMENT_NODE) {
492
663
  const uuid = `${import_RandomUtils.RandomUtils.alphabet(40)}`;
493
- const element2 = currentNode;
664
+ const element2 = currentNode2;
494
665
  const fragment = config.window.document.createDocumentFragment();
495
666
  const elementType = import_RawSetType.RawSetType.TARGET_ELEMENT;
496
667
  const startEndPoint = _RawSet.createStartEndPoint({ node: element2, id: uuid, type: elementType }, config);
@@ -499,19 +670,25 @@ const _RawSet = class _RawSet {
499
670
  const isElement = targetElementNames.includes(element2.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase());
500
671
  const targetAttrNames = (config.targetAttrs?.map((it) => it.name) ?? []).concat(_RawSet.DR_ATTRIBUTES);
501
672
  const isAttr = element2.getAttributeNames().filter((it) => targetAttrNames.includes(it.toLowerCase())).length > 0;
502
- currentNode?.parentNode?.insertBefore(startEndPoint.start, currentNode);
503
- currentNode?.parentNode?.insertBefore(startEndPoint.end, currentNode.nextSibling);
504
- fragment.append(currentNode);
505
- const rawSet = new _RawSet(uuid, isElement ? elementType : isAttr ? import_RawSetType.RawSetType.TARGET_ATTR : import_RawSetType.RawSetType.UNKOWN, {
506
- start: startEndPoint.start,
507
- node: currentNode,
508
- end: startEndPoint.end,
509
- parent: currentNode.parentNode
510
- // thisVariableName: thisVariableName
511
- }, { config, fragment });
673
+ currentNode2?.parentNode?.insertBefore(startEndPoint.start, currentNode2);
674
+ currentNode2?.parentNode?.insertBefore(startEndPoint.end, currentNode2.nextSibling);
675
+ fragment.append(currentNode2);
676
+ const rawSet = new _RawSet(
677
+ uuid,
678
+ isElement ? elementType : isAttr ? import_RawSetType.RawSetType.TARGET_ATTR : import_RawSetType.RawSetType.UNKOWN,
679
+ {
680
+ start: startEndPoint.start,
681
+ node: currentNode2,
682
+ end: startEndPoint.end,
683
+ parent: currentNode2.parentNode
684
+ // thisVariableName: thisVariableName
685
+ },
686
+ { config, fragment }
687
+ );
512
688
  pars.push(rawSet);
513
689
  }
514
690
  }
691
+ const util = import_ElementUtils.ElementUtils;
515
692
  return pars;
516
693
  }
517
694
  static createStartEndPoint(data, config) {
@@ -587,13 +764,17 @@ const _RawSet = class _RawSet {
587
764
  static drItOtherEncoding(element, postFix) {
588
765
  const random = import_RandomUtils.RandomUtils.uuid() + postFix;
589
766
  const regex = /#it#/g;
590
- element.querySelectorAll(`[${_RawSet.DR_IT_OPTIONNAME}], [${_RawSet.DR_FOR_OF_NAME}], [${_RawSet.DR_REPEAT_NAME}], [${_RawSet.DR_APPENDER_NAME}]`).forEach((it) => {
767
+ element.querySelectorAll(
768
+ `[${_RawSet.DR_IT_OPTIONNAME}], [${_RawSet.DR_FOR_OF_NAME}], [${_RawSet.DR_REPEAT_NAME}], [${_RawSet.DR_APPENDER_NAME}]`
769
+ ).forEach((it) => {
591
770
  it.innerHTML = it.innerHTML.replace(regex, random);
592
771
  });
593
772
  return random;
594
773
  }
595
774
  static drItOtherDecoding(element, random) {
596
- element.querySelectorAll(`[${_RawSet.DR_IT_OPTIONNAME}], [${_RawSet.DR_FOR_OF_NAME}], [${_RawSet.DR_REPEAT_NAME}], [${_RawSet.DR_APPENDER_NAME}]`).forEach((it) => {
775
+ element.querySelectorAll(
776
+ `[${_RawSet.DR_IT_OPTIONNAME}], [${_RawSet.DR_FOR_OF_NAME}], [${_RawSet.DR_REPEAT_NAME}], [${_RawSet.DR_APPENDER_NAME}]`
777
+ ).forEach((it) => {
597
778
  it.innerHTML = it.innerHTML.replace(RegExp(random, "g"), "#it#");
598
779
  });
599
780
  }
@@ -734,7 +915,7 @@ const _RawSet = class _RawSet {
734
915
  const style = _RawSet.generateStyleTransform(set.styles ?? [], rawSet.uuid, true);
735
916
  targetElement.innerHTML = style + (set.template ?? "");
736
917
  } else {
737
- targetObj = import_ScriptUtils.ScriptUtils.evaluateReturn(import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(drThis), obj);
918
+ targetObj = import_ObjectUtils.ObjectUtils.Script.evaluateReturn(import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(drThis), obj);
738
919
  }
739
920
  const componentKey = rawSet.uuid;
740
921
  const renderScript = ` /*drThisCreate*/
@@ -778,7 +959,10 @@ const _RawSet = class _RawSet {
778
959
  render.attribute = _RawSet.getAttributeObject(element, { script: renderScript, obj, renderData: render });
779
960
  render = Object.freeze(render);
780
961
  const onCreateDataScript = `return {rootParent: this, render: this.__render}`;
781
- const onCreateDataParam = import_ScriptUtils.ScriptUtils.evaluate(onCreateDataScript, Object.assign(obj, { __render: render }));
962
+ const onCreateDataParam = import_ObjectUtils.ObjectUtils.Script.evaluate(
963
+ onCreateDataScript,
964
+ Object.assign(obj, { __render: render })
965
+ );
782
966
  if ((0, import_OnCreateRenderData.isOnCreateRenderData)(targetObj)) {
783
967
  targetObj?.onCreateRenderData(onCreateDataParam);
784
968
  }
@@ -788,7 +972,10 @@ const _RawSet = class _RawSet {
788
972
  const onCreate = element.getAttribute(_RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);
789
973
  let createParam = [];
790
974
  if (onCreate) {
791
- createParam = import_ScriptUtils.ScriptUtils.evaluateReturn({ bodyScript: renderScript, returnScript: import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(onCreate) }, obj);
975
+ createParam = import_ObjectUtils.ObjectUtils.Script.evaluateReturn(
976
+ { bodyScript: renderScript, returnScript: import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(onCreate) },
977
+ obj
978
+ );
792
979
  if (!Array.isArray(createParam)) {
793
980
  createParam = [createParam];
794
981
  }
@@ -809,15 +996,38 @@ const _RawSet = class _RawSet {
809
996
  const oninit = element.getAttribute(_RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME);
810
997
  if (oninit) {
811
998
  const script = `${renderScript} ${oninit} `;
812
- import_ScriptUtils.ScriptUtils.evaluate(script, Object.assign(obj, { __render: render }));
999
+ import_ObjectUtils.ObjectUtils.Script.evaluate(script, Object.assign(obj, { __render: render }));
813
1000
  }
814
1001
  targetElement.querySelectorAll(import_EventManager.EventManager.attrNames.map((it) => `[${it}]`).join(",")).forEach((it) => {
815
1002
  it.setAttribute(import_EventManager.EventManager.ownerVariablePathAttrName, "this");
816
1003
  });
817
- const componentNameReplaceKey = import_RandomUtils.RandomUtils.uuid();
818
- const innerHTMLName = targetElement.getAttribute(_RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? "innerHTML";
1004
+ rawSet.point.innerHTML = element.innerHTML;
1005
+ const innerText = element.textContent?.trim() ?? "";
1006
+ const escapedInnerHTML = import_ConvertUtils.ConvertUtils.escapeHTML(element.innerHTML);
1007
+ const innerHTMLName = targetElement.getAttribute(_RawSet.DR_INNER_HTML_NAME_OPTIONNAME) ?? "innerHTML";
1008
+ const innerTEXTName = targetElement.getAttribute(_RawSet.DR_INNER_TEXT_NAME_OPTIONNAME) ?? "innerTEXT";
1009
+ const innerHTMLEscapedName = targetElement.getAttribute(_RawSet.DR_INNER_HTML_ESCAPED_NAME_OPTIONNAME) ?? "innerHTMLEscaped";
1010
+ const templateReplacements = [];
819
1011
  if (innerHTMLName) {
820
- _RawSet.replaceInnerHTML(targetElement, { asIs: `#${innerHTMLName}#`, toBe: element.innerHTML });
1012
+ templateReplacements.push({
1013
+ regex: new RegExp(`#${innerHTMLName}#`, "g"),
1014
+ callback: () => element.innerHTML
1015
+ });
1016
+ }
1017
+ if (innerTEXTName) {
1018
+ templateReplacements.push({
1019
+ regex: new RegExp(`#${innerTEXTName}#`, "g"),
1020
+ callback: () => innerText
1021
+ });
1022
+ }
1023
+ if (innerHTMLEscapedName) {
1024
+ templateReplacements.push({
1025
+ regex: new RegExp(`#${innerHTMLEscapedName}#`, "g"),
1026
+ callback: () => escapedInnerHTML
1027
+ });
1028
+ }
1029
+ if (templateReplacements.length > 0) {
1030
+ targetElement.innerHTML = import_StringUtils.StringUtils.replaceSequentially(targetElement.innerHTML, templateReplacements);
821
1031
  }
822
1032
  const optionThisName = targetElement.getAttribute(_RawSet.DR_THIS_NAME_OPTIONNAME);
823
1033
  targetElement.getAttributeNames().forEach((it) => targetElement.setAttribute(it, targetElement.getAttribute(it).replace(/#this#/g, drThis)));
@@ -825,8 +1035,14 @@ const _RawSet = class _RawSet {
825
1035
  if (optionThisName) {
826
1036
  targetElement.innerHTML = targetElement.innerHTML.replaceAll(`@${optionThisName}@`, drThis);
827
1037
  }
828
- const nearThisRandom = this.drThisBindEncoding(targetElement, /@nearThis@/g, { config, otherReplaceVariablePath: rawSet.findNearThisPath() });
829
- const parentThisRandom = this.drThisBindEncoding(targetElement, /@parentThis@/g, { config, otherReplaceVariablePath: rawSet.findParentThisPath() });
1038
+ const nearThisRandom = this.drThisBindEncoding(targetElement, /@nearThis@/g, {
1039
+ config,
1040
+ otherReplaceVariablePath: rawSet.findNearThisPath()
1041
+ });
1042
+ const parentThisRandom = this.drThisBindEncoding(targetElement, /@parentThis@/g, {
1043
+ config,
1044
+ otherReplaceVariablePath: rawSet.findParentThisPath()
1045
+ });
830
1046
  const vars = this.drVarEncoding(targetElement, drVarOption);
831
1047
  this.drVarDecoding(targetElement, vars);
832
1048
  this.drThisDecoding(targetElement, { asIs: thisRandom, toBe: "@this@" });
@@ -869,7 +1085,13 @@ const _RawSet = class _RawSet {
869
1085
  };
870
1086
  return targetAttribute;
871
1087
  }
872
- static createComponentTargetElement({ name, objFactory, template = "", styles = [], noStrip }) {
1088
+ static createComponentTargetElement({
1089
+ name,
1090
+ objFactory,
1091
+ template = "",
1092
+ styles = [],
1093
+ noStrip
1094
+ }) {
873
1095
  const targetElement = {
874
1096
  name,
875
1097
  styles,
@@ -882,7 +1104,6 @@ const _RawSet = class _RawSet {
882
1104
  obj.__domrender_components ?? (obj.__domrender_components = {});
883
1105
  const domrenderComponents = obj.__domrender_components;
884
1106
  const renderScript = ` /*createComponentTargetElement*/
885
- // console.log('-------------------',this.__render);
886
1107
  var ${import_EventManager.EventManager.RAWSET_VARNAME} = this.__render.rawSet;
887
1108
  var ${import_EventManager.EventManager.COMPONENT_VARNAME} = this.__render.component;
888
1109
  var ${import_EventManager.EventManager.ELEMENT_VARNAME} = this.__render.element;
@@ -919,7 +1140,10 @@ const _RawSet = class _RawSet {
919
1140
  render.attribute = _RawSet.getAttributeObject(element, { script: renderScript, obj, renderData: render });
920
1141
  render = Object.freeze(render);
921
1142
  if (constructor) {
922
- let param = import_ScriptUtils.ScriptUtils.evaluateReturn({ bodyScript: renderScript, returnScript: import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(constructor) }, Object.assign(obj, { __render: render })) ?? [];
1143
+ let param = import_ObjectUtils.ObjectUtils.Script.evaluateReturn(
1144
+ { bodyScript: renderScript, returnScript: import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(constructor) },
1145
+ Object.assign(obj, { __render: render })
1146
+ ) ?? [];
923
1147
  if (!Array.isArray(param)) {
924
1148
  param = [param];
925
1149
  }
@@ -934,22 +1158,55 @@ const _RawSet = class _RawSet {
934
1158
  rawSet.dataSet.render = render;
935
1159
  instance.__rawSet = rawSet;
936
1160
  let applayTemplate = element.innerHTML;
1161
+ let applayTemplateText = element.textContent?.trim() ?? "";
1162
+ let applayTemplateEscape = import_ConvertUtils.ConvertUtils.escapeHTML(element.innerHTML);
937
1163
  let innerHTMLThisRandom;
938
- const componentName = element.getAttribute(_RawSet.DR_COMPONENT_NAME_OPTIONNAME) ?? "component";
939
- const innerHTMLName = element.getAttribute(_RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? "innerHTML";
1164
+ const componentName = element.getAttribute(_RawSet.DR_VARIABLE_NAME_OPTIONNAME) ?? "component";
1165
+ const innerHTMLName = element.getAttribute(_RawSet.DR_INNER_HTML_NAME_OPTIONNAME) ?? "innerHTML";
1166
+ const innerTEXTName = element.getAttribute(_RawSet.DR_INNER_TEXT_NAME_OPTIONNAME) ?? "innerTEXT";
1167
+ const innerHTMLEscapedName = element.getAttribute(_RawSet.DR_INNER_HTML_ESCAPED_NAME_OPTIONNAME) ?? "innerHTMLEscaped";
940
1168
  if (applayTemplate) {
941
1169
  innerHTMLThisRandom = import_RandomUtils.RandomUtils.uuid();
942
- applayTemplate = applayTemplate.replace(/this\./g, innerHTMLThisRandom);
943
- applayTemplate = applayTemplate.replace(RegExp(`#${componentName}#`, "g"), "this");
1170
+ applayTemplate = import_StringUtils.StringUtils.replaceSequentially(applayTemplate, [
1171
+ {
1172
+ regex: /this\./g,
1173
+ callback: () => innerHTMLThisRandom
1174
+ },
1175
+ {
1176
+ regex: new RegExp(`#${componentName}#`, "g"),
1177
+ callback: () => nearThisPath
1178
+ }
1179
+ ]);
944
1180
  }
945
- applayTemplate = (this.template ?? "").replace(RegExp(`#${innerHTMLName}#`, "g"), applayTemplate);
1181
+ applayTemplate = import_StringUtils.StringUtils.replaceSequentially(this.template ?? "", [
1182
+ {
1183
+ regex: new RegExp(`#${innerHTMLName}#`, "g"),
1184
+ callback: () => applayTemplate
1185
+ },
1186
+ {
1187
+ regex: new RegExp(`#${innerTEXTName}#`, "g"),
1188
+ callback: () => applayTemplateText
1189
+ },
1190
+ {
1191
+ regex: new RegExp(`#${innerHTMLEscapedName}#`, "g"),
1192
+ callback: () => applayTemplateEscape
1193
+ }
1194
+ ]);
946
1195
  const style = _RawSet.generateStyleTransform(this.styles, rawSet.uuid, true);
947
1196
  element.innerHTML = style + (applayTemplate ?? "");
948
- let data = await _RawSet.drThisCreate(rawSet, element, `this.__domrender_components.${rawSet.uuid}`, "", !noStrip, obj, config);
1197
+ let data = await _RawSet.drThisCreate(
1198
+ rawSet,
1199
+ element,
1200
+ `this.__domrender_components.${rawSet.uuid}`,
1201
+ "",
1202
+ !noStrip,
1203
+ obj,
1204
+ config
1205
+ );
949
1206
  if (data && innerHTMLThisRandom) {
950
1207
  const template2 = config.window.document.createElement("template");
951
- template2.content.append(data);
952
- template2.innerHTML = template2.innerHTML.replace(RegExp(innerHTMLThisRandom, "g"), "this.");
1208
+ template2.innerHTML = import_ElementUtils.ElementUtils.toInnerHTML(data, { document: config.window.document }).replace(RegExp(innerHTMLThisRandom, "g"), "this.");
1209
+ ;
953
1210
  data = template2.content;
954
1211
  }
955
1212
  return data;
@@ -986,7 +1243,26 @@ const _RawSet = class _RawSet {
986
1243
  const normalAttribute = attribute[import_EventManager.EventManager.normalAttrMapAttrName];
987
1244
  if (normalAttribute) {
988
1245
  new Map(JSON.parse(normalAttribute)).forEach((v, k) => {
989
- const cval = import_ScriptUtils.ScriptUtils.evaluateReturn({ bodyScript: config.script, returnScript: v }, Object.assign(config.obj, config.renderData ? { __render: config.renderData } : void 0));
1246
+ const variablePaths = v.variablePaths;
1247
+ let targetScript = v.originalAttrValue.trim();
1248
+ let checktargetScript = v.originalAttrValue.trim();
1249
+ variablePaths.forEach((it) => {
1250
+ checktargetScript = targetScript.replaceAll(it.origin, "");
1251
+ });
1252
+ let isScriptValue = checktargetScript.length === 0 && variablePaths.length === 1;
1253
+ if (isScriptValue) {
1254
+ let r = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(variablePaths[0].inner);
1255
+ targetScript = targetScript.replaceAll(variablePaths[0].origin, r);
1256
+ } else {
1257
+ variablePaths.forEach((it) => {
1258
+ let r = import_ObjectUtils.ObjectUtils.Path.toOptionalChainPath(it.inner);
1259
+ targetScript = targetScript.replaceAll(it.origin, `\${${r}}`);
1260
+ });
1261
+ }
1262
+ const cval = import_ObjectUtils.ObjectUtils.Script.evaluateReturn(
1263
+ { bodyScript: config.script, returnScript: isScriptValue ? targetScript : "`" + targetScript + "`" },
1264
+ Object.assign(config.obj, config.renderData ? { __render: config.renderData } : void 0)
1265
+ );
990
1266
  attribute[k] = cval;
991
1267
  });
992
1268
  }
@@ -1027,11 +1303,12 @@ _RawSet.DR_COMPLETE_OPTIONNAME = "dr-option-complete";
1027
1303
  _RawSet.DR_STRIP_OPTIONNAME = "dr-option-strip";
1028
1304
  _RawSet.DR_DESTROY_OPTIONNAME = "dr-option-destroy";
1029
1305
  _RawSet.DR_THIS_NAME_OPTIONNAME = "dr-option-this-name";
1030
- /**
1031
- * @deprecated
1032
- */
1033
- _RawSet.DR_COMPONENT_NAME_OPTIONNAME = "dr-option-component-name";
1034
- _RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = "dr-option-component-inner-html-name";
1306
+ _RawSet.DR_VARIABLE_NAME_OPTIONNAME = "dr-option-variable-name";
1307
+ _RawSet.DR_ITEM_VARIABLE_NAME_OPTIONNAME = "dr-option-item-variable-name";
1308
+ _RawSet.DR_ITEM_INDEX_VARIABLE_NAME_OPTIONNAME = "dr-option-item-index-variable-name";
1309
+ _RawSet.DR_INNER_HTML_NAME_OPTIONNAME = "dr-option-inner-html-name";
1310
+ _RawSet.DR_INNER_TEXT_NAME_OPTIONNAME = "dr-option-inner-text-name";
1311
+ _RawSet.DR_INNER_HTML_ESCAPED_NAME_OPTIONNAME = "dr-option-inner-html-escaped-name";
1035
1312
  _RawSet.DR_KEY_OPTIONNAME = "dr-option-key";
1036
1313
  _RawSet.DR_HAS_KEYS_OPTIONNAME = "dr-option-has-keys";
1037
1314
  _RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME = "dr-on-create:arguments";