eddev 2.0.0-beta.1 → 2.0.0-beta.100

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 (277) hide show
  1. package/dist/app/entry/HydrationOverlay.d.ts +1 -0
  2. package/dist/app/entry/HydrationOverlay.js +2 -0
  3. package/dist/app/entry/MetaTags.d.ts +7 -0
  4. package/dist/app/entry/MetaTags.js +17 -0
  5. package/dist/app/entry/boot-admin.d.ts +1 -0
  6. package/dist/app/entry/boot-admin.js +13 -0
  7. package/dist/app/entry/hydration-script.d.ts +1 -0
  8. package/dist/app/entry/hydration-script.js +18 -0
  9. package/dist/app/entry/spa-root.d.ts +1 -0
  10. package/dist/app/entry/spa-root.js +8 -0
  11. package/dist/app/entry/ssr-root-client.d.ts +6 -0
  12. package/dist/app/entry/ssr-root-client.js +20 -0
  13. package/dist/app/entry/ssr-root.d.ts +8 -0
  14. package/dist/app/entry/ssr-root.js +22 -0
  15. package/dist/app/lib/admin/index.d.ts +2 -2
  16. package/dist/app/lib/admin/index.js +2 -2
  17. package/dist/app/lib/admin/installFieldTypes.js +1 -1
  18. package/dist/app/lib/admin/runWidgets.js +1 -1
  19. package/dist/app/lib/blocks/ContentBlocks.d.ts +1 -1
  20. package/dist/app/lib/blocks/ContentBlocks.js +5 -5
  21. package/dist/app/lib/blocks/EditableText.d.ts +1 -1
  22. package/dist/app/lib/blocks/EditableText.js +3 -3
  23. package/dist/app/lib/blocks/InnerBlocks.d.ts +13 -3
  24. package/dist/app/lib/blocks/InnerBlocks.js +13 -5
  25. package/dist/app/lib/blocks/block-utils.d.ts +2 -2
  26. package/dist/app/lib/blocks/block-utils.js +2 -2
  27. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts +7 -0
  28. package/dist/app/lib/blocks/editor/EditorHighlights.js +130 -0
  29. package/dist/app/lib/blocks/editor/EditorSupport.js +4 -5
  30. package/dist/app/lib/blocks/editor/editor-config.d.ts +17 -4
  31. package/dist/app/lib/blocks/editor/editor-config.js +21 -9
  32. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +20 -14
  33. package/dist/app/lib/blocks/editor/root-blocks.d.ts +6 -0
  34. package/dist/app/lib/blocks/editor/root-blocks.js +30 -0
  35. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +1 -1
  36. package/dist/app/lib/blocks/index.d.ts +9 -9
  37. package/dist/app/lib/blocks/index.js +9 -9
  38. package/dist/app/lib/blocks/inline-editing.d.ts +1 -1
  39. package/dist/app/lib/blocks/inline-editing.js +7 -5
  40. package/dist/app/lib/devtools/components/BreakpointIndicator.js +6 -4
  41. package/dist/app/lib/devtools/components/DevUI.js +4 -3
  42. package/dist/app/lib/devtools/components/GridIndicator.d.ts +1 -0
  43. package/dist/app/lib/devtools/components/GridIndicator.js +29 -0
  44. package/dist/app/lib/devtools/dev-tools-store.d.ts +9 -0
  45. package/dist/app/lib/devtools/dev-tools-store.js +8 -0
  46. package/dist/app/lib/devtools/hooks/usePersistState.d.ts +1 -1
  47. package/dist/app/lib/devtools/hooks/usePersistState.js +11 -2
  48. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +1102 -1103
  49. package/dist/app/lib/devtools/hooks/useTailwind.js +6 -3
  50. package/dist/app/lib/devtools/index.d.ts +1 -0
  51. package/dist/app/lib/devtools/index.js +1 -1
  52. package/dist/app/lib/devtools/loader.js +8 -7
  53. package/dist/app/lib/devtools/useQueryDebug.d.ts +7 -1
  54. package/dist/app/lib/devtools/useQueryDebug.js +5 -8
  55. package/dist/app/lib/dynamic/dynamic.d.ts +1 -1
  56. package/dist/app/lib/dynamic/dynamic.js +5 -1
  57. package/dist/app/lib/dynamic/index.d.ts +1 -1
  58. package/dist/app/lib/dynamic/index.js +1 -1
  59. package/dist/app/lib/hooks/index.d.ts +4 -5
  60. package/dist/app/lib/hooks/index.js +4 -5
  61. package/dist/app/lib/hooks/queryUtils.d.ts +41 -4
  62. package/dist/app/lib/hooks/queryUtils.js +74 -37
  63. package/dist/app/lib/hooks/useAppData.js +1 -1
  64. package/dist/app/lib/hooks/useRPC.d.ts +0 -4
  65. package/dist/app/lib/hooks/useRPC.js +1 -8
  66. package/dist/app/lib/internal/finalize-rpc.d.ts +17 -0
  67. package/dist/app/lib/internal/finalize-rpc.js +3 -0
  68. package/dist/app/lib/internal/index.d.ts +5 -4
  69. package/dist/app/lib/internal/index.js +5 -4
  70. package/dist/app/lib/internal/internal-store.d.ts +0 -2
  71. package/dist/app/lib/internal/internal-store.js +1 -3
  72. package/dist/app/lib/internal/read-admin-manifest.d.ts +1 -1
  73. package/dist/app/lib/legacy-stitches/createStitches.d.ts +21 -21
  74. package/dist/app/lib/legacy-stitches/createStitches.js +1 -1
  75. package/dist/app/lib/legacy-stitches/index.d.ts +1 -1
  76. package/dist/app/lib/legacy-stitches/index.js +1 -1
  77. package/dist/app/lib/routing/components/BackButton.d.ts +49 -0
  78. package/dist/app/lib/routing/components/BackButton.js +47 -0
  79. package/dist/app/lib/routing/components/BrowserRouter.d.ts +4 -1
  80. package/dist/app/lib/routing/components/BrowserRouter.js +95 -19
  81. package/dist/app/lib/routing/components/ClientOnly.js +1 -1
  82. package/dist/app/lib/routing/components/Link.d.ts +1 -0
  83. package/dist/app/lib/routing/components/Link.js +11 -12
  84. package/dist/app/lib/routing/components/RouteRenderer.d.ts +1 -1
  85. package/dist/app/lib/routing/components/RouteRenderer.js +7 -6
  86. package/dist/app/lib/routing/components/SSRRouter.d.ts +2 -2
  87. package/dist/app/lib/routing/components/SSRRouter.js +5 -6
  88. package/dist/app/lib/routing/components/ScrollRestoration.js +5 -2
  89. package/dist/app/lib/routing/context.d.ts +8 -5
  90. package/dist/app/lib/routing/context.js +13 -96
  91. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +2 -1
  92. package/dist/app/lib/routing/hooks/useRestorableState.js +2 -1
  93. package/dist/app/lib/routing/hooks/useRoute.d.ts +16 -1
  94. package/dist/app/lib/routing/hooks/useRoute.js +22 -1
  95. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts +5 -0
  96. package/dist/app/lib/routing/hooks/useRouteMeta.js +9 -0
  97. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +1 -1
  98. package/dist/app/lib/routing/hooks/useRouteTransition.js +1 -1
  99. package/dist/app/lib/routing/hooks/useRouter.d.ts +1 -1
  100. package/dist/app/lib/routing/hooks/useRouter.js +1 -1
  101. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +1 -1
  102. package/dist/app/lib/routing/hooks/useRouterEvents.js +1 -1
  103. package/dist/app/lib/routing/hooks/useRouterState.d.ts +1 -1
  104. package/dist/app/lib/routing/hooks/useRouterState.js +1 -1
  105. package/dist/app/lib/routing/hooks/useSearchParams.js +2 -2
  106. package/dist/app/lib/routing/index.d.ts +14 -13
  107. package/dist/app/lib/routing/index.js +14 -13
  108. package/dist/app/lib/routing/loader.d.ts +2 -2
  109. package/dist/app/lib/routing/loader.js +26 -15
  110. package/dist/app/lib/routing/types.d.ts +36 -10
  111. package/dist/app/lib/routing/utils.d.ts +5 -2
  112. package/dist/app/lib/routing/utils.js +37 -4
  113. package/dist/app/lib/{hooks → runtime}/apiConfig.d.ts +6 -2
  114. package/dist/app/lib/runtime/apiConfig.js +6 -0
  115. package/dist/app/lib/runtime/errorHandling.d.ts +39 -0
  116. package/dist/app/lib/runtime/errorHandling.js +6 -0
  117. package/dist/app/lib/runtime/index.d.ts +2 -0
  118. package/dist/app/lib/runtime/index.js +2 -0
  119. package/dist/app/lib/views/index.d.ts +1 -1
  120. package/dist/app/lib/views/index.js +1 -1
  121. package/dist/app/server/defineRouter.d.ts +2 -0
  122. package/dist/app/server/defineRouter.js +4 -0
  123. package/dist/app/server/index.d.ts +5 -0
  124. package/dist/app/server/index.js +5 -0
  125. package/dist/app/server/proxy-wp-admin.d.ts +2 -0
  126. package/dist/app/server/proxy-wp-admin.js +124 -0
  127. package/dist/app/server/render-ssr-page.d.ts +21 -0
  128. package/dist/app/server/render-ssr-page.js +166 -0
  129. package/dist/app/server/rpc.d.ts +56 -0
  130. package/dist/app/server/rpc.js +18 -0
  131. package/dist/app/server/server-context.d.ts +72 -0
  132. package/dist/app/server/server-context.js +283 -0
  133. package/dist/app/server/utils/headers.d.ts +1 -0
  134. package/dist/app/server/utils/headers.js +17 -0
  135. package/dist/app/server/utils/replace-host.d.ts +6 -4
  136. package/dist/app/server/utils/replace-host.js +66 -11
  137. package/dist/app/server/utils/swr-cache.d.ts +4 -0
  138. package/dist/app/server/utils/swr-cache.js +31 -0
  139. package/dist/app/utils/APIProvider.d.ts +2 -0
  140. package/dist/app/utils/APIProvider.js +5 -0
  141. package/dist/app/utils/BlockErrorBoundary.d.ts +19 -0
  142. package/dist/app/utils/BlockErrorBoundary.js +38 -0
  143. package/dist/app/utils/ErrorMessage.d.ts +5 -0
  144. package/dist/app/utils/ErrorMessage.js +14 -0
  145. package/dist/app/utils/RouteErrorBoundary.d.ts +18 -0
  146. package/dist/app/utils/RouteErrorBoundary.js +38 -0
  147. package/dist/app/utils/asset-capture.d.ts +2 -0
  148. package/dist/app/utils/asset-capture.js +5 -0
  149. package/dist/app/utils/hydration-debugger.d.ts +13 -0
  150. package/dist/app/utils/hydration-debugger.js +11 -0
  151. package/dist/app/utils/query-client.d.ts +2 -0
  152. package/dist/app/utils/query-client.js +5 -1
  153. package/dist/app/utils/trpc-client.d.ts +2 -0
  154. package/dist/app/utils/trpc-client.js +39 -0
  155. package/dist/node/cli/cli-worker.d.ts +1 -1
  156. package/dist/node/cli/cli-worker.js +11 -3
  157. package/dist/node/cli/cli.js +112 -13
  158. package/dist/node/cli/display/CLIApp.d.ts +1 -1
  159. package/dist/node/cli/display/CLIApp.js +4 -7
  160. package/dist/node/cli/display/boot-cli-app.js +1 -1
  161. package/dist/node/cli/display/components/LogEntries.d.ts +1 -1
  162. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +1 -1
  163. package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -1
  164. package/dist/node/cli/display/tools/cli-tools.d.ts +1 -11
  165. package/dist/node/cli/display/tools/cli-tools.js +9 -9
  166. package/dist/node/cli/display/util/colors.d.ts +2 -2
  167. package/dist/node/cli/version.d.ts +1 -1
  168. package/dist/node/cli/version.js +1 -1
  169. package/dist/node/compiler/build-vinxi.d.ts +8 -0
  170. package/dist/node/compiler/build-vinxi.js +38 -0
  171. package/dist/node/compiler/bundler.admin.d.ts +2 -2
  172. package/dist/node/compiler/bundler.admin.js +4 -4
  173. package/dist/node/compiler/bundler.frontend.d.ts +1 -1
  174. package/dist/node/compiler/bundler.frontend.js +4 -4
  175. package/dist/node/compiler/{serverless.dev.d.ts → dev-server.d.ts} +7 -5
  176. package/dist/node/compiler/dev-server.js +107 -0
  177. package/dist/node/compiler/get-vite-config.d.ts +20 -0
  178. package/dist/node/compiler/get-vite-config.js +207 -0
  179. package/dist/node/compiler/vinxi-app.d.ts +22 -0
  180. package/dist/node/compiler/vinxi-app.js +228 -0
  181. package/dist/node/compiler/vinxi-codegen.d.ts +12 -0
  182. package/dist/node/compiler/vinxi-codegen.js +638 -0
  183. package/dist/node/graphql/graphql-codegen.d.ts +12 -2
  184. package/dist/node/graphql/graphql-codegen.js +213 -36
  185. package/dist/node/graphql/graphql-schema-loader.d.ts +2 -1
  186. package/dist/node/graphql/graphql-schema-loader.js +5 -19
  187. package/dist/node/graphql/plugins/gql-plugin-queries.js +1 -1
  188. package/dist/node/graphql/query-files-loader.d.ts +3 -0
  189. package/dist/node/graphql/query-files-loader.js +5 -0
  190. package/dist/node/project/config.d.ts +159 -73
  191. package/dist/node/project/config.js +70 -21
  192. package/dist/node/project/env.d.ts +5 -1
  193. package/dist/node/project/env.js +2 -1
  194. package/dist/node/project/manifest/block-manifest.js +3 -2
  195. package/dist/node/project/manifest/manifest.d.ts +2 -1
  196. package/dist/node/project/manifest/manifest.js +15 -11
  197. package/dist/node/project/manifest/routes-manifest.d.ts +20 -0
  198. package/dist/node/project/manifest/routes-manifest.js +74 -0
  199. package/dist/node/project/manifest/view-manifest.js +2 -2
  200. package/dist/node/project/project.d.ts +11 -2
  201. package/dist/node/project/project.js +49 -20
  202. package/dist/node/project/wp-info.d.ts +1 -0
  203. package/dist/node/project/wp-info.js +13 -3
  204. package/dist/node/types/block-type.d.ts +25 -20
  205. package/dist/node/types/block-type.js +1 -0
  206. package/dist/node/types/view-type.d.ts +7 -7
  207. package/dist/node/types/view-type.js +3 -4
  208. package/dist/node/utils/fetch-wp.d.ts +1 -0
  209. package/dist/node/utils/fetch-wp.js +27 -0
  210. package/dist/node/utils/fs-codegen.d.ts +42 -0
  211. package/dist/node/utils/fs-codegen.js +98 -0
  212. package/dist/node/utils/fs.js +2 -0
  213. package/dist/node/utils/{isDeploying.js → is-deploying.js} +1 -1
  214. package/dist/node/utils/{selfSignedCert.js → self-signed-cert.js} +1 -1
  215. package/dist/node/utils/{statefulLog.js → stateful-log.js} +3 -1
  216. package/dist/node/utils/watch-file-tree.d.ts +25 -0
  217. package/dist/node/utils/{watchFileTree.js → watch-file-tree.js} +12 -5
  218. package/package.json +40 -38
  219. package/types.app.d.ts +4 -2
  220. package/types.app.internal.d.ts +2 -2
  221. package/types.node.d.ts +3 -3
  222. package/dist/app/entry/Root.d.ts +0 -1
  223. package/dist/app/entry/Root.js +0 -9
  224. package/dist/app/entry/main.admin.d.ts +0 -3
  225. package/dist/app/entry/main.admin.js +0 -10
  226. package/dist/app/entry/main.frontend.spa.d.ts +0 -3
  227. package/dist/app/entry/main.frontend.spa.js +0 -13
  228. package/dist/app/entry/main.frontend.ssr.d.ts +0 -21
  229. package/dist/app/entry/main.frontend.ssr.js +0 -79
  230. package/dist/app/entry/main.serverless.dev.d.ts +0 -4
  231. package/dist/app/entry/main.serverless.dev.js +0 -21
  232. package/dist/app/lib/blocks/ErrorBoundaryFrontend.d.ts +0 -15
  233. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +0 -35
  234. package/dist/app/lib/hooks/apiConfig.js +0 -4
  235. package/dist/app/lib/hooks/usePageLoad.d.ts +0 -6
  236. package/dist/app/lib/hooks/usePageLoad.js +0 -5
  237. package/dist/app/server/create-api-builtin-hono.d.ts +0 -8
  238. package/dist/app/server/create-api-builtin-hono.js +0 -80
  239. package/dist/app/server/create-ssr-hono.d.ts +0 -18
  240. package/dist/app/server/create-ssr-hono.js +0 -104
  241. package/dist/app/server/utils/index.html.d.ts +0 -2
  242. package/dist/app/server/utils/index.html.js +0 -14
  243. package/dist/node/compiler/index.html.d.ts +0 -2
  244. package/dist/node/compiler/index.html.js +0 -15
  245. package/dist/node/compiler/serverless.dev.js +0 -215
  246. package/dist/node/compiler/vite/get-vite-config.d.ts +0 -13
  247. package/dist/node/compiler/vite/get-vite-config.js +0 -315
  248. package/dist/node/compiler/vite/plugin-admin.d.ts +0 -4
  249. package/dist/node/compiler/vite/plugin-admin.js +0 -67
  250. package/dist/node/compiler/vite/plugin-blocks.d.ts +0 -4
  251. package/dist/node/compiler/vite/plugin-blocks.js +0 -73
  252. package/dist/node/compiler/vite/plugin-entry.d.ts +0 -6
  253. package/dist/node/compiler/vite/plugin-entry.js +0 -16
  254. package/dist/node/compiler/vite/plugin-resolved-tailwind.d.ts +0 -4
  255. package/dist/node/compiler/vite/plugin-resolved-tailwind.js +0 -29
  256. package/dist/node/compiler/vite/plugin-theme.d.ts +0 -4
  257. package/dist/node/compiler/vite/plugin-theme.js +0 -40
  258. package/dist/node/compiler/vite/plugin-views.d.ts +0 -4
  259. package/dist/node/compiler/vite/plugin-views.js +0 -51
  260. package/dist/node/utils/console.d.ts +0 -21
  261. package/dist/node/utils/console.js +0 -28
  262. package/dist/node/utils/unsafe-fetch.d.ts +0 -2
  263. package/dist/node/utils/unsafe-fetch.js +0 -19
  264. package/dist/node/utils/watchFileTree.d.ts +0 -11
  265. package/tsup.config.ts +0 -40
  266. package/types.manifests.d.ts +0 -22
  267. /package/dist/node/utils/{formatZodError.d.ts → format-zod-error.d.ts} +0 -0
  268. /package/dist/node/utils/{formatZodError.js → format-zod-error.js} +0 -0
  269. /package/dist/node/utils/{getRepoInfo.d.ts → get-repo-info.d.ts} +0 -0
  270. /package/dist/node/utils/{getRepoInfo.js → get-repo-info.js} +0 -0
  271. /package/dist/node/utils/{highlightCode.d.ts → highlight-code.d.ts} +0 -0
  272. /package/dist/node/utils/{highlightCode.js → highlight-code.js} +0 -0
  273. /package/dist/node/utils/{isDeploying.d.ts → is-deploying.d.ts} +0 -0
  274. /package/dist/node/utils/{selfSignedCert.d.ts → self-signed-cert.d.ts} +0 -0
  275. /package/dist/node/utils/{statefulLog.d.ts → stateful-log.d.ts} +0 -0
  276. /package/dist/node/utils/{export-extractor.d.ts → ts-export-extractor.d.ts} +0 -0
  277. /package/dist/node/utils/{export-extractor.js → ts-export-extractor.js} +0 -0
