eddev 0.3.35 → 2.0.0-beta.2
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/bin/eddev.js +1 -3
- package/css/devtools.css +15 -0
- package/css/editor-styles.css +94 -0
- package/dist/app/entry/Root.d.ts +1 -0
- package/dist/app/entry/Root.js +9 -0
- package/dist/app/entry/main.admin.d.ts +3 -0
- package/dist/app/entry/main.admin.js +10 -0
- package/dist/app/entry/main.frontend.spa.d.ts +3 -0
- package/dist/app/entry/main.frontend.spa.js +13 -0
- package/dist/app/entry/main.frontend.ssr.d.ts +21 -0
- package/dist/app/entry/main.frontend.ssr.js +79 -0
- package/dist/app/entry/main.serverless.dev.d.ts +4 -0
- package/dist/app/entry/main.serverless.dev.js +21 -0
- package/{admin → dist/app/lib/admin}/defineField.d.ts +2 -2
- package/dist/app/lib/admin/defineField.js +3 -0
- package/{admin → dist/app/lib/admin}/defineWidget.d.ts +1 -1
- package/dist/app/lib/admin/defineWidget.js +6 -0
- package/dist/app/lib/admin/index.d.ts +2 -0
- package/dist/app/lib/admin/index.js +2 -0
- package/dist/app/lib/admin/installFieldTypes.js +92 -0
- package/dist/app/lib/admin/runWidgets.js +38 -0
- package/dist/app/lib/blocks/ContentBlocks.d.ts +83 -0
- package/dist/app/lib/blocks/ContentBlocks.js +92 -0
- package/dist/app/lib/blocks/EditableText.d.ts +41 -0
- package/dist/app/lib/blocks/EditableText.js +50 -0
- package/{blocks → dist/app/lib/blocks}/ErrorBoundaryFrontend.d.ts +2 -2
- package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +35 -0
- package/dist/app/lib/blocks/InnerBlocks.d.ts +42 -0
- package/dist/app/lib/blocks/InnerBlocks.js +55 -0
- package/dist/app/lib/blocks/block-utils.d.ts +24 -0
- package/dist/app/lib/blocks/block-utils.js +41 -0
- package/dist/app/lib/blocks/defineBlock.d.ts +2 -0
- package/dist/app/lib/blocks/defineBlock.js +3 -0
- package/dist/app/lib/blocks/editor/EditorSupport.d.ts +5 -0
- package/dist/app/lib/blocks/editor/EditorSupport.js +19 -0
- package/{blocks → dist/app/lib/blocks/editor}/ErrorBoundaryEditor.d.ts +1 -1
- package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.js +28 -0
- package/dist/app/lib/blocks/editor/block-templates.d.ts +3 -0
- package/dist/app/lib/blocks/editor/block-templates.js +9 -0
- package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +7 -0
- package/dist/app/lib/blocks/editor/blocks-by-tag.js +42 -0
- package/dist/app/lib/blocks/editor/controls.d.ts +10 -0
- package/dist/app/lib/blocks/editor/controls.js +20 -0
- package/dist/app/lib/blocks/editor/editor-config.d.ts +58 -0
- package/dist/app/lib/blocks/editor/editor-config.js +191 -0
- package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +2 -0
- package/dist/app/lib/blocks/editor/installGutenbergHooks.js +131 -0
- package/dist/app/lib/blocks/editor/usePostEditor.d.ts +27 -0
- package/dist/app/lib/blocks/editor/usePostEditor.js +79 -0
- package/dist/app/lib/blocks/index.d.ts +9 -0
- package/dist/app/lib/blocks/index.js +9 -0
- package/dist/app/lib/blocks/inline-editing.d.ts +54 -0
- package/dist/app/lib/blocks/inline-editing.js +114 -0
- package/dist/app/lib/devtools/components/BreakpointIndicator.js +79 -0
- package/{dev-ui → dist/app/lib/devtools}/components/DevUI.d.ts +1 -0
- package/dist/app/lib/devtools/components/DevUI.js +6 -0
- package/dist/app/lib/devtools/hooks/usePersistState.js +31 -0
- package/dist/app/lib/devtools/hooks/useTailwind.d.ts +4184 -0
- package/dist/app/lib/devtools/hooks/useTailwind.js +6 -0
- package/dist/app/lib/devtools/index.js +1 -0
- package/dist/app/lib/devtools/loader.js +23 -0
- package/dist/app/lib/devtools/tailwind.config.d.ts +23 -0
- package/dist/app/lib/devtools/tailwind.config.js +24 -0
- package/{hooks → dist/app/lib/devtools}/useQueryDebug.d.ts +1 -1
- package/dist/app/lib/devtools/useQueryDebug.js +13 -0
- package/dist/app/lib/dynamic/dynamic.d.ts +8 -0
- package/dist/app/lib/dynamic/dynamic.js +25 -0
- package/dist/app/lib/dynamic/index.d.ts +1 -0
- package/dist/app/lib/dynamic/index.js +1 -0
- package/dist/app/lib/hooks/apiConfig.d.ts +18 -0
- package/dist/app/lib/hooks/apiConfig.js +4 -0
- package/{hooks → dist/app/lib/hooks}/index.d.ts +2 -0
- package/dist/app/lib/hooks/index.js +5 -0
- package/dist/app/lib/hooks/queryUtils.d.ts +46 -0
- package/dist/app/lib/hooks/queryUtils.js +183 -0
- package/dist/app/lib/hooks/useAppData.d.ts +4 -0
- package/dist/app/lib/hooks/useAppData.js +11 -0
- package/{hooks → dist/app/lib/hooks}/usePageLoad.d.ts +1 -1
- package/dist/app/lib/hooks/usePageLoad.js +5 -0
- package/dist/app/lib/hooks/useRPC.d.ts +9 -0
- package/dist/app/lib/hooks/useRPC.js +9 -0
- package/dist/app/lib/internal/index.d.ts +4 -0
- package/dist/app/lib/internal/index.js +4 -0
- package/dist/app/lib/internal/internal-store.d.ts +11 -0
- package/dist/app/lib/internal/internal-store.js +9 -0
- package/dist/app/lib/internal/read-admin-manifest.d.ts +19 -0
- package/dist/app/lib/internal/read-admin-manifest.js +17 -0
- package/dist/app/lib/internal/read-block-manifest.d.ts +15 -0
- package/dist/app/lib/internal/read-block-manifest.js +16 -0
- package/dist/app/lib/internal/read-view-manifest.d.ts +12 -0
- package/dist/app/lib/internal/read-view-manifest.js +3 -0
- package/dist/app/lib/legacy-stitches/createStitches.d.ts +615 -0
- package/dist/app/lib/legacy-stitches/createStitches.js +439 -0
- package/dist/app/lib/legacy-stitches/index.js +1 -0
- package/{components → dist/app/lib/routing/components}/BrowserRouter.d.ts +2 -4
- package/dist/app/lib/routing/components/BrowserRouter.js +351 -0
- package/dist/app/lib/routing/components/ClientOnly.d.ts +12 -0
- package/dist/app/lib/routing/components/ClientOnly.js +14 -0
- package/dist/app/lib/routing/components/Link.d.ts +26 -0
- package/dist/app/lib/routing/components/Link.js +93 -0
- package/dist/app/lib/routing/components/RouteRenderer.d.ts +9 -0
- package/dist/app/lib/routing/components/RouteRenderer.js +28 -0
- package/dist/app/lib/routing/components/SSRRouter.d.ts +9 -0
- package/dist/app/lib/routing/components/SSRRouter.js +14 -0
- package/dist/app/lib/routing/components/ScrollRestoration.d.ts +15 -0
- package/dist/app/lib/routing/components/ScrollRestoration.js +32 -0
- package/dist/app/lib/routing/context.d.ts +5 -0
- package/dist/app/lib/routing/context.js +129 -0
- package/dist/app/lib/routing/hooks/useIsSSR.d.ts +8 -0
- package/dist/app/lib/routing/hooks/useIsSSR.js +22 -0
- package/dist/app/lib/routing/hooks/useRestorableState.d.ts +5 -0
- package/dist/app/lib/routing/hooks/useRestorableState.js +17 -0
- package/dist/app/lib/routing/hooks/useRoute.d.ts +2 -0
- package/dist/app/lib/routing/hooks/useRoute.js +5 -0
- package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +4 -0
- package/dist/app/lib/routing/hooks/useRouteTransition.js +12 -0
- package/dist/app/lib/routing/hooks/useRouter.d.ts +2 -0
- package/dist/app/lib/routing/hooks/useRouter.js +11 -0
- package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +2 -0
- package/dist/app/lib/routing/hooks/useRouterEvents.js +10 -0
- package/dist/app/lib/routing/hooks/useRouterState.d.ts +2 -0
- package/dist/app/lib/routing/hooks/useRouterState.js +8 -0
- package/dist/app/lib/routing/hooks/useSearchParams.d.ts +10 -0
- package/dist/app/lib/routing/hooks/useSearchParams.js +30 -0
- package/dist/app/lib/routing/index.d.ts +13 -0
- package/dist/app/lib/routing/index.js +13 -0
- package/dist/app/lib/routing/loader.d.ts +30 -0
- package/dist/app/lib/routing/loader.js +106 -0
- package/dist/app/lib/routing/types.d.ts +138 -0
- package/dist/app/lib/routing/utils.d.ts +15 -0
- package/dist/app/lib/routing/utils.js +94 -0
- package/dist/app/lib/views/defineView.d.ts +4 -0
- package/dist/app/lib/views/defineView.js +3 -0
- package/dist/app/lib/views/index.js +1 -0
- package/dist/app/server/create-api-builtin-hono.d.ts +8 -0
- package/dist/app/server/create-api-builtin-hono.js +80 -0
- package/dist/app/server/create-ssr-hono.d.ts +18 -0
- package/dist/app/server/create-ssr-hono.js +104 -0
- package/dist/app/server/utils/headers.d.ts +4 -0
- package/dist/app/server/utils/headers.js +11 -0
- package/dist/app/server/utils/index.html.d.ts +2 -0
- package/dist/app/server/utils/index.html.js +14 -0
- package/dist/app/server/utils/replace-host.d.ts +8 -0
- package/dist/app/server/utils/replace-host.js +14 -0
- package/dist/app/utils/query-client.d.ts +2 -0
- package/dist/app/utils/query-client.js +16 -0
- package/dist/app/utils/wp.d.ts +26 -0
- package/dist/node/cli/cli-mode.d.ts +10 -0
- package/dist/node/cli/cli-mode.js +12 -0
- package/dist/node/cli/cli-worker.d.ts +13 -0
- package/dist/node/cli/cli-worker.js +114 -0
- package/dist/node/cli/cli.js +166 -0
- package/dist/node/cli/display/CLIApp.d.ts +16 -0
- package/dist/node/cli/display/CLIApp.js +117 -0
- package/dist/node/cli/display/boot-cli-app.d.ts +2 -0
- package/dist/node/cli/display/boot-cli-app.js +10 -0
- package/{cli → dist/node/cli}/display/components/Fullscreen.d.ts +1 -1
- package/dist/node/cli/display/components/Fullscreen.js +24 -0
- package/dist/node/cli/display/components/LogEntries.d.ts +13 -0
- package/dist/node/cli/display/components/LogEntries.js +87 -0
- package/dist/node/cli/display/components/MenuItem.d.ts +6 -0
- package/dist/node/cli/display/components/MenuItem.js +11 -0
- package/dist/node/cli/display/components/TextInput.d.ts +44 -0
- package/dist/node/cli/display/components/TextInput.js +105 -0
- package/dist/node/cli/display/hooks/useManifest.d.ts +2 -0
- package/dist/node/cli/display/hooks/useManifest.js +8 -0
- package/dist/node/cli/display/hooks/useStatefulLog.d.ts +11 -0
- package/dist/node/cli/display/hooks/useStatefulLog.js +51 -0
- package/dist/node/cli/display/tools/BlockList.d.ts +2 -0
- package/dist/node/cli/display/tools/BlockList.js +10 -0
- package/dist/node/cli/display/tools/CreateBlock.d.ts +2 -0
- package/dist/node/cli/display/tools/CreateBlock.js +8 -0
- package/dist/node/cli/display/tools/cli-tool-list.d.ts +2 -0
- package/dist/node/cli/display/tools/cli-tool-list.js +23 -0
- package/dist/node/cli/display/tools/cli-tools.d.ts +26 -0
- package/dist/node/cli/display/tools/cli-tools.js +15 -0
- package/dist/node/cli/display/util/colors.d.ts +4 -0
- package/dist/node/cli/display/util/colors.js +63 -0
- package/dist/node/cli/version.d.ts +1 -0
- package/dist/node/cli/version.js +1 -0
- package/dist/node/compiler/bundler.admin.d.ts +13 -0
- package/dist/node/compiler/bundler.admin.js +37 -0
- package/dist/node/compiler/bundler.frontend.d.ts +13 -0
- package/dist/node/compiler/bundler.frontend.js +37 -0
- package/dist/node/compiler/index.html.d.ts +2 -0
- package/dist/node/compiler/index.html.js +15 -0
- package/dist/node/compiler/serverless.dev.d.ts +16 -0
- package/dist/node/compiler/serverless.dev.js +215 -0
- package/dist/node/compiler/vite/get-vite-config.d.ts +13 -0
- package/dist/node/compiler/vite/get-vite-config.js +315 -0
- package/dist/node/compiler/vite/plugin-admin.d.ts +4 -0
- package/dist/node/compiler/vite/plugin-admin.js +67 -0
- package/dist/node/compiler/vite/plugin-blocks.d.ts +4 -0
- package/dist/node/compiler/vite/plugin-blocks.js +73 -0
- package/dist/node/compiler/vite/plugin-entry.d.ts +6 -0
- package/dist/node/compiler/vite/plugin-entry.js +16 -0
- package/dist/node/compiler/vite/plugin-resolved-tailwind.d.ts +4 -0
- package/dist/node/compiler/vite/plugin-resolved-tailwind.js +29 -0
- package/dist/node/compiler/vite/plugin-theme.d.ts +4 -0
- package/dist/node/compiler/vite/plugin-theme.js +40 -0
- package/dist/node/compiler/vite/plugin-views.d.ts +4 -0
- package/dist/node/compiler/vite/plugin-views.js +51 -0
- package/dist/node/graphql/graphql-codegen.d.ts +30 -0
- package/dist/node/graphql/graphql-codegen.js +503 -0
- package/dist/node/graphql/graphql-schema-loader.d.ts +17 -0
- package/dist/node/graphql/graphql-schema-loader.js +94 -0
- package/dist/node/graphql/plugins/gql-plugin-files.d.ts +14 -0
- package/dist/node/graphql/plugins/gql-plugin-files.js +66 -0
- package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +8 -0
- package/dist/node/graphql/plugins/gql-plugin-no-duplicates.js +10 -0
- package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +8 -0
- package/dist/node/graphql/plugins/gql-plugin-queries.js +263 -0
- package/dist/node/graphql/query-files-loader.d.ts +26 -0
- package/dist/node/graphql/query-files-loader.js +54 -0
- package/dist/node/graphql/wp-info-query.d.ts +1 -0
- package/dist/node/graphql/wp-info-query.js +29 -0
- package/{config/config-schema.d.ts → dist/node/project/config.d.ts} +54 -38
- package/dist/node/project/config.js +138 -0
- package/dist/node/project/eddev-build-file.d.ts +10 -0
- package/dist/node/project/eddev-build-file.js +79 -0
- package/dist/node/project/env.d.ts +39 -0
- package/dist/node/project/env.js +77 -0
- package/dist/node/project/favicons.d.ts +0 -0
- package/dist/node/project/favicons.js +1 -0
- package/dist/node/project/manifest/block-manifest.d.ts +19 -0
- package/dist/node/project/manifest/block-manifest.js +206 -0
- package/dist/node/project/manifest/field-manifest.d.ts +17 -0
- package/dist/node/project/manifest/field-manifest.js +42 -0
- package/dist/node/project/manifest/manifest.d.ts +30 -0
- package/dist/node/project/manifest/manifest.js +105 -0
- package/dist/node/project/manifest/view-manifest.d.ts +19 -0
- package/dist/node/project/manifest/view-manifest.js +152 -0
- package/dist/node/project/manifest/widget-manifest.d.ts +17 -0
- package/dist/node/project/manifest/widget-manifest.js +42 -0
- package/dist/node/project/project.d.ts +57 -0
- package/dist/node/project/project.js +115 -0
- package/dist/node/project/wp-info.d.ts +32 -0
- package/dist/node/project/wp-info.js +34 -0
- package/dist/node/types/block-type.d.ts +92 -0
- package/dist/node/types/block-type.js +82 -0
- package/dist/node/types/view-type.d.ts +31 -0
- package/dist/node/types/view-type.js +54 -0
- package/dist/node/utils/console.d.ts +21 -0
- package/dist/node/utils/console.js +28 -0
- package/dist/node/utils/export-extractor.d.ts +9 -0
- package/dist/node/utils/export-extractor.js +71 -0
- package/dist/node/utils/formatZodError.d.ts +3 -0
- package/dist/node/utils/formatZodError.js +33 -0
- package/dist/node/utils/fs.d.ts +106 -0
- package/dist/node/utils/fs.js +56 -0
- package/dist/node/utils/getRepoInfo.d.ts +7 -0
- package/dist/node/utils/getRepoInfo.js +21 -0
- package/dist/node/utils/helpers.d.ts +2 -0
- package/dist/node/utils/helpers.js +14 -0
- package/dist/node/utils/highlightCode.d.ts +10 -0
- package/dist/node/utils/highlightCode.js +30 -0
- package/dist/node/utils/isDeploying.d.ts +4 -0
- package/dist/node/utils/isDeploying.js +6 -0
- package/dist/node/utils/report-builder.d.ts +9 -0
- package/dist/node/utils/report-builder.js +51 -0
- package/dist/node/utils/selfSignedCert.d.ts +4 -0
- package/dist/node/utils/selfSignedCert.js +35 -0
- package/dist/node/utils/statefulLog.d.ts +65 -0
- package/dist/node/utils/statefulLog.js +223 -0
- package/dist/node/utils/unsafe-fetch.d.ts +2 -0
- package/dist/node/utils/unsafe-fetch.js +19 -0
- package/dist/node/utils/watchFileTree.d.ts +11 -0
- package/dist/node/utils/watchFileTree.js +58 -0
- package/package.json +123 -102
- package/stitches-archive/config.d.ts +210 -0
- package/stitches-archive/css-util.d.ts +119 -0
- package/stitches-archive/css.d.ts +9797 -0
- package/stitches-archive/index.d.mts +144 -0
- package/stitches-archive/index.d.ts +82 -0
- package/stitches-archive/index.mjs +2 -0
- package/stitches-archive/stitches.d.ts +288 -0
- package/stitches-archive/styled-component.d.ts +163 -0
- package/stitches-archive/theme.d.ts +43 -0
- package/stitches-archive/util.d.ts +32 -0
- package/tsconfig.app.json +20 -0
- package/tsconfig.json +2 -104
- package/tsconfig.node.json +20 -0
- package/tsup.config.ts +40 -0
- package/types.app.d.ts +22 -0
- package/types.app.internal.d.ts +13 -0
- package/types.env.d.ts +16 -0
- package/types.manifests.d.ts +22 -0
- package/types.meta.d.ts +319 -0
- package/types.node.d.ts +3 -0
- package/admin/components/FileWell.d.ts +0 -8
- package/admin/components/FileWell.js +0 -189
- package/admin/components/ImageWell.d.ts +0 -9
- package/admin/components/ImageWell.js +0 -209
- package/admin/defineField.js +0 -7
- package/admin/defineWidget.js +0 -10
- package/admin/index.d.ts +0 -4
- package/admin/index.js +0 -16
- package/admin/installFieldTypes.js +0 -71
- package/admin/runWidgets.js +0 -55
- package/admin/selectMedia.d.ts +0 -31
- package/admin/selectMedia.js +0 -9
- package/blocks/ContentBlocks.d.ts +0 -40
- package/blocks/ContentBlocks.js +0 -125
- package/blocks/ErrorBoundaryEditor.js +0 -64
- package/blocks/ErrorBoundaryFrontend.js +0 -69
- package/blocks/InspectorControls.d.ts +0 -2
- package/blocks/InspectorControls.js +0 -13
- package/blocks/blockAttributes.d.ts +0 -20
- package/blocks/blockAttributes.js +0 -81
- package/blocks/defineBlock.d.ts +0 -2
- package/blocks/defineBlock.js +0 -7
- package/blocks/index.d.ts +0 -5
- package/blocks/index.js +0 -23
- package/blocks/inlineEditing.d.ts +0 -32
- package/blocks/inlineEditing.js +0 -141
- package/blocks/installGutenbergHooks.d.ts +0 -2
- package/blocks/installGutenbergHooks.js +0 -211
- package/build/babel/plugin-name-defined-components.d.ts +0 -7
- package/build/babel/plugin-name-defined-components.js +0 -47
- package/build/build-favicon.d.ts +0 -1
- package/build/build-favicon.js +0 -71
- package/build/clean.d.ts +0 -1
- package/build/clean.js +0 -60
- package/build/create-codegen-worker.d.ts +0 -3
- package/build/create-codegen-worker.js +0 -71
- package/build/create-serverless-dev-worker.d.ts +0 -3
- package/build/create-serverless-dev-worker.js +0 -99
- package/build/create-webpack-worker.d.ts +0 -3
- package/build/create-webpack-worker.js +0 -64
- package/build/file-tree.d.ts +0 -5
- package/build/file-tree.js +0 -45
- package/build/get-webpack-config.d.ts +0 -3
- package/build/get-webpack-config.js +0 -426
- package/build/graphql-codegen/graphql-codegen-blocks.d.ts +0 -1
- package/build/graphql-codegen/graphql-codegen-blocks.js +0 -7
- package/build/graphql-codegen/graphql-codegen-files.js +0 -64
- package/build/graphql-codegen/graphql-codegen-no-duplicates.js +0 -13
- package/build/graphql-codegen/graphql-codegen-queries.d.ts +0 -1
- package/build/graphql-codegen/graphql-codegen-queries.js +0 -248
- package/build/manifests/manifest-blocks.d.ts +0 -12
- package/build/manifests/manifest-blocks.js +0 -61
- package/build/manifests/manifest-fields.d.ts +0 -12
- package/build/manifests/manifest-fields.js +0 -42
- package/build/manifests/manifest-views.d.ts +0 -12
- package/build/manifests/manifest-views.js +0 -49
- package/build/manifests/manifest-widgets.d.ts +0 -12
- package/build/manifests/manifest-widgets.js +0 -42
- package/build/manifests/manifest.d.ts +0 -11
- package/build/manifests/manifest.js +0 -100
- package/build/reporter.d.ts +0 -12
- package/build/reporter.js +0 -102
- package/build/serverless/create-next-app.d.ts +0 -9
- package/build/serverless/create-next-app.js +0 -536
- package/build/state/codegen-state.d.ts +0 -32
- package/build/state/codegen-state.js +0 -2
- package/build/state/compiler-state.d.ts +0 -49
- package/build/state/compiler-state.js +0 -2
- package/build/state/serverless-state.d.ts +0 -26
- package/build/state/serverless-state.js +0 -2
- package/build/workers/codegen-worker-script.d.ts +0 -2
- package/build/workers/codegen-worker-script.js +0 -624
- package/build/workers/serverless-worker-dev-script.d.ts +0 -1
- package/build/workers/serverless-worker-dev-script.js +0 -21
- package/build/workers/webpack-worker-script.d.ts +0 -2
- package/build/workers/webpack-worker-script.js +0 -171
- package/cli/build.dev.d.ts +0 -7
- package/cli/build.dev.js +0 -136
- package/cli/build.prod.d.ts +0 -5
- package/cli/build.prod.js +0 -107
- package/cli/cli.js +0 -90
- package/cli/display/components/BundleDisplay.d.ts +0 -5
- package/cli/display/components/BundleDisplay.js +0 -56
- package/cli/display/components/CodegenDisplay.d.ts +0 -5
- package/cli/display/components/CodegenDisplay.js +0 -62
- package/cli/display/components/DevCLIDisplay.d.ts +0 -12
- package/cli/display/components/DevCLIDisplay.js +0 -42
- package/cli/display/components/Fullscreen.js +0 -39
- package/cli/display/components/ServerlessDisplay.d.ts +0 -8
- package/cli/display/components/ServerlessDisplay.js +0 -68
- package/cli/display/components/StatusIcon.d.ts +0 -5
- package/cli/display/components/StatusIcon.js +0 -9
- package/cli/preinstall.d.ts +0 -1
- package/cli/preinstall.js +0 -19
- package/cli/setup.d.ts +0 -1
- package/cli/setup.js +0 -90
- package/components/AdminBar.d.ts +0 -1
- package/components/AdminBar.js +0 -9
- package/components/BrowserRouter.js +0 -155
- package/components/InlinePage.d.ts +0 -11
- package/components/InlinePage.js +0 -70
- package/components/NextRouter.d.ts +0 -9
- package/components/NextRouter.js +0 -45
- package/components/index.d.ts +0 -2
- package/components/index.js +0 -14
- package/config/config-schema.js +0 -38
- package/config/create-schema-file.d.ts +0 -1
- package/config/create-schema-file.js +0 -20
- package/config/get-config.d.ts +0 -78
- package/config/get-config.js +0 -32
- package/config/index.d.ts +0 -2
- package/config/index.js +0 -14
- package/config/parse-config.d.ts +0 -51
- package/config/parse-config.js +0 -8
- package/config/print-zod-errors.d.ts +0 -2
- package/config/print-zod-errors.js +0 -14
- package/dev-ui/components/BreakpointColumnHeader.d.ts +0 -10
- package/dev-ui/components/BreakpointColumnHeader.js +0 -47
- package/dev-ui/components/BreakpointIndicator.js +0 -139
- package/dev-ui/components/DevUI.js +0 -28
- package/dev-ui/components/Launcher.d.ts +0 -98
- package/dev-ui/components/Launcher.js +0 -94
- package/dev-ui/components/PanelWrapper.d.ts +0 -8
- package/dev-ui/components/PanelWrapper.js +0 -37
- package/dev-ui/components/ResponsiveLerpControl.d.ts +0 -7
- package/dev-ui/components/ResponsiveLerpControl.js +0 -176
- package/dev-ui/components/ResponsiveScaleEditor.d.ts +0 -25
- package/dev-ui/components/ResponsiveScaleEditor.js +0 -238
- package/dev-ui/components/atoms/Button.d.ts +0 -47
- package/dev-ui/components/atoms/Button.js +0 -67
- package/dev-ui/components/atoms/Dropdown.d.ts +0 -13
- package/dev-ui/components/atoms/Dropdown.js +0 -50
- package/dev-ui/components/atoms/NumberField.d.ts +0 -11
- package/dev-ui/components/atoms/NumberField.js +0 -111
- package/dev-ui/components/atoms/Spacer.d.ts +0 -42
- package/dev-ui/components/atoms/Spacer.js +0 -8
- package/dev-ui/components/atoms/Text.d.ts +0 -45
- package/dev-ui/components/atoms/Text.js +0 -39
- package/dev-ui/components/atoms/ToggleButton.d.ts +0 -8
- package/dev-ui/components/atoms/ToggleButton.js +0 -41
- package/dev-ui/components/atoms/Tooltip.d.ts +0 -9
- package/dev-ui/components/atoms/Tooltip.js +0 -66
- package/dev-ui/components/panels/AppDataDebugger.d.ts +0 -1
- package/dev-ui/components/panels/AppDataDebugger.js +0 -29
- package/dev-ui/components/panels/ColorEditor.d.ts +0 -1
- package/dev-ui/components/panels/ColorEditor.js +0 -128
- package/dev-ui/components/panels/PageDataDebugger.d.ts +0 -1
- package/dev-ui/components/panels/PageDataDebugger.js +0 -30
- package/dev-ui/components/panels/QueryDebugger.d.ts +0 -1
- package/dev-ui/components/panels/QueryDebugger.js +0 -46
- package/dev-ui/components/panels/SpacingEditor.d.ts +0 -1
- package/dev-ui/components/panels/SpacingEditor.js +0 -88
- package/dev-ui/components/panels/TypographyEditor.d.ts +0 -1
- package/dev-ui/components/panels/TypographyEditor.js +0 -97
- package/dev-ui/hooks/useBreakpoint.d.ts +0 -11
- package/dev-ui/hooks/useBreakpoint.js +0 -59
- package/dev-ui/hooks/usePersistState.js +0 -36
- package/dev-ui/hooks/useStylesheet.d.ts +0 -4
- package/dev-ui/hooks/useStylesheet.js +0 -31
- package/dev-ui/icons.d.ts +0 -15
- package/dev-ui/icons.js +0 -30
- package/dev-ui/index.d.ts +0 -1
- package/dev-ui/index.js +0 -13
- package/dev-ui/loader.js +0 -44
- package/dev-ui/panels.d.ts +0 -11
- package/dev-ui/panels.js +0 -47
- package/dev-ui/theme.d.ts +0 -151
- package/dev-ui/theme.js +0 -50
- package/dynamic/dynamic-component.d.ts +0 -10
- package/dynamic/dynamic-component.js +0 -8
- package/dynamic/index.d.ts +0 -1
- package/dynamic/index.js +0 -13
- package/entry/Root.d.ts +0 -3
- package/entry/Root.js +0 -56
- package/entry/entry.admin.dev.d.ts +0 -1
- package/entry/entry.admin.dev.js +0 -26
- package/entry/entry.admin.prod.d.ts +0 -1
- package/entry/entry.admin.prod.js +0 -16
- package/entry/entry.monolith.dev.d.ts +0 -6
- package/entry/entry.monolith.dev.js +0 -19
- package/entry/entry.monolith.prod.d.ts +0 -6
- package/entry/entry.monolith.prod.js +0 -18
- package/entry/entry.publicPath.js +0 -6
- package/gravityforms/index.d.ts +0 -2
- package/gravityforms/index.js +0 -14
- package/gravityforms/types.d.ts +0 -140
- package/gravityforms/types.js +0 -2
- package/gravityforms/useGravityForm.d.ts +0 -30
- package/gravityforms/useGravityForm.js +0 -292
- package/hooks/index.js +0 -15
- package/hooks/queryUtils.d.ts +0 -63
- package/hooks/queryUtils.js +0 -281
- package/hooks/useAppData.d.ts +0 -10
- package/hooks/useAppData.js +0 -37
- package/hooks/usePageLoad.js +0 -11
- package/hooks/useQuery.d.ts +0 -1
- package/hooks/useQuery.js +0 -10
- package/hooks/useQueryDebug.js +0 -21
- package/hooks/useRPC.d.ts +0 -12
- package/hooks/useRPC.js +0 -20
- package/index.d.ts +0 -1
- package/index.js +0 -5
- package/routing/index.d.ts +0 -1
- package/routing/index.js +0 -13
- package/routing/remoteProps.d.ts +0 -22
- package/routing/remoteProps.js +0 -103
- package/routing/routing.d.ts +0 -96
- package/routing/routing.js +0 -442
- package/routing/updateEditLink.d.ts +0 -1
- package/routing/updateEditLink.js +0 -12
- package/routing/updateHeadTags.d.ts +0 -2
- package/routing/updateHeadTags.js +0 -11
- package/serverless/define-api.d.ts +0 -2
- package/serverless/define-api.js +0 -66
- package/serverless/define-rpc-router.d.ts +0 -6
- package/serverless/define-rpc-router.js +0 -35
- package/serverless/error-codes.d.ts +0 -2
- package/serverless/error-codes.js +0 -14
- package/serverless/index.d.ts +0 -5
- package/serverless/index.js +0 -18
- package/serverless/rpc-provider.d.ts +0 -1
- package/serverless/rpc-provider.js +0 -5
- package/serverless-template/README.md +0 -34
- package/serverless-template/_utils/PageMeta.tsx +0 -44
- package/serverless-template/_utils/ed-config.ts +0 -5
- package/serverless-template/_utils/fetch-wordpress-props.ts +0 -62
- package/serverless-template/_utils/fetch-wp.ts +0 -34
- package/serverless-template/_utils/swr.ts +0 -43
- package/serverless-template/global.d.ts +0 -15
- package/serverless-template/next-env.d.ts +0 -3
- package/serverless-template/next.config.js +0 -119
- package/serverless-template/null.ts +0 -1
- package/serverless-template/package.json +0 -21
- package/serverless-template/pages/404.tsx +0 -12
- package/serverless-template/pages/[...slug].tsx +0 -35
- package/serverless-template/pages/_app.tsx +0 -55
- package/serverless-template/pages/_document.tsx +0 -65
- package/serverless-template/pages/api/rest/[...method].ts +0 -54
- package/serverless-template/pages/api/robots.ts +0 -49
- package/serverless-template/pages/api/sitemap/[...sitemap].ts +0 -56
- package/serverless-template/pages/api/trpc/[...trpc].ts +0 -41
- package/serverless-template/pages/index.tsx +0 -15
- package/serverless-template/tsconfig.json +0 -39
- package/style/createStitches.d.ts +0 -1058
- package/style/createStitches.js +0 -443
- package/style/index.js +0 -13
- package/utils/Observable.d.ts +0 -11
- package/utils/Observable.js +0 -34
- package/utils/getRepoName.d.ts +0 -4
- package/utils/getRepoName.js +0 -30
- package/utils/merge-refs.d.ts +0 -2
- package/utils/merge-refs.js +0 -17
- package/utils/promptIfRepoNameIncorrect.d.ts +0 -1
- package/utils/promptIfRepoNameIncorrect.js +0 -72
- package/utils/refreshOverlayInterop.d.ts +0 -4
- package/utils/refreshOverlayInterop.js +0 -12
- package/utils/reportErrorStack.d.ts +0 -7
- package/utils/reportErrorStack.js +0 -13
- package/utils/serverlessAppContext.d.ts +0 -3
- package/utils/serverlessAppContext.js +0 -6
- package/utils/updateEnvFile.d.ts +0 -1
- package/utils/updateEnvFile.js +0 -76
- package/utils/useObservable.d.ts +0 -2
- package/utils/useObservable.js +0 -12
- package/views/defineView.d.ts +0 -2
- package/views/defineView.js +0 -7
- package/views/index.js +0 -13
- /package/{admin → dist/app/lib/admin}/installFieldTypes.d.ts +0 -0
- /package/{admin → dist/app/lib/admin}/runWidgets.d.ts +0 -0
- /package/{dev-ui → dist/app/lib/devtools}/components/BreakpointIndicator.d.ts +0 -0
- /package/{dev-ui → dist/app/lib/devtools}/hooks/usePersistState.d.ts +0 -0
- /package/{entry/entry.publicPath.d.ts → dist/app/lib/devtools/index.d.ts} +0 -0
- /package/{dev-ui → dist/app/lib/devtools}/loader.d.ts +0 -0
- /package/{style → dist/app/lib/legacy-stitches}/index.d.ts +0 -0
- /package/{build/graphql-codegen/graphql-codegen-files.d.ts → dist/app/lib/routing/types.js} +0 -0
- /package/{views → dist/app/lib/views}/index.d.ts +0 -0
- /package/{build/graphql-codegen/graphql-codegen-no-duplicates.d.ts → dist/app/utils/wp.js} +0 -0
- /package/{cli → dist/node/cli}/cli.d.ts +0 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { proxy } from "valtio";
|
|
2
|
+
import { resolveAcfBlockName, transformBlockTemplate } from "./block-templates";
|
|
3
|
+
export const editorConfigStore = proxy({
|
|
4
|
+
config: null,
|
|
5
|
+
currentBlocksConfig: null,
|
|
6
|
+
});
|
|
7
|
+
export function configureEditorBlocks(config) {
|
|
8
|
+
const wp = window.wp;
|
|
9
|
+
let hideStyles = document.getElementById("title-hider");
|
|
10
|
+
hideStyles?.remove();
|
|
11
|
+
if (config.hideTitle) {
|
|
12
|
+
hideStyles = document.createElement("style");
|
|
13
|
+
hideStyles.id = "title-hider";
|
|
14
|
+
hideStyles.innerHTML = `
|
|
15
|
+
.edit-post-visual-editor__post-title-wrapper {
|
|
16
|
+
display: none !important;
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
19
|
+
document.head.appendChild(hideStyles);
|
|
20
|
+
}
|
|
21
|
+
if (config.template) {
|
|
22
|
+
setTemplate(config.template);
|
|
23
|
+
if (config.headerTemplate || config.footerTemplate) {
|
|
24
|
+
console.error("You cannot use both a template and header/footer templates at the same time.");
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const currentBlocks = wp.data.select("core/block-editor").getBlocks();
|
|
29
|
+
const templateBlocks = currentBlocks.filter((block) => block.attributes.isFromTemplate);
|
|
30
|
+
let blocks = currentBlocks.filter((block) => !block.attributes.isFromTemplate);
|
|
31
|
+
let header = config.headerTemplate ? syncBlocks(transformTemplateToBlocks(config.headerTemplate)) : [];
|
|
32
|
+
let footer = config.footerTemplate ? syncBlocks(transformTemplateToBlocks(config.footerTemplate)) : [];
|
|
33
|
+
if (!blocks.length && config.defaultBlocks) {
|
|
34
|
+
blocks = transformTemplateToBlocks(config.defaultBlocks, false);
|
|
35
|
+
}
|
|
36
|
+
let newBlocks = [...header, ...blocks, ...footer];
|
|
37
|
+
// console.log("Configuring", newBlocks)
|
|
38
|
+
wp.data.dispatch("core/block-editor").resetBlocks(newBlocks);
|
|
39
|
+
function syncBlocks(blocks) {
|
|
40
|
+
return blocks.map((block) => {
|
|
41
|
+
const matched = templateBlocks.find((templateBlock) => templateBlock.name === block.name);
|
|
42
|
+
templateBlocks.splice(templateBlocks.indexOf(matched), 1);
|
|
43
|
+
if (matched) {
|
|
44
|
+
matched.attributes.lock = block.attributes.lock;
|
|
45
|
+
return matched;
|
|
46
|
+
}
|
|
47
|
+
return block;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export function transformTemplateToBlocks(template, locked = true) {
|
|
52
|
+
return template.map(([name, props, children]) => {
|
|
53
|
+
const attributes = {
|
|
54
|
+
data: {},
|
|
55
|
+
inline: {},
|
|
56
|
+
isFromTemplate: true,
|
|
57
|
+
lock: undefined,
|
|
58
|
+
};
|
|
59
|
+
if (props.locked === false) {
|
|
60
|
+
attributes.lock = { move: false, remove: false };
|
|
61
|
+
}
|
|
62
|
+
else if (locked || props.locked === true || props.locked === "all") {
|
|
63
|
+
attributes.lock = { move: true, remove: true };
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
attributes.lock = props.lock;
|
|
67
|
+
}
|
|
68
|
+
Object.assign(attributes, props);
|
|
69
|
+
return {
|
|
70
|
+
clientId: "block-" + Math.random().toString(36),
|
|
71
|
+
name: resolveAcfBlockName(name),
|
|
72
|
+
attributes: attributes,
|
|
73
|
+
innerBlocks: children ? transformTemplateToBlocks(children, false) : [],
|
|
74
|
+
isValid: true,
|
|
75
|
+
validationIssues: [],
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* This call should be placed in blocks/_editor.tsx
|
|
81
|
+
*/
|
|
82
|
+
export function defineEditorConfig(config) {
|
|
83
|
+
const wp = window.wp;
|
|
84
|
+
editorConfigStore.config = config;
|
|
85
|
+
if (!wp?.blockEditor)
|
|
86
|
+
return;
|
|
87
|
+
updateTemplateConfig();
|
|
88
|
+
}
|
|
89
|
+
export function getEditingPostInfo() {
|
|
90
|
+
const post = wp.data.select("core/editor").getCurrentPost();
|
|
91
|
+
const edits = wp.data.select("core/editor").getPostEdits();
|
|
92
|
+
const postInfo = {
|
|
93
|
+
...post,
|
|
94
|
+
...edits,
|
|
95
|
+
};
|
|
96
|
+
if (!postInfo.template)
|
|
97
|
+
postInfo.template = "default";
|
|
98
|
+
postInfo.template = postInfo.template.replace(/(^views\/|\.tsx?$)/g, "");
|
|
99
|
+
return postInfo;
|
|
100
|
+
}
|
|
101
|
+
export function updateTemplateConfig() {
|
|
102
|
+
const wp = window.wp;
|
|
103
|
+
const postInfo = getEditingPostInfo();
|
|
104
|
+
const editorConfig = editorConfigStore.config;
|
|
105
|
+
if (!editorConfig)
|
|
106
|
+
return;
|
|
107
|
+
const matched = editorConfig.matchers.find((matcher) => {
|
|
108
|
+
return matcher.match(postInfo);
|
|
109
|
+
});
|
|
110
|
+
if (matched) {
|
|
111
|
+
const config = typeof matched.config === "function" ? matched.config(postInfo) : matched.config;
|
|
112
|
+
editorConfigStore.currentBlocksConfig = config;
|
|
113
|
+
configureEditorBlocks(config);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
editorConfigStore.currentBlocksConfig = {};
|
|
117
|
+
configureEditorBlocks({});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export function watchEditorTemplate() {
|
|
121
|
+
let lastTemplate = "unknown";
|
|
122
|
+
wp.data.subscribe(() => {
|
|
123
|
+
setTimeout(() => {
|
|
124
|
+
const post = wp.data.select("core/editor").getCurrentPost();
|
|
125
|
+
let template = wp.data.select("core/editor").getPostEdits()?.template ?? post?.template ?? "";
|
|
126
|
+
if (template !== lastTemplate) {
|
|
127
|
+
lastTemplate = template;
|
|
128
|
+
updateTemplateConfig();
|
|
129
|
+
}
|
|
130
|
+
}, 10);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
function setWrapperBlock(blockName, blocks) {
|
|
134
|
+
const wp = window.wp;
|
|
135
|
+
const dispatch = wp.data.dispatch("core/block-editor");
|
|
136
|
+
const blockWrapperName = blockName ? resolveAcfBlockName(blockName) : null;
|
|
137
|
+
const untemplatedBlocks = blocks.flatMap((block) => {
|
|
138
|
+
if (block.name === blockWrapperName || block.attributes.isFromTemplate) {
|
|
139
|
+
return block.innerBlocks.filter((innerBlock) => !innerBlock.attributes.isFromTemplate);
|
|
140
|
+
}
|
|
141
|
+
return block;
|
|
142
|
+
});
|
|
143
|
+
let newBlocks = [...untemplatedBlocks];
|
|
144
|
+
if (blockName) {
|
|
145
|
+
const rootId = "block-" + Math.random().toString(36);
|
|
146
|
+
const parent = {
|
|
147
|
+
clientId: rootId,
|
|
148
|
+
name: blockWrapperName,
|
|
149
|
+
validationIssues: [],
|
|
150
|
+
isValid: true,
|
|
151
|
+
attributes: { data: {}, inline: {}, isFromTemplate: true, lock: { move: true, remove: true } },
|
|
152
|
+
innerBlocks: [
|
|
153
|
+
{
|
|
154
|
+
clientId: rootId + "-inner",
|
|
155
|
+
name: "core/group",
|
|
156
|
+
validationIssues: [],
|
|
157
|
+
isValid: true,
|
|
158
|
+
attributes: { data: {}, inline: {}, isFromTemplate: true, lock: { move: true, remove: true } },
|
|
159
|
+
innerBlocks: untemplatedBlocks,
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
};
|
|
163
|
+
wp.data.dispatch("core/block-editor").resetBlocks([parent]);
|
|
164
|
+
wp.data.dispatch("core/block-editor").updateSettings({
|
|
165
|
+
templateLock: "contentOnly",
|
|
166
|
+
});
|
|
167
|
+
wp.data.dispatch("core/block-editor").setBlockEditingMode(rootId, "disabled");
|
|
168
|
+
wp.data.dispatch("core/block-editor").setBlockEditingMode(rootId + "-inner", "default");
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
wp.data.dispatch("core/block-editor").resetBlocks(newBlocks);
|
|
172
|
+
}
|
|
173
|
+
// wp.data.dispatch('core/block-editor').setBlockEditingMode(wp.data.select('core/block-editor').getBlocks()[0].clientId, '')
|
|
174
|
+
}
|
|
175
|
+
function setTemplate(template) {
|
|
176
|
+
const wp = window.wp;
|
|
177
|
+
// console.log("Setting template", template)
|
|
178
|
+
let currentBlocks = wp.data.select("core/block-editor").getBlocks();
|
|
179
|
+
wp.data.dispatch("core/block-editor").updateSettings({
|
|
180
|
+
templateLock: "all",
|
|
181
|
+
template: transformBlockTemplate(template),
|
|
182
|
+
});
|
|
183
|
+
if (currentBlocks?.length === 0) {
|
|
184
|
+
setTimeout(() => {
|
|
185
|
+
wp.data.dispatch("core/block-editor").resetBlocks(transformTemplateToBlocks(template));
|
|
186
|
+
wp.data.dispatch("core/block-editor").setTemplateValidity(true);
|
|
187
|
+
}, 1);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
wp.data.dispatch("core/block-editor").validateBlocksToTemplate(currentBlocks);
|
|
191
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
import { InlineEditingContextProvider } from "../inline-editing";
|
|
4
|
+
import { BlockContext, EditableBlock } from "./EditorSupport";
|
|
5
|
+
import { blocksByTag } from "./blocks-by-tag";
|
|
6
|
+
import { editorConfigStore, getEditingPostInfo, watchEditorTemplate } from "./editor-config";
|
|
7
|
+
import { useSnapshot } from "valtio";
|
|
8
|
+
import { getBlockMetadata } from "../block-utils";
|
|
9
|
+
function listenForHandleResize() {
|
|
10
|
+
let interval = setInterval(() => {
|
|
11
|
+
let viewportTarget = document.querySelector(".interface-interface-skeleton__content");
|
|
12
|
+
if (viewportTarget) {
|
|
13
|
+
const updateSize = () => {
|
|
14
|
+
document.documentElement.style.setProperty("--vw100", viewportTarget.clientWidth + "px");
|
|
15
|
+
};
|
|
16
|
+
const ro = new ResizeObserver(updateSize);
|
|
17
|
+
ro.observe(viewportTarget);
|
|
18
|
+
clearInterval(interval);
|
|
19
|
+
}
|
|
20
|
+
}, 100);
|
|
21
|
+
}
|
|
22
|
+
export function whenEditorIsReady() {
|
|
23
|
+
return new Promise((resolve) => {
|
|
24
|
+
const unsubscribe = wp.data.subscribe(() => {
|
|
25
|
+
// This will trigger after the initial render blocking, before the window load event
|
|
26
|
+
// This seems currently more reliable than using __unstableIsEditorReady
|
|
27
|
+
if (wp.data.select("core/editor").isCleanNewPost() || wp.data.select("core/block-editor").getBlockCount() > 0) {
|
|
28
|
+
unsubscribe();
|
|
29
|
+
resolve();
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
export function installEDGutenbergHooks() {
|
|
35
|
+
import("../../../../../css/editor-styles.css");
|
|
36
|
+
// Skip this if we're not in the block editor
|
|
37
|
+
if (!wp.blockEditor)
|
|
38
|
+
return;
|
|
39
|
+
const withClientIdClassName = wp.compose.createHigherOrderComponent((BlockListBlock) => {
|
|
40
|
+
return (props) => {
|
|
41
|
+
const generateClass = useSnapshot(editorConfigStore).currentBlocksConfig?.generateBlockClassName;
|
|
42
|
+
Object.assign(props, getBlockMetadata(props.name));
|
|
43
|
+
let className = generateClass ? generateClass(props, getEditingPostInfo()) : "";
|
|
44
|
+
return _jsx(BlockListBlock, { ...props, className: className });
|
|
45
|
+
};
|
|
46
|
+
}, "withClientIdClassName");
|
|
47
|
+
wp.hooks.addFilter("editor.BlockListBlock", "ed", withClientIdClassName);
|
|
48
|
+
listenForHandleResize();
|
|
49
|
+
// Remove unwanted formatting options
|
|
50
|
+
// https://developer.wordpress.org/block-editor/how-to-guides/format-api/
|
|
51
|
+
wp.richText.unregisterFormatType("core/image");
|
|
52
|
+
wp.richText.unregisterFormatType("core/language");
|
|
53
|
+
wp.richText.unregisterFormatType("core/keyboard");
|
|
54
|
+
wp.richText.unregisterFormatType("core/text-color");
|
|
55
|
+
whenEditorIsReady().then(() => watchEditorTemplate());
|
|
56
|
+
wp.hooks.addFilter("blocks.registerBlockType", "ed", (item, name) => {
|
|
57
|
+
// Hook into ACF blocks, customising the edit mode.
|
|
58
|
+
if (name.startsWith("acf/")) {
|
|
59
|
+
const edit = item.edit;
|
|
60
|
+
item.acf = {
|
|
61
|
+
...(item.acf ?? {}),
|
|
62
|
+
mode: item.mode,
|
|
63
|
+
};
|
|
64
|
+
// Add an 'inline' object attribute, which will hold all inline contents
|
|
65
|
+
item.attributes.inline = { type: "object" };
|
|
66
|
+
item.attributes.isFromTemplate = { type: "boolean" };
|
|
67
|
+
item.supports.customClassName = false;
|
|
68
|
+
item.edit = function (props) {
|
|
69
|
+
const self = this;
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
;
|
|
72
|
+
wp.data.dispatch("core/block-editor").setTemplateValidity(true);
|
|
73
|
+
}, []);
|
|
74
|
+
const children = wp.data.useSelect((select) => {
|
|
75
|
+
const { getBlock, getBlockOrder } = select("core/block-editor");
|
|
76
|
+
const innerBlockIDs = getBlockOrder(props.clientId);
|
|
77
|
+
const children = innerBlockIDs.map((id) => {
|
|
78
|
+
return getBlock(id);
|
|
79
|
+
});
|
|
80
|
+
return children;
|
|
81
|
+
}, []);
|
|
82
|
+
return (_jsx(BlockContext.Provider, { value: { name, props }, children: _jsx(InlineEditingContextProvider, { values: props.attributes.inline || {}, innerBlocks: children, block: [name, props], index: -1, onChange: (attrs) => {
|
|
83
|
+
props.setAttributes({ ...props.attributes, inline: attrs });
|
|
84
|
+
}, insertBlocksAfter: props.insertBlocksAfter, children: edit.call(self, props) }) }));
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
// Find PHP-defined 'tags' for core blocks.
|
|
88
|
+
if ("ED_BLOCK_TAGS" in window && window.ED_BLOCK_TAGS) {
|
|
89
|
+
const tags = window.ED_BLOCK_TAGS[name];
|
|
90
|
+
if (tags) {
|
|
91
|
+
item.tags = tags;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Ensure tags is always an array
|
|
95
|
+
if (typeof item.tags === "string") {
|
|
96
|
+
item.tags = [item.tags];
|
|
97
|
+
}
|
|
98
|
+
else if (!Array.isArray(item.tags)) {
|
|
99
|
+
item.tags = [];
|
|
100
|
+
}
|
|
101
|
+
blocksByTag.add(item.name, item.tags);
|
|
102
|
+
return {
|
|
103
|
+
...item,
|
|
104
|
+
get parent() {
|
|
105
|
+
return blocksByTag.expand([
|
|
106
|
+
...(item.parent ?? []),
|
|
107
|
+
...(item.tags.includes("root") ? ["core/post-content"] : []),
|
|
108
|
+
]);
|
|
109
|
+
},
|
|
110
|
+
get ancestor() {
|
|
111
|
+
return item.ancestor ? blocksByTag.expand(item.ancestor) : undefined;
|
|
112
|
+
},
|
|
113
|
+
get allowedBlocks() {
|
|
114
|
+
return item.allowedBlocks ? blocksByTag.expand(item.allowedBlocks) : undefined;
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
});
|
|
118
|
+
const acf = "acf" in window ? window.acf : {};
|
|
119
|
+
const parseJSX = acf.parseJSX;
|
|
120
|
+
acf.parseJSX = (html) => {
|
|
121
|
+
let payload;
|
|
122
|
+
try {
|
|
123
|
+
payload = JSON.parse(html);
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
console.error(err);
|
|
127
|
+
throw new Error("eddev: Error parsing block data from: \n" + html);
|
|
128
|
+
}
|
|
129
|
+
return _jsx(EditableBlock, { payload: payload });
|
|
130
|
+
};
|
|
131
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { InlineValueStore } from "../inline-editing";
|
|
2
|
+
export declare function usePostEditor(): {
|
|
3
|
+
post: any;
|
|
4
|
+
updatePost(update: any): void;
|
|
5
|
+
meta: any;
|
|
6
|
+
updateMeta: Function;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Returns the current post title, allowing it to be updated.
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This only works in the editor.
|
|
12
|
+
*
|
|
13
|
+
* For convenience, you can pass in a default title to use when not in the editor, which you can fetch via GraphQL
|
|
14
|
+
*
|
|
15
|
+
* @returns [title, setTitle]
|
|
16
|
+
*/
|
|
17
|
+
export declare function usePostTitleEditor(title?: string): InlineValueStore<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns a post meta value, allowing it to be updated.
|
|
20
|
+
*
|
|
21
|
+
* See ED()->registerPostMeta() for more information on how to define post meta.
|
|
22
|
+
*
|
|
23
|
+
* @param key The key specified
|
|
24
|
+
* @param value The value to use when not in the editor
|
|
25
|
+
* @returns [value, setValue]
|
|
26
|
+
*/
|
|
27
|
+
export declare function usePostMetaEditor<K extends keyof PostMetaTypes>(key: K, value?: PostMetaTypes[K]): InlineValueStore<PostMetaTypes[K]>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export function usePostEditor() {
|
|
2
|
+
const post = wp.data.useSelect((select) => {
|
|
3
|
+
const editor = select("core/editor");
|
|
4
|
+
const post = editor.getCurrentPost();
|
|
5
|
+
const edits = editor.getPostEdits();
|
|
6
|
+
return {
|
|
7
|
+
...post,
|
|
8
|
+
...edits,
|
|
9
|
+
};
|
|
10
|
+
}, []);
|
|
11
|
+
const [meta, updateMeta] = wp.coreData.useEntityProp("postType", post.type, "meta");
|
|
12
|
+
return {
|
|
13
|
+
post,
|
|
14
|
+
updatePost(update) {
|
|
15
|
+
wp.data.dispatch("core/editor").editPost(update);
|
|
16
|
+
},
|
|
17
|
+
meta,
|
|
18
|
+
updateMeta,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Returns the current post title, allowing it to be updated.
|
|
23
|
+
*
|
|
24
|
+
* NOTE: This only works in the editor.
|
|
25
|
+
*
|
|
26
|
+
* For convenience, you can pass in a default title to use when not in the editor, which you can fetch via GraphQL
|
|
27
|
+
*
|
|
28
|
+
* @returns [title, setTitle]
|
|
29
|
+
*/
|
|
30
|
+
export function usePostTitleEditor(title = "") {
|
|
31
|
+
if (env.admin) {
|
|
32
|
+
const post = wp.data.useSelect((select) => {
|
|
33
|
+
const editor = select("core/editor");
|
|
34
|
+
const post = editor.getCurrentPost();
|
|
35
|
+
const edits = editor.getPostEdits();
|
|
36
|
+
return {
|
|
37
|
+
...post,
|
|
38
|
+
...edits,
|
|
39
|
+
};
|
|
40
|
+
}, []);
|
|
41
|
+
return [
|
|
42
|
+
post.title ?? "",
|
|
43
|
+
(title) => {
|
|
44
|
+
wp.data.dispatch("core/editor").editPost({ title });
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return [title, () => { }];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Returns a post meta value, allowing it to be updated.
|
|
54
|
+
*
|
|
55
|
+
* See ED()->registerPostMeta() for more information on how to define post meta.
|
|
56
|
+
*
|
|
57
|
+
* @param key The key specified
|
|
58
|
+
* @param value The value to use when not in the editor
|
|
59
|
+
* @returns [value, setValue]
|
|
60
|
+
*/
|
|
61
|
+
export function usePostMetaEditor(key, value) {
|
|
62
|
+
if (env.admin) {
|
|
63
|
+
const postType = wp.data.useSelect((select) => {
|
|
64
|
+
const editor = select("core/editor");
|
|
65
|
+
const post = editor.getCurrentPost();
|
|
66
|
+
return post.type;
|
|
67
|
+
}, []);
|
|
68
|
+
const [meta, setMeta] = wp.coreData.useEntityProp("postType", postType, "meta");
|
|
69
|
+
return [
|
|
70
|
+
meta?.[key] ?? value,
|
|
71
|
+
(newValue) => {
|
|
72
|
+
setMeta({ ...(meta ?? {}), [key]: newValue });
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return [value, () => { }];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./ContentBlocks";
|
|
2
|
+
export * from "./EditableText";
|
|
3
|
+
export * from "./InnerBlocks";
|
|
4
|
+
export * from "./defineBlock";
|
|
5
|
+
export * from "./editor/controls";
|
|
6
|
+
export * from "./editor/usePostEditor";
|
|
7
|
+
export * from "./block-utils";
|
|
8
|
+
export { defineEditorConfig } from "./editor/editor-config";
|
|
9
|
+
export { useBlockContext, useInlineEditableValue, useInnerBlocks, useTemplate } from "./inline-editing";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./ContentBlocks";
|
|
2
|
+
export * from "./EditableText";
|
|
3
|
+
export * from "./InnerBlocks";
|
|
4
|
+
export * from "./defineBlock";
|
|
5
|
+
export * from "./editor/controls";
|
|
6
|
+
export * from "./editor/usePostEditor";
|
|
7
|
+
export * from "./block-utils";
|
|
8
|
+
export { defineEditorConfig } from "./editor/editor-config";
|
|
9
|
+
export { useBlockContext, useInlineEditableValue, useInnerBlocks, useTemplate } from "./inline-editing";
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ContentBlock } from "./ContentBlocks";
|
|
2
|
+
import { PropsWithChildren } from "react";
|
|
3
|
+
type Attributes = Record<string, any>;
|
|
4
|
+
export type InlineValueStore<T> = [value: T, setValue: (value: T) => void];
|
|
5
|
+
type InlineEditingContext = {
|
|
6
|
+
values: Attributes;
|
|
7
|
+
innerBlocks: ContentBlock[];
|
|
8
|
+
parents: [string, Attributes][];
|
|
9
|
+
block: [string, Attributes];
|
|
10
|
+
index: number;
|
|
11
|
+
setValue(key: string, value: any): any;
|
|
12
|
+
getValue(key: string): any;
|
|
13
|
+
insertBlocksAfter?: (block: any) => void;
|
|
14
|
+
readonly?: boolean;
|
|
15
|
+
};
|
|
16
|
+
declare const InlineEditingContext: import("react").Context<InlineEditingContext | undefined>;
|
|
17
|
+
type ProviderProps = PropsWithChildren<{
|
|
18
|
+
values: Attributes;
|
|
19
|
+
innerBlocks: ContentBlock[];
|
|
20
|
+
block: [string, Attributes];
|
|
21
|
+
index: number;
|
|
22
|
+
onChange?: (attrs: Attributes) => void;
|
|
23
|
+
insertBlocksAfter?: (block: any) => void;
|
|
24
|
+
readonly?: boolean;
|
|
25
|
+
}>;
|
|
26
|
+
export declare function InlineEditingContextProvider(props: ProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare function ReadonlyInlineEditingProvider(props: PropsWithChildren<{}>): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
/**
|
|
29
|
+
* Allows for arbitrary storage of key/value pairs within the current block.
|
|
30
|
+
* This is used internally by EditableText, but can be used to store anything.
|
|
31
|
+
*
|
|
32
|
+
* @param key The unique item identifier
|
|
33
|
+
* @param defaultValue The default value (default is undefined)
|
|
34
|
+
* @returns a [value, setValue] tuple, similar to useState
|
|
35
|
+
*/
|
|
36
|
+
export declare function useInlineEditableValue<T>(key: string, defaultValue?: T): InlineValueStore<T>;
|
|
37
|
+
/**
|
|
38
|
+
* Can be used as a drop-in version of useInlineEditableValue, but will pipe-through a store if one has been used
|
|
39
|
+
* @private
|
|
40
|
+
**/
|
|
41
|
+
export declare function useValueStore<T>(id: string | InlineValueStore<T>, defaultValue?: T): InlineValueStore<T>;
|
|
42
|
+
export declare function useBlockAppender(): ((block: any) => void) | undefined;
|
|
43
|
+
export declare function useInnerBlocks(): ContentBlock[];
|
|
44
|
+
export declare function useBlockParents(): [string, Attributes][];
|
|
45
|
+
export declare function useBlockContext(): InlineEditingContext | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Returns the current template name.
|
|
48
|
+
* - In the editor, this uses Gutenberg state.
|
|
49
|
+
* - On the frontend, this uses the actual WP template hierarchy.
|
|
50
|
+
*
|
|
51
|
+
* As such, there may be inconsistencies between the editor and the frontend.
|
|
52
|
+
*/
|
|
53
|
+
export declare function useTemplate(): keyof ViewProps;
|
|
54
|
+
export {};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
import { usePostEditor } from "./editor/usePostEditor";
|
|
4
|
+
import { useRoute } from "../routing";
|
|
5
|
+
import { addBlockMetadata } from "./block-utils";
|
|
6
|
+
const InlineEditingContext = createContext(undefined);
|
|
7
|
+
export function InlineEditingContextProvider(props) {
|
|
8
|
+
const parentContext = useContext(InlineEditingContext);
|
|
9
|
+
addBlockMetadata(props.innerBlocks);
|
|
10
|
+
return (_jsx(InlineEditingContext.Provider, { value: {
|
|
11
|
+
values: props.values,
|
|
12
|
+
innerBlocks: props.innerBlocks,
|
|
13
|
+
block: props.block,
|
|
14
|
+
index: props.index,
|
|
15
|
+
parents: [...(parentContext?.block ? [parentContext?.block] : []), ...(parentContext?.parents || [])].filter(Boolean),
|
|
16
|
+
getValue(key) {
|
|
17
|
+
return props.values?.[key];
|
|
18
|
+
},
|
|
19
|
+
setValue(key, value) {
|
|
20
|
+
if (props.onChange) {
|
|
21
|
+
props.onChange({
|
|
22
|
+
...(props.values || {}),
|
|
23
|
+
[key]: value,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
insertBlocksAfter: props.insertBlocksAfter,
|
|
28
|
+
readonly: props.readonly || parentContext?.readonly,
|
|
29
|
+
}, children: props.children }));
|
|
30
|
+
}
|
|
31
|
+
export function ReadonlyInlineEditingProvider(props) {
|
|
32
|
+
const parentContext = useContext(InlineEditingContext);
|
|
33
|
+
return (_jsx(InlineEditingContext.Provider, { value: {
|
|
34
|
+
...parentContext,
|
|
35
|
+
readonly: true,
|
|
36
|
+
}, children: props.children }));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Allows for arbitrary storage of key/value pairs within the current block.
|
|
40
|
+
* This is used internally by EditableText, but can be used to store anything.
|
|
41
|
+
*
|
|
42
|
+
* @param key The unique item identifier
|
|
43
|
+
* @param defaultValue The default value (default is undefined)
|
|
44
|
+
* @returns a [value, setValue] tuple, similar to useState
|
|
45
|
+
*/
|
|
46
|
+
export function useInlineEditableValue(key, defaultValue) {
|
|
47
|
+
const attrs = useContext(InlineEditingContext);
|
|
48
|
+
return [
|
|
49
|
+
attrs?.getValue(key) ?? defaultValue,
|
|
50
|
+
(value) => {
|
|
51
|
+
attrs?.setValue(key, value);
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Can be used as a drop-in version of useInlineEditableValue, but will pipe-through a store if one has been used
|
|
57
|
+
* @private
|
|
58
|
+
**/
|
|
59
|
+
export function useValueStore(id, defaultValue) {
|
|
60
|
+
const attrs = useContext(InlineEditingContext);
|
|
61
|
+
if (typeof id === "string") {
|
|
62
|
+
return [
|
|
63
|
+
attrs?.getValue(id) ?? defaultValue,
|
|
64
|
+
(value) => {
|
|
65
|
+
attrs?.setValue(id, value);
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
else if (Array.isArray(id)) {
|
|
70
|
+
return [id[0] ?? defaultValue, id[1]];
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
throw new Error("Missing ID or store for inline value");
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export function useBlockAppender() {
|
|
77
|
+
const ctx = useContext(InlineEditingContext);
|
|
78
|
+
return ctx?.insertBlocksAfter;
|
|
79
|
+
}
|
|
80
|
+
export function useInnerBlocks() {
|
|
81
|
+
const ctx = useContext(InlineEditingContext);
|
|
82
|
+
return ctx?.innerBlocks || [];
|
|
83
|
+
}
|
|
84
|
+
export function useBlockParents() {
|
|
85
|
+
const ctx = useContext(InlineEditingContext);
|
|
86
|
+
return ctx?.parents || [];
|
|
87
|
+
}
|
|
88
|
+
export function useBlockContext() {
|
|
89
|
+
return useContext(InlineEditingContext);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns the current template name.
|
|
93
|
+
* - In the editor, this uses Gutenberg state.
|
|
94
|
+
* - On the frontend, this uses the actual WP template hierarchy.
|
|
95
|
+
*
|
|
96
|
+
* As such, there may be inconsistencies between the editor and the frontend.
|
|
97
|
+
*/
|
|
98
|
+
export function useTemplate() {
|
|
99
|
+
if (env.admin) {
|
|
100
|
+
const post = usePostEditor();
|
|
101
|
+
if (post.post?.template) {
|
|
102
|
+
return post.post?.template?.replace(/(views\/|\.tsx$)/g, "");
|
|
103
|
+
}
|
|
104
|
+
else if (post.post?.type === "page") {
|
|
105
|
+
return "page";
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
return ("single-" + post.post?.type);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return useRoute().view;
|
|
113
|
+
}
|
|
114
|
+
}
|