Examples
One default editor for Payload
Section titled “One default editor for Payload”import { createEditor } from "@nexload-sdk/payload-editor";import { buildConfig } from "payload";
export default buildConfig({ editor: createEditor({ preset: "standard" }), collections: [Pages],});A stricter field editor
Section titled “A stricter field editor”const productEditor = createEditor({ preset: "product-description", features: { heading: { sizes: ["h2"] }, upload: { allowedCollections: ["product-media"], maxDepth: 0, }, fixedToolbar: false, },});
const description = { name: "description", type: "richText", editor: productEditor,} as const;Native replacement
Section titled “Native replacement”import { LinkFeature } from "@payloadcms/richtext-lexical";
createEditor({ preset: "standard", features: { link: false }, extendFeatures: [ LinkFeature({ fields: ({ defaultFields }) => [ ...defaultFields, { name: "campaign", type: "text" }, ], }), ],});Disabling the managed link avoids a duplicate key. Native providers are project-owned: validate their configuration and stored content with Payload’s own tooling.
The core editor example is type-checked in CI: payload-editor.ts.