@@ -1,11 +1,13 @@
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";
7
3
  import { useSnapshot } from "valtio";
8
- import { getBlockMetadata } from "../block-utils";
4
+ import { getBlockMetadata } from "../block-utils.js";
5
+ import { InlineEditingContextProvider } from "../inline-editing.js";
6
+ import { BlockContext, EditableBlock } from "./EditorSupport.js";
7
+ import { blocksByTag } from "./blocks-by-tag.js";
8
+ import { editorConfigStore, getEditingPostInfo, watchEditorTemplate } from "./editor-config.js";
9
+ import { rootBlocks } from "./root-blocks.js";
10
+ import { EditorHighlights } from "./EditorHighlights.js";
9
11
  function listenForHandleResize() {
10
12
  let interval = setInterval(() => {
11
13
  let viewportTarget = document.querySelector(".interface-interface-skeleton__content");
@@ -53,6 +55,8 @@ export function installEDGutenbergHooks() {
53
55
  wp.richText.unregisterFormatType("core/keyboard");
54
56
  wp.richText.unregisterFormatType("core/text-color");
55
57
  whenEditorIsReady().then(() => watchEditorTemplate());
58
+ // Recalculate registered blocks when rootBlocks change
59
+ rootBlocks.listen();
56
60
  wp.hooks.addFilter("blocks.registerBlockType", "ed", (item, name) => {
57
61
  // Hook into ACF blocks, customising the edit mode.
58
62
  if (name.startsWith("acf/")) {
@@ -63,6 +67,7 @@ export function installEDGutenbergHooks() {
63
67
  };
64
68
  // Add an 'inline' object attribute, which will hold all inline contents
65
69
  item.attributes.inline = { type: "object" };
70
+ item.attributes.values = { type: "object" };
66
71
  item.attributes.isFromTemplate = { type: "boolean" };
67
72
  item.supports.customClassName = false;
68
73
  item.edit = function (props) {
@@ -71,17 +76,20 @@ export function installEDGutenbergHooks() {
71
76
  ;
72
77
  wp.data.dispatch("core/block-editor").setTemplateValidity(true);
73
78
  }, []);
74
- const children = wp.data.useSelect((select) => {
75
- const { getBlock, getBlockOrder } = select("core/block-editor");
79
+ const { children, index } = wp.data.useSelect((select) => {
80
+ const { getBlock, getBlockOrder, getBlockIndex } = select("core/block-editor");
76
81
  const innerBlockIDs = getBlockOrder(props.clientId);
77
82
  const children = innerBlockIDs.map((id) => {
78
83
  return getBlock(id);
79
84
  });
80
- return children;
85
+ return {
86
+ children,
87
+ index: getBlockIndex(props.clientId),
88
+ };
81
89
  }, []);
82
- return (_jsx(BlockContext.Provider, { value: { name, props }, children: _jsx(InlineEditingContextProvider, { values: props.attributes.inline || {}, innerBlocks: children, block: [name, props], index: -1, onChange: (attrs) => {
90
+ return (_jsx(BlockContext.Provider, { value: { name, props }, children: _jsx(InlineEditingContextProvider, { values: props.attributes.inline || {}, innerBlocks: children, block: [name, props], index: index ?? -1, onChange: (attrs) => {
83
91
  props.setAttributes({ ...props.attributes, inline: attrs });
84
- }, insertBlocksAfter: props.insertBlocksAfter, children: edit.call(self, props) }) }));
92
+ }, insertBlocksAfter: props.insertBlocksAfter, children: _jsx(EditorHighlights, { enabled: true, clientId: props.clientId, children: edit.call(self, props) }) }) }));
85
93
  };
86
94
  }
87
95
  // Find PHP-defined 'tags' for core blocks.
@@ -99,13 +107,11 @@ export function installEDGutenbergHooks() {
99
107
  item.tags = [];
100
108
  }
101
109
  blocksByTag.add(item.name, item.tags);
110
+ const isRootBlock = rootBlocks.isRootBlock(name, item.tags);
102
111
  return {
103
112
  ...item,
104
113
  get parent() {
105
- return blocksByTag.expand([
106
- ...(item.parent ?? []),
107
- ...(item.tags.includes("root") ? ["core/post-content"] : []),
108
- ]);
114
+ return blocksByTag.expand([...(item.parent ?? []), ...(isRootBlock ? ["core/post-content"] : [])]);
109
115
  },
110
116
  get ancestor() {
111
117
  return item.ancestor ? blocksByTag.expand(item.ancestor) : undefined;
@@ -0,0 +1,6 @@
1
+ export declare const rootBlocks: {
2
+ listen(): void;
3
+ update(): void;
4
+ getRootBlocks(): Set<string>;
5
+ isRootBlock(blockName: string, tags?: string[]): boolean | undefined;
6
+ };
@@ -0,0 +1,30 @@
1
+ import { hash } from "object-code";
2
+ import { subscribe, snapshot } from "valtio";
3
+ import { editorConfigStore } from "./editor-config";
4
+ import { blocksByTag } from "./blocks-by-tag";
5
+ let constraint = ["root"];
6
+ let rootBlockList = new Set(["root"]);
7
+ export const rootBlocks = {
8
+ listen() {
9
+ let key = hash(rootBlocks);
10
+ subscribe(editorConfigStore, () => {
11
+ constraint = snapshot(editorConfigStore.currentBlocksConfig).rootBlocks ?? ["root"];
12
+ let newKey = hash(constraint);
13
+ if (key === newKey)
14
+ return;
15
+ // The root blocks config have changed, so we need to recalculate the registered blocks
16
+ key = newKey;
17
+ rootBlocks.update();
18
+ });
19
+ },
20
+ update() {
21
+ rootBlockList = new Set(blocksByTag.expand(constraint));
22
+ wp.data.dispatch("core/blocks").reapplyBlockTypeFilters();
23
+ },
24
+ getRootBlocks() {
25
+ return rootBlockList;
26
+ },
27
+ isRootBlock(blockName, tags) {
28
+ return rootBlockList.has(blockName) || (tags && tags.some((tag) => rootBlockList.has(tag)));
29
+ },
30
+ };
@@ -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,
@@ -1,7 +1,7 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useRef, useState } from "react";
3
- import { useTailwindConfig } from "../hooks/useTailwind.js";
4
3
  import { usePersistState } from "../hooks/usePersistState.js";
4
+ import { useTailwindConfig } from "../hooks/useTailwind.js";
5
5
  function parseBreakpointMin(breakpoint) {
6
6
  return parseInt(breakpoint);
7
7
  }
@@ -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,7 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import "../../../../../css/devtools.css";
3
- import { BreakpointIndicator } from "./BreakpointIndicator";
3
+ import { BreakpointIndicator } from "./BreakpointIndicator.js";
4
+ import { GridIndicator } from "./GridIndicator";
4
5
  export default function DevUI() {
5
- return (_jsx("div", { className: "eddev-ui", children: _jsx(BreakpointIndicator, {}) }));
6
+ return (_jsxs("div", { className: "eddev-ui", children: [_jsx(BreakpointIndicator, {}), _jsx(GridIndicator, {})] }));
6
7
  }
@@ -0,0 +1 @@
1
+ export declare function GridIndicator(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useLayoutEffect } from "react";
3
+ import { usePersistState } from "../hooks/usePersistState.js";
4
+ export function GridIndicator() {
5
+ const [enabled, setEnabled] = usePersistState("gridOverlayEnabled", false);
6
+ useEffect(() => {
7
+ const handleKeyDown = (e) => {
8
+ if (e.key === "g" && e.ctrlKey) {
9
+ setEnabled((e) => !e);
10
+ }
11
+ };
12
+ window.addEventListener("keydown", handleKeyDown);
13
+ return () => {
14
+ window.removeEventListener("keydown", handleKeyDown);
15
+ };
16
+ }, []);
17
+ const cols = [];
18
+ for (let i = 0; i < 12; i++) {
19
+ cols.push(_jsx("div", { style: { height: "100%", backgroundColor: "rgba(255,0,0,0.1)" } }));
20
+ }
21
+ if (env.client) {
22
+ useLayoutEffect(() => {
23
+ document.documentElement.classList.toggle("debug-grid", enabled);
24
+ }, [enabled]);
25
+ }
26
+ if (!enabled)
27
+ return null;
28
+ return (_jsx("div", { style: { position: "fixed", inset: 0, zIndex: 999999999, pointerEvents: "none" }, children: _jsx("div", { className: "grid-auto debug-display", style: { height: "100%" }, children: cols }) }));
29
+ }
@@ -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
+ });
@@ -1 +1 @@
1
- export declare function usePersistState<T>(id: string, initial: T): [T, (value: T) => void];
1
+ export declare function usePersistState<T>(id: string, initial: T): [T, (value: T | ((current: T) => T)) => void];
@@ -24,8 +24,17 @@ export function usePersistState(id, initial) {
24
24
  return [
25
25
  value,
26
26
  (value) => {
27
- set(id, value);
28
- setValue(value);
27
+ if (typeof value === "function") {
28
+ return setValue((cur) => {
29
+ const next = value(cur);
30
+ set(id, next);
31
+ return next;
32
+ });
33
+ }
34
+ else {
35
+ set(id, value);
36
+ setValue(value);
37
+ }
29
38
  },
30
39
  ];
31
40
  }