eddev 0.3.35 → 2.0.0-beta.1

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 (567) 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/Root.d.ts +1 -0
  5. package/dist/app/entry/Root.js +9 -0
  6. package/dist/app/entry/main.admin.d.ts +3 -0
  7. package/dist/app/entry/main.admin.js +10 -0
  8. package/dist/app/entry/main.frontend.spa.d.ts +3 -0
  9. package/dist/app/entry/main.frontend.spa.js +13 -0
  10. package/dist/app/entry/main.frontend.ssr.d.ts +21 -0
  11. package/dist/app/entry/main.frontend.ssr.js +79 -0
  12. package/dist/app/entry/main.serverless.dev.d.ts +4 -0
  13. package/dist/app/entry/main.serverless.dev.js +21 -0
  14. package/{admin → dist/app/lib/admin}/defineField.d.ts +2 -2
  15. package/dist/app/lib/admin/defineField.js +3 -0
  16. package/{admin → dist/app/lib/admin}/defineWidget.d.ts +1 -1
  17. package/dist/app/lib/admin/defineWidget.js +6 -0
  18. package/dist/app/lib/admin/index.d.ts +2 -0
  19. package/dist/app/lib/admin/index.js +2 -0
  20. package/dist/app/lib/admin/installFieldTypes.js +92 -0
  21. package/dist/app/lib/admin/runWidgets.js +38 -0
  22. package/dist/app/lib/blocks/ContentBlocks.d.ts +83 -0
  23. package/dist/app/lib/blocks/ContentBlocks.js +92 -0
  24. package/dist/app/lib/blocks/EditableText.d.ts +41 -0
  25. package/dist/app/lib/blocks/EditableText.js +50 -0
  26. package/{blocks → dist/app/lib/blocks}/ErrorBoundaryFrontend.d.ts +2 -2
  27. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +35 -0
  28. package/dist/app/lib/blocks/InnerBlocks.d.ts +42 -0
  29. package/dist/app/lib/blocks/InnerBlocks.js +55 -0
  30. package/dist/app/lib/blocks/block-utils.d.ts +24 -0
  31. package/dist/app/lib/blocks/block-utils.js +41 -0
  32. package/dist/app/lib/blocks/defineBlock.d.ts +2 -0
  33. package/dist/app/lib/blocks/defineBlock.js +3 -0
  34. package/dist/app/lib/blocks/editor/EditorSupport.d.ts +5 -0
  35. package/dist/app/lib/blocks/editor/EditorSupport.js +19 -0
  36. package/{blocks → dist/app/lib/blocks/editor}/ErrorBoundaryEditor.d.ts +1 -1
  37. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.js +28 -0
  38. package/dist/app/lib/blocks/editor/block-templates.d.ts +3 -0
  39. package/dist/app/lib/blocks/editor/block-templates.js +9 -0
  40. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +7 -0
  41. package/dist/app/lib/blocks/editor/blocks-by-tag.js +42 -0
  42. package/dist/app/lib/blocks/editor/controls.d.ts +10 -0
  43. package/dist/app/lib/blocks/editor/controls.js +20 -0
  44. package/dist/app/lib/blocks/editor/editor-config.d.ts +58 -0
  45. package/dist/app/lib/blocks/editor/editor-config.js +191 -0
  46. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +2 -0
  47. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +131 -0
  48. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +27 -0
  49. package/dist/app/lib/blocks/editor/usePostEditor.js +79 -0
  50. package/dist/app/lib/blocks/index.d.ts +9 -0
  51. package/dist/app/lib/blocks/index.js +9 -0
  52. package/dist/app/lib/blocks/inline-editing.d.ts +54 -0
  53. package/dist/app/lib/blocks/inline-editing.js +114 -0
  54. package/dist/app/lib/devtools/components/BreakpointIndicator.js +79 -0
  55. package/{dev-ui → dist/app/lib/devtools}/components/DevUI.d.ts +1 -0
  56. package/dist/app/lib/devtools/components/DevUI.js +6 -0
  57. package/dist/app/lib/devtools/hooks/usePersistState.js +31 -0
  58. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +4184 -0
  59. package/dist/app/lib/devtools/hooks/useTailwind.js +6 -0
  60. package/dist/app/lib/devtools/index.js +1 -0
  61. package/dist/app/lib/devtools/loader.js +23 -0
  62. package/dist/app/lib/devtools/tailwind.config.d.ts +23 -0
  63. package/dist/app/lib/devtools/tailwind.config.js +24 -0
  64. package/{hooks → dist/app/lib/devtools}/useQueryDebug.d.ts +1 -1
  65. package/dist/app/lib/devtools/useQueryDebug.js +13 -0
  66. package/dist/app/lib/dynamic/dynamic.d.ts +8 -0
  67. package/dist/app/lib/dynamic/dynamic.js +25 -0
  68. package/dist/app/lib/dynamic/index.d.ts +1 -0
  69. package/dist/app/lib/dynamic/index.js +1 -0
  70. package/dist/app/lib/hooks/apiConfig.d.ts +18 -0
  71. package/dist/app/lib/hooks/apiConfig.js +4 -0
  72. package/{hooks → dist/app/lib/hooks}/index.d.ts +2 -0
  73. package/dist/app/lib/hooks/index.js +5 -0
  74. package/dist/app/lib/hooks/queryUtils.d.ts +46 -0
  75. package/dist/app/lib/hooks/queryUtils.js +183 -0
  76. package/dist/app/lib/hooks/useAppData.d.ts +4 -0
  77. package/dist/app/lib/hooks/useAppData.js +11 -0
  78. package/{hooks → dist/app/lib/hooks}/usePageLoad.d.ts +1 -1
  79. package/dist/app/lib/hooks/usePageLoad.js +5 -0
  80. package/dist/app/lib/hooks/useRPC.d.ts +9 -0
  81. package/dist/app/lib/hooks/useRPC.js +9 -0
  82. package/dist/app/lib/internal/index.d.ts +4 -0
  83. package/dist/app/lib/internal/index.js +4 -0
  84. package/dist/app/lib/internal/internal-store.d.ts +11 -0
  85. package/dist/app/lib/internal/internal-store.js +9 -0
  86. package/dist/app/lib/internal/read-admin-manifest.d.ts +19 -0
  87. package/dist/app/lib/internal/read-admin-manifest.js +17 -0
  88. package/dist/app/lib/internal/read-block-manifest.d.ts +15 -0
  89. package/dist/app/lib/internal/read-block-manifest.js +16 -0
  90. package/dist/app/lib/internal/read-view-manifest.d.ts +12 -0
  91. package/dist/app/lib/internal/read-view-manifest.js +3 -0
  92. package/dist/app/lib/legacy-stitches/createStitches.d.ts +615 -0
  93. package/dist/app/lib/legacy-stitches/createStitches.js +439 -0
  94. package/dist/app/lib/legacy-stitches/index.js +1 -0
  95. package/{components → dist/app/lib/routing/components}/BrowserRouter.d.ts +2 -4
  96. package/dist/app/lib/routing/components/BrowserRouter.js +351 -0
  97. package/dist/app/lib/routing/components/ClientOnly.d.ts +12 -0
  98. package/dist/app/lib/routing/components/ClientOnly.js +14 -0
  99. package/dist/app/lib/routing/components/Link.d.ts +26 -0
  100. package/dist/app/lib/routing/components/Link.js +93 -0
  101. package/dist/app/lib/routing/components/RouteRenderer.d.ts +9 -0
  102. package/dist/app/lib/routing/components/RouteRenderer.js +28 -0
  103. package/dist/app/lib/routing/components/SSRRouter.d.ts +9 -0
  104. package/dist/app/lib/routing/components/SSRRouter.js +14 -0
  105. package/dist/app/lib/routing/components/ScrollRestoration.d.ts +15 -0
  106. package/dist/app/lib/routing/components/ScrollRestoration.js +32 -0
  107. package/dist/app/lib/routing/context.d.ts +5 -0
  108. package/dist/app/lib/routing/context.js +129 -0
  109. package/dist/app/lib/routing/hooks/useIsSSR.d.ts +8 -0
  110. package/dist/app/lib/routing/hooks/useIsSSR.js +22 -0
  111. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +5 -0
  112. package/dist/app/lib/routing/hooks/useRestorableState.js +17 -0
  113. package/dist/app/lib/routing/hooks/useRoute.d.ts +2 -0
  114. package/dist/app/lib/routing/hooks/useRoute.js +5 -0
  115. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +4 -0
  116. package/dist/app/lib/routing/hooks/useRouteTransition.js +12 -0
  117. package/dist/app/lib/routing/hooks/useRouter.d.ts +2 -0
  118. package/dist/app/lib/routing/hooks/useRouter.js +11 -0
  119. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +2 -0
  120. package/dist/app/lib/routing/hooks/useRouterEvents.js +10 -0
  121. package/dist/app/lib/routing/hooks/useRouterState.d.ts +2 -0
  122. package/dist/app/lib/routing/hooks/useRouterState.js +8 -0
  123. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +10 -0
  124. package/dist/app/lib/routing/hooks/useSearchParams.js +30 -0
  125. package/dist/app/lib/routing/index.d.ts +13 -0
  126. package/dist/app/lib/routing/index.js +13 -0
  127. package/dist/app/lib/routing/loader.d.ts +30 -0
  128. package/dist/app/lib/routing/loader.js +106 -0
  129. package/dist/app/lib/routing/types.d.ts +138 -0
  130. package/dist/app/lib/routing/utils.d.ts +15 -0
  131. package/dist/app/lib/routing/utils.js +94 -0
  132. package/dist/app/lib/views/defineView.d.ts +4 -0
  133. package/dist/app/lib/views/defineView.js +3 -0
  134. package/dist/app/lib/views/index.js +1 -0
  135. package/dist/app/server/create-api-builtin-hono.d.ts +8 -0
  136. package/dist/app/server/create-api-builtin-hono.js +80 -0
  137. package/dist/app/server/create-ssr-hono.d.ts +18 -0
  138. package/dist/app/server/create-ssr-hono.js +104 -0
  139. package/dist/app/server/utils/headers.d.ts +4 -0
  140. package/dist/app/server/utils/headers.js +11 -0
  141. package/dist/app/server/utils/index.html.d.ts +2 -0
  142. package/dist/app/server/utils/index.html.js +14 -0
  143. package/dist/app/server/utils/replace-host.d.ts +8 -0
  144. package/dist/app/server/utils/replace-host.js +14 -0
  145. package/dist/app/utils/query-client.d.ts +2 -0
  146. package/dist/app/utils/query-client.js +16 -0
  147. package/dist/app/utils/wp.d.ts +26 -0
  148. package/dist/node/cli/cli-mode.d.ts +10 -0
  149. package/dist/node/cli/cli-mode.js +12 -0
  150. package/dist/node/cli/cli-worker.d.ts +13 -0
  151. package/dist/node/cli/cli-worker.js +114 -0
  152. package/dist/node/cli/cli.js +166 -0
  153. package/dist/node/cli/display/CLIApp.d.ts +16 -0
  154. package/dist/node/cli/display/CLIApp.js +117 -0
  155. package/dist/node/cli/display/boot-cli-app.d.ts +2 -0
  156. package/dist/node/cli/display/boot-cli-app.js +10 -0
  157. package/{cli → dist/node/cli}/display/components/Fullscreen.d.ts +1 -1
  158. package/dist/node/cli/display/components/Fullscreen.js +24 -0
  159. package/dist/node/cli/display/components/LogEntries.d.ts +13 -0
  160. package/dist/node/cli/display/components/LogEntries.js +87 -0
  161. package/dist/node/cli/display/components/MenuItem.d.ts +6 -0
  162. package/dist/node/cli/display/components/MenuItem.js +11 -0
  163. package/dist/node/cli/display/components/TextInput.d.ts +44 -0
  164. package/dist/node/cli/display/components/TextInput.js +105 -0
  165. package/dist/node/cli/display/hooks/useManifest.d.ts +2 -0
  166. package/dist/node/cli/display/hooks/useManifest.js +8 -0
  167. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +11 -0
  168. package/dist/node/cli/display/hooks/useStatefulLog.js +51 -0
  169. package/dist/node/cli/display/tools/BlockList.d.ts +2 -0
  170. package/dist/node/cli/display/tools/BlockList.js +10 -0
  171. package/dist/node/cli/display/tools/CreateBlock.d.ts +2 -0
  172. package/dist/node/cli/display/tools/CreateBlock.js +8 -0
  173. package/dist/node/cli/display/tools/cli-tool-list.d.ts +2 -0
  174. package/dist/node/cli/display/tools/cli-tool-list.js +23 -0
  175. package/dist/node/cli/display/tools/cli-tools.d.ts +26 -0
  176. package/dist/node/cli/display/tools/cli-tools.js +15 -0
  177. package/dist/node/cli/display/util/colors.d.ts +4 -0
  178. package/dist/node/cli/display/util/colors.js +63 -0
  179. package/dist/node/cli/version.d.ts +1 -0
  180. package/dist/node/cli/version.js +1 -0
  181. package/dist/node/compiler/bundler.admin.d.ts +13 -0
  182. package/dist/node/compiler/bundler.admin.js +37 -0
  183. package/dist/node/compiler/bundler.frontend.d.ts +13 -0
  184. package/dist/node/compiler/bundler.frontend.js +37 -0
  185. package/dist/node/compiler/index.html.d.ts +2 -0
  186. package/dist/node/compiler/index.html.js +15 -0
  187. package/dist/node/compiler/serverless.dev.d.ts +16 -0
  188. package/dist/node/compiler/serverless.dev.js +215 -0
  189. package/dist/node/compiler/vite/get-vite-config.d.ts +13 -0
  190. package/dist/node/compiler/vite/get-vite-config.js +315 -0
  191. package/dist/node/compiler/vite/plugin-admin.d.ts +4 -0
  192. package/dist/node/compiler/vite/plugin-admin.js +67 -0
  193. package/dist/node/compiler/vite/plugin-blocks.d.ts +4 -0
  194. package/dist/node/compiler/vite/plugin-blocks.js +73 -0
  195. package/dist/node/compiler/vite/plugin-entry.d.ts +6 -0
  196. package/dist/node/compiler/vite/plugin-entry.js +16 -0
  197. package/dist/node/compiler/vite/plugin-resolved-tailwind.d.ts +4 -0
  198. package/dist/node/compiler/vite/plugin-resolved-tailwind.js +29 -0
  199. package/dist/node/compiler/vite/plugin-theme.d.ts +4 -0
  200. package/dist/node/compiler/vite/plugin-theme.js +40 -0
  201. package/dist/node/compiler/vite/plugin-views.d.ts +4 -0
  202. package/dist/node/compiler/vite/plugin-views.js +51 -0
  203. package/dist/node/graphql/graphql-codegen.d.ts +30 -0
  204. package/dist/node/graphql/graphql-codegen.js +503 -0
  205. package/dist/node/graphql/graphql-schema-loader.d.ts +17 -0
  206. package/dist/node/graphql/graphql-schema-loader.js +94 -0
  207. package/dist/node/graphql/plugins/gql-plugin-files.d.ts +14 -0
  208. package/dist/node/graphql/plugins/gql-plugin-files.js +66 -0
  209. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +8 -0
  210. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.js +10 -0
  211. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +8 -0
  212. package/dist/node/graphql/plugins/gql-plugin-queries.js +263 -0
  213. package/dist/node/graphql/query-files-loader.d.ts +26 -0
  214. package/dist/node/graphql/query-files-loader.js +54 -0
  215. package/dist/node/graphql/wp-info-query.d.ts +1 -0
  216. package/dist/node/graphql/wp-info-query.js +29 -0
  217. package/{config/config-schema.d.ts → dist/node/project/config.d.ts} +54 -38
  218. package/dist/node/project/config.js +138 -0
  219. package/dist/node/project/eddev-build-file.d.ts +10 -0
  220. package/dist/node/project/eddev-build-file.js +79 -0
  221. package/dist/node/project/env.d.ts +39 -0
  222. package/dist/node/project/env.js +77 -0
  223. package/dist/node/project/favicons.d.ts +0 -0
  224. package/dist/node/project/favicons.js +1 -0
  225. package/dist/node/project/manifest/block-manifest.d.ts +19 -0
  226. package/dist/node/project/manifest/block-manifest.js +206 -0
  227. package/dist/node/project/manifest/field-manifest.d.ts +17 -0
  228. package/dist/node/project/manifest/field-manifest.js +42 -0
  229. package/dist/node/project/manifest/manifest.d.ts +30 -0
  230. package/dist/node/project/manifest/manifest.js +105 -0
  231. package/dist/node/project/manifest/view-manifest.d.ts +19 -0
  232. package/dist/node/project/manifest/view-manifest.js +152 -0
  233. package/dist/node/project/manifest/widget-manifest.d.ts +17 -0
  234. package/dist/node/project/manifest/widget-manifest.js +42 -0
  235. package/dist/node/project/project.d.ts +57 -0
  236. package/dist/node/project/project.js +115 -0
  237. package/dist/node/project/wp-info.d.ts +32 -0
  238. package/dist/node/project/wp-info.js +34 -0
  239. package/dist/node/types/block-type.d.ts +92 -0
  240. package/dist/node/types/block-type.js +82 -0
  241. package/dist/node/types/view-type.d.ts +31 -0
  242. package/dist/node/types/view-type.js +54 -0
  243. package/dist/node/utils/console.d.ts +21 -0
  244. package/dist/node/utils/console.js +28 -0
  245. package/dist/node/utils/export-extractor.d.ts +9 -0
  246. package/dist/node/utils/export-extractor.js +71 -0
  247. package/dist/node/utils/formatZodError.d.ts +3 -0
  248. package/dist/node/utils/formatZodError.js +33 -0
  249. package/dist/node/utils/fs.d.ts +106 -0
  250. package/dist/node/utils/fs.js +56 -0
  251. package/dist/node/utils/getRepoInfo.d.ts +7 -0
  252. package/dist/node/utils/getRepoInfo.js +21 -0
  253. package/dist/node/utils/helpers.d.ts +2 -0
  254. package/dist/node/utils/helpers.js +14 -0
  255. package/dist/node/utils/highlightCode.d.ts +10 -0
  256. package/dist/node/utils/highlightCode.js +30 -0
  257. package/dist/node/utils/isDeploying.d.ts +4 -0
  258. package/dist/node/utils/isDeploying.js +6 -0
  259. package/dist/node/utils/report-builder.d.ts +9 -0
  260. package/dist/node/utils/report-builder.js +51 -0
  261. package/dist/node/utils/selfSignedCert.d.ts +4 -0
  262. package/dist/node/utils/selfSignedCert.js +35 -0
  263. package/dist/node/utils/statefulLog.d.ts +65 -0
  264. package/dist/node/utils/statefulLog.js +223 -0
  265. package/dist/node/utils/unsafe-fetch.d.ts +2 -0
  266. package/dist/node/utils/unsafe-fetch.js +19 -0
  267. package/dist/node/utils/watchFileTree.d.ts +11 -0
  268. package/dist/node/utils/watchFileTree.js +58 -0
  269. package/package.json +123 -102
  270. package/stitches-archive/config.d.ts +210 -0
  271. package/stitches-archive/css-util.d.ts +119 -0
  272. package/stitches-archive/css.d.ts +9797 -0
  273. package/stitches-archive/index.d.mts +144 -0
  274. package/stitches-archive/index.d.ts +82 -0
  275. package/stitches-archive/index.mjs +2 -0
  276. package/stitches-archive/stitches.d.ts +288 -0
  277. package/stitches-archive/styled-component.d.ts +163 -0
  278. package/stitches-archive/theme.d.ts +43 -0
  279. package/stitches-archive/util.d.ts +32 -0
  280. package/tsconfig.app.json +20 -0
  281. package/tsconfig.json +2 -104
  282. package/tsconfig.node.json +20 -0
  283. package/tsup.config.ts +40 -0
  284. package/types.app.d.ts +22 -0
  285. package/types.app.internal.d.ts +13 -0
  286. package/types.env.d.ts +16 -0
  287. package/types.manifests.d.ts +22 -0
  288. package/types.meta.d.ts +319 -0
  289. package/types.node.d.ts +3 -0
  290. package/admin/components/FileWell.d.ts +0 -8
  291. package/admin/components/FileWell.js +0 -189
  292. package/admin/components/ImageWell.d.ts +0 -9
  293. package/admin/components/ImageWell.js +0 -209
  294. package/admin/defineField.js +0 -7
  295. package/admin/defineWidget.js +0 -10
  296. package/admin/index.d.ts +0 -4
  297. package/admin/index.js +0 -16
  298. package/admin/installFieldTypes.js +0 -71
  299. package/admin/runWidgets.js +0 -55
  300. package/admin/selectMedia.d.ts +0 -31
  301. package/admin/selectMedia.js +0 -9
  302. package/blocks/ContentBlocks.d.ts +0 -40
  303. package/blocks/ContentBlocks.js +0 -125
  304. package/blocks/ErrorBoundaryEditor.js +0 -64
  305. package/blocks/ErrorBoundaryFrontend.js +0 -69
  306. package/blocks/InspectorControls.d.ts +0 -2
  307. package/blocks/InspectorControls.js +0 -13
  308. package/blocks/blockAttributes.d.ts +0 -20
  309. package/blocks/blockAttributes.js +0 -81
  310. package/blocks/defineBlock.d.ts +0 -2
  311. package/blocks/defineBlock.js +0 -7
  312. package/blocks/index.d.ts +0 -5
  313. package/blocks/index.js +0 -23
  314. package/blocks/inlineEditing.d.ts +0 -32
  315. package/blocks/inlineEditing.js +0 -141
  316. package/blocks/installGutenbergHooks.d.ts +0 -2
  317. package/blocks/installGutenbergHooks.js +0 -211
  318. package/build/babel/plugin-name-defined-components.d.ts +0 -7
  319. package/build/babel/plugin-name-defined-components.js +0 -47
  320. package/build/build-favicon.d.ts +0 -1
  321. package/build/build-favicon.js +0 -71
  322. package/build/clean.d.ts +0 -1
  323. package/build/clean.js +0 -60
  324. package/build/create-codegen-worker.d.ts +0 -3
  325. package/build/create-codegen-worker.js +0 -71
  326. package/build/create-serverless-dev-worker.d.ts +0 -3
  327. package/build/create-serverless-dev-worker.js +0 -99
  328. package/build/create-webpack-worker.d.ts +0 -3
  329. package/build/create-webpack-worker.js +0 -64
  330. package/build/file-tree.d.ts +0 -5
  331. package/build/file-tree.js +0 -45
  332. package/build/get-webpack-config.d.ts +0 -3
  333. package/build/get-webpack-config.js +0 -426
  334. package/build/graphql-codegen/graphql-codegen-blocks.d.ts +0 -1
  335. package/build/graphql-codegen/graphql-codegen-blocks.js +0 -7
  336. package/build/graphql-codegen/graphql-codegen-files.js +0 -64
  337. package/build/graphql-codegen/graphql-codegen-no-duplicates.js +0 -13
  338. package/build/graphql-codegen/graphql-codegen-queries.d.ts +0 -1
  339. package/build/graphql-codegen/graphql-codegen-queries.js +0 -248
  340. package/build/manifests/manifest-blocks.d.ts +0 -12
  341. package/build/manifests/manifest-blocks.js +0 -61
  342. package/build/manifests/manifest-fields.d.ts +0 -12
  343. package/build/manifests/manifest-fields.js +0 -42
  344. package/build/manifests/manifest-views.d.ts +0 -12
  345. package/build/manifests/manifest-views.js +0 -49
  346. package/build/manifests/manifest-widgets.d.ts +0 -12
  347. package/build/manifests/manifest-widgets.js +0 -42
  348. package/build/manifests/manifest.d.ts +0 -11
  349. package/build/manifests/manifest.js +0 -100
  350. package/build/reporter.d.ts +0 -12
  351. package/build/reporter.js +0 -102
  352. package/build/serverless/create-next-app.d.ts +0 -9
  353. package/build/serverless/create-next-app.js +0 -536
  354. package/build/state/codegen-state.d.ts +0 -32
  355. package/build/state/codegen-state.js +0 -2
  356. package/build/state/compiler-state.d.ts +0 -49
  357. package/build/state/compiler-state.js +0 -2
  358. package/build/state/serverless-state.d.ts +0 -26
  359. package/build/state/serverless-state.js +0 -2
  360. package/build/workers/codegen-worker-script.d.ts +0 -2
  361. package/build/workers/codegen-worker-script.js +0 -624
  362. package/build/workers/serverless-worker-dev-script.d.ts +0 -1
  363. package/build/workers/serverless-worker-dev-script.js +0 -21
  364. package/build/workers/webpack-worker-script.d.ts +0 -2
  365. package/build/workers/webpack-worker-script.js +0 -171
  366. package/cli/build.dev.d.ts +0 -7
  367. package/cli/build.dev.js +0 -136
  368. package/cli/build.prod.d.ts +0 -5
  369. package/cli/build.prod.js +0 -107
  370. package/cli/cli.js +0 -90
  371. package/cli/display/components/BundleDisplay.d.ts +0 -5
  372. package/cli/display/components/BundleDisplay.js +0 -56
  373. package/cli/display/components/CodegenDisplay.d.ts +0 -5
  374. package/cli/display/components/CodegenDisplay.js +0 -62
  375. package/cli/display/components/DevCLIDisplay.d.ts +0 -12
  376. package/cli/display/components/DevCLIDisplay.js +0 -42
  377. package/cli/display/components/Fullscreen.js +0 -39
  378. package/cli/display/components/ServerlessDisplay.d.ts +0 -8
  379. package/cli/display/components/ServerlessDisplay.js +0 -68
  380. package/cli/display/components/StatusIcon.d.ts +0 -5
  381. package/cli/display/components/StatusIcon.js +0 -9
  382. package/cli/preinstall.d.ts +0 -1
  383. package/cli/preinstall.js +0 -19
  384. package/cli/setup.d.ts +0 -1
  385. package/cli/setup.js +0 -90
  386. package/components/AdminBar.d.ts +0 -1
  387. package/components/AdminBar.js +0 -9
  388. package/components/BrowserRouter.js +0 -155
  389. package/components/InlinePage.d.ts +0 -11
  390. package/components/InlinePage.js +0 -70
  391. package/components/NextRouter.d.ts +0 -9
  392. package/components/NextRouter.js +0 -45
  393. package/components/index.d.ts +0 -2
  394. package/components/index.js +0 -14
  395. package/config/config-schema.js +0 -38
  396. package/config/create-schema-file.d.ts +0 -1
  397. package/config/create-schema-file.js +0 -20
  398. package/config/get-config.d.ts +0 -78
  399. package/config/get-config.js +0 -32
  400. package/config/index.d.ts +0 -2
  401. package/config/index.js +0 -14
  402. package/config/parse-config.d.ts +0 -51
  403. package/config/parse-config.js +0 -8
  404. package/config/print-zod-errors.d.ts +0 -2
  405. package/config/print-zod-errors.js +0 -14
  406. package/dev-ui/components/BreakpointColumnHeader.d.ts +0 -10
  407. package/dev-ui/components/BreakpointColumnHeader.js +0 -47
  408. package/dev-ui/components/BreakpointIndicator.js +0 -139
  409. package/dev-ui/components/DevUI.js +0 -28
  410. package/dev-ui/components/Launcher.d.ts +0 -98
  411. package/dev-ui/components/Launcher.js +0 -94
  412. package/dev-ui/components/PanelWrapper.d.ts +0 -8
  413. package/dev-ui/components/PanelWrapper.js +0 -37
  414. package/dev-ui/components/ResponsiveLerpControl.d.ts +0 -7
  415. package/dev-ui/components/ResponsiveLerpControl.js +0 -176
  416. package/dev-ui/components/ResponsiveScaleEditor.d.ts +0 -25
  417. package/dev-ui/components/ResponsiveScaleEditor.js +0 -238
  418. package/dev-ui/components/atoms/Button.d.ts +0 -47
  419. package/dev-ui/components/atoms/Button.js +0 -67
  420. package/dev-ui/components/atoms/Dropdown.d.ts +0 -13
  421. package/dev-ui/components/atoms/Dropdown.js +0 -50
  422. package/dev-ui/components/atoms/NumberField.d.ts +0 -11
  423. package/dev-ui/components/atoms/NumberField.js +0 -111
  424. package/dev-ui/components/atoms/Spacer.d.ts +0 -42
  425. package/dev-ui/components/atoms/Spacer.js +0 -8
  426. package/dev-ui/components/atoms/Text.d.ts +0 -45
  427. package/dev-ui/components/atoms/Text.js +0 -39
  428. package/dev-ui/components/atoms/ToggleButton.d.ts +0 -8
  429. package/dev-ui/components/atoms/ToggleButton.js +0 -41
  430. package/dev-ui/components/atoms/Tooltip.d.ts +0 -9
  431. package/dev-ui/components/atoms/Tooltip.js +0 -66
  432. package/dev-ui/components/panels/AppDataDebugger.d.ts +0 -1
  433. package/dev-ui/components/panels/AppDataDebugger.js +0 -29
  434. package/dev-ui/components/panels/ColorEditor.d.ts +0 -1
  435. package/dev-ui/components/panels/ColorEditor.js +0 -128
  436. package/dev-ui/components/panels/PageDataDebugger.d.ts +0 -1
  437. package/dev-ui/components/panels/PageDataDebugger.js +0 -30
  438. package/dev-ui/components/panels/QueryDebugger.d.ts +0 -1
  439. package/dev-ui/components/panels/QueryDebugger.js +0 -46
  440. package/dev-ui/components/panels/SpacingEditor.d.ts +0 -1
  441. package/dev-ui/components/panels/SpacingEditor.js +0 -88
  442. package/dev-ui/components/panels/TypographyEditor.d.ts +0 -1
  443. package/dev-ui/components/panels/TypographyEditor.js +0 -97
  444. package/dev-ui/hooks/useBreakpoint.d.ts +0 -11
  445. package/dev-ui/hooks/useBreakpoint.js +0 -59
  446. package/dev-ui/hooks/usePersistState.js +0 -36
  447. package/dev-ui/hooks/useStylesheet.d.ts +0 -4
  448. package/dev-ui/hooks/useStylesheet.js +0 -31
  449. package/dev-ui/icons.d.ts +0 -15
  450. package/dev-ui/icons.js +0 -30
  451. package/dev-ui/index.d.ts +0 -1
  452. package/dev-ui/index.js +0 -13
  453. package/dev-ui/loader.js +0 -44
  454. package/dev-ui/panels.d.ts +0 -11
  455. package/dev-ui/panels.js +0 -47
  456. package/dev-ui/theme.d.ts +0 -151
  457. package/dev-ui/theme.js +0 -50
  458. package/dynamic/dynamic-component.d.ts +0 -10
  459. package/dynamic/dynamic-component.js +0 -8
  460. package/dynamic/index.d.ts +0 -1
  461. package/dynamic/index.js +0 -13
  462. package/entry/Root.d.ts +0 -3
  463. package/entry/Root.js +0 -56
  464. package/entry/entry.admin.dev.d.ts +0 -1
  465. package/entry/entry.admin.dev.js +0 -26
  466. package/entry/entry.admin.prod.d.ts +0 -1
  467. package/entry/entry.admin.prod.js +0 -16
  468. package/entry/entry.monolith.dev.d.ts +0 -6
  469. package/entry/entry.monolith.dev.js +0 -19
  470. package/entry/entry.monolith.prod.d.ts +0 -6
  471. package/entry/entry.monolith.prod.js +0 -18
  472. package/entry/entry.publicPath.js +0 -6
  473. package/gravityforms/index.d.ts +0 -2
  474. package/gravityforms/index.js +0 -14
  475. package/gravityforms/types.d.ts +0 -140
  476. package/gravityforms/types.js +0 -2
  477. package/gravityforms/useGravityForm.d.ts +0 -30
  478. package/gravityforms/useGravityForm.js +0 -292
  479. package/hooks/index.js +0 -15
  480. package/hooks/queryUtils.d.ts +0 -63
  481. package/hooks/queryUtils.js +0 -281
  482. package/hooks/useAppData.d.ts +0 -10
  483. package/hooks/useAppData.js +0 -37
  484. package/hooks/usePageLoad.js +0 -11
  485. package/hooks/useQuery.d.ts +0 -1
  486. package/hooks/useQuery.js +0 -10
  487. package/hooks/useQueryDebug.js +0 -21
  488. package/hooks/useRPC.d.ts +0 -12
  489. package/hooks/useRPC.js +0 -20
  490. package/index.d.ts +0 -1
  491. package/index.js +0 -5
  492. package/routing/index.d.ts +0 -1
  493. package/routing/index.js +0 -13
  494. package/routing/remoteProps.d.ts +0 -22
  495. package/routing/remoteProps.js +0 -103
  496. package/routing/routing.d.ts +0 -96
  497. package/routing/routing.js +0 -442
  498. package/routing/updateEditLink.d.ts +0 -1
  499. package/routing/updateEditLink.js +0 -12
  500. package/routing/updateHeadTags.d.ts +0 -2
  501. package/routing/updateHeadTags.js +0 -11
  502. package/serverless/define-api.d.ts +0 -2
  503. package/serverless/define-api.js +0 -66
  504. package/serverless/define-rpc-router.d.ts +0 -6
  505. package/serverless/define-rpc-router.js +0 -35
  506. package/serverless/error-codes.d.ts +0 -2
  507. package/serverless/error-codes.js +0 -14
  508. package/serverless/index.d.ts +0 -5
  509. package/serverless/index.js +0 -18
  510. package/serverless/rpc-provider.d.ts +0 -1
  511. package/serverless/rpc-provider.js +0 -5
  512. package/serverless-template/README.md +0 -34
  513. package/serverless-template/_utils/PageMeta.tsx +0 -44
  514. package/serverless-template/_utils/ed-config.ts +0 -5
  515. package/serverless-template/_utils/fetch-wordpress-props.ts +0 -62
  516. package/serverless-template/_utils/fetch-wp.ts +0 -34
  517. package/serverless-template/_utils/swr.ts +0 -43
  518. package/serverless-template/global.d.ts +0 -15
  519. package/serverless-template/next-env.d.ts +0 -3
  520. package/serverless-template/next.config.js +0 -119
  521. package/serverless-template/null.ts +0 -1
  522. package/serverless-template/package.json +0 -21
  523. package/serverless-template/pages/404.tsx +0 -12
  524. package/serverless-template/pages/[...slug].tsx +0 -35
  525. package/serverless-template/pages/_app.tsx +0 -55
  526. package/serverless-template/pages/_document.tsx +0 -65
  527. package/serverless-template/pages/api/rest/[...method].ts +0 -54
  528. package/serverless-template/pages/api/robots.ts +0 -49
  529. package/serverless-template/pages/api/sitemap/[...sitemap].ts +0 -56
  530. package/serverless-template/pages/api/trpc/[...trpc].ts +0 -41
  531. package/serverless-template/pages/index.tsx +0 -15
  532. package/serverless-template/tsconfig.json +0 -39
  533. package/style/createStitches.d.ts +0 -1058
  534. package/style/createStitches.js +0 -443
  535. package/style/index.js +0 -13
  536. package/utils/Observable.d.ts +0 -11
  537. package/utils/Observable.js +0 -34
  538. package/utils/getRepoName.d.ts +0 -4
  539. package/utils/getRepoName.js +0 -30
  540. package/utils/merge-refs.d.ts +0 -2
  541. package/utils/merge-refs.js +0 -17
  542. package/utils/promptIfRepoNameIncorrect.d.ts +0 -1
  543. package/utils/promptIfRepoNameIncorrect.js +0 -72
  544. package/utils/refreshOverlayInterop.d.ts +0 -4
  545. package/utils/refreshOverlayInterop.js +0 -12
  546. package/utils/reportErrorStack.d.ts +0 -7
  547. package/utils/reportErrorStack.js +0 -13
  548. package/utils/serverlessAppContext.d.ts +0 -3
  549. package/utils/serverlessAppContext.js +0 -6
  550. package/utils/updateEnvFile.d.ts +0 -1
  551. package/utils/updateEnvFile.js +0 -76
  552. package/utils/useObservable.d.ts +0 -2
  553. package/utils/useObservable.js +0 -12
  554. package/views/defineView.d.ts +0 -2
  555. package/views/defineView.js +0 -7
  556. package/views/index.js +0 -13
  557. /package/{admin → dist/app/lib/admin}/installFieldTypes.d.ts +0 -0
  558. /package/{admin → dist/app/lib/admin}/runWidgets.d.ts +0 -0
  559. /package/{dev-ui → dist/app/lib/devtools}/components/BreakpointIndicator.d.ts +0 -0
  560. /package/{dev-ui → dist/app/lib/devtools}/hooks/usePersistState.d.ts +0 -0
  561. /package/{entry/entry.publicPath.d.ts → dist/app/lib/devtools/index.d.ts} +0 -0
  562. /package/{dev-ui → dist/app/lib/devtools}/loader.d.ts +0 -0
  563. /package/{style → dist/app/lib/legacy-stitches}/index.d.ts +0 -0
  564. /package/{build/graphql-codegen/graphql-codegen-files.d.ts → dist/app/lib/routing/types.js} +0 -0
  565. /package/{views → dist/app/lib/views}/index.d.ts +0 -0
  566. /package/{build/graphql-codegen/graphql-codegen-no-duplicates.d.ts → dist/app/utils/wp.js} +0 -0
  567. /package/{cli → dist/node/cli}/cli.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,106 @@
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 (opts.serverless) {
35
+ query["_debug"] = opts.debug ? "1" : "0";
36
+ query["_props"] = opts.appData ? "all" : "1";
37
+ query["_ssr"] = "1";
38
+ }
39
+ else {
40
+ query["_debug"] = opts.debug ? "1" : "0";
41
+ query["_props"] = opts.appData ? "all" : "1";
42
+ query["_ssr"] = "0";
43
+ }
44
+ return stringifyParsedURL({
45
+ auth: origin.auth,
46
+ host: origin.host,
47
+ protocol: origin.protocol,
48
+ pathname: propsPath,
49
+ search: stringifyQuery(query),
50
+ });
51
+ }
52
+ hasRouteData(pathname) {
53
+ const cacheKey = this.getKey(pathname);
54
+ return this.entries.has(cacheKey);
55
+ }
56
+ async loadRouteData(pathname, withAppData = false) {
57
+ const cacheKey = this.getKey(pathname);
58
+ // Cached value?
59
+ if (this.entries.has(cacheKey))
60
+ return this.entries.get(cacheKey);
61
+ const requestUrl = this.getPropsURL(pathname, {
62
+ appData: withAppData,
63
+ serverless: env.serverless,
64
+ debug: env.dev,
65
+ });
66
+ const promise = this.fetchImpl(requestUrl, {})
67
+ .then((response) => response.text())
68
+ .then((text) => {
69
+ if (this.processProps) {
70
+ text = this.processProps(text);
71
+ }
72
+ try {
73
+ return JSON.parse(text);
74
+ }
75
+ catch (err) {
76
+ throw new RouteError(`JSON parse error for route '${pathname}':\n${err?.message}`, 500);
77
+ }
78
+ })
79
+ .then((data) => {
80
+ if (data.redirect) {
81
+ const redirect = data.redirect;
82
+ data = this.loadRouteData(redirect).then((data) => {
83
+ data.canonical = redirect;
84
+ return data;
85
+ });
86
+ }
87
+ this.entries.set(cacheKey, new Promise((resolve) => resolve(data)));
88
+ return data;
89
+ });
90
+ this.entries.set(cacheKey, promise);
91
+ return promise;
92
+ }
93
+ setAppData(appData) {
94
+ this.appData = appData;
95
+ }
96
+ populateRouteData(pathname, data) {
97
+ const cacheKey = this.getKey(pathname);
98
+ this.entries.set(cacheKey, new Promise((resolve) => resolve(data)));
99
+ }
100
+ getRouteComponent(view) {
101
+ return viewManifestReader.value[view];
102
+ }
103
+ get appComponent() {
104
+ return viewManifestReader.value["_app"];
105
+ }
106
+ }
@@ -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 {};