eddev 2.0.0-beta.21 → 2.0.0-beta.210

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 (456) hide show
  1. package/css/editor-styles.css +4 -0
  2. package/dist/app/entry/HydrationOverlay.d.ts +2 -0
  3. package/dist/app/entry/HydrationOverlay.d.ts.map +1 -0
  4. package/dist/app/entry/HydrationOverlay.js +2 -0
  5. package/dist/app/entry/MetaTags.d.ts +8 -0
  6. package/dist/app/entry/MetaTags.d.ts.map +1 -0
  7. package/dist/app/entry/MetaTags.js +30 -0
  8. package/dist/app/entry/boot-admin.d.ts +1 -0
  9. package/dist/app/entry/boot-admin.d.ts.map +1 -0
  10. package/dist/app/entry/boot-admin.js +7 -3
  11. package/dist/app/entry/hydration-script.d.ts +2 -0
  12. package/dist/app/entry/hydration-script.d.ts.map +1 -0
  13. package/dist/app/entry/hydration-script.js +18 -0
  14. package/dist/app/entry/spa-root.d.ts +1 -0
  15. package/dist/app/entry/spa-root.d.ts.map +1 -0
  16. package/dist/app/entry/spa-root.js +3 -5
  17. package/dist/app/entry/ssr-root-client.d.ts +4 -1
  18. package/dist/app/entry/ssr-root-client.d.ts.map +1 -0
  19. package/dist/app/entry/ssr-root-client.js +18 -6
  20. package/dist/app/entry/ssr-root.d.ts +6 -4
  21. package/dist/app/entry/ssr-root.d.ts.map +1 -0
  22. package/dist/app/entry/ssr-root.js +20 -19
  23. package/dist/app/lib/admin/defineField.d.ts +1 -0
  24. package/dist/app/lib/admin/defineField.d.ts.map +1 -0
  25. package/dist/app/lib/admin/defineWidget.d.ts +1 -0
  26. package/dist/app/lib/admin/defineWidget.d.ts.map +1 -0
  27. package/dist/app/lib/admin/index.d.ts +1 -0
  28. package/dist/app/lib/admin/index.d.ts.map +1 -0
  29. package/dist/app/lib/admin/installFieldTypes.d.ts +1 -0
  30. package/dist/app/lib/admin/installFieldTypes.d.ts.map +1 -0
  31. package/dist/app/lib/admin/installFieldTypes.js +2 -0
  32. package/dist/app/lib/admin/runWidgets.d.ts +1 -0
  33. package/dist/app/lib/admin/runWidgets.d.ts.map +1 -0
  34. package/dist/app/lib/admin/runWidgets.js +7 -2
  35. package/dist/app/lib/blocks/ContentBlocks.d.ts +7 -4
  36. package/dist/app/lib/blocks/ContentBlocks.d.ts.map +1 -0
  37. package/dist/app/lib/blocks/ContentBlocks.js +16 -3
  38. package/dist/app/lib/blocks/EditableText.d.ts +30 -5
  39. package/dist/app/lib/blocks/EditableText.d.ts.map +1 -0
  40. package/dist/app/lib/blocks/EditableText.js +34 -5
  41. package/dist/app/lib/blocks/InnerBlocks.d.ts +21 -6
  42. package/dist/app/lib/blocks/InnerBlocks.d.ts.map +1 -0
  43. package/dist/app/lib/blocks/InnerBlocks.js +73 -25
  44. package/dist/app/lib/blocks/SlotBlocks.d.ts +8 -0
  45. package/dist/app/lib/blocks/SlotBlocks.d.ts.map +1 -0
  46. package/dist/app/lib/blocks/SlotBlocks.js +46 -0
  47. package/dist/app/lib/blocks/block-utils.d.ts +2 -1
  48. package/dist/app/lib/blocks/block-utils.d.ts.map +1 -0
  49. package/dist/app/lib/blocks/block-utils.js +3 -1
  50. package/dist/app/lib/blocks/builtin-blocks.d.ts +2 -0
  51. package/dist/app/lib/blocks/builtin-blocks.d.ts.map +1 -0
  52. package/dist/app/lib/blocks/builtin-blocks.js +55 -0
  53. package/dist/app/lib/blocks/defineBlock.d.ts +4 -0
  54. package/dist/app/lib/blocks/defineBlock.d.ts.map +1 -0
  55. package/dist/app/lib/blocks/defineBlock.js +9 -0
  56. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts +8 -0
  57. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts.map +1 -0
  58. package/dist/app/lib/blocks/editor/EditorHighlights.js +164 -0
  59. package/dist/app/lib/blocks/editor/EditorSupport.d.ts +1 -0
  60. package/dist/app/lib/blocks/editor/EditorSupport.d.ts.map +1 -0
  61. package/dist/app/lib/blocks/editor/EditorSupport.js +17 -10
  62. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts +2 -1
  63. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts.map +1 -0
  64. package/dist/app/lib/blocks/editor/block-templates.d.ts +8 -1
  65. package/dist/app/lib/blocks/editor/block-templates.d.ts.map +1 -0
  66. package/dist/app/lib/blocks/editor/block-templates.js +71 -2
  67. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +1 -0
  68. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts.map +1 -0
  69. package/dist/app/lib/blocks/editor/controls.d.ts +1 -0
  70. package/dist/app/lib/blocks/editor/controls.d.ts.map +1 -0
  71. package/dist/app/lib/blocks/editor/create-block.d.ts +10 -0
  72. package/dist/app/lib/blocks/editor/create-block.d.ts.map +1 -0
  73. package/dist/app/lib/blocks/editor/create-block.js +13 -0
  74. package/dist/app/lib/blocks/editor/editor-config.d.ts +77 -8
  75. package/dist/app/lib/blocks/editor/editor-config.d.ts.map +1 -0
  76. package/dist/app/lib/blocks/editor/editor-config.js +29 -62
  77. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +4 -0
  78. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts.map +1 -0
  79. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +126 -21
  80. package/dist/app/lib/blocks/editor/root-blocks.d.ts +7 -0
  81. package/dist/app/lib/blocks/editor/root-blocks.d.ts.map +1 -0
  82. package/dist/app/lib/blocks/editor/root-blocks.js +30 -0
  83. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +12 -1
  84. package/dist/app/lib/blocks/editor/usePostEditor.d.ts.map +1 -0
  85. package/dist/app/lib/blocks/editor/usePostEditor.js +28 -13
  86. package/dist/app/lib/blocks/index.d.ts +8 -5
  87. package/dist/app/lib/blocks/index.d.ts.map +1 -0
  88. package/dist/app/lib/blocks/index.js +7 -5
  89. package/dist/app/lib/blocks/inline-editing.d.ts +10 -0
  90. package/dist/app/lib/blocks/inline-editing.d.ts.map +1 -0
  91. package/dist/app/lib/blocks/inline-editing.js +12 -2
  92. package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts +1 -0
  93. package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts.map +1 -0
  94. package/dist/app/lib/devtools/components/BreakpointIndicator.js +2 -2
  95. package/dist/app/lib/devtools/components/DevUI.d.ts +1 -0
  96. package/dist/app/lib/devtools/components/DevUI.d.ts.map +1 -0
  97. package/dist/app/lib/devtools/components/DevUI.js +3 -2
  98. package/dist/app/lib/devtools/components/GridIndicator.d.ts +2 -0
  99. package/dist/app/lib/devtools/components/GridIndicator.d.ts.map +1 -0
  100. package/dist/app/lib/devtools/components/GridIndicator.js +29 -0
  101. package/dist/app/lib/devtools/dev-tools-store.d.ts +1 -0
  102. package/dist/app/lib/devtools/dev-tools-store.d.ts.map +1 -0
  103. package/dist/app/lib/devtools/hooks/usePersistState.d.ts +2 -1
  104. package/dist/app/lib/devtools/hooks/usePersistState.d.ts.map +1 -0
  105. package/dist/app/lib/devtools/hooks/usePersistState.js +11 -2
  106. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +1380 -335
  107. package/dist/app/lib/devtools/hooks/useTailwind.d.ts.map +1 -0
  108. package/dist/app/lib/devtools/index.d.ts +1 -0
  109. package/dist/app/lib/devtools/index.d.ts.map +1 -0
  110. package/dist/app/lib/devtools/loader.d.ts +1 -0
  111. package/dist/app/lib/devtools/loader.d.ts.map +1 -0
  112. package/dist/app/lib/devtools/loader.js +6 -5
  113. package/dist/app/lib/devtools/tailwind.config.d.ts +1 -0
  114. package/dist/app/lib/devtools/tailwind.config.d.ts.map +1 -0
  115. package/dist/app/lib/devtools/useQueryDebug.d.ts +8 -1
  116. package/dist/app/lib/devtools/useQueryDebug.d.ts.map +1 -0
  117. package/dist/app/lib/devtools/useQueryDebug.js +5 -8
  118. package/dist/app/lib/dynamic/dynamic.d.ts +2 -1
  119. package/dist/app/lib/dynamic/dynamic.d.ts.map +1 -0
  120. package/dist/app/lib/dynamic/dynamic.js +5 -1
  121. package/dist/app/lib/dynamic/index.d.ts +1 -0
  122. package/dist/app/lib/dynamic/index.d.ts.map +1 -0
  123. package/dist/app/lib/hooks/index.d.ts +3 -3
  124. package/dist/app/lib/hooks/index.d.ts.map +1 -0
  125. package/dist/app/lib/hooks/index.js +2 -3
  126. package/dist/app/lib/hooks/{queryUtils.d.ts → query-hooks.d.ts} +42 -3
  127. package/dist/app/lib/hooks/query-hooks.d.ts.map +1 -0
  128. package/dist/app/lib/hooks/{queryUtils.js → query-hooks.js} +90 -28
  129. package/dist/app/lib/hooks/useAppData.d.ts +1 -0
  130. package/dist/app/lib/hooks/useAppData.d.ts.map +1 -0
  131. package/dist/app/lib/hooks/useAppData.js +11 -0
  132. package/dist/app/lib/hooks/useRPC.d.ts +1 -4
  133. package/dist/app/lib/hooks/useRPC.d.ts.map +1 -0
  134. package/dist/app/lib/hooks/useRPC.js +0 -8
  135. package/dist/app/lib/integrations/gravityforms/index.d.ts +3 -0
  136. package/dist/app/lib/integrations/gravityforms/index.d.ts.map +1 -0
  137. package/dist/app/lib/integrations/gravityforms/index.js +2 -0
  138. package/dist/app/lib/integrations/gravityforms/types.d.ts +145 -0
  139. package/dist/app/lib/integrations/gravityforms/types.d.ts.map +1 -0
  140. package/dist/app/lib/integrations/gravityforms/types.js +1 -0
  141. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts +31 -0
  142. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts.map +1 -0
  143. package/dist/app/lib/integrations/gravityforms/useGravityForm.js +295 -0
  144. package/dist/app/lib/internal/finalize-rpc.d.ts +18 -0
  145. package/dist/app/lib/internal/finalize-rpc.d.ts.map +1 -0
  146. package/dist/app/lib/internal/finalize-rpc.js +3 -0
  147. package/dist/app/lib/internal/index.d.ts +2 -0
  148. package/dist/app/lib/internal/index.d.ts.map +1 -0
  149. package/dist/app/lib/internal/index.js +1 -0
  150. package/dist/app/lib/internal/internal-store.d.ts +1 -0
  151. package/dist/app/lib/internal/internal-store.d.ts.map +1 -0
  152. package/dist/app/lib/internal/read-admin-manifest.d.ts +1 -0
  153. package/dist/app/lib/internal/read-admin-manifest.d.ts.map +1 -0
  154. package/dist/app/lib/internal/read-block-manifest.d.ts +1 -0
  155. package/dist/app/lib/internal/read-block-manifest.d.ts.map +1 -0
  156. package/dist/app/lib/internal/read-view-manifest.d.ts +1 -0
  157. package/dist/app/lib/internal/read-view-manifest.d.ts.map +1 -0
  158. package/dist/app/lib/legacy-stitches/createStitches.d.ts +510 -1
  159. package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +1 -0
  160. package/dist/app/lib/legacy-stitches/index.d.ts +1 -0
  161. package/dist/app/lib/legacy-stitches/index.d.ts.map +1 -0
  162. package/dist/app/lib/routing/components/BackButton.d.ts +50 -0
  163. package/dist/app/lib/routing/components/BackButton.d.ts.map +1 -0
  164. package/dist/app/lib/routing/components/BackButton.js +47 -0
  165. package/dist/app/lib/routing/components/BrowserRouter.d.ts +10 -1
  166. package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -0
  167. package/dist/app/lib/routing/components/BrowserRouter.js +136 -21
  168. package/dist/app/lib/routing/components/ClientOnly.d.ts +2 -1
  169. package/dist/app/lib/routing/components/ClientOnly.d.ts.map +1 -0
  170. package/dist/app/lib/routing/components/ClientOnly.js +1 -1
  171. package/dist/app/lib/routing/components/Link.d.ts +19 -2
  172. package/dist/app/lib/routing/components/Link.d.ts.map +1 -0
  173. package/dist/app/lib/routing/components/Link.js +43 -23
  174. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts +10 -0
  175. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts.map +1 -0
  176. package/dist/app/lib/routing/components/NativeLinkHandler.js +23 -0
  177. package/dist/app/lib/routing/components/RouteRenderer.d.ts +1 -0
  178. package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -0
  179. package/dist/app/lib/routing/components/RouteRenderer.js +17 -3
  180. package/dist/app/lib/routing/components/SSRRouter.d.ts +3 -0
  181. package/dist/app/lib/routing/components/SSRRouter.d.ts.map +1 -0
  182. package/dist/app/lib/routing/components/SSRRouter.js +3 -2
  183. package/dist/app/lib/routing/components/ScrollRestoration.d.ts +1 -0
  184. package/dist/app/lib/routing/components/ScrollRestoration.d.ts.map +1 -0
  185. package/dist/app/lib/routing/components/ScrollRestoration.js +4 -1
  186. package/dist/app/lib/routing/context.d.ts +9 -5
  187. package/dist/app/lib/routing/context.d.ts.map +1 -0
  188. package/dist/app/lib/routing/context.js +12 -95
  189. package/dist/app/lib/routing/hooks/useIsSSR.d.ts +1 -0
  190. package/dist/app/lib/routing/hooks/useIsSSR.d.ts.map +1 -0
  191. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +3 -1
  192. package/dist/app/lib/routing/hooks/useRestorableState.d.ts.map +1 -0
  193. package/dist/app/lib/routing/hooks/useRoute.d.ts +16 -0
  194. package/dist/app/lib/routing/hooks/useRoute.d.ts.map +1 -0
  195. package/dist/app/lib/routing/hooks/useRoute.js +21 -0
  196. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts +6 -0
  197. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts.map +1 -0
  198. package/dist/app/lib/routing/hooks/useRouteMeta.js +9 -0
  199. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +1 -0
  200. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts.map +1 -0
  201. package/dist/app/lib/routing/hooks/useRouter.d.ts +1 -0
  202. package/dist/app/lib/routing/hooks/useRouter.d.ts.map +1 -0
  203. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +1 -0
  204. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts.map +1 -0
  205. package/dist/app/lib/routing/hooks/useRouterState.d.ts +1 -0
  206. package/dist/app/lib/routing/hooks/useRouterState.d.ts.map +1 -0
  207. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +78 -6
  208. package/dist/app/lib/routing/hooks/useSearchParams.d.ts.map +1 -0
  209. package/dist/app/lib/routing/hooks/useSearchParams.js +75 -15
  210. package/dist/app/lib/routing/index.d.ts +3 -0
  211. package/dist/app/lib/routing/index.d.ts.map +1 -0
  212. package/dist/app/lib/routing/index.js +2 -0
  213. package/dist/app/lib/routing/loader.d.ts +1 -0
  214. package/dist/app/lib/routing/loader.d.ts.map +1 -0
  215. package/dist/app/lib/routing/loader.js +19 -10
  216. package/dist/app/lib/routing/types.d.ts +60 -12
  217. package/dist/app/lib/routing/types.d.ts.map +1 -0
  218. package/dist/app/lib/routing/utils.d.ts +7 -2
  219. package/dist/app/lib/routing/utils.d.ts.map +1 -0
  220. package/dist/app/lib/routing/utils.js +41 -4
  221. package/dist/app/lib/{hooks → runtime}/apiConfig.d.ts +11 -2
  222. package/dist/app/lib/runtime/apiConfig.d.ts.map +1 -0
  223. package/dist/app/lib/runtime/apiConfig.js +6 -0
  224. package/dist/app/lib/runtime/errorHandling.d.ts +40 -0
  225. package/dist/app/lib/runtime/errorHandling.d.ts.map +1 -0
  226. package/dist/app/lib/runtime/errorHandling.js +6 -0
  227. package/dist/app/lib/runtime/index.d.ts +3 -0
  228. package/dist/app/lib/runtime/index.d.ts.map +1 -0
  229. package/dist/app/lib/runtime/index.js +2 -0
  230. package/dist/app/lib/views/defineView.d.ts +2 -1
  231. package/dist/app/lib/views/defineView.d.ts.map +1 -0
  232. package/dist/app/lib/views/index.d.ts +1 -0
  233. package/dist/app/lib/views/index.d.ts.map +1 -0
  234. package/dist/app/server/index.d.ts +4 -1
  235. package/dist/app/server/index.d.ts.map +1 -0
  236. package/dist/app/server/index.js +3 -1
  237. package/dist/app/server/proxy-wp-admin.d.ts +2 -2
  238. package/dist/app/server/proxy-wp-admin.d.ts.map +1 -0
  239. package/dist/app/server/proxy-wp-admin.js +46 -13
  240. package/dist/app/server/render-ai-page.d.ts +13 -0
  241. package/dist/app/server/render-ai-page.d.ts.map +1 -0
  242. package/dist/app/server/render-ai-page.js +100 -0
  243. package/dist/app/server/render-ssr-page.d.ts +31 -3
  244. package/dist/app/server/render-ssr-page.d.ts.map +1 -0
  245. package/dist/app/server/render-ssr-page.js +227 -11
  246. package/dist/app/server/rpc.d.ts +52 -0
  247. package/dist/app/server/rpc.d.ts.map +1 -0
  248. package/dist/app/server/rpc.js +18 -0
  249. package/dist/app/server/server-context.d.ts +44 -6
  250. package/dist/app/server/server-context.d.ts.map +1 -0
  251. package/dist/app/server/server-context.js +334 -37
  252. package/dist/app/server/server-custom-config.d.ts +3 -0
  253. package/dist/app/server/server-custom-config.d.ts.map +1 -0
  254. package/dist/app/server/server-custom-config.js +1 -0
  255. package/dist/app/server/utils/content-security.d.ts +26 -0
  256. package/dist/app/server/utils/content-security.d.ts.map +1 -0
  257. package/dist/app/server/utils/content-security.js +124 -0
  258. package/dist/app/server/utils/headers.d.ts +1 -0
  259. package/dist/app/server/utils/headers.d.ts.map +1 -0
  260. package/dist/app/server/utils/replace-host.d.ts +2 -1
  261. package/dist/app/server/utils/replace-host.d.ts.map +1 -0
  262. package/dist/app/server/utils/replace-host.js +10 -2
  263. package/dist/app/server/utils/swr-cache.d.ts +5 -0
  264. package/dist/app/server/utils/swr-cache.d.ts.map +1 -0
  265. package/dist/app/server/utils/swr-cache.js +31 -0
  266. package/dist/app/utils/APIProvider.d.ts +3 -0
  267. package/dist/app/utils/APIProvider.d.ts.map +1 -0
  268. package/dist/app/utils/APIProvider.js +5 -0
  269. package/dist/app/utils/BlockErrorBoundary.d.ts +20 -0
  270. package/dist/app/utils/BlockErrorBoundary.d.ts.map +1 -0
  271. package/dist/app/utils/BlockErrorBoundary.js +38 -0
  272. package/dist/app/utils/ErrorMessage.d.ts +6 -0
  273. package/dist/app/utils/ErrorMessage.d.ts.map +1 -0
  274. package/dist/app/utils/ErrorMessage.js +14 -0
  275. package/dist/app/utils/RouteErrorBoundary.d.ts +20 -0
  276. package/dist/app/utils/RouteErrorBoundary.d.ts.map +1 -0
  277. package/dist/app/utils/RouteErrorBoundary.js +41 -0
  278. package/dist/app/utils/asset-capture.d.ts +3 -0
  279. package/dist/app/utils/asset-capture.d.ts.map +1 -0
  280. package/dist/app/utils/asset-capture.js +5 -0
  281. package/dist/app/utils/hydration-debugger.d.ts +14 -0
  282. package/dist/app/utils/hydration-debugger.d.ts.map +1 -0
  283. package/dist/app/utils/hydration-debugger.js +11 -0
  284. package/dist/app/utils/query-client.d.ts +3 -0
  285. package/dist/app/utils/query-client.d.ts.map +1 -0
  286. package/dist/app/utils/query-client.js +5 -1
  287. package/dist/app/utils/query-monitor.d.ts +27 -0
  288. package/dist/app/utils/query-monitor.d.ts.map +1 -0
  289. package/dist/app/utils/query-monitor.js +7 -0
  290. package/dist/app/utils/trpc-client.d.ts +3 -0
  291. package/dist/app/utils/trpc-client.d.ts.map +1 -0
  292. package/dist/app/utils/trpc-client.js +39 -0
  293. package/dist/app/utils/wp.d.ts +11 -10
  294. package/dist/app/utils/wp.d.ts.map +1 -0
  295. package/dist/node/cli/cli-mode.d.ts +1 -0
  296. package/dist/node/cli/cli-mode.d.ts.map +1 -0
  297. package/dist/node/cli/cli-worker.d.ts +1 -0
  298. package/dist/node/cli/cli-worker.d.ts.map +1 -0
  299. package/dist/node/cli/cli-worker.js +7 -3
  300. package/dist/node/cli/cli.d.ts +1 -0
  301. package/dist/node/cli/cli.d.ts.map +1 -0
  302. package/dist/node/cli/cli.js +120 -7
  303. package/dist/node/cli/display/CLIApp.d.ts +1 -0
  304. package/dist/node/cli/display/CLIApp.d.ts.map +1 -0
  305. package/dist/node/cli/display/CLIApp.js +1 -1
  306. package/dist/node/cli/display/boot-cli-app.d.ts +1 -0
  307. package/dist/node/cli/display/boot-cli-app.d.ts.map +1 -0
  308. package/dist/node/cli/display/boot-cli-app.js +1 -1
  309. package/dist/node/cli/display/components/Fullscreen.d.ts +1 -0
  310. package/dist/node/cli/display/components/Fullscreen.d.ts.map +1 -0
  311. package/dist/node/cli/display/components/LogEntries.d.ts +1 -0
  312. package/dist/node/cli/display/components/LogEntries.d.ts.map +1 -0
  313. package/dist/node/cli/display/components/MenuItem.d.ts +1 -0
  314. package/dist/node/cli/display/components/MenuItem.d.ts.map +1 -0
  315. package/dist/node/cli/display/components/TextInput.d.ts +1 -0
  316. package/dist/node/cli/display/components/TextInput.d.ts.map +1 -0
  317. package/dist/node/cli/display/hooks/useManifest.d.ts +1 -0
  318. package/dist/node/cli/display/hooks/useManifest.d.ts.map +1 -0
  319. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +1 -0
  320. package/dist/node/cli/display/hooks/useStatefulLog.d.ts.map +1 -0
  321. package/dist/node/cli/display/tools/BlockList.d.ts +1 -0
  322. package/dist/node/cli/display/tools/BlockList.d.ts.map +1 -0
  323. package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -0
  324. package/dist/node/cli/display/tools/CreateBlock.d.ts.map +1 -0
  325. package/dist/node/cli/display/tools/cli-tool-list.d.ts +1 -0
  326. package/dist/node/cli/display/tools/cli-tool-list.d.ts.map +1 -0
  327. package/dist/node/cli/display/tools/cli-tools.d.ts +1 -0
  328. package/dist/node/cli/display/tools/cli-tools.d.ts.map +1 -0
  329. package/dist/node/cli/display/util/colors.d.ts +1 -0
  330. package/dist/node/cli/display/util/colors.d.ts.map +1 -0
  331. package/dist/node/cli/version.d.ts +2 -1
  332. package/dist/node/cli/version.d.ts.map +1 -0
  333. package/dist/node/cli/version.js +1 -1
  334. package/dist/node/compiler/build-vinxi.d.ts +1 -0
  335. package/dist/node/compiler/build-vinxi.d.ts.map +1 -0
  336. package/dist/node/compiler/build-vinxi.js +2 -1
  337. package/dist/node/compiler/bundler.admin.d.ts +1 -0
  338. package/dist/node/compiler/bundler.admin.d.ts.map +1 -0
  339. package/dist/node/compiler/bundler.admin.js +1 -0
  340. package/dist/node/compiler/bundler.frontend.d.ts +2 -0
  341. package/dist/node/compiler/bundler.frontend.d.ts.map +1 -0
  342. package/dist/node/compiler/bundler.frontend.js +26 -11
  343. package/dist/node/compiler/dev-server.d.ts +1 -0
  344. package/dist/node/compiler/dev-server.d.ts.map +1 -0
  345. package/dist/node/compiler/dev-server.js +17 -1
  346. package/dist/node/compiler/get-vite-config.d.ts +12 -1
  347. package/dist/node/compiler/get-vite-config.d.ts.map +1 -0
  348. package/dist/node/compiler/get-vite-config.js +173 -42
  349. package/dist/node/compiler/vinxi-app.d.ts +13 -0
  350. package/dist/node/compiler/vinxi-app.d.ts.map +1 -0
  351. package/dist/node/compiler/vinxi-app.js +142 -32
  352. package/dist/node/compiler/vinxi-codegen.d.ts +1 -0
  353. package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -0
  354. package/dist/node/compiler/vinxi-codegen.js +366 -106
  355. package/dist/node/graphql/graphql-codegen.d.ts +12 -1
  356. package/dist/node/graphql/graphql-codegen.d.ts.map +1 -0
  357. package/dist/node/graphql/graphql-codegen.js +239 -37
  358. package/dist/node/graphql/graphql-schema-loader.d.ts +3 -1
  359. package/dist/node/graphql/graphql-schema-loader.d.ts.map +1 -0
  360. package/dist/node/graphql/graphql-schema-loader.js +5 -16
  361. package/dist/node/graphql/plugins/gql-plugin-files.d.ts +3 -1
  362. package/dist/node/graphql/plugins/gql-plugin-files.d.ts.map +1 -0
  363. package/dist/node/graphql/plugins/gql-plugin-files.js +3 -2
  364. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +1 -0
  365. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts.map +1 -0
  366. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +1 -0
  367. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts.map +1 -0
  368. package/dist/node/graphql/plugins/gql-plugin-queries.js +2 -2
  369. package/dist/node/graphql/query-files-loader.d.ts +4 -0
  370. package/dist/node/graphql/query-files-loader.d.ts.map +1 -0
  371. package/dist/node/graphql/query-files-loader.js +5 -0
  372. package/dist/node/graphql/wp-info-query.d.ts +1 -0
  373. package/dist/node/graphql/wp-info-query.d.ts.map +1 -0
  374. package/dist/node/project/config.d.ts +207 -73
  375. package/dist/node/project/config.d.ts.map +1 -0
  376. package/dist/node/project/config.js +94 -20
  377. package/dist/node/project/eddev-build-file.d.ts +1 -0
  378. package/dist/node/project/eddev-build-file.d.ts.map +1 -0
  379. package/dist/node/project/eddev-build-file.js +4 -2
  380. package/dist/node/project/env.d.ts +5 -0
  381. package/dist/node/project/env.d.ts.map +1 -0
  382. package/dist/node/project/env.js +1 -0
  383. package/dist/node/project/favicons.d.ts +1 -1
  384. package/dist/node/project/favicons.d.ts.map +1 -0
  385. package/dist/node/project/favicons.js +1 -1
  386. package/dist/node/project/manifest/block-manifest.d.ts +1 -0
  387. package/dist/node/project/manifest/block-manifest.d.ts.map +1 -0
  388. package/dist/node/project/manifest/block-manifest.js +6 -2
  389. package/dist/node/project/manifest/field-manifest.d.ts +1 -0
  390. package/dist/node/project/manifest/field-manifest.d.ts.map +1 -0
  391. package/dist/node/project/manifest/manifest.d.ts +2 -0
  392. package/dist/node/project/manifest/manifest.d.ts.map +1 -0
  393. package/dist/node/project/manifest/manifest.js +14 -10
  394. package/dist/node/project/manifest/routes-manifest.d.ts +21 -0
  395. package/dist/node/project/manifest/routes-manifest.d.ts.map +1 -0
  396. package/dist/node/project/manifest/routes-manifest.js +74 -0
  397. package/dist/node/project/manifest/view-manifest.d.ts +1 -0
  398. package/dist/node/project/manifest/view-manifest.d.ts.map +1 -0
  399. package/dist/node/project/manifest/widget-manifest.d.ts +1 -0
  400. package/dist/node/project/manifest/widget-manifest.d.ts.map +1 -0
  401. package/dist/node/project/project.d.ts +12 -0
  402. package/dist/node/project/project.d.ts.map +1 -0
  403. package/dist/node/project/project.js +57 -3
  404. package/dist/node/project/wp-info.d.ts +3 -0
  405. package/dist/node/project/wp-info.d.ts.map +1 -0
  406. package/dist/node/project/wp-info.js +13 -1
  407. package/dist/node/storybook/index.d.ts +3 -0
  408. package/dist/node/storybook/index.d.ts.map +1 -0
  409. package/dist/node/storybook/index.js +13 -0
  410. package/dist/node/types/block-type.d.ts +57 -25
  411. package/dist/node/types/block-type.d.ts.map +1 -0
  412. package/dist/node/types/block-type.js +4 -1
  413. package/dist/node/types/view-type.d.ts +8 -7
  414. package/dist/node/types/view-type.d.ts.map +1 -0
  415. package/dist/node/utils/fetch-wp.d.ts +2 -0
  416. package/dist/node/utils/fetch-wp.d.ts.map +1 -0
  417. package/dist/node/utils/fetch-wp.js +28 -0
  418. package/dist/node/utils/format-zod-error.d.ts +1 -0
  419. package/dist/node/utils/format-zod-error.d.ts.map +1 -0
  420. package/dist/node/utils/fs-codegen.d.ts +4 -0
  421. package/dist/node/utils/fs-codegen.d.ts.map +1 -0
  422. package/dist/node/utils/fs-codegen.js +10 -2
  423. package/dist/node/utils/fs.d.ts +5 -0
  424. package/dist/node/utils/fs.d.ts.map +1 -0
  425. package/dist/node/utils/get-repo-info.d.ts +1 -0
  426. package/dist/node/utils/get-repo-info.d.ts.map +1 -0
  427. package/dist/node/utils/helpers.d.ts +1 -0
  428. package/dist/node/utils/helpers.d.ts.map +1 -0
  429. package/dist/node/utils/highlight-code.d.ts +1 -0
  430. package/dist/node/utils/highlight-code.d.ts.map +1 -0
  431. package/dist/node/utils/is-deploying.d.ts +1 -0
  432. package/dist/node/utils/is-deploying.d.ts.map +1 -0
  433. package/dist/node/utils/is-deploying.js +1 -1
  434. package/dist/node/utils/report-builder.d.ts +7 -6
  435. package/dist/node/utils/report-builder.d.ts.map +1 -0
  436. package/dist/node/utils/self-signed-cert.d.ts +5 -0
  437. package/dist/node/utils/self-signed-cert.d.ts.map +1 -0
  438. package/dist/node/utils/self-signed-cert.js +28 -4
  439. package/dist/node/utils/stateful-log.d.ts +1 -0
  440. package/dist/node/utils/stateful-log.d.ts.map +1 -0
  441. package/dist/node/utils/stateful-log.js +2 -0
  442. package/dist/node/utils/ts-export-extractor.d.ts +1 -0
  443. package/dist/node/utils/ts-export-extractor.d.ts.map +1 -0
  444. package/dist/node/utils/watch-file-tree.d.ts +18 -3
  445. package/dist/node/utils/watch-file-tree.d.ts.map +1 -0
  446. package/dist/node/utils/watch-file-tree.js +12 -5
  447. package/package.json +42 -25
  448. package/tsconfig.app.json +10 -5
  449. package/tsconfig.node.json +3 -2
  450. package/types.app.d.ts +2 -0
  451. package/types.meta.d.ts +449 -136
  452. package/dist/app/lib/blocks/ErrorBoundaryFrontend.d.ts +0 -15
  453. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +0 -35
  454. package/dist/app/lib/hooks/apiConfig.js +0 -4
  455. package/dist/app/lib/hooks/usePageLoad.d.ts +0 -6
  456. package/dist/app/lib/hooks/usePageLoad.js +0 -5
