eddev 0.3.38 → 2.0.0-beta.10

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 (559) hide show
  1. package/bin/eddev.js +1 -3
  2. package/css/devtools.css +15 -0
  3. package/css/editor-styles.css +94 -0
  4. package/dist/app/entry/boot-admin.d.ts +1 -0
  5. package/dist/app/entry/boot-admin.js +8 -0
  6. package/dist/app/entry/spa-root.d.ts +1 -0
  7. package/dist/app/entry/spa-root.js +9 -0
  8. package/dist/app/entry/ssr-root-client.d.ts +4 -0
  9. package/dist/app/entry/ssr-root-client.js +9 -0
  10. package/dist/app/entry/ssr-root.d.ts +9 -0
  11. package/dist/app/entry/ssr-root.js +21 -0
  12. package/{admin → dist/app/lib/admin}/defineField.d.ts +2 -2
  13. package/dist/app/lib/admin/defineField.js +3 -0
  14. package/{admin → dist/app/lib/admin}/defineWidget.d.ts +1 -1
  15. package/dist/app/lib/admin/defineWidget.js +6 -0
  16. package/dist/app/lib/admin/index.d.ts +2 -0
  17. package/dist/app/lib/admin/index.js +2 -0
  18. package/dist/app/lib/admin/installFieldTypes.js +92 -0
  19. package/dist/app/lib/admin/runWidgets.js +38 -0
  20. package/dist/app/lib/blocks/ContentBlocks.d.ts +83 -0
  21. package/dist/app/lib/blocks/ContentBlocks.js +92 -0
  22. package/dist/app/lib/blocks/EditableText.d.ts +41 -0
  23. package/dist/app/lib/blocks/EditableText.js +50 -0
  24. package/{blocks → dist/app/lib/blocks}/ErrorBoundaryFrontend.d.ts +2 -2
  25. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +35 -0
  26. package/dist/app/lib/blocks/InnerBlocks.d.ts +42 -0
  27. package/dist/app/lib/blocks/InnerBlocks.js +55 -0
  28. package/dist/app/lib/blocks/block-utils.d.ts +24 -0
  29. package/dist/app/lib/blocks/block-utils.js +41 -0
  30. package/dist/app/lib/blocks/defineBlock.d.ts +2 -0
  31. package/dist/app/lib/blocks/defineBlock.js +3 -0
  32. package/dist/app/lib/blocks/editor/EditorSupport.d.ts +5 -0
  33. package/dist/app/lib/blocks/editor/EditorSupport.js +19 -0
  34. package/{blocks → dist/app/lib/blocks/editor}/ErrorBoundaryEditor.d.ts +1 -1
  35. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.js +28 -0
  36. package/dist/app/lib/blocks/editor/block-templates.d.ts +3 -0
  37. package/dist/app/lib/blocks/editor/block-templates.js +9 -0
  38. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +7 -0
  39. package/dist/app/lib/blocks/editor/blocks-by-tag.js +42 -0
  40. package/dist/app/lib/blocks/editor/controls.d.ts +10 -0
  41. package/dist/app/lib/blocks/editor/controls.js +20 -0
  42. package/dist/app/lib/blocks/editor/editor-config.d.ts +58 -0
  43. package/dist/app/lib/blocks/editor/editor-config.js +191 -0
  44. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +2 -0
  45. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +131 -0
  46. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +27 -0
  47. package/dist/app/lib/blocks/editor/usePostEditor.js +79 -0
  48. package/dist/app/lib/blocks/index.d.ts +9 -0
  49. package/dist/app/lib/blocks/index.js +9 -0
  50. package/dist/app/lib/blocks/inline-editing.d.ts +54 -0
  51. package/dist/app/lib/blocks/inline-editing.js +114 -0
  52. package/dist/app/lib/devtools/components/BreakpointIndicator.js +81 -0
  53. package/{dev-ui → dist/app/lib/devtools}/components/DevUI.d.ts +1 -0
  54. package/dist/app/lib/devtools/components/DevUI.js +6 -0
  55. package/dist/app/lib/devtools/dev-tools-store.d.ts +9 -0
  56. package/dist/app/lib/devtools/dev-tools-store.js +8 -0
  57. package/dist/app/lib/devtools/hooks/usePersistState.js +31 -0
  58. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +4183 -0
  59. package/dist/app/lib/devtools/hooks/useTailwind.js +9 -0
  60. package/dist/app/lib/devtools/index.d.ts +1 -0
  61. package/dist/app/lib/devtools/index.js +1 -0
  62. package/dist/app/lib/devtools/loader.js +23 -0
  63. package/dist/app/lib/devtools/tailwind.config.d.ts +23 -0
  64. package/dist/app/lib/devtools/tailwind.config.js +24 -0
  65. package/{hooks → dist/app/lib/devtools}/useQueryDebug.d.ts +1 -1
  66. package/dist/app/lib/devtools/useQueryDebug.js +13 -0
  67. package/dist/app/lib/dynamic/dynamic.d.ts +8 -0
  68. package/dist/app/lib/dynamic/dynamic.js +25 -0
  69. package/dist/app/lib/dynamic/index.d.ts +1 -0
  70. package/dist/app/lib/dynamic/index.js +1 -0
  71. package/dist/app/lib/hooks/apiConfig.d.ts +18 -0
  72. package/dist/app/lib/hooks/apiConfig.js +4 -0
  73. package/{hooks → dist/app/lib/hooks}/index.d.ts +2 -0
  74. package/dist/app/lib/hooks/index.js +5 -0
  75. package/dist/app/lib/hooks/queryUtils.d.ts +49 -0
  76. package/dist/app/lib/hooks/queryUtils.js +180 -0
  77. package/dist/app/lib/hooks/useAppData.d.ts +4 -0
  78. package/dist/app/lib/hooks/useAppData.js +11 -0
  79. package/{hooks → dist/app/lib/hooks}/usePageLoad.d.ts +1 -1
  80. package/dist/app/lib/hooks/usePageLoad.js +5 -0
  81. package/dist/app/lib/hooks/useRPC.d.ts +9 -0
  82. package/dist/app/lib/hooks/useRPC.js +9 -0
  83. package/dist/app/lib/internal/index.d.ts +4 -0
  84. package/dist/app/lib/internal/index.js +4 -0
  85. package/dist/app/lib/internal/internal-store.d.ts +9 -0
  86. package/dist/app/lib/internal/internal-store.js +7 -0
  87. package/dist/app/lib/internal/read-admin-manifest.d.ts +19 -0
  88. package/dist/app/lib/internal/read-admin-manifest.js +17 -0
  89. package/dist/app/lib/internal/read-block-manifest.d.ts +15 -0
  90. package/dist/app/lib/internal/read-block-manifest.js +16 -0
  91. package/dist/app/lib/internal/read-view-manifest.d.ts +12 -0
  92. package/dist/app/lib/internal/read-view-manifest.js +3 -0
  93. package/dist/app/lib/legacy-stitches/createStitches.d.ts +615 -0
  94. package/dist/app/lib/legacy-stitches/createStitches.js +439 -0
  95. package/dist/app/lib/legacy-stitches/index.js +1 -0
  96. package/{components → dist/app/lib/routing/components}/BrowserRouter.d.ts +2 -4
  97. package/dist/app/lib/routing/components/BrowserRouter.js +351 -0
  98. package/dist/app/lib/routing/components/ClientOnly.d.ts +12 -0
  99. package/dist/app/lib/routing/components/ClientOnly.js +14 -0
  100. package/dist/app/lib/routing/components/Link.d.ts +26 -0
  101. package/dist/app/lib/routing/components/Link.js +93 -0
  102. package/dist/app/lib/routing/components/RouteRenderer.d.ts +9 -0
  103. package/dist/app/lib/routing/components/RouteRenderer.js +28 -0
  104. package/dist/app/lib/routing/components/SSRRouter.d.ts +9 -0
  105. package/dist/app/lib/routing/components/SSRRouter.js +14 -0
  106. package/dist/app/lib/routing/components/ScrollRestoration.d.ts +15 -0
  107. package/dist/app/lib/routing/components/ScrollRestoration.js +32 -0
  108. package/dist/app/lib/routing/context.d.ts +5 -0
  109. package/dist/app/lib/routing/context.js +129 -0
  110. package/dist/app/lib/routing/hooks/useIsSSR.d.ts +8 -0
  111. package/dist/app/lib/routing/hooks/useIsSSR.js +22 -0
  112. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +5 -0
  113. package/dist/app/lib/routing/hooks/useRestorableState.js +17 -0
  114. package/dist/app/lib/routing/hooks/useRoute.d.ts +2 -0
  115. package/dist/app/lib/routing/hooks/useRoute.js +5 -0
  116. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +4 -0
  117. package/dist/app/lib/routing/hooks/useRouteTransition.js +12 -0
  118. package/dist/app/lib/routing/hooks/useRouter.d.ts +2 -0
  119. package/dist/app/lib/routing/hooks/useRouter.js +11 -0
  120. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +2 -0
  121. package/dist/app/lib/routing/hooks/useRouterEvents.js +10 -0
  122. package/dist/app/lib/routing/hooks/useRouterState.d.ts +2 -0
  123. package/dist/app/lib/routing/hooks/useRouterState.js +8 -0
  124. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +10 -0
  125. package/dist/app/lib/routing/hooks/useSearchParams.js +30 -0
  126. package/dist/app/lib/routing/index.d.ts +13 -0
  127. package/dist/app/lib/routing/index.js +13 -0
  128. package/dist/app/lib/routing/loader.d.ts +30 -0
  129. package/dist/app/lib/routing/loader.js +108 -0
  130. package/dist/app/lib/routing/types.d.ts +138 -0
  131. package/dist/app/lib/routing/utils.d.ts +15 -0
  132. package/dist/app/lib/routing/utils.js +94 -0
  133. package/dist/app/lib/views/defineView.d.ts +4 -0
  134. package/dist/app/lib/views/defineView.js +3 -0
  135. package/dist/app/lib/views/index.js +1 -0
  136. package/dist/app/server/index.d.ts +3 -0
  137. package/dist/app/server/index.js +3 -0
  138. package/dist/app/server/proxy-wp-admin.d.ts +3 -0
  139. package/dist/app/server/proxy-wp-admin.js +106 -0
  140. package/dist/app/server/render-ssr-page.d.ts +2 -0
  141. package/dist/app/server/render-ssr-page.js +22 -0
  142. package/dist/app/server/server-context.d.ts +34 -0
  143. package/dist/app/server/server-context.js +116 -0
  144. package/dist/app/server/utils/headers.d.ts +5 -0
  145. package/dist/app/server/utils/headers.js +28 -0
  146. package/dist/app/server/utils/index.html.d.ts +2 -0
  147. package/dist/app/server/utils/index.html.js +14 -0
  148. package/dist/app/server/utils/replace-host.d.ts +10 -0
  149. package/dist/app/server/utils/replace-host.js +61 -0
  150. package/dist/app/utils/query-client.d.ts +2 -0
  151. package/dist/app/utils/query-client.js +16 -0
  152. package/dist/app/utils/wp.d.ts +26 -0
  153. package/dist/node/cli/cli-mode.d.ts +10 -0
  154. package/dist/node/cli/cli-mode.js +12 -0
  155. package/dist/node/cli/cli-worker.d.ts +13 -0
  156. package/dist/node/cli/cli-worker.js +117 -0
  157. package/dist/node/cli/cli.js +197 -0
  158. package/dist/node/cli/display/CLIApp.d.ts +16 -0
  159. package/dist/node/cli/display/CLIApp.js +117 -0
  160. package/dist/node/cli/display/boot-cli-app.d.ts +2 -0
  161. package/dist/node/cli/display/boot-cli-app.js +10 -0
  162. package/{cli → dist/node/cli}/display/components/Fullscreen.d.ts +1 -1
  163. package/dist/node/cli/display/components/Fullscreen.js +24 -0
  164. package/dist/node/cli/display/components/LogEntries.d.ts +13 -0
  165. package/dist/node/cli/display/components/LogEntries.js +87 -0
  166. package/dist/node/cli/display/components/MenuItem.d.ts +6 -0
  167. package/dist/node/cli/display/components/MenuItem.js +11 -0
  168. package/dist/node/cli/display/components/TextInput.d.ts +44 -0
  169. package/dist/node/cli/display/components/TextInput.js +105 -0
  170. package/dist/node/cli/display/hooks/useManifest.d.ts +2 -0
  171. package/dist/node/cli/display/hooks/useManifest.js +8 -0
  172. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +11 -0
  173. package/dist/node/cli/display/hooks/useStatefulLog.js +51 -0
  174. package/dist/node/cli/display/tools/BlockList.d.ts +2 -0
  175. package/dist/node/cli/display/tools/BlockList.js +10 -0
  176. package/dist/node/cli/display/tools/CreateBlock.d.ts +2 -0
  177. package/dist/node/cli/display/tools/CreateBlock.js +8 -0
  178. package/dist/node/cli/display/tools/cli-tool-list.d.ts +2 -0
  179. package/dist/node/cli/display/tools/cli-tool-list.js +23 -0
  180. package/dist/node/cli/display/tools/cli-tools.d.ts +26 -0
  181. package/dist/node/cli/display/tools/cli-tools.js +15 -0
  182. package/dist/node/cli/display/util/colors.d.ts +4 -0
  183. package/dist/node/cli/display/util/colors.js +63 -0
  184. package/dist/node/cli/version.d.ts +1 -0
  185. package/dist/node/cli/version.js +1 -0
  186. package/dist/node/compiler/build-vinxi.d.ts +8 -0
  187. package/dist/node/compiler/build-vinxi.js +37 -0
  188. package/dist/node/compiler/bundler.admin.d.ts +13 -0
  189. package/dist/node/compiler/bundler.admin.js +37 -0
  190. package/dist/node/compiler/bundler.frontend.d.ts +13 -0
  191. package/dist/node/compiler/bundler.frontend.js +37 -0
  192. package/dist/node/compiler/dev-server.d.ts +18 -0
  193. package/dist/node/compiler/dev-server.js +97 -0
  194. package/dist/node/compiler/get-vite-config.d.ts +19 -0
  195. package/dist/node/compiler/get-vite-config.js +184 -0
  196. package/dist/node/compiler/vinxi-app.d.ts +10 -0
  197. package/dist/node/compiler/vinxi-app.js +121 -0
  198. package/dist/node/compiler/vinxi-codegen.d.ts +12 -0
  199. package/dist/node/compiler/vinxi-codegen.js +408 -0
  200. package/dist/node/graphql/graphql-codegen.d.ts +30 -0
  201. package/dist/node/graphql/graphql-codegen.js +503 -0
  202. package/dist/node/graphql/graphql-schema-loader.d.ts +17 -0
  203. package/dist/node/graphql/graphql-schema-loader.js +91 -0
  204. package/dist/node/graphql/plugins/gql-plugin-files.d.ts +14 -0
  205. package/dist/node/graphql/plugins/gql-plugin-files.js +66 -0
  206. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +8 -0
  207. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.js +10 -0
  208. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +8 -0
  209. package/dist/node/graphql/plugins/gql-plugin-queries.js +263 -0
  210. package/dist/node/graphql/query-files-loader.d.ts +26 -0
  211. package/dist/node/graphql/query-files-loader.js +54 -0
  212. package/dist/node/graphql/wp-info-query.d.ts +1 -0
  213. package/dist/node/graphql/wp-info-query.js +29 -0
  214. package/{config/config-schema.d.ts → dist/node/project/config.d.ts} +54 -38
  215. package/dist/node/project/config.js +138 -0
  216. package/dist/node/project/eddev-build-file.d.ts +10 -0
  217. package/dist/node/project/eddev-build-file.js +79 -0
  218. package/dist/node/project/env.d.ts +39 -0
  219. package/dist/node/project/env.js +77 -0
  220. package/dist/node/project/favicons.js +1 -0
  221. package/dist/node/project/manifest/block-manifest.d.ts +19 -0
  222. package/dist/node/project/manifest/block-manifest.js +206 -0
  223. package/dist/node/project/manifest/field-manifest.d.ts +17 -0
  224. package/dist/node/project/manifest/field-manifest.js +42 -0
  225. package/dist/node/project/manifest/manifest.d.ts +30 -0
  226. package/dist/node/project/manifest/manifest.js +105 -0
  227. package/dist/node/project/manifest/view-manifest.d.ts +19 -0
  228. package/dist/node/project/manifest/view-manifest.js +152 -0
  229. package/dist/node/project/manifest/widget-manifest.d.ts +17 -0
  230. package/dist/node/project/manifest/widget-manifest.js +42 -0
  231. package/dist/node/project/project.d.ts +58 -0
  232. package/dist/node/project/project.js +113 -0
  233. package/dist/node/project/wp-info.d.ts +32 -0
  234. package/dist/node/project/wp-info.js +32 -0
  235. package/dist/node/types/block-type.d.ts +92 -0
  236. package/dist/node/types/block-type.js +82 -0
  237. package/dist/node/types/view-type.d.ts +31 -0
  238. package/dist/node/types/view-type.js +53 -0
  239. package/dist/node/utils/format-zod-error.d.ts +3 -0
  240. package/dist/node/utils/format-zod-error.js +33 -0
  241. package/dist/node/utils/fs-codegen.d.ts +40 -0
  242. package/dist/node/utils/fs-codegen.js +97 -0
  243. package/dist/node/utils/fs.d.ts +106 -0
  244. package/dist/node/utils/fs.js +58 -0
  245. package/dist/node/utils/get-repo-info.d.ts +7 -0
  246. package/dist/node/utils/get-repo-info.js +21 -0
  247. package/dist/node/utils/helpers.d.ts +2 -0
  248. package/dist/node/utils/helpers.js +14 -0
  249. package/dist/node/utils/highlight-code.d.ts +10 -0
  250. package/dist/node/utils/highlight-code.js +30 -0
  251. package/dist/node/utils/is-deploying.d.ts +4 -0
  252. package/dist/node/utils/is-deploying.js +6 -0
  253. package/dist/node/utils/report-builder.d.ts +9 -0
  254. package/dist/node/utils/report-builder.js +51 -0
  255. package/dist/node/utils/self-signed-cert.d.ts +4 -0
  256. package/dist/node/utils/self-signed-cert.js +35 -0
  257. package/dist/node/utils/stateful-log.d.ts +65 -0
  258. package/dist/node/utils/stateful-log.js +223 -0
  259. package/dist/node/utils/ts-export-extractor.d.ts +9 -0
  260. package/dist/node/utils/ts-export-extractor.js +71 -0
  261. package/dist/node/utils/watch-file-tree.d.ts +11 -0
  262. package/dist/node/utils/watch-file-tree.js +58 -0
  263. package/package.json +121 -102
  264. package/stitches-archive/config.d.ts +210 -0
  265. package/stitches-archive/css-util.d.ts +119 -0
  266. package/stitches-archive/css.d.ts +9797 -0
  267. package/stitches-archive/index.d.mts +144 -0
  268. package/stitches-archive/index.d.ts +82 -0
  269. package/stitches-archive/index.mjs +2 -0
  270. package/stitches-archive/stitches.d.ts +288 -0
  271. package/stitches-archive/styled-component.d.ts +163 -0
  272. package/stitches-archive/theme.d.ts +43 -0
  273. package/stitches-archive/util.d.ts +32 -0
  274. package/tsconfig.app.json +20 -0
  275. package/tsconfig.json +2 -104
  276. package/tsconfig.node.json +20 -0
  277. package/types.app.d.ts +22 -0
  278. package/types.app.internal.d.ts +13 -0
  279. package/types.env.d.ts +16 -0
  280. package/types.meta.d.ts +319 -0
  281. package/types.node.d.ts +3 -0
  282. package/admin/components/FileWell.d.ts +0 -8
  283. package/admin/components/FileWell.js +0 -189
  284. package/admin/components/ImageWell.d.ts +0 -9
  285. package/admin/components/ImageWell.js +0 -209
  286. package/admin/defineField.js +0 -7
  287. package/admin/defineWidget.js +0 -10
  288. package/admin/index.d.ts +0 -4
  289. package/admin/index.js +0 -16
  290. package/admin/installFieldTypes.js +0 -71
  291. package/admin/runWidgets.js +0 -55
  292. package/admin/selectMedia.d.ts +0 -31
  293. package/admin/selectMedia.js +0 -9
  294. package/blocks/ContentBlocks.d.ts +0 -40
  295. package/blocks/ContentBlocks.js +0 -125
  296. package/blocks/ErrorBoundaryEditor.js +0 -64
  297. package/blocks/ErrorBoundaryFrontend.js +0 -69
  298. package/blocks/InspectorControls.d.ts +0 -2
  299. package/blocks/InspectorControls.js +0 -13
  300. package/blocks/blockAttributes.d.ts +0 -20
  301. package/blocks/blockAttributes.js +0 -81
  302. package/blocks/defineBlock.d.ts +0 -2
  303. package/blocks/defineBlock.js +0 -7
  304. package/blocks/index.d.ts +0 -5
  305. package/blocks/index.js +0 -23
  306. package/blocks/inlineEditing.d.ts +0 -32
  307. package/blocks/inlineEditing.js +0 -141
  308. package/blocks/installGutenbergHooks.d.ts +0 -2
  309. package/blocks/installGutenbergHooks.js +0 -211
  310. package/build/babel/plugin-name-defined-components.d.ts +0 -7
  311. package/build/babel/plugin-name-defined-components.js +0 -47
  312. package/build/build-favicon.d.ts +0 -1
  313. package/build/build-favicon.js +0 -71
  314. package/build/clean.d.ts +0 -1
  315. package/build/clean.js +0 -60
  316. package/build/create-codegen-worker.d.ts +0 -3
  317. package/build/create-codegen-worker.js +0 -71
  318. package/build/create-serverless-dev-worker.d.ts +0 -3
  319. package/build/create-serverless-dev-worker.js +0 -99
  320. package/build/create-webpack-worker.d.ts +0 -3
  321. package/build/create-webpack-worker.js +0 -64
  322. package/build/file-tree.d.ts +0 -5
  323. package/build/file-tree.js +0 -45
  324. package/build/get-webpack-config.d.ts +0 -3
  325. package/build/get-webpack-config.js +0 -426
  326. package/build/graphql-codegen/graphql-codegen-blocks.d.ts +0 -1
  327. package/build/graphql-codegen/graphql-codegen-blocks.js +0 -7
  328. package/build/graphql-codegen/graphql-codegen-files.js +0 -64
  329. package/build/graphql-codegen/graphql-codegen-no-duplicates.js +0 -13
  330. package/build/graphql-codegen/graphql-codegen-queries.d.ts +0 -1
  331. package/build/graphql-codegen/graphql-codegen-queries.js +0 -248
  332. package/build/manifests/manifest-blocks.d.ts +0 -12
  333. package/build/manifests/manifest-blocks.js +0 -61
  334. package/build/manifests/manifest-fields.d.ts +0 -12
  335. package/build/manifests/manifest-fields.js +0 -42
  336. package/build/manifests/manifest-views.d.ts +0 -12
  337. package/build/manifests/manifest-views.js +0 -49
  338. package/build/manifests/manifest-widgets.d.ts +0 -12
  339. package/build/manifests/manifest-widgets.js +0 -42
  340. package/build/manifests/manifest.d.ts +0 -11
  341. package/build/manifests/manifest.js +0 -100
  342. package/build/reporter.d.ts +0 -12
  343. package/build/reporter.js +0 -102
  344. package/build/serverless/create-next-app.d.ts +0 -9
  345. package/build/serverless/create-next-app.js +0 -536
  346. package/build/state/codegen-state.d.ts +0 -32
  347. package/build/state/codegen-state.js +0 -2
  348. package/build/state/compiler-state.d.ts +0 -49
  349. package/build/state/compiler-state.js +0 -2
  350. package/build/state/serverless-state.d.ts +0 -26
  351. package/build/state/serverless-state.js +0 -2
  352. package/build/workers/codegen-worker-script.d.ts +0 -2
  353. package/build/workers/codegen-worker-script.js +0 -624
  354. package/build/workers/serverless-worker-dev-script.d.ts +0 -1
  355. package/build/workers/serverless-worker-dev-script.js +0 -21
  356. package/build/workers/webpack-worker-script.d.ts +0 -2
  357. package/build/workers/webpack-worker-script.js +0 -171
  358. package/cli/build.dev.d.ts +0 -7
  359. package/cli/build.dev.js +0 -136
  360. package/cli/build.prod.d.ts +0 -5
  361. package/cli/build.prod.js +0 -107
  362. package/cli/cli.js +0 -90
  363. package/cli/display/components/BundleDisplay.d.ts +0 -5
  364. package/cli/display/components/BundleDisplay.js +0 -56
  365. package/cli/display/components/CodegenDisplay.d.ts +0 -5
  366. package/cli/display/components/CodegenDisplay.js +0 -62
  367. package/cli/display/components/DevCLIDisplay.d.ts +0 -12
  368. package/cli/display/components/DevCLIDisplay.js +0 -42
  369. package/cli/display/components/Fullscreen.js +0 -39
  370. package/cli/display/components/ServerlessDisplay.d.ts +0 -8
  371. package/cli/display/components/ServerlessDisplay.js +0 -68
  372. package/cli/display/components/StatusIcon.d.ts +0 -5
  373. package/cli/display/components/StatusIcon.js +0 -9
  374. package/cli/preinstall.d.ts +0 -1
  375. package/cli/preinstall.js +0 -19
  376. package/cli/setup.d.ts +0 -1
  377. package/cli/setup.js +0 -90
  378. package/components/AdminBar.d.ts +0 -1
  379. package/components/AdminBar.js +0 -9
  380. package/components/BrowserRouter.js +0 -155
  381. package/components/InlinePage.d.ts +0 -11
  382. package/components/InlinePage.js +0 -70
  383. package/components/NextRouter.d.ts +0 -9
  384. package/components/NextRouter.js +0 -45
  385. package/components/index.d.ts +0 -2
  386. package/components/index.js +0 -14
  387. package/config/config-schema.js +0 -38
  388. package/config/create-schema-file.d.ts +0 -1
  389. package/config/create-schema-file.js +0 -20
  390. package/config/get-config.d.ts +0 -78
  391. package/config/get-config.js +0 -32
  392. package/config/index.d.ts +0 -2
  393. package/config/index.js +0 -14
  394. package/config/parse-config.d.ts +0 -51
  395. package/config/parse-config.js +0 -8
  396. package/config/print-zod-errors.d.ts +0 -2
  397. package/config/print-zod-errors.js +0 -14
  398. package/dev-ui/components/BreakpointColumnHeader.d.ts +0 -10
  399. package/dev-ui/components/BreakpointColumnHeader.js +0 -47
  400. package/dev-ui/components/BreakpointIndicator.js +0 -139
  401. package/dev-ui/components/DevUI.js +0 -28
  402. package/dev-ui/components/Launcher.d.ts +0 -98
  403. package/dev-ui/components/Launcher.js +0 -94
  404. package/dev-ui/components/PanelWrapper.d.ts +0 -8
  405. package/dev-ui/components/PanelWrapper.js +0 -37
  406. package/dev-ui/components/ResponsiveLerpControl.d.ts +0 -7
  407. package/dev-ui/components/ResponsiveLerpControl.js +0 -176
  408. package/dev-ui/components/ResponsiveScaleEditor.d.ts +0 -25
  409. package/dev-ui/components/ResponsiveScaleEditor.js +0 -238
  410. package/dev-ui/components/atoms/Button.d.ts +0 -47
  411. package/dev-ui/components/atoms/Button.js +0 -67
  412. package/dev-ui/components/atoms/Dropdown.d.ts +0 -13
  413. package/dev-ui/components/atoms/Dropdown.js +0 -50
  414. package/dev-ui/components/atoms/NumberField.d.ts +0 -11
  415. package/dev-ui/components/atoms/NumberField.js +0 -111
  416. package/dev-ui/components/atoms/Spacer.d.ts +0 -42
  417. package/dev-ui/components/atoms/Spacer.js +0 -8
  418. package/dev-ui/components/atoms/Text.d.ts +0 -45
  419. package/dev-ui/components/atoms/Text.js +0 -39
  420. package/dev-ui/components/atoms/ToggleButton.d.ts +0 -8
  421. package/dev-ui/components/atoms/ToggleButton.js +0 -41
  422. package/dev-ui/components/atoms/Tooltip.d.ts +0 -9
  423. package/dev-ui/components/atoms/Tooltip.js +0 -66
  424. package/dev-ui/components/panels/AppDataDebugger.d.ts +0 -1
  425. package/dev-ui/components/panels/AppDataDebugger.js +0 -29
  426. package/dev-ui/components/panels/ColorEditor.d.ts +0 -1
  427. package/dev-ui/components/panels/ColorEditor.js +0 -128
  428. package/dev-ui/components/panels/PageDataDebugger.d.ts +0 -1
  429. package/dev-ui/components/panels/PageDataDebugger.js +0 -30
  430. package/dev-ui/components/panels/QueryDebugger.d.ts +0 -1
  431. package/dev-ui/components/panels/QueryDebugger.js +0 -46
  432. package/dev-ui/components/panels/SpacingEditor.d.ts +0 -1
  433. package/dev-ui/components/panels/SpacingEditor.js +0 -88
  434. package/dev-ui/components/panels/TypographyEditor.d.ts +0 -1
  435. package/dev-ui/components/panels/TypographyEditor.js +0 -97
  436. package/dev-ui/hooks/useBreakpoint.d.ts +0 -11
  437. package/dev-ui/hooks/useBreakpoint.js +0 -59
  438. package/dev-ui/hooks/usePersistState.js +0 -36
  439. package/dev-ui/hooks/useStylesheet.d.ts +0 -4
  440. package/dev-ui/hooks/useStylesheet.js +0 -31
  441. package/dev-ui/icons.d.ts +0 -15
  442. package/dev-ui/icons.js +0 -30
  443. package/dev-ui/index.d.ts +0 -1
  444. package/dev-ui/index.js +0 -13
  445. package/dev-ui/loader.js +0 -44
  446. package/dev-ui/panels.d.ts +0 -11
  447. package/dev-ui/panels.js +0 -47
  448. package/dev-ui/theme.d.ts +0 -151
  449. package/dev-ui/theme.js +0 -50
  450. package/dynamic/dynamic-component.d.ts +0 -10
  451. package/dynamic/dynamic-component.js +0 -8
  452. package/dynamic/index.d.ts +0 -1
  453. package/dynamic/index.js +0 -13
  454. package/entry/Root.d.ts +0 -3
  455. package/entry/Root.js +0 -56
  456. package/entry/entry.admin.dev.d.ts +0 -1
  457. package/entry/entry.admin.dev.js +0 -26
  458. package/entry/entry.admin.prod.d.ts +0 -1
  459. package/entry/entry.admin.prod.js +0 -16
  460. package/entry/entry.monolith.dev.d.ts +0 -6
  461. package/entry/entry.monolith.dev.js +0 -19
  462. package/entry/entry.monolith.prod.d.ts +0 -6
  463. package/entry/entry.monolith.prod.js +0 -18
  464. package/entry/entry.publicPath.js +0 -6
  465. package/gravityforms/index.d.ts +0 -2
  466. package/gravityforms/index.js +0 -14
  467. package/gravityforms/types.d.ts +0 -140
  468. package/gravityforms/types.js +0 -2
  469. package/gravityforms/useGravityForm.d.ts +0 -30
  470. package/gravityforms/useGravityForm.js +0 -292
  471. package/hooks/index.js +0 -15
  472. package/hooks/queryUtils.d.ts +0 -63
  473. package/hooks/queryUtils.js +0 -281
  474. package/hooks/useAppData.d.ts +0 -10
  475. package/hooks/useAppData.js +0 -37
  476. package/hooks/usePageLoad.js +0 -11
  477. package/hooks/useQuery.d.ts +0 -1
  478. package/hooks/useQuery.js +0 -10
  479. package/hooks/useQueryDebug.js +0 -21
  480. package/hooks/useRPC.d.ts +0 -12
  481. package/hooks/useRPC.js +0 -20
  482. package/index.d.ts +0 -1
  483. package/index.js +0 -5
  484. package/routing/index.d.ts +0 -1
  485. package/routing/index.js +0 -13
  486. package/routing/remoteProps.d.ts +0 -22
  487. package/routing/remoteProps.js +0 -103
  488. package/routing/routing.d.ts +0 -96
  489. package/routing/routing.js +0 -442
  490. package/routing/updateEditLink.d.ts +0 -1
  491. package/routing/updateEditLink.js +0 -12
  492. package/routing/updateHeadTags.d.ts +0 -2
  493. package/routing/updateHeadTags.js +0 -11
  494. package/serverless/define-api.d.ts +0 -2
  495. package/serverless/define-api.js +0 -66
  496. package/serverless/define-rpc-router.d.ts +0 -6
  497. package/serverless/define-rpc-router.js +0 -35
  498. package/serverless/error-codes.d.ts +0 -2
  499. package/serverless/error-codes.js +0 -14
  500. package/serverless/index.d.ts +0 -5
  501. package/serverless/index.js +0 -18
  502. package/serverless/rpc-provider.d.ts +0 -1
  503. package/serverless/rpc-provider.js +0 -5
  504. package/serverless-template/README.md +0 -34
  505. package/serverless-template/_utils/PageMeta.tsx +0 -44
  506. package/serverless-template/_utils/ed-config.ts +0 -5
  507. package/serverless-template/_utils/fetch-wordpress-props.ts +0 -62
  508. package/serverless-template/_utils/fetch-wp.ts +0 -34
  509. package/serverless-template/_utils/swr.ts +0 -43
  510. package/serverless-template/global.d.ts +0 -15
  511. package/serverless-template/next-env.d.ts +0 -3
  512. package/serverless-template/next.config.js +0 -119
  513. package/serverless-template/null.ts +0 -1
  514. package/serverless-template/package.json +0 -21
  515. package/serverless-template/pages/404.tsx +0 -12
  516. package/serverless-template/pages/[...slug].tsx +0 -35
  517. package/serverless-template/pages/_app.tsx +0 -55
  518. package/serverless-template/pages/_document.tsx +0 -65
  519. package/serverless-template/pages/api/rest/[...method].ts +0 -59
  520. package/serverless-template/pages/api/robots.ts +0 -49
  521. package/serverless-template/pages/api/sitemap/[...sitemap].ts +0 -56
  522. package/serverless-template/pages/api/trpc/[...trpc].ts +0 -41
  523. package/serverless-template/pages/index.tsx +0 -15
  524. package/serverless-template/tsconfig.json +0 -39
  525. package/style/createStitches.d.ts +0 -1058
  526. package/style/createStitches.js +0 -443
  527. package/style/index.js +0 -13
  528. package/utils/Observable.d.ts +0 -11
  529. package/utils/Observable.js +0 -34
  530. package/utils/getRepoName.d.ts +0 -4
  531. package/utils/getRepoName.js +0 -30
  532. package/utils/merge-refs.d.ts +0 -2
  533. package/utils/merge-refs.js +0 -17
  534. package/utils/promptIfRepoNameIncorrect.d.ts +0 -1
  535. package/utils/promptIfRepoNameIncorrect.js +0 -72
  536. package/utils/refreshOverlayInterop.d.ts +0 -4
  537. package/utils/refreshOverlayInterop.js +0 -12
  538. package/utils/reportErrorStack.d.ts +0 -7
  539. package/utils/reportErrorStack.js +0 -13
  540. package/utils/serverlessAppContext.d.ts +0 -3
  541. package/utils/serverlessAppContext.js +0 -6
  542. package/utils/updateEnvFile.d.ts +0 -1
  543. package/utils/updateEnvFile.js +0 -76
  544. package/utils/useObservable.d.ts +0 -2
  545. package/utils/useObservable.js +0 -12
  546. package/views/defineView.d.ts +0 -2
  547. package/views/defineView.js +0 -7
  548. package/views/index.js +0 -13
  549. /package/{admin → dist/app/lib/admin}/installFieldTypes.d.ts +0 -0
  550. /package/{admin → dist/app/lib/admin}/runWidgets.d.ts +0 -0
  551. /package/{dev-ui → dist/app/lib/devtools}/components/BreakpointIndicator.d.ts +0 -0
  552. /package/{dev-ui → dist/app/lib/devtools}/hooks/usePersistState.d.ts +0 -0
  553. /package/{dev-ui → dist/app/lib/devtools}/loader.d.ts +0 -0
  554. /package/{style → dist/app/lib/legacy-stitches}/index.d.ts +0 -0
  555. /package/{build/graphql-codegen/graphql-codegen-files.d.ts → dist/app/lib/routing/types.js} +0 -0
  556. /package/{views → dist/app/lib/views}/index.d.ts +0 -0
  557. /package/{build/graphql-codegen/graphql-codegen-no-duplicates.d.ts → dist/app/utils/wp.js} +0 -0
  558. /package/{cli → dist/node/cli}/cli.d.ts +0 -0
  559. /package/{entry/entry.publicPath.d.ts → dist/node/project/favicons.d.ts} +0 -0
