frontend-hamroun 1.2.84 → 1.2.88

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 (310) hide show
  1. package/dist/batch.d.ts +4 -0
  2. package/dist/batch.d.ts.map +1 -0
  3. package/dist/batch.js +22 -0
  4. package/dist/client-router.d.ts +61 -0
  5. package/dist/client-router.d.ts.map +1 -0
  6. package/dist/client-router.js +209 -0
  7. package/dist/component.d.ts +15 -0
  8. package/dist/component.d.ts.map +1 -0
  9. package/dist/component.js +84 -0
  10. package/dist/components/Counter.d.ts +1 -0
  11. package/dist/components/Counter.d.ts.map +1 -0
  12. package/dist/components/Counter.js +2 -0
  13. package/dist/context.d.ts +5 -0
  14. package/dist/context.d.ts.map +1 -0
  15. package/dist/context.js +23 -0
  16. package/dist/event-bus.d.ts +24 -0
  17. package/dist/event-bus.d.ts.map +1 -0
  18. package/dist/event-bus.js +74 -0
  19. package/dist/forms.d.ts +41 -0
  20. package/dist/forms.d.ts.map +1 -0
  21. package/dist/forms.js +147 -0
  22. package/dist/hooks.d.ts +12 -0
  23. package/dist/hooks.d.ts.map +1 -0
  24. package/dist/hooks.js +142 -0
  25. package/dist/index.cjs +1118 -1
  26. package/dist/index.cjs.map +1 -1
  27. package/dist/index.client.d.ts +13 -0
  28. package/dist/index.client.d.ts.map +1 -0
  29. package/dist/index.client.js +12 -25
  30. package/dist/index.d.ts +65 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +1040 -264
  33. package/dist/index.js.map +1 -1
  34. package/dist/jsx-dev-runtime.cjs +102 -0
  35. package/dist/jsx-dev-runtime.cjs.map +1 -0
  36. package/dist/jsx-dev-runtime.d.ts +3 -0
  37. package/dist/jsx-dev-runtime.d.ts.map +1 -0
  38. package/dist/jsx-dev-runtime.js +96 -0
  39. package/dist/jsx-dev-runtime.js.map +1 -0
  40. package/dist/jsx-runtime/jsx-runtime.d.ts +5 -0
  41. package/dist/jsx-runtime/jsx-runtime.d.ts.map +1 -0
  42. package/dist/jsx-runtime/jsx-runtime.js +40 -0
  43. package/dist/jsx-runtime.cjs +112 -1
  44. package/dist/jsx-runtime.cjs.map +1 -1
  45. package/dist/jsx-runtime.d.ts +18 -0
  46. package/dist/jsx-runtime.d.ts.map +1 -0
  47. package/dist/jsx-runtime.js +90 -79
  48. package/dist/jsx-runtime.js.map +1 -1
  49. package/dist/lifecycle-events.d.ts +109 -0
  50. package/dist/lifecycle-events.d.ts.map +1 -0
  51. package/dist/lifecycle-events.js +176 -0
  52. package/dist/renderComponent.d.ts +14 -0
  53. package/dist/renderComponent.d.ts.map +1 -0
  54. package/dist/renderComponent.js +29 -0
  55. package/dist/renderer.d.ts +4 -0
  56. package/dist/renderer.d.ts.map +1 -0
  57. package/dist/renderer.js +49 -0
  58. package/dist/router.d.ts +56 -0
  59. package/dist/router.d.ts.map +1 -0
  60. package/dist/router.js +165 -0
  61. package/dist/server-renderer.d.ts +2 -0
  62. package/dist/server-renderer.d.ts.map +1 -0
  63. package/dist/server-renderer.js +111 -5
  64. package/dist/server-types.d.ts +43 -0
  65. package/dist/server-types.d.ts.map +1 -0
  66. package/dist/server-types.js +5 -0
  67. package/dist/store.d.ts +42 -0
  68. package/dist/store.d.ts.map +1 -0
  69. package/dist/store.js +98 -0
  70. package/dist/types.d.ts +272 -0
  71. package/dist/types.d.ts.map +1 -0
  72. package/dist/types.js +2 -0
  73. package/dist/utils.d.ts +47 -0
  74. package/dist/utils.d.ts.map +1 -0
  75. package/dist/utils.js +143 -0
  76. package/dist/vdom.d.ts +9 -0
  77. package/dist/vdom.d.ts.map +1 -0
  78. package/dist/vdom.js +21 -0
  79. package/dist/wasm.d.ts +37 -0
  80. package/dist/wasm.d.ts.map +1 -0
  81. package/dist/wasm.js +158 -0
  82. package/package.json +54 -83
  83. package/templates/basic-app/build.d.ts +2 -0
  84. package/templates/basic-app/build.d.ts.map +1 -0
  85. package/templates/basic-app/dev.d.ts +2 -0
  86. package/templates/basic-app/dev.d.ts.map +1 -0
  87. package/templates/basic-app/esbuild.config.d.ts +2 -0
  88. package/templates/basic-app/esbuild.config.d.ts.map +1 -0
  89. package/templates/basic-app/postcss.config.d.ts +8 -0
  90. package/templates/basic-app/postcss.config.d.ts.map +1 -0
  91. package/templates/basic-app/server.d.ts +2 -0
  92. package/templates/basic-app/server.d.ts.map +1 -0
  93. package/templates/basic-app/src/App.d.ts +2 -0
  94. package/templates/basic-app/src/App.d.ts.map +1 -0
  95. package/templates/basic-app/src/App.js +148 -0
  96. package/templates/basic-app/src/client.d.ts +2 -0
  97. package/templates/basic-app/src/client.d.ts.map +1 -0
  98. package/templates/basic-app/src/client.js +6 -0
  99. package/templates/basic-app/src/components/Counter.d.ts +4 -0
  100. package/templates/basic-app/src/components/Counter.d.ts.map +1 -0
  101. package/templates/basic-app/src/components/Counter.js +9 -0
  102. package/templates/basic-app/src/jsx-shim.d.ts +8 -0
  103. package/templates/basic-app/src/jsx-shim.d.ts.map +1 -0
  104. package/templates/basic-app/src/main.d.ts +2 -0
  105. package/templates/basic-app/src/main.d.ts.map +1 -0
  106. package/templates/basic-app/src/main.js +57 -0
  107. package/templates/basic-app/src/server.d.ts +2 -0
  108. package/templates/basic-app/src/server.d.ts.map +1 -0
  109. package/templates/basic-app/tailwind.config.d.ts +9 -0
  110. package/templates/basic-app/tailwind.config.d.ts.map +1 -0
  111. package/templates/basic-app/vite.config.d.ts +3 -0
  112. package/templates/basic-app/vite.config.d.ts.map +1 -0
  113. package/templates/basic-app/vite.config.js +7 -0
  114. package/templates/complete-app/api/hello.d.ts +1 -0
  115. package/templates/complete-app/api/hello.d.ts.map +1 -0
  116. package/templates/complete-app/client.d.ts +2 -0
  117. package/templates/complete-app/client.d.ts.map +1 -0
  118. package/templates/complete-app/lib/frontend-hamroun.d.ts +18 -0
  119. package/templates/complete-app/lib/frontend-hamroun.d.ts.map +1 -0
  120. package/templates/complete-app/pages/about.d.ts +7 -0
  121. package/templates/complete-app/pages/about.d.ts.map +1 -0
  122. package/templates/complete-app/pages/index.d.ts +7 -0
  123. package/templates/complete-app/pages/index.d.ts.map +1 -0
  124. package/templates/complete-app/pages/wasm-demo.d.ts +7 -0
  125. package/templates/complete-app/pages/wasm-demo.d.ts.map +1 -0
  126. package/templates/complete-app/public/client.d.ts +17 -0
  127. package/templates/complete-app/public/client.d.ts.map +1 -0
  128. package/templates/complete-app/server.d.ts +2 -0
  129. package/templates/complete-app/server.d.ts.map +1 -0
  130. package/templates/complete-app/server.js +236 -218
  131. package/templates/complete-app/src/App.d.ts +2 -0
  132. package/templates/complete-app/src/App.d.ts.map +1 -0
  133. package/templates/complete-app/src/App.js +27 -0
  134. package/templates/complete-app/src/client.d.ts +2 -0
  135. package/templates/complete-app/src/client.d.ts.map +1 -0
  136. package/templates/complete-app/src/client.js +52 -0
  137. package/templates/complete-app/src/pages/index.d.ts +2 -0
  138. package/templates/complete-app/src/pages/index.d.ts.map +1 -0
  139. package/templates/complete-app/src/pages/index.js +19 -0
  140. package/templates/complete-app/src/server.d.ts +2 -0
  141. package/templates/complete-app/src/server.d.ts.map +1 -0
  142. package/templates/complete-app/src/server.js +192 -0
  143. package/templates/complete-app/vite.config.d.ts +3 -0
  144. package/templates/complete-app/vite.config.d.ts.map +1 -0
  145. package/templates/complete-app/vite.config.js +29 -57
  146. package/templates/fullstack-app/api/hello.d.ts +4 -0
  147. package/templates/fullstack-app/api/hello.d.ts.map +1 -0
  148. package/templates/fullstack-app/api/hello.js +14 -11
  149. package/templates/fullstack-app/api/users/[id].d.ts +5 -0
  150. package/templates/fullstack-app/api/users/[id].d.ts.map +1 -0
  151. package/templates/fullstack-app/api/users/[id].js +52 -0
  152. package/templates/fullstack-app/api/users/index.d.ts +4 -0
  153. package/templates/fullstack-app/api/users/index.d.ts.map +1 -0
  154. package/templates/fullstack-app/api/users/index.js +25 -0
  155. package/templates/fullstack-app/build/main.d.ts +211 -0
  156. package/templates/fullstack-app/build/main.d.ts.map +1 -0
  157. package/templates/fullstack-app/build.d.ts +2 -0
  158. package/templates/fullstack-app/build.d.ts.map +1 -0
  159. package/templates/fullstack-app/build.js +190 -0
  160. package/templates/fullstack-app/postcss.config.d.ts +5 -0
  161. package/templates/fullstack-app/postcss.config.d.ts.map +1 -0
  162. package/templates/fullstack-app/process-tailwind.d.ts +2 -0
  163. package/templates/fullstack-app/process-tailwind.d.ts.map +1 -0
  164. package/templates/fullstack-app/public/route-handler.d.ts +1 -0
  165. package/templates/fullstack-app/public/route-handler.d.ts.map +1 -0
  166. package/templates/fullstack-app/server.d.ts +2 -0
  167. package/templates/fullstack-app/server.d.ts.map +1 -0
  168. package/templates/fullstack-app/server.js +428 -266
  169. package/templates/fullstack-app/src/client.d.ts +2 -0
  170. package/templates/fullstack-app/src/client.d.ts.map +1 -0
  171. package/templates/fullstack-app/src/components/ClientHome.d.ts +1 -0
  172. package/templates/fullstack-app/src/components/ClientHome.d.ts.map +1 -0
  173. package/templates/fullstack-app/src/components/ClientHome.js +1 -0
  174. package/templates/fullstack-app/src/components/ErrorBoundary.d.ts +7 -0
  175. package/templates/fullstack-app/src/components/ErrorBoundary.d.ts.map +1 -0
  176. package/templates/fullstack-app/src/components/ErrorBoundary.js +12 -0
  177. package/templates/fullstack-app/src/components/Layout.d.ts +7 -0
  178. package/templates/fullstack-app/src/components/Layout.d.ts.map +1 -0
  179. package/templates/fullstack-app/src/components/Layout.js +4 -0
  180. package/templates/fullstack-app/src/components/StateDemo.d.ts +2 -0
  181. package/templates/fullstack-app/src/components/StateDemo.d.ts.map +1 -0
  182. package/templates/fullstack-app/src/components/StateDemo.js +86 -0
  183. package/templates/fullstack-app/src/components/UserList.d.ts +11 -0
  184. package/templates/fullstack-app/src/components/UserList.d.ts.map +1 -0
  185. package/templates/fullstack-app/src/components/UserList.js +7 -0
  186. package/templates/fullstack-app/src/config.d.ts +29 -0
  187. package/templates/fullstack-app/src/config.d.ts.map +1 -0
  188. package/templates/fullstack-app/src/config.js +36 -0
  189. package/templates/fullstack-app/src/data/api.d.ts +35 -0
  190. package/templates/fullstack-app/src/data/api.d.ts.map +1 -0
  191. package/templates/fullstack-app/src/data/api.js +173 -0
  192. package/templates/fullstack-app/src/main.d.ts +7 -0
  193. package/templates/fullstack-app/src/main.d.ts.map +1 -0
  194. package/templates/fullstack-app/src/main.js +130 -0
  195. package/templates/fullstack-app/src/middleware.d.ts +10 -0
  196. package/templates/fullstack-app/src/middleware.d.ts.map +1 -0
  197. package/templates/fullstack-app/src/middleware.js +14 -0
  198. package/templates/fullstack-app/src/pages/404.d.ts +4 -0
  199. package/templates/fullstack-app/src/pages/404.d.ts.map +1 -0
  200. package/templates/fullstack-app/src/pages/404.js +4 -0
  201. package/templates/fullstack-app/src/pages/[id].d.ts +1 -0
  202. package/templates/fullstack-app/src/pages/[id].d.ts.map +1 -0
  203. package/templates/fullstack-app/src/pages/[id].js +1 -0
  204. package/templates/fullstack-app/src/pages/_app.d.ts +6 -0
  205. package/templates/fullstack-app/src/pages/_app.d.ts.map +1 -0
  206. package/templates/fullstack-app/src/pages/_app.js +6 -0
  207. package/templates/fullstack-app/src/pages/_document.d.ts +7 -0
  208. package/templates/fullstack-app/src/pages/_document.d.ts.map +1 -0
  209. package/templates/fullstack-app/src/pages/_document.js +4 -0
  210. package/templates/fullstack-app/src/pages/_error.d.ts +4 -0
  211. package/templates/fullstack-app/src/pages/_error.d.ts.map +1 -0
  212. package/templates/fullstack-app/src/pages/_error.js +8 -0
  213. package/templates/fullstack-app/src/pages/about/index.d.ts +5 -0
  214. package/templates/fullstack-app/src/pages/about/index.d.ts.map +1 -0
  215. package/templates/fullstack-app/src/pages/about/index.js +6 -0
  216. package/templates/fullstack-app/src/pages/about.d.ts +10 -0
  217. package/templates/fullstack-app/src/pages/about.d.ts.map +1 -0
  218. package/templates/fullstack-app/src/pages/about.js +21 -0
  219. package/templates/fullstack-app/src/pages/api/users/[id].d.ts +6 -0
  220. package/templates/fullstack-app/src/pages/api/users/[id].d.ts.map +1 -0
  221. package/templates/fullstack-app/src/pages/api/users/[id].js +51 -0
  222. package/templates/fullstack-app/src/pages/api/users/index.d.ts +4 -0
  223. package/templates/fullstack-app/src/pages/api/users/index.d.ts.map +1 -0
  224. package/templates/fullstack-app/src/pages/api/users/index.js +33 -0
  225. package/templates/fullstack-app/src/pages/index.d.ts +21 -0
  226. package/templates/fullstack-app/src/pages/index.d.ts.map +1 -0
  227. package/templates/fullstack-app/src/pages/index.js +66 -0
  228. package/templates/fullstack-app/src/pages/users/[id].d.ts +38 -0
  229. package/templates/fullstack-app/src/pages/users/[id].d.ts.map +1 -0
  230. package/templates/fullstack-app/src/pages/users/[id].js +79 -0
  231. package/templates/fullstack-app/src/pages/users.d.ts +14 -0
  232. package/templates/fullstack-app/src/pages/users.d.ts.map +1 -0
  233. package/templates/fullstack-app/src/pages/users.js +14 -0
  234. package/templates/fullstack-app/src/pages/wasm-demo.d.ts +1 -0
  235. package/templates/fullstack-app/src/pages/wasm-demo.d.ts.map +1 -0
  236. package/templates/fullstack-app/src/pages/wasm-demo.js +2 -0
  237. package/templates/fullstack-app/src/router.d.ts +22 -0
  238. package/templates/fullstack-app/src/router.d.ts.map +1 -0
  239. package/templates/fullstack-app/src/router.js +210 -0
  240. package/templates/fullstack-app/tailwind.config.d.ts +3 -0
  241. package/templates/fullstack-app/tailwind.config.d.ts.map +1 -0
  242. package/templates/fullstack-app/vite.config.d.ts +3 -0
  243. package/templates/fullstack-app/vite.config.d.ts.map +1 -0
  244. package/templates/ssr-template/dist/client/assets/main-D-VH3xOb.d.ts +2 -0
  245. package/templates/ssr-template/dist/client/assets/main-D-VH3xOb.d.ts.map +1 -0
  246. package/templates/ssr-template/dist/client.d.ts +85 -0
  247. package/templates/ssr-template/dist/client.d.ts.map +1 -0
  248. package/templates/ssr-template/dist/server.d.ts +2 -0
  249. package/templates/ssr-template/dist/server.d.ts.map +1 -0
  250. package/templates/ssr-template/esbuild.config.d.ts +2 -0
  251. package/templates/ssr-template/esbuild.config.d.ts.map +1 -0
  252. package/templates/ssr-template/jsx-shim.d.ts +2 -0
  253. package/templates/ssr-template/jsx-shim.d.ts.map +1 -0
  254. package/templates/ssr-template/src/App.d.ts +2 -0
  255. package/templates/ssr-template/src/App.d.ts.map +1 -0
  256. package/templates/ssr-template/src/App.js +625 -0
  257. package/templates/ssr-template/src/client.d.ts +2 -0
  258. package/templates/ssr-template/src/client.d.ts.map +1 -0
  259. package/templates/ssr-template/src/client.js +3 -0
  260. package/templates/ssr-template/src/server.d.ts +2 -0
  261. package/templates/ssr-template/src/server.d.ts.map +1 -0
  262. package/templates/ssr-template/src/server.js +29 -0
  263. package/templates/ssr-template/vite.config.d.ts +3 -0
  264. package/templates/ssr-template/vite.config.d.ts.map +1 -0
  265. package/templates/ssr-template/vite.config.js +30 -0
  266. package/templates/wasm/build-wasm.d.ts +2 -0
  267. package/templates/wasm/build-wasm.d.ts.map +1 -0
  268. package/templates/wasm/dist/assets/index-BNqTDBdE.d.ts +30 -0
  269. package/templates/wasm/dist/assets/index-BNqTDBdE.d.ts.map +1 -0
  270. package/templates/wasm/dist/wasm_exec.d.ts +1 -0
  271. package/templates/wasm/dist/wasm_exec.d.ts.map +1 -0
  272. package/templates/wasm/esbuild.config.d.ts +2 -0
  273. package/templates/wasm/esbuild.config.d.ts.map +1 -0
  274. package/templates/wasm/go/wasm_exec.d.ts +1 -0
  275. package/templates/wasm/go/wasm_exec.d.ts.map +1 -0
  276. package/templates/wasm/jsx-shim.d.ts +5 -0
  277. package/templates/wasm/jsx-shim.d.ts.map +1 -0
  278. package/templates/wasm/public/wasm_exec.d.ts +1 -0
  279. package/templates/wasm/public/wasm_exec.d.ts.map +1 -0
  280. package/templates/wasm/src/App.d.ts +2 -0
  281. package/templates/wasm/src/App.d.ts.map +1 -0
  282. package/templates/wasm/src/App.js +381 -0
  283. package/templates/wasm/src/client.d.ts +2 -0
  284. package/templates/wasm/src/client.d.ts.map +1 -0
  285. package/templates/wasm/src/client.js +210 -0
  286. package/templates/wasm/src/index.d.ts +2 -0
  287. package/templates/wasm/src/index.d.ts.map +1 -0
  288. package/templates/wasm/src/index.js +20 -0
  289. package/templates/wasm/src/server.d.ts +2 -0
  290. package/templates/wasm/src/server.d.ts.map +1 -0
  291. package/templates/wasm/src/server.js +131 -0
  292. package/templates/wasm/vite.config.d.ts +3 -0
  293. package/templates/wasm/vite.config.d.ts.map +1 -0
  294. package/templates/wasm/vite.config.js +36 -0
  295. package/templates/wasm/wasm-loader.d.ts +6 -0
  296. package/templates/wasm/wasm-loader.d.ts.map +1 -0
  297. package/dist/index.client.cjs +0 -2
  298. package/dist/index.client.cjs.map +0 -1
  299. package/dist/index.client.js.map +0 -1
  300. package/dist/renderer-DaVfBeVi.cjs +0 -2
  301. package/dist/renderer-DaVfBeVi.cjs.map +0 -1
  302. package/dist/renderer-nfT7XSpo.js +0 -61
  303. package/dist/renderer-nfT7XSpo.js.map +0 -1
  304. package/dist/server-renderer-B5b0Q0ck.cjs +0 -2
  305. package/dist/server-renderer-B5b0Q0ck.cjs.map +0 -1
  306. package/dist/server-renderer-C4MB-jAp.js +0 -248
  307. package/dist/server-renderer-C4MB-jAp.js.map +0 -1
  308. package/dist/server-renderer.cjs +0 -2
  309. package/dist/server-renderer.cjs.map +0 -1
  310. package/dist/server-renderer.js.map +0 -1
