@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
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dooboostore/dom-render",
3
- "version": "1.0.108",
3
+ "version": "1.0.110",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
7
7
  "module": "./dist/esm/index.js",
8
8
  "types": "./dist/types/index.d.ts",
9
9
  "typesVersions": {
10
- ">=4.2": {
10
+ "*": {
11
11
  "*": [
12
12
  "dist/types/*"
13
13
  ]
@@ -67,10 +67,7 @@
67
67
  "url": "https://github.com/dooboostore-develop/packages"
68
68
  },
69
69
  "peerDependencies": {
70
- "reflect-metadata": "^0.2.2",
71
- "@dooboostore/core-web": "1.0.6",
72
- "@dooboostore/core": "1.0.21",
73
- "@dooboostore/core-node": "1.0.7"
70
+ "reflect-metadata": "^0.2.2"
74
71
  },
75
72
  "devDependencies": {
76
73
  "@babel/core": "^7.24.0",
@@ -92,19 +89,23 @@
92
89
  "@types/node": "^20",
93
90
  "typescript": "^5.9.2",
94
91
  "esbuild-plugin-tsc": "^0.5.0",
95
- "esbuild": "^0.23.0"
92
+ "esbuild": "^0.23.0",
93
+ "@dooboostore/core": "1.0.26",
94
+ "@dooboostore/core-web": "1.0.8",
95
+ "@dooboostore/core-node": "1.0.9"
96
96
  },
97
97
  "scripts": {
98
98
  "clean": "rm -rf dist",
99
99
  "build:esm": "node build.mjs esm",
100
100
  "watch:esm": "pnpm run build:esm && node build.mjs esm --watch",
101
- "build:cjs": "node build.mjs cjs && cp package.cjs.json dist/cjs/package.json",
101
+ "build:cjs": "node build.mjs cjs",
102
102
  "watch:cjs": "pnpm run build:cjs && node build.mjs cjs --watch",
103
103
  "build": "pnpm run clean && node build.mjs all",
104
104
  "build:umd-bundle": "node build.mjs umd-bundle",
105
105
  "watch:umd-bundle": "pnpm run build:umd-bundle && node build.mjs umd-bundle --watch",
106
106
  "build:esm-bundle": "node build.mjs esm-bundle",
107
107
  "watch:esm-bundle": "pnpm run build:esm-bundle && node build.mjs esm-bundle --watch",
108
+ "watch": "node build.mjs all --watch",
108
109
  "publish:npm": "pnpm run build && cp package.json package.json.back && pnpm pack && TARBALL_NAME=$(ls dooboostore-dom-render-*.tgz | head -n 1) && tar -xzf \"$TARBALL_NAME\" -C . --strip-components=1 package/package.json && rm \"$TARBALL_NAME\" && (pnpm publish --no-git-checks || true) && cp package.json.back package.json && rm -rf package.json.back ",
109
110
  "ts:clean": "find . -name '*.js' -o -name '*.map' -o -name '*.d.ts' | xargs rm -f",
110
111
  "typecheck": "pnpm exec tsc --noEmit",
package/src/DomRender.ts CHANGED
@@ -11,24 +11,30 @@ import { drComponent } from './components';
11
11
  import { EventManager } from './events/EventManager';
12
12
  import { RandomUtils } from '@dooboostore/core/random/RandomUtils';
13
13
 
14
- export type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T, window: Window) => Router) | Router };
14
+ export type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T, targetConfig: DomRenderConfig) => Router) | Router };
15
15
  export type CreateComponentParam = { type: ConstructorType<any> | any, tagName?: string, noStrip?: boolean, template?: string, styles?: string[] | string };
16
16
  let eventManager: EventManager | null = null;
17
17
  export type DomRenderRunParameter<T extends object> = { rootObject: T | (() => T), target?: Element | null, config?: DomRenderRunConfig | DomRenderConfig };
18
18
 