@@ -0,0 +1,129 @@
1
+ import { createContext } from "react";
2
+ import { RouteLoader } from "./loader";
3
+ const NOOP_ROUTE = {
4
+ component: () => null,
5
+ id: "initial",
6
+ hash: "",
7
+ key: "initial",
8
+ pathname: "",
9
+ props: {},
10
+ uri: "",
11
+ view: "_unknown",
12
+ search: "",
13
+ query: {},
14
+ returnState: undefined,
15
+ };
16
+ export const RouterContext = createContext({
17
+ loader: new RouteLoader(),
18
+ async navigate(url) { },
19
+ async prefetch(url) { },
20
+ async preload(url) { },
21
+ subscribe(fn) {
22
+ return () => { };
23
+ },
24
+ replaceHash(hash) { },
25
+ replaceQuery(query) { },
26
+ handleClickEvent(e, originalHref) { },
27
+ emitEvent(event) { },
28
+ });
29
+ export const RouterStateContext = createContext({
30
+ history: [NOOP_ROUTE],
31
+ activeRoute: NOOP_ROUTE,
32
+ blockers: [],
33
+ });
34
+ export const RouteItemContext = createContext(NOOP_ROUTE);
35
+ // type StoreHook<State> = <Slice = State>(
36
+ // selector?: (state: State) => Slice,
37
+ // areEqual?: (a: Slice, b: Slice) => boolean,
38
+ // ) => Slice
39
+ // type Store<T> = {
40
+ // subscribe(sub: (value: T) => void): () => void
41
+ // value: T
42
+ // update(next: T): void
43
+ // }
44
+ // function createStore<T>(initial: T): Store<T> {
45
+ // let value = initial
46
+ // const subscribers = new Set<(value: T) => void>()
47
+ // return {
48
+ // subscribe(sub: (value: T) => void) {
49
+ // subscribers.add(sub)
50
+ // return () => {
51
+ // subscribers.delete(sub)
52
+ // }
53
+ // },
54
+ // get value() {
55
+ // return value
56
+ // },
57
+ // update(nextValue: T) {
58
+ // value = nextValue
59
+ // if (subscribers.size) {
60
+ // console.log("UPDATE", value)
61
+ // startTransition(() => {
62
+ // for (let sub of subscribers) {
63
+ // sub(value)
64
+ // }
65
+ // })
66
+ // }
67
+ // },
68
+ // }
69
+ // }
70
+ // export function createStoreHook<T>(store: Store<T>): StoreHook<T> {
71
+ // const hook = (selector: any) => {
72
+ // const get = () => (selector ? selector(store.value) : store.value)
73
+ // return useSyncExternalStore(store.subscribe, get, get)
74
+ // }
75
+ // return hook as StoreHook<T>
76
+ // }
77
+ // export function createStoreContextHook<T>(ctx: Context<Store<T>>): StoreHook<T> {
78
+ // const hook = (selector: any) => {
79
+ // const store = useContext(ctx)
80
+ // const get = () => (selector ? selector(store.value) : store.value)
81
+ // return useSyncExternalStore(store.subscribe, get, get)
82
+ // }
83
+ // return hook as StoreHook<T>
84
+ // }
85
+ // export const RouterContext = createContext<Store<RouterAPI>>(null!)
86
+ // export const RouterStateContext = createContext<Store<RouterAPIState>>(null!)
87
+ // export const RouteContext = createContext<Store<RouteState>>(null!)
88
+ // const NOOP_ROUTE: RouteState = {
89
+ // component: () => null,
90
+ // id: "initial",
91
+ // hash: "",
92
+ // key: "initial",
93
+ // pathname: "",
94
+ // props: {},
95
+ // uri: "",
96
+ // view: "_unknown",
97
+ // search: "",
98
+ // query: {},
99
+ // returnState: undefined,
100
+ // }
101
+ // export const createRouteItemStore = (initial?: RouteState) => {
102
+ // return createStore<RouteState>(initial ?? NOOP_ROUTE)
103
+ // }
104
+ // export function createRouterAPIStore(initial?: RouterAPI) {
105
+ // return createStore<RouterAPI>(
106
+ // initial ?? {
107
+ // loader: new RouteLoader(),
108
+ // async navigate(url) {},
109
+ // async prefetch(url) {},
110
+ // async preload(url) {},
111
+ // subscribe(fn) {
112
+ // return () => {}
113
+ // },
114
+ // replaceHash(hash) {},
115
+ // replaceQuery(query) {},
116
+ // handleClickEvent(e, originalHref) {},
117
+ // emitEvent(event) {},
118
+ // },
119
+ // )
120
+ // }
121
+ // export function createRouterStateStore(initial?: RouterAPIState) {
122
+ // return createStore<RouterAPIState>(
123
+ // initial ?? {
124
+ // history: [],
125
+ // activeRoute: NOOP_ROUTE,
126
+ // blockers: [],
127
+ // },
128
+ // )
129
+ // }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Use this function to help with SSR edge-cases.
3
+ *
4
+ * On the server, this hook will always return `true`.
5
+ *
6
+ * On the client, this hook will return `true` once, after hydration, and then switch to `false`.
7
+ */
8
+ export declare function useIsSSR(): boolean;
@@ -0,0 +1,22 @@
1
+ import { useEffect, useState } from "react";
2
+ let isSSR = true;
3
+ /**
4
+ * Use this function to help with SSR edge-cases.
5
+ *
6
+ * On the server, this hook will always return `true`.
7
+ *
8
+ * On the client, this hook will return `true` once, after hydration, and then switch to `false`.
9
+ */
10
+ export function useIsSSR() {
11
+ const [value, setValue] = useState(isSSR);
12
+ useEffect(() => {
13
+ if (!isSSR)
14
+ return;
15
+ setValue(false);
16
+ const timer = setTimeout(() => {
17
+ isSSR = false;
18
+ }, 5000);
19
+ return () => clearTimeout(timer);
20
+ }, []);
21
+ return value;
22
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Works exactly like useState, but allows back and forward navigation to restore the previous state.
3
+ * You must pass a unique ID as an additional first parameter to ensure the state is restored correctly.
4
+ */
5
+ export declare function useRestorableState<T>(key: string, fallback?: T): any[];
@@ -0,0 +1,17 @@
1
+ import { useState } from "react";
2
+ import { useRoute, useRouterEvents } from "..";
3
+ /**
4
+ * Works exactly like useState, but allows back and forward navigation to restore the previous state.
5
+ * You must pass a unique ID as an additional first parameter to ensure the state is restored correctly.
6
+ */
7
+ export function useRestorableState(key, fallback) {
8
+ const route = useRoute();
9
+ const initial = route.returnState?.[key] ?? fallback;
10
+ const [state, setState] = useState(initial);
11
+ useRouterEvents((event) => {
12
+ if (event.type === "capture-restorable-state") {
13
+ event.state[key] = state;
14
+ }
15
+ });
16
+ return [state, setState];
17
+ }
@@ -0,0 +1,2 @@
1
+ import { RouteState } from "../types";
2
+ export declare function useRoute(): RouteState;
@@ -0,0 +1,5 @@
1
+ import { useContext } from "react";
2
+ import { RouteItemContext } from "../context";
3
+ export function useRoute() {
4
+ return useContext(RouteItemContext);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { RouteState } from "../types";
2
+ type TransitionFunction = (currentRoute: RouteState, nextRoute: RouteState) => void | Promise<any | void>;
3
+ export declare function useRouteTransition(func: TransitionFunction): void;
4
+ export {};
@@ -0,0 +1,12 @@
1
+ import { useEffect, useRef } from "react";
2
+ import { useRouter } from "./useRouter";
3
+ export function useRouteTransition(func) {
4
+ const subscribe = useRouter((r) => r.subscribe);
5
+ const handler = useRef(func);
6
+ handler.current = func;
7
+ useEffect(() => subscribe((event) => {
8
+ if (event.type === "navigate:will-change") {
9
+ handler.current(event.currentRoute, event.loadedRoute);
10
+ }
11
+ }), []);
12
+ }
@@ -0,0 +1,2 @@
1
+ import { RouterAPI } from "../types";
2
+ export declare function useRouter<T = RouterAPI>(selector?: (r: RouterAPI) => T): T;
@@ -0,0 +1,11 @@
1
+ import { useContext } from "react";
2
+ import { RouterContext } from "../context";
3
+ export function useRouter(selector) {
4
+ const router = useContext(RouterContext);
5
+ if (selector) {
6
+ return selector(router);
7
+ }
8
+ else {
9
+ return router;
10
+ }
11
+ }
@@ -0,0 +1,2 @@
1
+ import type { RouterEvent } from "../types";
2
+ export declare function useRouterEvents(handler: (event: RouterEvent) => void): void;
@@ -0,0 +1,10 @@
1
+ import { useEffect, useRef } from "react";
2
+ import { useRouter } from "./useRouter";
3
+ export function useRouterEvents(handler) {
4
+ const subscribe = useRouter((r) => r.subscribe);
5
+ const ref = useRef(handler);
6
+ ref.current = handler;
7
+ useEffect(() => subscribe((e) => {
8
+ ref.current(e);
9
+ }), []);
10
+ }
@@ -0,0 +1,2 @@
1
+ import { RouterAPIState } from "../types";
2
+ export declare function useRouterState<T = RouterAPIState>(selector?: (state: RouterAPIState) => T): T;
@@ -0,0 +1,8 @@
1
+ import { useContext } from "react";
2
+ import { RouterStateContext } from "../context";
3
+ export function useRouterState(selector) {
4
+ const ctx = useContext(RouterStateContext);
5
+ if (selector)
6
+ return selector(ctx);
7
+ return ctx;
8
+ }
@@ -0,0 +1,10 @@
1
+ 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
+ reset(): void;
6
+ get<K extends keyof T>(key: K): T[K];
7
+ };
8
+ export declare function useSearchParams<T extends {
9
+ [K: string]: any;
10
+ }>(defaultValue: T): [T, SearchParamAPI<T>];
@@ -0,0 +1,30 @@
1
+ import { useMemo } from "react";
2
+ import { useRoute } from "./useRoute";
3
+ import { useRouter } from "./useRouter";
4
+ export function useSearchParams(defaultValue) {
5
+ const route = useRoute();
6
+ const replaceQuery = useRouter((r) => r.replaceQuery);
7
+ const result = useMemo(() => ({
8
+ ...defaultValue,
9
+ ...route.query,
10
+ }), [route.query]);
11
+ const update = (patch) => {
12
+ const value = { ...result, ...patch };
13
+ for (let key in defaultValue) {
14
+ if (defaultValue[key] === value[key] || [null, undefined].includes(value[key])) {
15
+ delete value[key];
16
+ }
17
+ }
18
+ replaceQuery(value);
19
+ };
20
+ 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 }),
26
+ reset: () => update({}),
27
+ get: (key) => result[key],
28
+ },
29
+ ];
30
+ }
@@ -0,0 +1,13 @@
1
+ export * from "./types";
2
+ export * from "./components/Link";
3
+ export * from "./components/ScrollRestoration";
4
+ export * from "./components/RouteRenderer";
5
+ export * from "./components/ClientOnly";
6
+ export * from "./hooks/useRoute";
7
+ export * from "./hooks/useRouteTransition";
8
+ export * from "./hooks/useRouter";
9
+ export * from "./hooks/useRouterEvents";
10
+ export * from "./hooks/useRouterState";
11
+ export * from "./hooks/useRestorableState";
12
+ export * from "./hooks/useIsSSR";
13
+ export * from "./hooks/useSearchParams";
@@ -0,0 +1,13 @@
1
+ export * from "./types";
2
+ export * from "./components/Link";
3
+ export * from "./components/ScrollRestoration";
4
+ export * from "./components/RouteRenderer";
5
+ export * from "./components/ClientOnly";
6
+ export * from "./hooks/useRoute";
7
+ export * from "./hooks/useRouteTransition";
8
+ export * from "./hooks/useRouter";
9
+ export * from "./hooks/useRouterEvents";
10
+ export * from "./hooks/useRouterState";
11
+ export * from "./hooks/useRestorableState";
12
+ export * from "./hooks/useIsSSR";
13
+ export * from "./hooks/useSearchParams";
@@ -0,0 +1,30 @@
1
+ import { FunctionComponent, PropsWithChildren } from "react";
2
+ import { DynamicComponent } from "../dynamic/dynamic";
3
+ import { RouteData } from "./types";
4
+ export type RouteCacheEntry = {
5
+ data: RouteData;
6
+ component: FunctionComponent;
7
+ };
8
+ export declare class RouteError extends Error {
9
+ message: string;
10
+ statusCode: number;
11
+ constructor(message: string, statusCode: number);
12
+ }
13
+ export declare class RouteLoader {
14
+ entries: Map<string, Promise<RouteData>>;
15
+ components: Map<string, DynamicComponent<any>>;
16
+ appData: AppData;
17
+ private fetchImpl;
18
+ private processProps;
19
+ id: number;
20
+ setFetchImpl(impl: typeof fetch): void;
21
+ setPropsPreprocessor(processProps: (props: string) => string): void;
22
+ private getKey;
23
+ private getPropsURL;
24
+ hasRouteData(pathname: string): boolean;
25
+ loadRouteData(pathname: string, withAppData?: boolean): Promise<RouteData>;
26
+ setAppData(appData: AppData): void;
27
+ populateRouteData(pathname: string, data: RouteData): void;
28
+ getRouteComponent<K extends keyof ViewProps>(view: K): DynamicComponent<FunctionComponent<ViewProps[K]>>;
29
+ get appComponent(): DynamicComponent<FunctionComponent<PropsWithChildren<AppData>>>;
30
+ }
@@ -0,0 +1,108 @@
1
+ import { parseURL, stringifyParsedURL, stringifyQuery, withTrailingSlash } from "ufo";
2
+ import { viewManifestReader } from "../internal";
3
+ export class RouteError extends Error {
4
+ message;
5
+ statusCode;
6
+ constructor(message, statusCode) {
7
+ super(message);
8
+ this.message = message;
9
+ this.statusCode = statusCode;
10
+ }
11
+ }
12
+ export class RouteLoader {
13
+ entries = new Map();
14
+ components = new Map();
15
+ appData = null;
16
+ fetchImpl = (url, opts) => fetch(url, opts);
17
+ processProps = null;
18
+ id = Math.random();
19
+ setFetchImpl(impl) {
20
+ this.fetchImpl = impl;
21
+ }
22
+ setPropsPreprocessor(processProps) {
23
+ this.processProps = processProps;
24
+ }
25
+ getKey(url) {
26
+ const { pathname } = parseURL(url);
27
+ return pathname.replace(/\/$/, "").replace(/^\//, "");
28
+ }
29
+ getPropsURL(pathname, opts) {
30
+ const sampleUrl = env.client ? document.location.href : env.origin;
31
+ const origin = parseURL(sampleUrl);
32
+ let propsPath = withTrailingSlash(pathname);
33
+ let query = {};
34
+ if (env.serverless && env.client) {
35
+ propsPath = "/_data/route" + propsPath;
36
+ query = {};
37
+ // query["_debug"] = opts.debug ? "1" : "0"
38
+ // query["_props"] = opts.appData ? "all" : "1"
39
+ // query["_ssr"] = "1"
40
+ }
41
+ else {
42
+ query["_debug"] = opts.debug ? "1" : "0";
43
+ query["_props"] = opts.appData ? "all" : "1";
44
+ query["_ssr"] = "0";
45
+ }
46
+ return stringifyParsedURL({
47
+ auth: origin.auth,
48
+ host: origin.host,
49
+ protocol: origin.protocol,
50
+ pathname: propsPath,
51
+ search: stringifyQuery(query),
52
+ });
53
+ }
54
+ hasRouteData(pathname) {
55
+ const cacheKey = this.getKey(pathname);
56
+ return this.entries.has(cacheKey);
57
+ }
58
+ async loadRouteData(pathname, withAppData = false) {
59
+ const cacheKey = this.getKey(pathname);
60
+ // Cached value?
61
+ if (this.entries.has(cacheKey))
62
+ return this.entries.get(cacheKey);
63
+ const requestUrl = this.getPropsURL(pathname, {
64
+ appData: withAppData,
65
+ serverless: env.serverless,
66
+ debug: env.dev,
67
+ });
68
+ const promise = this.fetchImpl(requestUrl, {})
69
+ .then((response) => response.text())
70
+ .then((text) => {
71
+ if (this.processProps) {
72
+ text = this.processProps(text);
73
+ }
74
+ try {
75
+ return JSON.parse(text);
76
+ }
77
+ catch (err) {
78
+ throw new RouteError(`JSON parse error for route '${pathname}':\n${err?.message}`, 500);
79
+ }
80
+ })
81
+ .then((data) => {
82
+ if (data.redirect) {
83
+ const redirect = data.redirect;
84
+ data = this.loadRouteData(redirect).then((data) => {
85
+ data.canonical = redirect;
86
+ return data;
87
+ });
88
+ }
89
+ this.entries.set(cacheKey, new Promise((resolve) => resolve(data)));
90
+ return data;
91
+ });
92
+ this.entries.set(cacheKey, promise);
93
+ return promise;
94
+ }
95
+ setAppData(appData) {
96
+ this.appData = appData;
97
+ }
98
+ populateRouteData(pathname, data) {
99
+ const cacheKey = this.getKey(pathname);
100
+ this.entries.set(cacheKey, new Promise((resolve) => resolve(data)));
101
+ }
102
+ getRouteComponent(view) {
103
+ return viewManifestReader.value[view];
104
+ }
105
+ get appComponent() {
106
+ return viewManifestReader.value["_app"];
107
+ }
108
+ }
@@ -0,0 +1,138 @@
1
+ import { FunctionComponent } from "react";
2
+ import type { RouteLoader } from "./loader";
3
+ import { LinkHandlerMode, PointerOrMouseEvent } from "./utils";
4
+ export type ParsedRouteTags = Record<"title" | "meta" | "script" | "style" | "link", {
5
+ [key: string]: string;
6
+ }[]>;
7
+ export interface RouteData {
8
+ view: string;
9
+ editLink?: string;
10
+ viewType: "react" | "html";
11
+ viewData: any;
12
+ appData: any;
13
+ redirect?: string;
14
+ canonical?: string;
15
+ meta?: {
16
+ head: ParsedRouteTags;
17
+ footer: ParsedRouteTags;
18
+ };
19
+ }
20
+ export type RouteReturnState<T = {}> = {
21
+ scrollTop: number;
22
+ scrollLeft: number;
23
+ } & T;
24
+ export type RouteLink = {
25
+ pathname: string;
26
+ query: Record<string, string | string[]>;
27
+ hash: string;
28
+ };
29
+ export type RouterEvent = {
30
+ type: "clicked";
31
+ link: RouteLink;
32
+ currentRoute: RouteState;
33
+ href: string;
34
+ mode: LinkHandlerMode;
35
+ } | {
36
+ type: "capture-restorable-state";
37
+ state: RouteReturnState<Record<string, any>>;
38
+ } | {
39
+ type: "navigate:start";
40
+ link: RouteLink;
41
+ currentRoute: RouteState;
42
+ hasPreloadedData: boolean;
43
+ goingBack?: boolean;
44
+ cancel: () => void;
45
+ } | {
46
+ type: "navigate:data-ready";
47
+ link: RouteLink;
48
+ currentRoute: RouteState;
49
+ loadedRoute: RouteState;
50
+ } | {
51
+ type: "navigate:will-change";
52
+ link: RouteLink;
53
+ currentRoute: RouteState;
54
+ loadedRoute: RouteState;
55
+ } | {
56
+ type: "navigate:changed";
57
+ link: RouteLink;
58
+ lastRoute: RouteState;
59
+ currentRoute: RouteState;
60
+ } | {
61
+ type: "preload:start";
62
+ link: RouteLink;
63
+ currentRoute: RouteState;
64
+ } | {
65
+ type: "preload:data-ready";
66
+ link: RouteLink;
67
+ currentRoute: RouteState;
68
+ data: RouteData;
69
+ } | {
70
+ type: "preload:finished";
71
+ link: RouteLink;
72
+ currentRoute: RouteState;
73
+ data: RouteData;
74
+ } | {
75
+ type: "error";
76
+ critical: false;
77
+ error: Error;
78
+ };
79
+ export type RouterSubscriber = (event: RouterEvent) => void;
80
+ export type RouterAPIState = {
81
+ /** Router chain */
82
+ history: RouteState[];
83
+ /** The top-most, active route */
84
+ activeRoute: RouteState;
85
+ /** The pending route */
86
+ pendingRoute?: RouteState;
87
+ pendingRouteReady?: boolean;
88
+ /** Transition blockers */
89
+ blockers: Promise<void>[];
90
+ };
91
+ export type RouterAPI = {
92
+ /** Preload a page and it's components */
93
+ preload: (url: string) => Promise<void>;
94
+ /** Prefetch the data for a page, but not it's components. */
95
+ prefetch: (url: string) => Promise<void>;
96
+ /** Begin transitioning to a new page */
97
+ navigate: (url: string, returnState?: RouteReturnState) => Promise<void>;
98
+ /** Replace the browser search params value with the given data, without transitioning the route */
99
+ replaceQuery: (search: Record<string, string | string[]>) => void;
100
+ /** Replace the hash */
101
+ replaceHash: (hash: string) => void;
102
+ /** Handle link clicking events */
103
+ handleClickEvent(e: PointerOrMouseEvent, href?: string): void;
104
+ /** A reference to the route loader (mostly for internal use) */
105
+ loader: RouteLoader;
106
+ /** Subscribe to events */
107
+ subscribe: (subscribe: RouterSubscriber) => () => void;
108
+ /** This function is used by the routing system automatically */
109
+ emitEvent: (event: RouterEvent) => void;
110
+ };
111
+ export type TypedRouteState<T, TProps> = {
112
+ /** A unique ID, representing this history item. */
113
+ id: string;
114
+ /** A unique hash, representing this URL/page */
115
+ key: string;
116
+ /** The current path of the route eg. `"/about"` */
117
+ pathname: string;
118
+ /** The un-parsed querystring, eg. `"?foo=bar"` */
119
+ search: string;
120
+ /** The parsed querystring, parsed using the `qs` library, which supports arrays. */
121
+ query: Record<string, string | string[]>;
122
+ /** The hash of the route, eg. `"#section"` */
123
+ hash: string;
124
+ /** The normalised URI, composed from pathname, query and hash */
125
+ uri: string;
126
+ /** An object that can hold transient state, like scroll position. When a user navigates back to a page, this state is included along with router events. See `useRestorableState` for more info. */
127
+ returnState?: RouteReturnState;
128
+ /** The name of the template, like `front-page` or `single-event` */
129
+ view: T;
130
+ /** The view component for the current route. */
131
+ component: FunctionComponent<TProps>;
132
+ /** The props for this route, to be passed to the component. */
133
+ props: TProps;
134
+ };
135
+ export type RouteState = {
136
+ [K in keyof ViewProps]: TypedRouteState<K, ViewProps[K]>;
137
+ }[keyof ViewProps];
138
+ export type AnyRouteState = TypedRouteState<string, any>;
@@ -0,0 +1,15 @@
1
+ import { MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent } from "react";
2
+ import { RouteLink, RouteState } from "./types";
3
+ export declare function isSameOrigin(url: string): boolean;
4
+ export type PointerOrMouseEvent = MouseEvent | PointerEvent | ReactMouseEvent | ReactPointerEvent;
5
+ export type LinkHandlerMode = {
6
+ mode: "ignore" | "navigate" | "native";
7
+ href?: string;
8
+ };
9
+ export declare function getLinkHandlerMode(e?: PointerOrMouseEvent, href?: string): LinkHandlerMode;
10
+ type Partialize<T, TKeys extends keyof T> = Partial<Pick<T, TKeys>> & Omit<T, TKeys>;
11
+ export declare function normalizeRoute(route: Partialize<RouteState, "uri" | "returnState" | "key">): RouteState;
12
+ export declare function stringifyRouteLink(route: RouteLink): string;
13
+ export declare function parseQuery(query: string): Record<string, string | string[]>;
14
+ export declare function stringifyQuery(query: any): string;
15
+ export {};