eddev 2.0.0-beta.98 → 2.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 (429) hide show
  1. package/css/editor-styles.css +4 -0
  2. package/dist/app/entry/HydrationOverlay.d.ts +1 -0
  3. package/dist/app/entry/HydrationOverlay.d.ts.map +1 -0
  4. package/dist/app/entry/MetaTags.d.ts +1 -0
  5. package/dist/app/entry/MetaTags.d.ts.map +1 -0
  6. package/dist/app/entry/MetaTags.js +18 -3
  7. package/dist/app/entry/boot-admin.d.ts +1 -0
  8. package/dist/app/entry/boot-admin.d.ts.map +1 -0
  9. package/dist/app/entry/boot-admin.js +0 -1
  10. package/dist/app/entry/hydration-script.d.ts +1 -0
  11. package/dist/app/entry/hydration-script.d.ts.map +1 -0
  12. package/dist/app/entry/spa-root.d.ts +1 -0
  13. package/dist/app/entry/spa-root.d.ts.map +1 -0
  14. package/dist/app/entry/spa-root.js +1 -2
  15. package/dist/app/entry/ssr-root-client.d.ts +1 -0
  16. package/dist/app/entry/ssr-root-client.d.ts.map +1 -0
  17. package/dist/app/entry/ssr-root-client.js +3 -2
  18. package/dist/app/entry/ssr-root.d.ts +3 -0
  19. package/dist/app/entry/ssr-root.d.ts.map +1 -0
  20. package/dist/app/entry/ssr-root.js +3 -3
  21. package/dist/app/lib/admin/defineField.d.ts +1 -0
  22. package/dist/app/lib/admin/defineField.d.ts.map +1 -0
  23. package/dist/app/lib/admin/defineWidget.d.ts +1 -0
  24. package/dist/app/lib/admin/defineWidget.d.ts.map +1 -0
  25. package/dist/app/lib/admin/index.d.ts +1 -0
  26. package/dist/app/lib/admin/index.d.ts.map +1 -0
  27. package/dist/app/lib/admin/installFieldTypes.d.ts +1 -0
  28. package/dist/app/lib/admin/installFieldTypes.d.ts.map +1 -0
  29. package/dist/app/lib/admin/installFieldTypes.js +2 -0
  30. package/dist/app/lib/admin/runWidgets.d.ts +1 -0
  31. package/dist/app/lib/admin/runWidgets.d.ts.map +1 -0
  32. package/dist/app/lib/admin/runWidgets.js +7 -2
  33. package/dist/app/lib/blocks/BlockPropMutator.d.ts +33 -0
  34. package/dist/app/lib/blocks/BlockPropMutator.d.ts.map +1 -0
  35. package/dist/app/lib/blocks/BlockPropMutator.js +20 -0
  36. package/dist/app/lib/blocks/ContentBlocks.d.ts +7 -4
  37. package/dist/app/lib/blocks/ContentBlocks.d.ts.map +1 -0
  38. package/dist/app/lib/blocks/ContentBlocks.js +14 -1
  39. package/dist/app/lib/blocks/EditableText.d.ts +30 -5
  40. package/dist/app/lib/blocks/EditableText.d.ts.map +1 -0
  41. package/dist/app/lib/blocks/EditableText.js +34 -5
  42. package/dist/app/lib/blocks/InnerBlocks.d.ts +11 -6
  43. package/dist/app/lib/blocks/InnerBlocks.d.ts.map +1 -0
  44. package/dist/app/lib/blocks/InnerBlocks.js +67 -27
  45. package/dist/app/lib/blocks/SlotBlocks.d.ts +8 -0
  46. package/dist/app/lib/blocks/SlotBlocks.d.ts.map +1 -0
  47. package/dist/app/lib/blocks/SlotBlocks.js +45 -0
  48. package/dist/app/lib/blocks/block-utils.d.ts +1 -0
  49. package/dist/app/lib/blocks/block-utils.d.ts.map +1 -0
  50. package/dist/app/lib/blocks/block-utils.js +18 -1
  51. package/dist/app/lib/blocks/builtin-blocks.d.ts +2 -0
  52. package/dist/app/lib/blocks/builtin-blocks.d.ts.map +1 -0
  53. package/dist/app/lib/blocks/builtin-blocks.js +55 -0
  54. package/dist/app/lib/blocks/defineBlock.d.ts +4 -0
  55. package/dist/app/lib/blocks/defineBlock.d.ts.map +1 -0
  56. package/dist/app/lib/blocks/defineBlock.js +9 -0
  57. package/dist/app/lib/blocks/editor/EditingContext.d.ts +2 -0
  58. package/dist/app/lib/blocks/editor/EditingContext.d.ts.map +1 -0
  59. package/dist/app/lib/blocks/editor/EditingContext.js +31 -0
  60. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts +1 -0
  61. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts.map +1 -0
  62. package/dist/app/lib/blocks/editor/EditorHighlights.js +43 -9
  63. package/dist/app/lib/blocks/editor/EditorSupport.d.ts +1 -4
  64. package/dist/app/lib/blocks/editor/EditorSupport.d.ts.map +1 -0
  65. package/dist/app/lib/blocks/editor/EditorSupport.js +23 -9
  66. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts +1 -0
  67. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts.map +1 -0
  68. package/dist/app/lib/blocks/editor/block-templates.d.ts +8 -1
  69. package/dist/app/lib/blocks/editor/block-templates.d.ts.map +1 -0
  70. package/dist/app/lib/blocks/editor/block-templates.js +71 -2
  71. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +1 -0
  72. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts.map +1 -0
  73. package/dist/app/lib/blocks/editor/controls.d.ts +1 -0
  74. package/dist/app/lib/blocks/editor/controls.d.ts.map +1 -0
  75. package/dist/app/lib/blocks/editor/create-block.d.ts +10 -0
  76. package/dist/app/lib/blocks/editor/create-block.d.ts.map +1 -0
  77. package/dist/app/lib/blocks/editor/create-block.js +13 -0
  78. package/dist/app/lib/blocks/editor/editor-config.d.ts +64 -7
  79. package/dist/app/lib/blocks/editor/editor-config.d.ts.map +1 -0
  80. package/dist/app/lib/blocks/editor/editor-config.js +28 -73
  81. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +4 -0
  82. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts.map +1 -0
  83. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +152 -27
  84. package/dist/app/lib/blocks/editor/root-blocks.d.ts +1 -0
  85. package/dist/app/lib/blocks/editor/root-blocks.d.ts.map +1 -0
  86. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +12 -1
  87. package/dist/app/lib/blocks/editor/usePostEditor.d.ts.map +1 -0
  88. package/dist/app/lib/blocks/editor/usePostEditor.js +38 -13
  89. package/dist/app/lib/blocks/index.d.ts +8 -5
  90. package/dist/app/lib/blocks/index.d.ts.map +1 -0
  91. package/dist/app/lib/blocks/index.js +8 -5
  92. package/dist/app/lib/blocks/inline-editing.d.ts +16 -1
  93. package/dist/app/lib/blocks/inline-editing.d.ts.map +1 -0
  94. package/dist/app/lib/blocks/inline-editing.js +14 -1
  95. package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts +1 -0
  96. package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts.map +1 -0
  97. package/dist/app/lib/devtools/components/BreakpointIndicator.js +1 -1
  98. package/dist/app/lib/devtools/components/DevUI.d.ts +1 -0
  99. package/dist/app/lib/devtools/components/DevUI.d.ts.map +1 -0
  100. package/dist/app/lib/devtools/components/DevUI.js +1 -1
  101. package/dist/app/lib/devtools/components/GridIndicator.d.ts +1 -0
  102. package/dist/app/lib/devtools/components/GridIndicator.d.ts.map +1 -0
  103. package/dist/app/lib/devtools/components/GridIndicator.js +1 -1
  104. package/dist/app/lib/devtools/dev-tools-store.d.ts +1 -0
  105. package/dist/app/lib/devtools/dev-tools-store.d.ts.map +1 -0
  106. package/dist/app/lib/devtools/hooks/usePersistState.d.ts +1 -0
  107. package/dist/app/lib/devtools/hooks/usePersistState.d.ts.map +1 -0
  108. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +1358 -313
  109. package/dist/app/lib/devtools/hooks/useTailwind.d.ts.map +1 -0
  110. package/dist/app/lib/devtools/index.d.ts +1 -0
  111. package/dist/app/lib/devtools/index.d.ts.map +1 -0
  112. package/dist/app/lib/devtools/loader.d.ts +2 -1
  113. package/dist/app/lib/devtools/loader.d.ts.map +1 -0
  114. package/dist/app/lib/devtools/loader.js +4 -3
  115. package/dist/app/lib/devtools/tailwind.config.d.ts +1 -0
  116. package/dist/app/lib/devtools/tailwind.config.d.ts.map +1 -0
  117. package/dist/app/lib/devtools/useQueryDebug.d.ts +2 -1
  118. package/dist/app/lib/devtools/useQueryDebug.d.ts.map +1 -0
  119. package/dist/app/lib/dynamic/dynamic.d.ts +1 -0
  120. package/dist/app/lib/dynamic/dynamic.d.ts.map +1 -0
  121. package/dist/app/lib/dynamic/index.d.ts +1 -0
  122. package/dist/app/lib/dynamic/index.d.ts.map +1 -0
  123. package/dist/app/lib/hooks/index.d.ts +2 -1
  124. package/dist/app/lib/hooks/index.d.ts.map +1 -0
  125. package/dist/app/lib/hooks/index.js +1 -1
  126. package/dist/app/lib/hooks/{queryUtils.d.ts → query-hooks.d.ts} +8 -2
  127. package/dist/app/lib/hooks/query-hooks.d.ts.map +1 -0
  128. package/dist/app/lib/hooks/{queryUtils.js → query-hooks.js} +43 -11
  129. package/dist/app/lib/hooks/useAppData.d.ts +1 -0
  130. package/dist/app/lib/hooks/useAppData.d.ts.map +1 -0
  131. package/dist/app/lib/hooks/useAppData.js +11 -0
  132. package/dist/app/lib/hooks/useRPC.d.ts +1 -0
  133. package/dist/app/lib/hooks/useRPC.d.ts.map +1 -0
  134. package/dist/app/lib/hooks/useRPC.js +0 -1
  135. package/dist/app/lib/integrations/gravityforms/index.d.ts +3 -0
  136. package/dist/app/lib/integrations/gravityforms/index.d.ts.map +1 -0
  137. package/dist/app/lib/integrations/gravityforms/index.js +2 -0
  138. package/dist/app/lib/integrations/gravityforms/types.d.ts +145 -0
  139. package/dist/app/lib/integrations/gravityforms/types.d.ts.map +1 -0
  140. package/dist/app/lib/integrations/gravityforms/types.js +1 -0
  141. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts +31 -0
  142. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts.map +1 -0
  143. package/dist/app/lib/integrations/gravityforms/useGravityForm.js +298 -0
  144. package/dist/app/lib/internal/finalize-rpc.d.ts +1 -0
  145. package/dist/app/lib/internal/finalize-rpc.d.ts.map +1 -0
  146. package/dist/app/lib/internal/index.d.ts +1 -0
  147. package/dist/app/lib/internal/index.d.ts.map +1 -0
  148. package/dist/app/lib/internal/internal-store.d.ts +1 -0
  149. package/dist/app/lib/internal/internal-store.d.ts.map +1 -0
  150. package/dist/app/lib/internal/read-admin-manifest.d.ts +1 -0
  151. package/dist/app/lib/internal/read-admin-manifest.d.ts.map +1 -0
  152. package/dist/app/lib/internal/read-block-manifest.d.ts +2 -0
  153. package/dist/app/lib/internal/read-block-manifest.d.ts.map +1 -0
  154. package/dist/app/lib/internal/read-block-manifest.js +7 -0
  155. package/dist/app/lib/internal/read-view-manifest.d.ts +7 -4
  156. package/dist/app/lib/internal/read-view-manifest.d.ts.map +1 -0
  157. package/dist/app/lib/internal/read-view-manifest.js +18 -0
  158. package/dist/app/lib/legacy-stitches/createStitches.d.ts +8 -7
  159. package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +1 -0
  160. package/dist/app/lib/legacy-stitches/index.d.ts +1 -0
  161. package/dist/app/lib/legacy-stitches/index.d.ts.map +1 -0
  162. package/dist/app/lib/routing/components/BackButton.d.ts +1 -0
  163. package/dist/app/lib/routing/components/BackButton.d.ts.map +1 -0
  164. package/dist/app/lib/routing/components/BrowserRouter.d.ts +7 -1
  165. package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -0
  166. package/dist/app/lib/routing/components/BrowserRouter.js +85 -14
  167. package/dist/app/lib/routing/components/ClientOnly.d.ts +1 -0
  168. package/dist/app/lib/routing/components/ClientOnly.d.ts.map +1 -0
  169. package/dist/app/lib/routing/components/ClientOnly.js +3 -3
  170. package/dist/app/lib/routing/components/Link.d.ts +21 -2
  171. package/dist/app/lib/routing/components/Link.d.ts.map +1 -0
  172. package/dist/app/lib/routing/components/Link.js +52 -23
  173. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts +10 -0
  174. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts.map +1 -0
  175. package/dist/app/lib/routing/components/NativeLinkHandler.js +23 -0
  176. package/dist/app/lib/routing/components/RouteRenderer.d.ts +1 -0
  177. package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -0
  178. package/dist/app/lib/routing/components/RouteRenderer.js +14 -1
  179. package/dist/app/lib/routing/components/SSRRouter.d.ts +3 -0
  180. package/dist/app/lib/routing/components/SSRRouter.d.ts.map +1 -0
  181. package/dist/app/lib/routing/components/SSRRouter.js +2 -0
  182. package/dist/app/lib/routing/components/ScrollRestoration.d.ts +1 -0
  183. package/dist/app/lib/routing/components/ScrollRestoration.d.ts.map +1 -0
  184. package/dist/app/lib/routing/context.d.ts +1 -0
  185. package/dist/app/lib/routing/context.d.ts.map +1 -0
  186. package/dist/app/lib/routing/hooks/{useIsSSR.d.ts → useHydrating.d.ts} +7 -0
  187. package/dist/app/lib/routing/hooks/useHydrating.d.ts.map +1 -0
  188. package/dist/app/lib/routing/hooks/{useIsSSR.js → useHydrating.js} +13 -3
  189. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +1 -0
  190. package/dist/app/lib/routing/hooks/useRestorableState.d.ts.map +1 -0
  191. package/dist/app/lib/routing/hooks/useRestorableState.js +7 -2
  192. package/dist/app/lib/routing/hooks/useRoute.d.ts +1 -0
  193. package/dist/app/lib/routing/hooks/useRoute.d.ts.map +1 -0
  194. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts +1 -0
  195. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts.map +1 -0
  196. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +1 -0
  197. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts.map +1 -0
  198. package/dist/app/lib/routing/hooks/useRouter.d.ts +1 -0
  199. package/dist/app/lib/routing/hooks/useRouter.d.ts.map +1 -0
  200. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +1 -0
  201. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts.map +1 -0
  202. package/dist/app/lib/routing/hooks/useRouterState.d.ts +1 -0
  203. package/dist/app/lib/routing/hooks/useRouterState.d.ts.map +1 -0
  204. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +78 -6
  205. package/dist/app/lib/routing/hooks/useSearchParams.d.ts.map +1 -0
  206. package/dist/app/lib/routing/hooks/useSearchParams.js +75 -15
  207. package/dist/app/lib/routing/index.d.ts +4 -1
  208. package/dist/app/lib/routing/index.d.ts.map +1 -0
  209. package/dist/app/lib/routing/index.js +3 -1
  210. package/dist/app/lib/routing/loader.d.ts +1 -0
  211. package/dist/app/lib/routing/loader.d.ts.map +1 -0
  212. package/dist/app/lib/routing/loader.js +1 -1
  213. package/dist/app/lib/routing/types.d.ts +40 -6
  214. package/dist/app/lib/routing/types.d.ts.map +1 -0
  215. package/dist/app/lib/routing/utils.d.ts +2 -0
  216. package/dist/app/lib/routing/utils.d.ts.map +1 -0
  217. package/dist/app/lib/routing/utils.js +5 -1
  218. package/dist/app/lib/runtime/apiConfig.d.ts +5 -0
  219. package/dist/app/lib/runtime/apiConfig.d.ts.map +1 -0
  220. package/dist/app/lib/runtime/errorHandling.d.ts +1 -0
  221. package/dist/app/lib/runtime/errorHandling.d.ts.map +1 -0
  222. package/dist/app/lib/runtime/index.d.ts +1 -0
  223. package/dist/app/lib/runtime/index.d.ts.map +1 -0
  224. package/dist/app/lib/views/defineView.d.ts +2 -1
  225. package/dist/app/lib/views/defineView.d.ts.map +1 -0
  226. package/dist/app/lib/views/index.d.ts +1 -0
  227. package/dist/app/lib/views/index.d.ts.map +1 -0
  228. package/dist/app/server/index.d.ts +4 -3
  229. package/dist/app/server/index.d.ts.map +1 -0
  230. package/dist/app/server/index.js +3 -3
  231. package/dist/app/server/proxy-wp-admin.d.ts +1 -0
  232. package/dist/app/server/proxy-wp-admin.d.ts.map +1 -0
  233. package/dist/app/server/proxy-wp-admin.js +23 -9
  234. package/dist/app/server/render-ai-page.d.ts +13 -0
  235. package/dist/app/server/render-ai-page.d.ts.map +1 -0
  236. package/dist/app/server/render-ai-page.js +102 -0
  237. package/dist/app/server/render-ssr-page.d.ts +17 -6
  238. package/dist/app/server/render-ssr-page.d.ts.map +1 -0
  239. package/dist/app/server/render-ssr-page.js +119 -36
  240. package/dist/app/server/rpc.d.ts +18 -41
  241. package/dist/app/server/rpc.d.ts.map +1 -0
  242. package/dist/app/server/server-context.d.ts +14 -3
  243. package/dist/app/server/server-context.d.ts.map +1 -0
  244. package/dist/app/server/server-context.js +204 -21
  245. package/dist/app/server/server-custom-config.d.ts +3 -0
  246. package/dist/app/server/server-custom-config.d.ts.map +1 -0
  247. package/dist/app/server/server-custom-config.js +1 -0
  248. package/dist/app/server/utils/content-security.d.ts +26 -0
  249. package/dist/app/server/utils/content-security.d.ts.map +1 -0
  250. package/dist/app/server/utils/content-security.js +124 -0
  251. package/dist/app/server/utils/headers.d.ts +1 -0
  252. package/dist/app/server/utils/headers.d.ts.map +1 -0
  253. package/dist/app/server/utils/replace-host.d.ts +1 -0
  254. package/dist/app/server/utils/replace-host.d.ts.map +1 -0
  255. package/dist/app/server/utils/swr-cache.d.ts +1 -0
  256. package/dist/app/server/utils/swr-cache.d.ts.map +1 -0
  257. package/dist/app/utils/APIProvider.d.ts +1 -0
  258. package/dist/app/utils/APIProvider.d.ts.map +1 -0
  259. package/dist/app/utils/BlockErrorBoundary.d.ts +1 -0
  260. package/dist/app/utils/BlockErrorBoundary.d.ts.map +1 -0
  261. package/dist/app/utils/ErrorMessage.d.ts +1 -0
  262. package/dist/app/utils/ErrorMessage.d.ts.map +1 -0
  263. package/dist/app/utils/RouteErrorBoundary.d.ts +2 -0
  264. package/dist/app/utils/RouteErrorBoundary.d.ts.map +1 -0
  265. package/dist/app/utils/RouteErrorBoundary.js +3 -0
  266. package/dist/app/utils/asset-capture.d.ts +1 -0
  267. package/dist/app/utils/asset-capture.d.ts.map +1 -0
  268. package/dist/app/utils/hydration-debugger.d.ts +1 -0
  269. package/dist/app/utils/hydration-debugger.d.ts.map +1 -0
  270. package/dist/app/utils/query-client.d.ts +1 -0
  271. package/dist/app/utils/query-client.d.ts.map +1 -0
  272. package/dist/app/utils/query-monitor.d.ts +27 -0
  273. package/dist/app/utils/query-monitor.d.ts.map +1 -0
  274. package/dist/app/utils/query-monitor.js +7 -0
  275. package/dist/app/utils/trpc-client.d.ts +1 -0
  276. package/dist/app/utils/trpc-client.d.ts.map +1 -0
  277. package/dist/app/utils/trpc-client.js +1 -1
  278. package/dist/app/utils/wp.d.ts +11 -10
  279. package/dist/app/utils/wp.d.ts.map +1 -0
  280. package/dist/node/cli/cli-mode.d.ts +1 -0
  281. package/dist/node/cli/cli-mode.d.ts.map +1 -0
  282. package/dist/node/cli/cli-worker.d.ts +1 -0
  283. package/dist/node/cli/cli-worker.d.ts.map +1 -0
  284. package/dist/node/cli/cli-worker.js +1 -0
  285. package/dist/node/cli/cli.d.ts +1 -0
  286. package/dist/node/cli/cli.d.ts.map +1 -0
  287. package/dist/node/cli/cli.js +100 -11
  288. package/dist/node/cli/display/CLIApp.d.ts +1 -0
  289. package/dist/node/cli/display/CLIApp.d.ts.map +1 -0
  290. package/dist/node/cli/display/boot-cli-app.d.ts +1 -0
  291. package/dist/node/cli/display/boot-cli-app.d.ts.map +1 -0
  292. package/dist/node/cli/display/components/Fullscreen.d.ts +1 -0
  293. package/dist/node/cli/display/components/Fullscreen.d.ts.map +1 -0
  294. package/dist/node/cli/display/components/LogEntries.d.ts +1 -0
  295. package/dist/node/cli/display/components/LogEntries.d.ts.map +1 -0
  296. package/dist/node/cli/display/components/MenuItem.d.ts +1 -0
  297. package/dist/node/cli/display/components/MenuItem.d.ts.map +1 -0
  298. package/dist/node/cli/display/components/TextInput.d.ts +1 -0
  299. package/dist/node/cli/display/components/TextInput.d.ts.map +1 -0
  300. package/dist/node/cli/display/hooks/useManifest.d.ts +1 -0
  301. package/dist/node/cli/display/hooks/useManifest.d.ts.map +1 -0
  302. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +1 -0
  303. package/dist/node/cli/display/hooks/useStatefulLog.d.ts.map +1 -0
  304. package/dist/node/cli/display/tools/BlockList.d.ts +1 -0
  305. package/dist/node/cli/display/tools/BlockList.d.ts.map +1 -0
  306. package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -0
  307. package/dist/node/cli/display/tools/CreateBlock.d.ts.map +1 -0
  308. package/dist/node/cli/display/tools/cli-tool-list.d.ts +1 -0
  309. package/dist/node/cli/display/tools/cli-tool-list.d.ts.map +1 -0
  310. package/dist/node/cli/display/tools/cli-tools.d.ts +1 -0
  311. package/dist/node/cli/display/tools/cli-tools.d.ts.map +1 -0
  312. package/dist/node/cli/display/util/colors.d.ts +1 -0
  313. package/dist/node/cli/display/util/colors.d.ts.map +1 -0
  314. package/dist/node/cli/version.d.ts +2 -1
  315. package/dist/node/cli/version.d.ts.map +1 -0
  316. package/dist/node/cli/version.js +1 -1
  317. package/dist/node/compiler/build-vinxi.d.ts +1 -0
  318. package/dist/node/compiler/build-vinxi.d.ts.map +1 -0
  319. package/dist/node/compiler/build-vinxi.js +1 -0
  320. package/dist/node/compiler/bundler.admin.d.ts +1 -0
  321. package/dist/node/compiler/bundler.admin.d.ts.map +1 -0
  322. package/dist/node/compiler/bundler.frontend.d.ts +2 -0
  323. package/dist/node/compiler/bundler.frontend.d.ts.map +1 -0
  324. package/dist/node/compiler/bundler.frontend.js +25 -11
  325. package/dist/node/compiler/cache-config.d.ts +3 -0
  326. package/dist/node/compiler/cache-config.d.ts.map +1 -0
  327. package/dist/node/compiler/cache-config.js +16 -0
  328. package/dist/node/compiler/dev-server.d.ts +4 -1
  329. package/dist/node/compiler/dev-server.d.ts.map +1 -0
  330. package/dist/node/compiler/dev-server.js +26 -13
  331. package/dist/node/compiler/get-vite-config.d.ts +11 -1
  332. package/dist/node/compiler/get-vite-config.d.ts.map +1 -0
  333. package/dist/node/compiler/get-vite-config.js +164 -36
  334. package/dist/node/compiler/vinxi-app.d.ts +1 -0
  335. package/dist/node/compiler/vinxi-app.d.ts.map +1 -0
  336. package/dist/node/compiler/vinxi-app.js +56 -39
  337. package/dist/node/compiler/vinxi-codegen.d.ts +1 -0
  338. package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -0
  339. package/dist/node/compiler/vinxi-codegen.js +152 -85
  340. package/dist/node/graphql/graphql-codegen.d.ts +1 -0
  341. package/dist/node/graphql/graphql-codegen.d.ts.map +1 -0
  342. package/dist/node/graphql/graphql-codegen.js +52 -24
  343. package/dist/node/graphql/graphql-schema-loader.d.ts +1 -0
  344. package/dist/node/graphql/graphql-schema-loader.d.ts.map +1 -0
  345. package/dist/node/graphql/plugins/gql-plugin-files.d.ts +3 -1
  346. package/dist/node/graphql/plugins/gql-plugin-files.d.ts.map +1 -0
  347. package/dist/node/graphql/plugins/gql-plugin-files.js +3 -2
  348. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +1 -0
  349. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts.map +1 -0
  350. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +1 -0
  351. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts.map +1 -0
  352. package/dist/node/graphql/plugins/gql-plugin-queries.js +1 -1
  353. package/dist/node/graphql/query-files-loader.d.ts +1 -0
  354. package/dist/node/graphql/query-files-loader.d.ts.map +1 -0
  355. package/dist/node/graphql/wp-info-query.d.ts +1 -0
  356. package/dist/node/graphql/wp-info-query.d.ts.map +1 -0
  357. package/dist/node/project/config.d.ts +112 -7
  358. package/dist/node/project/config.d.ts.map +1 -0
  359. package/dist/node/project/config.js +54 -24
  360. package/dist/node/project/eddev-build-file.d.ts +1 -0
  361. package/dist/node/project/eddev-build-file.d.ts.map +1 -0
  362. package/dist/node/project/eddev-build-file.js +4 -2
  363. package/dist/node/project/env.d.ts +1 -0
  364. package/dist/node/project/env.d.ts.map +1 -0
  365. package/dist/node/project/favicons.d.ts +1 -0
  366. package/dist/node/project/favicons.d.ts.map +1 -0
  367. package/dist/node/project/manifest/block-manifest.d.ts +1 -0
  368. package/dist/node/project/manifest/block-manifest.d.ts.map +1 -0
  369. package/dist/node/project/manifest/block-manifest.js +7 -2
  370. package/dist/node/project/manifest/field-manifest.d.ts +1 -0
  371. package/dist/node/project/manifest/field-manifest.d.ts.map +1 -0
  372. package/dist/node/project/manifest/manifest.d.ts +1 -0
  373. package/dist/node/project/manifest/manifest.d.ts.map +1 -0
  374. package/dist/node/project/manifest/routes-manifest.d.ts +1 -0
  375. package/dist/node/project/manifest/routes-manifest.d.ts.map +1 -0
  376. package/dist/node/project/manifest/routes-manifest.js +1 -1
  377. package/dist/node/project/manifest/view-manifest.d.ts +1 -0
  378. package/dist/node/project/manifest/view-manifest.d.ts.map +1 -0
  379. package/dist/node/project/manifest/widget-manifest.d.ts +1 -0
  380. package/dist/node/project/manifest/widget-manifest.d.ts.map +1 -0
  381. package/dist/node/project/project.d.ts +4 -0
  382. package/dist/node/project/project.d.ts.map +1 -0
  383. package/dist/node/project/project.js +24 -1
  384. package/dist/node/project/wp-info.d.ts +2 -0
  385. package/dist/node/project/wp-info.d.ts.map +1 -0
  386. package/dist/node/storybook/index.d.ts +3 -0
  387. package/dist/node/storybook/index.d.ts.map +1 -0
  388. package/dist/node/storybook/index.js +13 -0
  389. package/dist/node/types/block-type.d.ts +33 -6
  390. package/dist/node/types/block-type.d.ts.map +1 -0
  391. package/dist/node/types/block-type.js +3 -1
  392. package/dist/node/types/view-type.d.ts +1 -0
  393. package/dist/node/types/view-type.d.ts.map +1 -0
  394. package/dist/node/utils/fetch-wp.d.ts +1 -0
  395. package/dist/node/utils/fetch-wp.d.ts.map +1 -0
  396. package/dist/node/utils/fetch-wp.js +4 -3
  397. package/dist/node/utils/format-zod-error.d.ts +1 -0
  398. package/dist/node/utils/format-zod-error.d.ts.map +1 -0
  399. package/dist/node/utils/fs-codegen.d.ts +2 -0
  400. package/dist/node/utils/fs-codegen.d.ts.map +1 -0
  401. package/dist/node/utils/fs-codegen.js +8 -1
  402. package/dist/node/utils/fs.d.ts +24 -16
  403. package/dist/node/utils/fs.d.ts.map +1 -0
  404. package/dist/node/utils/get-repo-info.d.ts +1 -0
  405. package/dist/node/utils/get-repo-info.d.ts.map +1 -0
  406. package/dist/node/utils/helpers.d.ts +1 -0
  407. package/dist/node/utils/helpers.d.ts.map +1 -0
  408. package/dist/node/utils/highlight-code.d.ts +1 -0
  409. package/dist/node/utils/highlight-code.d.ts.map +1 -0
  410. package/dist/node/utils/is-deploying.d.ts +1 -0
  411. package/dist/node/utils/is-deploying.d.ts.map +1 -0
  412. package/dist/node/utils/report-builder.d.ts +7 -6
  413. package/dist/node/utils/report-builder.d.ts.map +1 -0
  414. package/dist/node/utils/self-signed-cert.d.ts +5 -0
  415. package/dist/node/utils/self-signed-cert.d.ts.map +1 -0
  416. package/dist/node/utils/self-signed-cert.js +28 -4
  417. package/dist/node/utils/stateful-log.d.ts +1 -0
  418. package/dist/node/utils/stateful-log.d.ts.map +1 -0
  419. package/dist/node/utils/ts-export-extractor.d.ts +1 -0
  420. package/dist/node/utils/ts-export-extractor.d.ts.map +1 -0
  421. package/dist/node/utils/watch-file-tree.d.ts +1 -0
  422. package/dist/node/utils/watch-file-tree.d.ts.map +1 -0
  423. package/package.json +34 -24
  424. package/tsconfig.app.json +8 -3
  425. package/tsconfig.node.json +1 -0
  426. package/types.env.d.ts +3 -0
  427. package/types.meta.d.ts +449 -136
  428. package/dist/app/server/defineRouter.d.ts +0 -2
  429. package/dist/app/server/defineRouter.js +0 -4