19
+ export type ExecuteConfig = { firstUrl?: string };
20
+
19
21
  export class DomRender<T extends object = any> {
20
22
  private _config: DomRenderConfig;
21
23
  private _target: Element | null | undefined;
22
24
  private _rootObject: T;
25
+ private _router: Router;
26
+ private _eventManager: EventManager;
23
27
 
24
- constructor(parameter: DomRenderRunParameter<T>, executeConfig?: { autoGo?: string }) {
25
- const s = DomRender.runSet(parameter);
28
+ constructor(parameter: DomRenderRunParameter<T>, executeConfig?: ExecuteConfig) {
29
+ const s = DomRender.runSet(parameter,executeConfig);
26
30
  this._config = s.config;
27
31
  this._target = s.target;
28
32
  this._rootObject = s.rootObject;
29
- if (executeConfig && executeConfig?.autoGo) {
30
- this._config.router?.go(executeConfig.autoGo);
31
- }
33
+ this._router = s.config.router;
34
+ this._eventManager = s.config.eventManager;
35
+ // if (executeConfig && executeConfig?.autoGo) {
36
+ // this._config.router?.go(executeConfig.autoGo);
37
+ // }
32
38
  }
33
39
 
34
40
  public get rootObject(): T {
@@ -38,8 +44,14 @@ export class DomRender<T extends object = any> {
38
44
  public get config(): DomRenderConfig {
39
45
  return this._config;
40
46
  }
47
+ public get router(): Router {
48
+ return this._router;
49
+ }
41
50
 
42
- public get target(): Element | null |undefined {
51
+ public get eventManager(): EventManager {
52
+ return this._eventManager;
53
+ }
54
+ public get target(): Element | null | undefined {
43
55
  return this._target;
44
56
  }
45
57
 
@@ -47,7 +59,11 @@ export class DomRender<T extends object = any> {
47
59
  return DomRender.runSet(data).rootObject;
48
60
  }
49
61
 
50
- public static runSet<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): { rootObject: T, target?: Element | null, config: DomRenderConfig } {
62
+ public static runSet<T extends object>({
63
+ rootObject,
64
+ target,
65
+ config
66
+ }: DomRenderRunParameter<T>, executeConfig?: ExecuteConfig): { rootObject: T; target?: Element | null; config: DomRenderConfig } {
51
67
  // public static run<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): T {
52
68
  // console.log('runSet')
53
69
  rootObject = typeof rootObject === 'function' ? rootObject() : rootObject;
@@ -58,7 +74,7 @@ export class DomRender<T extends object = any> {
58
74
  }
59
75
  targetObject = rootObject;
60
76
  // return targetObject;
61
- return {rootObject: targetObject, target, config: (rootObject as any)._domRender_config};
77
+ return { rootObject: targetObject, target, config: (rootObject as any)._domRender_config };
62
78
  }
63
79
  const targetConfig = Object.assign({}, config) as DomRenderConfig;
64
80
  eventManager ??= new EventManager(targetConfig.window);
@@ -68,7 +84,6 @@ export class DomRender<T extends object = any> {
68
84
  targetConfig.proxyExcludeTyps = targetConfig.proxyExcludeTyps ?? [];
69
85
  targetConfig.targetElements ??= [];
70
86
 
71
-
72
87
  if (typeof Window !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Window)) {
73
88
  targetConfig.proxyExcludeTyps.push(Window);
74
89
  }
@@ -87,12 +102,27 @@ export class DomRender<T extends object = any> {
87
102
  if (typeof ImageBitmap !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ImageBitmap)) {
88
103
  targetConfig.proxyExcludeTyps.push(ImageBitmap);
89
104
  }
90
- if (typeof CanvasRenderingContext2D !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CanvasRenderingContext2D)) {
105
+ if ( typeof CanvasRenderingContext2D !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CanvasRenderingContext2D) ) {
91
106
  targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);
92
107
  }
93
- if (typeof HTMLCanvasElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLCanvasElement)) {
94
- targetConfig.proxyExcludeTyps.push(HTMLCanvasElement);
108
+ if ( typeof CSSStyleDeclaration !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CSSStyleDeclaration) ) {
109
+ targetConfig.proxyExcludeTyps.push(CSSStyleDeclaration);
95
110
  }
111
+ if ( typeof Date !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Date) ) {
112
+ targetConfig.proxyExcludeTyps.push(Date);
113
+ }
114
+ if ( typeof MutationObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === IntersectionObserver) ) {
115
+ targetConfig.proxyExcludeTyps.push(IntersectionObserver);
116
+ }
117
+ if ( typeof IntersectionObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === IntersectionObserver) ) {
118
+ targetConfig.proxyExcludeTyps.push(IntersectionObserver);
119
+ }
120
+ if (typeof HTMLElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLElement)) {
121
+ targetConfig.proxyExcludeTyps.push(HTMLElement);
122
+ }
123
+ // if (typeof HTMLCanvasElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLCanvasElement)) {
124
+ // targetConfig.proxyExcludeTyps.push(HTMLCanvasElement);
125
+ // }
96
126
  if (!targetConfig.proxyExcludeTyps.some(it => it === RawSet)) {
97
127
  targetConfig.proxyExcludeTyps.push(RawSet);
98
128
  }