@@ -1,248 +0,0 @@
1
- let isBatching = false;
2
- const queue = [];
3
- function batchUpdates(fn) {
4
- if (isBatching) {
5
- queue.push(fn);
6
- return;
7
- }
8
- isBatching = true;
9
- try {
10
- fn();
11
- while (queue.length > 0) {
12
- const nextFn = queue.shift();
13
- nextFn?.();
14
- }
15
- } finally {
16
- isBatching = false;
17
- }
18
- }
19
- let currentRender = 0;
20
- const states = /* @__PURE__ */ new Map();
21
- const stateIndices = /* @__PURE__ */ new Map();
22
- const effects = /* @__PURE__ */ new Map();
23
- const memos = /* @__PURE__ */ new Map();
24
- const refs = /* @__PURE__ */ new Map();
25
- let globalRenderCallback = null;
26
- let globalContainer = null;
27
- let currentElement = null;
28
- function setRenderCallback(callback, element, container) {
29
- globalRenderCallback = callback;
30
- globalContainer = container;
31
- currentElement = element;
32
- }
33
- function prepareRender(component = null) {
34
- currentRender++;
35
- stateIndices.set(currentRender, 0);
36
- return currentRender;
37
- }
38
- function finishRender() {
39
- currentRender = 0;
40
- }
41
- function useState(initial) {
42
- if (!currentRender) {
43
- throw new Error("useState must be called within a render");
44
- }
45
- if (!states.has(currentRender)) {
46
- states.set(currentRender, []);
47
- }
48
- const componentStates = states.get(currentRender);
49
- const index = stateIndices.get(currentRender) || 0;
50
- if (index >= componentStates.length) {
51
- componentStates.push(initial);
52
- }
53
- const state = componentStates[index];
54
- const setState = (newValue) => {
55
- const nextValue = typeof newValue === "function" ? newValue(componentStates[index]) : newValue;
56
- if (componentStates[index] === nextValue) return;
57
- componentStates[index] = nextValue;
58
- if (isBatching) {
59
- batchUpdates(() => rerender(currentRender));
60
- } else {
61
- rerender(currentRender);
62
- }
63
- };
64
- stateIndices.set(currentRender, index + 1);
65
- return [state, setState];
66
- }
67
- function useEffect(callback, deps) {
68
- if (!currentRender) throw new Error("useEffect must be called within a render");
69
- const effectIndex = stateIndices.get(currentRender) || 0;
70
- if (!effects.has(currentRender)) {
71
- effects.set(currentRender, []);
72
- }
73
- const componentEffects = effects.get(currentRender);
74
- const prevEffect = componentEffects[effectIndex];
75
- if (!prevEffect || !deps || !prevEffect.deps || deps.some((dep, i) => dep !== prevEffect.deps[i])) {
76
- if (prevEffect?.cleanup) {
77
- prevEffect.cleanup();
78
- }
79
- queueMicrotask(() => {
80
- const cleanup = callback() || void 0;
81
- componentEffects[effectIndex] = { cleanup, deps: deps || [] };
82
- });
83
- }
84
- stateIndices.set(currentRender, effectIndex + 1);
85
- }
86
- function useMemo(factory, deps) {
87
- if (!currentRender) throw new Error("useMemo must be called within a render");
88
- const memoIndex = stateIndices.get(currentRender) || 0;
89
- if (!memos.has(currentRender)) {
90
- memos.set(currentRender, []);
91
- }
92
- const componentMemos = memos.get(currentRender);
93
- const prevMemo = componentMemos[memoIndex];
94
- if (!prevMemo || deps && deps.some((dep, i) => !Object.is(dep, prevMemo.deps[i]))) {
95
- const value = factory();
96
- componentMemos[memoIndex] = { value, deps: deps || [] };
97
- stateIndices.set(currentRender, memoIndex + 1);
98
- return value;
99
- }
100
- stateIndices.set(currentRender, memoIndex + 1);
101
- return prevMemo.value;
102
- }
103
- function useRef(initial) {
104
- if (!currentRender) throw new Error("useRef must be called within a render");
105
- const refIndex = stateIndices.get(currentRender) || 0;
106
- if (!refs.has(currentRender)) {
107
- refs.set(currentRender, []);
108
- }
109
- const componentRefs = refs.get(currentRender);
110
- if (refIndex >= componentRefs.length) {
111
- const ref2 = { current: initial };
112
- componentRefs.push(ref2);
113
- stateIndices.set(currentRender, refIndex + 1);
114
- return ref2;
115
- }
116
- const ref = componentRefs[refIndex];
117
- stateIndices.set(currentRender, refIndex + 1);
118
- return ref;
119
- }
120
- async function rerender(rendererId) {
121
- try {
122
- const componentEffects = effects.get(rendererId);
123
- if (componentEffects) {
124
- componentEffects.forEach((effect) => {
125
- if (effect.cleanup) effect.cleanup();
126
- });
127
- effects.set(rendererId, []);
128
- }
129
- if (globalRenderCallback && globalContainer && currentElement) {
130
- await globalRenderCallback(currentElement, globalContainer);
131
- }
132
- } catch (error) {
133
- console.error("Error during rerender:", error);
134
- }
135
- }
136
- function useErrorBoundary() {
137
- const [error, setError] = useState(null);
138
- return [error, () => setError(null)];
139
- }
140
- async function renderToString(element) {
141
- prepareRender(true);
142
- try {
143
- const html = await renderNodeToString(element);
144
- return html;
145
- } finally {
146
- finishRender();
147
- }
148
- }
149
- async function renderNodeToString(node) {
150
- if (node == null || typeof node === "boolean") {
151
- return "";
152
- }
153
- if (typeof node === "string" || typeof node === "number") {
154
- return escapeHtml(String(node));
155
- }
156
- if (Array.isArray(node)) {
157
- const results = await Promise.all(node.map((child) => renderNodeToString(child)));
158
- return results.join("");
159
- }
160
- if (node && typeof node === "object" && "type" in node) {
161
- const { type, props = {} } = node;
162
- if (typeof type === "function") {
163
- try {
164
- const result = await type(props);
165
- return await renderNodeToString(result);
166
- } catch (error) {
167
- console.error("Error rendering component:", error);
168
- return `<!-- Error rendering component: ${error.message} -->`;
169
- }
170
- }
171
- if (typeof type === "string") {
172
- return await renderDOMElement(type, props);
173
- }
174
- }
175
- if (typeof node === "object") {
176
- return escapeHtml(JSON.stringify(node));
177
- }
178
- return escapeHtml(String(node));
179
- }
180
- async function renderDOMElement(tagName, props) {
181
- const { children, ...attrs } = props;
182
- const voidElements = /* @__PURE__ */ new Set([
183
- "area",
184
- "base",
185
- "br",
186
- "col",
187
- "embed",
188
- "hr",
189
- "img",
190
- "input",
191
- "link",
192
- "meta",
193
- "param",
194
- "source",
195
- "track",
196
- "wbr"
197
- ]);
198
- const attributeString = Object.entries(attrs).filter(([key, value]) => {
199
- if (key.startsWith("on") || key === "key" || key === "ref") return false;
200
- if (value == null || value === false) return false;
201
- return true;
202
- }).map(([key, value]) => {
203
- if (key === "className") key = "class";
204
- if (value === true) return key;
205
- if (key === "style" && typeof value === "object" && value !== null) {
206
- const styleString = Object.entries(value).map(([prop, val]) => `${kebabCase(prop)}:${val}`).join(";");
207
- return `style="${escapeHtml(styleString)}"`;
208
- }
209
- return `${key}="${escapeHtml(String(value))}"`;
210
- }).join(" ");
211
- const openTag = `<${tagName}${attributeString ? " " + attributeString : ""}>`;
212
- if (voidElements.has(tagName)) {
213
- return openTag.slice(0, -1) + "/>";
214
- }
215
- const closeTag = `</${tagName}>`;
216
- if (children != null) {
217
- const childrenString = await renderNodeToString(children);
218
- return openTag + childrenString + closeTag;
219
- }
220
- return openTag + closeTag;
221
- }
222
- function escapeHtml(text) {
223
- const htmlEscapes = {
224
- "&": "&amp;",
225
- "<": "&lt;",
226
- ">": "&gt;",
227
- '"': "&quot;",
228
- "'": "&#x27;",
229
- "/": "&#x2F;"
230
- };
231
- return text.replace(/[&<>"'/]/g, (match) => htmlEscapes[match]);
232
- }
233
- function kebabCase(str) {
234
- return str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
235
- }
236
- export {
237
- useRef as a,
238
- batchUpdates as b,
239
- useMemo as c,
240
- useEffect as d,
241
- useState as e,
242
- finishRender as f,
243
- prepareRender as p,
244
- renderToString as r,
245
- setRenderCallback as s,
246
- useErrorBoundary as u
247
- };
248
- //# sourceMappingURL=server-renderer-C4MB-jAp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server-renderer-C4MB-jAp.js","sources":["../src/batch.ts","../src/hooks.ts","../src/server-renderer.ts"],"sourcesContent":["export let isBatching = false;\r\nconst queue: Function[] = [];\r\n\r\nexport function batchUpdates(fn: Function) {\r\n if (isBatching) {\r\n queue.push(fn);\r\n return;\r\n }\r\n\r\n isBatching = true;\r\n try {\r\n fn();\r\n while (queue.length > 0) {\r\n const nextFn = queue.shift();\r\n nextFn?.();\r\n }\r\n } finally {\r\n isBatching = false;\r\n }\r\n}\r\n\r\nexport function getIsBatching() {\r\n return isBatching;\r\n}\r\n","import { batchUpdates, isBatching } from './batch.js';\r\n\r\n// Current render ID counter\r\nlet currentRender = 0;\r\nlet renderContext: any = null;\r\n\r\n// State storage\r\nconst states = new Map<number, any[]>();\r\nconst stateIndices = new Map<number, number>();\r\nconst effects = new Map<number, any[]>();\r\nconst memos = new Map<number, any[]>();\r\nconst refs = new Map<number, any[]>();\r\n\r\n// Rendering callbacks\r\nlet globalRenderCallback: any = null;\r\nlet globalContainer: any = null;\r\nlet currentElement: any = null;\r\n\r\nexport function setRenderCallback(callback: any, element: any, container: any): void {\r\n globalRenderCallback = callback;\r\n globalContainer = container;\r\n currentElement = element;\r\n}\r\n\r\nexport function prepareRender(component: any = null): number {\r\n currentRender++;\r\n renderContext = component;\r\n stateIndices.set(currentRender, 0);\r\n return currentRender;\r\n}\r\n\r\nexport function finishRender(): void {\r\n renderContext = null;\r\n currentRender = 0;\r\n}\r\n\r\nexport function useState<T>(initial: T): [T, (newValue: T | ((prev: T) => T)) => void] {\r\n if (!currentRender) {\r\n throw new Error(\"useState must be called within a render\");\r\n }\r\n\r\n if (!states.has(currentRender)) {\r\n states.set(currentRender, []);\r\n }\r\n \r\n const componentStates = states.get(currentRender)!;\r\n const index = stateIndices.get(currentRender) || 0;\r\n \r\n if (index >= componentStates.length) {\r\n componentStates.push(initial);\r\n }\r\n \r\n const state = componentStates[index];\r\n \r\n const setState = (newValue: T | ((prev: T) => T)) => {\r\n const nextValue = typeof newValue === 'function'\r\n ? (newValue as ((prev: T) => T))(componentStates[index])\r\n : newValue;\r\n \r\n if (componentStates[index] === nextValue) return;\r\n \r\n componentStates[index] = nextValue;\r\n \r\n if (isBatching) {\r\n batchUpdates(() => rerender(currentRender));\r\n } else {\r\n rerender(currentRender);\r\n }\r\n };\r\n \r\n stateIndices.set(currentRender, index + 1);\r\n return [state, setState];\r\n}\r\n\r\nexport function useEffect(callback: () => void | (() => void), deps?: any[]): void {\r\n if (!currentRender) throw new Error(\"useEffect must be called within a render\");\r\n\r\n const effectIndex = stateIndices.get(currentRender) || 0;\r\n \r\n if (!effects.has(currentRender)) {\r\n effects.set(currentRender, []);\r\n }\r\n \r\n const componentEffects = effects.get(currentRender)!;\r\n const prevEffect = componentEffects[effectIndex];\r\n \r\n if (!prevEffect || !deps || !prevEffect.deps || deps.some((dep, i) => dep !== prevEffect.deps[i])) {\r\n if (prevEffect?.cleanup) {\r\n prevEffect.cleanup();\r\n }\r\n \r\n // Schedule effect execution after render is complete\r\n queueMicrotask(() => {\r\n const cleanup = callback() || undefined;\r\n componentEffects[effectIndex] = { cleanup, deps: deps || [] };\r\n });\r\n }\r\n \r\n stateIndices.set(currentRender, effectIndex + 1);\r\n}\r\n\r\nexport function useMemo<T>(factory: () => T, deps?: any[]): T {\r\n if (!currentRender) throw new Error(\"useMemo must be called within a render\");\r\n \r\n const memoIndex = stateIndices.get(currentRender) || 0;\r\n \r\n if (!memos.has(currentRender)) {\r\n memos.set(currentRender, []);\r\n }\r\n \r\n const componentMemos = memos.get(currentRender)!;\r\n const prevMemo = componentMemos[memoIndex];\r\n \r\n if (!prevMemo || (deps && deps.some((dep, i) => !Object.is(dep, prevMemo.deps[i])))) {\r\n const value = factory();\r\n componentMemos[memoIndex] = { value, deps: deps || [] };\r\n stateIndices.set(currentRender, memoIndex + 1);\r\n return value;\r\n }\r\n \r\n stateIndices.set(currentRender, memoIndex + 1);\r\n return prevMemo.value;\r\n}\r\n\r\nexport function useRef<T>(initial: T): { current: T } {\r\n if (!currentRender) throw new Error(\"useRef must be called within a render\");\r\n \r\n const refIndex = stateIndices.get(currentRender) || 0;\r\n \r\n if (!refs.has(currentRender)) {\r\n refs.set(currentRender, []);\r\n }\r\n \r\n const componentRefs = refs.get(currentRender)!;\r\n \r\n if (refIndex >= componentRefs.length) {\r\n const ref = { current: initial };\r\n componentRefs.push(ref);\r\n stateIndices.set(currentRender, refIndex + 1);\r\n return ref;\r\n }\r\n \r\n const ref = componentRefs[refIndex];\r\n stateIndices.set(currentRender, refIndex + 1);\r\n return ref;\r\n}\r\n\r\nasync function rerender(rendererId: number): Promise<void> {\r\n try {\r\n // Clean up effects\r\n const componentEffects = effects.get(rendererId);\r\n if (componentEffects) {\r\n componentEffects.forEach(effect => {\r\n if (effect.cleanup) effect.cleanup();\r\n });\r\n effects.set(rendererId, []);\r\n }\r\n \r\n // Trigger re-render\r\n if (globalRenderCallback && globalContainer && currentElement) {\r\n await globalRenderCallback(currentElement, globalContainer);\r\n }\r\n } catch (error) {\r\n console.error('Error during rerender:', error);\r\n }\r\n}\r\n\r\nexport function useErrorBoundary(): [Error | null, () => void] {\r\n const [error, setError] = useState<Error | null>(null);\r\n return [error, () => setError(null)];\r\n}\r\n\r\n// Re-export from context\r\nexport { createContext, useContext } from './context.js';\r\n","import { VNode } from './types.js';\r\nimport { prepareRender, finishRender } from './hooks.js';\r\n\r\nexport async function renderToString(element: any): Promise<string> {\r\n const renderId = prepareRender(true); // Mark as SSR\r\n \r\n try {\r\n const html = await renderNodeToString(element);\r\n return html;\r\n } finally {\r\n finishRender();\r\n }\r\n}\r\n\r\nasync function renderNodeToString(node: any): Promise<string> {\r\n // Handle null, undefined, boolean\r\n if (node == null || typeof node === 'boolean') {\r\n return '';\r\n }\r\n\r\n // Handle primitives\r\n if (typeof node === 'string' || typeof node === 'number') {\r\n return escapeHtml(String(node));\r\n }\r\n\r\n // Handle arrays\r\n if (Array.isArray(node)) {\r\n const results = await Promise.all(node.map(child => renderNodeToString(child)));\r\n return results.join('');\r\n }\r\n\r\n // Handle objects with type and props (React-like elements)\r\n if (node && typeof node === 'object' && 'type' in node) {\r\n const { type, props = {} } = node;\r\n\r\n // Handle function components\r\n if (typeof type === 'function') {\r\n try {\r\n const result = await type(props);\r\n return await renderNodeToString(result);\r\n } catch (error:any) {\r\n console.error('Error rendering component:', error);\r\n return `<!-- Error rendering component: ${error.message} -->`;\r\n }\r\n }\r\n\r\n // Handle DOM elements\r\n if (typeof type === 'string') {\r\n return await renderDOMElement(type, props);\r\n }\r\n }\r\n\r\n // Fallback for other objects\r\n if (typeof node === 'object') {\r\n return escapeHtml(JSON.stringify(node));\r\n }\r\n\r\n return escapeHtml(String(node));\r\n}\r\n\r\nasync function renderDOMElement(tagName: string, props: any): Promise<string> {\r\n const { children, ...attrs } = props;\r\n \r\n // Self-closing tags\r\n const voidElements = new Set([\r\n 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input',\r\n 'link', 'meta', 'param', 'source', 'track', 'wbr'\r\n ]);\r\n\r\n // Build attributes string\r\n const attributeString = Object.entries(attrs)\r\n .filter(([key, value]) => {\r\n // Filter out React-specific props and event handlers\r\n if (key.startsWith('on') || key === 'key' || key === 'ref') return false;\r\n if (value == null || value === false) return false;\r\n return true;\r\n })\r\n .map(([key, value]) => {\r\n // Handle className -> class\r\n if (key === 'className') key = 'class';\r\n \r\n // Handle boolean attributes\r\n if (value === true) return key;\r\n \r\n // Handle style objects\r\n if (key === 'style' && typeof value === 'object' && value !== null) {\r\n const styleString = Object.entries(value)\r\n .map(([prop, val]) => `${kebabCase(prop)}:${val}`)\r\n .join(';');\r\n return `style=\"${escapeHtml(styleString)}\"`;\r\n }\r\n \r\n return `${key}=\"${escapeHtml(String(value))}\"`;\r\n })\r\n .join(' ');\r\n\r\n const openTag = `<${tagName}${attributeString ? ' ' + attributeString : ''}>`;\r\n \r\n // Self-closing elements\r\n if (voidElements.has(tagName)) {\r\n return openTag.slice(0, -1) + '/>';\r\n }\r\n\r\n // Elements with children\r\n const closeTag = `</${tagName}>`;\r\n \r\n if (children != null) {\r\n const childrenString = await renderNodeToString(children);\r\n return openTag + childrenString + closeTag;\r\n }\r\n \r\n return openTag + closeTag;\r\n}\r\n\r\nfunction escapeHtml(text: string): string {\r\n const htmlEscapes: Record<string, string> = {\r\n '&': '&amp;',\r\n '<': '&lt;',\r\n '>': '&gt;',\r\n '\"': '&quot;',\r\n \"'\": '&#x27;',\r\n '/': '&#x2F;'\r\n };\r\n \r\n return text.replace(/[&<>\"'/]/g, (match) => htmlEscapes[match]);\r\n}\r\n\r\nfunction kebabCase(str: string): string {\r\n return str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\r\n}\r\n"],"names":["ref"],"mappings":"AAAO,IAAI,aAAa;AACxB,MAAM,QAAoB,CAAC;AAEpB,SAAS,aAAa,IAAc;AACzC,MAAI,YAAY;AACd,UAAM,KAAK,EAAE;AACb;AAAA,EAAA;AAGW,eAAA;AACT,MAAA;AACC,OAAA;AACI,WAAA,MAAM,SAAS,GAAG;AACjB,YAAA,SAAS,MAAM,MAAM;AAClB,eAAA;AAAA,IAAA;AAAA,EACX,UACA;AACa,iBAAA;AAAA,EAAA;AAEjB;AChBA,IAAI,gBAAgB;AAIpB,MAAM,6BAAa,IAAmB;AACtC,MAAM,mCAAmB,IAAoB;AAC7C,MAAM,8BAAc,IAAmB;AACvC,MAAM,4BAAY,IAAmB;AACrC,MAAM,2BAAW,IAAmB;AAGpC,IAAI,uBAA4B;AAChC,IAAI,kBAAuB;AAC3B,IAAI,iBAAsB;AAEV,SAAA,kBAAkB,UAAe,SAAc,WAAsB;AAC5D,yBAAA;AACL,oBAAA;AACD,mBAAA;AACnB;AAEgB,SAAA,cAAc,YAAiB,MAAc;AAC3D;AAEa,eAAA,IAAI,eAAe,CAAC;AAC1B,SAAA;AACT;AAEO,SAAS,eAAqB;AAEnB,kBAAA;AAClB;AAEO,SAAS,SAAY,SAA2D;AACrF,MAAI,CAAC,eAAe;AACZ,UAAA,IAAI,MAAM,yCAAyC;AAAA,EAAA;AAG3D,MAAI,CAAC,OAAO,IAAI,aAAa,GAAG;AACvB,WAAA,IAAI,eAAe,EAAE;AAAA,EAAA;AAGxB,QAAA,kBAAkB,OAAO,IAAI,aAAa;AAChD,QAAM,QAAQ,aAAa,IAAI,aAAa,KAAK;AAE7C,MAAA,SAAS,gBAAgB,QAAQ;AACnC,oBAAgB,KAAK,OAAO;AAAA,EAAA;AAGxB,QAAA,QAAQ,gBAAgB,KAAK;AAE7B,QAAA,WAAW,CAAC,aAAmC;AAC7C,UAAA,YAAY,OAAO,aAAa,aACjC,SAA8B,gBAAgB,KAAK,CAAC,IACrD;AAEA,QAAA,gBAAgB,KAAK,MAAM,UAAW;AAE1C,oBAAgB,KAAK,IAAI;AAEzB,QAAI,YAAY;AACD,mBAAA,MAAM,SAAS,aAAa,CAAC;AAAA,IAAA,OACrC;AACL,eAAS,aAAa;AAAA,IAAA;AAAA,EAE1B;AAEa,eAAA,IAAI,eAAe,QAAQ,CAAC;AAClC,SAAA,CAAC,OAAO,QAAQ;AACzB;AAEgB,SAAA,UAAU,UAAqC,MAAoB;AACjF,MAAI,CAAC,cAAqB,OAAA,IAAI,MAAM,0CAA0C;AAE9E,QAAM,cAAc,aAAa,IAAI,aAAa,KAAK;AAEvD,MAAI,CAAC,QAAQ,IAAI,aAAa,GAAG;AACvB,YAAA,IAAI,eAAe,EAAE;AAAA,EAAA;AAGzB,QAAA,mBAAmB,QAAQ,IAAI,aAAa;AAC5C,QAAA,aAAa,iBAAiB,WAAW;AAE/C,MAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,QAAQ,KAAK,KAAK,CAAC,KAAK,MAAM,QAAQ,WAAW,KAAK,CAAC,CAAC,GAAG;AACjG,QAAI,YAAY,SAAS;AACvB,iBAAW,QAAQ;AAAA,IAAA;AAIrB,mBAAe,MAAM;AACb,YAAA,UAAU,cAAc;AAC9B,uBAAiB,WAAW,IAAI,EAAE,SAAS,MAAM,QAAQ,GAAG;AAAA,IAAA,CAC7D;AAAA,EAAA;AAGU,eAAA,IAAI,eAAe,cAAc,CAAC;AACjD;AAEgB,SAAA,QAAW,SAAkB,MAAiB;AAC5D,MAAI,CAAC,cAAqB,OAAA,IAAI,MAAM,wCAAwC;AAE5E,QAAM,YAAY,aAAa,IAAI,aAAa,KAAK;AAErD,MAAI,CAAC,MAAM,IAAI,aAAa,GAAG;AACvB,UAAA,IAAI,eAAe,EAAE;AAAA,EAAA;AAGvB,QAAA,iBAAiB,MAAM,IAAI,aAAa;AACxC,QAAA,WAAW,eAAe,SAAS;AAEzC,MAAI,CAAC,YAAa,QAAQ,KAAK,KAAK,CAAC,KAAK,MAAM,CAAC,OAAO,GAAG,KAAK,SAAS,KAAK,CAAC,CAAC,CAAC,GAAI;AACnF,UAAM,QAAQ,QAAQ;AACtB,mBAAe,SAAS,IAAI,EAAE,OAAO,MAAM,QAAQ,GAAG;AACzC,iBAAA,IAAI,eAAe,YAAY,CAAC;AACtC,WAAA;AAAA,EAAA;AAGI,eAAA,IAAI,eAAe,YAAY,CAAC;AAC7C,SAAO,SAAS;AAClB;AAEO,SAAS,OAAU,SAA4B;AACpD,MAAI,CAAC,cAAqB,OAAA,IAAI,MAAM,uCAAuC;AAE3E,QAAM,WAAW,aAAa,IAAI,aAAa,KAAK;AAEpD,MAAI,CAAC,KAAK,IAAI,aAAa,GAAG;AACvB,SAAA,IAAI,eAAe,EAAE;AAAA,EAAA;AAGtB,QAAA,gBAAgB,KAAK,IAAI,aAAa;AAExC,MAAA,YAAY,cAAc,QAAQ;AAC9BA,UAAAA,OAAM,EAAE,SAAS,QAAQ;AAC/B,kBAAc,KAAKA,IAAG;AACT,iBAAA,IAAI,eAAe,WAAW,CAAC;AACrCA,WAAAA;AAAAA,EAAA;AAGH,QAAA,MAAM,cAAc,QAAQ;AACrB,eAAA,IAAI,eAAe,WAAW,CAAC;AACrC,SAAA;AACT;AAEA,eAAe,SAAS,YAAmC;AACrD,MAAA;AAEI,UAAA,mBAAmB,QAAQ,IAAI,UAAU;AAC/C,QAAI,kBAAkB;AACpB,uBAAiB,QAAQ,CAAU,WAAA;AAC7B,YAAA,OAAO,QAAS,QAAO,QAAQ;AAAA,MAAA,CACpC;AACO,cAAA,IAAI,YAAY,EAAE;AAAA,IAAA;AAIxB,QAAA,wBAAwB,mBAAmB,gBAAgB;AACvD,YAAA,qBAAqB,gBAAgB,eAAe;AAAA,IAAA;AAAA,WAErD,OAAO;AACN,YAAA,MAAM,0BAA0B,KAAK;AAAA,EAAA;AAEjD;AAEO,SAAS,mBAA+C;AAC7D,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAuB,IAAI;AACrD,SAAO,CAAC,OAAO,MAAM,SAAS,IAAI,CAAC;AACrC;ACvKA,eAAsB,eAAe,SAA+B;AACjD,gBAAc,IAAI;AAE/B,MAAA;AACI,UAAA,OAAO,MAAM,mBAAmB,OAAO;AACtC,WAAA;AAAA,EAAA,UACP;AACa,iBAAA;AAAA,EAAA;AAEjB;AAEA,eAAe,mBAAmB,MAA4B;AAE5D,MAAI,QAAQ,QAAQ,OAAO,SAAS,WAAW;AACtC,WAAA;AAAA,EAAA;AAIT,MAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAAU;AACjD,WAAA,WAAW,OAAO,IAAI,CAAC;AAAA,EAAA;AAI5B,MAAA,MAAM,QAAQ,IAAI,GAAG;AACjB,UAAA,UAAU,MAAM,QAAQ,IAAI,KAAK,IAAI,CAAS,UAAA,mBAAmB,KAAK,CAAC,CAAC;AACvE,WAAA,QAAQ,KAAK,EAAE;AAAA,EAAA;AAIxB,MAAI,QAAQ,OAAO,SAAS,YAAY,UAAU,MAAM;AACtD,UAAM,EAAE,MAAM,QAAQ,CAAA,EAAO,IAAA;AAGzB,QAAA,OAAO,SAAS,YAAY;AAC1B,UAAA;AACI,cAAA,SAAS,MAAM,KAAK,KAAK;AACxB,eAAA,MAAM,mBAAmB,MAAM;AAAA,eAC/B,OAAW;AACV,gBAAA,MAAM,8BAA8B,KAAK;AAC1C,eAAA,mCAAmC,MAAM,OAAO;AAAA,MAAA;AAAA,IACzD;AAIE,QAAA,OAAO,SAAS,UAAU;AACrB,aAAA,MAAM,iBAAiB,MAAM,KAAK;AAAA,IAAA;AAAA,EAC3C;AAIE,MAAA,OAAO,SAAS,UAAU;AAC5B,WAAO,WAAW,KAAK,UAAU,IAAI,CAAC;AAAA,EAAA;AAGjC,SAAA,WAAW,OAAO,IAAI,CAAC;AAChC;AAEA,eAAe,iBAAiB,SAAiB,OAA6B;AAC5E,QAAM,EAAE,UAAU,GAAG,MAAA,IAAU;AAGzB,QAAA,mCAAmB,IAAI;AAAA,IAC3B;AAAA,IAAQ;AAAA,IAAQ;AAAA,IAAM;AAAA,IAAO;AAAA,IAAS;AAAA,IAAM;AAAA,IAAO;AAAA,IACnD;AAAA,IAAQ;AAAA,IAAQ;AAAA,IAAS;AAAA,IAAU;AAAA,IAAS;AAAA,EAAA,CAC7C;AAGK,QAAA,kBAAkB,OAAO,QAAQ,KAAK,EACzC,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM;AAEpB,QAAA,IAAI,WAAW,IAAI,KAAK,QAAQ,SAAS,QAAQ,MAAc,QAAA;AACnE,QAAI,SAAS,QAAQ,UAAU,MAAc,QAAA;AACtC,WAAA;AAAA,EACR,CAAA,EACA,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AAEjB,QAAA,QAAQ,YAAmB,OAAA;AAG3B,QAAA,UAAU,KAAa,QAAA;AAG3B,QAAI,QAAQ,WAAW,OAAO,UAAU,YAAY,UAAU,MAAM;AAC5D,YAAA,cAAc,OAAO,QAAQ,KAAK,EACrC,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,GAAG,UAAU,IAAI,CAAC,IAAI,GAAG,EAAE,EAChD,KAAK,GAAG;AACJ,aAAA,UAAU,WAAW,WAAW,CAAC;AAAA,IAAA;AAG1C,WAAO,GAAG,GAAG,KAAK,WAAW,OAAO,KAAK,CAAC,CAAC;AAAA,EAAA,CAC5C,EACA,KAAK,GAAG;AAEX,QAAM,UAAU,IAAI,OAAO,GAAG,kBAAkB,MAAM,kBAAkB,EAAE;AAGtE,MAAA,aAAa,IAAI,OAAO,GAAG;AAC7B,WAAO,QAAQ,MAAM,GAAG,EAAE,IAAI;AAAA,EAAA;AAI1B,QAAA,WAAW,KAAK,OAAO;AAE7B,MAAI,YAAY,MAAM;AACd,UAAA,iBAAiB,MAAM,mBAAmB,QAAQ;AACxD,WAAO,UAAU,iBAAiB;AAAA,EAAA;AAGpC,SAAO,UAAU;AACnB;AAEA,SAAS,WAAW,MAAsB;AACxC,QAAM,cAAsC;AAAA,IAC1C,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAEA,SAAO,KAAK,QAAQ,aAAa,CAAC,UAAU,YAAY,KAAK,CAAC;AAChE;AAEA,SAAS,UAAU,KAAqB;AAC/B,SAAA,IAAI,QAAQ,UAAU,CAAC,UAAU,IAAI,MAAM,YAAa,CAAA,EAAE;AACnE;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-renderer-B5b0Q0ck.cjs");exports.renderToString=e.renderToString;
2
- //# sourceMappingURL=server-renderer.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server-renderer.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"server-renderer.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}