@@ -5,3 +5,4 @@ export declare const blocksByTag: {
5
5
  add(block: string, tags: string[]): void;
6
6
  expand(blocks: string[]): string[];
7
7
  };
8
+ //# sourceMappingURL=blocks-by-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks-by-tag.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/blocks-by-tag.tsx"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,WAAW;eACX,MAAM,QAAQ,MAAM,EAAE;mBAYlB,MAAM,EAAE;CAuBxB,CAAA"}
@@ -8,3 +8,4 @@ import { PropsWithChildren } from "react";
8
8
  */
9
9
  export declare function InspectorControls(props: PropsWithChildren<{}>): import("react/jsx-runtime").JSX.Element | null;
10
10
  export declare function BlockControls(props: PropsWithChildren<{}>): import("react/jsx-runtime").JSX.Element | null;
11
+ //# sourceMappingURL=controls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/controls.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAEzC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,kDAK7D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,kDAKzD"}
@@ -0,0 +1,10 @@
1
+ import { BlockInstance } from "../inline-editing";
2
+ /**
3
+ * Creates a block instance for the editor. This doesn't add the block to the editor on it's own.
4
+ * @param name The name of the block
5
+ * @param attributes
6
+ * @param innerBlocks
7
+ * @returns
8
+ */
9
+ export declare function createBlock(name: ChildBlockTypeName, attributes?: Record<string, any>, innerBlocks?: BlockInstance[]): BlockInstance;
10
+ //# sourceMappingURL=create-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-block.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/create-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,kBAAkB,EACxB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EACpC,WAAW,GAAE,aAAa,EAAO,GAChC,aAAa,CAKf"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Creates a block instance for the editor. This doesn't add the block to the editor on it's own.
3
+ * @param name The name of the block
4
+ * @param attributes
5
+ * @param innerBlocks
6
+ * @returns
7
+ */
8
+ export function createBlock(name, attributes = {}, innerBlocks = []) {
9
+ if (!env.admin) {
10
+ throw new Error("`createBlock` can only be used in the admin environment");
11
+ }
12
+ return wp.blocks.createBlock(name, attributes, innerBlocks);
13
+ }
@@ -1,7 +1,20 @@
1
1
  import { BlockTemplate } from "./block-templates.js";
