eddev 2.0.0-beta.3 → 2.0.0-beta.31

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 (214) hide show
  1. package/dist/app/entry/MetaTags.d.ts +6 -0
  2. package/dist/app/entry/MetaTags.js +17 -0
  3. package/dist/app/entry/boot-admin.d.ts +1 -0
  4. package/dist/app/entry/{main.admin.js → boot-admin.js} +3 -5
  5. package/dist/app/entry/spa-root.d.ts +1 -0
  6. package/dist/app/entry/{Root.js → spa-root.js} +4 -4
  7. package/dist/app/entry/ssr-root-client.d.ts +6 -0
  8. package/dist/app/entry/ssr-root-client.js +16 -0
  9. package/dist/app/entry/ssr-root.d.ts +10 -0
  10. package/dist/app/entry/ssr-root.js +24 -0
  11. package/dist/app/lib/admin/index.d.ts +2 -2
  12. package/dist/app/lib/admin/index.js +2 -2
  13. package/dist/app/lib/admin/installFieldTypes.js +1 -1
  14. package/dist/app/lib/admin/runWidgets.js +1 -1
  15. package/dist/app/lib/blocks/ContentBlocks.js +4 -4
  16. package/dist/app/lib/blocks/EditableText.d.ts +1 -1
  17. package/dist/app/lib/blocks/EditableText.js +3 -3
  18. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +1 -0
  19. package/dist/app/lib/blocks/InnerBlocks.d.ts +13 -3
  20. package/dist/app/lib/blocks/InnerBlocks.js +13 -5
  21. package/dist/app/lib/blocks/block-utils.d.ts +2 -2
  22. package/dist/app/lib/blocks/block-utils.js +2 -2
  23. package/dist/app/lib/blocks/editor/EditorSupport.js +3 -3
  24. package/dist/app/lib/blocks/editor/editor-config.d.ts +1 -1
  25. package/dist/app/lib/blocks/editor/editor-config.js +1 -1
  26. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +5 -5
  27. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +1 -1
  28. package/dist/app/lib/blocks/index.d.ts +9 -9
  29. package/dist/app/lib/blocks/index.js +9 -9
  30. package/dist/app/lib/blocks/inline-editing.d.ts +1 -1
  31. package/dist/app/lib/blocks/inline-editing.js +7 -5
  32. package/dist/app/lib/devtools/components/BreakpointIndicator.js +5 -3
  33. package/dist/app/lib/devtools/components/DevUI.js +1 -1
  34. package/dist/app/lib/devtools/dev-tools-store.d.ts +9 -0
  35. package/dist/app/lib/devtools/dev-tools-store.js +8 -0
  36. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +1078 -1079
  37. package/dist/app/lib/devtools/hooks/useTailwind.js +6 -3
  38. package/dist/app/lib/devtools/index.d.ts +1 -0
  39. package/dist/app/lib/devtools/index.js +1 -1
  40. package/dist/app/lib/devtools/loader.js +4 -4
  41. package/dist/app/lib/devtools/useQueryDebug.d.ts +7 -1
  42. package/dist/app/lib/devtools/useQueryDebug.js +5 -8
  43. package/dist/app/lib/dynamic/index.d.ts +1 -1
  44. package/dist/app/lib/dynamic/index.js +1 -1
  45. package/dist/app/lib/hooks/apiConfig.d.ts +3 -1
  46. package/dist/app/lib/hooks/apiConfig.js +9 -4
  47. package/dist/app/lib/hooks/index.d.ts +4 -5
  48. package/dist/app/lib/hooks/index.js +4 -5
  49. package/dist/app/lib/hooks/queryUtils.d.ts +5 -2
  50. package/dist/app/lib/hooks/queryUtils.js +19 -20
  51. package/dist/app/lib/hooks/useAppData.js +1 -1
  52. package/dist/app/lib/internal/index.d.ts +4 -4
  53. package/dist/app/lib/internal/index.js +4 -4
  54. package/dist/app/lib/internal/internal-store.d.ts +0 -2
  55. package/dist/app/lib/internal/internal-store.js +1 -3
  56. package/dist/app/lib/internal/read-admin-manifest.d.ts +1 -1
  57. package/dist/app/lib/legacy-stitches/createStitches.d.ts +21 -21
  58. package/dist/app/lib/legacy-stitches/createStitches.js +1 -1
  59. package/dist/app/lib/legacy-stitches/index.d.ts +1 -1
  60. package/dist/app/lib/legacy-stitches/index.js +1 -1
  61. package/dist/app/lib/routing/components/BackButton.d.ts +49 -0
  62. package/dist/app/lib/routing/components/BackButton.js +47 -0
  63. package/dist/app/lib/routing/components/BrowserRouter.d.ts +4 -1
  64. package/dist/app/lib/routing/components/BrowserRouter.js +68 -11
  65. package/dist/app/lib/routing/components/ClientOnly.js +1 -1
  66. package/dist/app/lib/routing/components/Link.d.ts +1 -0
  67. package/dist/app/lib/routing/components/Link.js +9 -10
  68. package/dist/app/lib/routing/components/RouteRenderer.d.ts +1 -1
  69. package/dist/app/lib/routing/components/RouteRenderer.js +7 -6
  70. package/dist/app/lib/routing/components/SSRRouter.d.ts +2 -2
  71. package/dist/app/lib/routing/components/SSRRouter.js +5 -6
  72. package/dist/app/lib/routing/components/ScrollRestoration.js +1 -1
  73. package/dist/app/lib/routing/context.d.ts +2 -2
  74. package/dist/app/lib/routing/context.js +6 -96
  75. package/dist/app/lib/routing/hooks/useRestorableState.js +2 -1
  76. package/dist/app/lib/routing/hooks/useRoute.d.ts +16 -1
  77. package/dist/app/lib/routing/hooks/useRoute.js +22 -1
  78. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts +5 -0
  79. package/dist/app/lib/routing/hooks/useRouteMeta.js +9 -0
  80. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +1 -1
  81. package/dist/app/lib/routing/hooks/useRouteTransition.js +1 -1
  82. package/dist/app/lib/routing/hooks/useRouter.d.ts +1 -1
  83. package/dist/app/lib/routing/hooks/useRouter.js +1 -1
  84. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +1 -1
  85. package/dist/app/lib/routing/hooks/useRouterEvents.js +1 -1
  86. package/dist/app/lib/routing/hooks/useRouterState.d.ts +1 -1
  87. package/dist/app/lib/routing/hooks/useRouterState.js +1 -1
  88. package/dist/app/lib/routing/hooks/useSearchParams.js +2 -2
  89. package/dist/app/lib/routing/index.d.ts +14 -13
  90. package/dist/app/lib/routing/index.js +14 -13
  91. package/dist/app/lib/routing/loader.d.ts +2 -2
  92. package/dist/app/lib/routing/loader.js +7 -5
  93. package/dist/app/lib/routing/types.d.ts +20 -8
  94. package/dist/app/lib/routing/utils.d.ts +3 -1
  95. package/dist/app/lib/routing/utils.js +11 -0
  96. package/dist/app/lib/views/index.d.ts +1 -1
  97. package/dist/app/lib/views/index.js +1 -1
  98. package/dist/app/server/defineRouter.d.ts +2 -0
  99. package/dist/app/server/defineRouter.js +4 -0
  100. package/dist/app/server/index.d.ts +4 -0
  101. package/dist/app/server/index.js +4 -0
  102. package/dist/app/server/proxy-wp-admin.d.ts +3 -0
  103. package/dist/app/server/proxy-wp-admin.js +105 -0
  104. package/dist/app/server/render-ssr-page.d.ts +3 -0
  105. package/dist/app/server/render-ssr-page.js +29 -0
  106. package/dist/app/server/server-context.d.ts +43 -0
  107. package/dist/app/server/server-context.js +140 -0
  108. package/dist/app/server/utils/headers.d.ts +1 -0
  109. package/dist/app/server/utils/headers.js +17 -0
  110. package/dist/app/server/utils/replace-host.d.ts +6 -4
  111. package/dist/app/server/utils/replace-host.js +58 -11
  112. package/dist/node/cli/cli-worker.d.ts +1 -1
  113. package/dist/node/cli/cli-worker.js +7 -2
  114. package/dist/node/cli/cli.js +84 -12
  115. package/dist/node/cli/display/CLIApp.d.ts +1 -1
  116. package/dist/node/cli/display/CLIApp.js +3 -6
  117. package/dist/node/cli/display/components/LogEntries.d.ts +1 -1
  118. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +1 -1
  119. package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -1
  120. package/dist/node/cli/display/tools/cli-tools.d.ts +1 -11
  121. package/dist/node/cli/display/tools/cli-tools.js +9 -9
  122. package/dist/node/cli/display/util/colors.d.ts +2 -2
  123. package/dist/node/cli/version.d.ts +1 -1
  124. package/dist/node/cli/version.js +1 -1
  125. package/dist/node/compiler/build-vinxi.d.ts +8 -0
  126. package/dist/node/compiler/build-vinxi.js +37 -0
  127. package/dist/node/compiler/bundler.admin.d.ts +2 -2
  128. package/dist/node/compiler/bundler.admin.js +3 -4
  129. package/dist/node/compiler/bundler.frontend.d.ts +1 -1
  130. package/dist/node/compiler/bundler.frontend.js +3 -4
  131. package/dist/node/compiler/{serverless.dev.d.ts → dev-server.d.ts} +7 -5
  132. package/dist/node/compiler/dev-server.js +97 -0
  133. package/dist/node/compiler/get-vite-config.d.ts +19 -0
  134. package/dist/node/compiler/get-vite-config.js +200 -0
  135. package/dist/node/compiler/vinxi-app.d.ts +19 -0
  136. package/dist/node/compiler/vinxi-app.js +153 -0
  137. package/dist/node/compiler/vinxi-codegen.d.ts +12 -0
  138. package/dist/node/compiler/vinxi-codegen.js +458 -0
  139. package/dist/node/graphql/graphql-codegen.d.ts +1 -1
  140. package/dist/node/graphql/graphql-codegen.js +7 -4
  141. package/dist/node/graphql/graphql-schema-loader.js +15 -18
  142. package/dist/node/project/config.js +1 -1
  143. package/dist/node/project/env.d.ts +1 -1
  144. package/dist/node/project/env.js +1 -1
  145. package/dist/node/project/manifest/block-manifest.js +2 -2
  146. package/dist/node/project/manifest/manifest.d.ts +1 -1
  147. package/dist/node/project/manifest/manifest.js +1 -1
  148. package/dist/node/project/manifest/view-manifest.js +2 -2
  149. package/dist/node/project/project.d.ts +3 -2
  150. package/dist/node/project/project.js +18 -20
  151. package/dist/node/project/wp-info.js +3 -2
  152. package/dist/node/types/view-type.js +3 -4
  153. package/dist/node/utils/fs-codegen.d.ts +40 -0
  154. package/dist/node/utils/fs-codegen.js +97 -0
  155. package/dist/node/utils/fs.js +2 -0
  156. package/dist/node/utils/{selfSignedCert.js → self-signed-cert.js} +1 -1
  157. package/dist/node/utils/{statefulLog.js → stateful-log.js} +1 -1
  158. package/package.json +30 -32
  159. package/types.app.d.ts +2 -2
  160. package/types.app.internal.d.ts +2 -2
  161. package/types.node.d.ts +3 -3
  162. package/dist/app/entry/Root.d.ts +0 -1
  163. package/dist/app/entry/main.admin.d.ts +0 -3
  164. package/dist/app/entry/main.frontend.spa.d.ts +0 -3
  165. package/dist/app/entry/main.frontend.spa.js +0 -13
  166. package/dist/app/entry/main.frontend.ssr.d.ts +0 -21
  167. package/dist/app/entry/main.frontend.ssr.js +0 -79
  168. package/dist/app/entry/main.serverless.dev.d.ts +0 -4
  169. package/dist/app/entry/main.serverless.dev.js +0 -21
  170. package/dist/app/lib/hooks/usePageLoad.d.ts +0 -6
  171. package/dist/app/lib/hooks/usePageLoad.js +0 -5
  172. package/dist/app/server/create-api-builtin-hono.d.ts +0 -8
  173. package/dist/app/server/create-api-builtin-hono.js +0 -80
  174. package/dist/app/server/create-ssr-hono.d.ts +0 -18
  175. package/dist/app/server/create-ssr-hono.js +0 -104
  176. package/dist/app/server/utils/index.html.d.ts +0 -2
  177. package/dist/app/server/utils/index.html.js +0 -14
  178. package/dist/node/compiler/index.html.d.ts +0 -2
  179. package/dist/node/compiler/index.html.js +0 -15
  180. package/dist/node/compiler/serverless.dev.js +0 -215
  181. package/dist/node/compiler/vite/get-vite-config.d.ts +0 -13
  182. package/dist/node/compiler/vite/get-vite-config.js +0 -315
  183. package/dist/node/compiler/vite/plugin-admin.d.ts +0 -4
  184. package/dist/node/compiler/vite/plugin-admin.js +0 -67
  185. package/dist/node/compiler/vite/plugin-blocks.d.ts +0 -4
  186. package/dist/node/compiler/vite/plugin-blocks.js +0 -73
  187. package/dist/node/compiler/vite/plugin-entry.d.ts +0 -6
  188. package/dist/node/compiler/vite/plugin-entry.js +0 -16
  189. package/dist/node/compiler/vite/plugin-resolved-tailwind.d.ts +0 -4
  190. package/dist/node/compiler/vite/plugin-resolved-tailwind.js +0 -29
  191. package/dist/node/compiler/vite/plugin-theme.d.ts +0 -4
  192. package/dist/node/compiler/vite/plugin-theme.js +0 -40
  193. package/dist/node/compiler/vite/plugin-views.d.ts +0 -4
  194. package/dist/node/compiler/vite/plugin-views.js +0 -51
  195. package/dist/node/utils/console.d.ts +0 -21
  196. package/dist/node/utils/console.js +0 -28
  197. package/dist/node/utils/unsafe-fetch.d.ts +0 -2
  198. package/dist/node/utils/unsafe-fetch.js +0 -19
  199. package/tsup.config.ts +0 -40
  200. package/types.manifests.d.ts +0 -22
  201. /package/dist/node/utils/{formatZodError.d.ts → format-zod-error.d.ts} +0 -0
  202. /package/dist/node/utils/{formatZodError.js → format-zod-error.js} +0 -0
  203. /package/dist/node/utils/{getRepoInfo.d.ts → get-repo-info.d.ts} +0 -0
  204. /package/dist/node/utils/{getRepoInfo.js → get-repo-info.js} +0 -0
  205. /package/dist/node/utils/{highlightCode.d.ts → highlight-code.d.ts} +0 -0
  206. /package/dist/node/utils/{highlightCode.js → highlight-code.js} +0 -0
  207. /package/dist/node/utils/{isDeploying.d.ts → is-deploying.d.ts} +0 -0
  208. /package/dist/node/utils/{isDeploying.js → is-deploying.js} +0 -0
  209. /package/dist/node/utils/{selfSignedCert.d.ts → self-signed-cert.d.ts} +0 -0
  210. /package/dist/node/utils/{statefulLog.d.ts → stateful-log.d.ts} +0 -0
  211. /package/dist/node/utils/{export-extractor.d.ts → ts-export-extractor.d.ts} +0 -0
  212. /package/dist/node/utils/{export-extractor.js → ts-export-extractor.js} +0 -0
  213. /package/dist/node/utils/{watchFileTree.d.ts → watch-file-tree.d.ts} +0 -0
  214. /package/dist/node/utils/{watchFileTree.js → watch-file-tree.js} +0 -0
