@puckeditor/cli 0.24.0-canary.301a0304
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/LICENSE +21 -0
- package/README.md +45 -0
- package/dist/bin.mjs +7304 -0
- package/dist/docs/api-reference/actions.md +63 -0
- package/dist/docs/api-reference/components/action-bar-action.md +35 -0
- package/dist/docs/api-reference/components/action-bar-group.md +24 -0
- package/dist/docs/api-reference/components/action-bar-label.md +25 -0
- package/dist/docs/api-reference/components/action-bar-separator.md +16 -0
- package/dist/docs/api-reference/components/action-bar.md +32 -0
- package/dist/docs/api-reference/components/auto-field.md +63 -0
- package/dist/docs/api-reference/components/drawer-item.md +75 -0
- package/dist/docs/api-reference/components/drawer.md +29 -0
- package/dist/docs/api-reference/components/drop-zone.md +232 -0
- package/dist/docs/api-reference/components/field-label.md +138 -0
- package/dist/docs/api-reference/components/inline-text-field.md +77 -0
- package/dist/docs/api-reference/components/puck-components.md +19 -0
- package/dist/docs/api-reference/components/puck-fields.md +39 -0
- package/dist/docs/api-reference/components/puck-layout.md +27 -0
- package/dist/docs/api-reference/components/puck-outline.md +19 -0
- package/dist/docs/api-reference/components/puck-preview.md +39 -0
- package/dist/docs/api-reference/components/puck.md +561 -0
- package/dist/docs/api-reference/components/render.md +94 -0
- package/dist/docs/api-reference/components/rich-text-menu-control.md +87 -0
- package/dist/docs/api-reference/components/rich-text-menu-group.md +27 -0
- package/dist/docs/api-reference/components/rich-text-menu.md +99 -0
- package/dist/docs/api-reference/components.md +32 -0
- package/dist/docs/api-reference/configuration/component-config.md +569 -0
- package/dist/docs/api-reference/configuration/config.md +108 -0
- package/dist/docs/api-reference/configuration.md +4 -0
- package/dist/docs/api-reference/data-model/app-state.md +168 -0
- package/dist/docs/api-reference/data-model/component-data.md +62 -0
- package/dist/docs/api-reference/data-model/data.md +95 -0
- package/dist/docs/api-reference/data-model/item-selector.md +34 -0
- package/dist/docs/api-reference/data-model/root-data.md +59 -0
- package/dist/docs/api-reference/data-model.md +8 -0
- package/dist/docs/api-reference/dictionary.md +172 -0
- package/dist/docs/api-reference/field-transforms.md +51 -0
- package/dist/docs/api-reference/fields/array.md +211 -0
- package/dist/docs/api-reference/fields/base.md +96 -0
- package/dist/docs/api-reference/fields/custom.md +193 -0
- package/dist/docs/api-reference/fields/external.md +413 -0
- package/dist/docs/api-reference/fields/number.md +132 -0
- package/dist/docs/api-reference/fields/object.md +78 -0
- package/dist/docs/api-reference/fields/radio.md +82 -0
- package/dist/docs/api-reference/fields/richtext.md +422 -0
- package/dist/docs/api-reference/fields/select.md +79 -0
- package/dist/docs/api-reference/fields/slot.md +302 -0
- package/dist/docs/api-reference/fields/text.md +93 -0
- package/dist/docs/api-reference/fields/textarea.md +93 -0
- package/dist/docs/api-reference/fields.md +16 -0
- package/dist/docs/api-reference/functions/migrate.md +204 -0
- package/dist/docs/api-reference/functions/register-overlay-portal.md +45 -0
- package/dist/docs/api-reference/functions/resolve-all-data.md +27 -0
- package/dist/docs/api-reference/functions/set-deep.md +55 -0
- package/dist/docs/api-reference/functions/transform-props.md +51 -0
- package/dist/docs/api-reference/functions/use-get-puck.md +24 -0
- package/dist/docs/api-reference/functions/use-puck.md +43 -0
- package/dist/docs/api-reference/functions/walk-tree.md +88 -0
- package/dist/docs/api-reference/functions.md +8 -0
- package/dist/docs/api-reference/overrides/action-bar.md +35 -0
- package/dist/docs/api-reference/overrides/component-overlay.md +41 -0
- package/dist/docs/api-reference/overrides/drawer-item.md +24 -0
- package/dist/docs/api-reference/overrides/drawer.md +19 -0
- package/dist/docs/api-reference/overrides/field-label.md +18 -0
- package/dist/docs/api-reference/overrides/field-types.md +51 -0
- package/dist/docs/api-reference/overrides/fields.md +19 -0
- package/dist/docs/api-reference/overrides/header-actions.md +24 -0
- package/dist/docs/api-reference/overrides/header.md +29 -0
- package/dist/docs/api-reference/overrides/iframe.md +32 -0
- package/dist/docs/api-reference/overrides/outline.md +19 -0
- package/dist/docs/api-reference/overrides/preview.md +19 -0
- package/dist/docs/api-reference/overrides/puck.md +19 -0
- package/dist/docs/api-reference/overrides.md +28 -0
- package/dist/docs/api-reference/permissions.md +55 -0
- package/dist/docs/api-reference/plugin.md +112 -0
- package/dist/docs/api-reference/plugins/blocks-plugin.md +57 -0
- package/dist/docs/api-reference/plugins/fields-plugin.md +68 -0
- package/dist/docs/api-reference/plugins/legacy-side-bar-plugin.md +54 -0
- package/dist/docs/api-reference/plugins/outline-plugin.md +57 -0
- package/dist/docs/api-reference/puck-api.md +278 -0
- package/dist/docs/api-reference/theming/action-bar.md +32 -0
- package/dist/docs/api-reference/theming/button.md +65 -0
- package/dist/docs/api-reference/theming/canvas.md +20 -0
- package/dist/docs/api-reference/theming/computed-values.md +194 -0
- package/dist/docs/api-reference/theming/drawer.md +34 -0
- package/dist/docs/api-reference/theming/fields.md +70 -0
- package/dist/docs/api-reference/theming/global.md +127 -0
- package/dist/docs/api-reference/theming/header.md +19 -0
- package/dist/docs/api-reference/theming/icon-button.md +28 -0
- package/dist/docs/api-reference/theming/outline.md +35 -0
- package/dist/docs/api-reference/theming/plugin-bar.md +24 -0
- package/dist/docs/api-reference/theming/sidebar.md +19 -0
- package/dist/docs/api-reference/theming/slot.md +27 -0
- package/dist/docs/cli.md +201 -0
- package/dist/docs/extending-puck/composition.md +54 -0
- package/dist/docs/extending-puck/custom-fields.md +133 -0
- package/dist/docs/extending-puck/field-transforms.md +89 -0
- package/dist/docs/extending-puck/internal-puck-api.md +96 -0
- package/dist/docs/extending-puck/plugins.md +159 -0
- package/dist/docs/extending-puck/theming.md +88 -0
- package/dist/docs/extending-puck/ui-overrides.md +134 -0
- package/dist/docs/getting-started.md +68 -0
- package/dist/docs/guides/migrations/dropzones-to-slots.md +138 -0
- package/dist/docs/index.json +466 -0
- package/dist/docs/index.md +37 -0
- package/dist/docs/integrating-puck/categories.md +92 -0
- package/dist/docs/integrating-puck/component-configuration.md +159 -0
- package/dist/docs/integrating-puck/data-migration.md +86 -0
- package/dist/docs/integrating-puck/dynamic-fields.md +86 -0
- package/dist/docs/integrating-puck/dynamic-props.md +137 -0
- package/dist/docs/integrating-puck/external-data-sources.md +149 -0
- package/dist/docs/integrating-puck/feature-toggling.md +121 -0
- package/dist/docs/integrating-puck/localization.md +228 -0
- package/dist/docs/integrating-puck/multi-column-layouts.md +226 -0
- package/dist/docs/integrating-puck/overlay-portals.md +25 -0
- package/dist/docs/integrating-puck/rich-text-editing.md +230 -0
- package/dist/docs/integrating-puck/root-configuration.md +171 -0
- package/dist/docs/integrating-puck/server-components.md +199 -0
- package/dist/docs/integrating-puck/styling.md +117 -0
- package/dist/docs/integrating-puck/viewports.md +75 -0
- package/dist/templates/astro/README.md +52 -0
- package/dist/templates/astro/_gitignore +24 -0
- package/dist/templates/astro/astro.config.mjs +14 -0
- package/dist/templates/astro/database.json +1 -0
- package/dist/templates/astro/package.json +25 -0
- package/dist/templates/astro/public/favicon.svg +9 -0
- package/dist/templates/astro/src/lib/pages.ts +21 -0
- package/dist/templates/astro/src/lib/resolve-puck-path.ts +19 -0
- package/dist/templates/astro/src/pages/[...puckPath].astro +25 -0
- package/dist/templates/astro/src/pages/api/pages.ts +18 -0
- package/dist/templates/astro/src/puck/editor.tsx +32 -0
- package/dist/templates/astro/src/puck/pages.ts +15 -0
- package/dist/templates/astro/src/puck/render.tsx +9 -0
- package/dist/templates/astro/src/puck.config.tsx +23 -0
- package/dist/templates/astro/tsconfig.json +14 -0
- package/dist/templates/astro-ai/README.md +64 -0
- package/dist/templates/astro-ai/_gitignore +24 -0
- package/dist/templates/astro-ai/astro.config.mjs +21 -0
- package/dist/templates/astro-ai/database.json +1 -0
- package/dist/templates/astro-ai/package.json +27 -0
- package/dist/templates/astro-ai/public/favicon.svg +9 -0
- package/dist/templates/astro-ai/src/lib/pages.ts +21 -0
- package/dist/templates/astro-ai/src/lib/resolve-puck-path.ts +19 -0
- package/dist/templates/astro-ai/src/pages/[...puckPath].astro +25 -0
- package/dist/templates/astro-ai/src/pages/api/pages.ts +18 -0
- package/dist/templates/astro-ai/src/pages/api/puck/[...all].ts +36 -0
- package/dist/templates/astro-ai/src/puck/editor.tsx +53 -0
- package/dist/templates/astro-ai/src/puck/pages.ts +15 -0
- package/dist/templates/astro-ai/src/puck/render.tsx +10 -0
- package/dist/templates/astro-ai/src/puck.config.tsx +23 -0
- package/dist/templates/astro-ai/tsconfig.json +14 -0
- package/dist/templates/express/README.md +66 -0
- package/dist/templates/express/_gitignore +16 -0
- package/dist/templates/express/database.json +1 -0
- package/dist/templates/express/package.json +20 -0
- package/dist/templates/express/src/index.ts +15 -0
- package/dist/templates/express/src/puck/pages.ts +39 -0
- package/dist/templates/express/tsconfig.json +12 -0
- package/dist/templates/express-ai/README.md +81 -0
- package/dist/templates/express-ai/_gitignore +16 -0
- package/dist/templates/express-ai/database.json +1 -0
- package/dist/templates/express-ai/package.json +22 -0
- package/dist/templates/express-ai/src/index.ts +17 -0
- package/dist/templates/express-ai/src/puck/cloud.ts +71 -0
- package/dist/templates/express-ai/src/puck/pages.ts +39 -0
- package/dist/templates/express-ai/tsconfig.json +12 -0
- package/dist/templates/hono/README.md +66 -0
- package/dist/templates/hono/_gitignore +32 -0
- package/dist/templates/hono/database.json +1 -0
- package/dist/templates/hono/package.json +20 -0
- package/dist/templates/hono/src/index.ts +21 -0
- package/dist/templates/hono/src/puck/pages.ts +32 -0
- package/dist/templates/hono/tsconfig.json +13 -0
- package/dist/templates/hono-ai/README.md +81 -0
- package/dist/templates/hono-ai/_gitignore +32 -0
- package/dist/templates/hono-ai/database.json +1 -0
- package/dist/templates/hono-ai/package.json +22 -0
- package/dist/templates/hono-ai/src/index.ts +23 -0
- package/dist/templates/hono-ai/src/puck/cloud.ts +30 -0
- package/dist/templates/hono-ai/src/puck/pages.ts +32 -0
- package/dist/templates/hono-ai/tsconfig.json +13 -0
- package/dist/templates/manifest.json +4 -0
- package/dist/templates/next/README.md +112 -0
- package/dist/templates/next/_gitignore +35 -0
- package/dist/templates/next/app/[...puckPath]/client.tsx +9 -0
- package/dist/templates/next/app/[...puckPath]/page.tsx +49 -0
- package/dist/templates/next/app/favicon.ico +0 -0
- package/dist/templates/next/app/layout.tsx +13 -0
- package/dist/templates/next/app/page.tsx +1 -0
- package/dist/templates/next/app/puck/[...puckPath]/client.tsx +20 -0
- package/dist/templates/next/app/puck/[...puckPath]/page.tsx +55 -0
- package/dist/templates/next/app/puck/api/route.ts +25 -0
- package/dist/templates/next/app/puck/page.tsx +3 -0
- package/dist/templates/next/app/styles.css +3 -0
- package/dist/templates/next/database.json +1 -0
- package/dist/templates/next/lib/get-page.ts +11 -0
- package/dist/templates/next/next.config.js +3 -0
- package/dist/templates/next/package.json +25 -0
- package/dist/templates/next/proxy.ts +27 -0
- package/dist/templates/next/puck.config.tsx +25 -0
- package/dist/templates/next/tsconfig/base.json +20 -0
- package/dist/templates/next/tsconfig/nextjs.json +21 -0
- package/dist/templates/next/tsconfig.json +8 -0
- package/dist/templates/next-ai/README.md +169 -0
- package/dist/templates/next-ai/_gitignore +35 -0
- package/dist/templates/next-ai/app/[...puckPath]/client.tsx +12 -0
- package/dist/templates/next-ai/app/[...puckPath]/page.tsx +49 -0
- package/dist/templates/next-ai/app/api/pages/route.ts +26 -0
- package/dist/templates/next-ai/app/api/puck/[...all]/route.ts +31 -0
- package/dist/templates/next-ai/app/layout.tsx +13 -0
- package/dist/templates/next-ai/app/page.tsx +1 -0
- package/dist/templates/next-ai/app/puck/[...puckPath]/client.tsx +38 -0
- package/dist/templates/next-ai/app/puck/[...puckPath]/page.tsx +57 -0
- package/dist/templates/next-ai/app/puck/page.tsx +3 -0
- package/dist/templates/next-ai/app/styles.css +3 -0
- package/dist/templates/next-ai/database.json +1 -0
- package/dist/templates/next-ai/lib/get-page.ts +11 -0
- package/dist/templates/next-ai/next.config.js +3 -0
- package/dist/templates/next-ai/package.json +27 -0
- package/dist/templates/next-ai/proxy.ts +27 -0
- package/dist/templates/next-ai/public/favicon.ico +0 -0
- package/dist/templates/next-ai/puck.config.tsx +25 -0
- package/dist/templates/next-ai/tsconfig/base.json +20 -0
- package/dist/templates/next-ai/tsconfig/nextjs.json +21 -0
- package/dist/templates/next-ai/tsconfig.json +8 -0
- package/dist/templates/react-router/README.md +113 -0
- package/dist/templates/react-router/_gitignore +6 -0
- package/dist/templates/react-router/app/components/puck-render.tsx +8 -0
- package/dist/templates/react-router/app/lib/pages.server.ts +29 -0
- package/dist/templates/react-router/app/lib/resolve-puck-path.server.ts +19 -0
- package/dist/templates/react-router/app/root.tsx +65 -0
- package/dist/templates/react-router/app/routes/_index.tsx +31 -0
- package/dist/templates/react-router/app/routes/puck-splat.tsx +95 -0
- package/dist/templates/react-router/app/routes.ts +7 -0
- package/dist/templates/react-router/database.json +1 -0
- package/dist/templates/react-router/package.json +33 -0
- package/dist/templates/react-router/public/favicon.ico +0 -0
- package/dist/templates/react-router/puck.config.tsx +23 -0
- package/dist/templates/react-router/react-router.config.ts +7 -0
- package/dist/templates/react-router/tsconfig.json +29 -0
- package/dist/templates/react-router/vite.config.ts +10 -0
- package/dist/templates/react-router-ai/README.md +172 -0
- package/dist/templates/react-router-ai/_gitignore +6 -0
- package/dist/templates/react-router-ai/app/components/puck-render.tsx +11 -0
- package/dist/templates/react-router-ai/app/lib/pages.server.ts +29 -0
- package/dist/templates/react-router-ai/app/lib/resolve-puck-path.server.ts +19 -0
- package/dist/templates/react-router-ai/app/root.tsx +65 -0
- package/dist/templates/react-router-ai/app/routes/_index.tsx +31 -0
- package/dist/templates/react-router-ai/app/routes/api.puck.ts +34 -0
- package/dist/templates/react-router-ai/app/routes/puck-splat.tsx +119 -0
- package/dist/templates/react-router-ai/app/routes.ts +8 -0
- package/dist/templates/react-router-ai/database.json +1 -0
- package/dist/templates/react-router-ai/package.json +35 -0
- package/dist/templates/react-router-ai/public/favicon.ico +0 -0
- package/dist/templates/react-router-ai/puck.config.tsx +25 -0
- package/dist/templates/react-router-ai/react-router.config.ts +7 -0
- package/dist/templates/react-router-ai/tsconfig.json +29 -0
- package/dist/templates/react-router-ai/vite.config.ts +10 -0
- package/dist/templates/tanstack-start/README.md +113 -0
- package/dist/templates/tanstack-start/_gitignore +12 -0
- package/dist/templates/tanstack-start/database.json +1 -0
- package/dist/templates/tanstack-start/package.json +26 -0
- package/dist/templates/tanstack-start/puck.config.tsx +23 -0
- package/dist/templates/tanstack-start/src/components/puck-render.tsx +8 -0
- package/dist/templates/tanstack-start/src/lib/pages.server.ts +26 -0
- package/dist/templates/tanstack-start/src/lib/pages.ts +39 -0
- package/dist/templates/tanstack-start/src/lib/resolve-puck-path.ts +19 -0
- package/dist/templates/tanstack-start/src/routeTree.gen.ts +86 -0
- package/dist/templates/tanstack-start/src/router.tsx +19 -0
- package/dist/templates/tanstack-start/src/routes/$.tsx +41 -0
- package/dist/templates/tanstack-start/src/routes/__root.tsx +42 -0
- package/dist/templates/tanstack-start/src/routes/index.tsx +18 -0
- package/dist/templates/tanstack-start/src/styles.css +13 -0
- package/dist/templates/tanstack-start/tsconfig.json +24 -0
- package/dist/templates/tanstack-start/vite.config.ts +15 -0
- package/dist/templates/tanstack-start-ai/README.md +171 -0
- package/dist/templates/tanstack-start-ai/_gitignore +12 -0
- package/dist/templates/tanstack-start-ai/database.json +1 -0
- package/dist/templates/tanstack-start-ai/package.json +28 -0
- package/dist/templates/tanstack-start-ai/puck.config.tsx +23 -0
- package/dist/templates/tanstack-start-ai/src/components/puck-render.tsx +11 -0
- package/dist/templates/tanstack-start-ai/src/lib/pages.server.ts +26 -0
- package/dist/templates/tanstack-start-ai/src/lib/pages.ts +39 -0
- package/dist/templates/tanstack-start-ai/src/lib/resolve-puck-path.ts +19 -0
- package/dist/templates/tanstack-start-ai/src/routeTree.gen.ts +104 -0
- package/dist/templates/tanstack-start-ai/src/router.tsx +19 -0
- package/dist/templates/tanstack-start-ai/src/routes/$.tsx +73 -0
- package/dist/templates/tanstack-start-ai/src/routes/__root.tsx +42 -0
- package/dist/templates/tanstack-start-ai/src/routes/api/puck/$.ts +39 -0
- package/dist/templates/tanstack-start-ai/src/routes/index.tsx +18 -0
- package/dist/templates/tanstack-start-ai/src/styles.css +13 -0
- package/dist/templates/tanstack-start-ai/tsconfig.json +24 -0
- package/dist/templates/tanstack-start-ai/vite.config.ts +15 -0
- package/dist/templates/vinext/README.md +112 -0
- package/dist/templates/vinext/_gitignore +33 -0
- package/dist/templates/vinext/app/[...puckPath]/client.tsx +9 -0
- package/dist/templates/vinext/app/[...puckPath]/page.tsx +49 -0
- package/dist/templates/vinext/app/favicon.ico +0 -0
- package/dist/templates/vinext/app/layout.tsx +13 -0
- package/dist/templates/vinext/app/page.tsx +1 -0
- package/dist/templates/vinext/app/puck/[...puckPath]/client.tsx +20 -0
- package/dist/templates/vinext/app/puck/[...puckPath]/page.tsx +55 -0
- package/dist/templates/vinext/app/puck/api/route.ts +25 -0
- package/dist/templates/vinext/app/puck/page.tsx +3 -0
- package/dist/templates/vinext/app/styles.css +3 -0
- package/dist/templates/vinext/database.json +1 -0
- package/dist/templates/vinext/lib/get-page.ts +11 -0
- package/dist/templates/vinext/package.json +30 -0
- package/dist/templates/vinext/proxy.ts +27 -0
- package/dist/templates/vinext/puck.config.tsx +25 -0
- package/dist/templates/vinext/tsconfig.json +30 -0
- package/dist/templates/vinext/vite.config.ts +6 -0
- package/dist/templates/vinext-ai/README.md +169 -0
- package/dist/templates/vinext-ai/_gitignore +33 -0
- package/dist/templates/vinext-ai/app/[...puckPath]/client.tsx +12 -0
- package/dist/templates/vinext-ai/app/[...puckPath]/page.tsx +49 -0
- package/dist/templates/vinext-ai/app/api/pages/route.ts +26 -0
- package/dist/templates/vinext-ai/app/api/puck/[...all]/route.ts +31 -0
- package/dist/templates/vinext-ai/app/layout.tsx +13 -0
- package/dist/templates/vinext-ai/app/page.tsx +1 -0
- package/dist/templates/vinext-ai/app/puck/[...puckPath]/client.tsx +38 -0
- package/dist/templates/vinext-ai/app/puck/[...puckPath]/page.tsx +57 -0
- package/dist/templates/vinext-ai/app/puck/page.tsx +3 -0
- package/dist/templates/vinext-ai/app/styles.css +3 -0
- package/dist/templates/vinext-ai/database.json +1 -0
- package/dist/templates/vinext-ai/lib/get-page.ts +11 -0
- package/dist/templates/vinext-ai/package.json +32 -0
- package/dist/templates/vinext-ai/proxy.ts +27 -0
- package/dist/templates/vinext-ai/public/favicon.ico +0 -0
- package/dist/templates/vinext-ai/puck.config.tsx +25 -0
- package/dist/templates/vinext-ai/tsconfig.json +30 -0
- package/dist/templates/vinext-ai/vite.config.ts +9 -0
- package/dist/templates/vite/README.md +56 -0
- package/dist/templates/vite/_gitignore +24 -0
- package/dist/templates/vite/database.json +1 -0
- package/dist/templates/vite/index.html +12 -0
- package/dist/templates/vite/package.json +29 -0
- package/dist/templates/vite/server/index.ts +13 -0
- package/dist/templates/vite/server/prod.ts +18 -0
- package/dist/templates/vite/server/puck/pages.ts +32 -0
- package/dist/templates/vite/src/App.tsx +11 -0
- package/dist/templates/vite/src/main.tsx +12 -0
- package/dist/templates/vite/src/puck/editor.tsx +28 -0
- package/dist/templates/vite/src/puck/page.tsx +27 -0
- package/dist/templates/vite/src/puck/pages.ts +15 -0
- package/dist/templates/vite/src/puck/root.tsx +27 -0
- package/dist/templates/vite/src/puck.config.tsx +23 -0
- package/dist/templates/vite/tsconfig.app.json +26 -0
- package/dist/templates/vite/tsconfig.json +7 -0
- package/dist/templates/vite/tsconfig.node.json +23 -0
- package/dist/templates/vite/vite.config.ts +14 -0
- package/dist/templates/vite-ai/README.md +67 -0
- package/dist/templates/vite-ai/_gitignore +24 -0
- package/dist/templates/vite-ai/database.json +1 -0
- package/dist/templates/vite-ai/index.html +12 -0
- package/dist/templates/vite-ai/package.json +31 -0
- package/dist/templates/vite-ai/server/index.ts +15 -0
- package/dist/templates/vite-ai/server/prod.ts +18 -0
- package/dist/templates/vite-ai/server/puck/cloud.ts +30 -0
- package/dist/templates/vite-ai/server/puck/pages.ts +32 -0
- package/dist/templates/vite-ai/src/App.tsx +11 -0
- package/dist/templates/vite-ai/src/main.tsx +12 -0
- package/dist/templates/vite-ai/src/puck/editor.tsx +49 -0
- package/dist/templates/vite-ai/src/puck/page.tsx +28 -0
- package/dist/templates/vite-ai/src/puck/pages.ts +15 -0
- package/dist/templates/vite-ai/src/puck/root.tsx +27 -0
- package/dist/templates/vite-ai/src/puck.config.tsx +23 -0
- package/dist/templates/vite-ai/tsconfig.app.json +26 -0
- package/dist/templates/vite-ai/tsconfig.json +7 -0
- package/dist/templates/vite-ai/tsconfig.node.json +23 -0
- package/dist/templates/vite-ai/vite.config.ts +14 -0
- package/package.json +51 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# preview
|
|
2
|
+
|
|
3
|
+
Override the drag-and-drop preview.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
const overrides = {
|
|
7
|
+
preview: ({ children }) => <div>{children}</div>,
|
|
8
|
+
};
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Props
|
|
12
|
+
|
|
13
|
+
| Prop | Example | Type |
|
|
14
|
+
| ----------------------- | --------- | --------- |
|
|
15
|
+
| [`children`](#children) | `<div />` | ReactNode |
|
|
16
|
+
|
|
17
|
+
### `children`
|
|
18
|
+
|
|
19
|
+
The default node for the preview.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# puck
|
|
2
|
+
|
|
3
|
+
Override the Puck children. This is the equivalent of passing in [`children`](/docs/api-reference/components/puck#children) to the [`<Puck>`](/docs/api-reference/components/puck) component.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
const overrides = {
|
|
7
|
+
puck: ({ children }) => <div>{children}</div>,
|
|
8
|
+
};
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Props
|
|
12
|
+
|
|
13
|
+
| Prop | Example | Type |
|
|
14
|
+
| ----------------------- | --------- | --------- |
|
|
15
|
+
| [`children`](#children) | `<div />` | ReactNode |
|
|
16
|
+
|
|
17
|
+
### `children`
|
|
18
|
+
|
|
19
|
+
The default node for the [`<Puck>`](/docs/api-reference/components/puck) children.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Overrides
|
|
2
|
+
|
|
3
|
+
> **Note:** The overrides API is highly experimental and is likely to experience breaking
|
|
4
|
+
> changes.
|
|
5
|
+
|
|
6
|
+
An object describing render functions to override the default Puck interface.
|
|
7
|
+
|
|
8
|
+
```tsx
|
|
9
|
+
const overrides = {
|
|
10
|
+
header: () => <header>My header</header>,
|
|
11
|
+
};
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Available overrides
|
|
15
|
+
|
|
16
|
+
- [`actionBar`](/docs/api-reference/overrides/action-bar): Override the action bar.
|
|
17
|
+
- [`componentOverlay`](/docs/api-reference/overrides/component-overlay): Override the overlay shown on hover or selection of a component.
|
|
18
|
+
- [`drawer`](/docs/api-reference/overrides/drawer): Override the component drawer.
|
|
19
|
+
- [`drawerItem`](/docs/api-reference/overrides/drawer-item): Override an item within the component drawer.
|
|
20
|
+
- [`fields`](/docs/api-reference/overrides/fields): Override the fields wrapper.
|
|
21
|
+
- [`fieldLabel`](/docs/api-reference/overrides/field-label): Override the [field labels](/docs/api-reference/configuration/field-label).
|
|
22
|
+
- [`fieldTypes`](/docs/api-reference/overrides/field-types): Override each [field type](/docs/api-reference/fields).
|
|
23
|
+
- [`header`](/docs/api-reference/overrides/header): Override the header.
|
|
24
|
+
- [`headerActions`](/docs/api-reference/overrides/header-actions): Override the header actions. Return a fragment so your items appear inline.
|
|
25
|
+
- [`iframe`](/docs/api-reference/overrides/iframe): Override the root of the iframe. Useful for injecting styles.
|
|
26
|
+
- [`outline`](/docs/api-reference/overrides/outline): Override the outline.
|
|
27
|
+
- [`preview`](/docs/api-reference/overrides/preview): Override the drag-and-drop preview.
|
|
28
|
+
- [`puck`](/docs/api-reference/overrides/puck): Override the Puck children. This is the equivalent of passing in [`children`](/docs/api-reference/components/puck#children) to the [`<Puck>`](/docs/api-reference/components/puck) component.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Permissions
|
|
2
|
+
|
|
3
|
+
Permissions enable the [toggling of Puck features](/docs/integrating-puck/feature-toggling). There are three types of permissions:
|
|
4
|
+
|
|
5
|
+
1. **Global permissions** are shared across the entire Puck application. Controlled via the `permissions` prop on the `<Puck>` component.
|
|
6
|
+
2. **Component permissions** allow feature control across for all instances of a given component type. Controlled by the `permissions` component config API.
|
|
7
|
+
3. **Dynamic permissions** enable control after each data change, and are ideal for per-instance component permissions. Controlled by the `resolvePermissions` component config API.
|
|
8
|
+
|
|
9
|
+
## APIs
|
|
10
|
+
|
|
11
|
+
### Setting permissions
|
|
12
|
+
|
|
13
|
+
1. Global [`permissions` prop](/docs/api-reference/components/puck#permissions)
|
|
14
|
+
2. Component [`permissions` parameter](/docs/api-reference/configuration/component-config#permissions)
|
|
15
|
+
3. Component [`resolvePermissions` parameter](/docs/api-reference/configuration/component-config#resolvepermissionsdata-params)
|
|
16
|
+
|
|
17
|
+
### Extending permissions
|
|
18
|
+
|
|
19
|
+
1. `getPermissions`
|
|
20
|
+
2. `refreshPermissions`
|
|
21
|
+
|
|
22
|
+
## Supported permissions
|
|
23
|
+
|
|
24
|
+
| Param | Example | Type | Default | Status |
|
|
25
|
+
| ------------------------- | ----------------- | ------- | ----------- | ------ |
|
|
26
|
+
| [`delete`](#delete) | `delete: true` | Boolean | `true` | - |
|
|
27
|
+
| [`drag`](#drag) | `drag: true` | Boolean | `true` | - |
|
|
28
|
+
| [`duplicate`](#duplicate) | `duplicate: true` | Boolean | `true` | - |
|
|
29
|
+
| [`edit`](#edit) | `edit: true` | Boolean | `true` | - |
|
|
30
|
+
| [`insert`](#insert) | `insert: true` | Boolean | `true` | - |
|
|
31
|
+
| [`...custom`](#custom) | `myPerm: true` | Boolean | `undefined` | - |
|
|
32
|
+
|
|
33
|
+
### `delete`
|
|
34
|
+
|
|
35
|
+
Enable deletion of components.
|
|
36
|
+
|
|
37
|
+
### `drag`
|
|
38
|
+
|
|
39
|
+
Enable component dragging. Disabling this will lock the component in place, but other components can still be dragged around it.
|
|
40
|
+
|
|
41
|
+
### `duplicate`
|
|
42
|
+
|
|
43
|
+
Enable duplication of components.
|
|
44
|
+
|
|
45
|
+
### `edit`
|
|
46
|
+
|
|
47
|
+
Enable field editing. This is the same as setting `readOnly` to `true` for all fields.
|
|
48
|
+
|
|
49
|
+
### `insert`
|
|
50
|
+
|
|
51
|
+
Enable insertion of new components. Disabling this will disable the component list items.
|
|
52
|
+
|
|
53
|
+
### `...custom`
|
|
54
|
+
|
|
55
|
+
Custom permissions enable you to control your own functionality when [extending Puck](/docs/extending-puck/composition).
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Plugin
|
|
2
|
+
|
|
3
|
+
A plugin is an extension that enhances the capabilities of Puck.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import { Puck } from "@puckeditor/core";
|
|
7
|
+
|
|
8
|
+
const MyPlugin = {
|
|
9
|
+
name: "my-plugin", // Globally unique name
|
|
10
|
+
label: "My plugin", // Plugin rail label
|
|
11
|
+
icon: <svg />, // Icon for plugin rail
|
|
12
|
+
render: () => <div>My plugin</div>, // UI for plugin panel
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export function Editor() {
|
|
16
|
+
return (
|
|
17
|
+
<Puck
|
|
18
|
+
// ...
|
|
19
|
+
plugins={[MyPlugin]}
|
|
20
|
+
/>
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Params
|
|
26
|
+
|
|
27
|
+
| Prop | Example | Type | Status |
|
|
28
|
+
| ----------------------------------------- | ------------------------------------------ | ------------------------------------------------------- | ------ |
|
|
29
|
+
| [`icon`](#icon) | `icon: <Heading1 />` | ReactNode | - |
|
|
30
|
+
| [`label`](#label) | `label: "Audit"` | String | - |
|
|
31
|
+
| [`fieldTransforms`](#fieldtransforms) | `fieldTransforms: { text: () => <div /> }` | [FieldTransforms](/docs/api-reference/field-transforms) | - |
|
|
32
|
+
| [`mobilePanelHeight`](#mobilepanelheight) | `mobilePanelHeight: "min-content"` | `"toggle" \| "min-content"` | - |
|
|
33
|
+
| [`name`](#name) | `name: "audit"` | String | - |
|
|
34
|
+
| [`render`](#render) | `render: () => <div />` | `() => ReactElement` | - |
|
|
35
|
+
| [`overrides`](#overrides) | `overrides: { fields: () => <div /> }` | [Overrides](/docs/api-reference/overrides) | - |
|
|
36
|
+
|
|
37
|
+
## Optional params
|
|
38
|
+
|
|
39
|
+
### `icon`
|
|
40
|
+
|
|
41
|
+
React node displayed alongside `label` in the plugin rail.
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
const MyPlugin = {
|
|
45
|
+
icon: <MyIcon />,
|
|
46
|
+
};
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Puck uses [Lucide icons](https://lucide.dev/icons/). You can use [lucide-react](https://lucide.dev/guide/packages/lucide-react) to choose a similar icon, if desired.
|
|
50
|
+
|
|
51
|
+
### `label`
|
|
52
|
+
|
|
53
|
+
Human-readable label shown in the plugin rail. Falls back to `name`.
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
const MyPlugin = {
|
|
57
|
+
label: "My plugin", // Human-readable label
|
|
58
|
+
};
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### `fieldTransforms`
|
|
62
|
+
|
|
63
|
+
Transform the value of a field before rendering in the editor. Implements the [Field Transforms API](/docs/api-reference/field-transforms).
|
|
64
|
+
|
|
65
|
+
```tsx
|
|
66
|
+
const MyPlugin = {
|
|
67
|
+
fieldTransforms: {
|
|
68
|
+
// Make all props powered by "text" field pink in the editor
|
|
69
|
+
text: ({ value }) => <span style={{ color: "hotpink" }}>{value}</span>,
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### `mobilePanelHeight`
|
|
75
|
+
|
|
76
|
+
Controls how the plugin panel behaves on mobile screens.
|
|
77
|
+
|
|
78
|
+
- `"toggle"` (default): show a smaller plugin panel with a maximize button to expand it.
|
|
79
|
+
- `"min-content"`: size the panel to the height of its content.
|
|
80
|
+
|
|
81
|
+
### `name`
|
|
82
|
+
|
|
83
|
+
A globally unique name for the plugin. When `render` is provided, `name` is required for the plugin to appear within the plugin rail. The currently open plugin is tracked in [`ui.plugin.current`](/docs/api-reference/data-model/app-state#uiplugincurrent).
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
const MyPlugin = {
|
|
87
|
+
name: "my-plugin", // Globally unique identifier
|
|
88
|
+
};
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### `overrides`
|
|
92
|
+
|
|
93
|
+
Override the render functions for specific portions of the Puck UI. Implements the [`overrides` API](/docs/api-reference/overrides).
|
|
94
|
+
|
|
95
|
+
```tsx
|
|
96
|
+
const MyPlugin = {
|
|
97
|
+
overrides: {
|
|
98
|
+
// Make all drawer items pink
|
|
99
|
+
drawerItem: ({ name }) => <div style={{ color: "hotpink" }}>{name}</div>,
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### `render`
|
|
105
|
+
|
|
106
|
+
Render function for the plugin panel, shown when the plugin is selected in the plugin rail.
|
|
107
|
+
|
|
108
|
+
```tsx
|
|
109
|
+
const MyPlugin = {
|
|
110
|
+
render: () => <div>My plugin</div>,
|
|
111
|
+
};
|
|
112
|
+
```
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# blocksPlugin
|
|
2
|
+
|
|
3
|
+
Show the component drawer for dragging new components onto the canvas.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import { Puck, blocksPlugin } from "@puckeditor/core";
|
|
7
|
+
|
|
8
|
+
const blocks = blocksPlugin();
|
|
9
|
+
|
|
10
|
+
export function Editor() {
|
|
11
|
+
return <Puck plugins={[blocks]} />;
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**This plugin is included by default.** Explicitly including it allows you to reorder plugins in the plugin rail.
|
|
16
|
+
|
|
17
|
+
## Params
|
|
18
|
+
|
|
19
|
+
| Param | Example | Type | Status |
|
|
20
|
+
| ----------------- | ----------------- | --------- | ------ |
|
|
21
|
+
| [`icon`](#icon) | `icon: <Box />` | ReactNode | - |
|
|
22
|
+
| [`label`](#label) | `label: "Blocks"` | String | - |
|
|
23
|
+
|
|
24
|
+
## Optional params
|
|
25
|
+
|
|
26
|
+
### `icon`
|
|
27
|
+
|
|
28
|
+
React node displayed alongside `label` in the plugin rail. Defaults to a hammer icon.
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { Puck, blocksPlugin } from "@puckeditor/core";
|
|
32
|
+
import { Box } from "lucide-react";
|
|
33
|
+
|
|
34
|
+
const blocks = blocksPlugin({
|
|
35
|
+
icon: <Box />,
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
export function Editor() {
|
|
39
|
+
return <Puck plugins={[blocks]} />;
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### `label`
|
|
44
|
+
|
|
45
|
+
Label shown in the plugin rail. Defaults to `"Blocks"`.
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
import { Puck, blocksPlugin } from "@puckeditor/core";
|
|
49
|
+
|
|
50
|
+
const blocks = blocksPlugin({
|
|
51
|
+
label: "Components",
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
export function Editor() {
|
|
55
|
+
return <Puck plugins={[blocks]} />;
|
|
56
|
+
}
|
|
57
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# fieldsPlugin
|
|
2
|
+
|
|
3
|
+
Show the fields for the currently selected component. On desktop, the fields will appear in the right-hand sidebar. On mobile, they will appear in the plugin rail.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import { Puck, fieldsPlugin } from "@puckeditor/core";
|
|
7
|
+
|
|
8
|
+
const fields = fieldsPlugin();
|
|
9
|
+
|
|
10
|
+
export function Editor() {
|
|
11
|
+
return <Puck plugins={[fields]} />;
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**This plugin is included by default.** Explicitly including it allows you to reorder plugins in the plugin rail, and configure behavior.
|
|
16
|
+
|
|
17
|
+
## Params
|
|
18
|
+
|
|
19
|
+
| Param | Example | Type | Status |
|
|
20
|
+
| ----------------------------------- | ------------------------ | ----------------- | ------ |
|
|
21
|
+
| [`desktopSideBar`](#desktopsidebar) | `desktopSideBar: "left"` | "left" \| "right" | - |
|
|
22
|
+
| [`icon`](#icon) | `icon: <FormInput />` | ReactNode | - |
|
|
23
|
+
| [`label`](#label) | `label: "Fields"` | String | - |
|
|
24
|
+
|
|
25
|
+
## Optional params
|
|
26
|
+
|
|
27
|
+
### `desktopSideBar`
|
|
28
|
+
|
|
29
|
+
Display the plugin in the left or right sidebar on desktop. This field is `"right"` by default.
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
const fields = fieldsPlugin({
|
|
33
|
+
desktopSideBar: "left",
|
|
34
|
+
});
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### `icon`
|
|
38
|
+
|
|
39
|
+
React node displayed alongside `label` in the plugin rail. Defaults to a form input icon.
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
import { Puck, fieldsPlugin } from "@puckeditor/core";
|
|
43
|
+
import { Form } from "lucide-react";
|
|
44
|
+
|
|
45
|
+
const fields = fieldsPlugin({
|
|
46
|
+
icon: <Form />,
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export function Editor() {
|
|
50
|
+
return <Puck plugins={[fields]} />;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### `label`
|
|
55
|
+
|
|
56
|
+
Label shown in the plugin rail. Defaults to `"Fields"`.
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
import { Puck, fieldsPlugin } from "@puckeditor/core";
|
|
60
|
+
|
|
61
|
+
const fields = fieldsPlugin({
|
|
62
|
+
label: "Properties",
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
export function Editor() {
|
|
66
|
+
return <Puck plugins={[fields]} />;
|
|
67
|
+
}
|
|
68
|
+
```
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# legacySideBarPlugin
|
|
2
|
+
|
|
3
|
+
Hide the plugin rail and show a single sidebar with stacked "Components" and "Outline" sections. This will not affect mobile behavior.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import { Puck, legacySideBarPlugin } from "@puckeditor/core";
|
|
7
|
+
|
|
8
|
+
const legacySideBar = legacySideBarPlugin();
|
|
9
|
+
|
|
10
|
+
export function Editor() {
|
|
11
|
+
return <Puck plugins={[legacySideBar]} />;
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Params
|
|
16
|
+
|
|
17
|
+
| Param | Example | Type | Status |
|
|
18
|
+
| ------------------------------------- | ------------------------------- | ------ | ------ |
|
|
19
|
+
| [`componentsLabel`](#componentslabel) | `componentsLabel: "Components"` | String | - |
|
|
20
|
+
| [`outlineLabel`](#outlinelabel) | `outlineLabel: "Outline"` | String | - |
|
|
21
|
+
|
|
22
|
+
## Optional params
|
|
23
|
+
|
|
24
|
+
### `componentsLabel`
|
|
25
|
+
|
|
26
|
+
Title shown above the component drawer section. Defaults to `"Components"`.
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
import { Puck, legacySideBarPlugin } from "@puckeditor/core";
|
|
30
|
+
|
|
31
|
+
const legacySideBar = legacySideBarPlugin({
|
|
32
|
+
componentsLabel: "Components",
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
export function Editor() {
|
|
36
|
+
return <Puck plugins={[legacySideBar]} />;
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### `outlineLabel`
|
|
41
|
+
|
|
42
|
+
Title shown above the outline section. Defaults to `"Outline"`.
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
import { Puck, legacySideBarPlugin } from "@puckeditor/core";
|
|
46
|
+
|
|
47
|
+
const legacySideBar = legacySideBarPlugin({
|
|
48
|
+
outlineLabel: "Layers",
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export function Editor() {
|
|
52
|
+
return <Puck plugins={[legacySideBar]} />;
|
|
53
|
+
}
|
|
54
|
+
```
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# outlinePlugin
|
|
2
|
+
|
|
3
|
+
Show an outline of the components currently on the canvas.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import { Puck, outlinePlugin } from "@puckeditor/core";
|
|
7
|
+
|
|
8
|
+
const outline = outlinePlugin();
|
|
9
|
+
|
|
10
|
+
export function Editor() {
|
|
11
|
+
return <Puck plugins={[outline]} />;
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**This plugin is included by default.** Explicitly including it allows you to change the order in the plugin rail.
|
|
16
|
+
|
|
17
|
+
## Params
|
|
18
|
+
|
|
19
|
+
| Param | Example | Type | Status |
|
|
20
|
+
| ----------------- | ------------------ | --------- | ------ |
|
|
21
|
+
| [`icon`](#icon) | `icon: <Layers />` | ReactNode | - |
|
|
22
|
+
| [`label`](#label) | `label: "Outline"` | String | - |
|
|
23
|
+
|
|
24
|
+
## Optional params
|
|
25
|
+
|
|
26
|
+
### `icon`
|
|
27
|
+
|
|
28
|
+
React node displayed alongside `label` in the plugin rail. Defaults to a layers icon.
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { Puck, outlinePlugin } from "@puckeditor/core";
|
|
32
|
+
import { ListTree } from "lucide-react";
|
|
33
|
+
|
|
34
|
+
const outline = outlinePlugin({
|
|
35
|
+
icon: <ListTree />,
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
export function Editor() {
|
|
39
|
+
return <Puck plugins={[outline]} />;
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### `label`
|
|
44
|
+
|
|
45
|
+
Label shown in the plugin rail. Defaults to `"Outline"`.
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
import { Puck, outlinePlugin } from "@puckeditor/core";
|
|
49
|
+
|
|
50
|
+
const outline = outlinePlugin({
|
|
51
|
+
label: "Layers",
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
export function Editor() {
|
|
55
|
+
return <Puck plugins={[outline]} />;
|
|
56
|
+
}
|
|
57
|
+
```
|