2
2
  export type EditorConfigItem = {
3
- /** Optionally indicate that the post title field should be hidden. Use then when your header template includes a post title editor already. */
3
+ /**
4
+ * Optionally indicate that the post title field should be hidden. Use then when your header template includes a post title editor already.
5
+ * @default false
6
+ **/
4
7
  hideTitle?: boolean;
8
+ /**
9
+ * Override the blocks which are allowed to be added to the root of this post-type/template combination.
10
+ *
11
+ * You can specify one or more block names, or block tags.
12
+ *
13
+ * The default is "root".
14
+ *
15
+ * @default ["root"]
16
+ **/
17
+ rootBlocks?: (ChildBlockTypeName | BlockTagName)[];
5
18
  /** Allows you to add additional class names to blocks, depending on their type and state */
6
19
  generateBlockClassName?: BlockWrapperClassGenerator;
7
20
  /** The default blocks to insert when there are no (non-templated) blocks */
@@ -13,29 +26,48 @@ export type EditorConfigItem = {
13
26
  /** A full-page block template */
14
27
  template?: BlockTemplate;
15
28
  };
16
- type BlockWrapperClassGenerator = (block: {
29
+ type EditorBlock = {
17
30
  name: string;
18
31
  slug: BlockTypeName | (string & {});
19
32
  attributes: any;
20
33
  clientId: string;
21
34
  rootClientId: string;
35
+ isRootBlock: string;
22
36
  canMove: boolean;
23
37
  canRemove: boolean;
24
38
  isSelected: boolean;
25
39
  isSelectionEnabled: boolean;
26
40
  tags?: DefinedBlockTags;
27
41
  flags?: DefinedBlockFlags;
28
- }, post: PostInfo) => string | void;
42
+ };
43
+ export type BlockWrapperClassGenerator = (block: EditorBlock, post: PostInfo) => string | void;
29
44
  export declare const editorConfigStore: {
30
45
  config: EditorConfig | null;
31
- currentBlocksConfig: EditorConfigItem | null;
46
+ currentBlocksConfig: EditorConfigItem;
32
47
  };
33
48
  export declare function configureEditorBlocks(config: EditorConfigItem): void;
34
- export declare function transformTemplateToBlocks(template: BlockTemplate, locked?: boolean): any;
35
49
  type PostInfo = {
36
- template: TemplateName | "default";
37
50
  type: PostTypeName;
51
+ isPattern: false;
52
+ isTemplatePart: false;
53
+ template: TemplateName | "default";
38
54
  slug: string;
55
+ parent: number;
56
+ title: string;
57
+ link: string;
58
+ } | {
59
+ type: "wp_block";
60
+ isPattern: true;
61
+ isTemplatePart: false;
62
+ title: string;
63
+ } | {
64
+ type: "wp_template_part";
65
+ isPattern: false;
66
+ isTemplatePart: true;
67
+ area: string;
68
+ title: string;
69
+ slug: string;
70
+ wp_pattern_category?: number[];
39
71
  };
40
72
  type MatcherFunction = (post: PostInfo) => boolean | void;
41
73
  type Matcher = {
@@ -44,9 +76,45 @@ type Matcher = {
44
76
  /** Configuration for the editor, when the post type and template match */
45
77
  config: EditorConfigItem | ((post: PostInfo) => EditorConfigItem);
46
78
  };
79
+ export type BlockTransform = {
80
+ from: ChildBlockTypeName[];
81
+ to: ChildBlockTypeName;
82
+ };
83
+ export type CustomRichTextFormat = {
84
+ /** The ID of the format, eg. `"custom/fancy"` */
85
+ id: string;
86
+ /** The title of the format, shown on the tooltip */
87
+ title: string;
88
+ /**
89
+ * The HTML tag name to use.
90
+ * @default `"span"`
91
+ **/
92
+ tagName?: string;
93
+ /**
94
+ * The class name to apply to the element.
95
+ * @default `undefined`
96
+ **/
97
+ className?: string;
98
+ /**
99
+ * The icon to use in the toolbar.
100
+ */
101
+ icon?: string;
102
+ /**
103
+ * Whether format makes content interactive or not.
104
+ * @default `false`
105
+ */
106
+ interactive?: boolean;
107
+ /**
108
+ * Whether to disable this format by default. If `true`, you must pass the format ID to `allowedFormats` on a `EditableText` component.
109
+ *
110
+ * @default `false`
111
+ */
112
+ disabledByDefault?: boolean;
113
+ };
47
114
  type EditorConfig = {
48
- /** A list of template/post type matchers, and the resulting editor config */
49
- matchers: Matcher[];
115
+ customRichTextFormats?: CustomRichTextFormat[];
116
+ /** A list of template/post type matchers, and resulting editor config that they will apply */
117
+ matchers?: Matcher[];
50
118
  };
51
119
  /**
52
120
  * This call should be placed in blocks/_editor.tsx
@@ -56,3 +124,4 @@ export declare function getEditingPostInfo(): PostInfo;
56
124
  export declare function updateTemplateConfig(): void;
57
125
  export declare function watchEditorTemplate(): void;
58
126
  export {};
127
+ //# sourceMappingURL=editor-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-config.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/editor-config.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { proxy } from "valtio";
2
- import { resolveAcfBlockName, transformBlockTemplate } from "./block-templates.js";
2
+ import { applyTemplateBlocks, resolveAcfBlockName, transformBlockTemplate, transformTemplateToBlocks, } from "./block-templates.js";
3
3
  export const editorConfigStore = proxy({
4
4
  config: null,
5
- currentBlocksConfig: null,
5
+ currentBlocksConfig: {},
6
6
  });
7
7
  export function configureEditorBlocks(config) {
8
8
  const wp = window.wp;
@@ -21,60 +21,13 @@ export function configureEditorBlocks(config) {
21
21
  if (config.template) {
22
22
  setTemplate(config.template);
23
23
  if (config.headerTemplate || config.footerTemplate) {
24
- console.error("You cannot use both a template and header/footer templates at the same time.");
24
+ console.error("You cannot use both a 'template' alongside 'headerBlock'/'footerBlock'. Did you mean to use 'defaultBlocks' instead?");
25
25
  return;
26
26
  }
27
27
  }
28
28
  const currentBlocks = wp.data.select("core/block-editor").getBlocks();
29
- const templateBlocks = currentBlocks.filter((block) => block.attributes.isFromTemplate);
30
- let blocks = currentBlocks.filter((block) => !block.attributes.isFromTemplate);
31
- let header = config.headerTemplate ? syncBlocks(transformTemplateToBlocks(config.headerTemplate)) : [];
32
- let footer = config.footerTemplate ? syncBlocks(transformTemplateToBlocks(config.footerTemplate)) : [];
33
- if (!blocks.length && config.defaultBlocks) {
34
- blocks = transformTemplateToBlocks(config.defaultBlocks, false);
35
- }
36
- let newBlocks = [...header, ...blocks, ...footer];
37
- // console.log("Configuring", newBlocks)
29
+ const newBlocks = applyTemplateBlocks(currentBlocks, config);
38
30
  wp.data.dispatch("core/block-editor").resetBlocks(newBlocks);
39
- function syncBlocks(blocks) {
40
- return blocks.map((block) => {
41
- const matched = templateBlocks.find((templateBlock) => templateBlock.name === block.name);
42
- templateBlocks.splice(templateBlocks.indexOf(matched), 1);
43
- if (matched) {
44
- matched.attributes.lock = block.attributes.lock;
45
- return matched;
46
- }
47
- return block;
48
- });
49
- }
50
- }
51
- export function transformTemplateToBlocks(template, locked = true) {
52
- return template.map(([name, props, children]) => {
53
- const attributes = {
54
- data: {},
55
- inline: {},
56
- isFromTemplate: true,
57
- lock: undefined,
58
- };
59
- if (props.locked === false) {
60
- attributes.lock = { move: false, remove: false };
61
- }
62
- else if (locked || props.locked === true || props.locked === "all") {
63
- attributes.lock = { move: true, remove: true };
64
- }
65
- else {
66
- attributes.lock = props.lock;
67
- }
68
- Object.assign(attributes, props);
69
- return {
70
- clientId: "block-" + Math.random().toString(36),
71
- name: resolveAcfBlockName(name),
72
- attributes: attributes,
73
- innerBlocks: children ? transformTemplateToBlocks(children, false) : [],
74
- isValid: true,
75
- validationIssues: [],
76
- };
77
- });
78
31
  }
79
32
  /**
80
33
  * This call should be placed in blocks/_editor.tsx
@@ -92,10 +45,18 @@ export function getEditingPostInfo() {
92
45
  const postInfo = {
93
46
  ...post,
94
47
  ...edits,
48
+ isTemplatePart: false,
49
+ isPattern: false,
95
50
  };
96
51
  if (!postInfo.template)
97
52
  postInfo.template = "default";
98
53
  postInfo.template = postInfo.template.replace(/(^views\/|\.tsx?$)/g, "");
54
+ if (postInfo.type === "wp_template_part") {
55
+ postInfo.isTemplatePart = true;
56
+ }
57
+ if (postInfo.type === "wp_block") {
58
+ postInfo.isPattern = true;
59
+ }
99
60
  return postInfo;
100
61
  }
101
62
  export function updateTemplateConfig() {
@@ -104,7 +65,7 @@ export function updateTemplateConfig() {
104
65
  const editorConfig = editorConfigStore.config;
105
66
  if (!editorConfig)
106
67
  return;
107
- const matched = editorConfig.matchers.find((matcher) => {
68
+ const matched = editorConfig.matchers?.find((matcher) => {
108
69
  return matcher.match(postInfo);
109
70
  });
110
71
  if (matched) {
@@ -118,17 +79,24 @@ export function updateTemplateConfig() {
118
79
  }
119
80
  }
120
81
  export function watchEditorTemplate() {
121
- let lastTemplate = "unknown";
122
- wp.data.subscribe(() => {
123
- setTimeout(() => {
124
- const post = wp.data.select("core/editor").getCurrentPost();
125
- let template = wp.data.select("core/editor").getPostEdits()?.template ?? post?.template ?? "";
126
- if (template !== lastTemplate) {
127
- lastTemplate = template;
82
+ let lastKey = "unknown";
83
+ let timer = 0;
84
+ const update = () => {
85
+ const post = wp.data.select("core/editor").getCurrentPost();
86
+ const template = wp.data.select("core/editor").getPostEdits()?.template ?? post?.template ?? "";
87
+ const key = [post.type, template, post.slug, post.title].join(";");
88
+ if (key !== lastKey) {
89
+ lastKey = key;
90
+ clearTimeout(timer);
91
+ timer = setTimeout(() => {
128
92
  updateTemplateConfig();
129
- }
130
- }, 10);
93
+ }, 20);
94
+ }
95
+ };
96
+ wp.data.subscribe(() => {
97
+ update();
131
98
  });
99
+ update();
132
100
  }
133
101
  function setWrapperBlock(blockName, blocks) {
134
102
  const wp = window.wp;
@@ -174,7 +142,6 @@ function setWrapperBlock(blockName, blocks) {
174
142
  }
175
143
  function setTemplate(template) {
176
144
  const wp = window.wp;
177
- // console.log("Setting template", template)
178
145
  let currentBlocks = wp.data.select("core/block-editor").getBlocks();
179
146
  wp.data.dispatch("core/block-editor").updateSettings({
180
147
  templateLock: "all",
@@ -1,2 +1,6 @@
1
+ export declare const blockMetaDescriptors: Map<string, BlockMeta> & {
2
+ $$valtioSnapshot: Omit<Map<string, BlockMeta>, "set" | "clear" | "delete">;
3
+ };
1
4
  export declare function whenEditorIsReady(): Promise<void>;
2
5
  export declare function installEDGutenbergHooks(): void;
6
+ //# sourceMappingURL=installGutenbergHooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installGutenbergHooks.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/installGutenbergHooks.tsx"],"names":[],"mappings":"AA4BA,eAAO,MAAM,oBAAoB;;CAAgC,CAAA;AAEjE,wBAAgB,iBAAiB,kBAsBhC;AAED,wBAAgB,uBAAuB,SA4OtC"}
@@ -1,11 +1,16 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect } from "react";
2
+ import { useEffect, useState } from "react";
3
+ import { subscribe, useSnapshot } from "valtio";
4
+ import { proxyMap } from "valtio/utils";
5
+ import { getBlockMetadata } from "../block-utils.js";
6
+ import { registerBuiltinBlocks } from "../builtin-blocks.js";
3
7
  import { InlineEditingContextProvider } from "../inline-editing.js";
8
+ import { EditorHighlights } from "./EditorHighlights.js";
4
9
  import { BlockContext, EditableBlock } from "./EditorSupport.js";
10
+ import { resolveAcfBlockName } from "./block-templates.js";
5
11
  import { blocksByTag } from "./blocks-by-tag.js";
6
12
  import { editorConfigStore, getEditingPostInfo, watchEditorTemplate } from "./editor-config.js";
7
- import { useSnapshot } from "valtio";
8
- import { getBlockMetadata } from "../block-utils.js";
13
+ import { rootBlocks } from "./root-blocks.js";
9
14
  function listenForHandleResize() {
10
15
  let interval = setInterval(() => {
11
16
  let viewportTarget = document.querySelector(".interface-interface-skeleton__content");
@@ -19,16 +24,28 @@ function listenForHandleResize() {
19
24
  }
20
25
  }, 100);
21
26
  }
27
+ export const blockMetaDescriptors = proxyMap();
22
28
  export function whenEditorIsReady() {
23
29
  return new Promise((resolve) => {
30
+ let ready = false;
24
31
  const unsubscribe = wp.data.subscribe(() => {
25
32
  // This will trigger after the initial render blocking, before the window load event
26
33
  // This seems currently more reliable than using __unstableIsEditorReady
27
- if (wp.data.select("core/editor").isCleanNewPost() || wp.data.select("core/block-editor").getBlockCount() > 0) {
34
+ if (wp.data.select("core/editor").isCleanNewPost(undefined) ||
35
+ wp.data.select("core/block-editor").getBlockCount() > 0) {
36
+ if (ready)
37
+ return;
38
+ ready = true;
28
39
  unsubscribe();
29
40
  resolve();
30
41
  }
31
42
  });
43
+ setTimeout(() => {
44
+ if (ready)
45
+ return;
46
+ unsubscribe();
47
+ resolve();
48
+ }, 1000);
32
49
  });
33
50
  }
34
51
  export function installEDGutenbergHooks() {
@@ -40,19 +57,66 @@ export function installEDGutenbergHooks() {
40
57
  return (props) => {
41
58
  const generateClass = useSnapshot(editorConfigStore).currentBlocksConfig?.generateBlockClassName;
42
59
  Object.assign(props, getBlockMetadata(props.name));
60
+ props.isRootBlock = !props.rootClientId;
43
61
  let className = generateClass ? generateClass(props, getEditingPostInfo()) : "";
44
62
  return _jsx(BlockListBlock, { ...props, className: className });
45
63
  };
46
64
  }, "withClientIdClassName");
47
65
  wp.hooks.addFilter("editor.BlockListBlock", "ed", withClientIdClassName);
66
+ // if (wp.blocks) {
67
+ // }
68
+ // Manage custom rich text formats
69
+ setTimeout(() => {
70
+ subscribe(editorConfigStore, () => {
71
+ const formats = editorConfigStore.config?.customRichTextFormats;
72
+ if (formats) {
73
+ const activeFormats = wp.data.select("core/rich-text").getFormatTypes();
74
+ formats.forEach((format) => {
75
+ if (activeFormats.some((f) => f.name === format.id)) {
76
+ wp.richText.unregisterFormatType(format.id);
77
+ }
78
+ const EditComponent = (props) => {
79
+ if (format.disabledByDefault) {
80
+ const explicitlyEnabled = props.contentRef.current
81
+ ?.getAttribute("data-allowed-formats")
82
+ ?.includes(format.id);
83
+ if (!explicitlyEnabled) {
84
+ return null;
85
+ }
86
+ }
87
+ return (_jsx(wp.components.Fill, { name: "BlockFormatControls", children: _jsx(wp.components.ToolbarButton, { icon: format.icon, title: format.title, onClick: () => {
88
+ props.onChange(wp.richText.toggleFormat(props.value, {
89
+ type: format.id,
90
+ }));
91
+ }, isActive: props.isActive }) }));
92
+ };
93
+ wp.richText.registerFormatType(format.id, {
94
+ name: format.id,
95
+ title: format.title,
96
+ tagName: format.tagName ?? "span",
97
+ className: format.className,
98
+ interactive: false,
99
+ edit: EditComponent,
100
+ // @ts-ignore
101
+ disabledByDefault: format.disabledByDefault,
102
+ });
103
+ });
104
+ }
105
+ });
106
+ });
48
107
  listenForHandleResize();
49
108
  // Remove unwanted formatting options
50
109
  // https://developer.wordpress.org/block-editor/how-to-guides/format-api/
51
- wp.richText.unregisterFormatType("core/image");
52
- wp.richText.unregisterFormatType("core/language");
53
- wp.richText.unregisterFormatType("core/keyboard");
54
- wp.richText.unregisterFormatType("core/text-color");
55
- whenEditorIsReady().then(() => watchEditorTemplate());
110
+ const { removeFormatTypes } = wp.data.dispatch("core/rich-text");
111
+ removeFormatTypes("core/image");
112
+ removeFormatTypes("core/language");
113
+ removeFormatTypes("core/keyboard");
114
+ removeFormatTypes("core/text-color");
115
+ whenEditorIsReady().then(() => {
116
+ watchEditorTemplate();
117
+ });
118
+ // Recalculate registered blocks when rootBlocks change
119
+ rootBlocks.listen();
56
120
  wp.hooks.addFilter("blocks.registerBlockType", "ed", (item, name) => {
57
121
  // Hook into ACF blocks, customising the edit mode.
58
122
  if (name.startsWith("acf/")) {
@@ -63,6 +127,13 @@ export function installEDGutenbergHooks() {
63
127
  };
64
128
  // Add an 'inline' object attribute, which will hold all inline contents
65
129
  item.attributes.inline = { type: "object" };
130
+ item.attributes.values = { type: "object" };
131
+ // Add className support to all ACF blocks
132
+ const defaultStyleName = item.styles?.find((s) => s.isDefault)?.name;
133
+ item.attributes.className = {
134
+ type: "string",
135
+ default: item.attributes?.className?.default ?? (defaultStyleName ? "is-style-" + defaultStyleName : undefined),
136
+ };
66
137
  item.attributes.isFromTemplate = { type: "boolean" };
67
138
  item.supports.customClassName = false;
68
139
  item.edit = function (props) {
@@ -71,17 +142,34 @@ export function installEDGutenbergHooks() {
71
142
  ;
72
143
  wp.data.dispatch("core/block-editor").setTemplateValidity(true);
73
144
  }, []);
74
- const children = wp.data.useSelect((select) => {
75
- const { getBlock, getBlockOrder } = select("core/block-editor");
145
+ function getIndex() {
146
+ const { getBlockIndex } = wp.data.select("core/block-editor");
147
+ return getBlockIndex(props.clientId);
148
+ }
149
+ function getChildren() {
150
+ const { getBlock, getBlockOrder } = wp.data.select("core/block-editor");
76
151
  const innerBlockIDs = getBlockOrder(props.clientId);
77
152
  const children = innerBlockIDs.map((id) => {
78
153
  return getBlock(id);
79
154
  });
80
155
  return children;
81
- }, []);
82
- return (_jsx(BlockContext.Provider, { value: { name, props }, children: _jsx(InlineEditingContextProvider, { values: props.attributes.inline || {}, innerBlocks: children, block: [name, props], index: -1, onChange: (attrs) => {
156
+ }
157
+ const [index, setIndex] = useState(getIndex);
158
+ const [children, setChildren] = useState(getChildren);
159
+ useEffect(() => {
160
+ return wp.data.subscribe(() => {
161
+ setIndex(getIndex());
162
+ const children = getChildren();
163
+ setChildren((current) => current.length === children.length
164
+ ? current.every((item, i) => item === children[i])
165
+ ? current
166
+ : children
167
+ : children);
168
+ }, []);
169
+ }, [props.clientId, props.attributes]);
170
+ 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
171
  props.setAttributes({ ...props.attributes, inline: attrs });
84
- }, insertBlocksAfter: props.insertBlocksAfter, children: edit.call(self, props) }) }));
172
+ }, insertBlocksAfter: props.insertBlocksAfter, children: _jsx(EditorHighlights, { enabled: true, clientId: props.clientId, children: edit.call(self, props) }) }) }));
85
173
  };
86
174
  }
87
175
  // Find PHP-defined 'tags' for core blocks.
@@ -99,24 +187,41 @@ export function installEDGutenbergHooks() {
99
187
  item.tags = [];
100
188
  }
101
189
  blocksByTag.add(item.name, item.tags);
190
+ const isRootBlock = rootBlocks.isRootBlock(name, item.tags);
102
191
  return {
103
192
  ...item,
104
193
  get parent() {
105
- return blocksByTag.expand([
106
- ...(item.parent ?? []),
107
- ...(item.tags.includes("root") ? ["core/post-content"] : []),
108
- ]);
194
+ if (name === "core/block" || name === "core/slot-group")
195
+ return undefined;
196
+ return blocksByTag.expand([...(item.parent ?? []), ...(isRootBlock ? ["core/post-content"] : [])]);
197
+ },
198
+ get transforms() {
199
+ const result = {
200
+ from: item.transforms?.from ?? [],
201
+ to: item.transforms?.to ?? [],
202
+ ungroup: item.transforms?.ungroup,
203
+ };
204
+ const meta = blockMetaDescriptors.get(resolveAcfBlockName(name, false));
205
+ if (meta?.transforms) {
206
+ result.from = [...(result.from ?? []), ...(meta.transforms.from ?? [])];
207
+ result.to = [...(result.to ?? []), ...(meta.transforms.to ?? [])];
208
+ }
209
+ return result;
109
210
  },
110
211
  get ancestor() {
212
+ if (name === "core/block" || name === "core/slot-group")
213
+ return undefined;
111
214
  return item.ancestor ? blocksByTag.expand(item.ancestor) : undefined;
112
215
  },
113
216
  get allowedBlocks() {
114
- return item.allowedBlocks ? blocksByTag.expand(item.allowedBlocks) : undefined;
217
+ return item.allowedBlocks ? [...blocksByTag.expand(item.allowedBlocks), "core/slot-group"] : undefined;
115
218
  },
116
219
  };
117
220
  });
221
+ if (wp.blocks) {
222
+ registerBuiltinBlocks();
223
+ }
118
224
  const acf = "acf" in window ? window.acf : {};
119
- const parseJSX = acf.parseJSX;
120
225
  acf.parseJSX = (html) => {
121
226
  let payload;
122
227
  try {
@@ -126,6 +231,6 @@ export function installEDGutenbergHooks() {
126
231
  console.error(err);
127
232
  throw new Error("eddev: Error parsing block data from: \n" + html);
128
233
  }
129
- return _jsx(EditableBlock, { payload: payload });
234
+ return _jsx(EditableBlock, { payload: payload ?? {} });
130
235
  };
131
236
  }
@@ -0,0 +1,7 @@
1
+ export declare const rootBlocks: {
2
+ listen(): void;
3
+ update(): void;
4
+ getRootBlocks(): Set<string>;
5
+ isRootBlock(blockName: string, tags?: string[]): boolean | undefined;
6
+ };
7
+ //# sourceMappingURL=root-blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-blocks.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/root-blocks.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,UAAU;;;;2BAoBE,MAAM,SAAS,MAAM,EAAE;CAG/C,CAAA"}
@@ -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
+ };
@@ -14,7 +14,17 @@ export declare function usePostEditor(): {
14
14
  *
15
15
  * @returns [title, setTitle]
16
16
  */
17
- export declare function usePostTitleEditor(title?: string): InlineValueStore<string>;
17
+ export declare function usePostTitleEditor(value?: string): InlineValueStore<string>;
18
+ /**
19
+ * Returns the current post excerpt, allowing it to be updated.
20
+ *
21
+ * NOTE: This only works in the editor.
22
+ *
23
+ * For convenience, you can pass in a default title to use when not in the editor, which you can fetch via GraphQL
24
+ *
25
+ * @returns [title, setTitle]
26
+ */
27
+ export declare function usePostExcerptEditor(value?: string): InlineValueStore<string>;
18
28
  /**
19
29
  * Returns a post meta value, allowing it to be updated.
20
30
  *
@@ -25,3 +35,4 @@ export declare function usePostTitleEditor(title?: string): InlineValueStore<str
25
35
  * @returns [value, setValue]
26
36
  */
27
37
  export declare function usePostMetaEditor<K extends keyof PostMetaTypes>(key: K, value?: PostMetaTypes[K]): InlineValueStore<PostMetaTypes[K]>;
38
+ //# sourceMappingURL=usePostEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePostEditor.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/usePostEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,wBAAgB,aAAa;;uBAgBN,GAAG;;;EAMzB;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAEvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,SAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,aAAa,EAC7D,GAAG,EAAE,CAAC,EACN,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GACvB,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAmBpC"}