eddev 2.0.0-beta.14 → 2.0.0-beta.140

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 (441) 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 +8 -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 +4 -4
  21. package/dist/app/entry/ssr-root.d.ts.map +1 -0
  22. package/dist/app/entry/ssr-root.js +19 -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 +4 -3
  38. package/dist/app/lib/blocks/EditableText.d.ts +15 -1
  39. package/dist/app/lib/blocks/EditableText.d.ts.map +1 -0
  40. package/dist/app/lib/blocks/EditableText.js +10 -3
  41. package/dist/app/lib/blocks/InnerBlocks.d.ts +20 -5
  42. package/dist/app/lib/blocks/InnerBlocks.d.ts.map +1 -0
  43. package/dist/app/lib/blocks/InnerBlocks.js +72 -25
  44. package/dist/app/lib/blocks/block-utils.d.ts +2 -1
  45. package/dist/app/lib/blocks/block-utils.d.ts.map +1 -0
  46. package/dist/app/lib/blocks/block-utils.js +1 -1
  47. package/dist/app/lib/blocks/defineBlock.d.ts +4 -0
  48. package/dist/app/lib/blocks/defineBlock.d.ts.map +1 -0
  49. package/dist/app/lib/blocks/defineBlock.js +9 -0
  50. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts +8 -0
  51. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts.map +1 -0
  52. package/dist/app/lib/blocks/editor/EditorHighlights.js +164 -0
  53. package/dist/app/lib/blocks/editor/EditorSupport.d.ts +1 -0
  54. package/dist/app/lib/blocks/editor/EditorSupport.d.ts.map +1 -0
  55. package/dist/app/lib/blocks/editor/EditorSupport.js +15 -10
  56. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts +2 -1
  57. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts.map +1 -0
  58. package/dist/app/lib/blocks/editor/block-templates.d.ts +7 -0
  59. package/dist/app/lib/blocks/editor/block-templates.d.ts.map +1 -0
  60. package/dist/app/lib/blocks/editor/block-templates.js +64 -0
  61. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +1 -0
  62. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts.map +1 -0
  63. package/dist/app/lib/blocks/editor/controls.d.ts +1 -0
  64. package/dist/app/lib/blocks/editor/controls.d.ts.map +1 -0
  65. package/dist/app/lib/blocks/editor/create-block.d.ts +10 -0
  66. package/dist/app/lib/blocks/editor/create-block.d.ts.map +1 -0
  67. package/dist/app/lib/blocks/editor/create-block.js +13 -0
  68. package/dist/app/lib/blocks/editor/editor-config.d.ts +70 -6
  69. package/dist/app/lib/blocks/editor/editor-config.d.ts.map +1 -0
  70. package/dist/app/lib/blocks/editor/editor-config.js +29 -62
  71. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +4 -0
  72. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts.map +1 -0
  73. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +92 -14
  74. package/dist/app/lib/blocks/editor/root-blocks.d.ts +7 -0
  75. package/dist/app/lib/blocks/editor/root-blocks.d.ts.map +1 -0
  76. package/dist/app/lib/blocks/editor/root-blocks.js +30 -0
  77. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +12 -1
  78. package/dist/app/lib/blocks/editor/usePostEditor.d.ts.map +1 -0
  79. package/dist/app/lib/blocks/editor/usePostEditor.js +28 -13
  80. package/dist/app/lib/blocks/index.d.ts +6 -4
  81. package/dist/app/lib/blocks/index.d.ts.map +1 -0
  82. package/dist/app/lib/blocks/index.js +5 -4
  83. package/dist/app/lib/blocks/inline-editing.d.ts +10 -0
  84. package/dist/app/lib/blocks/inline-editing.d.ts.map +1 -0
  85. package/dist/app/lib/blocks/inline-editing.js +13 -3
  86. package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts +1 -0
  87. package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts.map +1 -0
  88. package/dist/app/lib/devtools/components/BreakpointIndicator.js +2 -2
  89. package/dist/app/lib/devtools/components/DevUI.d.ts +1 -0
  90. package/dist/app/lib/devtools/components/DevUI.d.ts.map +1 -0
  91. package/dist/app/lib/devtools/components/DevUI.js +3 -2
  92. package/dist/app/lib/devtools/components/GridIndicator.d.ts +2 -0
  93. package/dist/app/lib/devtools/components/GridIndicator.d.ts.map +1 -0
  94. package/dist/app/lib/devtools/components/GridIndicator.js +29 -0
  95. package/dist/app/lib/devtools/dev-tools-store.d.ts +1 -0
  96. package/dist/app/lib/devtools/dev-tools-store.d.ts.map +1 -0
  97. package/dist/app/lib/devtools/hooks/usePersistState.d.ts +2 -1
  98. package/dist/app/lib/devtools/hooks/usePersistState.d.ts.map +1 -0
  99. package/dist/app/lib/devtools/hooks/usePersistState.js +11 -2
  100. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +1376 -331
  101. package/dist/app/lib/devtools/hooks/useTailwind.d.ts.map +1 -0
  102. package/dist/app/lib/devtools/index.d.ts +1 -0
  103. package/dist/app/lib/devtools/index.d.ts.map +1 -0
  104. package/dist/app/lib/devtools/loader.d.ts +1 -0
  105. package/dist/app/lib/devtools/loader.d.ts.map +1 -0
  106. package/dist/app/lib/devtools/loader.js +7 -6
  107. package/dist/app/lib/devtools/tailwind.config.d.ts +1 -0
  108. package/dist/app/lib/devtools/tailwind.config.d.ts.map +1 -0
  109. package/dist/app/lib/devtools/useQueryDebug.d.ts +8 -1
  110. package/dist/app/lib/devtools/useQueryDebug.d.ts.map +1 -0
  111. package/dist/app/lib/devtools/useQueryDebug.js +5 -8
  112. package/dist/app/lib/dynamic/dynamic.d.ts +2 -1
  113. package/dist/app/lib/dynamic/dynamic.d.ts.map +1 -0
  114. package/dist/app/lib/dynamic/dynamic.js +5 -1
  115. package/dist/app/lib/dynamic/index.d.ts +1 -0
  116. package/dist/app/lib/dynamic/index.d.ts.map +1 -0
  117. package/dist/app/lib/hooks/index.d.ts +2 -2
  118. package/dist/app/lib/hooks/index.d.ts.map +1 -0
  119. package/dist/app/lib/hooks/index.js +1 -2
  120. package/dist/app/lib/hooks/queryUtils.d.ts +38 -2
  121. package/dist/app/lib/hooks/queryUtils.d.ts.map +1 -0
  122. package/dist/app/lib/hooks/queryUtils.js +73 -24
  123. package/dist/app/lib/hooks/useAppData.d.ts +1 -0
  124. package/dist/app/lib/hooks/useAppData.d.ts.map +1 -0
  125. package/dist/app/lib/hooks/useAppData.js +12 -1
  126. package/dist/app/lib/hooks/useRPC.d.ts +1 -4
  127. package/dist/app/lib/hooks/useRPC.d.ts.map +1 -0
  128. package/dist/app/lib/hooks/useRPC.js +1 -8
  129. package/dist/app/lib/integrations/gravityforms/index.d.ts +3 -0
  130. package/dist/app/lib/integrations/gravityforms/index.d.ts.map +1 -0
  131. package/dist/app/lib/integrations/gravityforms/index.js +2 -0
  132. package/dist/app/lib/integrations/gravityforms/types.d.ts +141 -0
  133. package/dist/app/lib/integrations/gravityforms/types.d.ts.map +1 -0
  134. package/dist/app/lib/integrations/gravityforms/types.js +1 -0
  135. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts +31 -0
  136. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts.map +1 -0
  137. package/dist/app/lib/integrations/gravityforms/useGravityForm.js +285 -0
  138. package/dist/app/lib/internal/finalize-rpc.d.ts +18 -0
  139. package/dist/app/lib/internal/finalize-rpc.d.ts.map +1 -0
  140. package/dist/app/lib/internal/finalize-rpc.js +3 -0
  141. package/dist/app/lib/internal/index.d.ts +2 -0
  142. package/dist/app/lib/internal/index.d.ts.map +1 -0
  143. package/dist/app/lib/internal/index.js +1 -0
  144. package/dist/app/lib/internal/internal-store.d.ts +1 -0
  145. package/dist/app/lib/internal/internal-store.d.ts.map +1 -0
  146. package/dist/app/lib/internal/read-admin-manifest.d.ts +1 -0
  147. package/dist/app/lib/internal/read-admin-manifest.d.ts.map +1 -0
  148. package/dist/app/lib/internal/read-block-manifest.d.ts +1 -0
  149. package/dist/app/lib/internal/read-block-manifest.d.ts.map +1 -0
  150. package/dist/app/lib/internal/read-view-manifest.d.ts +1 -0
  151. package/dist/app/lib/internal/read-view-manifest.d.ts.map +1 -0
  152. package/dist/app/lib/legacy-stitches/createStitches.d.ts +510 -1
  153. package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +1 -0
  154. package/dist/app/lib/legacy-stitches/createStitches.js +1 -1
  155. package/dist/app/lib/legacy-stitches/index.d.ts +1 -0
  156. package/dist/app/lib/legacy-stitches/index.d.ts.map +1 -0
  157. package/dist/app/lib/routing/components/BackButton.d.ts +50 -0
  158. package/dist/app/lib/routing/components/BackButton.d.ts.map +1 -0
  159. package/dist/app/lib/routing/components/BackButton.js +47 -0
  160. package/dist/app/lib/routing/components/BrowserRouter.d.ts +6 -1
  161. package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -0
  162. package/dist/app/lib/routing/components/BrowserRouter.js +96 -17
  163. package/dist/app/lib/routing/components/ClientOnly.d.ts +2 -1
  164. package/dist/app/lib/routing/components/ClientOnly.d.ts.map +1 -0
  165. package/dist/app/lib/routing/components/ClientOnly.js +1 -1
  166. package/dist/app/lib/routing/components/Link.d.ts +2 -0
  167. package/dist/app/lib/routing/components/Link.d.ts.map +1 -0
  168. package/dist/app/lib/routing/components/Link.js +11 -9
  169. package/dist/app/lib/routing/components/RouteRenderer.d.ts +1 -0
  170. package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -0
  171. package/dist/app/lib/routing/components/RouteRenderer.js +4 -3
  172. package/dist/app/lib/routing/components/SSRRouter.d.ts +1 -0
  173. package/dist/app/lib/routing/components/SSRRouter.d.ts.map +1 -0
  174. package/dist/app/lib/routing/components/SSRRouter.js +1 -2
  175. package/dist/app/lib/routing/components/ScrollRestoration.d.ts +1 -0
  176. package/dist/app/lib/routing/components/ScrollRestoration.d.ts.map +1 -0
  177. package/dist/app/lib/routing/components/ScrollRestoration.js +4 -1
  178. package/dist/app/lib/routing/context.d.ts +6 -1
  179. package/dist/app/lib/routing/context.d.ts.map +1 -0
  180. package/dist/app/lib/routing/context.js +12 -0
  181. package/dist/app/lib/routing/hooks/useIsSSR.d.ts +1 -0
  182. package/dist/app/lib/routing/hooks/useIsSSR.d.ts.map +1 -0
  183. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +3 -1
  184. package/dist/app/lib/routing/hooks/useRestorableState.d.ts.map +1 -0
  185. package/dist/app/lib/routing/hooks/useRestorableState.js +2 -1
  186. package/dist/app/lib/routing/hooks/useRoute.d.ts +17 -1
  187. package/dist/app/lib/routing/hooks/useRoute.d.ts.map +1 -0
  188. package/dist/app/lib/routing/hooks/useRoute.js +21 -0
  189. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts +6 -0
  190. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts.map +1 -0
  191. package/dist/app/lib/routing/hooks/useRouteMeta.js +9 -0
  192. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +1 -0
  193. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts.map +1 -0
  194. package/dist/app/lib/routing/hooks/useRouter.d.ts +1 -0
  195. package/dist/app/lib/routing/hooks/useRouter.d.ts.map +1 -0
  196. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +1 -0
  197. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts.map +1 -0
  198. package/dist/app/lib/routing/hooks/useRouterState.d.ts +1 -0
  199. package/dist/app/lib/routing/hooks/useRouterState.d.ts.map +1 -0
  200. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +76 -4
  201. package/dist/app/lib/routing/hooks/useSearchParams.d.ts.map +1 -0
  202. package/dist/app/lib/routing/hooks/useSearchParams.js +70 -11
  203. package/dist/app/lib/routing/index.d.ts +2 -0
  204. package/dist/app/lib/routing/index.d.ts.map +1 -0
  205. package/dist/app/lib/routing/index.js +1 -0
  206. package/dist/app/lib/routing/loader.d.ts +1 -0
  207. package/dist/app/lib/routing/loader.d.ts.map +1 -0
  208. package/dist/app/lib/routing/loader.js +19 -10
  209. package/dist/app/lib/routing/types.d.ts +49 -8
  210. package/dist/app/lib/routing/types.d.ts.map +1 -0
  211. package/dist/app/lib/routing/utils.d.ts +6 -2
  212. package/dist/app/lib/routing/utils.d.ts.map +1 -0
  213. package/dist/app/lib/routing/utils.js +36 -3
  214. package/dist/app/lib/{hooks → runtime}/apiConfig.d.ts +7 -2
  215. package/dist/app/lib/runtime/apiConfig.d.ts.map +1 -0
  216. package/dist/app/lib/runtime/apiConfig.js +6 -0
  217. package/dist/app/lib/runtime/errorHandling.d.ts +40 -0
  218. package/dist/app/lib/runtime/errorHandling.d.ts.map +1 -0
  219. package/dist/app/lib/runtime/errorHandling.js +6 -0
  220. package/dist/app/lib/runtime/index.d.ts +3 -0
  221. package/dist/app/lib/runtime/index.d.ts.map +1 -0
  222. package/dist/app/lib/runtime/index.js +2 -0
  223. package/dist/app/lib/views/defineView.d.ts +2 -1
  224. package/dist/app/lib/views/defineView.d.ts.map +1 -0
  225. package/dist/app/lib/views/index.d.ts +1 -0
  226. package/dist/app/lib/views/index.d.ts.map +1 -0
  227. package/dist/app/server/index.d.ts +2 -0
  228. package/dist/app/server/index.d.ts.map +1 -0
  229. package/dist/app/server/index.js +1 -0
  230. package/dist/app/server/proxy-wp-admin.d.ts +2 -2
  231. package/dist/app/server/proxy-wp-admin.d.ts.map +1 -0
  232. package/dist/app/server/proxy-wp-admin.js +43 -14
  233. package/dist/app/server/render-ssr-page.d.ts +27 -2
  234. package/dist/app/server/render-ssr-page.d.ts.map +1 -0
  235. package/dist/app/server/render-ssr-page.js +212 -12
  236. package/dist/app/server/rpc.d.ts +49 -0
  237. package/dist/app/server/rpc.d.ts.map +1 -0
  238. package/dist/app/server/rpc.js +18 -0
  239. package/dist/app/server/server-context.d.ts +45 -4
  240. package/dist/app/server/server-context.d.ts.map +1 -0
  241. package/dist/app/server/server-context.js +329 -33
  242. package/dist/app/server/utils/headers.d.ts +1 -0
  243. package/dist/app/server/utils/headers.d.ts.map +1 -0
  244. package/dist/app/server/utils/replace-host.d.ts +2 -1
  245. package/dist/app/server/utils/replace-host.d.ts.map +1 -0
  246. package/dist/app/server/utils/replace-host.js +10 -2
  247. package/dist/app/server/utils/swr-cache.d.ts +5 -0
  248. package/dist/app/server/utils/swr-cache.d.ts.map +1 -0
  249. package/dist/app/server/utils/swr-cache.js +31 -0
  250. package/dist/app/utils/APIProvider.d.ts +3 -0
  251. package/dist/app/utils/APIProvider.d.ts.map +1 -0
  252. package/dist/app/utils/APIProvider.js +5 -0
  253. package/dist/app/utils/BlockErrorBoundary.d.ts +20 -0
  254. package/dist/app/utils/BlockErrorBoundary.d.ts.map +1 -0
  255. package/dist/app/utils/BlockErrorBoundary.js +38 -0
  256. package/dist/app/utils/ErrorMessage.d.ts +6 -0
  257. package/dist/app/utils/ErrorMessage.d.ts.map +1 -0
  258. package/dist/app/utils/ErrorMessage.js +14 -0
  259. package/dist/app/utils/RouteErrorBoundary.d.ts +19 -0
  260. package/dist/app/utils/RouteErrorBoundary.d.ts.map +1 -0
  261. package/dist/app/utils/RouteErrorBoundary.js +38 -0
  262. package/dist/app/utils/asset-capture.d.ts +3 -0
  263. package/dist/app/utils/asset-capture.d.ts.map +1 -0
  264. package/dist/app/utils/asset-capture.js +5 -0
  265. package/dist/app/utils/hydration-debugger.d.ts +14 -0
  266. package/dist/app/utils/hydration-debugger.d.ts.map +1 -0
  267. package/dist/app/utils/hydration-debugger.js +11 -0
  268. package/dist/app/utils/query-client.d.ts +3 -0
  269. package/dist/app/utils/query-client.d.ts.map +1 -0
  270. package/dist/app/utils/query-client.js +5 -1
  271. package/dist/app/utils/query-monitor.d.ts +27 -0
  272. package/dist/app/utils/query-monitor.d.ts.map +1 -0
  273. package/dist/app/utils/query-monitor.js +7 -0
  274. package/dist/app/utils/trpc-client.d.ts +3 -0
  275. package/dist/app/utils/trpc-client.d.ts.map +1 -0
  276. package/dist/app/utils/trpc-client.js +39 -0
  277. package/dist/app/utils/wp.d.ts +11 -10
  278. package/dist/app/utils/wp.d.ts.map +1 -0
  279. package/dist/node/cli/cli-mode.d.ts +1 -0
  280. package/dist/node/cli/cli-mode.d.ts.map +1 -0
  281. package/dist/node/cli/cli-worker.d.ts +1 -0
  282. package/dist/node/cli/cli-worker.d.ts.map +1 -0
  283. package/dist/node/cli/cli-worker.js +11 -5
  284. package/dist/node/cli/cli.d.ts +1 -0
  285. package/dist/node/cli/cli.d.ts.map +1 -0
  286. package/dist/node/cli/cli.js +85 -11
  287. package/dist/node/cli/display/CLIApp.d.ts +1 -0
  288. package/dist/node/cli/display/CLIApp.d.ts.map +1 -0
  289. package/dist/node/cli/display/CLIApp.js +3 -6
  290. package/dist/node/cli/display/boot-cli-app.d.ts +1 -0
  291. package/dist/node/cli/display/boot-cli-app.d.ts.map +1 -0
  292. package/dist/node/cli/display/boot-cli-app.js +1 -1
  293. package/dist/node/cli/display/components/Fullscreen.d.ts +1 -0
  294. package/dist/node/cli/display/components/Fullscreen.d.ts.map +1 -0
  295. package/dist/node/cli/display/components/LogEntries.d.ts +1 -0
  296. package/dist/node/cli/display/components/LogEntries.d.ts.map +1 -0
  297. package/dist/node/cli/display/components/MenuItem.d.ts +1 -0
  298. package/dist/node/cli/display/components/MenuItem.d.ts.map +1 -0
  299. package/dist/node/cli/display/components/TextInput.d.ts +1 -0
  300. package/dist/node/cli/display/components/TextInput.d.ts.map +1 -0
  301. package/dist/node/cli/display/hooks/useManifest.d.ts +1 -0
  302. package/dist/node/cli/display/hooks/useManifest.d.ts.map +1 -0
  303. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +1 -0
  304. package/dist/node/cli/display/hooks/useStatefulLog.d.ts.map +1 -0
  305. package/dist/node/cli/display/tools/BlockList.d.ts +1 -0
  306. package/dist/node/cli/display/tools/BlockList.d.ts.map +1 -0
  307. package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -0
  308. package/dist/node/cli/display/tools/CreateBlock.d.ts.map +1 -0
  309. package/dist/node/cli/display/tools/cli-tool-list.d.ts +1 -0
  310. package/dist/node/cli/display/tools/cli-tool-list.d.ts.map +1 -0
  311. package/dist/node/cli/display/tools/cli-tools.d.ts +2 -1
  312. package/dist/node/cli/display/tools/cli-tools.d.ts.map +1 -0
  313. package/dist/node/cli/display/util/colors.d.ts +1 -0
  314. package/dist/node/cli/display/util/colors.d.ts.map +1 -0
  315. package/dist/node/cli/version.d.ts +2 -1
  316. package/dist/node/cli/version.d.ts.map +1 -0
  317. package/dist/node/cli/version.js +1 -1
  318. package/dist/node/compiler/build-vinxi.d.ts +1 -0
  319. package/dist/node/compiler/build-vinxi.d.ts.map +1 -0
  320. package/dist/node/compiler/build-vinxi.js +2 -1
  321. package/dist/node/compiler/bundler.admin.d.ts +2 -1
  322. package/dist/node/compiler/bundler.admin.d.ts.map +1 -0
  323. package/dist/node/compiler/bundler.admin.js +1 -1
  324. package/dist/node/compiler/bundler.frontend.d.ts +1 -0
  325. package/dist/node/compiler/bundler.frontend.d.ts.map +1 -0
  326. package/dist/node/compiler/bundler.frontend.js +1 -1
  327. package/dist/node/compiler/dev-server.d.ts +1 -0
  328. package/dist/node/compiler/dev-server.d.ts.map +1 -0
  329. package/dist/node/compiler/dev-server.js +11 -0
  330. package/dist/node/compiler/get-vite-config.d.ts +12 -1
  331. package/dist/node/compiler/get-vite-config.d.ts.map +1 -0
  332. package/dist/node/compiler/get-vite-config.js +170 -41
  333. package/dist/node/compiler/vinxi-app.d.ts +13 -0
  334. package/dist/node/compiler/vinxi-app.d.ts.map +1 -0
  335. package/dist/node/compiler/vinxi-app.js +140 -32
  336. package/dist/node/compiler/vinxi-codegen.d.ts +1 -0
  337. package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -0
  338. package/dist/node/compiler/vinxi-codegen.js +367 -111
  339. package/dist/node/graphql/graphql-codegen.d.ts +12 -1
  340. package/dist/node/graphql/graphql-codegen.d.ts.map +1 -0
  341. package/dist/node/graphql/graphql-codegen.js +216 -34
  342. package/dist/node/graphql/graphql-schema-loader.d.ts +3 -1
  343. package/dist/node/graphql/graphql-schema-loader.d.ts.map +1 -0
  344. package/dist/node/graphql/graphql-schema-loader.js +5 -16
  345. package/dist/node/graphql/plugins/gql-plugin-files.d.ts +2 -0
  346. package/dist/node/graphql/plugins/gql-plugin-files.d.ts.map +1 -0
  347. package/dist/node/graphql/plugins/gql-plugin-files.js +1 -0
  348. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +1 -0
  349. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts.map +1 -0
  350. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +1 -0
  351. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts.map +1 -0
  352. package/dist/node/graphql/plugins/gql-plugin-queries.js +1 -1
  353. package/dist/node/graphql/query-files-loader.d.ts +4 -0
  354. package/dist/node/graphql/query-files-loader.d.ts.map +1 -0
  355. package/dist/node/graphql/query-files-loader.js +5 -0
  356. package/dist/node/graphql/wp-info-query.d.ts +1 -0
  357. package/dist/node/graphql/wp-info-query.d.ts.map +1 -0
  358. package/dist/node/project/config.d.ts +160 -73
  359. package/dist/node/project/config.d.ts.map +1 -0
  360. package/dist/node/project/config.js +69 -20
  361. package/dist/node/project/eddev-build-file.d.ts +1 -0
  362. package/dist/node/project/eddev-build-file.d.ts.map +1 -0
  363. package/dist/node/project/eddev-build-file.js +2 -2
  364. package/dist/node/project/env.d.ts +5 -0
  365. package/dist/node/project/env.d.ts.map +1 -0
  366. package/dist/node/project/env.js +1 -0
  367. package/dist/node/project/favicons.d.ts +1 -1
  368. package/dist/node/project/favicons.d.ts.map +1 -0
  369. package/dist/node/project/favicons.js +1 -1
  370. package/dist/node/project/manifest/block-manifest.d.ts +1 -0
  371. package/dist/node/project/manifest/block-manifest.d.ts.map +1 -0
  372. package/dist/node/project/manifest/block-manifest.js +3 -1
  373. package/dist/node/project/manifest/field-manifest.d.ts +1 -0
  374. package/dist/node/project/manifest/field-manifest.d.ts.map +1 -0
  375. package/dist/node/project/manifest/manifest.d.ts +2 -0
  376. package/dist/node/project/manifest/manifest.d.ts.map +1 -0
  377. package/dist/node/project/manifest/manifest.js +14 -10
  378. package/dist/node/project/manifest/routes-manifest.d.ts +21 -0
  379. package/dist/node/project/manifest/routes-manifest.d.ts.map +1 -0
  380. package/dist/node/project/manifest/routes-manifest.js +74 -0
  381. package/dist/node/project/manifest/view-manifest.d.ts +1 -0
  382. package/dist/node/project/manifest/view-manifest.d.ts.map +1 -0
  383. package/dist/node/project/manifest/view-manifest.js +1 -1
  384. package/dist/node/project/manifest/widget-manifest.d.ts +1 -0
  385. package/dist/node/project/manifest/widget-manifest.d.ts.map +1 -0
  386. package/dist/node/project/project.d.ts +12 -1
  387. package/dist/node/project/project.d.ts.map +1 -0
  388. package/dist/node/project/project.js +61 -7
  389. package/dist/node/project/wp-info.d.ts +2 -0
  390. package/dist/node/project/wp-info.d.ts.map +1 -0
  391. package/dist/node/project/wp-info.js +13 -1
  392. package/dist/node/storybook/index.d.ts +3 -0
  393. package/dist/node/storybook/index.d.ts.map +1 -0
  394. package/dist/node/storybook/index.js +13 -0
  395. package/dist/node/types/block-type.d.ts +22 -16
  396. package/dist/node/types/block-type.d.ts.map +1 -0
  397. package/dist/node/types/block-type.js +1 -0
  398. package/dist/node/types/view-type.d.ts +8 -7
  399. package/dist/node/types/view-type.d.ts.map +1 -0
  400. package/dist/node/utils/fetch-wp.d.ts +2 -0
  401. package/dist/node/utils/fetch-wp.d.ts.map +1 -0
  402. package/dist/node/utils/fetch-wp.js +27 -0
  403. package/dist/node/utils/format-zod-error.d.ts +1 -0
  404. package/dist/node/utils/format-zod-error.d.ts.map +1 -0
  405. package/dist/node/utils/fs-codegen.d.ts +3 -0
  406. package/dist/node/utils/fs-codegen.d.ts.map +1 -0
  407. package/dist/node/utils/fs-codegen.js +2 -1
  408. package/dist/node/utils/fs.d.ts +5 -0
  409. package/dist/node/utils/fs.d.ts.map +1 -0
  410. package/dist/node/utils/get-repo-info.d.ts +1 -0
  411. package/dist/node/utils/get-repo-info.d.ts.map +1 -0
  412. package/dist/node/utils/helpers.d.ts +1 -0
  413. package/dist/node/utils/helpers.d.ts.map +1 -0
  414. package/dist/node/utils/highlight-code.d.ts +1 -0
  415. package/dist/node/utils/highlight-code.d.ts.map +1 -0
  416. package/dist/node/utils/is-deploying.d.ts +1 -0
  417. package/dist/node/utils/is-deploying.d.ts.map +1 -0
  418. package/dist/node/utils/is-deploying.js +1 -1
  419. package/dist/node/utils/report-builder.d.ts +7 -6
  420. package/dist/node/utils/report-builder.d.ts.map +1 -0
  421. package/dist/node/utils/self-signed-cert.d.ts +3 -0
  422. package/dist/node/utils/self-signed-cert.d.ts.map +1 -0
  423. package/dist/node/utils/self-signed-cert.js +10 -2
  424. package/dist/node/utils/stateful-log.d.ts +1 -0
  425. package/dist/node/utils/stateful-log.d.ts.map +1 -0
  426. package/dist/node/utils/stateful-log.js +2 -0
  427. package/dist/node/utils/ts-export-extractor.d.ts +1 -0
  428. package/dist/node/utils/ts-export-extractor.d.ts.map +1 -0
  429. package/dist/node/utils/watch-file-tree.d.ts +18 -3
  430. package/dist/node/utils/watch-file-tree.d.ts.map +1 -0
  431. package/dist/node/utils/watch-file-tree.js +12 -5
  432. package/package.json +36 -24
  433. package/tsconfig.app.json +10 -5
  434. package/tsconfig.node.json +3 -2
  435. package/types.app.d.ts +2 -0
  436. package/types.meta.d.ts +116 -0
  437. package/dist/app/lib/blocks/ErrorBoundaryFrontend.d.ts +0 -15
  438. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +0 -35
  439. package/dist/app/lib/hooks/apiConfig.js +0 -4
  440. package/dist/app/lib/hooks/usePageLoad.d.ts +0 -6
  441. package/dist/app/lib/hooks/usePageLoad.js +0 -5
