@vigla/kit 0.0.0-stage → 0.1.0

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 (1099) hide show
  1. package/dist/build/analysis.d.ts +6 -0
  2. package/dist/build/analysis.d.ts.map +1 -0
  3. package/dist/build/analysis.js +113 -0
  4. package/dist/build/analysis.js.map +1 -0
  5. package/dist/build/builder.d.ts +5 -0
  6. package/dist/build/builder.d.ts.map +1 -0
  7. package/dist/build/builder.js +143 -0
  8. package/dist/build/builder.js.map +1 -0
  9. package/dist/build/crawl.d.ts +8 -0
  10. package/dist/build/crawl.d.ts.map +1 -0
  11. package/dist/build/crawl.js +111 -0
  12. package/dist/build/crawl.js.map +1 -0
  13. package/dist/build/features.d.ts +5 -0
  14. package/dist/build/features.d.ts.map +1 -0
  15. package/dist/build/features.js +49 -0
  16. package/dist/build/features.js.map +1 -0
  17. package/dist/build/files.d.ts +9 -0
  18. package/dist/build/files.d.ts.map +1 -0
  19. package/dist/build/files.js +88 -0
  20. package/dist/build/files.js.map +1 -0
  21. package/dist/build/index.d.ts +7 -0
  22. package/dist/build/index.d.ts.map +1 -0
  23. package/dist/build/index.js +6 -0
  24. package/dist/build/index.js.map +1 -0
  25. package/dist/build/instrument.d.ts +5 -0
  26. package/dist/build/instrument.d.ts.map +1 -0
  27. package/dist/build/instrument.js +45 -0
  28. package/dist/build/instrument.js.map +1 -0
  29. package/dist/build/jobs.d.ts +77 -0
  30. package/dist/build/jobs.d.ts.map +1 -0
  31. package/dist/build/jobs.js +1 -0
  32. package/dist/build/jobs.js.map +1 -0
  33. package/dist/build/manifest.d.ts +6 -0
  34. package/dist/build/manifest.d.ts.map +1 -0
  35. package/dist/build/manifest.js +111 -0
  36. package/dist/build/manifest.js.map +1 -0
  37. package/dist/build/messages.d.ts +61 -0
  38. package/dist/build/messages.d.ts.map +1 -0
  39. package/dist/build/messages.js +77 -0
  40. package/dist/build/messages.js.map +1 -0
  41. package/dist/build/prerender.d.ts +6 -0
  42. package/dist/build/prerender.d.ts.map +1 -0
  43. package/dist/build/prerender.js +329 -0
  44. package/dist/build/prerender.js.map +1 -0
  45. package/dist/build/queue.d.ts +8 -0
  46. package/dist/build/queue.d.ts.map +1 -0
  47. package/dist/build/queue.js +52 -0
  48. package/dist/build/queue.js.map +1 -0
  49. package/dist/build/runtime.d.ts +16 -0
  50. package/dist/build/runtime.d.ts.map +1 -0
  51. package/dist/build/runtime.js +49 -0
  52. package/dist/build/runtime.js.map +1 -0
  53. package/dist/build/types.d.ts +81 -0
  54. package/dist/build/types.d.ts.map +1 -0
  55. package/dist/build/types.js +1 -0
  56. package/dist/build/types.js.map +1 -0
  57. package/dist/build/worker-entry.d.ts +2 -0
  58. package/dist/build/worker-entry.d.ts.map +1 -0
  59. package/dist/build/worker-entry.js +45 -0
  60. package/dist/build/worker-entry.js.map +1 -0
  61. package/dist/build/worker.d.ts +6 -0
  62. package/dist/build/worker.d.ts.map +1 -0
  63. package/dist/build/worker.js +119 -0
  64. package/dist/build/worker.js.map +1 -0
  65. package/dist/client/actions.d.ts +13 -0
  66. package/dist/client/actions.d.ts.map +1 -0
  67. package/dist/client/actions.js +61 -0
  68. package/dist/client/actions.js.map +1 -0
  69. package/dist/client/chunks.d.ts +10 -0
  70. package/dist/client/chunks.d.ts.map +1 -0
  71. package/dist/client/chunks.js +65 -0
  72. package/dist/client/chunks.js.map +1 -0
  73. package/dist/client/client.d.ts +70 -0
  74. package/dist/client/client.d.ts.map +1 -0
  75. package/dist/client/client.js +579 -0
  76. package/dist/client/client.js.map +1 -0
  77. package/dist/client/data.d.ts +6 -0
  78. package/dist/client/data.d.ts.map +1 -0
  79. package/dist/client/data.js +125 -0
  80. package/dist/client/data.js.map +1 -0
  81. package/dist/client/entry.d.ts +4 -0
  82. package/dist/client/entry.d.ts.map +1 -0
  83. package/dist/client/entry.js +4 -0
  84. package/dist/client/entry.js.map +1 -0
  85. package/dist/client/errors.d.ts +40 -0
  86. package/dist/client/errors.d.ts.map +1 -0
  87. package/dist/client/errors.js +88 -0
  88. package/dist/client/errors.js.map +1 -0
  89. package/dist/client/fetch.d.ts +8 -0
  90. package/dist/client/fetch.d.ts.map +1 -0
  91. package/dist/client/fetch.js +108 -0
  92. package/dist/client/fetch.js.map +1 -0
  93. package/dist/client/forms.d.ts +5 -0
  94. package/dist/client/forms.d.ts.map +1 -0
  95. package/dist/client/forms.js +140 -0
  96. package/dist/client/forms.js.map +1 -0
  97. package/dist/client/history.d.ts +33 -0
  98. package/dist/client/history.d.ts.map +1 -0
  99. package/dist/client/history.js +100 -0
  100. package/dist/client/history.js.map +1 -0
  101. package/dist/client/lifecycle.d.ts +11 -0
  102. package/dist/client/lifecycle.d.ts.map +1 -0
  103. package/dist/client/lifecycle.js +54 -0
  104. package/dist/client/lifecycle.js.map +1 -0
  105. package/dist/client/links.d.ts +8 -0
  106. package/dist/client/links.d.ts.map +1 -0
  107. package/dist/client/links.js +344 -0
  108. package/dist/client/links.js.map +1 -0
  109. package/dist/client/load.d.ts +54 -0
  110. package/dist/client/load.d.ts.map +1 -0
  111. package/dist/client/load.js +375 -0
  112. package/dist/client/load.js.map +1 -0
  113. package/dist/client/navigation.d.ts +15 -0
  114. package/dist/client/navigation.d.ts.map +1 -0
  115. package/dist/client/navigation.js +62 -0
  116. package/dist/client/navigation.js.map +1 -0
  117. package/dist/client/origin.d.ts +2 -0
  118. package/dist/client/origin.d.ts.map +1 -0
  119. package/dist/client/origin.js +4 -0
  120. package/dist/client/origin.js.map +1 -0
  121. package/dist/client/paths.d.ts +9 -0
  122. package/dist/client/paths.d.ts.map +1 -0
  123. package/dist/client/paths.js +22 -0
  124. package/dist/client/paths.js.map +1 -0
  125. package/dist/client/payload.d.ts +12 -0
  126. package/dist/client/payload.d.ts.map +1 -0
  127. package/dist/client/payload.js +29 -0
  128. package/dist/client/payload.js.map +1 -0
  129. package/dist/client/remote/cache.d.ts +38 -0
  130. package/dist/client/remote/cache.d.ts.map +1 -0
  131. package/dist/client/remote/cache.js +368 -0
  132. package/dist/client/remote/cache.js.map +1 -0
  133. package/dist/client/remote/channel.d.ts +17 -0
  134. package/dist/client/remote/channel.d.ts.map +1 -0
  135. package/dist/client/remote/channel.js +124 -0
  136. package/dist/client/remote/channel.js.map +1 -0
  137. package/dist/client/remote/command.d.ts +10 -0
  138. package/dist/client/remote/command.d.ts.map +1 -0
  139. package/dist/client/remote/command.js +52 -0
  140. package/dist/client/remote/command.js.map +1 -0
  141. package/dist/client/remote/form-element.d.ts +5 -0
  142. package/dist/client/remote/form-element.d.ts.map +1 -0
  143. package/dist/client/remote/form-element.js +106 -0
  144. package/dist/client/remote/form-element.js.map +1 -0
  145. package/dist/client/remote/form.d.ts +38 -0
  146. package/dist/client/remote/form.d.ts.map +1 -0
  147. package/dist/client/remote/form.js +396 -0
  148. package/dist/client/remote/form.js.map +1 -0
  149. package/dist/client/remote/live.d.ts +19 -0
  150. package/dist/client/remote/live.d.ts.map +1 -0
  151. package/dist/client/remote/live.js +352 -0
  152. package/dist/client/remote/live.js.map +1 -0
  153. package/dist/client/remote/query.d.ts +28 -0
  154. package/dist/client/remote/query.d.ts.map +1 -0
  155. package/dist/client/remote/query.js +183 -0
  156. package/dist/client/remote/query.js.map +1 -0
  157. package/dist/client/remote/result.d.ts +25 -0
  158. package/dist/client/remote/result.d.ts.map +1 -0
  159. package/dist/client/remote/result.js +103 -0
  160. package/dist/client/remote/result.js.map +1 -0
  161. package/dist/client/remote/updates.d.ts +11 -0
  162. package/dist/client/remote/updates.d.ts.map +1 -0
  163. package/dist/client/remote/updates.js +79 -0
  164. package/dist/client/remote/updates.js.map +1 -0
  165. package/dist/client/restore.d.ts +20 -0
  166. package/dist/client/restore.d.ts.map +1 -0
  167. package/dist/client/restore.js +171 -0
  168. package/dist/client/restore.js.map +1 -0
  169. package/dist/client/routes.d.ts +28 -0
  170. package/dist/client/routes.d.ts.map +1 -0
  171. package/dist/client/routes.js +184 -0
  172. package/dist/client/routes.js.map +1 -0
  173. package/dist/client/state.d.ts +21 -0
  174. package/dist/client/state.d.ts.map +1 -0
  175. package/dist/client/state.js +172 -0
  176. package/dist/client/state.js.map +1 -0
  177. package/dist/client/stream.d.ts +5 -0
  178. package/dist/client/stream.d.ts.map +1 -0
  179. package/dist/client/stream.js +66 -0
  180. package/dist/client/stream.js.map +1 -0
  181. package/dist/client/transport.d.ts +10 -0
  182. package/dist/client/transport.d.ts.map +1 -0
  183. package/dist/client/transport.js +19 -0
  184. package/dist/client/transport.js.map +1 -0
  185. package/dist/client/view.d.ts +17 -0
  186. package/dist/client/view.d.ts.map +1 -0
  187. package/dist/client/view.js +153 -0
  188. package/dist/client/view.js.map +1 -0
  189. package/dist/client/warnings.d.ts +29 -0
  190. package/dist/client/warnings.d.ts.map +1 -0
  191. package/dist/client/warnings.js +30 -0
  192. package/dist/client/warnings.js.map +1 -0
  193. package/dist/components/fallbacks.d.ts +4 -0
  194. package/dist/components/fallbacks.d.ts.map +1 -0
  195. package/dist/components/fallbacks.js +16 -0
  196. package/dist/components/fallbacks.js.map +1 -0
  197. package/dist/components/index.d.ts +15 -0
  198. package/dist/components/index.d.ts.map +1 -0
  199. package/dist/components/index.js +20 -0
  200. package/dist/components/index.js.map +1 -0
  201. package/dist/components/root.d.ts +3 -0
  202. package/dist/components/root.d.ts.map +1 -0
  203. package/dist/components/root.js +38 -0
  204. package/dist/components/root.js.map +1 -0
  205. package/dist/components/source.d.ts +26 -0
  206. package/dist/components/source.d.ts.map +1 -0
  207. package/dist/components/source.js +152 -0
  208. package/dist/components/source.js.map +1 -0
  209. package/dist/config/errors.d.ts +68 -0
  210. package/dist/config/errors.d.ts.map +1 -0
  211. package/dist/config/errors.js +97 -0
  212. package/dist/config/errors.js.map +1 -0
  213. package/dist/config/file.d.ts +13 -0
  214. package/dist/config/file.d.ts.map +1 -0
  215. package/dist/config/file.js +52 -0
  216. package/dist/config/file.js.map +1 -0
  217. package/dist/config/index.d.ts +13 -0
  218. package/dist/config/index.d.ts.map +1 -0
  219. package/dist/config/index.js +113 -0
  220. package/dist/config/index.js.map +1 -0
  221. package/dist/config/schema.d.ts +11 -0
  222. package/dist/config/schema.d.ts.map +1 -0
  223. package/dist/config/schema.js +245 -0
  224. package/dist/config/schema.js.map +1 -0
  225. package/dist/entries/adapter.d.ts +2 -0
  226. package/dist/entries/adapter.d.ts.map +1 -0
  227. package/dist/entries/adapter.js +4 -0
  228. package/dist/entries/adapter.js.map +1 -0
  229. package/dist/entries/app/env/client.d.ts +5 -0
  230. package/dist/entries/app/env/client.d.ts.map +1 -0
  231. package/dist/entries/app/env/client.js +5 -0
  232. package/dist/entries/app/env/client.js.map +1 -0
  233. package/dist/entries/app/env/private/server.d.ts +2 -0
  234. package/dist/entries/app/env/private/server.d.ts.map +1 -0
  235. package/dist/entries/app/env/private/server.js +2 -0
  236. package/dist/entries/app/env/private/server.js.map +1 -0
  237. package/dist/entries/app/env/public/server.d.ts +2 -0
  238. package/dist/entries/app/env/public/server.d.ts.map +1 -0
  239. package/dist/entries/app/env/public/server.js +2 -0
  240. package/dist/entries/app/env/public/server.js.map +1 -0
  241. package/dist/entries/app/env/server.d.ts +4 -0
  242. package/dist/entries/app/env/server.d.ts.map +1 -0
  243. package/dist/entries/app/env/server.js +4 -0
  244. package/dist/entries/app/env/server.js.map +1 -0
  245. package/dist/entries/app/forms/client.d.ts +3 -0
  246. package/dist/entries/app/forms/client.d.ts.map +1 -0
  247. package/dist/entries/app/forms/client.js +2 -0
  248. package/dist/entries/app/forms/client.js.map +1 -0
  249. package/dist/entries/app/forms/server.d.ts +5 -0
  250. package/dist/entries/app/forms/server.d.ts.map +1 -0
  251. package/dist/entries/app/forms/server.js +17 -0
  252. package/dist/entries/app/forms/server.js.map +1 -0
  253. package/dist/entries/app/navigation/client.d.ts +3 -0
  254. package/dist/entries/app/navigation/client.d.ts.map +1 -0
  255. package/dist/entries/app/navigation/client.js +2 -0
  256. package/dist/entries/app/navigation/client.js.map +1 -0
  257. package/dist/entries/app/navigation/server.d.ts +13 -0
  258. package/dist/entries/app/navigation/server.d.ts.map +1 -0
  259. package/dist/entries/app/navigation/server.js +27 -0
  260. package/dist/entries/app/navigation/server.js.map +1 -0
  261. package/dist/entries/app/paths/client.d.ts +2 -0
  262. package/dist/entries/app/paths/client.d.ts.map +1 -0
  263. package/dist/entries/app/paths/client.js +2 -0
  264. package/dist/entries/app/paths/client.js.map +1 -0
  265. package/dist/entries/app/paths/server.d.ts +2 -0
  266. package/dist/entries/app/paths/server.d.ts.map +1 -0
  267. package/dist/entries/app/paths/server.js +2 -0
  268. package/dist/entries/app/paths/server.js.map +1 -0
  269. package/dist/entries/app/server/server.d.ts +10 -0
  270. package/dist/entries/app/server/server.d.ts.map +1 -0
  271. package/dist/entries/app/server/server.js +8 -0
  272. package/dist/entries/app/server/server.js.map +1 -0
  273. package/dist/entries/app/service-worker/client.d.ts +2 -0
  274. package/dist/entries/app/service-worker/client.d.ts.map +1 -0
  275. package/dist/entries/app/service-worker/client.js +7 -0
  276. package/dist/entries/app/service-worker/client.js.map +1 -0
  277. package/dist/entries/app/state/client.d.ts +3 -0
  278. package/dist/entries/app/state/client.d.ts.map +1 -0
  279. package/dist/entries/app/state/client.js +2 -0
  280. package/dist/entries/app/state/client.js.map +1 -0
  281. package/dist/entries/app/state/server.d.ts +2 -0
  282. package/dist/entries/app/state/server.d.ts.map +1 -0
  283. package/dist/entries/app/state/server.js +2 -0
  284. package/dist/entries/app/state/server.js.map +1 -0
  285. package/dist/entries/define-params.d.ts +5 -0
  286. package/dist/entries/define-params.d.ts.map +1 -0
  287. package/dist/entries/define-params.js +30 -0
  288. package/dist/entries/define-params.js.map +1 -0
  289. package/dist/entries/env/dynamic/private/server.d.ts +2 -0
  290. package/dist/entries/env/dynamic/private/server.d.ts.map +1 -0
  291. package/dist/entries/env/dynamic/private/server.js +2 -0
  292. package/dist/entries/env/dynamic/private/server.js.map +1 -0
  293. package/dist/entries/env/dynamic/public/client.d.ts +2 -0
  294. package/dist/entries/env/dynamic/public/client.d.ts.map +1 -0
  295. package/dist/entries/env/dynamic/public/client.js +2 -0
  296. package/dist/entries/env/dynamic/public/client.js.map +1 -0
  297. package/dist/entries/env/dynamic/public/server.d.ts +2 -0
  298. package/dist/entries/env/dynamic/public/server.d.ts.map +1 -0
  299. package/dist/entries/env/dynamic/public/server.js +2 -0
  300. package/dist/entries/env/dynamic/public/server.js.map +1 -0
  301. package/dist/entries/env.d.ts +4 -0
  302. package/dist/entries/env.d.ts.map +1 -0
  303. package/dist/entries/env.js +31 -0
  304. package/dist/entries/env.js.map +1 -0
  305. package/dist/entries/hooks.d.ts +3 -0
  306. package/dist/entries/hooks.d.ts.map +1 -0
  307. package/dist/entries/hooks.js +4 -0
  308. package/dist/entries/hooks.js.map +1 -0
  309. package/dist/entries/index.d.ts +21 -0
  310. package/dist/entries/index.d.ts.map +1 -0
  311. package/dist/entries/index.js +45 -0
  312. package/dist/entries/index.js.map +1 -0
  313. package/dist/entries/internal/client.d.ts +7 -0
  314. package/dist/entries/internal/client.d.ts.map +1 -0
  315. package/dist/entries/internal/client.js +6 -0
  316. package/dist/entries/internal/client.js.map +1 -0
  317. package/dist/entries/internal/env.d.ts +2 -0
  318. package/dist/entries/internal/env.d.ts.map +1 -0
  319. package/dist/entries/internal/env.js +2 -0
  320. package/dist/entries/internal/env.js.map +1 -0
  321. package/dist/entries/internal/identity.d.ts +4 -0
  322. package/dist/entries/internal/identity.d.ts.map +1 -0
  323. package/dist/entries/internal/identity.js +4 -0
  324. package/dist/entries/internal/identity.js.map +1 -0
  325. package/dist/entries/internal/payload.d.ts +2 -0
  326. package/dist/entries/internal/payload.d.ts.map +1 -0
  327. package/dist/entries/internal/payload.js +2 -0
  328. package/dist/entries/internal/payload.js.map +1 -0
  329. package/dist/entries/internal/restore.d.ts +4 -0
  330. package/dist/entries/internal/restore.d.ts.map +1 -0
  331. package/dist/entries/internal/restore.js +2 -0
  332. package/dist/entries/internal/restore.js.map +1 -0
  333. package/dist/entries/internal/sequence.d.ts +2 -0
  334. package/dist/entries/internal/sequence.d.ts.map +1 -0
  335. package/dist/entries/internal/sequence.js +2 -0
  336. package/dist/entries/internal/sequence.js.map +1 -0
  337. package/dist/entries/internal/server.d.ts +4 -0
  338. package/dist/entries/internal/server.d.ts.map +1 -0
  339. package/dist/entries/internal/server.js +3 -0
  340. package/dist/entries/internal/server.js.map +1 -0
  341. package/dist/entries/internal/shallow/client.d.ts +2 -0
  342. package/dist/entries/internal/shallow/client.d.ts.map +1 -0
  343. package/dist/entries/internal/shallow/client.js +2 -0
  344. package/dist/entries/internal/shallow/client.js.map +1 -0
  345. package/dist/entries/internal/shallow/server.d.ts +3 -0
  346. package/dist/entries/internal/shallow/server.d.ts.map +1 -0
  347. package/dist/entries/internal/shallow/server.js +5 -0
  348. package/dist/entries/internal/shallow/server.js.map +1 -0
  349. package/dist/entries/outcomes.d.ts +9 -0
  350. package/dist/entries/outcomes.d.ts.map +1 -0
  351. package/dist/entries/outcomes.js +23 -0
  352. package/dist/entries/outcomes.js.map +1 -0
  353. package/dist/entries/params.d.ts +3 -0
  354. package/dist/entries/params.d.ts.map +1 -0
  355. package/dist/entries/params.js +4 -0
  356. package/dist/entries/params.js.map +1 -0
  357. package/dist/entries/reroute.d.ts +6 -0
  358. package/dist/entries/reroute.d.ts.map +1 -0
  359. package/dist/entries/reroute.js +8 -0
  360. package/dist/entries/reroute.js.map +1 -0
  361. package/dist/entries/sequence.d.ts +5 -0
  362. package/dist/entries/sequence.d.ts.map +1 -0
  363. package/dist/entries/sequence.js +43 -0
  364. package/dist/entries/sequence.js.map +1 -0
  365. package/dist/node/index.d.ts +4 -0
  366. package/dist/node/index.d.ts.map +1 -0
  367. package/dist/node/index.js +8 -0
  368. package/dist/node/index.js.map +1 -0
  369. package/dist/node/request.d.ts +5 -0
  370. package/dist/node/request.d.ts.map +1 -0
  371. package/dist/node/request.js +106 -0
  372. package/dist/node/request.js.map +1 -0
  373. package/dist/node/response.d.ts +3 -0
  374. package/dist/node/response.d.ts.map +1 -0
  375. package/dist/node/response.js +107 -0
  376. package/dist/node/response.js.map +1 -0
  377. package/dist/node/static.d.ts +18 -0
  378. package/dist/node/static.d.ts.map +1 -0
  379. package/dist/node/static.js +120 -0
  380. package/dist/node/static.js.map +1 -0
  381. package/dist/server/actions.d.ts +22 -0
  382. package/dist/server/actions.d.ts.map +1 -0
  383. package/dist/server/actions.js +118 -0
  384. package/dist/server/actions.js.map +1 -0
  385. package/dist/server/cookies.d.ts +14 -0
  386. package/dist/server/cookies.d.ts.map +1 -0
  387. package/dist/server/cookies.js +167 -0
  388. package/dist/server/cookies.js.map +1 -0
  389. package/dist/server/csp.d.ts +16 -0
  390. package/dist/server/csp.d.ts.map +1 -0
  391. package/dist/server/csp.js +148 -0
  392. package/dist/server/csp.js.map +1 -0
  393. package/dist/server/csrf.d.ts +3 -0
  394. package/dist/server/csrf.d.ts.map +1 -0
  395. package/dist/server/csrf.js +24 -0
  396. package/dist/server/csrf.js.map +1 -0
  397. package/dist/server/data.d.ts +18 -0
  398. package/dist/server/data.d.ts.map +1 -0
  399. package/dist/server/data.js +200 -0
  400. package/dist/server/data.js.map +1 -0
  401. package/dist/server/document.d.ts +14 -0
  402. package/dist/server/document.d.ts.map +1 -0
  403. package/dist/server/document.js +284 -0
  404. package/dist/server/document.js.map +1 -0
  405. package/dist/server/endpoint.d.ts +5 -0
  406. package/dist/server/endpoint.d.ts.map +1 -0
  407. package/dist/server/endpoint.js +69 -0
  408. package/dist/server/endpoint.js.map +1 -0
  409. package/dist/server/environment.d.ts +8 -0
  410. package/dist/server/environment.d.ts.map +1 -0
  411. package/dist/server/environment.js +31 -0
  412. package/dist/server/environment.js.map +1 -0
  413. package/dist/server/errors.d.ts +85 -0
  414. package/dist/server/errors.d.ts.map +1 -0
  415. package/dist/server/errors.js +138 -0
  416. package/dist/server/errors.js.map +1 -0
  417. package/dist/server/failure.d.ts +4 -0
  418. package/dist/server/failure.d.ts.map +1 -0
  419. package/dist/server/failure.js +49 -0
  420. package/dist/server/failure.js.map +1 -0
  421. package/dist/server/fetch-guard.d.ts +4 -0
  422. package/dist/server/fetch-guard.d.ts.map +1 -0
  423. package/dist/server/fetch-guard.js +54 -0
  424. package/dist/server/fetch-guard.js.map +1 -0
  425. package/dist/server/fetch.d.ts +5 -0
  426. package/dist/server/fetch.d.ts.map +1 -0
  427. package/dist/server/fetch.js +104 -0
  428. package/dist/server/fetch.js.map +1 -0
  429. package/dist/server/headers.d.ts +11 -0
  430. package/dist/server/headers.d.ts.map +1 -0
  431. package/dist/server/headers.js +80 -0
  432. package/dist/server/headers.js.map +1 -0
  433. package/dist/server/hooks.d.ts +4 -0
  434. package/dist/server/hooks.d.ts.map +1 -0
  435. package/dist/server/hooks.js +4 -0
  436. package/dist/server/hooks.js.map +1 -0
  437. package/dist/server/index.d.ts +22 -0
  438. package/dist/server/index.d.ts.map +1 -0
  439. package/dist/server/index.js +70 -0
  440. package/dist/server/index.js.map +1 -0
  441. package/dist/server/load.d.ts +14 -0
  442. package/dist/server/load.d.ts.map +1 -0
  443. package/dist/server/load.js +185 -0
  444. package/dist/server/load.js.map +1 -0
  445. package/dist/server/origin.d.ts +2 -0
  446. package/dist/server/origin.d.ts.map +1 -0
  447. package/dist/server/origin.js +6 -0
  448. package/dist/server/origin.js.map +1 -0
  449. package/dist/server/page.d.ts +15 -0
  450. package/dist/server/page.d.ts.map +1 -0
  451. package/dist/server/page.js +181 -0
  452. package/dist/server/page.js.map +1 -0
  453. package/dist/server/paths.d.ts +18 -0
  454. package/dist/server/paths.d.ts.map +1 -0
  455. package/dist/server/paths.js +74 -0
  456. package/dist/server/paths.js.map +1 -0
  457. package/dist/server/read.d.ts +4 -0
  458. package/dist/server/read.d.ts.map +1 -0
  459. package/dist/server/read.js +75 -0
  460. package/dist/server/read.js.map +1 -0
  461. package/dist/server/remote/collect.d.ts +4 -0
  462. package/dist/server/remote/collect.d.ts.map +1 -0
  463. package/dist/server/remote/collect.js +69 -0
  464. package/dist/server/remote/collect.js.map +1 -0
  465. package/dist/server/remote/command.d.ts +3 -0
  466. package/dist/server/remote/command.d.ts.map +1 -0
  467. package/dist/server/remote/command.js +30 -0
  468. package/dist/server/remote/command.js.map +1 -0
  469. package/dist/server/remote/errors.d.ts +20 -0
  470. package/dist/server/remote/errors.d.ts.map +1 -0
  471. package/dist/server/remote/errors.js +59 -0
  472. package/dist/server/remote/errors.js.map +1 -0
  473. package/dist/server/remote/form.d.ts +3 -0
  474. package/dist/server/remote/form.d.ts.map +1 -0
  475. package/dist/server/remote/form.js +141 -0
  476. package/dist/server/remote/form.js.map +1 -0
  477. package/dist/server/remote/handler.d.ts +6 -0
  478. package/dist/server/remote/handler.d.ts.map +1 -0
  479. package/dist/server/remote/handler.js +168 -0
  480. package/dist/server/remote/handler.js.map +1 -0
  481. package/dist/server/remote/iteration.d.ts +8 -0
  482. package/dist/server/remote/iteration.d.ts.map +1 -0
  483. package/dist/server/remote/iteration.js +100 -0
  484. package/dist/server/remote/iteration.js.map +1 -0
  485. package/dist/server/remote/prerender.d.ts +3 -0
  486. package/dist/server/remote/prerender.d.ts.map +1 -0
  487. package/dist/server/remote/prerender.js +66 -0
  488. package/dist/server/remote/prerender.js.map +1 -0
  489. package/dist/server/remote/query.d.ts +3 -0
  490. package/dist/server/remote/query.d.ts.map +1 -0
  491. package/dist/server/remote/query.js +144 -0
  492. package/dist/server/remote/query.js.map +1 -0
  493. package/dist/server/remote/requested.d.ts +3 -0
  494. package/dist/server/remote/requested.d.ts.map +1 -0
  495. package/dist/server/remote/requested.js +96 -0
  496. package/dist/server/remote/requested.js.map +1 -0
  497. package/dist/server/remote/resource.d.ts +10 -0
  498. package/dist/server/remote/resource.d.ts.map +1 -0
  499. package/dist/server/remote/resource.js +115 -0
  500. package/dist/server/remote/resource.js.map +1 -0
  501. package/dist/server/remote/shared.d.ts +14 -0
  502. package/dist/server/remote/shared.d.ts.map +1 -0
  503. package/dist/server/remote/shared.js +92 -0
  504. package/dist/server/remote/shared.js.map +1 -0
  505. package/dist/server/remote/stream.d.ts +4 -0
  506. package/dist/server/remote/stream.d.ts.map +1 -0
  507. package/dist/server/remote/stream.js +86 -0
  508. package/dist/server/remote/stream.js.map +1 -0
  509. package/dist/server/replay.d.ts +4 -0
  510. package/dist/server/replay.d.ts.map +1 -0
  511. package/dist/server/replay.js +166 -0
  512. package/dist/server/replay.js.map +1 -0
  513. package/dist/server/respond.d.ts +4 -0
  514. package/dist/server/respond.d.ts.map +1 -0
  515. package/dist/server/respond.js +427 -0
  516. package/dist/server/respond.js.map +1 -0
  517. package/dist/server/routing.d.ts +5 -0
  518. package/dist/server/routing.d.ts.map +1 -0
  519. package/dist/server/routing.js +47 -0
  520. package/dist/server/routing.js.map +1 -0
  521. package/dist/server/scope.d.ts +22 -0
  522. package/dist/server/scope.d.ts.map +1 -0
  523. package/dist/server/scope.js +140 -0
  524. package/dist/server/scope.js.map +1 -0
  525. package/dist/server/state.d.ts +15 -0
  526. package/dist/server/state.d.ts.map +1 -0
  527. package/dist/server/state.js +49 -0
  528. package/dist/server/state.js.map +1 -0
  529. package/dist/server/stream.d.ts +9 -0
  530. package/dist/server/stream.d.ts.map +1 -0
  531. package/dist/server/stream.js +87 -0
  532. package/dist/server/stream.js.map +1 -0
  533. package/dist/server/telemetry.d.ts +11 -0
  534. package/dist/server/telemetry.d.ts.map +1 -0
  535. package/dist/server/telemetry.js +106 -0
  536. package/dist/server/telemetry.js.map +1 -0
  537. package/dist/server/transport.d.ts +4 -0
  538. package/dist/server/transport.d.ts.map +1 -0
  539. package/dist/server/transport.js +13 -0
  540. package/dist/server/transport.js.map +1 -0
  541. package/dist/server/url.d.ts +3 -0
  542. package/dist/server/url.d.ts.map +1 -0
  543. package/dist/server/url.js +34 -0
  544. package/dist/server/url.js.map +1 -0
  545. package/dist/server/warnings.d.ts +28 -0
  546. package/dist/server/warnings.d.ts.map +1 -0
  547. package/dist/server/warnings.js +33 -0
  548. package/dist/server/warnings.js.map +1 -0
  549. package/dist/shared/diagnostics.d.ts +22 -0
  550. package/dist/shared/diagnostics.d.ts.map +1 -0
  551. package/dist/shared/diagnostics.js +42 -0
  552. package/dist/shared/diagnostics.js.map +1 -0
  553. package/dist/shared/env.d.ts +11 -0
  554. package/dist/shared/env.d.ts.map +1 -0
  555. package/dist/shared/env.js +50 -0
  556. package/dist/shared/env.js.map +1 -0
  557. package/dist/shared/errors.d.ts +67 -0
  558. package/dist/shared/errors.d.ts.map +1 -0
  559. package/dist/shared/errors.js +143 -0
  560. package/dist/shared/errors.js.map +1 -0
  561. package/dist/shared/escape.d.ts +8 -0
  562. package/dist/shared/escape.d.ts.map +1 -0
  563. package/dist/shared/escape.js +21 -0
  564. package/dist/shared/escape.js.map +1 -0
  565. package/dist/shared/form-data.d.ts +14 -0
  566. package/dist/shared/form-data.d.ts.map +1 -0
  567. package/dist/shared/form-data.js +216 -0
  568. package/dist/shared/form-data.js.map +1 -0
  569. package/dist/shared/form-fields.d.ts +30 -0
  570. package/dist/shared/form-fields.d.ts.map +1 -0
  571. package/dist/shared/form-fields.js +311 -0
  572. package/dist/shared/form-fields.js.map +1 -0
  573. package/dist/shared/hash.d.ts +6 -0
  574. package/dist/shared/hash.d.ts.map +1 -0
  575. package/dist/shared/hash.js +35 -0
  576. package/dist/shared/hash.js.map +1 -0
  577. package/dist/shared/http.d.ts +6 -0
  578. package/dist/shared/http.d.ts.map +1 -0
  579. package/dist/shared/http.js +54 -0
  580. package/dist/shared/http.js.map +1 -0
  581. package/dist/shared/identity.d.ts +4 -0
  582. package/dist/shared/identity.d.ts.map +1 -0
  583. package/dist/shared/identity.js +12 -0
  584. package/dist/shared/identity.js.map +1 -0
  585. package/dist/shared/mime.d.ts +2 -0
  586. package/dist/shared/mime.d.ts.map +1 -0
  587. package/dist/shared/mime.js +6 -0
  588. package/dist/shared/mime.js.map +1 -0
  589. package/dist/shared/outcomes.d.ts +32 -0
  590. package/dist/shared/outcomes.d.ts.map +1 -0
  591. package/dist/shared/outcomes.js +53 -0
  592. package/dist/shared/outcomes.js.map +1 -0
  593. package/dist/shared/pathname.d.ts +9 -0
  594. package/dist/shared/pathname.d.ts.map +1 -0
  595. package/dist/shared/pathname.js +56 -0
  596. package/dist/shared/pathname.js.map +1 -0
  597. package/dist/shared/redirect.d.ts +5 -0
  598. package/dist/shared/redirect.d.ts.map +1 -0
  599. package/dist/shared/redirect.js +39 -0
  600. package/dist/shared/redirect.js.map +1 -0
  601. package/dist/shared/remote.d.ts +11 -0
  602. package/dist/shared/remote.d.ts.map +1 -0
  603. package/dist/shared/remote.js +144 -0
  604. package/dist/shared/remote.js.map +1 -0
  605. package/dist/shared/render.d.ts +2 -0
  606. package/dist/shared/render.d.ts.map +1 -0
  607. package/dist/shared/render.js +13 -0
  608. package/dist/shared/render.js.map +1 -0
  609. package/dist/shared/routing/index.d.ts +5 -0
  610. package/dist/shared/routing/index.d.ts.map +1 -0
  611. package/dist/shared/routing/index.js +4 -0
  612. package/dist/shared/routing/index.js.map +1 -0
  613. package/dist/shared/routing/match.d.ts +9 -0
  614. package/dist/shared/routing/match.d.ts.map +1 -0
  615. package/dist/shared/routing/match.js +63 -0
  616. package/dist/shared/routing/match.js.map +1 -0
  617. package/dist/shared/routing/pattern.d.ts +14 -0
  618. package/dist/shared/routing/pattern.d.ts.map +1 -0
  619. package/dist/shared/routing/pattern.js +119 -0
  620. package/dist/shared/routing/pattern.js.map +1 -0
  621. package/dist/shared/routing/sort.d.ts +6 -0
  622. package/dist/shared/routing/sort.d.ts.map +1 -0
  623. package/dist/shared/routing/sort.js +74 -0
  624. package/dist/shared/routing/sort.js.map +1 -0
  625. package/dist/shared/serialization.d.ts +8 -0
  626. package/dist/shared/serialization.d.ts.map +1 -0
  627. package/dist/shared/serialization.js +14 -0
  628. package/dist/shared/serialization.js.map +1 -0
  629. package/dist/shared/url.d.ts +10 -0
  630. package/dist/shared/url.d.ts.map +1 -0
  631. package/dist/shared/url.js +74 -0
  632. package/dist/shared/url.js.map +1 -0
  633. package/dist/shared/warnings.d.ts +9 -0
  634. package/dist/shared/warnings.d.ts.map +1 -0
  635. package/dist/shared/warnings.js +15 -0
  636. package/dist/shared/warnings.js.map +1 -0
  637. package/dist/sync/app-types.d.ts +7 -0
  638. package/dist/sync/app-types.d.ts.map +1 -0
  639. package/dist/sync/app-types.js +129 -0
  640. package/dist/sync/app-types.js.map +1 -0
  641. package/dist/sync/bin.d.ts +3 -0
  642. package/dist/sync/bin.d.ts.map +1 -0
  643. package/dist/sync/bin.js +7 -0
  644. package/dist/sync/bin.js.map +1 -0
  645. package/dist/sync/cli.d.ts +3 -0
  646. package/dist/sync/cli.d.ts.map +1 -0
  647. package/dist/sync/cli.js +94 -0
  648. package/dist/sync/cli.js.map +1 -0
  649. package/dist/sync/discover.d.ts +5 -0
  650. package/dist/sync/discover.d.ts.map +1 -0
  651. package/dist/sync/discover.js +236 -0
  652. package/dist/sync/discover.js.map +1 -0
  653. package/dist/sync/env.d.ts +15 -0
  654. package/dist/sync/env.d.ts.map +1 -0
  655. package/dist/sync/env.js +81 -0
  656. package/dist/sync/env.js.map +1 -0
  657. package/dist/sync/errors.d.ts +66 -0
  658. package/dist/sync/errors.d.ts.map +1 -0
  659. package/dist/sync/errors.js +87 -0
  660. package/dist/sync/errors.js.map +1 -0
  661. package/dist/sync/files.d.ts +7 -0
  662. package/dist/sync/files.d.ts.map +1 -0
  663. package/dist/sync/files.js +47 -0
  664. package/dist/sync/files.js.map +1 -0
  665. package/dist/sync/index.d.ts +18 -0
  666. package/dist/sync/index.d.ts.map +1 -0
  667. package/dist/sync/index.js +36 -0
  668. package/dist/sync/index.js.map +1 -0
  669. package/dist/sync/options.d.ts +5 -0
  670. package/dist/sync/options.d.ts.map +1 -0
  671. package/dist/sync/options.js +109 -0
  672. package/dist/sync/options.js.map +1 -0
  673. package/dist/sync/package.d.ts +6 -0
  674. package/dist/sync/package.d.ts.map +1 -0
  675. package/dist/sync/package.js +31 -0
  676. package/dist/sync/package.js.map +1 -0
  677. package/dist/sync/proxy.d.ts +7 -0
  678. package/dist/sync/proxy.d.ts.map +1 -0
  679. package/dist/sync/proxy.js +175 -0
  680. package/dist/sync/proxy.js.map +1 -0
  681. package/dist/sync/route-paths.d.ts +5 -0
  682. package/dist/sync/route-paths.d.ts.map +1 -0
  683. package/dist/sync/route-paths.js +57 -0
  684. package/dist/sync/route-paths.js.map +1 -0
  685. package/dist/sync/route-types.d.ts +4 -0
  686. package/dist/sync/route-types.d.ts.map +1 -0
  687. package/dist/sync/route-types.js +151 -0
  688. package/dist/sync/route-types.js.map +1 -0
  689. package/dist/sync/typescript.d.ts +4 -0
  690. package/dist/sync/typescript.d.ts.map +1 -0
  691. package/dist/sync/typescript.js +231 -0
  692. package/dist/sync/typescript.js.map +1 -0
  693. package/dist/sync/warnings.d.ts +15 -0
  694. package/dist/sync/warnings.d.ts.map +1 -0
  695. package/dist/sync/warnings.js +13 -0
  696. package/dist/sync/warnings.js.map +1 -0
  697. package/dist/types/adapter.d.ts +4 -0
  698. package/dist/types/adapter.d.ts.map +1 -0
  699. package/dist/types/adapter.js +1 -0
  700. package/dist/types/adapter.js.map +1 -0
  701. package/dist/types/builder.d.ts +155 -0
  702. package/dist/types/builder.d.ts.map +1 -0
  703. package/dist/types/builder.js +1 -0
  704. package/dist/types/builder.js.map +1 -0
  705. package/dist/types/config.d.ts +131 -0
  706. package/dist/types/config.d.ts.map +1 -0
  707. package/dist/types/config.js +1 -0
  708. package/dist/types/config.js.map +1 -0
  709. package/dist/types/csp.d.ts +47 -0
  710. package/dist/types/csp.d.ts.map +1 -0
  711. package/dist/types/csp.js +1 -0
  712. package/dist/types/csp.js.map +1 -0
  713. package/dist/types/env.d.ts +15 -0
  714. package/dist/types/env.d.ts.map +1 -0
  715. package/dist/types/env.js +1 -0
  716. package/dist/types/env.js.map +1 -0
  717. package/dist/types/fields.d.ts +123 -0
  718. package/dist/types/fields.d.ts.map +1 -0
  719. package/dist/types/fields.js +1 -0
  720. package/dist/types/fields.js.map +1 -0
  721. package/dist/types/forms.d.ts +46 -0
  722. package/dist/types/forms.d.ts.map +1 -0
  723. package/dist/types/forms.js +1 -0
  724. package/dist/types/forms.js.map +1 -0
  725. package/dist/types/hooks.d.ts +74 -0
  726. package/dist/types/hooks.d.ts.map +1 -0
  727. package/dist/types/hooks.js +1 -0
  728. package/dist/types/hooks.js.map +1 -0
  729. package/dist/types/identity.d.ts +28 -0
  730. package/dist/types/identity.d.ts.map +1 -0
  731. package/dist/types/identity.js +1 -0
  732. package/dist/types/identity.js.map +1 -0
  733. package/dist/types/index.d.ts +23 -0
  734. package/dist/types/index.d.ts.map +1 -0
  735. package/dist/types/index.js +1 -0
  736. package/dist/types/index.js.map +1 -0
  737. package/dist/types/internal/client.d.ts +118 -0
  738. package/dist/types/internal/client.d.ts.map +1 -0
  739. package/dist/types/internal/client.js +1 -0
  740. package/dist/types/internal/client.js.map +1 -0
  741. package/dist/types/internal/data.d.ts +49 -0
  742. package/dist/types/internal/data.d.ts.map +1 -0
  743. package/dist/types/internal/data.js +1 -0
  744. package/dist/types/internal/data.js.map +1 -0
  745. package/dist/types/internal/remote.d.ts +142 -0
  746. package/dist/types/internal/remote.d.ts.map +1 -0
  747. package/dist/types/internal/remote.js +1 -0
  748. package/dist/types/internal/remote.js.map +1 -0
  749. package/dist/types/internal/routes.d.ts +66 -0
  750. package/dist/types/internal/routes.d.ts.map +1 -0
  751. package/dist/types/internal/routes.js +1 -0
  752. package/dist/types/internal/routes.js.map +1 -0
  753. package/dist/types/internal/server.d.ts +315 -0
  754. package/dist/types/internal/server.d.ts.map +1 -0
  755. package/dist/types/internal/server.js +1 -0
  756. package/dist/types/internal/server.js.map +1 -0
  757. package/dist/types/navigation.d.ts +99 -0
  758. package/dist/types/navigation.d.ts.map +1 -0
  759. package/dist/types/navigation.js +1 -0
  760. package/dist/types/navigation.js.map +1 -0
  761. package/dist/types/node.d.ts +10 -0
  762. package/dist/types/node.d.ts.map +1 -0
  763. package/dist/types/node.js +1 -0
  764. package/dist/types/node.js.map +1 -0
  765. package/dist/types/outcomes.d.ts +49 -0
  766. package/dist/types/outcomes.d.ts.map +1 -0
  767. package/dist/types/outcomes.js +1 -0
  768. package/dist/types/outcomes.js.map +1 -0
  769. package/dist/types/params.d.ts +11 -0
  770. package/dist/types/params.d.ts.map +1 -0
  771. package/dist/types/params.js +1 -0
  772. package/dist/types/params.js.map +1 -0
  773. package/dist/types/paths.d.ts +29 -0
  774. package/dist/types/paths.d.ts.map +1 -0
  775. package/dist/types/paths.js +1 -0
  776. package/dist/types/paths.js.map +1 -0
  777. package/dist/types/remote-form.d.ts +36 -0
  778. package/dist/types/remote-form.d.ts.map +1 -0
  779. package/dist/types/remote-form.js +1 -0
  780. package/dist/types/remote-form.js.map +1 -0
  781. package/dist/types/remote-functions.d.ts +44 -0
  782. package/dist/types/remote-functions.d.ts.map +1 -0
  783. package/dist/types/remote-functions.js +1 -0
  784. package/dist/types/remote-functions.js.map +1 -0
  785. package/dist/types/remote.d.ts +64 -0
  786. package/dist/types/remote.d.ts.map +1 -0
  787. package/dist/types/remote.js +1 -0
  788. package/dist/types/remote.js.map +1 -0
  789. package/dist/types/request.d.ts +88 -0
  790. package/dist/types/request.d.ts.map +1 -0
  791. package/dist/types/request.js +1 -0
  792. package/dist/types/request.js.map +1 -0
  793. package/dist/types/state.d.ts +33 -0
  794. package/dist/types/state.d.ts.map +1 -0
  795. package/dist/types/state.js +1 -0
  796. package/dist/types/state.js.map +1 -0
  797. package/dist/types/value.d.ts +8 -0
  798. package/dist/types/value.d.ts.map +1 -0
  799. package/dist/types/value.js +1 -0
  800. package/dist/types/value.js.map +1 -0
  801. package/dist/vite/assets.d.ts +5 -0
  802. package/dist/vite/assets.d.ts.map +1 -0
  803. package/dist/vite/assets.js +28 -0
  804. package/dist/vite/assets.js.map +1 -0
  805. package/dist/vite/build.d.ts +6 -0
  806. package/dist/vite/build.d.ts.map +1 -0
  807. package/dist/vite/build.js +507 -0
  808. package/dist/vite/build.js.map +1 -0
  809. package/dist/vite/client.d.ts +5 -0
  810. package/dist/vite/client.d.ts.map +1 -0
  811. package/dist/vite/client.js +74 -0
  812. package/dist/vite/client.js.map +1 -0
  813. package/dist/vite/csp.d.ts +3 -0
  814. package/dist/vite/csp.d.ts.map +1 -0
  815. package/dist/vite/csp.js +10 -0
  816. package/dist/vite/csp.js.map +1 -0
  817. package/dist/vite/dependencies.d.ts +17 -0
  818. package/dist/vite/dependencies.d.ts.map +1 -0
  819. package/dist/vite/dependencies.js +83 -0
  820. package/dist/vite/dependencies.js.map +1 -0
  821. package/dist/vite/dev.d.ts +4 -0
  822. package/dist/vite/dev.d.ts.map +1 -0
  823. package/dist/vite/dev.js +357 -0
  824. package/dist/vite/dev.js.map +1 -0
  825. package/dist/vite/env.d.ts +6 -0
  826. package/dist/vite/env.d.ts.map +1 -0
  827. package/dist/vite/env.js +48 -0
  828. package/dist/vite/env.js.map +1 -0
  829. package/dist/vite/ids.d.ts +26 -0
  830. package/dist/vite/ids.d.ts.map +1 -0
  831. package/dist/vite/ids.js +32 -0
  832. package/dist/vite/ids.js.map +1 -0
  833. package/dist/vite/index.d.ts +8 -0
  834. package/dist/vite/index.d.ts.map +1 -0
  835. package/dist/vite/index.js +245 -0
  836. package/dist/vite/index.js.map +1 -0
  837. package/dist/vite/messages.d.ts +61 -0
  838. package/dist/vite/messages.d.ts.map +1 -0
  839. package/dist/vite/messages.js +57 -0
  840. package/dist/vite/messages.js.map +1 -0
  841. package/dist/vite/modules.d.ts +8 -0
  842. package/dist/vite/modules.d.ts.map +1 -0
  843. package/dist/vite/modules.js +211 -0
  844. package/dist/vite/modules.js.map +1 -0
  845. package/dist/vite/paths.d.ts +28 -0
  846. package/dist/vite/paths.d.ts.map +1 -0
  847. package/dist/vite/paths.js +104 -0
  848. package/dist/vite/paths.js.map +1 -0
  849. package/dist/vite/preview.d.ts +4 -0
  850. package/dist/vite/preview.d.ts.map +1 -0
  851. package/dist/vite/preview.js +179 -0
  852. package/dist/vite/preview.js.map +1 -0
  853. package/dist/vite/project.d.ts +27 -0
  854. package/dist/vite/project.d.ts.map +1 -0
  855. package/dist/vite/project.js +1 -0
  856. package/dist/vite/project.js.map +1 -0
  857. package/dist/vite/remote-build.d.ts +3 -0
  858. package/dist/vite/remote-build.d.ts.map +1 -0
  859. package/dist/vite/remote-build.js +168 -0
  860. package/dist/vite/remote-build.js.map +1 -0
  861. package/dist/vite/remote.d.ts +14 -0
  862. package/dist/vite/remote.d.ts.map +1 -0
  863. package/dist/vite/remote.js +127 -0
  864. package/dist/vite/remote.js.map +1 -0
  865. package/dist/vite/server.d.ts +8 -0
  866. package/dist/vite/server.d.ts.map +1 -0
  867. package/dist/vite/server.js +148 -0
  868. package/dist/vite/server.js.map +1 -0
  869. package/dist/vite/styles.d.ts +2 -0
  870. package/dist/vite/styles.d.ts.map +1 -0
  871. package/dist/vite/styles.js +73 -0
  872. package/dist/vite/styles.js.map +1 -0
  873. package/package.json +128 -5
  874. package/src/build/analysis.ts +134 -0
  875. package/src/build/builder.ts +159 -0
  876. package/src/build/crawl.ts +101 -0
  877. package/src/build/features.ts +51 -0
  878. package/src/build/files.ts +97 -0
  879. package/src/build/index.ts +6 -0
  880. package/src/build/instrument.ts +56 -0
  881. package/src/build/jobs.ts +63 -0
  882. package/src/build/manifest.ts +130 -0
  883. package/src/build/messages.ts +182 -0
  884. package/src/build/prerender.ts +357 -0
  885. package/src/build/queue.ts +49 -0
  886. package/src/build/runtime.ts +75 -0
  887. package/src/build/types.ts +93 -0
  888. package/src/build/worker-entry.ts +43 -0
  889. package/src/build/worker.ts +152 -0
  890. package/src/client/actions.ts +69 -0
  891. package/src/client/chunks.ts +75 -0
  892. package/src/client/client.ts +620 -0
  893. package/src/client/data.ts +144 -0
  894. package/src/client/entry.ts +3 -0
  895. package/src/client/errors.ts +172 -0
  896. package/src/client/fetch.ts +131 -0
  897. package/src/client/forms.ts +156 -0
  898. package/src/client/history.ts +128 -0
  899. package/src/client/lifecycle.ts +71 -0
  900. package/src/client/links.ts +356 -0
  901. package/src/client/load.ts +487 -0
  902. package/src/client/messages/client-errors/forms.md +7 -0
  903. package/src/client/messages/client-errors/navigation.md +23 -0
  904. package/src/client/messages/client-errors/preload.md +7 -0
  905. package/src/client/messages/client-errors/snapshots.md +7 -0
  906. package/src/client/messages/client-warnings/links.md +7 -0
  907. package/src/client/messages/client-warnings/preload.md +7 -0
  908. package/src/client/navigation.ts +79 -0
  909. package/src/client/origin.ts +3 -0
  910. package/src/client/paths.ts +35 -0
  911. package/src/client/payload.ts +31 -0
  912. package/src/client/remote/cache.ts +404 -0
  913. package/src/client/remote/channel.ts +156 -0
  914. package/src/client/remote/command.ts +68 -0
  915. package/src/client/remote/form-element.ts +121 -0
  916. package/src/client/remote/form.ts +444 -0
  917. package/src/client/remote/live.ts +372 -0
  918. package/src/client/remote/query.ts +233 -0
  919. package/src/client/remote/result.ts +110 -0
  920. package/src/client/remote/updates.ts +110 -0
  921. package/src/client/restore.ts +196 -0
  922. package/src/client/routes.ts +217 -0
  923. package/src/client/state.ts +182 -0
  924. package/src/client/stream.ts +65 -0
  925. package/src/client/transport.ts +25 -0
  926. package/src/client/view.ts +178 -0
  927. package/src/client/warnings.ts +66 -0
  928. package/src/components/fallbacks.ts +18 -0
  929. package/src/components/index.ts +42 -0
  930. package/src/components/root.ts +95 -0
  931. package/src/components/source.ts +201 -0
  932. package/src/config/errors.ts +231 -0
  933. package/src/config/file.ts +61 -0
  934. package/src/config/index.ts +126 -0
  935. package/src/config/schema.ts +246 -0
  936. package/src/entries/adapter.ts +4 -0
  937. package/src/entries/app/env/client.ts +4 -0
  938. package/src/entries/app/env/private/server.ts +1 -0
  939. package/src/entries/app/env/public/server.ts +1 -0
  940. package/src/entries/app/env/server.ts +3 -0
  941. package/src/entries/app/forms/client.ts +2 -0
  942. package/src/entries/app/forms/server.ts +21 -0
  943. package/src/entries/app/navigation/client.ts +21 -0
  944. package/src/entries/app/navigation/server.ts +35 -0
  945. package/src/entries/app/paths/client.ts +1 -0
  946. package/src/entries/app/paths/server.ts +1 -0
  947. package/src/entries/app/server/server.ts +9 -0
  948. package/src/entries/app/service-worker/client.ts +7 -0
  949. package/src/entries/app/state/client.ts +2 -0
  950. package/src/entries/app/state/server.ts +1 -0
  951. package/src/entries/define-params.ts +40 -0
  952. package/src/entries/env/dynamic/private/server.ts +1 -0
  953. package/src/entries/env/dynamic/public/client.ts +1 -0
  954. package/src/entries/env/dynamic/public/server.ts +1 -0
  955. package/src/entries/env.ts +39 -0
  956. package/src/entries/hooks.ts +19 -0
  957. package/src/entries/index.ts +82 -0
  958. package/src/entries/internal/client.ts +14 -0
  959. package/src/entries/internal/env.ts +1 -0
  960. package/src/entries/internal/identity.ts +3 -0
  961. package/src/entries/internal/payload.ts +1 -0
  962. package/src/entries/internal/restore.ts +5 -0
  963. package/src/entries/internal/sequence.ts +1 -0
  964. package/src/entries/internal/server.ts +12 -0
  965. package/src/entries/internal/shallow/client.ts +1 -0
  966. package/src/entries/internal/shallow/server.ts +6 -0
  967. package/src/entries/outcomes.ts +45 -0
  968. package/src/entries/params.ts +12 -0
  969. package/src/entries/reroute.ts +13 -0
  970. package/src/entries/sequence.ts +52 -0
  971. package/src/node/index.ts +9 -0
  972. package/src/node/request.ts +114 -0
  973. package/src/node/response.ts +108 -0
  974. package/src/node/static.ts +147 -0
  975. package/src/server/actions.ts +139 -0
  976. package/src/server/cookies.ts +192 -0
  977. package/src/server/csp.ts +166 -0
  978. package/src/server/csrf.ts +28 -0
  979. package/src/server/data.ts +237 -0
  980. package/src/server/document.ts +331 -0
  981. package/src/server/endpoint.ts +80 -0
  982. package/src/server/environment.ts +41 -0
  983. package/src/server/errors.ts +318 -0
  984. package/src/server/failure.ts +49 -0
  985. package/src/server/fetch-guard.ts +60 -0
  986. package/src/server/fetch.ts +119 -0
  987. package/src/server/headers.ts +84 -0
  988. package/src/server/hooks.ts +6 -0
  989. package/src/server/index.ts +90 -0
  990. package/src/server/load.ts +247 -0
  991. package/src/server/origin.ts +6 -0
  992. package/src/server/page.ts +220 -0
  993. package/src/server/paths.ts +89 -0
  994. package/src/server/read.ts +80 -0
  995. package/src/server/remote/collect.ts +70 -0
  996. package/src/server/remote/command.ts +30 -0
  997. package/src/server/remote/errors.ts +135 -0
  998. package/src/server/remote/form.ts +160 -0
  999. package/src/server/remote/handler.ts +208 -0
  1000. package/src/server/remote/iteration.ts +102 -0
  1001. package/src/server/remote/prerender.ts +77 -0
  1002. package/src/server/remote/query.ts +176 -0
  1003. package/src/server/remote/requested.ts +94 -0
  1004. package/src/server/remote/resource.ts +148 -0
  1005. package/src/server/remote/shared.ts +117 -0
  1006. package/src/server/remote/stream.ts +81 -0
  1007. package/src/server/replay.ts +174 -0
  1008. package/src/server/respond.ts +488 -0
  1009. package/src/server/routing.ts +58 -0
  1010. package/src/server/scope.ts +164 -0
  1011. package/src/server/state.ts +56 -0
  1012. package/src/server/stream.ts +87 -0
  1013. package/src/server/telemetry.ts +107 -0
  1014. package/src/server/transport.ts +14 -0
  1015. package/src/server/url.ts +34 -0
  1016. package/src/server/warnings.ts +87 -0
  1017. package/src/shared/diagnostics.ts +62 -0
  1018. package/src/shared/env.ts +58 -0
  1019. package/src/shared/errors.ts +290 -0
  1020. package/src/shared/escape.ts +27 -0
  1021. package/src/shared/form-data.ts +257 -0
  1022. package/src/shared/form-fields.ts +344 -0
  1023. package/src/shared/hash.ts +36 -0
  1024. package/src/shared/http.ts +74 -0
  1025. package/src/shared/identity.ts +16 -0
  1026. package/src/shared/mime.ts +6 -0
  1027. package/src/shared/outcomes.ts +72 -0
  1028. package/src/shared/pathname.ts +51 -0
  1029. package/src/shared/redirect.ts +47 -0
  1030. package/src/shared/remote.ts +162 -0
  1031. package/src/shared/render.ts +13 -0
  1032. package/src/shared/routing/index.ts +11 -0
  1033. package/src/shared/routing/match.ts +76 -0
  1034. package/src/shared/routing/pattern.ts +141 -0
  1035. package/src/shared/routing/sort.ts +75 -0
  1036. package/src/shared/serialization.ts +21 -0
  1037. package/src/shared/url.ts +86 -0
  1038. package/src/shared/warnings.ts +25 -0
  1039. package/src/sync/app-types.ts +164 -0
  1040. package/src/sync/bin.ts +9 -0
  1041. package/src/sync/cli.ts +99 -0
  1042. package/src/sync/discover.ts +258 -0
  1043. package/src/sync/env.ts +109 -0
  1044. package/src/sync/errors.ts +215 -0
  1045. package/src/sync/files.ts +52 -0
  1046. package/src/sync/index.ts +48 -0
  1047. package/src/sync/options.ts +104 -0
  1048. package/src/sync/package.ts +41 -0
  1049. package/src/sync/proxy.ts +180 -0
  1050. package/src/sync/route-paths.ts +59 -0
  1051. package/src/sync/route-types.ts +183 -0
  1052. package/src/sync/typescript.ts +269 -0
  1053. package/src/sync/warnings.ts +26 -0
  1054. package/src/types/adapter.ts +4 -0
  1055. package/src/types/builder.ts +147 -0
  1056. package/src/types/config.ts +132 -0
  1057. package/src/types/csp.ts +83 -0
  1058. package/src/types/env.ts +20 -0
  1059. package/src/types/fields.ts +177 -0
  1060. package/src/types/forms.ts +44 -0
  1061. package/src/types/hooks.ts +56 -0
  1062. package/src/types/identity.ts +28 -0
  1063. package/src/types/index.ts +66 -0
  1064. package/src/types/internal/client.ts +126 -0
  1065. package/src/types/internal/data.ts +57 -0
  1066. package/src/types/internal/remote.ts +130 -0
  1067. package/src/types/internal/routes.ts +74 -0
  1068. package/src/types/internal/server.ts +372 -0
  1069. package/src/types/navigation.ts +95 -0
  1070. package/src/types/node.ts +10 -0
  1071. package/src/types/outcomes.ts +63 -0
  1072. package/src/types/params.ts +34 -0
  1073. package/src/types/paths.ts +31 -0
  1074. package/src/types/remote-form.ts +56 -0
  1075. package/src/types/remote-functions.ts +114 -0
  1076. package/src/types/remote.ts +75 -0
  1077. package/src/types/request.ts +122 -0
  1078. package/src/types/state.ts +30 -0
  1079. package/src/types/value.ts +11 -0
  1080. package/src/vite/assets.ts +42 -0
  1081. package/src/vite/build.ts +614 -0
  1082. package/src/vite/client.ts +106 -0
  1083. package/src/vite/csp.ts +13 -0
  1084. package/src/vite/dependencies.ts +104 -0
  1085. package/src/vite/dev.ts +411 -0
  1086. package/src/vite/env.ts +82 -0
  1087. package/src/vite/ids.ts +39 -0
  1088. package/src/vite/index.ts +284 -0
  1089. package/src/vite/messages.ts +149 -0
  1090. package/src/vite/modules.ts +213 -0
  1091. package/src/vite/paths.ts +131 -0
  1092. package/src/vite/preview.ts +215 -0
  1093. package/src/vite/project.ts +27 -0
  1094. package/src/vite/remote-build.ts +198 -0
  1095. package/src/vite/remote.ts +138 -0
  1096. package/src/vite/server.ts +166 -0
  1097. package/src/vite/styles.ts +84 -0
  1098. package/types/index.d.ts +196 -0
  1099. package/README.md +0 -3