@@ -112,11 +142,11 @@ export class DomRender<T extends object = any> {
112
142
  if (!targetConfig.router) {
113
143
  let targetRouter: Router<any> | undefined;
114
144
  if ('routerType' in config && config?.routerType === 'hash') {
115
- targetRouter = new HashRouter({rootObject: targetObject, window: targetConfig.window});
145
+ targetRouter = new HashRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });
116
146
  } else if ('routerType' in config && config?.routerType === 'path') {
117
- targetRouter = new PathRouter({rootObject: targetObject, window: targetConfig.window});
147
+ targetRouter = new PathRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });
118
148
  } else if ('routerType' in config && typeof config?.routerType === 'function') {
119
- targetRouter = config.routerType(targetObject, targetConfig.window);
149
+ targetRouter = config.routerType(targetObject, targetConfig);
120
150
  } else if ('routerType' in config && typeof config?.routerType === 'object') {
121
151
  targetRouter = config.routerType;
122
152
  }
@@ -141,33 +171,31 @@ export class DomRender<T extends object = any> {
141
171
  // }
142
172
  // }
143
173
  domRender.run(targetObject);
144
- return {rootObject: targetObject, config: targetConfig, target};
174
+ return { rootObject: targetObject, config: targetConfig, target };
145
175
  // return targetObject;
146
176
  }
147
177
 
148
178
  public static createComponent(param: CreateComponentParam) {
149
179
  // console.log('===>', typeof param.type, param.type.name, param.type.constructor.name)
150
- const component = RawSet.createComponentTargetElement(
151
- {
152
- name: param.tagName ?? (typeof param.type === 'function' ? param.type.name : param.type.constructor.name),
153
- objFactory: (e, o, r2, counstructorParam) => {
154
- return typeof param.type === 'function' ? new param.type(...counstructorParam) : param.type;
155
- },
156
- noStrip: param.noStrip,
157
- template: param.template ?? '',
158
- styles: Array.isArray(param.styles) ? param.styles : (param.styles ? [param.styles] : undefined)
159
- }
160
- );
180
+ const component = RawSet.createComponentTargetElement({
181
+ name: param.tagName ?? (typeof param.type === 'function' ? param.type.name : param.type.constructor.name),
182
+ objFactory: (e, o, r2, counstructorParam) => {
183
+ return typeof param.type === 'function' ? new param.type(...counstructorParam) : param.type;
184
+ },
185
+ noStrip: param.noStrip,
186
+ template: param.template ?? '',
187
+ styles: Array.isArray(param.styles) ? param.styles : param.styles ? [param.styles] : undefined
188
+ });
161
189
  return component;
162
190
  }
163
191
 
164
192
  // ?? 언제 쓰는거지?? 훔..
165
- public static createAttribute(attrName: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment) {
166
- const targetAttribute = RawSet.createComponentTargetAttribute(
167
- attrName,
168
- getThisObj,
169
- factory
170
- );
193
+ public static createAttribute(
194
+ attrName: string,
195
+ getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any,
196
+ factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment
197
+ ) {
198
+ const targetAttribute = RawSet.createComponentTargetAttribute(attrName, getThisObj, factory);
171
199
  return targetAttribute;
172
200
  }
173
201
  }