import type { Block, Field } from 'payload' import { FixedToolbarFeature, HeadingFeature, InlineToolbarFeature, lexicalEditor, } from '@payloadcms/richtext-lexical' import { link } from '@/fields/link' const columnFields: Field[] = [ { name: 'size', type: 'select', defaultValue: 'oneThird', options: [ { label: 'One Third', value: 'oneThird', }, { label: 'Half', value: 'half', }, { label: 'Two Thirds', value: 'twoThirds', }, { label: 'Full', value: 'full', }, ], }, { name: 'richText', type: 'richText', editor: lexicalEditor({ features: ({ rootFeatures }) => { return [ ...rootFeatures, HeadingFeature({ enabledHeadingSizes: ['h2', 'h3', 'h4'] }), FixedToolbarFeature(), InlineToolbarFeature(), ] }, }), label: false, }, { name: 'enableLink', type: 'checkbox', }, link({ overrides: { admin: { condition: (_data, siblingData) => { return Boolean(siblingData?.enableLink) }, }, }, }), ] export const Content: Block = { slug: 'content', interfaceName: 'ContentBlock', fields: [ { name: 'columns', type: 'array', admin: { initCollapsed: true, }, fields: columnFields, }, ], }