@@ -0,0 +1,121 @@
1
+ import { tick } from 'vigla';
2
+ import { DEV } from 'esm-env';
3
+ import {
4
+ coerceFormValue,
5
+ parseFormKey,
6
+ splitPath,
7
+ DELETE_KEY,
8
+ type FormKey
9
+ } from '../../shared/form-fields.ts';
10
+ import {
11
+ enhance_file_without_enctype,
12
+ remote_form_mixed_inputs,
13
+ remote_form_multiple_files,
14
+ remote_form_reserved_field
15
+ } from '../errors.ts';
16
+ import type { Form } from './form.ts';
17
+
18
+ function clone(form: HTMLFormElement): HTMLFormElement {
19
+ return HTMLFormElement.prototype.cloneNode.call(form) as HTMLFormElement;
20
+ }
21
+
22
+ export function formData(form: HTMLFormElement, submitter?: HTMLElement | null): FormData {
23
+ const button =
24
+ submitter ??
25
+ form.querySelector<HTMLElement>('button:not([type]), [type="submit"], [type="image"]');
26
+ return new FormData(form, button);
27
+ }
28
+
29
+ export function validateFormData(element: HTMLFormElement, data: FormData): void {
30
+ if (!DEV) return;
31
+ for (const key of data.keys()) if (/^\$[.[]?/.test(key)) remote_form_reserved_field();
32
+ if (
33
+ clone(element).enctype !== 'multipart/form-data' &&
34
+ [...data.values()].some((value) => value instanceof File)
35
+ )
36
+ enhance_file_without_enctype();
37
+ }
38
+
39
+ export function attach(form: Form, element: HTMLFormElement): () => void {
40
+ let previous: FormKey | null = null;
41
+ const submit = (event: SubmitEvent): void => {
42
+ const copy = clone(element);
43
+ const submitter = event.submitter as HTMLInputElement | HTMLButtonElement | null;
44
+ const method = submitter?.hasAttribute('formmethod') ? submitter.formMethod : copy.method;
45
+ if (method !== 'post') return;
46
+ const action = new URL(
47
+ submitter?.hasAttribute('formaction') ? submitter.formAction : copy.action,
48
+ document.baseURI
49
+ );
50
+ if (action.searchParams.get('/remote') !== form.actionId) return;
51
+ const target = submitter?.hasAttribute('formtarget') ? submitter.formTarget : copy.target;
52
+ if (target === '_blank') return;
53
+ event.preventDefault();
54
+ const data = new FormData(element, submitter);
55
+ if (
56
+ previous &&
57
+ ![...data.keys()].some((key) => parseFormKey(form.forms.id, key).name === previous!.name)
58
+ )
59
+ form.write(splitPath(previous.name), undefined);
60
+ previous = null;
61
+ if (submitter && submitter.type !== 'image' && submitter.hasAttribute('name')) {
62
+ previous = parseFormKey(form.forms.id, submitter.name);
63
+ form.write(splitPath(previous.name), coerceFormValue(previous.type, submitter.value));
64
+ }
65
+ validateFormData(element, data);
66
+ void form.enhance(element, data);
67
+ };
68
+
69
+ const input = (event: Event): void => {
70
+ const control = event.target as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
71
+ if (!control.name) return;
72
+ const field = parseFormKey(form.forms.id, control.name);
73
+ const isFile = control.type === 'file';
74
+ let value: any;
75
+ if (field.isArray) {
76
+ if (control instanceof HTMLSelectElement)
77
+ value = [...control.selectedOptions].map((option) => option.value);
78
+ else {
79
+ const controls = [...element.elements].filter(
80
+ (candidate): candidate is HTMLInputElement =>
81
+ candidate instanceof HTMLInputElement && candidate.name === control.name
82
+ );
83
+ if (DEV && controls.some((candidate) => (candidate.type === 'file') !== isFile))
84
+ remote_form_mixed_inputs({ name: control.name });
85
+ value = isFile
86
+ ? controls.flatMap((candidate) => [...(candidate.files ?? [])])
87
+ : controls
88
+ .filter((candidate) => candidate.type !== 'checkbox' || candidate.checked)
89
+ .map((candidate) => candidate.value);
90
+ }
91
+ } else if (isFile) {
92
+ const file = control as HTMLInputElement;
93
+ if (DEV && file.multiple) remote_form_multiple_files({ name: control.name });
94
+ value = file.files?.[0] ?? DELETE_KEY;
95
+ } else
96
+ value =
97
+ control instanceof HTMLInputElement && control.type === 'checkbox' && !control.checked
98
+ ? null
99
+ : control.value;
100
+ form.input(field.name, isFile ? value : coerceFormValue(field.type, value));
101
+ };
102
+ const blur = (event: Event): void => {
103
+ const name = (event.target as HTMLInputElement).name;
104
+ if (name) form.touch(parseFormKey(form.forms.id, name).name);
105
+ };
106
+ const reset = (): void => {
107
+ void tick().then(() => {
108
+ if (form.element === element) form.reset(new FormData(element));
109
+ });
110
+ };
111
+ element.addEventListener('submit', submit);
112
+ element.addEventListener('input', input);
113
+ element.addEventListener('focusout', blur);
114
+ element.addEventListener('reset', reset);
115
+ return () => {
116
+ element.removeEventListener('submit', submit);
117
+ element.removeEventListener('input', input);
118
+ element.removeEventListener('focusout', blur);
119
+ element.removeEventListener('reset', reset);
120
+ };
121
+ }
@@ -0,0 +1,444 @@
1
+ import { cell, getOwner, onDestroy, state, tick, type Owner } from 'vigla';
2
+ import { createAttachmentKey } from 'vigla/attachments';
3
+ import { DEV } from 'esm-env';
4
+ import type { StandardSchemaV1 } from '@standard-schema/spec';
5
+ import type {
6
+ FormAttributes,
7
+ FormValidationOptions,
8
+ RemoteForm,
9
+ RemoteFormEnhanceCallback,
10
+ RemoteFormEnhanceInstance
11
+ } from '../../types/remote-form.ts';
12
+ import type { OpenFields } from '../../types/fields.ts';
13
+ import type { InternalFormIssue, RemoteFormResult } from '../../types/internal/remote.ts';
14
+ import type { UpdatingPromise } from '../../types/remote.ts';
15
+ import {
16
+ BINARY_FORM_CONTENT_TYPE,
17
+ convertFormData,
18
+ serializeBinaryForm
19
+ } from '../../shared/form-data.ts';
20
+ import {
21
+ buildPath,
22
+ createFields,
23
+ deepGet,
24
+ deepSet,
25
+ fillMissing,
26
+ flattenIssues,
27
+ normalizeIssue,
28
+ parseFormKey,
29
+ splitPath
30
+ } from '../../shared/form-fields.ts';
31
+ import { warnDiagnostic } from '../../shared/diagnostics.ts';
32
+ import { remote_form_multiple_elements, remote_form_not_attached } from '../errors.ts';
33
+ import { client } from '../client.ts';
34
+ import { updating } from './updates.ts';
35
+ import type { Remotes } from './cache.ts';
36
+ import { attach, formData, validateFormData } from './form-element.ts';
37
+
38
+ const attachment = createAttachmentKey();
39
+
40
+ interface Instance {
41
+ form: Form;
42
+ holders: Set<Owner>;
43
+ pending: number;
44
+ }
45
+
46
+ export class Forms {
47
+ readonly remote: Remotes;
48
+ readonly id: string;
49
+ readonly #instances = new Map<string | number, Instance>();
50
+ readonly #default: Form;
51
+ schema?: StandardSchemaV1;
52
+
53
+ constructor(remote: Remotes, id: string) {
54
+ this.remote = remote;
55
+ this.id = id;
56
+ this.#default = new Form(this);
57
+ }
58
+
59
+ get(key?: string | number): Form {
60
+ if (key === undefined) return this.#default;
61
+ const holder = getOwner();
62
+ const entry = this.#instances.get(key) ?? {
63
+ form: this.remote.owner.run(() => new Form(this, key)),
64
+ holders: new Set<Owner>(),
65
+ pending: 0
66
+ };
67
+ if (holder && !entry.holders.has(holder)) {
68
+ this.#instances.set(key, entry);
69
+ entry.holders.add(holder);
70
+ holder.run(() =>
71
+ onDestroy(() => {
72
+ entry.holders.delete(holder);
73
+ if (!entry.holders.size && !entry.pending && this.#instances.get(key) === entry)
74
+ this.#instances.delete(key);
75
+ })
76
+ );
77
+ }
78
+ return entry.form;
79
+ }
80
+
81
+ retain(form: Form): () => void {
82
+ if (form.key === undefined) return () => {};
83
+ const key = form.key;
84
+ const entry = this.#instances.get(key) ?? { form, holders: new Set<Owner>(), pending: 0 };
85
+ this.#instances.set(key, entry);
86
+ entry.pending++;
87
+ return () => {
88
+ entry.pending--;
89
+ if (!entry.holders.size && !entry.pending && this.#instances.get(key) === entry)
90
+ this.#instances.delete(key);
91
+ };
92
+ }
93
+ }
94
+
95
+ export class Form {
96
+ readonly forms: Forms;
97
+ readonly key: string | number | undefined;
98
+ readonly instance: RemoteForm<any, any>;
99
+ readonly fields: OpenFields;
100
+ readonly #input = state<Record<string, any>>({});
101
+ readonly #issues = cell<InternalFormIssue[]>([]);
102
+ readonly #result = cell<any>(undefined);
103
+ readonly #pending = cell(0);
104
+ readonly #submitted = cell(false);
105
+ readonly #touched = cell<Record<string, boolean>>({});
106
+ readonly #dirty = cell<Record<string, boolean>>({});
107
+ #canValidate: Record<string, boolean> = {};
108
+ #schema?: StandardSchemaV1;
109
+ #validation = 0;
110
+ #unread: InternalFormIssue[] | null = null;
111
+ #enhance: RemoteFormEnhanceCallback<any, any> = async (instance) => {
112
+ if (await instance.submit()) {
113
+ await tick();
114
+ if (instance.element.isConnected) HTMLFormElement.prototype.reset.call(instance.element);
115
+ }
116
+ };
117
+ element: HTMLFormElement | null = null;
118
+
119
+ constructor(forms: Forms, key?: string | number) {
120
+ this.forms = forms;
121
+ this.key = key;
122
+ this.fields = createFields({
123
+ id: forms.id,
124
+ get: () => this.#input.current,
125
+ set: (path, value) => this.write(path, value, this.element !== null),
126
+ issues: (path, all) => {
127
+ if (path && this.#unread)
128
+ this.#unread = this.#unread.filter(
129
+ (issue) =>
130
+ (all ? issue.path.slice(0, path.length) : issue.path).join('.') !== path.join('.')
131
+ );
132
+ return flattenIssues(this.#issues.current);
133
+ },
134
+ touched: () => this.#touched.current,
135
+ dirty: () => this.#dirty.current
136
+ });
137
+ const seed = forms.remote.seed(this.actionId);
138
+ const initialize = (value: RemoteFormResult | undefined): void => {
139
+ if (!value) return;
140
+ this.#input.current = value.input ?? {};
141
+ this.#issues.current = value.issues ?? [];
142
+ this.#result.current = value.result;
143
+ };
144
+ if (seed instanceof Promise) void seed.then((node) => initialize(node.v));
145
+ else initialize(seed?.v);
146
+ const form = this;
147
+ this.instance = Object.defineProperties(
148
+ {
149
+ method: 'POST' as const,
150
+ get action() {
151
+ return form.action;
152
+ },
153
+ [attachment]: (element: HTMLFormElement) => this.attach(element)
154
+ },
155
+ {
156
+ element: { get: () => this.element },
157
+ fields: { get: () => this.fields },
158
+ pending: { get: () => this.#pending.current },
159
+ submitted: { get: () => this.#submitted.current },
160
+ result: { get: () => this.#result.current },
161
+ submit: { value: () => this.submit() },
162
+ validate: { value: (options?: FormValidationOptions) => this.validate(options) },
163
+ preflight: {
164
+ value: (schema: StandardSchemaV1) => {
165
+ this.#schema = schema;
166
+ if (key === undefined) forms.schema = schema;
167
+ return this.instance;
168
+ }
169
+ },
170
+ enhance: {
171
+ value: (callback: RemoteFormEnhanceCallback<any, any>) => {
172
+ this.#enhance = callback;
173
+ return this.instance;
174
+ }
175
+ },
176
+ ...(key === undefined
177
+ ? { for: { value: (key: string | number) => forms.get(key).instance } }
178
+ : {})
179
+ }
180
+ ) as unknown as RemoteForm<any, any>;
181
+ }
182
+
183
+ get actionId(): string {
184
+ return this.forms.id + (this.key === undefined ? '' : `/${JSON.stringify(this.key)}`);
185
+ }
186
+ get action(): string {
187
+ const params = new URLSearchParams(this.forms.remote.client.state.page.url.search);
188
+ params.delete('/remote');
189
+ const search = params.toString();
190
+ return `?${search ? `${search}&` : ''}/remote=${encodeURIComponent(this.actionId)}`;
191
+ }
192
+
193
+ convert(data: FormData): Record<string, any> {
194
+ const value = convertFormData(this.forms.id, data);
195
+ if (this.key !== undefined && !('id' in value)) value.id = this.key;
196
+ return value;
197
+ }
198
+
199
+ write(path: (string | number)[], value: any, interactive = false): void {
200
+ if (!path.length) {
201
+ this.#input.current = value;
202
+ return;
203
+ }
204
+ if (value === deepGet(this.#input.current, path)) return;
205
+ deepSet(this.#input.current, path, value);
206
+ if (interactive) {
207
+ const key = buildPath(path);
208
+ this.#dirty.current = { ...this.#dirty.current, [key]: true };
209
+ this.#touched.current = { ...this.#touched.current, [key]: true };
210
+ this.#canValidate[key] = true;
211
+ }
212
+ }
213
+
214
+ input(name: string, value: any): void {
215
+ this.write(splitPath(name), value);
216
+ this.#dirty.current = { ...this.#dirty.current, [name]: true };
217
+ }
218
+ touch(name: string): void {
219
+ this.#touched.current = { ...this.#touched.current, [name]: true };
220
+ if (Object.hasOwn(this.#dirty.current, name)) this.#canValidate[name] = true;
221
+ }
222
+ seed(element: HTMLFormElement, data: FormData): void {
223
+ const suffix = `/${this.forms.id}`;
224
+ const bound = new FormData();
225
+ for (const [name, value] of data)
226
+ if (name.endsWith(suffix) || (/\.[xy]$/.test(name) && name.slice(0, -2).endsWith(suffix)))
227
+ bound.append(name, value);
228
+ const snapshot = convertFormData(this.forms.id, bound);
229
+ for (const control of element.elements) {
230
+ const name = (control as HTMLInputElement).name;
231
+ if (!name || !name.endsWith(suffix)) continue;
232
+ const field = parseFormKey(this.forms.id, name);
233
+ const path = splitPath(field.name);
234
+ if (field.isArray && deepGet(snapshot, path) === undefined) deepSet(snapshot, path, []);
235
+ }
236
+ fillMissing(this.#input.current, snapshot);
237
+ }
238
+ clear(): void {
239
+ this.#input.current = {};
240
+ this.#result.current = undefined;
241
+ this.reset();
242
+ }
243
+ reset(data?: FormData): void {
244
+ if (data) this.#input.current = convertFormData(this.forms.id, data);
245
+ this.#issues.current = [];
246
+ this.#dirty.current = {};
247
+ this.#touched.current = {};
248
+ this.#canValidate = {};
249
+ this.#submitted.current = false;
250
+ }
251
+
252
+ #warn(): void {
253
+ if (!DEV) return;
254
+ this.#unread = this.#issues.current;
255
+ setTimeout(() => {
256
+ if (this.#unread?.length)
257
+ warnDiagnostic(
258
+ 'remote_form_issues_ignored',
259
+ `Form submission had invalid data, but the validation issues were ignored:\n\n${this.#unread
260
+ .map((issue) =>
261
+ issue.path.length === 0
262
+ ? ` - ${issue.message}`
263
+ : ` - ${issue.path.join('.')} (${issue.message})`
264
+ )
265
+ .join(
266
+ '\n'
267
+ )}\n\nMake sure you provide actionable feedback to users, using e.g. \`myForm.fields.myField.issues()\` or \`myForm.fields.allIssues()\``
268
+ );
269
+ this.#unread = null;
270
+ });
271
+ }
272
+
273
+ #merge(issues: InternalFormIssue[]): void {
274
+ const names = new Set(issues.map((issue) => issue.name));
275
+ this.#issues.current = [
276
+ ...this.#issues.current.filter((issue) => issue.server && !names.has(issue.name)),
277
+ ...issues
278
+ ];
279
+ }
280
+
281
+ async #preflight(data: FormData): Promise<boolean> {
282
+ const schema = this.#schema ?? this.forms.schema;
283
+ const result = await schema?.['~standard'].validate(this.convert(data));
284
+ if (result?.issues) {
285
+ this.#merge(result.issues.map((issue) => normalizeIssue(issue)));
286
+ this.#warn();
287
+ return false;
288
+ }
289
+ if (schema) this.#issues.current = this.#issues.current.filter((issue) => issue.server);
290
+ return true;
291
+ }
292
+
293
+ #send(data: FormData, preflight: boolean): UpdatingPromise<boolean> {
294
+ const remote = this.forms.remote;
295
+ const release = this.forms.retain(this);
296
+ const promise = updating(remote, 'form submission', async (updates) => {
297
+ try {
298
+ if (preflight && !(await this.#preflight(data))) return false;
299
+ const response = await remote.channel.request(
300
+ remote.channel.url(this.forms.id),
301
+ {
302
+ method: 'POST',
303
+ headers: { 'Content-Type': BINARY_FORM_CONTENT_TYPE, ...remote.channel.headers() },
304
+ body: serializeBinaryForm(this.convert(data), {
305
+ remote_refreshes: [...(updates?.refreshes ?? [])]
306
+ }).blob
307
+ },
308
+ updates?.refreshes
309
+ );
310
+ const result: RemoteFormResult = response._ ?? {};
311
+ this.#issues.current = result.issues ?? [];
312
+ this.#result.current = result.result;
313
+ const refresh = updates === null && !response.r;
314
+ if (response.redirect) {
315
+ await remote.channel.redirect(response.redirect, refresh);
316
+ return true;
317
+ }
318
+ if (this.#issues.current.length) {
319
+ this.#warn();
320
+ return false;
321
+ }
322
+ remote.failMissing(updates?.refreshes);
323
+ if (refresh) await remote.client.invalidate(undefined, true);
324
+ return true;
325
+ } catch (error) {
326
+ this.#result.current = undefined;
327
+ this.#issues.current = [];
328
+ throw error;
329
+ }
330
+ });
331
+ void promise.then(release, release);
332
+ return promise;
333
+ }
334
+
335
+ submit(): UpdatingPromise<boolean> {
336
+ if (!this.element) remote_form_not_attached();
337
+ const data = formData(this.element);
338
+ validateFormData(this.element, data);
339
+ this.seed(this.element, data);
340
+ this.#submitted.current = true;
341
+ this.#pending.current++;
342
+ const promise = this.#send(data, true);
343
+ void promise
344
+ .finally(() => {
345
+ this.#pending.current--;
346
+ })
347
+ .catch(() => {});
348
+ return promise;
349
+ }
350
+
351
+ async enhance(element: HTMLFormElement, data: FormData): Promise<void> {
352
+ this.seed(element, data);
353
+ this.#submitted.current = true;
354
+ this.#pending.current++;
355
+ try {
356
+ if (!(await this.#preflight(data))) return;
357
+ const descriptors = Object.getOwnPropertyDescriptors(this.instance);
358
+ Reflect.deleteProperty(descriptors, 'enhance');
359
+ const instance = Object.defineProperties(
360
+ {},
361
+ {
362
+ ...descriptors,
363
+ element: { value: element },
364
+ submit: { value: () => this.#send(data, false) }
365
+ }
366
+ ) as RemoteFormEnhanceInstance<any, any>;
367
+ await this.forms.remote.owner.run(() => this.#enhance(instance));
368
+ } catch (error) {
369
+ const body = await this.forms.remote.error(error);
370
+ await this.forms.remote.client.applyAction({
371
+ type: 'error',
372
+ status: body.status,
373
+ error: body.body
374
+ });
375
+ } finally {
376
+ this.#pending.current--;
377
+ }
378
+ }
379
+
380
+ async validate({
381
+ all = false,
382
+ preflightOnly = false
383
+ }: FormValidationOptions = {}): Promise<void> {
384
+ const generation = ++this.#validation;
385
+ await tick();
386
+ if (!this.element) return;
387
+ const data = formData(this.element);
388
+ const input = this.convert(data);
389
+ const schema = this.#schema ?? this.forms.schema;
390
+ const validated = await schema?.['~standard'].validate(input);
391
+ if (generation !== this.#validation) return;
392
+ let issues = validated?.issues?.map((issue) => normalizeIssue(issue)) ?? [];
393
+ const fromServer = !validated?.issues && !preflightOnly;
394
+ if (fromServer) {
395
+ const remote = this.forms.remote;
396
+ const response = await remote.channel.request(remote.channel.url(this.forms.id), {
397
+ method: 'POST',
398
+ headers: { 'Content-Type': BINARY_FORM_CONTENT_TYPE, ...remote.channel.headers() },
399
+ body: serializeBinaryForm(input, { validate_only: true }).blob
400
+ });
401
+ if (generation !== this.#validation) return;
402
+ issues = response._;
403
+ }
404
+ if (!all && !this.#submitted.current)
405
+ issues = issues.filter((issue) => this.#canValidate[issue.name]);
406
+ if (fromServer) this.#issues.current = issues;
407
+ else this.#merge(issues);
408
+ }
409
+
410
+ attach(element: HTMLFormElement): () => void {
411
+ if (this.element) remote_form_multiple_elements();
412
+ this.element = element;
413
+ this.#dirty.current = {};
414
+ this.#touched.current = {};
415
+ this.#canValidate = {};
416
+ const release = this.forms.retain(this);
417
+ const detach = attach(this, element);
418
+ return () => {
419
+ detach();
420
+ this.element = null;
421
+ release();
422
+ void tick().then(() => {
423
+ if (!this.element && !this.#pending.current) this.clear();
424
+ });
425
+ };
426
+ }
427
+ }
428
+
429
+ export function form(id: string): RemoteForm<any, any> {
430
+ const current = () => client('form').remote.forms(id).get().instance;
431
+ const attributes: FormAttributes = {
432
+ method: 'POST',
433
+ get action() {
434
+ return current().action;
435
+ },
436
+ [attachment]: (element: HTMLFormElement) =>
437
+ client('form').remote.forms(id).get().attach(element)
438
+ };
439
+ return new Proxy(attributes, {
440
+ get(target, key) {
441
+ return Object.hasOwn(target, key) ? Reflect.get(target, key) : Reflect.get(current(), key);
442
+ }
443
+ }) as RemoteForm<any, any>;
444
+ }