@@ -1,2 +1,3 @@
1
1
  import { RouterAPIState } from "../types.js";
2
2
  export declare function useRouterState<T = RouterAPIState>(selector?: (state: RouterAPIState) => T): T;
3
+ //# sourceMappingURL=useRouterState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRouterState.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useRouterState.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,wBAAgB,cAAc,CAAC,CAAC,GAAG,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,CAAC,GAAG,CAAC,CAI7F"}
@@ -1,10 +1,82 @@
1
+ /**
2
+ * Search param API object.
3
+ */
1
4
  export type SearchParamAPI<T> = {
2
- set<K extends keyof T>(key: K, value: T[K]): void;
3
- setAll: (value: T) => void;
4
- setter<K extends keyof T>(key: K): (value: T[K]) => void;
5
+ /**
6
+ * Set an individual parameter value by key.
7
+ *
8
+ * If the value is an array, then one or more `key[]` parameters will be set. Otherwise, a single `key` parameter will be set.
9
+ *
10
+ * If the value is `null` or `undefined`, the parameter will be removed from the query string.
11
+ *
12
+ * @param key The search parameter name
13
+ * @param value The value to set
14
+ */
15
+ set<K extends keyof T>(key: K, value: T[K] | null | undefined): void;
16
+ /**
17
+ * Set all parameters at once, replacing the entire query string. Any parameters not present will be replaced with their default value. Passing an empty object is equivalent to calling `reset()`.
18
+ *
19
+ * @param value
20
+ * @returns
21
+ */
22
+ setAll: (value: Partial<T>) => void;
23
+ /**
24
+ * Returns a memoized setter function for a specific key.
25
+ *
26
+ * This is useful when you want to pass a setter function to a child component, without needing to pass the entire API object.
27
+ *
28
+ * For example:
29
+ * ```tsx
30
+ * <SearchInput value={params.q} onSearch={api.setter("q")} />
31
+ * ```
32
+ *
33
+ * @param key The search parameter name
34
+ * @returns (value: T) => void
35
+ */
36
+ setter<K extends keyof T>(key: K): (value: T[K] | null | undefined) => void;
37
+ /**
38
+ * Reset all parameters to their default values.
39
+ */
5
40
  reset(): void;
41
+ /**
42
+ * Gets the current value of a parameter. In most cases, you should use the `params` object returned from `useSearchParams` instead of this method.
43
+ */
6
44
  get<K extends keyof T>(key: K): T[K];
7
45
  };
