From a73eaf5d37dfbf106b1eee9bdf127c22ceedaf57 Mon Sep 17 00:00:00 2001 From: Alessio Gravili Date: Wed, 10 Apr 2024 11:07:01 -0400 Subject: [PATCH] chore: fix test suite types, add LexicalBlock type --- .../field/features/blocks/feature.server.ts | 10 ++++----- packages/richtext-lexical/src/index.ts | 6 +++++- test/fields/collections/Lexical/blocks.ts | 21 ++++++++++--------- test/fields/collections/RichText/blocks.ts | 10 ++++----- 4 files changed, 26 insertions(+), 21 deletions(-) diff --git a/packages/richtext-lexical/src/field/features/blocks/feature.server.ts b/packages/richtext-lexical/src/field/features/blocks/feature.server.ts index 7fcdb60c9b..a31b75bfa6 100644 --- a/packages/richtext-lexical/src/field/features/blocks/feature.server.ts +++ b/packages/richtext-lexical/src/field/features/blocks/feature.server.ts @@ -12,12 +12,12 @@ import { BlockNode } from './nodes/BlocksNode.js' import { blockPopulationPromiseHOC } from './populationPromise.js' import { blockValidationHOC } from './validate.js' +export type LexicalBlock = Omit & { + fields: FieldWithRichTextRequiredEditor[] +} + export type BlocksFeatureProps = { - blocks: Array< - Omit & { - fields: FieldWithRichTextRequiredEditor[] - } - > + blocks: LexicalBlock[] } export const BlocksFeature: FeatureProviderProviderServer< diff --git a/packages/richtext-lexical/src/index.ts b/packages/richtext-lexical/src/index.ts index a5dd3fe601..ff683312db 100644 --- a/packages/richtext-lexical/src/index.ts +++ b/packages/richtext-lexical/src/index.ts @@ -212,7 +212,11 @@ export function lexicalEditor(props?: LexicalEditorProps): LexicalRichTextAdapte export { AlignFeature } from './field/features/align/feature.server.js' export { BlockQuoteFeature } from './field/features/blockquote/feature.server.js' -export { BlocksFeature, type BlocksFeatureProps } from './field/features/blocks/feature.server.js' +export { + BlocksFeature, + type BlocksFeatureProps, + type LexicalBlock, +} from './field/features/blocks/feature.server.js' export { $createBlockNode, $isBlockNode, diff --git a/test/fields/collections/Lexical/blocks.ts b/test/fields/collections/Lexical/blocks.ts index 768b2c9093..15ae911f01 100644 --- a/test/fields/collections/Lexical/blocks.ts +++ b/test/fields/collections/Lexical/blocks.ts @@ -1,4 +1,5 @@ -import type { ArrayField, Block } from 'payload/types' +import type { LexicalBlock } from '@payloadcms/richtext-lexical' +import type { ArrayField } from 'payload/types' import { lexicalEditor } from '@payloadcms/richtext-lexical' @@ -29,7 +30,7 @@ export const BlockColumns = ({ name }: { name: string }): ArrayField => ({ }, ], }) -export const ConditionalLayoutBlock: Block = { +export const ConditionalLayoutBlock: LexicalBlock = { fields: [ { label: 'Layout', @@ -73,7 +74,7 @@ export const ConditionalLayoutBlock: Block = { slug: 'conditionalLayout', } -export const TextBlock: Block = { +export const TextBlock: LexicalBlock = { fields: [ { name: 'text', @@ -84,7 +85,7 @@ export const TextBlock: Block = { slug: 'text', } -export const RadioButtonsBlock: Block = { +export const RadioButtonsBlock: LexicalBlock = { interfaceName: 'LexicalBlocksRadioButtonsBlock', fields: [ { @@ -109,7 +110,7 @@ export const RadioButtonsBlock: Block = { slug: 'radioButtons', } -export const RichTextBlock: Block = { +export const RichTextBlock: LexicalBlock = { fields: [ { name: 'richText', @@ -120,7 +121,7 @@ export const RichTextBlock: Block = { slug: 'richText', } -export const UploadAndRichTextBlock: Block = { +export const UploadAndRichTextBlock: LexicalBlock = { fields: [ { name: 'upload', @@ -137,7 +138,7 @@ export const UploadAndRichTextBlock: Block = { slug: 'uploadAndRichText', } -export const RelationshipHasManyBlock: Block = { +export const RelationshipHasManyBlock: LexicalBlock = { fields: [ { name: 'rel', @@ -149,7 +150,7 @@ export const RelationshipHasManyBlock: Block = { ], slug: 'relationshipHasManyBlock', } -export const RelationshipBlock: Block = { +export const RelationshipBlock: LexicalBlock = { fields: [ { name: 'rel', @@ -161,7 +162,7 @@ export const RelationshipBlock: Block = { slug: 'relationshipBlock', } -export const SelectFieldBlock: Block = { +export const SelectFieldBlock: LexicalBlock = { fields: [ { name: 'select', @@ -193,7 +194,7 @@ export const SelectFieldBlock: Block = { slug: 'select', } -export const SubBlockBlock: Block = { +export const SubBlockBlock: LexicalBlock = { slug: 'subBlock', fields: [ { diff --git a/test/fields/collections/RichText/blocks.ts b/test/fields/collections/RichText/blocks.ts index 13e3d20eac..a6207b1956 100644 --- a/test/fields/collections/RichText/blocks.ts +++ b/test/fields/collections/RichText/blocks.ts @@ -1,8 +1,8 @@ -import type { Block } from 'payload/types' +import type { LexicalBlock } from '@payloadcms/richtext-lexical' import { lexicalEditor } from '@payloadcms/richtext-lexical' -export const TextBlock: Block = { +export const TextBlock: LexicalBlock = { fields: [ { name: 'text', @@ -13,7 +13,7 @@ export const TextBlock: Block = { slug: 'text', } -export const UploadAndRichTextBlock: Block = { +export const UploadAndRichTextBlock: LexicalBlock = { fields: [ { name: 'upload', @@ -30,7 +30,7 @@ export const UploadAndRichTextBlock: Block = { slug: 'uploadAndRichText', } -export const RelationshipBlock: Block = { +export const RelationshipBlock: LexicalBlock = { fields: [ { name: 'rel', @@ -42,7 +42,7 @@ export const RelationshipBlock: Block = { slug: 'relationshipBlock', } -export const SelectFieldBlock: Block = { +export const SelectFieldBlock: LexicalBlock = { fields: [ { name: 'select',