@@ -1,53 +1,100 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useMemo } from "react";
2
3
  import { ContentBlocks } from "./ContentBlocks.js";
3
- import { transformBlockTemplate } from "./editor/block-templates.js";
4
+ import { applyTemplateBlocks, transformBlockTemplate } from "./editor/block-templates.js";
4
5
  import { blocksByTag } from "./editor/blocks-by-tag.js";
5
6
  import { useBlockContext, useInnerBlocks } from "./inline-editing.js";
6
- const Appender = (props) => {
7
+ import { hash } from "object-code";
8
+ const Appender = ({ config, ...props }) => {
7
9
  const clientId = useBlockContext()?.block[1].clientId;
8
- if (props.type === "button") {
9
- return _jsx(wp.blockEditor.ButtonBlockAppender, { className: props.className, rootClientId: clientId });
10
+ if (config?.type === "button") {
11
+ return _jsx(wp.blockEditor.ButtonBlockAppender, { ...props, rootClientId: clientId, className: config.className });
10
12
  }
11
- else if (typeof props.type === "function") {
12
- return props.type({});
13
+ else if (config?.type === "simple") {
14
+ return (_jsx(wp.blockEditor.ButtonBlockAppender, { ...props, rootClientId: clientId, className: (props.className || "") + " block-editor-inserter__toggle has-icon simple-appender" }));
15
+ }
16
+ else if (typeof config?.type === "function") {
17
+ const Type = config?.type;
18
+ return (_jsx(wp.blockEditor.Inserter, { rootClientId: clientId, renderToggle: (p) => {
19
+ return _jsx(Type, { ...p });
20
+ }, isAppender: true,
21
+ // @ts-ignore
22
+ __experimentalIsQuick: true }));
23
+ // } else if (config?.type === "simple") {
24
+ // return (
25
+ // <wp.blockEditor.Inserter
26
+ // clientId={clientId}
27
+ // rootClientId={clientId}
28
+ // renderToggle={(p: any) => {
29
+ // return (
30
+ // <button
31
+ // className="simple-appender components-button block-editor-inserter__toggle !inline-flex has-icon"
32
+ // onClick={() => p.onToggle()}
33
+ // >
34
+ // <svg
35
+ // xmlns="http://www.w3.org/2000/svg"
36
+ // viewBox="0 0 24 24"
37
+ // width="24"
38
+ // height="24"
39
+ // aria-hidden="true"
40
+ // focusable="false"
41
+ // >
42
+ // <path d="M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"></path>
43
+ // </svg>
44
+ // </button>
45
+ // )
46
+ // }}
47
+ // isAppender
48
+ // // @ts-ignore
49
+ // __experimentalIsQuick
50
+ // />
51
+ // )
13
52
  }
14
53
  else {
15
- return (_jsx(wp.blockEditor.DefaultBlockAppender
16
54
  // @ts-ignore
17
- , {
18
- // @ts-ignore
19
- className: props.className, rootClientId: clientId, lastBlockClientId: clientId }));
55
+ return _jsx(wp.blockEditor.InnerBlocks.DefaultBlockAppender, { ...props });
20
56
  }
21
57
  };
58
+ export function createAppender(comp) {
59
+ return {
60
+ type: comp,
61
+ };
62
+ }
22
63
  /**
23
64
  * Allows child blocks to be added to the current block context.
24
65
  */
25
66
  export function InnerBlocks(props) {
26
67
  if (env.admin) {
27
68
  const inlineContext = useBlockContext();
69
+ const appender = useMemo(() => {
70
+ return (p) => _jsx(Appender, { config: props.appender, ...p });
71
+ }, [props.appender]);
28
72
  if (!inlineContext?.readonly) {
29
73
  const innerBlocksProps = wp.blockEditor.useInnerBlocksProps({}, {
30
74
  orientation: props.orientation ?? "vertical",
31
75
  allowedBlocks: props.allowedBlocks ? blocksByTag.expand(props.allowedBlocks) : undefined,
32
76
  prioritizedInserterBlocks: props.prioritizedInserterBlocks,
33
- renderAppender: props.appender
34
- ? () => _jsx(Appender, { ...props.appender })
35
- : wp.blockEditor.InnerBlocks.ButtonBlockAppender,
36
- templateLock: props.templateLock ?? false,
77
+ renderAppender: appender,
78
+ templateLock: props.templateLock === "none" ? false : props.templateLock ?? false,
37
79
  template: props.template ? transformBlockTemplate(props.template) : undefined,
38
80
  });
81
+ /**
82
+ * A little bit experimental
83
+ *
84
+ * Adds support for headerTemplate/defaultBlocks/footerTemplate, which was first introduced in `_editor.tsx` for generate templates.
85
+ */
86
+ const blockId = inlineContext?.block[1].clientId;
87
+ useEffect(() => {
88
+ if (props.defaultBlocks || props.headerTemplate || props.footerTemplate) {
89
+ const newBlocks = applyTemplateBlocks(inlineContext?.innerBlocks ?? [], props);
90
+ wp.data.dispatch(wp.blockEditor.store).replaceInnerBlocks(blockId, newBlocks);
91
+ }
92
+ }, [
93
+ hash(inlineContext?.innerBlocks.map((b) => [b.blockName, b.clientId])),
94
+ hash([props.template, props.defaultBlocks, props.headerTemplate, props.footerTemplate]),
95
+ blockId,
96
+ ]);
39
97
  return (_jsx("div", { ...innerBlocksProps, className: [innerBlocksProps.className, props.adminClassName].filter(Boolean).join(" ") }));
40
- // return (
41
- // <wp.blockEditor.InnerBlocks
42
- // // @ts-ignore
43
- // orientation={props.orientation}
44
- // prioritizedInserterBlocks={props.prioritizedInserterBlocks}
45
- // allowedBlocks={props.allowedBlocks ? blocksByTag.expand(props.allowedBlocks) : undefined}
46
- // renderAppender={props.appender ? () => <Appender {...props.appender!} /> : undefined}
47
- // templateLock={(props.templateLock as any) ?? false}
48
- // template={props.template ? transformBlockTemplate(props.template) : undefined}
49
- // />
50
- // )
51
98
  }
52
99
  }
53
100
  const blocks = useInnerBlocks();
@@ -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;
@@ -22,3 +22,4 @@ export declare function getBlockMetadata(blockName: string): {
22
22
  flags: DefinedBlockFlags;
23
23
  slug: BlockTypeName;
24
24
  };
25
+ //# sourceMappingURL=block-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-utils.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/block-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD;;;GAGG;AACH,wBAAgB,kBAAkB;;EAEjC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,EAAE,CAa1F;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM;;;;;;;;EAYjD"}
@@ -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,2 +1,6 @@
1
1
  import { ComponentType, ReactNode } from "react";
2
2
  export declare function defineBlock<TName extends keyof BlockProps>(name: TName, component: (props: BlockProps[TName]) => ReactNode): ComponentType<BlockProps[TName]>;
3
+ export declare namespace defineBlock {
4
+ var meta: (name: string, meta: any) => void;
5
+ }
6
+ //# sourceMappingURL=defineBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineBlock.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/defineBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIhD,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,UAAU,EACxD,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS,GACjD,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAElC;yBALe,WAAW;qBAOD,MAAM,QAAQ,GAAG"}
@@ -1,3 +1,12 @@
1
+ import { blockMetaDescriptors } from "./editor/installGutenbergHooks";
2
+ import { resolveAcfBlockName } from "./editor/block-templates";
1
3
  export function defineBlock(name, component) {
2
4
  return component;
3
5
  }
6
+ defineBlock.meta = (name, meta) => {
7
+ if (env.admin) {
8
+ if (wp.blocks) {
9
+ blockMetaDescriptors.set(resolveAcfBlockName(name), meta);
10
+ }
11
+ }
12
+ };
@@ -0,0 +1,8 @@
1
+ import { PropsWithChildren } from "react";
2
+ type Props = PropsWithChildren<{
3
+ enabled: boolean;
4
+ clientId: string;
5
+ }>;
6
+ export declare function EditorHighlights(props: Props): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=EditorHighlights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorHighlights.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/EditorHighlights.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwC,MAAM,OAAO,CAAA;AAE/E,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAC,CAAA;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,2CA2D5C"}
@@ -0,0 +1,164 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ export function EditorHighlights(props) {
4
+ const [element, setElement] = useState(null);
5
+ const [controller, setController] = useState(null);
6
+ // wp.data.select('core/editor').isBlockSelected
7
+ // const isSelected = wp.data.useSelect(
8
+ // (select) => (select("core/editor") as any).isBlockSelected(props.clientId),
9
+ // [props.clientId]
10
+ // )
11
+ useEffect(() => {
12
+ if (!props.enabled || !element)
13
+ return;
14
+ const controller = new HighlightController(element);
15
+ setController(controller);
16
+ return () => controller.teardown();
17
+ }, [props.enabled, element]);
18
+ useEffect(() => {
19
+ if (controller) {
20
+ controller.isSelected = false;
21
+ controller.updateClasses();
22
+ controller.update();
23
+ }
24
+ }, [controller, false]);
25
+ useEffect(() => {
26
+ const element = document.getElementById(`block-${props.clientId}`);
27
+ if (element) {
28
+ setElement(element);
29
+ }
30
+ else {
31
+ setElement(null);
32
+ }
33
+ }, [props.clientId]);
34
+ useEffect(() => {
35
+ if (controller && element) {
36
+ const onPointerEnter = () => controller.enable();
37
+ const onPointerLeave = () => controller.disable();
38
+ element.addEventListener("pointerenter", onPointerEnter);
39
+ element.addEventListener("pointerleave", onPointerLeave);
40
+ return () => {
41
+ element.removeEventListener("pointerenter", onPointerEnter);
42
+ element.removeEventListener("pointerleave", onPointerLeave);
43
+ };
44
+ }
45
+ }, [element, controller]);
46
+ return _jsx(_Fragment, { children: props.children });
47
+ // return (
48
+ // <div
49
+ // ref={ref}
50
+ // style={{ display: "contents" }}
51
+ // // onPointerEnter={() => controller?.enable()}
52
+ // // onPointerLeave={() => controller?.disable()}
53
+ // >
54
+ // {props.children}
55
+ // </div>
56
+ // )
57
+ }
58
+ class HighlightController {
59
+ root;
60
+ enabled = false;
61
+ disposers = [];
62
+ elements = new Map();
63
+ block = null;
64
+ isSelected = false;
65
+ constructor(root) {
66
+ this.root = root;
67
+ }
68
+ setup() {
69
+ this.teardown();
70
+ const updateElements = () => {
71
+ let editables = Array.from(this.root.querySelectorAll("[contenteditable=true], .editable-slot"));
72
+ let childBlocks = Array.from(this.root.querySelectorAll(".wp-block"));
73
+ const childIsSelected = this.root.querySelectorAll(".editor-highlighter-root-selected").length > 0;
74
+ this.block = this.root;
75
+ childBlocks = childBlocks.slice(1);
76
+ editables = childIsSelected
77
+ ? []
78
+ : editables.filter((element) => !childBlocks.some((block) => block.contains(element)));
79
+ let changed = false;
80
+ for (const [el, item] of this.elements) {
81
+ if (!editables.includes(el)) {
82
+ item.observer.disconnect();
83
+ item.overlay.remove();
84
+ this.elements.delete(el);
85
+ changed = true;
86
+ }
87
+ }
88
+ for (let el of editables) {
89
+ if (!this.elements.has(el)) {
90
+ const observer = new ResizeObserver(() => this.update());
91
+ observer.observe(el);
92
+ this.elements.set(el, {
93
+ observer,
94
+ bounds: el.getBoundingClientRect(),
95
+ overlay: this.createOverlay(el),
96
+ });
97
+ changed = true;
98
+ }
99
+ }
100
+ if (changed) {
101
+ this.update();
102
+ this.updateClasses();
103
+ }
104
+ };
105
+ const mutationObserver = new MutationObserver(() => {
106
+ updateElements();
107
+ });
108
+ updateElements();
109
+ mutationObserver.observe(this.root, { childList: true, subtree: true });
110
+ this.disposers.push(() => {
111
+ mutationObserver.disconnect();
112
+ for (const item of this.elements.values()) {
113
+ item.observer.disconnect();
114
+ item.overlay.remove();
115
+ }
116
+ this.elements = new Map();
117
+ });
118
+ }
119
+ updateClasses() {
120
+ for (const item of this.elements.values()) {
121
+ item.overlay.classList.toggle("editor-highlight-selected", this.isSelected);
122
+ }
123
+ this.root.classList.toggle("editor-highlighter-root-selected", this.enabled);
124
+ }
125
+ createOverlay(target) {
126
+ const el = document.createElement("div");
127
+ el.style.position = "absolute";
128
+ el.style.pointerEvents = "none";
129
+ el.style.zIndex = "20";
130
+ el.classList.add("editor-highlight");
131
+ if (target.getAttribute("data-editor-higlight-class")) {
132
+ el.classList.add(target.getAttribute("data-editor-higlight-class"));
133
+ }
134
+ this.block.appendChild(el);
135
+ return el;
136
+ }
137
+ teardown() {
138
+ this.disposers.forEach((dispose) => dispose());
139
+ }
140
+ enable() {
141
+ this.enabled = true;
142
+ this.setup();
143
+ this.update();
144
+ this.updateClasses();
145
+ }
146
+ disable() {
147
+ this.enabled = false;
148
+ this.teardown();
149
+ this.update();
150
+ this.updateClasses();
151
+ }
152
+ update() {
153
+ if (!this.block)
154
+ return;
155
+ const rootBounds = this.block.getBoundingClientRect();
156
+ for (const [el, item] of this.elements) {
157
+ const bounds = el.getBoundingClientRect();
158
+ item.overlay.style.left = bounds.left - rootBounds.left + "px";
159
+ item.overlay.style.top = bounds.top - rootBounds.top + "px";
160
+ item.overlay.style.width = bounds.width + "px";
161
+ item.overlay.style.height = bounds.height + "px";
162
+ }
163
+ }
164
+ }
@@ -3,3 +3,4 @@ export declare const BlockContext: import("react").Context<{
3
3
  props: any;
4
4
  } | undefined>;
5
5
  export declare function EditableBlock({ payload }: any): import("react/jsx-runtime").JSX.Element | null;
6
+ //# sourceMappingURL=EditorSupport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorSupport.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/EditorSupport.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY;UAAyB,MAAM;WAAS,GAAG;cAA0B,CAAA;AAE9F,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,kDA4B7C"}
@@ -1,19 +1,24 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { QueryClientProvider } from "@tanstack/react-query";
3
- import { createContext, Suspense, useContext } from "react";
4
- import { getQueryClient } from "../../../utils/query-client.js";
2
+ import { createContext, Suspense, useContext, useEffect } from "react";
5
3
  import { blockManifestReader } from "../../internal/read-block-manifest.js";
4
+ import { APIProvider } from "../../../utils/APIProvider.js";
6
5
  import { ErrorBoundaryEditor } from "./ErrorBoundaryEditor.js";
7
6
  export const BlockContext = createContext(undefined);
8
7
  export function EditableBlock({ payload }) {
9
- const block = useContext(BlockContext);
10
- if (!block)
8
+ if (!env.admin)
9
+ throw new Error("`EditableBlock` can only be used in the admin environment");
10
+ const info = useContext(BlockContext);
11
+ useEffect(() => {
12
+ const block = wp.data.select("core/block-editor").getBlock(info?.props.clientId);
13
+ if (block && block.attributes) {
14
+ // @ts-ignore
15
+ block.attributes.props = payload;
16
+ }
17
+ }, [payload, info?.props.clientId]);
18
+ if (!info)
11
19
  return null;
12
- const getBlock = () => {
13
- return blockManifestReader.value[block.name];
14
- };
15
- const BlockComponent = getBlock();
20
+ const BlockComponent = blockManifestReader.value[info.name];
16
21
  if (!BlockComponent)
17
22
  return _jsx("div", { children: "Unable to load block component" });
18
- return (_jsx(ErrorBoundaryEditor, { children: _jsx(QueryClientProvider, { client: getQueryClient(), children: _jsx(Suspense, { children: _jsx(BlockComponent, { ...payload }) }) }) }));
23
+ return (_jsx(ErrorBoundaryEditor, { children: _jsx(APIProvider, { children: _jsx(Suspense, { children: _jsx(BlockComponent, { ...payload }) }) }) }));
19
24
  }
@@ -10,6 +10,7 @@ export declare class ErrorBoundaryEditor extends Component<Props, State> {
10
10
  state: State;
11
11
  static getDerivedStateFromError(err: Error): State;
12
12
  componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
13
- render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | null | undefined;
13
+ render(): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
14
14
  }
15
15
  export {};
16
+ //# sourceMappingURL=ErrorBoundaryEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundaryEditor.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/ErrorBoundaryEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE9D,UAAU,KAAK;IACb,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvD,KAAK,EAAE,KAAK,CAElB;WAEa,wBAAwB,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK;IAKlD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAIpD,MAAM;CAqBd"}
@@ -1,3 +1,10 @@
1
1
  export type BlockTemplate = [name: ChildBlockTypeName, props: any, children?: BlockTemplate][];
2
2
  export declare function resolveAcfBlockName(name: string): string;
3
3
  export declare function transformBlockTemplate(template: BlockTemplate): BlockTemplate;
4
+ export declare function applyTemplateBlocks(currentBlocks: any[], config: {
5
+ defaultBlocks?: BlockTemplate;
6
+ headerTemplate?: BlockTemplate;
7
+ footerTemplate?: BlockTemplate;
8
+ }): any[];
9
+ export declare function transformTemplateToBlocks(template: BlockTemplate, locked?: boolean, isFromTemplate?: boolean): any;
10
+ //# sourceMappingURL=block-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-templates.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/block-templates.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,EAAE,CAAA;AAE9F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,UAG/C;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAI7E;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,GAAG,EAAE,EACpB,MAAM,EAAE;IACN,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,cAAc,CAAC,EAAE,aAAa,CAAA;CAC/B,SA2CF;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAO,EAAE,cAAc,UAAO,GAAG,GAAG,CAyB5G"}
@@ -7,3 +7,67 @@ export function transformBlockTemplate(template) {
7
7
  return [resolveAcfBlockName(name), props, children ? transformBlockTemplate(children) : undefined];
8
8
  });
9
9
  }
10
+ export function applyTemplateBlocks(currentBlocks, config) {
11
+ const templateBlocks = currentBlocks.filter((block) => block.attributes.isFromTemplate);
12
+ let header = config.headerTemplate ? syncBlocks(transformTemplateToBlocks(config.headerTemplate)) : [];
13
+ let footer = config.footerTemplate ? syncBlocks(transformTemplateToBlocks(config.footerTemplate)) : [];
14
+ let blocks = currentBlocks.filter((block) => !header.includes(block) && !footer.includes(block));
15
+ blocks.forEach((block) => {
16
+ delete block.attributes.lock;
17
+ delete block.isFromTemplate;
18
+ });
19
+ // const blocksToDelete = currentBlocks.filter((block: any) => {
20
+ // return !header.includes(block) && !footer.includes(block) && !blocks.includes(block)
21
+ // })
22
+ // blocksToDelete.forEach((block: any) => {
23
+ // delete block.attributes.lock
24
+ // delete block.isFromTemplate
25
+ // })
26
+ // blocks = [...blocks, ...blocksToDelete]
27
+ // console.log("blocks", blocks)
28
+ // console.log("blocksToDelete", blocksToDelete)
29
+ if (!blocks.length && config.defaultBlocks) {
30
+ blocks = transformTemplateToBlocks(config.defaultBlocks, false, false);
31
+ }
32
+ let newBlocks = [...header, ...blocks, ...footer];
33
+ function syncBlocks(blocks) {
34
+ return blocks.map((block) => {
35
+ const matched = templateBlocks.find((templateBlock) => templateBlock.name === block.name);
36
+ templateBlocks.splice(templateBlocks.indexOf(matched), 1);
37
+ if (matched) {
38
+ matched.attributes.lock = block.attributes.lock;
39
+ return matched;
40
+ }
41
+ return block;
42
+ });
43
+ }
44
+ return newBlocks;
45
+ }
46
+ export function transformTemplateToBlocks(template, locked = true, isFromTemplate = true) {
47
+ return template.map(([name, props, children]) => {
48
+ const attributes = {
49
+ data: {},
50
+ inline: {},
51
+ isFromTemplate: isFromTemplate,
52
+ lock: undefined,
53
+ };
54
+ if (props.locked === false) {
55
+ attributes.lock = { move: false, remove: false };
56
+ }
57
+ else if (locked || props.locked === true || props.locked === "all") {
58
+ attributes.lock = { move: true, remove: true };
59
+ }
60
+ else {
61
+ attributes.lock = props.lock;
62
+ }
63
+ Object.assign(attributes, props);
64
+ return {
65
+ clientId: "block-" + Math.random().toString(36),
66
+ name: resolveAcfBlockName(name),
67
+ attributes: attributes,
68
+ innerBlocks: children ? transformTemplateToBlocks(children, false, isFromTemplate) : [],
69
+ isValid: true,
70
+ validationIssues: [],
71
+ };
72
+ });
73
+ }
@@ -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 */
@@ -28,14 +41,28 @@ type BlockWrapperClassGenerator = (block: {
28
41
  }, post: PostInfo) => string | void;
29
42
  export declare const editorConfigStore: {
30
43
  config: EditorConfig | null;
31
- currentBlocksConfig: EditorConfigItem | null;
44
+ currentBlocksConfig: EditorConfigItem;
32
45
  };
33
46
  export declare function configureEditorBlocks(config: EditorConfigItem): void;
34
- export declare function transformTemplateToBlocks(template: BlockTemplate, locked?: boolean): any;
35
47
  type PostInfo = {
36
- template: TemplateName | "default";
37
48
  type: PostTypeName;
49
+ isPattern: false;
50
+ isTemplatePart: false;
51
+ template: TemplateName | "default";
52
+ slug: string;
53
+ } | {
54
+ type: "wp_block";
55
+ isPattern: true;
56
+ isTemplatePart: false;
57
+ title: string;
58
+ } | {
59
+ type: "wp_template_part";
60
+ isPattern: false;
61
+ isTemplatePart: true;
62
+ area: string;
63
+ title: string;
38
64
  slug: string;
65
+ wp_pattern_category?: number[];
39
66
  };
40
67
  type MatcherFunction = (post: PostInfo) => boolean | void;
41
68
  type Matcher = {
@@ -44,9 +71,45 @@ type Matcher = {
44
71
  /** Configuration for the editor, when the post type and template match */
45
72
  config: EditorConfigItem | ((post: PostInfo) => EditorConfigItem);
46
73
  };
74
+ export type BlockTransform = {
75
+ from: ChildBlockTypeName[];
76
+ to: ChildBlockTypeName;
77
+ };
78
+ export type CustomRichTextFormat = {
79
+ /** The ID of the format, eg. `"custom/fancy"` */
80
+ id: string;
81
+ /** The title of the format, shown on the tooltip */
82
+ title: string;
83
+ /**
84
+ * The HTML tag name to use.
85
+ * @default `"span"`
86
+ **/
87
+ tagName?: string;
88
+ /**
89
+ * The class name to apply to the element.
90
+ * @default `undefined`
91
+ **/
92
+ className?: string;
93
+ /**
94
+ * The icon to use in the toolbar.
95
+ */
96
+ icon?: string;
97
+ /**
98
+ * Whether format makes content interactive or not.
99
+ * @default `false`
100
+ */
101
+ interactive?: boolean;
102
+ /**
103
+ * Whether to disable this format by default. If `true`, you must pass the format ID to `allowedFormats` on a `EditableText` component.
104
+ *
105
+ * @default `false`
106
+ */
107
+ disabledByDefault?: boolean;
108
+ };
47
109
  type EditorConfig = {
48
- /** A list of template/post type matchers, and the resulting editor config */
49
- matchers: Matcher[];
110
+ customRichTextFormats?: CustomRichTextFormat[];
111
+ /** A list of template/post type matchers, and resulting editor config that they will apply */
112
+ matchers?: Matcher[];
50
113
  };
51
114
  /**
52
115
  * This call should be placed in blocks/_editor.tsx
@@ -56,3 +119,4 @@ export declare function getEditingPostInfo(): PostInfo;
56
119
  export declare function updateTemplateConfig(): void;
57
120
  export declare function watchEditorTemplate(): void;
58
121
  export {};
122
+ //# sourceMappingURL=editor-config.d.ts.map