8
- export declare function useSearchParams<T extends {
9
- [K: string]: any;
10
- }>(defaultValue: T): [T, SearchParamAPI<T>];
46
+ /**
47
+ * Provides type-safe read/write access to query string parameters, integrating with the routing system.
48
+ *
49
+ * - Call `useSearchParams` with a default value object, which defines the expected shape of the query string parameters.
50
+ * - Only keys that are present in the default value object will be handled, and all others will be ignored.
51
+ * - Arrays of values are supported, and you should use a default value of `[]` for that key. You may want to cast the default parameter as an array of the expected type (eg. `myValue: [] as string[]`) to ensure that the parameter type is correct.
52
+ * - This hook returns a tuple with the current query string parameters object, and an API object with methods to interact with the query string. See {@link SearchParamAPI} for more details.
53
+ *
54
+ * For example:
55
+ * ```tsx
56
+ * const [params, api] = useSearchParams({
57
+ * mode: "list" as "list" | "grid",
58
+ * page: 1,
59
+ * tags: [] as string[],
60
+ * })
61
+ *
62
+ * api.set("mode", "grid")
63
+ * api.set("tags", ["tag1", "tag2"])
64
+ * ```
65
+ *
66
+ * Note that if a parameter is set back to it's default value, it'll actually be _removed_ from the updated query string, keeping the URL clean when only the default values are set.
67
+ *
68
+ * ```tsx
69
+ * api.set("mode", "grid")
70
+ * // url becomes: "/?mode=grid"
71
+ * // params.mode === 'grid'
72
+ *
73
+ * api.set("mode", "list")
74
+ * // url becomes: "/"
75
+ * // params.mode === 'list'
76
+ * ```
77
+ *
78
+ * @param defaultValue - The default value object, defining the expected shape of the query string parameters.
79
+ * @returns A tuple of the resolve parameter object, and a {@link SearchParamAPI} object with methods to interact with the query string.
80
+ */
81
+ export declare function useSearchParams<T extends object>(defaultValue: T): [T, SearchParamAPI<T>];
82
+ //# sourceMappingURL=useSearchParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSearchParams.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useSearchParams.tsx"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;IACpE;;;;;OAKG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACnC;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAA;IAC3E;;OAEG;IACH,KAAK,IAAI,IAAI,CAAA;IACb;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;CACrC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CA2DzF"}
@@ -1,30 +1,90 @@
1
- import { useMemo } from "react";
1
+ import { useMemo, useRef, useState } from "react";
2
2
  import { useRoute } from "./useRoute.js";
