eddev 0.3.38 → 2.0.0-beta.10
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/boot-admin.d.ts +1 -0
- package/dist/app/entry/boot-admin.js +8 -0
- package/dist/app/entry/spa-root.d.ts +1 -0
- package/dist/app/entry/spa-root.js +9 -0
- package/dist/app/entry/ssr-root-client.d.ts +4 -0
- package/dist/app/entry/ssr-root-client.js +9 -0
- package/dist/app/entry/ssr-root.d.ts +9 -0
- package/dist/app/entry/ssr-root.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 +81 -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/dev-tools-store.d.ts +9 -0
- package/dist/app/lib/devtools/dev-tools-store.js +8 -0
- package/dist/app/lib/devtools/hooks/usePersistState.js +31 -0
- package/dist/app/lib/devtools/hooks/useTailwind.d.ts +4183 -0
- package/dist/app/lib/devtools/hooks/useTailwind.js +9 -0
- package/dist/app/lib/devtools/index.d.ts +1 -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 +49 -0
- package/dist/app/lib/hooks/queryUtils.js +180 -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 +9 -0
- package/dist/app/lib/internal/internal-store.js +7 -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 +108 -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/index.d.ts +3 -0
- package/dist/app/server/index.js +3 -0
- package/dist/app/server/proxy-wp-admin.d.ts +3 -0
- package/dist/app/server/proxy-wp-admin.js +106 -0
- package/dist/app/server/render-ssr-page.d.ts +2 -0
- package/dist/app/server/render-ssr-page.js +22 -0
- package/dist/app/server/server-context.d.ts +34 -0
- package/dist/app/server/server-context.js +116 -0
- package/dist/app/server/utils/headers.d.ts +5 -0
- package/dist/app/server/utils/headers.js +28 -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 +10 -0
- package/dist/app/server/utils/replace-host.js +61 -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 +117 -0
- package/dist/node/cli/cli.js +197 -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/build-vinxi.d.ts +8 -0
- package/dist/node/compiler/build-vinxi.js +37 -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/dev-server.d.ts +18 -0
- package/dist/node/compiler/dev-server.js +97 -0
- package/dist/node/compiler/get-vite-config.d.ts +19 -0
- package/dist/node/compiler/get-vite-config.js +184 -0
- package/dist/node/compiler/vinxi-app.d.ts +10 -0
- package/dist/node/compiler/vinxi-app.js +121 -0
- package/dist/node/compiler/vinxi-codegen.d.ts +12 -0
- package/dist/node/compiler/vinxi-codegen.js +408 -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 +91 -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.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 +58 -0
- package/dist/node/project/project.js +113 -0
- package/dist/node/project/wp-info.d.ts +32 -0
- package/dist/node/project/wp-info.js +32 -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 +53 -0
- package/dist/node/utils/format-zod-error.d.ts +3 -0
- package/dist/node/utils/format-zod-error.js +33 -0
- package/dist/node/utils/fs-codegen.d.ts +40 -0
- package/dist/node/utils/fs-codegen.js +97 -0
- package/dist/node/utils/fs.d.ts +106 -0
- package/dist/node/utils/fs.js +58 -0
- package/dist/node/utils/get-repo-info.d.ts +7 -0
- package/dist/node/utils/get-repo-info.js +21 -0
- package/dist/node/utils/helpers.d.ts +2 -0
- package/dist/node/utils/helpers.js +14 -0
- package/dist/node/utils/highlight-code.d.ts +10 -0
- package/dist/node/utils/highlight-code.js +30 -0
- package/dist/node/utils/is-deploying.d.ts +4 -0
- package/dist/node/utils/is-deploying.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/self-signed-cert.d.ts +4 -0
- package/dist/node/utils/self-signed-cert.js +35 -0
- package/dist/node/utils/stateful-log.d.ts +65 -0
- package/dist/node/utils/stateful-log.js +223 -0
- package/dist/node/utils/ts-export-extractor.d.ts +9 -0
- package/dist/node/utils/ts-export-extractor.js +71 -0
- package/dist/node/utils/watch-file-tree.d.ts +11 -0
- package/dist/node/utils/watch-file-tree.js +58 -0
- package/package.json +121 -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/types.app.d.ts +22 -0
- package/types.app.internal.d.ts +13 -0
- package/types.env.d.ts +16 -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 -59
- 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/{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
- /package/{entry/entry.publicPath.d.ts → dist/node/project/favicons.d.ts} +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Component } from "react";
|
|
3
|
+
export class ErrorBoundaryFrontend extends Component {
|
|
4
|
+
state = {
|
|
5
|
+
hasError: false,
|
|
6
|
+
};
|
|
7
|
+
static getDerivedStateFromError(err) {
|
|
8
|
+
// Update state so the next render will show the fallback UI.
|
|
9
|
+
return { hasError: true, error: err };
|
|
10
|
+
}
|
|
11
|
+
componentDidCatch(error, errorInfo) {
|
|
12
|
+
console.error("Uncaught error:", error, errorInfo);
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
if (this.state.hasError) {
|
|
16
|
+
const err = this.state.error;
|
|
17
|
+
if (env.dev) {
|
|
18
|
+
return (_jsx("pre", { style: {
|
|
19
|
+
backgroundColor: "#fafafa",
|
|
20
|
+
fontSize: "12px",
|
|
21
|
+
color: "#d92a0b",
|
|
22
|
+
border: "2px solid #d92a0b",
|
|
23
|
+
borderRadius: "4px",
|
|
24
|
+
padding: "8px",
|
|
25
|
+
overflowX: "auto",
|
|
26
|
+
fontFamily: '"Roboto Mono", Menlo, monospace',
|
|
27
|
+
}, children: err.stack }));
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return this.props.children;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { FunctionComponent } from "react";
|
|
2
|
+
import { ContentBlockLayoutProps } from "./ContentBlocks";
|
|
3
|
+
import { BlockTemplate } from "./editor/block-templates";
|
|
4
|
+
type AppenderConfig = {
|
|
5
|
+
type: "default" | "button" | FunctionComponent<any>;
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
type InnerBlocksProps = {
|
|
9
|
+
/** A list of allowed blocks, and/or block tags. */
|
|
10
|
+
allowedBlocks?: (ChildBlockTypeName | BlockTagName)[];
|
|
11
|
+
/** Specify the block list as either horizontal or vertical */
|
|
12
|
+
orientation?: "horizontal" | "vertical";
|
|
13
|
+
/**
|
|
14
|
+
* An optional extra className to apply to the wrapper div, in the Gutenberg editor.
|
|
15
|
+
*
|
|
16
|
+
* NOTE: This will have no effect on the frontend, since no wrapper div is created on the frontend.
|
|
17
|
+
**/
|
|
18
|
+
adminClassName?: string;
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
template?: BlockTemplate;
|
|
23
|
+
/**
|
|
24
|
+
* `false` allows all operations
|
|
25
|
+
* `"all"` prevents all operations. It is not possible to insert new blocks, move existing blocks, or delete blocks
|
|
26
|
+
* `"insert"` prevents inserting or removing blocks, but allows moving existing blocks
|
|
27
|
+
* `"contentOnly"` — prevents all operations, but allows rich text editing. Additionally, the block types that don’t have content are hidden from the list view and can’t gain focus within the block list. Unlike the other lock types, this is not overridable by children.
|
|
28
|
+
*
|
|
29
|
+
* @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-templates/#locking
|
|
30
|
+
*
|
|
31
|
+
* @default false
|
|
32
|
+
*
|
|
33
|
+
*/
|
|
34
|
+
templateLock?: "all" | "insert" | "contentOnly" | false;
|
|
35
|
+
appender?: AppenderConfig;
|
|
36
|
+
prioritizedInserterBlocks?: ChildBlockTypeName[];
|
|
37
|
+
} & ContentBlockLayoutProps;
|
|
38
|
+
/**
|
|
39
|
+
* Allows child blocks to be added to the current block context.
|
|
40
|
+
*/
|
|
41
|
+
export declare function InnerBlocks(props: InnerBlocksProps): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ContentBlocks } from "./ContentBlocks";
|
|
3
|
+
import { transformBlockTemplate } from "./editor/block-templates";
|
|
4
|
+
import { blocksByTag } from "./editor/blocks-by-tag";
|
|
5
|
+
import { useBlockContext, useInnerBlocks } from "./inline-editing";
|
|
6
|
+
const Appender = (props) => {
|
|
7
|
+
const clientId = useBlockContext()?.block[1].clientId;
|
|
8
|
+
if (props.type === "button") {
|
|
9
|
+
return _jsx(wp.blockEditor.ButtonBlockAppender, { className: props.className, rootClientId: clientId });
|
|
10
|
+
}
|
|
11
|
+
else if (typeof props.type === "function") {
|
|
12
|
+
return props.type({});
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return (_jsx(wp.blockEditor.DefaultBlockAppender
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
, {
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
className: props.className, rootClientId: clientId, lastBlockClientId: clientId }));
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Allows child blocks to be added to the current block context.
|
|
24
|
+
*/
|
|
25
|
+
export function InnerBlocks(props) {
|
|
26
|
+
if (env.admin) {
|
|
27
|
+
const inlineContext = useBlockContext();
|
|
28
|
+
if (!inlineContext?.readonly) {
|
|
29
|
+
const innerBlocksProps = wp.blockEditor.useInnerBlocksProps({}, {
|
|
30
|
+
orientation: props.orientation ?? "vertical",
|
|
31
|
+
allowedBlocks: props.allowedBlocks ? blocksByTag.expand(props.allowedBlocks) : undefined,
|
|
32
|
+
prioritizedInserterBlocks: props.prioritizedInserterBlocks,
|
|
33
|
+
renderAppender: props.appender
|
|
34
|
+
? () => _jsx(Appender, { ...props.appender })
|
|
35
|
+
: wp.blockEditor.InnerBlocks.ButtonBlockAppender,
|
|
36
|
+
templateLock: props.templateLock ?? false,
|
|
37
|
+
template: props.template ? transformBlockTemplate(props.template) : undefined,
|
|
38
|
+
});
|
|
39
|
+
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
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const blocks = useInnerBlocks();
|
|
54
|
+
return _jsx(ContentBlocks, { blocks: blocks, spacer: props.spacer, wrapBlock: props.wrapBlock });
|
|
55
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ContentBlock } from "./ContentBlocks";
|
|
2
|
+
/**
|
|
3
|
+
* Returns some very basic info about blocks in the project.
|
|
4
|
+
* This is purposely lean, to avoid bloated info.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getPublicBlockInfo(): {
|
|
7
|
+
[x: string]: PublicBlockMeta;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Takes raw content blocks from GraphQL, and adds flags to them.
|
|
11
|
+
* This is used by InnerBlocks, ContentBlocks and useInnerBlocks.
|
|
12
|
+
*
|
|
13
|
+
* Note that this function mutates the existing block, adding new properties.
|
|
14
|
+
*/
|
|
15
|
+
export declare function addBlockMetadata(blocks: ContentBlock[]): ContentBlock[];
|
|
16
|
+
export declare function getBlockMetadata(blockName: string): {
|
|
17
|
+
slug: string;
|
|
18
|
+
tags?: undefined;
|
|
19
|
+
flags?: undefined;
|
|
20
|
+
} | {
|
|
21
|
+
tags: never[];
|
|
22
|
+
flags: DefinedBlockFlags;
|
|
23
|
+
slug: BlockTypeName;
|
|
24
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { blockManifestReader } from "../internal";
|
|
2
|
+
/**
|
|
3
|
+
* Returns some very basic info about blocks in the project.
|
|
4
|
+
* This is purposely lean, to avoid bloated info.
|
|
5
|
+
*/
|
|
6
|
+
export function getPublicBlockInfo() {
|
|
7
|
+
return blockManifestReader.info;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Takes raw content blocks from GraphQL, and adds flags to them.
|
|
11
|
+
* This is used by InnerBlocks, ContentBlocks and useInnerBlocks.
|
|
12
|
+
*
|
|
13
|
+
* Note that this function mutates the existing block, adding new properties.
|
|
14
|
+
*/
|
|
15
|
+
export function addBlockMetadata(blocks) {
|
|
16
|
+
const out = blocks;
|
|
17
|
+
const infos = getPublicBlockInfo();
|
|
18
|
+
for (let block of out) {
|
|
19
|
+
const info = infos[block.blockName];
|
|
20
|
+
block.tags = info?.tags ?? [];
|
|
21
|
+
block.flags = info?.flags ?? {};
|
|
22
|
+
block.slug = (info?.slug ?? block.blockName);
|
|
23
|
+
if (block.innerBlocks && block.innerBlocks.length) {
|
|
24
|
+
addBlockMetadata(block.innerBlocks);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return out;
|
|
28
|
+
}
|
|
29
|
+
export function getBlockMetadata(blockName) {
|
|
30
|
+
const infos = getPublicBlockInfo();
|
|
31
|
+
const info = infos[blockName];
|
|
32
|
+
if (!info)
|
|
33
|
+
return {
|
|
34
|
+
slug: blockName,
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
tags: info.tags,
|
|
38
|
+
flags: info.flags,
|
|
39
|
+
slug: info.slug,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { QueryClientProvider } from "@tanstack/react-query";
|
|
3
|
+
import { createContext, Suspense, useContext } from "react";
|
|
4
|
+
import { getQueryClient } from "../../../utils/query-client";
|
|
5
|
+
import { blockManifestReader } from "../../internal";
|
|
6
|
+
import { ErrorBoundaryEditor } from "./ErrorBoundaryEditor";
|
|
7
|
+
export const BlockContext = createContext(undefined);
|
|
8
|
+
export function EditableBlock({ payload }) {
|
|
9
|
+
const block = useContext(BlockContext);
|
|
10
|
+
if (!block)
|
|
11
|
+
return null;
|
|
12
|
+
const getBlock = () => {
|
|
13
|
+
return blockManifestReader.value[block.name];
|
|
14
|
+
};
|
|
15
|
+
const BlockComponent = getBlock();
|
|
16
|
+
if (!BlockComponent)
|
|
17
|
+
return _jsx("div", { children: "Unable to load block component" });
|
|
18
|
+
return (_jsx(ErrorBoundaryEditor, { children: _jsx(QueryClientProvider, { client: getQueryClient(), children: _jsx(Suspense, { children: _jsx(BlockComponent, { ...payload }) }) }) }));
|
|
19
|
+
}
|
|
@@ -10,6 +10,6 @@ export declare class ErrorBoundaryEditor extends Component<Props, State> {
|
|
|
10
10
|
state: State;
|
|
11
11
|
static getDerivedStateFromError(err: Error): State;
|
|
12
12
|
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
13
|
-
render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | null | undefined;
|
|
13
|
+
render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode, any, any> | null | undefined;
|
|
14
14
|
}
|
|
15
15
|
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Component } from "react";
|
|
3
|
+
export class ErrorBoundaryEditor extends Component {
|
|
4
|
+
state = {
|
|
5
|
+
hasError: false,
|
|
6
|
+
};
|
|
7
|
+
static getDerivedStateFromError(err) {
|
|
8
|
+
// Update state so the next render will show the fallback UI.
|
|
9
|
+
return { hasError: true, error: err };
|
|
10
|
+
}
|
|
11
|
+
componentDidCatch(error, errorInfo) {
|
|
12
|
+
console.error("Uncaught error:", error, errorInfo);
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
if (this.state.hasError) {
|
|
16
|
+
const err = this.state.error;
|
|
17
|
+
return (_jsx("pre", { style: {
|
|
18
|
+
fontSize: "12px",
|
|
19
|
+
color: "red",
|
|
20
|
+
border: "1px solid red",
|
|
21
|
+
borderRadius: "4px",
|
|
22
|
+
padding: "4px",
|
|
23
|
+
overflowX: "auto",
|
|
24
|
+
}, children: err.stack }));
|
|
25
|
+
}
|
|
26
|
+
return this.props.children;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function resolveAcfBlockName(name) {
|
|
2
|
+
const acfName = "acf/" + name.replace("/", "-").replace("_", "");
|
|
3
|
+
return wp.blocks.getBlockType(acfName) ? acfName : name;
|
|
4
|
+
}
|
|
5
|
+
export function transformBlockTemplate(template) {
|
|
6
|
+
return template.map(([name, props, children]) => {
|
|
7
|
+
return [resolveAcfBlockName(name), props, children ? transformBlockTemplate(children) : undefined];
|
|
8
|
+
});
|
|
9
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const map = new Map();
|
|
2
|
+
/**
|
|
3
|
+
* Keeps track of blocks, by their tags.
|
|
4
|
+
*/
|
|
5
|
+
export const blocksByTag = {
|
|
6
|
+
add(block, tags) {
|
|
7
|
+
if (tags) {
|
|
8
|
+
for (let tag of tags) {
|
|
9
|
+
if (map.has(tag)) {
|
|
10
|
+
map.get(tag).add(block);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
map.set(tag, new Set([block]));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
// Expand a list of ED-style block names, core block names, or tag names — into standard wordpress block names
|
|
19
|
+
expand(blocks) {
|
|
20
|
+
const result = new Set();
|
|
21
|
+
if (Array.isArray(blocks)) {
|
|
22
|
+
for (let name of blocks) {
|
|
23
|
+
result.add(name);
|
|
24
|
+
if (name === "root") {
|
|
25
|
+
result.add("core/post-content");
|
|
26
|
+
}
|
|
27
|
+
if (name.match(/^[a-z0-9\-\_]+\/[a-z0-9\-\_]+$/)) {
|
|
28
|
+
// ACF block
|
|
29
|
+
result.add("acf/" + name.replace("/", "-").replace("_", ""));
|
|
30
|
+
}
|
|
31
|
+
if (map.has(name)) {
|
|
32
|
+
// Tagged blocks
|
|
33
|
+
const blockNames = map.get(name);
|
|
34
|
+
for (let name of blockNames) {
|
|
35
|
+
result.add(name);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return [...result.values()];
|
|
41
|
+
},
|
|
42
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PropsWithChildren } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Allows you to render arbitrary sidebar content when this block is selected.
|
|
4
|
+
*
|
|
5
|
+
* You can use this in cases where ACF is overkill.
|
|
6
|
+
*
|
|
7
|
+
* @see https://developer.wordpress.org/block-editor/getting-started/fundamentals/block-in-the-editor/#settings-sidebar
|
|
8
|
+
*/
|
|
9
|
+
export declare function InspectorControls(props: PropsWithChildren<{}>): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
export declare function BlockControls(props: PropsWithChildren<{}>): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Allows you to render arbitrary sidebar content when this block is selected.
|
|
4
|
+
*
|
|
5
|
+
* You can use this in cases where ACF is overkill.
|
|
6
|
+
*
|
|
7
|
+
* @see https://developer.wordpress.org/block-editor/getting-started/fundamentals/block-in-the-editor/#settings-sidebar
|
|
8
|
+
*/
|
|
9
|
+
export function InspectorControls(props) {
|
|
10
|
+
if (env.admin) {
|
|
11
|
+
return _jsx(wp.blockEditor.InspectorControls, { children: props.children });
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
export function BlockControls(props) {
|
|
16
|
+
if (env.admin) {
|
|
17
|
+
return _jsx(wp.blockEditor.BlockControls, { controls: undefined, children: props.children });
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { BlockTemplate } from "./block-templates";
|
|
2
|
+
export type EditorConfigItem = {
|
|
3
|
+
/** Optionally indicate that the post title field should be hidden. Use then when your header template includes a post title editor already. */
|
|
4
|
+
hideTitle?: boolean;
|
|
5
|
+
/** Allows you to add additional class names to blocks, depending on their type and state */
|
|
6
|
+
generateBlockClassName?: BlockWrapperClassGenerator;
|
|
7
|
+
/** The default blocks to insert when there are no (non-templated) blocks */
|
|
8
|
+
defaultBlocks?: BlockTemplate;
|
|
9
|
+
/** Blocks to ensure are inserted at the top of the page */
|
|
10
|
+
headerTemplate?: BlockTemplate;
|
|
11
|
+
/** Blocks to ensure are inserted at the bottom of the page */
|
|
12
|
+
footerTemplate?: BlockTemplate;
|
|
13
|
+
/** A full-page block template */
|
|
14
|
+
template?: BlockTemplate;
|
|
15
|
+
};
|
|
16
|
+
type BlockWrapperClassGenerator = (block: {
|
|
17
|
+
name: string;
|
|
18
|
+
slug: BlockTypeName | (string & {});
|
|
19
|
+
attributes: any;
|
|
20
|
+
clientId: string;
|
|
21
|
+
rootClientId: string;
|
|
22
|
+
canMove: boolean;
|
|
23
|
+
canRemove: boolean;
|
|
24
|
+
isSelected: boolean;
|
|
25
|
+
isSelectionEnabled: boolean;
|
|
26
|
+
tags?: DefinedBlockTags;
|
|
27
|
+
flags?: DefinedBlockFlags;
|
|
28
|
+
}, post: PostInfo) => string | void;
|
|
29
|
+
export declare const editorConfigStore: {
|
|
30
|
+
config: EditorConfig | null;
|
|
31
|
+
currentBlocksConfig: EditorConfigItem | null;
|
|
32
|
+
};
|
|
33
|
+
export declare function configureEditorBlocks(config: EditorConfigItem): void;
|
|
34
|
+
export declare function transformTemplateToBlocks(template: BlockTemplate, locked?: boolean): any;
|
|
35
|
+
type PostInfo = {
|
|
36
|
+
template: TemplateName | "default";
|
|
37
|
+
type: PostTypeName;
|
|
38
|
+
slug: string;
|
|
39
|
+
};
|
|
40
|
+
type MatcherFunction = (post: PostInfo) => boolean | void;
|
|
41
|
+
type Matcher = {
|
|
42
|
+
/** A matcher function, which can test the template and post type to check whether this config should be applied */
|
|
43
|
+
match: MatcherFunction;
|
|
44
|
+
/** Configuration for the editor, when the post type and template match */
|
|
45
|
+
config: EditorConfigItem | ((post: PostInfo) => EditorConfigItem);
|
|
46
|
+
};
|
|
47
|
+
type EditorConfig = {
|
|
48
|
+
/** A list of template/post type matchers, and the resulting editor config */
|
|
49
|
+
matchers: Matcher[];
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* This call should be placed in blocks/_editor.tsx
|
|
53
|
+
*/
|
|
54
|
+
export declare function defineEditorConfig(config: EditorConfig): void;
|
|
55
|
+
export declare function getEditingPostInfo(): PostInfo;
|
|
56
|
+
export declare function updateTemplateConfig(): void;
|
|
57
|
+
export declare function watchEditorTemplate(): void;
|
|
58
|
+
export {};
|
|
@@ -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
|
+
}
|