@@ -0,0 +1,6 @@
1
+ import { RouteMetaTag } from "../lib/routing";
2
+ type Props = {
3
+ tags: RouteMetaTag[];
4
+ };
5
+ export declare function MetaTags(props: Props): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Fragment } from "react/jsx-runtime";
3
+ export function MetaTags(props) {
4
+ return (_jsx(Fragment, { children: props.tags?.map((tag, i) => {
5
+ const Component = tag.tagName;
6
+ const props = { ...tag.attributes };
7
+ if (tag.inner) {
8
+ if (tag.tagName === "title") {
9
+ props.children = tag.inner;
10
+ }
11
+ else {
12
+ props.dangerouslySetInnerHTML = { __html: tag.inner };
13
+ }
14
+ }
15
+ return _jsx(Component, { ...props }, i);
16
+ }) }));
17
+ }
@@ -0,0 +1 @@
1
+ export default function bootAdmin(): void;
@@ -1,8 +1,6 @@
1
- import "@manifest/admin";
2
- import { installFieldTypes } from "../lib/admin/installFieldTypes";
3
- import { runWidgets } from "../lib/admin/runWidgets";
4
- import { installEDGutenbergHooks } from "../lib/blocks/editor/installGutenbergHooks";
5
- import "@manifest/blocks";
1
+ import { installFieldTypes } from "../lib/admin/installFieldTypes.js";
2
+ import { runWidgets } from "../lib/admin/runWidgets.js";
3
+ import { installEDGutenbergHooks } from "../lib/blocks/editor/installGutenbergHooks.js";
6
4
  export default function bootAdmin() {
7
5
  installEDGutenbergHooks();
8
6
  installFieldTypes();
@@ -0,0 +1 @@
1
+ export declare function SPARoot(): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { QueryClientProvider } from "@tanstack/react-query";
3
- import { BrowserRouter } from "../lib/routing/components/BrowserRouter";
4
- import { getQueryClient } from "../utils/query-client";
5
- import { DevUILoader } from "../lib/devtools/loader";
3
+ import { BrowserRouter } from "../lib/routing/components/BrowserRouter.js";
4
+ import { getQueryClient } from "../utils/query-client.js";
5
+ import { DevUILoader } from "../lib/devtools/loader.js";
6
6
  import { Suspense } from "react";
7
- export function Root() {
7
+ export function SPARoot() {
8
8
  return (_jsxs(QueryClientProvider, { client: getQueryClient(), children: [_jsx(Suspense, { children: _jsx(BrowserRouter, {}) }), _jsx(DevUILoader, {})] }));
9
9
  }
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from "react";
2
+ import { RouteMetaTag } from "../lib/routing/types.js";
3
+ export declare function SSRClientRoot(props: {
4
+ assets: ReactNode;
5
+ metaTags: RouteMetaTag[];
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { QueryClientProvider } from "@tanstack/react-query";
3
+ import { Suspense, useRef } from "react";
4
+ import { getQueryClient } from "../utils/query-client.js";
5
+ import { BrowserRouter } from "../lib/routing/components/BrowserRouter.js";
6
+ import { DevUILoader } from "../lib/devtools/loader.js";
7
+ import { MetaTags } from "./MetaTags.js";
8
+ import { useRouteMeta } from "../lib/routing/hooks/useRouteMeta.js";
9
+ export function SSRClientRoot(props) {
10
+ const router = useRef(null);
11
+ return (_jsxs("html", { lang: "en", children: [_jsxs("head", { children: [_jsx("link", { rel: "icon", href: "/favicon.ico" }), _jsx(DynamicMetaTags, { tags: props.metaTags, router: router }), props.assets] }), _jsx("body", { children: _jsxs(QueryClientProvider, { client: getQueryClient(), children: [_jsx(Suspense, { children: _jsx(BrowserRouter, { routerRef: router }) }), _jsx(DevUILoader, {})] }) })] }));
12
+ }
13
+ function DynamicMetaTags(props) {
14
+ const data = useRouteMeta();
15
+ return _jsx(MetaTags, { tags: data.tags ?? [] });
16
+ }
@@ -0,0 +1,10 @@
1
+ import { type ReactNode } from "react";
2
+ import type { RouteData, RouteMetaTag } from "../lib/routing/types.js";
3
+ import type { RouteLoader } from "../lib/routing/loader.js";
4
+ export declare function SSRRoot(props: {
5
+ pathname: string;
6
+ initialData: RouteData;
7
+ assets: ReactNode;
8
+ loader: RouteLoader;
9
+ metaTags: RouteMetaTag[];
10
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Suspense } from "react";
3
+ import { QueryClientProvider } from "@tanstack/react-query";
4
+ import { getQueryClient } from "../utils/query-client.js";
5
+ import { SSRRouter } from "../lib/routing/components/SSRRouter.js";
6
+ import { getRouteMeta, normalizeRoute } from "../lib/routing/utils.js";
7
+ import { MetaTags } from "./MetaTags.js";
8
+ export function SSRRoot(props) {
9
+ const loader = props.loader;
10
+ loader.setAppData(props.initialData.appData.data);
11
+ loader.populateRouteData(props.pathname, props.initialData);
12
+ return (_jsxs("html", { lang: "en", children: [_jsxs("head", { children: [_jsx("link", { rel: "icon", href: "/favicon.ico" }), _jsx(MetaTags, { tags: props.metaTags }), props.assets] }), _jsx("body", { children: _jsx(QueryClientProvider, { client: getQueryClient(), children: _jsx(Suspense, { children: _jsx(SSRRouter, { loader: loader, route: normalizeRoute({
13
+ id: "initial",
14
+ component: loader.getRouteComponent(props.initialData.view),
15
+ key: "",
16
+ props: props.initialData.viewData.data,
17
+ view: props.initialData.view,
18
+ search: "",
19
+ pathname: props.pathname,
20
+ query: {},
21
+ hash: "",
22
+ meta: getRouteMeta(props.initialData),
23
+ }) }) }) }) })] }));
24
+ }
@@ -1,2 +1,2 @@
1
- export * from "./defineField";
2
- export * from "./defineWidget";
1
+ export * from "./defineField.js";
2
+ export * from "./defineWidget.js";
@@ -1,2 +1,2 @@
1
- export * from "./defineField";
2
- export * from "./defineWidget";
1
+ export * from "./defineField.js";
2
+ export * from "./defineWidget.js";
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
3
  import * as ReactDOM from "react-dom/client";
4
- import { adminManifestReader } from "../internal";
4
+ import { adminManifestReader } from "../internal/read-admin-manifest.js";
5
5
  export function installFieldTypes() {
6
6
  // @ts-ignore
7
7
  const acf = window.acf;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
3
  import * as ReactDOM from "react-dom/client";
4
- import { adminManifestReader } from "../internal";
4
+ import { adminManifestReader } from "../internal/read-admin-manifest.js";
5
5
  export function runWidgets() {
6
6
  const elements = document.querySelectorAll("[data-widget]");
7
7
  setTimeout(() => {
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Fragment, createContext, memo, useContext, useMemo } from "react";
3
- import { blockManifestReader } from "../internal/read-block-manifest";
4
- import { ErrorBoundaryFrontend } from "./ErrorBoundaryFrontend";
5
- import { InlineEditingContextProvider, ReadonlyInlineEditingProvider } from "./inline-editing";
6
- import { addBlockMetadata } from "./block-utils";
3
+ import { blockManifestReader } from "../internal/read-block-manifest.js";
4
+ import { ErrorBoundaryFrontend } from "./ErrorBoundaryFrontend.js";
5
+ import { InlineEditingContextProvider, ReadonlyInlineEditingProvider } from "./inline-editing.js";
6
+ import { addBlockMetadata } from "./block-utils.js";
7
7
  export const BlocksContext = createContext(undefined);
8
8
  /**
9
9
  * Render a set of Gutenberg blocks
@@ -1,5 +1,5 @@
1
1
  import { ElementType } from "react";
2
- import { InlineValueStore } from "./inline-editing";
2
+ import { InlineValueStore } from "./inline-editing.js";
3
3
  export type InlineTextValueStore = InlineValueStore<string>;
4
4
  type Props<T extends ElementType> = {
5
5
  /** Specify a tag name or React component */
@@ -1,13 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useRouter } from "../routing";
3
- import { useBlockAppender, useBlockContext, useValueStore } from "./inline-editing";
2
+ import { useRouter } from "../routing/hooks/useRouter.js";
3
+ import { useBlockAppender, useBlockContext, useValueStore } from "./inline-editing.js";
4
4
  export function EditableText({ id, as, appendOnEnter, store, ...props }) {
5
5
  if (env.admin) {
6
6
  const readOnly = useBlockContext()?.readonly;
7
7
  if (!readOnly) {
8
8
  const [value, setValue] = useValueStore(store ?? id);
9
9
  const appendBlocks = useBlockAppender();
10
- return (_jsx(wp.blockEditor.RichText, { ...props, tagName: as, value: value || "", onChange: setValue, disableLineBreaks: props.disableLineBreaks, onKeyDownCapture: (e) => {
10
+ return (_jsx(wp.blockEditor.RichText, { ...props, tagName: as, value: value || "", onChange: setValue, inlineToolbar: props.inlineToolbar, disableLineBreaks: props.disableLineBreaks, onKeyDownCapture: (e) => {
11
11
  if (e.key === "Enter" && appendOnEnter && appendBlocks) {
12
12
  appendBlocks([
13
13
  wp.blocks.createBlock(typeof appendOnEnter === "string" ? appendOnEnter : "core/paragraph"),
@@ -9,6 +9,7 @@ export class ErrorBoundaryFrontend extends Component {
9
9
  return { hasError: true, error: err };
10
10
  }
11
11
  componentDidCatch(error, errorInfo) {
12
+ console.log("Caught error:", error, errorInfo);
12
13
  console.error("Uncaught error:", error, errorInfo);
13
14
  }
14
15
  render() {
@@ -1,10 +1,20 @@
1
1
  import { FunctionComponent } from "react";
2
- import { ContentBlockLayoutProps } from "./ContentBlocks";
3
- import { BlockTemplate } from "./editor/block-templates";
2
+ import { ContentBlockLayoutProps } from "./ContentBlocks.js";
3
+ import { BlockTemplate } from "./editor/block-templates.js";
4
4
  type AppenderConfig = {
5
- type: "default" | "button" | FunctionComponent<any>;
5
+ type: "default" | "button" | CustomBlockAppender;
6
6
  className?: string;
7
7
  };
8
+ export type CustomBlockAppender = FunctionComponent<{
9
+ onToggle: () => void;
10
+ disabled: boolean;
11
+ isOpen: boolean;
12
+ blockTitle: string;
13
+ hasSingleBlockType: boolean;
14
+ }>;
15
+ export declare function createAppender(comp: CustomBlockAppender): {
16
+ type: CustomBlockAppender;
17
+ };
8
18
  type InnerBlocksProps = {
9
19
  /** A list of allowed blocks, and/or block tags. */
10
20
  allowedBlocks?: (ChildBlockTypeName | BlockTagName)[];
@@ -1,15 +1,18 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { ContentBlocks } from "./ContentBlocks";
3
- import { transformBlockTemplate } from "./editor/block-templates";
4
- import { blocksByTag } from "./editor/blocks-by-tag";
5
- import { useBlockContext, useInnerBlocks } from "./inline-editing";
2
+ import { ContentBlocks } from "./ContentBlocks.js";
3
+ import { transformBlockTemplate } from "./editor/block-templates.js";
4
+ import { blocksByTag } from "./editor/blocks-by-tag.js";
5
+ import { useBlockContext, useInnerBlocks } from "./inline-editing.js";
6
6
  const Appender = (props) => {
7
7
  const clientId = useBlockContext()?.block[1].clientId;
8
8
  if (props.type === "button") {
9
9
  return _jsx(wp.blockEditor.ButtonBlockAppender, { className: props.className, rootClientId: clientId });
10
10
  }
11
11
  else if (typeof props.type === "function") {
12
- return props.type({});
12
+ const Type = props.type;
13
+ return (_jsx(wp.blockEditor.Inserter, { renderToggle: (p) => {
14
+ return _jsx(Type, { ...p });
15
+ }, rootClientId: clientId }));
13
16
  }
14
17
  else {
15
18
  return (_jsx(wp.blockEditor.DefaultBlockAppender
@@ -19,6 +22,11 @@ const Appender = (props) => {
19
22
  className: props.className, rootClientId: clientId, lastBlockClientId: clientId }));
20
23
  }
21
24
  };
25
+ export function createAppender(comp) {
26
+ return {
27
+ type: comp,
28
+ };
29
+ }
22
30
  /**
23
31
  * Allows child blocks to be added to the current block context.
24
32
  */
@@ -1,4 +1,4 @@
1
- import { ContentBlock } from "./ContentBlocks";
1
+ import { ContentBlock } from "./ContentBlocks.js";
2
2
  /**
3
3
  * Returns some very basic info about blocks in the project.
4
4
  * This is purposely lean, to avoid bloated info.
@@ -12,7 +12,7 @@ export declare function getPublicBlockInfo(): {
12
12
  *
13
13
  * Note that this function mutates the existing block, adding new properties.
14
14
  */
15
- export declare function addBlockMetadata(blocks: ContentBlock[]): ContentBlock[];
15
+ export declare function addBlockMetadata(blocks: ContentBlock[] | null | undefined): ContentBlock[];
16
16
  export declare function getBlockMetadata(blockName: string): {
17
17
  slug: string;
18
18
  tags?: undefined;
@@ -1,4 +1,4 @@
1
- import { blockManifestReader } from "../internal";
1
+ import { blockManifestReader } from "../internal/read-block-manifest.js";
2
2
  /**
3
3
  * Returns some very basic info about blocks in the project.
4
4
  * This is purposely lean, to avoid bloated info.
@@ -13,7 +13,7 @@ export function getPublicBlockInfo() {
13
13
  * Note that this function mutates the existing block, adding new properties.
14
14
  */
15
15
  export function addBlockMetadata(blocks) {
16
- const out = blocks;
16
+ const out = (blocks ?? []);
17
17
  const infos = getPublicBlockInfo();
18
18
  for (let block of out) {
19
19
  const info = infos[block.blockName];
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { QueryClientProvider } from "@tanstack/react-query";
3
3
  import { createContext, Suspense, useContext } from "react";
4
- import { getQueryClient } from "../../../utils/query-client";
5
- import { blockManifestReader } from "../../internal";
6
- import { ErrorBoundaryEditor } from "./ErrorBoundaryEditor";
4
+ import { getQueryClient } from "../../../utils/query-client.js";
5
+ import { blockManifestReader } from "../../internal/read-block-manifest.js";
6
+ import { ErrorBoundaryEditor } from "./ErrorBoundaryEditor.js";
7
7
  export const BlockContext = createContext(undefined);
8
8
  export function EditableBlock({ payload }) {
9
9
  const block = useContext(BlockContext);
@@ -1,4 +1,4 @@
1
- import { BlockTemplate } from "./block-templates";
1
+ import { BlockTemplate } from "./block-templates.js";
2
2
  export type EditorConfigItem = {
3
3
  /** Optionally indicate that the post title field should be hidden. Use then when your header template includes a post title editor already. */
4
4
  hideTitle?: boolean;
@@ -1,5 +1,5 @@
1
1
  import { proxy } from "valtio";
2
- import { resolveAcfBlockName, transformBlockTemplate } from "./block-templates";
2
+ import { resolveAcfBlockName, transformBlockTemplate } from "./block-templates.js";
3
3
  export const editorConfigStore = proxy({
4
4
  config: null,
5
5
  currentBlocksConfig: null,
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect } from "react";
3
- import { InlineEditingContextProvider } from "../inline-editing";
4
- import { BlockContext, EditableBlock } from "./EditorSupport";
5
- import { blocksByTag } from "./blocks-by-tag";
6
- import { editorConfigStore, getEditingPostInfo, watchEditorTemplate } from "./editor-config";
3
+ import { InlineEditingContextProvider } from "../inline-editing.js";
4
+ import { BlockContext, EditableBlock } from "./EditorSupport.js";
5
+ import { blocksByTag } from "./blocks-by-tag.js";
6
+ import { editorConfigStore, getEditingPostInfo, watchEditorTemplate } from "./editor-config.js";
7
7
  import { useSnapshot } from "valtio";
8
- import { getBlockMetadata } from "../block-utils";
8
+ import { getBlockMetadata } from "../block-utils.js";
9
9
  function listenForHandleResize() {
10
10
  let interval = setInterval(() => {
11
11
  let viewportTarget = document.querySelector(".interface-interface-skeleton__content");
@@ -1,4 +1,4 @@
1
- import { InlineValueStore } from "../inline-editing";
1
+ import { InlineValueStore } from "../inline-editing.js";
2
2
  export declare function usePostEditor(): {
3
3
  post: any;
4
4
  updatePost(update: any): void;
@@ -1,9 +1,9 @@
1
- export * from "./ContentBlocks";
2
- export * from "./EditableText";
3
- export * from "./InnerBlocks";
4
- export * from "./defineBlock";
5
- export * from "./editor/controls";
6
- export * from "./editor/usePostEditor";
7
- export * from "./block-utils";
8
- export { defineEditorConfig } from "./editor/editor-config";
9
- export { useBlockContext, useInlineEditableValue, useInnerBlocks, useTemplate } from "./inline-editing";
1
+ export * from "./ContentBlocks.js";
2
+ export * from "./EditableText.js";
3
+ export * from "./InnerBlocks.js";
4
+ export * from "./defineBlock.js";
5
+ export * from "./editor/controls.js";
6
+ export * from "./editor/usePostEditor.js";
7
+ export * from "./block-utils.js";
8
+ export { defineEditorConfig } from "./editor/editor-config.js";
9
+ export { useBlockContext, useInlineEditableValue, useInnerBlocks, useTemplate } from "./inline-editing.js";
@@ -1,9 +1,9 @@
1
- export * from "./ContentBlocks";
2
- export * from "./EditableText";
3
- export * from "./InnerBlocks";
4
- export * from "./defineBlock";
5
- export * from "./editor/controls";
6
- export * from "./editor/usePostEditor";
7
- export * from "./block-utils";
8
- export { defineEditorConfig } from "./editor/editor-config";
9
- export { useBlockContext, useInlineEditableValue, useInnerBlocks, useTemplate } from "./inline-editing";
1
+ export * from "./ContentBlocks.js";
2
+ export * from "./EditableText.js";
3
+ export * from "./InnerBlocks.js";
4
+ export * from "./defineBlock.js";
5
+ export * from "./editor/controls.js";
6
+ export * from "./editor/usePostEditor.js";
7
+ export * from "./block-utils.js";
8
+ export { defineEditorConfig } from "./editor/editor-config.js";
9
+ export { useBlockContext, useInlineEditableValue, useInnerBlocks, useTemplate } from "./inline-editing.js";
@@ -1,4 +1,4 @@
1
- import { ContentBlock } from "./ContentBlocks";
1
+ import { ContentBlock } from "./ContentBlocks.js";
2
2
  import { PropsWithChildren } from "react";
3
3
  type Attributes = Record<string, any>;
4
4
  export type InlineValueStore<T> = [value: T, setValue: (value: T) => void];
@@ -1,12 +1,14 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext } from "react";
3
- import { usePostEditor } from "./editor/usePostEditor";
4
- import { useRoute } from "../routing";
5
- import { addBlockMetadata } from "./block-utils";
2
+ import { createContext, useContext, useMemo } from "react";
3
+ import { usePostEditor } from "./editor/usePostEditor.js";
4
+ import { useRoute } from "../routing/index.js";
5
+ import { addBlockMetadata } from "./block-utils.js";
6
6
  const InlineEditingContext = createContext(undefined);
7
7
  export function InlineEditingContextProvider(props) {
8
8
  const parentContext = useContext(InlineEditingContext);
9
- addBlockMetadata(props.innerBlocks);
9
+ useMemo(() => {
10
+ addBlockMetadata(props.innerBlocks ?? []);
11
+ }, [props.innerBlocks]);
10
12
  return (_jsx(InlineEditingContext.Provider, { value: {
11
13
  values: props.values,
12
14
  innerBlocks: props.innerBlocks,
@@ -48,9 +48,10 @@ export function BreakpointIndicator() {
48
48
  ...screen,
49
49
  max: arr[i + 1] ? arr[i + 1].min - 1 : undefined,
50
50
  }));
51
- }, [tw?.theme?.screens]);
52
- const maxSize = screens[screens.length - 1].min;
51
+ }, [tw?.theme?.screens, !!tw]);
53
52
  useEffect(() => {
53
+ if (!tw)
54
+ return;
54
55
  const update = () => {
55
56
  setWidth(window.innerWidth);
56
57
  setActiveSize(screens.findLastIndex((screen) => window.innerWidth >= screen.min));
@@ -58,7 +59,8 @@ export function BreakpointIndicator() {
58
59
  update();
59
60
  window.addEventListener("resize", update);
60
61
  return () => window.removeEventListener("resize", update);
61
- }, [screens]);
62
+ }, [screens, !!tw]);
63
+ const maxSize = screens[screens.length - 1]?.min;
62
64
  const screen = screens[activeSize];
63
65
  const globalProgress = width / maxSize;
64
66
  return (_jsx("div", { ref: ref, "data-breakpoint": true, className: "fixed left-2 bottom-2 z-[999999999999999]", onClick: () => setExpanded(!expanded), children: !!screens && !!screen && (_jsx(_Fragment, { children: expanded ? (_jsx("div", { className: "btn w-[400px] bg-black px-2", children: _jsxs("div", { className: "relative w-full h-full cursor-pointer", children: [_jsxs("div", { className: "absolute bottom-[-3px] -translate-x-1/2 -translate-y-1/2 leading-none text-[8px] text-white", style: { left: `calc(min(${globalProgress},1) * 100%)` }, children: ["\u23F6 ", _jsxs("span", { className: globalProgress < 0.85 ? `absolute left-2` : `absolute right-2`, children: [width, "px"] })] }), screens.map((screen, i) => {
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import "../../../../../css/devtools.css";
3
- import { BreakpointIndicator } from "./BreakpointIndicator";
3
+ import { BreakpointIndicator } from "./BreakpointIndicator.js";
4
4
  export default function DevUI() {
5
5
  return (_jsx("div", { className: "eddev-ui", children: _jsx(BreakpointIndicator, {}) }));
6
6
  }
@@ -0,0 +1,9 @@
1
+ import { Config as TailwindConfig } from "tailwindcss";
2
+ type Store = {
3
+ loadTailwindConfig: () => void;
4
+ tailwindConfig: TailwindConfig | null;
5
+ };
6
+ export declare const devToolsStore: Store & {
7
+ set<K extends keyof Store>(key: K, value: Store[K]): void;
8
+ };
9
+ export {};
@@ -0,0 +1,8 @@
1
+ import { proxy, ref } from "valtio";
2
+ export const devToolsStore = proxy({
3
+ tailwindConfig: null,
4
+ loadTailwindConfig() { },
5
+ set(key, value) {
6
+ devToolsStore[key] = (value ? ref(value) : value);
7
+ },
8
+ });