3
3
  import { useRouter } from "./useRouter.js";
4
+ import { parseQuery } from "../utils.js";
5
+ import { hash } from "object-code";
6
+ /**
7
+ * Provides type-safe read/write access to query string parameters, integrating with the routing system.
8
+ *
9
+ * - Call `useSearchParams` with a default value object, which defines the expected shape of the query string parameters.
10
+ * - Only keys that are present in the default value object will be handled, and all others will be ignored.
11
+ * - Arrays of values are supported, and you should use a default value of `[]` for that key. You may want to cast the default parameter as an array of the expected type (eg. `myValue: [] as string[]`) to ensure that the parameter type is correct.
12
+ * - This hook returns a tuple with the current query string parameters object, and an API object with methods to interact with the query string. See {@link SearchParamAPI} for more details.
13
+ *
14
+ * For example:
15
+ * ```tsx
16
+ * const [params, api] = useSearchParams({
17
+ * mode: "list" as "list" | "grid",
18
+ * page: 1,
19
+ * tags: [] as string[],
20
+ * })
21
+ *
22
+ * api.set("mode", "grid")
23
+ * api.set("tags", ["tag1", "tag2"])
24
+ * ```
25
+ *
26
+ * Note that if a parameter is set back to it's default value, it'll actually be _removed_ from the updated query string, keeping the URL clean when only the default values are set.
27
+ *
28
+ * ```tsx
29
+ * api.set("mode", "grid")
30
+ * // url becomes: "/?mode=grid"
31
+ * // params.mode === 'grid'
32
+ *
33
+ * api.set("mode", "list")
34
+ * // url becomes: "/"
35
+ * // params.mode === 'list'
36
+ * ```
37
+ *
38
+ * @param defaultValue - The default value object, defining the expected shape of the query string parameters.
39
+ * @returns A tuple of the resolve parameter object, and a {@link SearchParamAPI} object with methods to interact with the query string.
40
+ */
4
41
  export function useSearchParams(defaultValue) {
5
- const route = useRoute();
6
- const replaceQuery = useRouter((r) => r.replaceQuery);
7
- const result = useMemo(() => ({
42
+ const [currentQuery, replaceQuery] = env.admin
43
+ ? useState({})
44
+ : [useRoute().query, useRouter((r) => r.replaceQuery)];
45
+ const merged = useMemo(() => ({
8
46
  ...defaultValue,
9
- ...route.query,
10
- }), [route.query]);
47
+ ...currentQuery,
48
+ }), [currentQuery]);
49
+ const values = useRef(merged);
50
+ values.current = merged;
51
+ // Memoized setters
52
+ const setters = useMemo(() => ({}), []);
53
+ // Gets the current value, directly from the source.
54
+ function get() {
55
+ if (env.client) {
56
+ return { ...defaultValue, ...parseQuery(document.location.search) };
57
+ }
58
+ else {
59
+ return merged;
60
+ }
61
+ }
62
+ // Main update function
11
63
  const update = (patch) => {
12
- const value = { ...result, ...patch };
64
+ const value = { ...get(), ...patch };
13
65
  for (let key in defaultValue) {
14
- if (defaultValue[key] === value[key] || [null, undefined].includes(value[key])) {
66
+ if (hash(defaultValue[key]) === hash(value[key]) || [null, undefined].includes(value[key])) {
15
67
  delete value[key];
16
68
  }
17
69
  }
70
+ values.current = value;
18
71
  replaceQuery(value);
19
72
  };
20
73
  return [
21
- result,
22
- {
23
- set: (key, value) => update({ ...result, [key]: value }),
24
- setAll: (value) => update(value),
25
- setter: (key) => (value) => update({ ...result, [key]: value }),
74
+ values.current,
75
+ useMemo(() => ({
76
+ set: (key, value) => update({ [key]: value }),
77
+ setAll: (value) => update({
78
+ ...defaultValue,
79
+ ...value,
80
+ }),
81
+ setter: (key) => {
82
+ if (!setters[key])
83
+ setters[key] = (value) => update({ [key]: value });
84
+ return setters[key];
85
+ },
26
86
  reset: () => update({}),
27
- get: (key) => result[key],
28
- },
87
+ get: (key) => values.current[key],
88
+ }), []),
29
89
  ];
30
90
  }
@@ -4,11 +4,14 @@ export * from "./components/ScrollRestoration.js";
4
4
  export * from "./components/RouteRenderer.js";
5
5
  export * from "./components/ClientOnly.js";
6
6
  export * from "./components/BackButton.js";
7
+ export * from "./components/NativeLinkHandler.js";
7
8
  export * from "./hooks/useRoute.js";
8
9
  export * from "./hooks/useRouteTransition.js";
9
10
  export * from "./hooks/useRouter.js";
10
11
  export * from "./hooks/useRouterEvents.js";
11
12
  export * from "./hooks/useRouterState.js";
12
13
  export * from "./hooks/useRestorableState.js";
13
- export * from "./hooks/useIsSSR.js";
14
+ export * from "./hooks/useHydrating.js";
14
15
  export * from "./hooks/useSearchParams.js";
16
+ export { getLinkHandlerMode, isSameOrigin } from "./utils.js";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAE1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,mCAAmC,CAAA;AACjD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAA;AAEjD,cAAc,qBAAqB,CAAA;AACnC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
@@ -4,11 +4,13 @@ export * from "./components/ScrollRestoration.js";
4
4
  export * from "./components/RouteRenderer.js";
5
5
  export * from "./components/ClientOnly.js";
6
6
  export * from "./components/BackButton.js";
7
+ export * from "./components/NativeLinkHandler.js";
7
8
  export * from "./hooks/useRoute.js";
8
9
  export * from "./hooks/useRouteTransition.js";
9
10
  export * from "./hooks/useRouter.js";
10
11
  export * from "./hooks/useRouterEvents.js";
11
12
  export * from "./hooks/useRouterState.js";
12
13
  export * from "./hooks/useRestorableState.js";
13
- export * from "./hooks/useIsSSR.js";
14
+ export * from "./hooks/useHydrating.js";
14
15
  export * from "./hooks/useSearchParams.js";
16
+ export { getLinkHandlerMode, isSameOrigin } from "./utils.js";
@@ -28,3 +28,4 @@ export declare class RouteLoader {
28
28
  getRouteComponent<K extends keyof ViewProps>(view: K): DynamicComponent<FunctionComponent<ViewProps[K]>>;
29
29
  get appComponent(): DynamicComponent<FunctionComponent<PropsWithChildren<AppData>>>;
30
30
  }
31
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,SAAS,CAAA;IACf,SAAS,EAAE,iBAAiB,CAAA;CAC7B,CAAA;AAED,qBAAa,UAAW,SAAQ,KAAK;IAE1B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,MAAM;gBADlB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM;CAI5B;AAED,qBAAa,WAAW;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAY;IACpD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAY;IAC1D,OAAO,EAAE,OAAO,CAAQ;IACxB,OAAO,CAAC,SAAS,CAAgD;IACjE,OAAO,CAAC,YAAY,CAA2C;IAE/D,EAAE,SAAgB;IAElB,YAAY,CAAC,IAAI,EAAE,OAAO,KAAK;IAI/B,oBAAoB,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;IAI5D,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,WAAW;IAyBnB,YAAY,CAAC,QAAQ,EAAE,MAAM;IAKvB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,UAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAiD9E,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAKnD,iBAAiB,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,IAAI,EAAE,CAAC,GACT,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAG5F,IAAI,YAAY,IAC6B,gBAAgB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAC3G;CACF"}
@@ -77,7 +77,7 @@ export class RouteLoader {
77
77
  }
78
78
  try {
79
79
  const payload = JSON.parse(text);
80
- if (!payload.view) {
80
+ if (!payload.view && !payload.redirect) {
81
81
  throw new RouteError(`Invalid route data for '${pathname}'`, 500);
82
82
  }
83
83
  return payload;
@@ -36,18 +36,20 @@ export type RouteLink = {
36
36
  query: Record<string, string | string[]>;
37
37
  hash: string;
38
38
  };
39
- export type RouterEvent = {
39
+ export type RouterEvent = ({
40
40
  type: "clicked";
41
41
  link: RouteLink;
42
+ linkData: LinkClickData | undefined;
42
43
  currentRoute: RouteState;
43
- href: string;
44
- mode: LinkHandlerMode;
45
- } | {
44
+ target?: HTMLElement;
45
+ cancel: () => void;
46
+ } & LinkHandlerMode) | {
46
47
  type: "capture-restorable-state";
47
48
  state: RouteReturnState<Record<string, any>>;
48
49
  } | {
49
50
  type: "navigate:start";
50
51
  link: RouteLink;
52
+ linkData: LinkClickData | undefined;
51
53
  currentRoute: RouteState;
52
54
  hasPreloadedData: boolean;
53
55
  goingBack?: boolean;
@@ -55,16 +57,19 @@ export type RouterEvent = {
55
57
  } | {
56
58
  type: "navigate:data-ready";
57
59
  link: RouteLink;
60
+ linkData: LinkClickData | undefined;
58
61
  currentRoute: RouteState;
59
62
  loadedRoute: RouteState;
60
63
  } | {
61
64
  type: "navigate:will-change";
62
65
  link: RouteLink;
66
+ linkData: LinkClickData | undefined;
63
67
  currentRoute: RouteState;
64
68
  loadedRoute: RouteState;
65
69
  } | {
66
70
  type: "navigate:changed";
67
71
  link: RouteLink;
72
+ linkData: LinkClickData | undefined;
68
73
  lastRoute: RouteState;
69
74
  currentRoute: RouteState;
70
75
  } | {
@@ -84,6 +89,12 @@ export type RouterEvent = {
84
89
  } | {
85
90
  type: "error";
86
91
  critical: boolean;
92
+ linkData: LinkClickData | undefined;
93
+ url?: string;
94
+ shouldReload?: boolean;
95
+ error: Error;
96
+ } | {
97
+ type: "error:component-load-failed";
87
98
  error: Error;
88
99
  };
89
100
  export type RouterSubscriber = (event: RouterEvent) => void;
@@ -99,12 +110,15 @@ export type RouterAPIState = {
99
110
  blockers: Promise<void>[];
100
111
  };
101
112
  export type RouterAPI = {
113
+ hostname?: string;
102
114
  /** Preload a page and it's components */
103
115
  preload: (url: string) => Promise<void>;
104
116
  /** Prefetch the data for a page, but not it's components. */
105
117
  prefetch: (url: string) => Promise<void>;
106
118
  /** Begin transitioning to a new page */
107
- navigate: (url: string, returnState?: RouteReturnState) => Promise<void>;
119
+ navigate: (url: string, args?: {
120
+ linkData?: LinkClickData;
121
+ }) => Promise<void>;
108
122
  /** Replace the browser search params value with the given data, without transitioning the route */
109
123
  replaceQuery: (search: Record<string, string | string[]>) => void;
110
124
  /** Replace the hash */
@@ -116,7 +130,7 @@ export type RouterAPI = {
116
130
  * @param href An optional URL. This must be provided if no `href` property exists on the clicked element
117
131
  * @param preferBack If set, clicking this link will send the user 'back', when clicking a link to the previous history item.
118
132
  */
119
- handleClickEvent(e: PointerOrMouseEvent, href?: string, preferBack?: boolean | "exact"): void;
133
+ handleClickEvent(e: PointerOrMouseEvent, href?: string, preferBack?: boolean | "exact", element?: HTMLElement, linkData?: LinkClickData): void;
120
134
  /** A reference to the route loader (mostly for internal use) */
121
135
  loader: RouteLoader;
122
136
  /** Subscribe to events */
@@ -127,6 +141,8 @@ export type RouterAPI = {
127
141
  getState: () => RouterAPIState | null;
128
142
  /** Go back to a previous route in the history stack, or push it onto the stack if it isn't currently on the stack. */
129
143
  restoreRoute: (route: RouteState) => void;
144
+ /** Indicates that this page render is for consumption by an LLM */
145
+ isAI?: boolean;
130
146
  };
131
147
  export type TypedRouteState<T, TProps> = {
132
148
  /** A unique ID, representing this history item. */
@@ -153,12 +169,30 @@ export type TypedRouteState<T, TProps> = {
153
169
  props: TProps;
154
170
  /** Loaded metadata for this route */
155
171
  meta: RouteMeta;
172
+ /** Link data, provided using `<Link linkData={...} />`. Will be `undefined` if none was provided. */
173
+ linkData?: LinkClickData;
156
174
  };
175
+ export type LinkClickData = Record<string, any>;
157
176
  export type RouteMeta = {
158
177
  title?: string;
159
178
  tags?: RouteMetaTag[];
179
+ editLink?: string;
160
180
  };
161
181
  export type RouteState = {
162
182
  [K in keyof ViewProps]: TypedRouteState<K, ViewProps[K]>;
163
183
  }[keyof ViewProps];
164
184
  export type AnyRouteState = TypedRouteState<string, any>;
185
+ export type ErrorRouteProps = {
186
+ /** The HTTP status code for this error */
187
+ statusCode: number;
188
+ /** The title of the message (eg. Not Found) */
189
+ title?: string;
190
+ /** A message which can be shown to the user, specific to this error */
191
+ userMessage?: string;
192
+ /** Detailed error information, which can be displayed to developers or passed to monitoring services */
193
+ report?: {
194
+ message: string;
195
+ details: any;
196
+ };
197
+ };
198
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/types.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export type PointerOrMouseEvent = MouseEvent | PointerEvent | ReactMouseEvent |
6
6
  export type LinkHandlerMode = {
7
7
  mode: "ignore" | "navigate" | "native";
8
8
  href?: string;
9
+ isSameUrl?: boolean;
9
10
  };
10
11
  export declare function getLinkHandlerMode(e?: PointerOrMouseEvent, href?: string, currentRoute?: RouteState): LinkHandlerMode;
11
12
  type Partialize<T, TKeys extends keyof T> = Partial<Pick<T, TKeys>> & Omit<T, TKeys>;
@@ -16,3 +17,4 @@ export declare function stringifyQuery(query: any): string;
16
17
  export declare function getRouteMeta(data: RouteData): RouteMeta;
17
18
  export declare function addTrailingSlash(path?: string | null): string;
18
19
  export {};
20
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAExF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAExE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,WAQvC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,WAIlD;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,iBAAiB,CAAA;AAEjG,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE5G,wBAAgB,kBAAkB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,eAAe,CAmErH;AAED,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAEpF,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,GAAG,aAAa,GAAG,KAAK,CAAC,GAAG,UAAU,CAavG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,UAMlD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAI3E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,UAOxC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAMvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,UAKpD"}
@@ -35,6 +35,9 @@ export function getLinkHandlerMode(e, href, currentRoute) {
35
35
  href = eventTarget.href;
36
36
  if (!href)
37
37
  return { mode: "native", href };
38
+ if (href.match(/^(mailto|tel|callto|sms|maps):/)) {
39
+ return { mode: "native", href };
40
+ }
38
41
  // Resolve the URL and check if it's the same origin
39
42
  const resolved = href.startsWith("http")
40
43
  ? href
@@ -69,7 +72,7 @@ export function getLinkHandlerMode(e, href, currentRoute) {
69
72
  return { mode: "native", href };
70
73
  }
71
74
  else {
72
- return { mode: "ignore", href };
75
+ return { mode: "ignore", href, isSameUrl: true };
73
76
  }
74
77
  }
75
78
  return { mode: "navigate", href };
@@ -117,6 +120,7 @@ export function getRouteMeta(data) {
117
120
  return {
118
121
  title: data.meta?.head.find((tag) => tag.tagName === "title")?.inner,
119
122
  tags: data.meta?.head ?? [],
123
+ editLink: data.editLink,
120
124
  };
121
125
  }
122
126
  export function addTrailingSlash(path) {
@@ -18,5 +18,10 @@ export type APIConfigStore = {
18
18
  */
19
19
  onResponse?: (response: Response, type: "query" | "mutation", queryName: string, queryArgs: any, url: string, opts: RequestInit) => void;
20
20
  set: (config: Partial<APIConfigStore>) => void;
21
+ /**
22
+ * WordPress API key, for use on the server only
23
+ **/
24
+ apiKey?: string;
21
25
  };
22
26
  export declare const apiConfig: APIConfigStore;
27
+ //# sourceMappingURL=apiConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiConfig.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/runtime/apiConfig.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;QAII;IACJ,cAAc,CAAC,EAAE,GAAG,CAAA;IACpB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,CACxB,IAAI,EAAE,OAAO,GAAG,UAAU,EAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,GAAG,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,KACd,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IACvC;;OAEG;IACH,UAAU,CAAC,EAAE,CACX,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,OAAO,GAAG,UAAU,EAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,GAAG,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,KACd,IAAI,CAAA;IACT,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAE9C;;QAEI;IACJ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,SAAS,gBAIpB,CAAA"}
@@ -37,3 +37,4 @@ export type ErrorHandlingConfig = {
37
37
  set: (config: Partial<ErrorHandlingConfig>) => void;
38
38
  };
39
39
  export declare const errorHandling: ErrorHandlingConfig;
40
+ //# sourceMappingURL=errorHandling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorHandling.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/runtime/errorHandling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,MAAM,UAAU,GAAG;IACvB,sCAAsC;IACtC,KAAK,EAAE,KAAK,CAAA;IACZ,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,CACA;IACE,IAAI,EAAE,OAAO,CAAA;IACb,iGAAiG;IACjG,KAAK,EAAE,YAAY,CAAA;CACpB,GACD;IACE,IAAI,EAAE,OAAO,CAAA;IACb,mCAAmC;IACnC,KAAK,EAAE,UAAU,CAAA;CAClB,CACJ,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;QAGI;IACJ,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACtC;;;;;OAKG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,GAAG,SAAS,CAAA;IAExE;;OAEG;IACH,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;CACpD,CAAA;AAED,eAAO,MAAM,aAAa,qBAIxB,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export * from "./apiConfig";
2
2
  export * from "./errorHandling";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { ComponentType, PropsWithChildren, ReactNode } from "react";
2
- type ExtendedViewProps<TName extends keyof ViewProps> = TName extends "_app" ? PropsWithChildren<ViewProps[TName]> : ViewProps[TName];
2
+ type ExtendedViewProps<TName extends keyof ViewProps> = TName extends "_app" ? PropsWithChildren<ViewProps[TName]> : TName extends "_error" ? ViewProps[TName] : ViewProps[TName];
3
3
  export declare function defineView<Name extends keyof ViewProps>(name: Name, component: (props: ExtendedViewProps<Name>) => ReactNode): ComponentType<ExtendedViewProps<Name>>;
4
4
  export {};
5
+ //# sourceMappingURL=defineView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineView.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/views/defineView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnE,KAAK,iBAAiB,CAAC,KAAK,SAAS,MAAM,SAAS,IAAI,KAAK,SAAS,MAAM,GACxE,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GACnC,KAAK,SAAS,QAAQ,GACpB,SAAS,CAAC,KAAK,CAAC,GAChB,SAAS,CAAC,KAAK,CAAC,CAAA;AAEtB,wBAAgB,UAAU,CAAC,IAAI,SAAS,MAAM,SAAS,EACrD,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,SAAS,GACvD,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAExC"}
@@ -1 +1,2 @@
1
1
  export * from "./defineView.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/views/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
@@ -1,5 +1,6 @@
1
- export * from "./render-ssr-page.js";
2
- export * from "./server-context.js";
3
1
  export * from "./proxy-wp-admin.js";
4
- export * from "./defineRouter.js";
2
+ export * from "./render-ai-page.js";
3
+ export * from "./render-ssr-page.js";
5
4
  export * from "./rpc.js";
5
+ export * from "./server-context.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA"}
@@ -1,5 +1,5 @@
1
- export * from "./render-ssr-page.js";
2
- export * from "./server-context.js";
3
1
  export * from "./proxy-wp-admin.js";
4
- export * from "./defineRouter.js";
2
+ export * from "./render-ai-page.js";
3
+ export * from "./render-ssr-page.js";
5
4
  export * from "./rpc.js";
5
+ export * from "./server-context.js";
@@ -1,2 +1,3 @@
1
1
  import { EventHandlerRequest, H3Event } from "vinxi/http";
2
2
  export declare function proxyWpAdmin(event: H3Event<EventHandlerRequest>): Promise<Response>;
3
+ //# sourceMappingURL=proxy-wp-admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-wp-admin.d.ts","sourceRoot":"","sources":["../../../src/app/server/proxy-wp-admin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAwD,OAAO,EAAE,MAAM,YAAY,CAAA;AAI/G,wBAAsB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,qBA+GrE"}
@@ -9,12 +9,14 @@ export async function proxyWpAdmin(event) {
9
9
  const reqUrl = getRequestURL(event);
10
10
  const serverlessConfig = serverContext.config.serverless;
11
11
  if (!serverContext.dev) {
12
- if (reqUrl.pathname.toLowerCase().match(/\/+(graphql|xmlrpc|index\.php|wp\-(admin|login|json))/)) {
12
+ if (reqUrl.pathname.toLowerCase().match(/\/+(graphql|xmlrpc|\.php|wp\-(admin|login|json|cron))/)) {
13
13
  if (serverlessConfig.admin === "hide") {
14
+ //
14
15
  return renderErrorPage({
15
- code: 404,
16
+ statusCode: 404,
17
+ title: "Not found",
18
+ userMessage: "The requested resource could not be found.",
16
19
  pathname: reqUrl.pathname,
17
- title: "Not Found",
18
20
  });
19
21
  }
20
22
  }
@@ -23,8 +25,17 @@ export async function proxyWpAdmin(event) {
23
25
  // Prepare request headers to be sent to the origin server
24
26
  const proxyHeaders = getProxyRequestHeaders(event);
25
27
  proxyHeaders["X-ED-Dev-Proxy"] = "true";
26
- const followRedirects = !reqUrl.pathname.match(/\.[a-z0-9]$/);
28
+ const followRedirects = !reqUrl.pathname.match(/\.[a-z0-9]$/) && !reqUrl.pathname.match(/(^\/wp-|\.php$)/);
27
29
  // Forward the request to the origin server
30
+ // console.log("Proxying request", proxyUrl, {
31
+ // method: req.method,
32
+ // referrer: req.referrer,
33
+ // referrerPolicy: req.referrerPolicy,
34
+ // headers: proxyHeaders,
35
+ // // body: req.method.match(/get|head|options/i) ? undefined : await req.blob(),
36
+ // redirect: followRedirects ? "follow" : "manual",
37
+ // cache: "no-cache",
38
+ // })
28
39
  const response = await fetch(proxyUrl, {
29
40
  method: req.method,
30
41
  referrer: req.referrer,
@@ -75,11 +86,14 @@ export async function proxyWpAdmin(event) {
75
86
  },
76
87
  children: "",
77
88
  });
78
- const encodeForJSON = (str) => JSON.stringify(str).slice(1, -1).replace(/\"/g, "'");
79
- body = body.replace(/<!---VITE_HEADER--->/g, getViteHeader);
80
- body = body.replace(/<!---VITE_FOOTER--->/g, getViteFooter);
81
- body = body.replace(/<!---VITE_HEADER_ENCODED--->/g, encodeForJSON(getViteHeader()));
82
- body = body.replace(/<!---VITE_FOOTER_ENCODED--->/g, encodeForJSON(getViteFooter()));
89
+ const encodeForJSON = (str) => JSON.stringify(str).slice(1, -1).replaceAll("/", "\\/");
90
+ const viteHeader = getViteHeader();
91
+ const viteFooter = getViteFooter();
92
+ const baseDirective = `<base href="${reqUrl.origin}">`;
93
+ body = body.replaceAll("<!---VITE_HEADER--->", viteHeader);
94
+ body = body.replaceAll("<!---VITE_FOOTER--->", viteFooter);
95
+ body = body.replaceAll("<script id='vite-iframe-header'><\\/script>", encodeForJSON(baseDirective + viteHeader));
96
+ body = body.replaceAll("<script id='vite-iframe-footer'><\\/script>", encodeForJSON(viteFooter));
83
97
  }
84
98
  }
85
99
  else {
@@ -0,0 +1,13 @@
1
+ type RenderArgs = {
2
+ pathname: string;
3
+ statusCode?: number;
4
+ newOrigin?: string;
5
+ propData?: Record<string, any>;
6
+ };
7
+ export type IndexablePage = {
8
+ shouldIndex: boolean;
9
+ contents: string;
10
+ };
11
+ export declare function renderPageForIndexing(args: RenderArgs): Promise<IndexablePage>;
12
+ export {};
13
+ //# sourceMappingURL=render-ai-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ai-page.d.ts","sourceRoot":"","sources":["../../../src/app/server/render-ai-page.tsx"],"names":[],"mappings":"AAmGA,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CA4CpF"}