@payloadcms/richtext-lexical 3.70.0-canary.8 → 3.70.0
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/dist/exports/client/bundled.css +1 -1
- package/dist/features/blocks/server/index.d.ts +33 -1
- package/dist/features/blocks/server/index.d.ts.map +1 -1
- package/dist/features/blocks/server/index.js.map +1 -1
- package/dist/field/bundled.css +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,7 +1,39 @@
|
|
|
1
|
-
import type { Block, BlockSlug } from 'payload';
|
|
1
|
+
import type { Block, BlockSlug, UIFieldClientProps, UIFieldServerProps } from 'payload';
|
|
2
2
|
export type BlocksFeatureProps = {
|
|
3
3
|
blocks?: (Block | BlockSlug)[] | Block[];
|
|
4
4
|
inlineBlocks?: (Block | BlockSlug)[] | Block[];
|
|
5
5
|
};
|
|
6
6
|
export declare const BlocksFeature: import("../../typesServer.js").FeatureProviderProviderServer<BlocksFeatureProps, BlocksFeatureProps, undefined>;
|
|
7
|
+
/**
|
|
8
|
+
* Props for the client components provided to `admin.components.Block` of lexical blocks.
|
|
9
|
+
*/
|
|
10
|
+
export type LexicalBlockClientProps = UIFieldClientProps;
|
|
11
|
+
/**
|
|
12
|
+
* Props for the server components provided to `admin.components.Block` of lexical blocks.
|
|
13
|
+
*/
|
|
14
|
+
export type LexicalBlockServerProps = UIFieldServerProps;
|
|
15
|
+
/**
|
|
16
|
+
* Props for the client components provided to `admin.components.Label` of lexical blocks.
|
|
17
|
+
*/
|
|
18
|
+
export type LexicalBlockLabelClientProps = UIFieldClientProps;
|
|
19
|
+
/**
|
|
20
|
+
* Props for the server components provided to `admin.components.Label` of lexical blocks.
|
|
21
|
+
*/
|
|
22
|
+
export type LexicalBlockLabelServerProps = UIFieldServerProps;
|
|
23
|
+
/**
|
|
24
|
+
* Props for the client components provided to `admin.components.Block` of lexical inline blocks.
|
|
25
|
+
*/
|
|
26
|
+
export type LexicalInlineBlockClientProps = UIFieldClientProps;
|
|
27
|
+
/**
|
|
28
|
+
* Props for the server components provided to `admin.components.Block` of lexical inline blocks.
|
|
29
|
+
*/
|
|
30
|
+
export type LexicalInlineBlockServerProps = UIFieldServerProps;
|
|
31
|
+
/**
|
|
32
|
+
* Props for the client components provided to `admin.components.Label` of lexical inline blocks.
|
|
33
|
+
*/
|
|
34
|
+
export type LexicalInlineBlockLabelClientProps = UIFieldClientProps;
|
|
35
|
+
/**
|
|
36
|
+
* Props for the server components provided to `admin.components.Label` of lexical inline blocks.
|
|
37
|
+
*/
|
|
38
|
+
export type LexicalInlineBlockLabelServerProps = UIFieldServerProps;
|
|
7
39
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAEL,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAEL,SAAS,EAIT,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAchB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,CAAA;IACxC,YAAY,CAAC,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,CAAA;CAC/C,CAAA;AAED,eAAO,MAAM,aAAa,iHA0PxB,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAA;AACxD;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAA;AAExD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,kBAAkB,CAAA;AAC7D;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,kBAAkB,CAAA;AAE7D;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,kBAAkB,CAAA;AAC9D;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,kBAAkB,CAAA;AAE9D;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,kBAAkB,CAAA;AACnE;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["fieldsToJSONSchema","flattenAllFields","sanitizeFields","applyBaseFilterToFields","createServerFeature","createNode","blockPopulationPromiseHOC","i18n","getBlockMarkdownTransformers","ServerBlockNode","ServerInlineBlockNode","blockValidationHOC","BlocksFeature","feature","config","_config","isRoot","parentIsLocalized","props","_props","validRelationships","collections","map","c","slug","sanitized","fields","name","type","blockReferences","blocks","inlineBlocks","requireFieldLevelRichTextEditor","blockConfigs","_block","block","find","b","Error","push","inlineBlockConfigs","ClientFeature","generatedTypes","modifyOutputSchema","collectionIDFieldTypes","currentSchema","field","interfaceNameDefinitions","length","flattenedFields","generateSchemaMap","schemaMap","Map","blockFields","admin","components","unshift","Block","BlockLabel","Label","set","markdownTransformers","nodes","getSubFields","node","blockType","getSubFieldsData","graphQLPopulationPromises","validations","sanitizedServerFeatureProps","key"],"sources":["../../../../src/features/blocks/server/index.ts"],"sourcesContent":["import type {\n Block,\n BlocksField,\n BlockSlug,\n Config,\n FieldSchemaMap,\n FlattenedBlocksField,\n} from 'payload'\n\nimport { fieldsToJSONSchema, flattenAllFields, sanitizeFields } from 'payload'\n\nimport { applyBaseFilterToFields } from '../../../utilities/applyBaseFilterToFields.js'\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { blockPopulationPromiseHOC } from './graphQLPopulationPromise.js'\nimport { i18n } from './i18n.js'\nimport { getBlockMarkdownTransformers } from './markdown/markdownTransformer.js'\nimport { ServerBlockNode } from './nodes/BlocksNode.js'\nimport { ServerInlineBlockNode } from './nodes/InlineBlocksNode.js'\nimport { blockValidationHOC } from './validate.js'\n\nexport type BlocksFeatureProps = {\n blocks?: (Block | BlockSlug)[] | Block[]\n inlineBlocks?: (Block | BlockSlug)[] | Block[]\n}\n\nexport const BlocksFeature = createServerFeature<BlocksFeatureProps, BlocksFeatureProps>({\n feature: async ({ config: _config, isRoot, parentIsLocalized, props: _props }) => {\n const validRelationships = _config.collections.map((c) => c.slug) || []\n\n const sanitized = await sanitizeFields({\n config: _config as unknown as Config,\n fields: [\n {\n name: 'lexical_blocks',\n type: 'blocks',\n blockReferences: _props.blocks ?? [],\n blocks: [],\n },\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blockReferences: _props.inlineBlocks ?? [],\n blocks: [],\n },\n ],\n parentIsLocalized,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n\n const blockConfigs: Block[] = []\n for (const _block of (sanitized[0] as BlocksField).blockReferences ??\n (sanitized[0] as BlocksField).blocks) {\n const block =\n typeof _block === 'string' ? _config?.blocks?.find((b) => b.slug === _block) : _block\n if (!block) {\n throw new Error(\n `Block not found for slug: ${typeof _block === 'string' ? _block : _block?.slug}`,\n )\n }\n // Apply baseFilter to relationship fields in the block\n blockConfigs.push({\n ...block,\n fields: applyBaseFilterToFields(block.fields, _config),\n })\n }\n\n const inlineBlockConfigs: Block[] = []\n for (const _block of (sanitized[1] as BlocksField).blockReferences ??\n (sanitized[1] as BlocksField).blocks) {\n const block =\n typeof _block === 'string' ? _config?.blocks?.find((b) => b.slug === _block) : _block\n if (!block) {\n throw new Error(\n `Block not found for slug: ${typeof _block === 'string' ? _block : _block?.slug}`,\n )\n }\n // Apply baseFilter to relationship fields in the block\n inlineBlockConfigs.push({\n ...block,\n fields: applyBaseFilterToFields(block.fields, _config),\n })\n }\n\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#BlocksFeatureClient',\n generatedTypes: {\n modifyOutputSchema: ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n i18n,\n interfaceNameDefinitions,\n }) => {\n if (!blockConfigs?.length && !inlineBlockConfigs?.length) {\n return currentSchema\n }\n\n const fields: FlattenedBlocksField[] = []\n\n if (blockConfigs?.length) {\n fields.push({\n name: field?.name + '_lexical_blocks',\n type: 'blocks',\n blocks: blockConfigs.map((block) => {\n return {\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n }\n }),\n })\n }\n if (inlineBlockConfigs?.length) {\n fields.push({\n name: field?.name + '_lexical_inline_blocks',\n type: 'blocks',\n blocks: inlineBlockConfigs.map((block) => {\n return {\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n }\n }),\n })\n }\n\n if (fields.length) {\n // This is only done so that interfaceNameDefinitions sets those block's interfaceNames.\n // we don't actually use the JSON Schema itself in the generated types yet.\n fieldsToJSONSchema(\n collectionIDFieldTypes,\n fields,\n interfaceNameDefinitions,\n config,\n i18n,\n )\n }\n\n return currentSchema\n },\n },\n generateSchemaMap: ({ config }) => {\n /**\n * Add sub-fields to the schemaMap. E.g. if you have an array field as part of the block, and it runs addRow, it will request these\n * sub-fields from the component map. Thus, we need to put them in the component map here.\n */\n const schemaMap: FieldSchemaMap = new Map()\n\n if (blockConfigs?.length) {\n for (const block of blockConfigs) {\n const blockFields = [...block.fields]\n\n if (block?.admin?.components) {\n blockFields.unshift({\n name: `_components`,\n type: 'ui',\n admin: {\n components: {\n Block: block.admin?.components?.Block,\n BlockLabel: block.admin?.components?.Label,\n },\n },\n })\n }\n schemaMap.set(`lexical_blocks.${block.slug}.fields`, {\n fields: blockFields,\n })\n schemaMap.set(`lexical_blocks.${block.slug}`, {\n name: `lexical_blocks_${block.slug}`,\n type: 'blocks',\n blocks: [block],\n })\n }\n }\n\n if (inlineBlockConfigs?.length) {\n // To generate block schemaMap which generates things like the componentMap for admin.Label\n for (const block of inlineBlockConfigs) {\n const blockFields = [...block.fields]\n\n if (block?.admin?.components) {\n blockFields.unshift({\n name: `_components`,\n type: 'ui',\n admin: {\n components: {\n Block: block.admin?.components?.Block,\n BlockLabel: block.admin?.components?.Label,\n },\n },\n })\n }\n\n schemaMap.set(`lexical_inline_blocks.${block.slug}.fields`, {\n fields: blockFields,\n })\n\n schemaMap.set(`lexical_inline_blocks.${block.slug}`, {\n name: `lexical_inline_blocks_${block.slug}`,\n type: 'blocks',\n blocks: [block],\n })\n }\n }\n\n return schemaMap\n },\n i18n,\n markdownTransformers: getBlockMarkdownTransformers({\n blocks: blockConfigs,\n inlineBlocks: inlineBlockConfigs,\n }),\n\n nodes: [\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (blockConfigs?.length) {\n return [\n {\n name: 'lexical_blocks',\n type: 'blocks',\n blocks: blockConfigs,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = blockConfigs?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(blockConfigs)],\n node: ServerBlockNode,\n validations: [blockValidationHOC(blockConfigs)],\n }),\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (inlineBlockConfigs?.length) {\n return [\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blocks: inlineBlockConfigs,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = inlineBlockConfigs?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(inlineBlockConfigs)],\n node: ServerInlineBlockNode,\n validations: [blockValidationHOC(inlineBlockConfigs)],\n }),\n ],\n sanitizedServerFeatureProps: _props,\n }\n },\n key: 'blocks',\n})\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["fieldsToJSONSchema","flattenAllFields","sanitizeFields","applyBaseFilterToFields","createServerFeature","createNode","blockPopulationPromiseHOC","i18n","getBlockMarkdownTransformers","ServerBlockNode","ServerInlineBlockNode","blockValidationHOC","BlocksFeature","feature","config","_config","isRoot","parentIsLocalized","props","_props","validRelationships","collections","map","c","slug","sanitized","fields","name","type","blockReferences","blocks","inlineBlocks","requireFieldLevelRichTextEditor","blockConfigs","_block","block","find","b","Error","push","inlineBlockConfigs","ClientFeature","generatedTypes","modifyOutputSchema","collectionIDFieldTypes","currentSchema","field","interfaceNameDefinitions","length","flattenedFields","generateSchemaMap","schemaMap","Map","blockFields","admin","components","unshift","Block","BlockLabel","Label","set","markdownTransformers","nodes","getSubFields","node","blockType","getSubFieldsData","graphQLPopulationPromises","validations","sanitizedServerFeatureProps","key"],"sources":["../../../../src/features/blocks/server/index.ts"],"sourcesContent":["import type {\n Block,\n BlocksField,\n BlockSlug,\n Config,\n FieldSchemaMap,\n FlattenedBlocksField,\n UIFieldClientProps,\n UIFieldServerProps,\n} from 'payload'\n\nimport { fieldsToJSONSchema, flattenAllFields, sanitizeFields } from 'payload'\n\nimport { applyBaseFilterToFields } from '../../../utilities/applyBaseFilterToFields.js'\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { blockPopulationPromiseHOC } from './graphQLPopulationPromise.js'\nimport { i18n } from './i18n.js'\nimport { getBlockMarkdownTransformers } from './markdown/markdownTransformer.js'\nimport { ServerBlockNode } from './nodes/BlocksNode.js'\nimport { ServerInlineBlockNode } from './nodes/InlineBlocksNode.js'\nimport { blockValidationHOC } from './validate.js'\n\nexport type BlocksFeatureProps = {\n blocks?: (Block | BlockSlug)[] | Block[]\n inlineBlocks?: (Block | BlockSlug)[] | Block[]\n}\n\nexport const BlocksFeature = createServerFeature<BlocksFeatureProps, BlocksFeatureProps>({\n feature: async ({ config: _config, isRoot, parentIsLocalized, props: _props }) => {\n const validRelationships = _config.collections.map((c) => c.slug) || []\n\n const sanitized = await sanitizeFields({\n config: _config as unknown as Config,\n fields: [\n {\n name: 'lexical_blocks',\n type: 'blocks',\n blockReferences: _props.blocks ?? [],\n blocks: [],\n },\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blockReferences: _props.inlineBlocks ?? [],\n blocks: [],\n },\n ],\n parentIsLocalized,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n\n const blockConfigs: Block[] = []\n for (const _block of (sanitized[0] as BlocksField).blockReferences ??\n (sanitized[0] as BlocksField).blocks) {\n const block =\n typeof _block === 'string' ? _config?.blocks?.find((b) => b.slug === _block) : _block\n if (!block) {\n throw new Error(\n `Block not found for slug: ${typeof _block === 'string' ? _block : _block?.slug}`,\n )\n }\n // Apply baseFilter to relationship fields in the block\n blockConfigs.push({\n ...block,\n fields: applyBaseFilterToFields(block.fields, _config),\n })\n }\n\n const inlineBlockConfigs: Block[] = []\n for (const _block of (sanitized[1] as BlocksField).blockReferences ??\n (sanitized[1] as BlocksField).blocks) {\n const block =\n typeof _block === 'string' ? _config?.blocks?.find((b) => b.slug === _block) : _block\n if (!block) {\n throw new Error(\n `Block not found for slug: ${typeof _block === 'string' ? _block : _block?.slug}`,\n )\n }\n // Apply baseFilter to relationship fields in the block\n inlineBlockConfigs.push({\n ...block,\n fields: applyBaseFilterToFields(block.fields, _config),\n })\n }\n\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#BlocksFeatureClient',\n generatedTypes: {\n modifyOutputSchema: ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n i18n,\n interfaceNameDefinitions,\n }) => {\n if (!blockConfigs?.length && !inlineBlockConfigs?.length) {\n return currentSchema\n }\n\n const fields: FlattenedBlocksField[] = []\n\n if (blockConfigs?.length) {\n fields.push({\n name: field?.name + '_lexical_blocks',\n type: 'blocks',\n blocks: blockConfigs.map((block) => {\n return {\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n }\n }),\n })\n }\n if (inlineBlockConfigs?.length) {\n fields.push({\n name: field?.name + '_lexical_inline_blocks',\n type: 'blocks',\n blocks: inlineBlockConfigs.map((block) => {\n return {\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n }\n }),\n })\n }\n\n if (fields.length) {\n // This is only done so that interfaceNameDefinitions sets those block's interfaceNames.\n // we don't actually use the JSON Schema itself in the generated types yet.\n fieldsToJSONSchema(\n collectionIDFieldTypes,\n fields,\n interfaceNameDefinitions,\n config,\n i18n,\n )\n }\n\n return currentSchema\n },\n },\n generateSchemaMap: ({ config }) => {\n /**\n * Add sub-fields to the schemaMap. E.g. if you have an array field as part of the block, and it runs addRow, it will request these\n * sub-fields from the component map. Thus, we need to put them in the component map here.\n */\n const schemaMap: FieldSchemaMap = new Map()\n\n if (blockConfigs?.length) {\n for (const block of blockConfigs) {\n const blockFields = [...block.fields]\n\n if (block?.admin?.components) {\n blockFields.unshift({\n name: `_components`,\n type: 'ui',\n admin: {\n components: {\n Block: block.admin?.components?.Block,\n BlockLabel: block.admin?.components?.Label,\n },\n },\n })\n }\n schemaMap.set(`lexical_blocks.${block.slug}.fields`, {\n fields: blockFields,\n })\n schemaMap.set(`lexical_blocks.${block.slug}`, {\n name: `lexical_blocks_${block.slug}`,\n type: 'blocks',\n blocks: [block],\n })\n }\n }\n\n if (inlineBlockConfigs?.length) {\n // To generate block schemaMap which generates things like the componentMap for admin.Label\n for (const block of inlineBlockConfigs) {\n const blockFields = [...block.fields]\n\n if (block?.admin?.components) {\n blockFields.unshift({\n name: `_components`,\n type: 'ui',\n admin: {\n components: {\n Block: block.admin?.components?.Block,\n BlockLabel: block.admin?.components?.Label,\n },\n },\n })\n }\n\n schemaMap.set(`lexical_inline_blocks.${block.slug}.fields`, {\n fields: blockFields,\n })\n\n schemaMap.set(`lexical_inline_blocks.${block.slug}`, {\n name: `lexical_inline_blocks_${block.slug}`,\n type: 'blocks',\n blocks: [block],\n })\n }\n }\n\n return schemaMap\n },\n i18n,\n markdownTransformers: getBlockMarkdownTransformers({\n blocks: blockConfigs,\n inlineBlocks: inlineBlockConfigs,\n }),\n\n nodes: [\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (blockConfigs?.length) {\n return [\n {\n name: 'lexical_blocks',\n type: 'blocks',\n blocks: blockConfigs,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = blockConfigs?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(blockConfigs)],\n node: ServerBlockNode,\n validations: [blockValidationHOC(blockConfigs)],\n }),\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (inlineBlockConfigs?.length) {\n return [\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blocks: inlineBlockConfigs,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = inlineBlockConfigs?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(inlineBlockConfigs)],\n node: ServerInlineBlockNode,\n validations: [blockValidationHOC(inlineBlockConfigs)],\n }),\n ],\n sanitizedServerFeatureProps: _props,\n }\n },\n key: 'blocks',\n})\n\n/**\n * Props for the client components provided to `admin.components.Block` of lexical blocks.\n */\nexport type LexicalBlockClientProps = UIFieldClientProps\n/**\n * Props for the server components provided to `admin.components.Block` of lexical blocks.\n */\nexport type LexicalBlockServerProps = UIFieldServerProps\n\n/**\n * Props for the client components provided to `admin.components.Label` of lexical blocks.\n */\nexport type LexicalBlockLabelClientProps = UIFieldClientProps\n/**\n * Props for the server components provided to `admin.components.Label` of lexical blocks.\n */\nexport type LexicalBlockLabelServerProps = UIFieldServerProps\n\n/**\n * Props for the client components provided to `admin.components.Block` of lexical inline blocks.\n */\nexport type LexicalInlineBlockClientProps = UIFieldClientProps\n/**\n * Props for the server components provided to `admin.components.Block` of lexical inline blocks.\n */\nexport type LexicalInlineBlockServerProps = UIFieldServerProps\n\n/**\n * Props for the client components provided to `admin.components.Label` of lexical inline blocks.\n */\nexport type LexicalInlineBlockLabelClientProps = UIFieldClientProps\n/**\n * Props for the server components provided to `admin.components.Label` of lexical inline blocks.\n */\nexport type LexicalInlineBlockLabelServerProps = UIFieldServerProps\n"],"mappings":"AAWA,SAASA,kBAAkB,EAAEC,gBAAgB,EAAEC,cAAc,QAAQ;AAErE,SAASC,uBAAuB,QAAQ;AACxC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,IAAI,QAAQ;AACrB,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,eAAe,QAAQ;AAChC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,kBAAkB,QAAQ;AAOnC,OAAO,MAAMC,aAAA,GAAgBR,mBAAA,CAA4D;EACvFS,OAAA,EAAS,MAAAA,CAAO;IAAEC,MAAA,EAAQC,OAAO;IAAEC,MAAM;IAAEC,iBAAiB;IAAEC,KAAA,EAAOC;EAAM,CAAE;IAC3E,MAAMC,kBAAA,GAAqBL,OAAA,CAAQM,WAAW,CAACC,GAAG,CAAEC,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAK,EAAE;IAEvE,MAAMC,SAAA,GAAY,MAAMvB,cAAA,CAAe;MACrCY,MAAA,EAAQC,OAAA;MACRW,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNC,IAAA,EAAM;QACNC,eAAA,EAAiBV,MAAA,CAAOW,MAAM,IAAI,EAAE;QACpCA,MAAA,EAAQ;MACV,GACA;QACEH,IAAA,EAAM;QACNC,IAAA,EAAM;QACNC,eAAA,EAAiBV,MAAA,CAAOY,YAAY,IAAI,EAAE;QAC1CD,MAAA,EAAQ;MACV,EACD;MACDb,iBAAA;MACAe,+BAAA,EAAiChB,MAAA;MACjCI;IACF;IAEA,MAAMa,YAAA,GAAwB,EAAE;IAChC,KAAK,MAAMC,MAAA,IAAUT,SAAU,CAAC,EAAE,CAAiBI,eAAe,IAChEJ,SAAU,CAAC,EAAE,CAAiBK,MAAM,EAAE;MACtC,MAAMK,KAAA,GACJ,OAAOD,MAAA,KAAW,WAAWnB,OAAA,EAASe,MAAA,EAAQM,IAAA,CAAMC,CAAA,IAAMA,CAAA,CAAEb,IAAI,KAAKU,MAAA,IAAUA,MAAA;MACjF,IAAI,CAACC,KAAA,EAAO;QACV,MAAM,IAAIG,KAAA,CACR,6BAA6B,OAAOJ,MAAA,KAAW,WAAWA,MAAA,GAASA,MAAA,EAAQV,IAAA,EAAM;MAErF;MACA;MACAS,YAAA,CAAaM,IAAI,CAAC;QAChB,GAAGJ,KAAK;QACRT,MAAA,EAAQvB,uBAAA,CAAwBgC,KAAA,CAAMT,MAAM,EAAEX,OAAA;MAChD;IACF;IAEA,MAAMyB,kBAAA,GAA8B,EAAE;IACtC,KAAK,MAAMN,MAAA,IAAUT,SAAU,CAAC,EAAE,CAAiBI,eAAe,IAChEJ,SAAU,CAAC,EAAE,CAAiBK,MAAM,EAAE;MACtC,MAAMK,KAAA,GACJ,OAAOD,MAAA,KAAW,WAAWnB,OAAA,EAASe,MAAA,EAAQM,IAAA,CAAMC,CAAA,IAAMA,CAAA,CAAEb,IAAI,KAAKU,MAAA,IAAUA,MAAA;MACjF,IAAI,CAACC,KAAA,EAAO;QACV,MAAM,IAAIG,KAAA,CACR,6BAA6B,OAAOJ,MAAA,KAAW,WAAWA,MAAA,GAASA,MAAA,EAAQV,IAAA,EAAM;MAErF;MACA;MACAgB,kBAAA,CAAmBD,IAAI,CAAC;QACtB,GAAGJ,KAAK;QACRT,MAAA,EAAQvB,uBAAA,CAAwBgC,KAAA,CAAMT,MAAM,EAAEX,OAAA;MAChD;IACF;IAEA,OAAO;MACL0B,aAAA,EAAe;MACfC,cAAA,EAAgB;QACdC,kBAAA,EAAoBA,CAAC;UACnBC,sBAAsB;UACtB9B,MAAM;UACN+B,aAAa;UACbC,KAAK;UACLvC,IAAI;UACJwC;QAAwB,CACzB;UACC,IAAI,CAACd,YAAA,EAAce,MAAA,IAAU,CAACR,kBAAA,EAAoBQ,MAAA,EAAQ;YACxD,OAAOH,aAAA;UACT;UAEA,MAAMnB,MAAA,GAAiC,EAAE;UAEzC,IAAIO,YAAA,EAAce,MAAA,EAAQ;YACxBtB,MAAA,CAAOa,IAAI,CAAC;cACVZ,IAAA,EAAMmB,KAAA,EAAOnB,IAAA,GAAO;cACpBC,IAAA,EAAM;cACNE,MAAA,EAAQG,YAAA,CAAaX,GAAG,CAAEa,KAAA;gBACxB,OAAO;kBACL,GAAGA,KAAK;kBACRc,eAAA,EAAiBhD,gBAAA,CAAiB;oBAAEyB,MAAA,EAAQS,KAAA,CAAMT;kBAAO;gBAC3D;cACF;YACF;UACF;UACA,IAAIc,kBAAA,EAAoBQ,MAAA,EAAQ;YAC9BtB,MAAA,CAAOa,IAAI,CAAC;cACVZ,IAAA,EAAMmB,KAAA,EAAOnB,IAAA,GAAO;cACpBC,IAAA,EAAM;cACNE,MAAA,EAAQU,kBAAA,CAAmBlB,GAAG,CAAEa,KAAA;gBAC9B,OAAO;kBACL,GAAGA,KAAK;kBACRc,eAAA,EAAiBhD,gBAAA,CAAiB;oBAAEyB,MAAA,EAAQS,KAAA,CAAMT;kBAAO;gBAC3D;cACF;YACF;UACF;UAEA,IAAIA,MAAA,CAAOsB,MAAM,EAAE;YACjB;YACA;YACAhD,kBAAA,CACE4C,sBAAA,EACAlB,MAAA,EACAqB,wBAAA,EACAjC,MAAA,EACAP,IAAA;UAEJ;UAEA,OAAOsC,aAAA;QACT;MACF;MACAK,iBAAA,EAAmBA,CAAC;QAAEpC;MAAM,CAAE;QAC5B;;;;QAIA,MAAMqC,SAAA,GAA4B,IAAIC,GAAA;QAEtC,IAAInB,YAAA,EAAce,MAAA,EAAQ;UACxB,KAAK,MAAMb,KAAA,IAASF,YAAA,EAAc;YAChC,MAAMoB,WAAA,GAAc,C,GAAIlB,KAAA,CAAMT,MAAM,CAAC;YAErC,IAAIS,KAAA,EAAOmB,KAAA,EAAOC,UAAA,EAAY;cAC5BF,WAAA,CAAYG,OAAO,CAAC;gBAClB7B,IAAA,EAAM,aAAa;gBACnBC,IAAA,EAAM;gBACN0B,KAAA,EAAO;kBACLC,UAAA,EAAY;oBACVE,KAAA,EAAOtB,KAAA,CAAMmB,KAAK,EAAEC,UAAA,EAAYE,KAAA;oBAChCC,UAAA,EAAYvB,KAAA,CAAMmB,KAAK,EAAEC,UAAA,EAAYI;kBACvC;gBACF;cACF;YACF;YACAR,SAAA,CAAUS,GAAG,CAAC,kBAAkBzB,KAAA,CAAMX,IAAI,SAAS,EAAE;cACnDE,MAAA,EAAQ2B;YACV;YACAF,SAAA,CAAUS,GAAG,CAAC,kBAAkBzB,KAAA,CAAMX,IAAI,EAAE,EAAE;cAC5CG,IAAA,EAAM,kBAAkBQ,KAAA,CAAMX,IAAI,EAAE;cACpCI,IAAA,EAAM;cACNE,MAAA,EAAQ,CAACK,KAAA;YACX;UACF;QACF;QAEA,IAAIK,kBAAA,EAAoBQ,MAAA,EAAQ;UAC9B;UACA,KAAK,MAAMb,KAAA,IAASK,kBAAA,EAAoB;YACtC,MAAMa,WAAA,GAAc,C,GAAIlB,KAAA,CAAMT,MAAM,CAAC;YAErC,IAAIS,KAAA,EAAOmB,KAAA,EAAOC,UAAA,EAAY;cAC5BF,WAAA,CAAYG,OAAO,CAAC;gBAClB7B,IAAA,EAAM,aAAa;gBACnBC,IAAA,EAAM;gBACN0B,KAAA,EAAO;kBACLC,UAAA,EAAY;oBACVE,KAAA,EAAOtB,KAAA,CAAMmB,KAAK,EAAEC,UAAA,EAAYE,KAAA;oBAChCC,UAAA,EAAYvB,KAAA,CAAMmB,KAAK,EAAEC,UAAA,EAAYI;kBACvC;gBACF;cACF;YACF;YAEAR,SAAA,CAAUS,GAAG,CAAC,yBAAyBzB,KAAA,CAAMX,IAAI,SAAS,EAAE;cAC1DE,MAAA,EAAQ2B;YACV;YAEAF,SAAA,CAAUS,GAAG,CAAC,yBAAyBzB,KAAA,CAAMX,IAAI,EAAE,EAAE;cACnDG,IAAA,EAAM,yBAAyBQ,KAAA,CAAMX,IAAI,EAAE;cAC3CI,IAAA,EAAM;cACNE,MAAA,EAAQ,CAACK,KAAA;YACX;UACF;QACF;QAEA,OAAOgB,SAAA;MACT;MACA5C,IAAA;MACAsD,oBAAA,EAAsBrD,4BAAA,CAA6B;QACjDsB,MAAA,EAAQG,YAAA;QACRF,YAAA,EAAcS;MAChB;MAEAsB,KAAA,EAAO,CACLzD,UAAA,CAAW;QACT;QACA0D,YAAA,EAAcA,CAAC;UAAEC;QAAI,CAAE;UACrB,IAAI,CAACA,IAAA,EAAM;YACT,IAAI/B,YAAA,EAAce,MAAA,EAAQ;cACxB,OAAO,CACL;gBACErB,IAAA,EAAM;gBACNC,IAAA,EAAM;gBACNE,MAAA,EAAQG;cACV,EACD;YACH;YACA,OAAO,EAAE;UACX;UAEA,MAAMgC,SAAA,GAAYD,IAAA,CAAKtC,MAAM,CAACuC,SAAS;UAEvC,MAAM9B,KAAA,GAAQF,YAAA,EAAcG,IAAA,CAAMD,KAAA,IAAUA,KAAA,CAAMX,IAAI,KAAKyC,SAAA;UAC3D,OAAO9B,KAAA,EAAOT,MAAA;QAChB;QACAwC,gBAAA,EAAkBA,CAAC;UAAEF;QAAI,CAAE;UACzB,OAAOA,IAAA,EAAMtC,MAAA;QACf;QACAyC,yBAAA,EAA2B,CAAC7D,yBAAA,CAA0B2B,YAAA,EAAc;QACpE+B,IAAA,EAAMvD,eAAA;QACN2D,WAAA,EAAa,CAACzD,kBAAA,CAAmBsB,YAAA;MACnC,IACA5B,UAAA,CAAW;QACT;QACA0D,YAAA,EAAcA,CAAC;UAAEC;QAAI,CAAE;UACrB,IAAI,CAACA,IAAA,EAAM;YACT,IAAIxB,kBAAA,EAAoBQ,MAAA,EAAQ;cAC9B,OAAO,CACL;gBACErB,IAAA,EAAM;gBACNC,IAAA,EAAM;gBACNE,MAAA,EAAQU;cACV,EACD;YACH;YACA,OAAO,EAAE;UACX;UAEA,MAAMyB,SAAA,GAAYD,IAAA,CAAKtC,MAAM,CAACuC,SAAS;UAEvC,MAAM9B,KAAA,GAAQK,kBAAA,EAAoBJ,IAAA,CAAMD,KAAA,IAAUA,KAAA,CAAMX,IAAI,KAAKyC,SAAA;UACjE,OAAO9B,KAAA,EAAOT,MAAA;QAChB;QACAwC,gBAAA,EAAkBA,CAAC;UAAEF;QAAI,CAAE;UACzB,OAAOA,IAAA,EAAMtC,MAAA;QACf;QACAyC,yBAAA,EAA2B,CAAC7D,yBAAA,CAA0BkC,kBAAA,EAAoB;QAC1EwB,IAAA,EAAMtD,qBAAA;QACN0D,WAAA,EAAa,CAACzD,kBAAA,CAAmB6B,kBAAA;MACnC,GACD;MACD6B,2BAAA,EAA6BlD;IAC/B;EACF;EACAmD,GAAA,EAAK;AACP","ignoreList":[]}
|