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.
- package/css/editor-styles.css +4 -0
- package/dist/app/entry/HydrationOverlay.d.ts +2 -0
- package/dist/app/entry/HydrationOverlay.d.ts.map +1 -0
- package/dist/app/entry/HydrationOverlay.js +2 -0
- package/dist/app/entry/MetaTags.d.ts +8 -0
- package/dist/app/entry/MetaTags.d.ts.map +1 -0
- package/dist/app/entry/MetaTags.js +30 -0
- package/dist/app/entry/boot-admin.d.ts +1 -0
- package/dist/app/entry/boot-admin.d.ts.map +1 -0
- package/dist/app/entry/boot-admin.js +7 -3
- package/dist/app/entry/hydration-script.d.ts +2 -0
- package/dist/app/entry/hydration-script.d.ts.map +1 -0
- package/dist/app/entry/hydration-script.js +18 -0
- package/dist/app/entry/spa-root.d.ts +1 -0
- package/dist/app/entry/spa-root.d.ts.map +1 -0
- package/dist/app/entry/spa-root.js +3 -5
- package/dist/app/entry/ssr-root-client.d.ts +4 -1
- package/dist/app/entry/ssr-root-client.d.ts.map +1 -0
- package/dist/app/entry/ssr-root-client.js +18 -6
- package/dist/app/entry/ssr-root.d.ts +6 -4
- package/dist/app/entry/ssr-root.d.ts.map +1 -0
- package/dist/app/entry/ssr-root.js +20 -19
- package/dist/app/lib/admin/defineField.d.ts +1 -0
- package/dist/app/lib/admin/defineField.d.ts.map +1 -0
- package/dist/app/lib/admin/defineWidget.d.ts +1 -0
- package/dist/app/lib/admin/defineWidget.d.ts.map +1 -0
- package/dist/app/lib/admin/index.d.ts +1 -0
- package/dist/app/lib/admin/index.d.ts.map +1 -0
- package/dist/app/lib/admin/installFieldTypes.d.ts +1 -0
- package/dist/app/lib/admin/installFieldTypes.d.ts.map +1 -0
- package/dist/app/lib/admin/installFieldTypes.js +2 -0
- package/dist/app/lib/admin/runWidgets.d.ts +1 -0
- package/dist/app/lib/admin/runWidgets.d.ts.map +1 -0
- package/dist/app/lib/admin/runWidgets.js +7 -2
- package/dist/app/lib/blocks/ContentBlocks.d.ts +7 -4
- package/dist/app/lib/blocks/ContentBlocks.d.ts.map +1 -0
- package/dist/app/lib/blocks/ContentBlocks.js +16 -3
- package/dist/app/lib/blocks/EditableText.d.ts +30 -5
- package/dist/app/lib/blocks/EditableText.d.ts.map +1 -0
- package/dist/app/lib/blocks/EditableText.js +34 -5
- package/dist/app/lib/blocks/InnerBlocks.d.ts +21 -6
- package/dist/app/lib/blocks/InnerBlocks.d.ts.map +1 -0
- package/dist/app/lib/blocks/InnerBlocks.js +73 -25
- package/dist/app/lib/blocks/SlotBlocks.d.ts +8 -0
- package/dist/app/lib/blocks/SlotBlocks.d.ts.map +1 -0
- package/dist/app/lib/blocks/SlotBlocks.js +46 -0
- package/dist/app/lib/blocks/block-utils.d.ts +2 -1
- package/dist/app/lib/blocks/block-utils.d.ts.map +1 -0
- package/dist/app/lib/blocks/block-utils.js +3 -1
- package/dist/app/lib/blocks/builtin-blocks.d.ts +2 -0
- package/dist/app/lib/blocks/builtin-blocks.d.ts.map +1 -0
- package/dist/app/lib/blocks/builtin-blocks.js +55 -0
- package/dist/app/lib/blocks/defineBlock.d.ts +4 -0
- package/dist/app/lib/blocks/defineBlock.d.ts.map +1 -0
- package/dist/app/lib/blocks/defineBlock.js +9 -0
- package/dist/app/lib/blocks/editor/EditorHighlights.d.ts +8 -0
- package/dist/app/lib/blocks/editor/EditorHighlights.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/EditorHighlights.js +164 -0
- package/dist/app/lib/blocks/editor/EditorSupport.d.ts +1 -0
- package/dist/app/lib/blocks/editor/EditorSupport.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/EditorSupport.js +17 -10
- package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts +2 -1
- package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/block-templates.d.ts +8 -1
- package/dist/app/lib/blocks/editor/block-templates.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/block-templates.js +71 -2
- package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +1 -0
- package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/controls.d.ts +1 -0
- package/dist/app/lib/blocks/editor/controls.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/create-block.d.ts +10 -0
- package/dist/app/lib/blocks/editor/create-block.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/create-block.js +13 -0
- package/dist/app/lib/blocks/editor/editor-config.d.ts +77 -8
- package/dist/app/lib/blocks/editor/editor-config.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/editor-config.js +29 -62
- package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +4 -0
- package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/installGutenbergHooks.js +126 -21
- package/dist/app/lib/blocks/editor/root-blocks.d.ts +7 -0
- package/dist/app/lib/blocks/editor/root-blocks.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/root-blocks.js +30 -0
- package/dist/app/lib/blocks/editor/usePostEditor.d.ts +12 -1
- package/dist/app/lib/blocks/editor/usePostEditor.d.ts.map +1 -0
- package/dist/app/lib/blocks/editor/usePostEditor.js +28 -13
- package/dist/app/lib/blocks/index.d.ts +8 -5
- package/dist/app/lib/blocks/index.d.ts.map +1 -0
- package/dist/app/lib/blocks/index.js +7 -5
- package/dist/app/lib/blocks/inline-editing.d.ts +10 -0
- package/dist/app/lib/blocks/inline-editing.d.ts.map +1 -0
- package/dist/app/lib/blocks/inline-editing.js +12 -2
- package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts +1 -0
- package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/BreakpointIndicator.js +2 -2
- package/dist/app/lib/devtools/components/DevUI.d.ts +1 -0
- package/dist/app/lib/devtools/components/DevUI.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/DevUI.js +3 -2
- package/dist/app/lib/devtools/components/GridIndicator.d.ts +2 -0
- package/dist/app/lib/devtools/components/GridIndicator.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/GridIndicator.js +29 -0
- package/dist/app/lib/devtools/dev-tools-store.d.ts +1 -0
- package/dist/app/lib/devtools/dev-tools-store.d.ts.map +1 -0
- package/dist/app/lib/devtools/hooks/usePersistState.d.ts +2 -1
- package/dist/app/lib/devtools/hooks/usePersistState.d.ts.map +1 -0
- package/dist/app/lib/devtools/hooks/usePersistState.js +11 -2
- package/dist/app/lib/devtools/hooks/useTailwind.d.ts +1380 -335
- package/dist/app/lib/devtools/hooks/useTailwind.d.ts.map +1 -0
- package/dist/app/lib/devtools/index.d.ts +1 -0
- package/dist/app/lib/devtools/index.d.ts.map +1 -0
- package/dist/app/lib/devtools/loader.d.ts +1 -0
- package/dist/app/lib/devtools/loader.d.ts.map +1 -0
- package/dist/app/lib/devtools/loader.js +6 -5
- package/dist/app/lib/devtools/tailwind.config.d.ts +1 -0
- package/dist/app/lib/devtools/tailwind.config.d.ts.map +1 -0
- package/dist/app/lib/devtools/useQueryDebug.d.ts +8 -1
- package/dist/app/lib/devtools/useQueryDebug.d.ts.map +1 -0
- package/dist/app/lib/devtools/useQueryDebug.js +5 -8
- package/dist/app/lib/dynamic/dynamic.d.ts +2 -1
- package/dist/app/lib/dynamic/dynamic.d.ts.map +1 -0
- package/dist/app/lib/dynamic/dynamic.js +5 -1
- package/dist/app/lib/dynamic/index.d.ts +1 -0
- package/dist/app/lib/dynamic/index.d.ts.map +1 -0
- package/dist/app/lib/hooks/index.d.ts +3 -3
- package/dist/app/lib/hooks/index.d.ts.map +1 -0
- package/dist/app/lib/hooks/index.js +2 -3
- package/dist/app/lib/hooks/{queryUtils.d.ts → query-hooks.d.ts} +42 -3
- package/dist/app/lib/hooks/query-hooks.d.ts.map +1 -0
- package/dist/app/lib/hooks/{queryUtils.js → query-hooks.js} +90 -28
- package/dist/app/lib/hooks/useAppData.d.ts +1 -0
- package/dist/app/lib/hooks/useAppData.d.ts.map +1 -0
- package/dist/app/lib/hooks/useAppData.js +11 -0
- package/dist/app/lib/hooks/useRPC.d.ts +1 -4
- package/dist/app/lib/hooks/useRPC.d.ts.map +1 -0
- package/dist/app/lib/hooks/useRPC.js +0 -8
- package/dist/app/lib/integrations/gravityforms/index.d.ts +3 -0
- package/dist/app/lib/integrations/gravityforms/index.d.ts.map +1 -0
- package/dist/app/lib/integrations/gravityforms/index.js +2 -0
- package/dist/app/lib/integrations/gravityforms/types.d.ts +145 -0
- package/dist/app/lib/integrations/gravityforms/types.d.ts.map +1 -0
- package/dist/app/lib/integrations/gravityforms/types.js +1 -0
- package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts +31 -0
- package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts.map +1 -0
- package/dist/app/lib/integrations/gravityforms/useGravityForm.js +295 -0
- package/dist/app/lib/internal/finalize-rpc.d.ts +18 -0
- package/dist/app/lib/internal/finalize-rpc.d.ts.map +1 -0
- package/dist/app/lib/internal/finalize-rpc.js +3 -0
- package/dist/app/lib/internal/index.d.ts +2 -0
- package/dist/app/lib/internal/index.d.ts.map +1 -0
- package/dist/app/lib/internal/index.js +1 -0
- package/dist/app/lib/internal/internal-store.d.ts +1 -0
- package/dist/app/lib/internal/internal-store.d.ts.map +1 -0
- package/dist/app/lib/internal/read-admin-manifest.d.ts +1 -0
- package/dist/app/lib/internal/read-admin-manifest.d.ts.map +1 -0
- package/dist/app/lib/internal/read-block-manifest.d.ts +1 -0
- package/dist/app/lib/internal/read-block-manifest.d.ts.map +1 -0
- package/dist/app/lib/internal/read-view-manifest.d.ts +1 -0
- package/dist/app/lib/internal/read-view-manifest.d.ts.map +1 -0
- package/dist/app/lib/legacy-stitches/createStitches.d.ts +510 -1
- package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +1 -0
- package/dist/app/lib/legacy-stitches/index.d.ts +1 -0
- package/dist/app/lib/legacy-stitches/index.d.ts.map +1 -0
- package/dist/app/lib/routing/components/BackButton.d.ts +50 -0
- package/dist/app/lib/routing/components/BackButton.d.ts.map +1 -0
- package/dist/app/lib/routing/components/BackButton.js +47 -0
- package/dist/app/lib/routing/components/BrowserRouter.d.ts +10 -1
- package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -0
- package/dist/app/lib/routing/components/BrowserRouter.js +136 -21
- package/dist/app/lib/routing/components/ClientOnly.d.ts +2 -1
- package/dist/app/lib/routing/components/ClientOnly.d.ts.map +1 -0
- package/dist/app/lib/routing/components/ClientOnly.js +1 -1
- package/dist/app/lib/routing/components/Link.d.ts +19 -2
- package/dist/app/lib/routing/components/Link.d.ts.map +1 -0
- package/dist/app/lib/routing/components/Link.js +43 -23
- package/dist/app/lib/routing/components/NativeLinkHandler.d.ts +10 -0
- package/dist/app/lib/routing/components/NativeLinkHandler.d.ts.map +1 -0
- package/dist/app/lib/routing/components/NativeLinkHandler.js +23 -0
- package/dist/app/lib/routing/components/RouteRenderer.d.ts +1 -0
- package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -0
- package/dist/app/lib/routing/components/RouteRenderer.js +17 -3
- package/dist/app/lib/routing/components/SSRRouter.d.ts +3 -0
- package/dist/app/lib/routing/components/SSRRouter.d.ts.map +1 -0
- package/dist/app/lib/routing/components/SSRRouter.js +3 -2
- package/dist/app/lib/routing/components/ScrollRestoration.d.ts +1 -0
- package/dist/app/lib/routing/components/ScrollRestoration.d.ts.map +1 -0
- package/dist/app/lib/routing/components/ScrollRestoration.js +4 -1
- package/dist/app/lib/routing/context.d.ts +9 -5
- package/dist/app/lib/routing/context.d.ts.map +1 -0
- package/dist/app/lib/routing/context.js +12 -95
- package/dist/app/lib/routing/hooks/useIsSSR.d.ts +1 -0
- package/dist/app/lib/routing/hooks/useIsSSR.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRestorableState.d.ts +3 -1
- package/dist/app/lib/routing/hooks/useRestorableState.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRoute.d.ts +16 -0
- package/dist/app/lib/routing/hooks/useRoute.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRoute.js +21 -0
- package/dist/app/lib/routing/hooks/useRouteMeta.d.ts +6 -0
- package/dist/app/lib/routing/hooks/useRouteMeta.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRouteMeta.js +9 -0
- package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +1 -0
- package/dist/app/lib/routing/hooks/useRouteTransition.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRouter.d.ts +1 -0
- package/dist/app/lib/routing/hooks/useRouter.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +1 -0
- package/dist/app/lib/routing/hooks/useRouterEvents.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useRouterState.d.ts +1 -0
- package/dist/app/lib/routing/hooks/useRouterState.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useSearchParams.d.ts +78 -6
- package/dist/app/lib/routing/hooks/useSearchParams.d.ts.map +1 -0
- package/dist/app/lib/routing/hooks/useSearchParams.js +75 -15
- package/dist/app/lib/routing/index.d.ts +3 -0
- package/dist/app/lib/routing/index.d.ts.map +1 -0
- package/dist/app/lib/routing/index.js +2 -0
- package/dist/app/lib/routing/loader.d.ts +1 -0
- package/dist/app/lib/routing/loader.d.ts.map +1 -0
- package/dist/app/lib/routing/loader.js +19 -10
- package/dist/app/lib/routing/types.d.ts +60 -12
- package/dist/app/lib/routing/types.d.ts.map +1 -0
- package/dist/app/lib/routing/utils.d.ts +7 -2
- package/dist/app/lib/routing/utils.d.ts.map +1 -0
- package/dist/app/lib/routing/utils.js +41 -4
- package/dist/app/lib/{hooks → runtime}/apiConfig.d.ts +11 -2
- package/dist/app/lib/runtime/apiConfig.d.ts.map +1 -0
- package/dist/app/lib/runtime/apiConfig.js +6 -0
- package/dist/app/lib/runtime/errorHandling.d.ts +40 -0
- package/dist/app/lib/runtime/errorHandling.d.ts.map +1 -0
- package/dist/app/lib/runtime/errorHandling.js +6 -0
- package/dist/app/lib/runtime/index.d.ts +3 -0
- package/dist/app/lib/runtime/index.d.ts.map +1 -0
- package/dist/app/lib/runtime/index.js +2 -0
- package/dist/app/lib/views/defineView.d.ts +2 -1
- package/dist/app/lib/views/defineView.d.ts.map +1 -0
- package/dist/app/lib/views/index.d.ts +1 -0
- package/dist/app/lib/views/index.d.ts.map +1 -0
- package/dist/app/server/index.d.ts +4 -1
- package/dist/app/server/index.d.ts.map +1 -0
- package/dist/app/server/index.js +3 -1
- package/dist/app/server/proxy-wp-admin.d.ts +2 -2
- package/dist/app/server/proxy-wp-admin.d.ts.map +1 -0
- package/dist/app/server/proxy-wp-admin.js +46 -13
- package/dist/app/server/render-ai-page.d.ts +13 -0
- package/dist/app/server/render-ai-page.d.ts.map +1 -0
- package/dist/app/server/render-ai-page.js +100 -0
- package/dist/app/server/render-ssr-page.d.ts +31 -3
- package/dist/app/server/render-ssr-page.d.ts.map +1 -0
- package/dist/app/server/render-ssr-page.js +227 -11
- package/dist/app/server/rpc.d.ts +52 -0
- package/dist/app/server/rpc.d.ts.map +1 -0
- package/dist/app/server/rpc.js +18 -0
- package/dist/app/server/server-context.d.ts +44 -6
- package/dist/app/server/server-context.d.ts.map +1 -0
- package/dist/app/server/server-context.js +334 -37
- package/dist/app/server/server-custom-config.d.ts +3 -0
- package/dist/app/server/server-custom-config.d.ts.map +1 -0
- package/dist/app/server/server-custom-config.js +1 -0
- package/dist/app/server/utils/content-security.d.ts +26 -0
- package/dist/app/server/utils/content-security.d.ts.map +1 -0
- package/dist/app/server/utils/content-security.js +124 -0
- package/dist/app/server/utils/headers.d.ts +1 -0
- package/dist/app/server/utils/headers.d.ts.map +1 -0
- package/dist/app/server/utils/replace-host.d.ts +2 -1
- package/dist/app/server/utils/replace-host.d.ts.map +1 -0
- package/dist/app/server/utils/replace-host.js +10 -2
- package/dist/app/server/utils/swr-cache.d.ts +5 -0
- package/dist/app/server/utils/swr-cache.d.ts.map +1 -0
- package/dist/app/server/utils/swr-cache.js +31 -0
- package/dist/app/utils/APIProvider.d.ts +3 -0
- package/dist/app/utils/APIProvider.d.ts.map +1 -0
- package/dist/app/utils/APIProvider.js +5 -0
- package/dist/app/utils/BlockErrorBoundary.d.ts +20 -0
- package/dist/app/utils/BlockErrorBoundary.d.ts.map +1 -0
- package/dist/app/utils/BlockErrorBoundary.js +38 -0
- package/dist/app/utils/ErrorMessage.d.ts +6 -0
- package/dist/app/utils/ErrorMessage.d.ts.map +1 -0
- package/dist/app/utils/ErrorMessage.js +14 -0
- package/dist/app/utils/RouteErrorBoundary.d.ts +20 -0
- package/dist/app/utils/RouteErrorBoundary.d.ts.map +1 -0
- package/dist/app/utils/RouteErrorBoundary.js +41 -0
- package/dist/app/utils/asset-capture.d.ts +3 -0
- package/dist/app/utils/asset-capture.d.ts.map +1 -0
- package/dist/app/utils/asset-capture.js +5 -0
- package/dist/app/utils/hydration-debugger.d.ts +14 -0
- package/dist/app/utils/hydration-debugger.d.ts.map +1 -0
- package/dist/app/utils/hydration-debugger.js +11 -0
- package/dist/app/utils/query-client.d.ts +3 -0
- package/dist/app/utils/query-client.d.ts.map +1 -0
- package/dist/app/utils/query-client.js +5 -1
- package/dist/app/utils/query-monitor.d.ts +27 -0
- package/dist/app/utils/query-monitor.d.ts.map +1 -0
- package/dist/app/utils/query-monitor.js +7 -0
- package/dist/app/utils/trpc-client.d.ts +3 -0
- package/dist/app/utils/trpc-client.d.ts.map +1 -0
- package/dist/app/utils/trpc-client.js +39 -0
- package/dist/app/utils/wp.d.ts +11 -10
- package/dist/app/utils/wp.d.ts.map +1 -0
- package/dist/node/cli/cli-mode.d.ts +1 -0
- package/dist/node/cli/cli-mode.d.ts.map +1 -0
- package/dist/node/cli/cli-worker.d.ts +1 -0
- package/dist/node/cli/cli-worker.d.ts.map +1 -0
- package/dist/node/cli/cli-worker.js +7 -3
- package/dist/node/cli/cli.d.ts +1 -0
- package/dist/node/cli/cli.d.ts.map +1 -0
- package/dist/node/cli/cli.js +120 -7
- package/dist/node/cli/display/CLIApp.d.ts +1 -0
- package/dist/node/cli/display/CLIApp.d.ts.map +1 -0
- package/dist/node/cli/display/CLIApp.js +1 -1
- package/dist/node/cli/display/boot-cli-app.d.ts +1 -0
- package/dist/node/cli/display/boot-cli-app.d.ts.map +1 -0
- package/dist/node/cli/display/boot-cli-app.js +1 -1
- package/dist/node/cli/display/components/Fullscreen.d.ts +1 -0
- package/dist/node/cli/display/components/Fullscreen.d.ts.map +1 -0
- package/dist/node/cli/display/components/LogEntries.d.ts +1 -0
- package/dist/node/cli/display/components/LogEntries.d.ts.map +1 -0
- package/dist/node/cli/display/components/MenuItem.d.ts +1 -0
- package/dist/node/cli/display/components/MenuItem.d.ts.map +1 -0
- package/dist/node/cli/display/components/TextInput.d.ts +1 -0
- package/dist/node/cli/display/components/TextInput.d.ts.map +1 -0
- package/dist/node/cli/display/hooks/useManifest.d.ts +1 -0
- package/dist/node/cli/display/hooks/useManifest.d.ts.map +1 -0
- package/dist/node/cli/display/hooks/useStatefulLog.d.ts +1 -0
- package/dist/node/cli/display/hooks/useStatefulLog.d.ts.map +1 -0
- package/dist/node/cli/display/tools/BlockList.d.ts +1 -0
- package/dist/node/cli/display/tools/BlockList.d.ts.map +1 -0
- package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -0
- package/dist/node/cli/display/tools/CreateBlock.d.ts.map +1 -0
- package/dist/node/cli/display/tools/cli-tool-list.d.ts +1 -0
- package/dist/node/cli/display/tools/cli-tool-list.d.ts.map +1 -0
- package/dist/node/cli/display/tools/cli-tools.d.ts +1 -0
- package/dist/node/cli/display/tools/cli-tools.d.ts.map +1 -0
- package/dist/node/cli/display/util/colors.d.ts +1 -0
- package/dist/node/cli/display/util/colors.d.ts.map +1 -0
- package/dist/node/cli/version.d.ts +2 -1
- package/dist/node/cli/version.d.ts.map +1 -0
- package/dist/node/cli/version.js +1 -1
- package/dist/node/compiler/build-vinxi.d.ts +1 -0
- package/dist/node/compiler/build-vinxi.d.ts.map +1 -0
- package/dist/node/compiler/build-vinxi.js +2 -1
- package/dist/node/compiler/bundler.admin.d.ts +1 -0
- package/dist/node/compiler/bundler.admin.d.ts.map +1 -0
- package/dist/node/compiler/bundler.admin.js +1 -0
- package/dist/node/compiler/bundler.frontend.d.ts +2 -0
- package/dist/node/compiler/bundler.frontend.d.ts.map +1 -0
- package/dist/node/compiler/bundler.frontend.js +26 -11
- package/dist/node/compiler/dev-server.d.ts +1 -0
- package/dist/node/compiler/dev-server.d.ts.map +1 -0
- package/dist/node/compiler/dev-server.js +17 -1
- package/dist/node/compiler/get-vite-config.d.ts +12 -1
- package/dist/node/compiler/get-vite-config.d.ts.map +1 -0
- package/dist/node/compiler/get-vite-config.js +173 -42
- package/dist/node/compiler/vinxi-app.d.ts +13 -0
- package/dist/node/compiler/vinxi-app.d.ts.map +1 -0
- package/dist/node/compiler/vinxi-app.js +142 -32
- package/dist/node/compiler/vinxi-codegen.d.ts +1 -0
- package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -0
- package/dist/node/compiler/vinxi-codegen.js +366 -106
- package/dist/node/graphql/graphql-codegen.d.ts +12 -1
- package/dist/node/graphql/graphql-codegen.d.ts.map +1 -0
- package/dist/node/graphql/graphql-codegen.js +239 -37
- package/dist/node/graphql/graphql-schema-loader.d.ts +3 -1
- package/dist/node/graphql/graphql-schema-loader.d.ts.map +1 -0
- package/dist/node/graphql/graphql-schema-loader.js +5 -16
- package/dist/node/graphql/plugins/gql-plugin-files.d.ts +3 -1
- package/dist/node/graphql/plugins/gql-plugin-files.d.ts.map +1 -0
- package/dist/node/graphql/plugins/gql-plugin-files.js +3 -2
- package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +1 -0
- package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts.map +1 -0
- package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +1 -0
- package/dist/node/graphql/plugins/gql-plugin-queries.d.ts.map +1 -0
- package/dist/node/graphql/plugins/gql-plugin-queries.js +2 -2
- package/dist/node/graphql/query-files-loader.d.ts +4 -0
- package/dist/node/graphql/query-files-loader.d.ts.map +1 -0
- package/dist/node/graphql/query-files-loader.js +5 -0
- package/dist/node/graphql/wp-info-query.d.ts +1 -0
- package/dist/node/graphql/wp-info-query.d.ts.map +1 -0
- package/dist/node/project/config.d.ts +207 -73
- package/dist/node/project/config.d.ts.map +1 -0
- package/dist/node/project/config.js +94 -20
- package/dist/node/project/eddev-build-file.d.ts +1 -0
- package/dist/node/project/eddev-build-file.d.ts.map +1 -0
- package/dist/node/project/eddev-build-file.js +4 -2
- package/dist/node/project/env.d.ts +5 -0
- package/dist/node/project/env.d.ts.map +1 -0
- package/dist/node/project/env.js +1 -0
- package/dist/node/project/favicons.d.ts +1 -1
- package/dist/node/project/favicons.d.ts.map +1 -0
- package/dist/node/project/favicons.js +1 -1
- package/dist/node/project/manifest/block-manifest.d.ts +1 -0
- package/dist/node/project/manifest/block-manifest.d.ts.map +1 -0
- package/dist/node/project/manifest/block-manifest.js +6 -2
- package/dist/node/project/manifest/field-manifest.d.ts +1 -0
- package/dist/node/project/manifest/field-manifest.d.ts.map +1 -0
- package/dist/node/project/manifest/manifest.d.ts +2 -0
- package/dist/node/project/manifest/manifest.d.ts.map +1 -0
- package/dist/node/project/manifest/manifest.js +14 -10
- package/dist/node/project/manifest/routes-manifest.d.ts +21 -0
- package/dist/node/project/manifest/routes-manifest.d.ts.map +1 -0
- package/dist/node/project/manifest/routes-manifest.js +74 -0
- package/dist/node/project/manifest/view-manifest.d.ts +1 -0
- package/dist/node/project/manifest/view-manifest.d.ts.map +1 -0
- package/dist/node/project/manifest/widget-manifest.d.ts +1 -0
- package/dist/node/project/manifest/widget-manifest.d.ts.map +1 -0
- package/dist/node/project/project.d.ts +12 -0
- package/dist/node/project/project.d.ts.map +1 -0
- package/dist/node/project/project.js +57 -3
- package/dist/node/project/wp-info.d.ts +3 -0
- package/dist/node/project/wp-info.d.ts.map +1 -0
- package/dist/node/project/wp-info.js +13 -1
- package/dist/node/storybook/index.d.ts +3 -0
- package/dist/node/storybook/index.d.ts.map +1 -0
- package/dist/node/storybook/index.js +13 -0
- package/dist/node/types/block-type.d.ts +57 -25
- package/dist/node/types/block-type.d.ts.map +1 -0
- package/dist/node/types/block-type.js +4 -1
- package/dist/node/types/view-type.d.ts +8 -7
- package/dist/node/types/view-type.d.ts.map +1 -0
- package/dist/node/utils/fetch-wp.d.ts +2 -0
- package/dist/node/utils/fetch-wp.d.ts.map +1 -0
- package/dist/node/utils/fetch-wp.js +28 -0
- package/dist/node/utils/format-zod-error.d.ts +1 -0
- package/dist/node/utils/format-zod-error.d.ts.map +1 -0
- package/dist/node/utils/fs-codegen.d.ts +4 -0
- package/dist/node/utils/fs-codegen.d.ts.map +1 -0
- package/dist/node/utils/fs-codegen.js +10 -2
- package/dist/node/utils/fs.d.ts +5 -0
- package/dist/node/utils/fs.d.ts.map +1 -0
- package/dist/node/utils/get-repo-info.d.ts +1 -0
- package/dist/node/utils/get-repo-info.d.ts.map +1 -0
- package/dist/node/utils/helpers.d.ts +1 -0
- package/dist/node/utils/helpers.d.ts.map +1 -0
- package/dist/node/utils/highlight-code.d.ts +1 -0
- package/dist/node/utils/highlight-code.d.ts.map +1 -0
- package/dist/node/utils/is-deploying.d.ts +1 -0
- package/dist/node/utils/is-deploying.d.ts.map +1 -0
- package/dist/node/utils/is-deploying.js +1 -1
- package/dist/node/utils/report-builder.d.ts +7 -6
- package/dist/node/utils/report-builder.d.ts.map +1 -0
- package/dist/node/utils/self-signed-cert.d.ts +5 -0
- package/dist/node/utils/self-signed-cert.d.ts.map +1 -0
- package/dist/node/utils/self-signed-cert.js +28 -4
- package/dist/node/utils/stateful-log.d.ts +1 -0
- package/dist/node/utils/stateful-log.d.ts.map +1 -0
- package/dist/node/utils/stateful-log.js +2 -0
- package/dist/node/utils/ts-export-extractor.d.ts +1 -0
- package/dist/node/utils/ts-export-extractor.d.ts.map +1 -0
- package/dist/node/utils/watch-file-tree.d.ts +18 -3
- package/dist/node/utils/watch-file-tree.d.ts.map +1 -0
- package/dist/node/utils/watch-file-tree.js +12 -5
- package/package.json +42 -25
- package/tsconfig.app.json +10 -5
- package/tsconfig.node.json +3 -2
- package/types.app.d.ts +2 -0
- package/types.meta.d.ts +449 -136
- package/dist/app/lib/blocks/ErrorBoundaryFrontend.d.ts +0 -15
- package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +0 -35
- package/dist/app/lib/hooks/apiConfig.js +0 -4
- package/dist/app/lib/hooks/usePageLoad.d.ts +0 -6
- package/dist/app/lib/hooks/usePageLoad.js +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InnerBlocks.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/InnerBlocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAsB,MAAM,OAAO,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAiB,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAuB,aAAa,EAA0B,MAAM,6BAA6B,CAAA;AAKxG,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,mBAAmB,CAAA;IACvE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AA2ED,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;IAClD,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,OAAO,CAAA;CAC5B,CAAC,CAAA;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,mBAAmB;;EAIvD;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,kBAAkB,GAAG,YAAY,CAAC,EAAE,CAAA;IACrD,8DAA8D;IAC9D,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC;;;;QAII;IACJ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,2DAA2D;IAC3D,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,GAAG,KAAK,CAAA;IAChE,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,yBAAyB,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACjD,GAAG,uBAAuB,CAAA;AAE3B;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAgDlD"}
|
|
@@ -1,53 +1,101 @@
|
|
|
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
|
-
|
|
7
|
+
import { hash } from "object-code";
|
|
8
|
+
const Appender = ({ config, ...props }) => {
|
|
7
9
|
const clientId = useBlockContext()?.block[1].clientId;
|
|
8
|
-
if (
|
|
9
|
-
return _jsx(wp.blockEditor.ButtonBlockAppender, {
|
|
10
|
+
if (config?.type === "button") {
|
|
11
|
+
return _jsx(wp.blockEditor.ButtonBlockAppender, { ...props, rootClientId: clientId, className: config.className });
|
|
10
12
|
}
|
|
11
|
-
else if (
|
|
12
|
-
return
|
|
13
|
+
else if (config?.type === "button2") {
|
|
14
|
+
return _jsx(wp.blockEditor.InnerBlocks.ButtonBlockAppender, {});
|
|
15
|
+
}
|
|
16
|
+
else if (config?.type === "simple") {
|
|
17
|
+
return (_jsx(wp.blockEditor.ButtonBlockAppender, { ...props, rootClientId: clientId, className: (props.className || "") + " block-editor-inserter__toggle has-icon simple-appender" }));
|
|
18
|
+
}
|
|
19
|
+
else if (typeof config?.type === "function") {
|
|
20
|
+
const Type = config?.type;
|
|
21
|
+
return (_jsx(wp.blockEditor.Inserter, { rootClientId: clientId, renderToggle: (p) => {
|
|
22
|
+
return _jsx(Type, { ...p });
|
|
23
|
+
}, isAppender: true, disabled: false }));
|
|
24
|
+
// } else if (config?.type === "simple") {
|
|
25
|
+
// return (
|
|
26
|
+
// <wp.blockEditor.Inserter
|
|
27
|
+
// clientId={clientId}
|
|
28
|
+
// rootClientId={clientId}
|
|
29
|
+
// renderToggle={(p: any) => {
|
|
30
|
+
// return (
|
|
31
|
+
// <button
|
|
32
|
+
// className="simple-appender components-button block-editor-inserter__toggle !inline-flex has-icon"
|
|
33
|
+
// onClick={() => p.onToggle()}
|
|
34
|
+
// >
|
|
35
|
+
// <svg
|
|
36
|
+
// xmlns="http://www.w3.org/2000/svg"
|
|
37
|
+
// viewBox="0 0 24 24"
|
|
38
|
+
// width="24"
|
|
39
|
+
// height="24"
|
|
40
|
+
// aria-hidden="true"
|
|
41
|
+
// focusable="false"
|
|
42
|
+
// >
|
|
43
|
+
// <path d="M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"></path>
|
|
44
|
+
// </svg>
|
|
45
|
+
// </button>
|
|
46
|
+
// )
|
|
47
|
+
// }}
|
|
48
|
+
// isAppender
|
|
49
|
+
// // @ts-ignore
|
|
50
|
+
// __experimentalIsQuick
|
|
51
|
+
// />
|
|
52
|
+
// )
|
|
13
53
|
}
|
|
14
54
|
else {
|
|
15
|
-
return (_jsx(wp.blockEditor.DefaultBlockAppender
|
|
16
55
|
// @ts-ignore
|
|
17
|
-
, {
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
className: props.className, rootClientId: clientId, lastBlockClientId: clientId }));
|
|
56
|
+
return _jsx(wp.blockEditor.InnerBlocks.DefaultBlockAppender, { ...props });
|
|
20
57
|
}
|
|
21
58
|
};
|
|
59
|
+
export function createAppender(comp) {
|
|
60
|
+
return {
|
|
61
|
+
type: comp,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
22
64
|
/**
|
|
23
65
|
* Allows child blocks to be added to the current block context.
|
|
24
66
|
*/
|
|
25
67
|
export function InnerBlocks(props) {
|
|
26
68
|
if (env.admin) {
|
|
27
69
|
const inlineContext = useBlockContext();
|
|
70
|
+
const appender = useMemo(() => {
|
|
71
|
+
return (p) => _jsx(Appender, { config: props.appender, ...p });
|
|
72
|
+
}, [props.appender]);
|
|
28
73
|
if (!inlineContext?.readonly) {
|
|
29
74
|
const innerBlocksProps = wp.blockEditor.useInnerBlocksProps({}, {
|
|
30
75
|
orientation: props.orientation ?? "vertical",
|
|
31
76
|
allowedBlocks: props.allowedBlocks ? blocksByTag.expand(props.allowedBlocks) : undefined,
|
|
32
77
|
prioritizedInserterBlocks: props.prioritizedInserterBlocks,
|
|
33
|
-
renderAppender:
|
|
34
|
-
|
|
35
|
-
: wp.blockEditor.InnerBlocks.ButtonBlockAppender,
|
|
36
|
-
templateLock: props.templateLock ?? false,
|
|
78
|
+
renderAppender: appender,
|
|
79
|
+
templateLock: props.templateLock === "none" ? false : (props.templateLock ?? false),
|
|
37
80
|
template: props.template ? transformBlockTemplate(props.template) : undefined,
|
|
38
81
|
});
|
|
82
|
+
/**
|
|
83
|
+
* A little bit experimental
|
|
84
|
+
*
|
|
85
|
+
* Adds support for headerTemplate/defaultBlocks/footerTemplate, which was first introduced in `_editor.tsx` for generate templates.
|
|
86
|
+
*/
|
|
87
|
+
const blockId = inlineContext?.block[1].clientId;
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
if (props.defaultBlocks || props.headerTemplate || props.footerTemplate) {
|
|
90
|
+
const newBlocks = applyTemplateBlocks(inlineContext?.innerBlocks ?? [], props);
|
|
91
|
+
wp.data.dispatch(wp.blockEditor.store).replaceInnerBlocks(blockId, newBlocks);
|
|
92
|
+
}
|
|
93
|
+
}, [
|
|
94
|
+
hash(inlineContext?.innerBlocks.map((b) => [b.blockName, b.clientId])),
|
|
95
|
+
hash([props.template, props.defaultBlocks, props.headerTemplate, props.footerTemplate]),
|
|
96
|
+
blockId,
|
|
97
|
+
]);
|
|
39
98
|
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
99
|
}
|
|
52
100
|
}
|
|
53
101
|
const blocks = useInnerBlocks();
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InnerBlocksProps } from "./InnerBlocks";
|
|
2
|
+
type SlotProps = {
|
|
3
|
+
id: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
} & InnerBlocksProps;
|
|
6
|
+
export declare function SlotBlocks(props: SlotProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=SlotBlocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlotBlocks.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/SlotBlocks.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,KAAK,SAAS,GAAG;IACf,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,gBAAgB,CAAA;AAEpB,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,kDA+C1C"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { hash } from "object-code";
|
|
3
|
+
import { useEffect } from "react";
|
|
4
|
+
import { ContentBlocks } from "./ContentBlocks";
|
|
5
|
+
import { useBlockContext, useInnerBlocks } from "./inline-editing";
|
|
6
|
+
export function SlotBlocks(props) {
|
|
7
|
+
if (env.admin) {
|
|
8
|
+
const clientId = useBlockContext()?.block[1].clientId;
|
|
9
|
+
const block = wp.data.useSelect((select) => {
|
|
10
|
+
const { getBlocks } = select("core/block-editor");
|
|
11
|
+
return getBlocks(clientId).find((block) => block.name === "core/slot-group" && block.attributes?.props?.id === props.id);
|
|
12
|
+
}, [clientId, props.id]);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const blocks = wp.data.select("core/block-editor").getBlocks(clientId);
|
|
15
|
+
const block = blocks.find((block) => block.name === "core/slot-group" && block.attributes?.props?.id === props.id);
|
|
16
|
+
let changed = false;
|
|
17
|
+
if (block && hash(block.attributes.props) !== hash(props)) {
|
|
18
|
+
block.attributes.props = props;
|
|
19
|
+
changed = true;
|
|
20
|
+
}
|
|
21
|
+
else if (!block) {
|
|
22
|
+
const newBlock = wp.blocks.createBlock("core/slot-group", { props }, []);
|
|
23
|
+
blocks.push(newBlock);
|
|
24
|
+
changed = true;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
console.log("Changed");
|
|
30
|
+
if (changed) {
|
|
31
|
+
wp.data.dispatch("core/block-editor").replaceInnerBlocks(clientId, blocks);
|
|
32
|
+
}
|
|
33
|
+
}, [block?.clientId, hash(props)]);
|
|
34
|
+
if (block) {
|
|
35
|
+
return _jsx(wp.blockEditor.BlockEdit, { ...block });
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const blocks = useInnerBlocks();
|
|
43
|
+
const block = blocks.find((block) => block.blockName === "core/slot-group" && block.slotId === props.id);
|
|
44
|
+
return _jsx(ContentBlocks, { blocks: block?.innerBlocks });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -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,CAc1F;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM;;;;;;;;EAYjD"}
|
|
@@ -13,9 +13,11 @@ 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
|
+
if (!block)
|
|
20
|
+
continue;
|
|
19
21
|
const info = infos[block.blockName];
|
|
20
22
|
block.tags = info?.tags ?? [];
|
|
21
23
|
block.flags = info?.flags ?? {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin-blocks.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/builtin-blocks.tsx"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,SAqDpC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { InnerBlocks } from "./InnerBlocks";
|
|
3
|
+
export function registerBuiltinBlocks() {
|
|
4
|
+
/**
|
|
5
|
+
* Register the Slot Group block, used by SlotBlocks.tsx
|
|
6
|
+
*/
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
wp.blocks.registerBlockType("core/slot-group", {
|
|
9
|
+
title: "Slot",
|
|
10
|
+
icon: "editor-insertmore",
|
|
11
|
+
attributes: {
|
|
12
|
+
props: { type: "object" },
|
|
13
|
+
},
|
|
14
|
+
category: "text",
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
__experimentalLabel: (attributes) => {
|
|
17
|
+
if (attributes?.props?.title) {
|
|
18
|
+
return attributes?.props?.title;
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
edit: (props) => {
|
|
22
|
+
const { id, ...innerProps } = props.attributes.props ?? {};
|
|
23
|
+
return _jsx(InnerBlocks, { appender: { type: "simple" }, ...innerProps });
|
|
24
|
+
},
|
|
25
|
+
save: () => _jsx(wp.blockEditor.InnerBlocks.Content, {}),
|
|
26
|
+
supports: {
|
|
27
|
+
inserter: false,
|
|
28
|
+
reusable: false,
|
|
29
|
+
className: false,
|
|
30
|
+
customClassName: false,
|
|
31
|
+
renaming: false,
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
// wp.blocks.registerBlockType("core/link", {
|
|
35
|
+
// title: "Link",
|
|
36
|
+
// icon :"admin-links",
|
|
37
|
+
// attributes: {
|
|
38
|
+
// label: { type: "string" },
|
|
39
|
+
// url: { type: "string" },
|
|
40
|
+
// target: { type: "string" },
|
|
41
|
+
// },
|
|
42
|
+
// edit: (props) => {
|
|
43
|
+
// return <div>
|
|
44
|
+
// <InspectorControls>
|
|
45
|
+
// <wp.blockEditor.__experimentalLinkControl
|
|
46
|
+
// onChange={(e) => {
|
|
47
|
+
// console.log(e)
|
|
48
|
+
// // setLink({})
|
|
49
|
+
// }}
|
|
50
|
+
// />
|
|
51
|
+
// </InspectorControls>
|
|
52
|
+
// </div>
|
|
53
|
+
// }
|
|
54
|
+
// })
|
|
55
|
+
}
|
|
@@ -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, false), 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
|
+
}
|
|
@@ -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,kDA+B7C"}
|
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
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
|
-
|
|
10
|
-
|
|
8
|
+
if (!env.admin)
|
|
9
|
+
throw new Error("`EditableBlock` can only be used in the admin environment");
|
|
10
|
+
const info = useContext(BlockContext);
|
|
11
|
+
const props = payload ?? {};
|
|
12
|
+
props.blockStyle = info?.props?.attributes?.className?.replace("is-style-", "");
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const block = wp.data.select("core/block-editor").getBlock(info?.props.clientId);
|
|
15
|
+
if (block && block.attributes) {
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
block.attributes.props = payload;
|
|
18
|
+
}
|
|
19
|
+
}, [payload, info?.props.clientId]);
|
|
20
|
+
if (!info)
|
|
11
21
|
return null;
|
|
12
|
-
const
|
|
13
|
-
return blockManifestReader.value[block.name];
|
|
14
|
-
};
|
|
15
|
-
const BlockComponent = getBlock();
|
|
22
|
+
const BlockComponent = blockManifestReader.value[info.name];
|
|
16
23
|
if (!BlockComponent)
|
|
17
24
|
return _jsx("div", { children: "Unable to load block component" });
|
|
18
|
-
return (_jsx(ErrorBoundaryEditor, { children: _jsx(
|
|
25
|
+
return (_jsx(ErrorBoundaryEditor, { children: _jsx(APIProvider, { children: _jsx(Suspense, { children: _jsx(BlockComponent, { ...payload }) }) }) }));
|
|
19
26
|
}
|
|
@@ -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 |
|
|
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
|
-
export declare function resolveAcfBlockName(name: string): string;
|
|
2
|
+
export declare function resolveAcfBlockName(name: string, check?: boolean): 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,EAAE,KAAK,UAAO,UAO7D;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"}
|
|
@@ -1,9 +1,78 @@
|
|
|
1
|
-
export function resolveAcfBlockName(name) {
|
|
1
|
+
export function resolveAcfBlockName(name, check = true) {
|
|
2
2
|
const acfName = "acf/" + name.replace("/", "-").replace("_", "");
|
|
3
|
-
|
|
3
|
+
if (check) {
|
|
4
|
+
return wp.blocks.getBlockType(acfName) ? acfName : name;
|
|
5
|
+
}
|
|
6
|
+
else {
|
|
7
|
+
return acfName;
|
|
8
|
+
}
|
|
4
9
|
}
|
|
5
10
|
export function transformBlockTemplate(template) {
|
|
6
11
|
return template.map(([name, props, children]) => {
|
|
7
12
|
return [resolveAcfBlockName(name), props, children ? transformBlockTemplate(children) : undefined];
|
|
8
13
|
});
|
|
9
14
|
}
|
|
15
|
+
export function applyTemplateBlocks(currentBlocks, config) {
|
|
16
|
+
const templateBlocks = currentBlocks.filter((block) => block.attributes.isFromTemplate);
|
|
17
|
+
let header = config.headerTemplate ? syncBlocks(transformTemplateToBlocks(config.headerTemplate)) : [];
|
|
18
|
+
let footer = config.footerTemplate ? syncBlocks(transformTemplateToBlocks(config.footerTemplate)) : [];
|
|
19
|
+
let blocks = currentBlocks.filter((block) => !header.includes(block) && !footer.includes(block));
|
|
20
|
+
blocks.forEach((block) => {
|
|
21
|
+
delete block.attributes.lock;
|
|
22
|
+
delete block.isFromTemplate;
|
|
23
|
+
});
|
|
24
|
+
// const blocksToDelete = currentBlocks.filter((block: any) => {
|
|
25
|
+
// return !header.includes(block) && !footer.includes(block) && !blocks.includes(block)
|
|
26
|
+
// })
|
|
27
|
+
// blocksToDelete.forEach((block: any) => {
|
|
28
|
+
// delete block.attributes.lock
|
|
29
|
+
// delete block.isFromTemplate
|
|
30
|
+
// })
|
|
31
|
+
// blocks = [...blocks, ...blocksToDelete]
|
|
32
|
+
// console.log("blocks", blocks)
|
|
33
|
+
// console.log("blocksToDelete", blocksToDelete)
|
|
34
|
+
if (!blocks.length && config.defaultBlocks) {
|
|
35
|
+
blocks = transformTemplateToBlocks(config.defaultBlocks, false, false);
|
|
36
|
+
}
|
|
37
|
+
let newBlocks = [...header, ...blocks, ...footer];
|
|
38
|
+
function syncBlocks(blocks) {
|
|
39
|
+
return blocks.map((block) => {
|
|
40
|
+
const matched = templateBlocks.find((templateBlock) => templateBlock.name === block.name);
|
|
41
|
+
templateBlocks.splice(templateBlocks.indexOf(matched), 1);
|
|
42
|
+
if (matched) {
|
|
43
|
+
matched.attributes.lock = block.attributes.lock;
|
|
44
|
+
return matched;
|
|
45
|
+
}
|
|
46
|
+
return block;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return newBlocks;
|
|
50
|
+
}
|
|
51
|
+
export function transformTemplateToBlocks(template, locked = true, isFromTemplate = true) {
|
|
52
|
+
return template.map(([name, props, children]) => {
|
|
53
|
+
const attributes = {
|
|
54
|
+
data: {},
|
|
55
|
+
inline: {},
|
|
56
|
+
isFromTemplate: isFromTemplate,
|
|
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, isFromTemplate) : [],
|
|
74
|
+
isValid: true,
|
|
75
|
+
validationIssues: [],
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
}
|