@payloadcms/richtext-lexical 4.0.0-canary.0 → 4.0.0-canary.2

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.
Files changed (276) hide show
  1. package/dist/exports/client/{RelationshipComponent-RZL743CS.js → RelationshipComponent-YCPAKOL7.js} +1 -1
  2. package/dist/exports/client/RelationshipComponent-YCPAKOL7.js.map +7 -0
  3. package/dist/exports/client/bundled.css +1 -1
  4. package/dist/exports/client/chunk-CUFJGFNW.js +2 -0
  5. package/dist/exports/client/chunk-CUFJGFNW.js.map +7 -0
  6. package/dist/exports/client/{component-KESPRYJR.js → component-PHZQBOJE.js} +1 -1
  7. package/dist/exports/client/component-PHZQBOJE.js.map +7 -0
  8. package/dist/exports/client/componentInline-DV4EGOWU.js +2 -0
  9. package/dist/exports/client/index.js +14 -14
  10. package/dist/exports/client/index.js.map +4 -4
  11. package/dist/features/blockquote/server/index.d.ts +1 -4
  12. package/dist/features/blockquote/server/index.d.ts.map +1 -1
  13. package/dist/features/blockquote/server/index.js +2 -0
  14. package/dist/features/blockquote/server/index.js.map +1 -1
  15. package/dist/features/blockquote/server/schema.d.ts +8 -0
  16. package/dist/features/blockquote/server/schema.d.ts.map +1 -0
  17. package/dist/features/blockquote/server/schema.js +15 -0
  18. package/dist/features/blockquote/server/schema.js.map +1 -0
  19. package/dist/features/blocks/client/component/index.d.ts +1 -1
  20. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  21. package/dist/features/blocks/client/component/index.js +2 -1
  22. package/dist/features/blocks/client/component/index.js.map +1 -1
  23. package/dist/features/blocks/client/componentInline/index.d.ts +1 -1
  24. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  25. package/dist/features/blocks/client/componentInline/index.js +2 -1
  26. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  27. package/dist/features/blocks/client/index.d.ts.map +1 -1
  28. package/dist/features/blocks/client/index.js +4 -2
  29. package/dist/features/blocks/client/index.js.map +1 -1
  30. package/dist/features/blocks/client/markdown/markdownTransformer.js +4 -4
  31. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  32. package/dist/features/blocks/client/nodes/BlocksNode.d.ts +1 -1
  33. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  34. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  35. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts +1 -1
  36. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -1
  37. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
  38. package/dist/features/blocks/client/plugin/index.d.ts +1 -1
  39. package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
  40. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  41. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts.map +1 -1
  42. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +1 -0
  43. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  44. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts +1 -2
  45. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -1
  46. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  47. package/dist/features/blocks/server/index.d.ts +1 -0
  48. package/dist/features/blocks/server/index.d.ts.map +1 -1
  49. package/dist/features/blocks/server/index.js +24 -72
  50. package/dist/features/blocks/server/index.js.map +1 -1
  51. package/dist/features/blocks/server/markdown/markdownTransformer.js +4 -4
  52. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  53. package/dist/features/blocks/server/nodes/BlocksNode.d.ts +1 -18
  54. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  55. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  56. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts +2 -10
  57. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -1
  58. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  59. package/dist/features/blocks/server/schema.d.ts +45 -0
  60. package/dist/features/blocks/server/schema.d.ts.map +1 -0
  61. package/dist/features/blocks/server/schema.js +139 -0
  62. package/dist/features/blocks/server/schema.js.map +1 -0
  63. package/dist/features/blocks/server/validate.d.ts +1 -2
  64. package/dist/features/blocks/server/validate.d.ts.map +1 -1
  65. package/dist/features/blocks/server/validate.js.map +1 -1
  66. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  67. package/dist/features/converters/lexicalToHtml/async/types.d.ts +14 -15
  68. package/dist/features/converters/lexicalToHtml/async/types.d.ts.map +1 -1
  69. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  70. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  71. package/dist/features/converters/lexicalToHtml/sync/types.d.ts +14 -15
  72. package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +1 -1
  73. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  74. package/dist/features/converters/lexicalToJSX/Component/index.d.ts +4 -2
  75. package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +1 -1
  76. package/dist/features/converters/lexicalToJSX/Component/index.js +5 -4
  77. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  78. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  79. package/dist/features/converters/lexicalToJSX/converter/types.d.ts +12 -14
  80. package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +1 -1
  81. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  82. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts +12 -14
  83. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts.map +1 -1
  84. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  85. package/dist/features/experimental_table/server/index.d.ts +1 -6
  86. package/dist/features/experimental_table/server/index.d.ts.map +1 -1
  87. package/dist/features/experimental_table/server/index.js +4 -0
  88. package/dist/features/experimental_table/server/index.js.map +1 -1
  89. package/dist/features/experimental_table/server/schema.d.ts +27 -0
  90. package/dist/features/experimental_table/server/schema.d.ts.map +1 -0
  91. package/dist/features/experimental_table/server/schema.js +107 -0
  92. package/dist/features/experimental_table/server/schema.js.map +1 -0
  93. package/dist/features/heading/server/index.d.ts +2 -4
  94. package/dist/features/heading/server/index.d.ts.map +1 -1
  95. package/dist/features/heading/server/index.js +2 -0
  96. package/dist/features/heading/server/index.js.map +1 -1
  97. package/dist/features/heading/server/schema.d.ts +10 -0
  98. package/dist/features/heading/server/schema.d.ts.map +1 -0
  99. package/dist/features/heading/server/schema.js +37 -0
  100. package/dist/features/heading/server/schema.js.map +1 -0
  101. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +1 -1
  102. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  103. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  104. package/dist/features/horizontalRule/server/index.d.ts +1 -0
  105. package/dist/features/horizontalRule/server/index.d.ts.map +1 -1
  106. package/dist/features/horizontalRule/server/index.js +2 -0
  107. package/dist/features/horizontalRule/server/index.js.map +1 -1
  108. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +1 -5
  109. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  110. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  111. package/dist/features/horizontalRule/server/schema.d.ts +7 -0
  112. package/dist/features/horizontalRule/server/schema.d.ts.map +1 -0
  113. package/dist/features/horizontalRule/server/schema.js +25 -0
  114. package/dist/features/horizontalRule/server/schema.js.map +1 -0
  115. package/dist/features/link/client/index.d.ts.map +1 -1
  116. package/dist/features/link/client/index.js.map +1 -1
  117. package/dist/features/link/client/plugins/autoLink/index.d.ts +1 -1
  118. package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -1
  119. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  120. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  121. package/dist/features/link/client/plugins/floatingLinkEditor/types.d.ts +1 -1
  122. package/dist/features/link/client/plugins/floatingLinkEditor/types.d.ts.map +1 -1
  123. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -1
  124. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  125. package/dist/features/link/markdownTransformer.d.ts +1 -1
  126. package/dist/features/link/markdownTransformer.d.ts.map +1 -1
  127. package/dist/features/link/markdownTransformer.js.map +1 -1
  128. package/dist/features/link/markdownTransformer.spec.js.map +1 -1
  129. package/dist/features/link/nodes/AutoLinkNode.d.ts +3 -3
  130. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  131. package/dist/features/link/nodes/AutoLinkNode.js +2 -1
  132. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  133. package/dist/features/link/nodes/LinkNode.d.ts +3 -3
  134. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  135. package/dist/features/link/nodes/LinkNode.js +2 -1
  136. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  137. package/dist/features/link/server/baseFields.js.map +1 -1
  138. package/dist/features/link/server/graphQLPopulationPromise.d.ts +1 -1
  139. package/dist/features/link/server/graphQLPopulationPromise.d.ts.map +1 -1
  140. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -1
  141. package/dist/features/link/server/index.d.ts +2 -1
  142. package/dist/features/link/server/index.d.ts.map +1 -1
  143. package/dist/features/link/server/index.js +3 -0
  144. package/dist/features/link/server/index.js.map +1 -1
  145. package/dist/features/link/server/schema.d.ts +32 -0
  146. package/dist/features/link/server/schema.d.ts.map +1 -0
  147. package/dist/features/link/server/schema.js +169 -0
  148. package/dist/features/link/server/schema.js.map +1 -0
  149. package/dist/features/link/server/validate.d.ts +1 -1
  150. package/dist/features/link/server/validate.d.ts.map +1 -1
  151. package/dist/features/link/server/validate.js.map +1 -1
  152. package/dist/features/lists/checklist/server/index.d.ts.map +1 -1
  153. package/dist/features/lists/checklist/server/index.js +3 -0
  154. package/dist/features/lists/checklist/server/index.js.map +1 -1
  155. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -1
  156. package/dist/features/lists/orderedList/server/index.js +3 -0
  157. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  158. package/dist/features/lists/plugin/index.d.ts +0 -9
  159. package/dist/features/lists/plugin/index.d.ts.map +1 -1
  160. package/dist/features/lists/plugin/index.js.map +1 -1
  161. package/dist/features/lists/shared/schema.d.ts +18 -0
  162. package/dist/features/lists/shared/schema.d.ts.map +1 -0
  163. package/dist/features/lists/shared/schema.js +62 -0
  164. package/dist/features/lists/shared/schema.js.map +1 -0
  165. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -1
  166. package/dist/features/lists/unorderedList/server/index.js +3 -0
  167. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  168. package/dist/features/relationship/client/components/RelationshipComponent.d.ts +1 -1
  169. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
  170. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  171. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts +1 -1
  172. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
  173. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  174. package/dist/features/relationship/client/plugins/index.d.ts +1 -1
  175. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  176. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  177. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -1
  178. package/dist/features/relationship/client/utils/useEnabledRelationships.js +9 -40
  179. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  180. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +1 -1
  181. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -1
  182. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  183. package/dist/features/relationship/server/index.d.ts +1 -0
  184. package/dist/features/relationship/server/index.d.ts.map +1 -1
  185. package/dist/features/relationship/server/index.js +2 -0
  186. package/dist/features/relationship/server/index.js.map +1 -1
  187. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts +1 -10
  188. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  189. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  190. package/dist/features/relationship/server/schema.d.ts +28 -0
  191. package/dist/features/relationship/server/schema.d.ts.map +1 -0
  192. package/dist/features/relationship/server/schema.js +80 -0
  193. package/dist/features/relationship/server/schema.js.map +1 -0
  194. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts +23 -0
  195. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts.map +1 -0
  196. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js +34 -0
  197. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js.map +1 -0
  198. package/dist/features/typesServer.d.ts +17 -40
  199. package/dist/features/typesServer.d.ts.map +1 -1
  200. package/dist/features/typesServer.js.map +1 -1
  201. package/dist/features/upload/client/component/index.d.ts +1 -1
  202. package/dist/features/upload/client/component/index.d.ts.map +1 -1
  203. package/dist/features/upload/client/component/index.js.map +1 -1
  204. package/dist/features/upload/client/nodes/UploadNode.d.ts +1 -1
  205. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  206. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  207. package/dist/features/upload/client/plugin/index.d.ts +1 -1
  208. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  209. package/dist/features/upload/client/plugin/index.js.map +1 -1
  210. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +1 -1
  211. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -1
  212. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  213. package/dist/features/upload/server/index.d.ts +1 -0
  214. package/dist/features/upload/server/index.d.ts.map +1 -1
  215. package/dist/features/upload/server/index.js +3 -2
  216. package/dist/features/upload/server/index.js.map +1 -1
  217. package/dist/features/upload/server/nodes/UploadNode.d.ts +1 -55
  218. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  219. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  220. package/dist/features/upload/server/nodes/conversions.d.ts.map +1 -1
  221. package/dist/features/upload/server/nodes/conversions.js.map +1 -1
  222. package/dist/features/upload/server/schema.d.ts +52 -0
  223. package/dist/features/upload/server/schema.d.ts.map +1 -0
  224. package/dist/features/upload/server/schema.js +129 -0
  225. package/dist/features/upload/server/schema.js.map +1 -0
  226. package/dist/features/upload/server/validate.d.ts +1 -1
  227. package/dist/features/upload/server/validate.d.ts.map +1 -1
  228. package/dist/features/upload/server/validate.js.map +1 -1
  229. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  230. package/dist/field/bundled.css +1 -1
  231. package/dist/field/index.css +4 -0
  232. package/dist/index.d.ts +8 -5
  233. package/dist/index.d.ts.map +1 -1
  234. package/dist/index.js.map +1 -1
  235. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  236. package/dist/lexical/config/server/sanitize.js +9 -11
  237. package/dist/lexical/config/server/sanitize.js.map +1 -1
  238. package/dist/types/builtInNodes.d.ts +14 -0
  239. package/dist/types/builtInNodes.d.ts.map +1 -0
  240. package/dist/types/builtInNodes.js +203 -0
  241. package/dist/types/builtInNodes.js.map +1 -0
  242. package/dist/types/index.d.ts +14 -15
  243. package/dist/types/index.d.ts.map +1 -1
  244. package/dist/types/index.js.map +1 -1
  245. package/dist/types/jsonSchemaHelpers.d.ts +30 -0
  246. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -0
  247. package/dist/types/jsonSchemaHelpers.js +58 -0
  248. package/dist/types/jsonSchemaHelpers.js.map +1 -0
  249. package/dist/types/nodeTypes.d.ts +115 -61
  250. package/dist/types/nodeTypes.d.ts.map +1 -1
  251. package/dist/types/nodeTypes.js +3 -2
  252. package/dist/types/nodeTypes.js.map +1 -1
  253. package/dist/types/schema.d.ts.map +1 -1
  254. package/dist/types/schema.js +67 -65
  255. package/dist/types/schema.js.map +1 -1
  256. package/dist/utilities/applyBaseFilterToFields.d.ts.map +1 -1
  257. package/dist/utilities/applyBaseFilterToFields.js +1 -2
  258. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  259. package/dist/utilities/buildEditorState.d.ts +17 -3
  260. package/dist/utilities/buildEditorState.d.ts.map +1 -1
  261. package/dist/utilities/buildEditorState.js +8 -0
  262. package/dist/utilities/buildEditorState.js.map +1 -1
  263. package/dist/utilities/fieldsDrawer/index.css +5 -1
  264. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +1 -1
  265. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  266. package/package.json +6 -6
  267. package/dist/exports/client/RelationshipComponent-RZL743CS.js.map +0 -7
  268. package/dist/exports/client/chunk-XIJE2UCQ.js +0 -2
  269. package/dist/exports/client/chunk-XIJE2UCQ.js.map +0 -7
  270. package/dist/exports/client/component-KESPRYJR.js.map +0 -7
  271. package/dist/exports/client/componentInline-R2RSJX4K.js +0 -2
  272. package/dist/features/link/nodes/types.d.ts +0 -27
  273. package/dist/features/link/nodes/types.d.ts.map +0 -1
  274. package/dist/features/link/nodes/types.js +0 -2
  275. package/dist/features/link/nodes/types.js.map +0 -1
  276. /package/dist/exports/client/{componentInline-R2RSJX4K.js.map → componentInline-DV4EGOWU.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/types/index.ts"],"sourcesContent":["import type {\n DecoratorNode,\n EditorConfig,\n LexicalEditor,\n EditorConfig as LexicalEditorConfig,\n LexicalNode,\n SerializedEditorState,\n SerializedLexicalNode,\n} from 'lexical'\nimport type {\n ClientField,\n DefaultServerCellComponentProps,\n LabelFunction,\n PayloadComponent,\n RichTextAdapter,\n RichTextField,\n RichTextFieldClient,\n RichTextFieldClientProps,\n SanitizedConfig,\n ServerFieldBase,\n StaticLabel,\n} from 'payload'\n\nimport type { BlockComponentContextType } from '../features/blocks/client/component/BlockContent.js'\nexport type { BlockComponentContextType }\nimport type { BlockComponentProps } from '../features/blocks/client/component/index.js'\nimport type { InlineBlockComponentContextType } from '../features/blocks/client/componentInline/index.js'\nimport type {\n JSXConverterArgs,\n JSXConverters,\n SerializedLexicalNodeWithParent,\n} from '../features/converters/lexicalToJSX/converter/types.js'\nimport type {\n BaseClientFeatureProps,\n FeatureProviderProviderClient,\n} from '../features/typesClient.js'\nimport type { FeatureProviderServer } from '../features/typesServer.js'\nimport type { SanitizedServerEditorConfig } from '../lexical/config/types.js'\nimport type { InitialLexicalFormState } from '../utilities/buildInitialState.js'\nimport type {\n DefaultNodeTypes,\n SerializedBlockNode,\n SerializedInlineBlockNode,\n} from './nodeTypes.js'\n\n/**\n * Base constraint for serialized Lexical node types.\n * Used as the generic constraint for node map types.\n * Extends the base SerializedLexicalNode with optional type for flexibility.\n */\nexport type SerializedNodeBase = { [key: string]: unknown; type?: string }\n\nexport type LexicalFieldAdminProps = {\n /**\n * Controls if the add block button should be hidden. @default false\n */\n hideAddBlockButton?: boolean\n /**\n * Controls if the draggable block element should be hidden. @default false\n */\n hideDraggableBlockElement?: boolean\n /**\n * Controls if the gutter (padding to the left & gray vertical line) should be hidden. @default false\n */\n hideGutter?: boolean\n /**\n * Controls if the insert paragraph at the end button should be hidden. @default false\n */\n hideInsertParagraphAtEnd?: boolean\n /**\n * Changes the placeholder text in the editor if no content is present.\n */\n placeholder?: LabelFunction | StaticLabel\n}\n\nexport type LexicalFieldAdminClientProps = {\n placeholder?: string\n} & Omit<LexicalFieldAdminProps, 'placeholder'>\n\nexport type FeaturesInput =\n | (({\n defaultFeatures,\n rootFeatures,\n }: {\n /**\n * This opinionated array contains all \"recommended\" default features.\n *\n * @Example\n *\n * ```ts\n * editor: lexicalEditor({\n * features: ({ defaultFeatures }) => [...defaultFeatures, FixedToolbarFeature()],\n * })\n * ```\n */\n defaultFeatures: FeatureProviderServer<any, any, any>[]\n /**\n * This array contains all features that are enabled in the root richText editor (the one defined in the payload.config.ts).\n * If this field is the root richText editor, or if the root richText editor is not a lexical editor, this array will be empty.\n *\n * @Example\n *\n * ```ts\n * editor: lexicalEditor({\n * features: ({ rootFeatures }) => [...rootFeatures, FixedToolbarFeature()],\n * })\n * ```\n */\n rootFeatures: FeatureProviderServer<any, any, any>[]\n }) => FeatureProviderServer<any, any, any>[])\n | FeatureProviderServer<any, any, any>[]\n\ntype WithinEditorArgs = {\n config: EditorConfig\n editor: LexicalEditor\n node: LexicalNode\n}\n\n/**\n *\n * @experimental - This API is experimental and may change in a minor release.\n * @internal\n */\nexport type NodeMapValue<TNode extends SerializedNodeBase = SerializedLexicalNode> = {\n /**\n * Provide a react component to render the node.\n *\n * **JSX Converter:** Always works. Takes priority over `html`.\n *\n * **Lexical Editor:** Only works for DecoratorNodes (renders in `decorate` method). Takes priority over `html` and `createDOM`.\n */\n Component?: (\n args:\n | ({\n isEditor: false\n isJSXConverter: true\n } & JSXConverterArgs<TNode>)\n | ({\n isEditor: true\n isJSXConverter: false\n node: {\n _originalDecorate?: (editor: LexicalEditor, config: EditorConfig) => React.ReactNode\n } & DecoratorNode<React.ReactNode>\n } & Omit<WithinEditorArgs, 'node'>),\n ) => React.ReactNode\n /**\n * Provide a function to create the DOM element for the node.\n *\n * **JSX Converter:** Not used (only `Component` and `html` work).\n *\n * **Lexical Editor:** Always works (renders in `createDOM` method).\n * - For ElementNodes: This is the standard way to customize rendering.\n * - For DecoratorNodes: When combined with `html`, the DOM gets custom structure while `decorate` renders the `html` content.\n */\n createDOM?: (args: WithinEditorArgs) => HTMLElement\n /**\n * Provide HTML string or function to render the node.\n *\n * **JSX Converter:** Always works (ignored if `Component` is provided).\n *\n * **Lexical Editor behavior depends on node type:**\n *\n * - **ElementNodes:** `html` is used in `createDOM` to generate the DOM structure.\n *\n * - **DecoratorNodes (have both `createDOM` and `decorate`):**\n * - If only `html` is provided: `createDOM` uses `html` to create DOM, `decorate` returns `null`\n * - If `html` + `Component`: `createDOM` uses `html`, `decorate` uses `Component`\n * - If `html` + `createDOM`: Custom `createDOM` creates structure, `decorate` renders `html` content\n * - If `html` + `Component` + `createDOM`: Custom `createDOM` creates structure, `decorate` uses `Component` (html ignored in editor)\n */\n html?: (\n args:\n | ({\n isEditor: false\n isJSXConverter: true\n } & JSXConverterArgs<TNode>)\n | ({\n isEditor: true\n isJSXConverter: false\n } & WithinEditorArgs),\n ) => string\n}\n\ntype SharedViewMapBlockEditorProps<TNode extends SerializedBlockNode | SerializedInlineBlockNode> =\n {\n /**\n * True when rendering in the admin editor.\n */\n isEditor: true\n /**\n * False when rendering in the admin editor.\n */\n isJSXConverter: false\n } & Pick<BlockComponentProps<TNode['fields']>, 'className' | 'formData' | 'nodeKey'>\n\n/**\n * Props passed to a custom Block component in editor mode.\n * Use `isEditor` to discriminate between editor and JSX converter modes.\n *\n * @experimental - This API is experimental and may change in a minor release.\n */\nexport type ViewMapBlockEditorProps<TNode extends SerializedBlockNode> = {\n /**\n * Hook to access block UI components (BlockCollapsible, EditButton, etc.).\n * Call this inside your component to get the context values.\n * Passed as a prop so you don't need to import from @payloadcms/richtext-lexical/client.\n */\n useBlockComponentContext: () => BlockComponentContextType\n} & SharedViewMapBlockEditorProps<TNode>\n\n/**\n * Props passed to a custom Block component in editor mode.\n * Use `isEditor` to discriminate between editor and JSX converter modes.\n *\n * @experimental - This API is experimental and may change in a minor release.\n */\nexport type ViewMapInlineBlockEditorProps<TNode extends SerializedInlineBlockNode> = {\n useInlineBlockComponentContext: () => InlineBlockComponentContextType\n} & SharedViewMapBlockEditorProps<TNode>\n\n/**\n * Props passed to a custom Block component in JSX converter mode (frontend).\n * Use `isEditor` to discriminate between editor and JSX converter modes.\n *\n * @experimental - This API is experimental and may change in a minor release.\n */\nexport type ViewMapBlockJSXConverterProps<\n TNode extends SerializedBlockNode | SerializedInlineBlockNode =\n | SerializedBlockNode\n | SerializedInlineBlockNode,\n> = {\n /**\n * Index of this node among its siblings.\n */\n childIndex: number\n /**\n * Available JSX converters for nested content.\n */\n converters: JSXConverters\n /**\n * The block's form data (field values).\n */\n formData: TNode['fields']\n /**\n * False when rendering via JSX converter (frontend).\n */\n isEditor: false\n /**\n * True when rendering via JSX converter (frontend).\n */\n isJSXConverter: true\n /**\n * The serialized block node.\n */\n node: TNode\n /**\n * Function to convert child nodes to JSX.\n */\n nodesToJSX: (args: {\n converters?: JSXConverters\n disableIndent?: boolean | string[]\n disableTextAlign?: boolean | string[]\n nodes: SerializedLexicalNode[]\n parent?: SerializedLexicalNodeWithParent\n }) => React.ReactNode[]\n /**\n * The parent node in the tree.\n */\n parent: SerializedLexicalNodeWithParent\n}\n\n/**\n * Props passed to a custom Block component in a view map.\n * This is a discriminated union - use `isEditor` to narrow the type.\n *\n * When `isEditor` is true, you're in the admin editor with access to `blockContext`.\n * When `isEditor` is false, you're in the frontend JSX converter with `nodesToJSX`.\n *\n * @example\n * ```tsx\n * const MyBlock: React.FC<ViewMapBlockComponentProps> = (props) => {\n * if (props.isEditor) {\n * // Admin editor - blockContext available\n * const { BlockCollapsible, EditButton } = props.blockContext\n * return <BlockCollapsible>{props.formData.title}</BlockCollapsible>\n * }\n * // Frontend - readonly render\n * return <div>{props.formData.title}</div>\n * }\n * ```\n *\n * @experimental - This API is experimental and may change in a minor release.\n */\nexport type ViewMapBlockComponentProps<TNode extends SerializedBlockNode = SerializedBlockNode> =\n | ViewMapBlockEditorProps<TNode>\n | ViewMapBlockJSXConverterProps<TNode>\n\nexport type ViewMapInlineBlockComponentProps<\n TNode extends SerializedInlineBlockNode = SerializedInlineBlockNode,\n> = ViewMapBlockJSXConverterProps<TNode> | ViewMapInlineBlockEditorProps<TNode>\n\n/**\n *\n * @experimental - This API is experimental and may change in a minor release.\n * @internal\n */\nexport type NodeMapBlockValue<TNode extends SerializedBlockNode = SerializedBlockNode> = {\n /**\n * A React component that replaces the entire block, including the header/collapsible.\n * Works for both admin editor and frontend JSX conversion.\n *\n * Use `isEditor` to discriminate between modes:\n * - Editor mode: `blockContext` is available with UI components (BlockCollapsible, EditButton, etc.)\n * - JSX converter mode: `nodesToJSX` is available for rendering nested content\n *\n * @example\n * ```tsx\n * Block: (props) => {\n * if (props.isEditor) {\n * const { BlockCollapsible } = props.blockContext\n * return <BlockCollapsible>{props.formData.title}</BlockCollapsible>\n * }\n * return <div>{props.formData.title}</div>\n * }\n * ```\n */\n Block?: React.FC<ViewMapBlockComponentProps<TNode>>\n /**\n * A React component that replaces the block label.\n * Use `useBlockComponentContext()` hook to access block context.\n */\n Label?: React.FC<ViewMapBlockComponentProps<TNode>>\n} & Pick<NodeMapValue<TNode>, 'Component' | 'createDOM' | 'html'>\n\nexport type NodeMapInlineBlockValue<\n TNode extends SerializedInlineBlockNode = SerializedInlineBlockNode,\n> = {\n /**\n * A React component that replaces the entire block, including the header/collapsible.\n * Works for both admin editor and frontend JSX conversion.\n *\n * Use `isEditor` to discriminate between modes:\n * - Editor mode: `blockContext` is available with UI components (BlockCollapsible, EditButton, etc.)\n * - JSX converter mode: `nodesToJSX` is available for rendering nested content\n *\n * @example\n * ```tsx\n * InlineBlock: (props) => {\n * if (props.isEditor) {\n * const { BlockCollapsible } = props.blockContext\n * return <BlockCollapsible>{props.formData.title}</BlockCollapsible>\n * }\n * return <div>{props.formData.title}</div>\n * }\n * ```\n */\n Block?: React.FC<ViewMapInlineBlockComponentProps<TNode>>\n /**\n * A React component that replaces the block label.\n * Use `useBlockComponentContext()` hook to access block context.\n */\n Label?: React.FC<ViewMapInlineBlockComponentProps<TNode>>\n} & Pick<NodeMapValue<TNode>, 'Component' | 'createDOM' | 'html'>\n\n/**\n * @experimental - This API is experimental and may change in a minor release.\n * @internal\n */\nexport type LexicalEditorNodeMap<\n TNodes extends SerializedNodeBase =\n | DefaultNodeTypes\n | SerializedBlockNode<{ blockName?: null | string; blockType: string }> // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n | SerializedInlineBlockNode<{ blockName?: null | string; blockType: string }>, // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n> = {\n // The index signature must include NodeMapBlockValue in the nested blockSlug mapping because\n // 'blocks' and 'inlineBlocks' properties use NodeMapBlockValue (which adds Block/Label props).\n // TypeScript requires that intersection properties be assignable to index signatures.\n [key: string]:\n | {\n [blockSlug: string]: NodeMapBlockValue<any> | NodeMapInlineBlockValue<any>\n }\n | NodeMapValue<any>\n | undefined\n} & {\n [nodeType in Exclude<NonNullable<TNodes['type']>, 'block' | 'inlineBlock'>]?: NodeMapValue<\n Extract<TNodes, { type: nodeType }>\n >\n} & {\n blocks?: {\n [K in Extract<\n Extract<TNodes, { type: 'block' }> extends SerializedBlockNode<infer B>\n ? B extends { blockType: string }\n ? B['blockType']\n : never\n : never,\n string\n >]?: NodeMapBlockValue<\n Extract<TNodes, { type: 'block' }> extends SerializedBlockNode<infer B>\n ? SerializedBlockNode<Extract<B, { blockType: K }>>\n : SerializedBlockNode\n >\n }\n inlineBlocks?: {\n [K in Extract<\n Extract<TNodes, { type: 'inlineBlock' }> extends SerializedInlineBlockNode<infer B>\n ? B extends { blockType: string }\n ? B['blockType']\n : never\n : never,\n string\n >]?: NodeMapInlineBlockValue<\n Extract<TNodes, { type: 'inlineBlock' }> extends SerializedInlineBlockNode<infer B>\n ? SerializedInlineBlockNode<Extract<B, { blockType: K }>>\n : SerializedInlineBlockNode\n >\n }\n unknown?: NodeMapValue<SerializedLexicalNode>\n}\n\n/**\n * A map of views, which can be used to render the editor in different ways.\n *\n * In order to override the default view, you can add a `default` key to the map.\n *\n * @experimental - This API is experimental and may change in a minor release.\n * @internal\n */\nexport type ClientFeaturesMap = {\n [featureKey: string]: {\n clientFeatureProps?: BaseClientFeatureProps<Record<string, any>>\n clientFeatureProvider?: FeatureProviderProviderClient<any, any>\n }\n}\n\nexport type LexicalEditorViewMap<\n TNodes extends SerializedNodeBase =\n | DefaultNodeTypes\n | SerializedBlockNode<{ blockName?: null | string; blockType: string }> // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n | SerializedInlineBlockNode<{ blockName?: null | string; blockType: string }>, // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n> = {\n [viewKey: string]: {\n admin?: LexicalFieldAdminClientProps\n /**\n * Transform the client features for this view.\n * Receives the full clientFeatures map and should return a (potentially modified) map.\n * Can be used to remove features or add new ones per-view.\n *\n * @example Remove toolbars\n * ```ts\n * filterFeatures: (features) => {\n * const { toolbarFixed, toolbarInline, ...rest } = features\n * return rest\n * }\n * ```\n */\n filterFeatures?: (clientFeatures: ClientFeaturesMap) => ClientFeaturesMap\n /**\n * Lexical editor configuration. Can be an object or a function that receives the default config.\n * Using a function avoids needing to import defaultEditorLexicalConfig.\n *\n * @example\n * ```ts\n * lexical: (defaultConfig) => ({\n * ...defaultConfig,\n * theme: { ...defaultConfig.theme, paragraph: 'my-paragraph' },\n * })\n * ```\n */\n lexical?: ((defaultConfig: LexicalEditorConfig) => LexicalEditorConfig) | LexicalEditorConfig\n nodes: LexicalEditorNodeMap<TNodes>\n }\n}\n\n/**\n * @todo rename to LexicalEditorArgs in 4.0, since these are arguments for the lexicalEditor function\n */\nexport type LexicalEditorProps = {\n admin?: LexicalFieldAdminProps\n features?: FeaturesInput\n lexical?: LexicalEditorConfig\n /**\n * A path to a LexicalEditorViewMap, which can be used to render the editor in different ways.\n *\n * In order to override the default view, you can add a `default` key to the map.\n *\n * @experimental - This API is experimental and may change in a minor release.\n * @internal\n */\n views?: PayloadComponent\n}\n\nexport type LexicalRichTextAdapter = {\n editorConfig: SanitizedServerEditorConfig\n features: FeatureProviderServer<any, any, any>[]\n} & RichTextAdapter<SerializedEditorState, AdapterProps>\n\nexport type LexicalRichTextAdapterProvider =\n /**\n * This is being called during the payload sanitization process\n */\n ({\n config,\n isRoot,\n parentIsLocalized,\n }: {\n config: SanitizedConfig\n isRoot?: boolean\n parentIsLocalized: boolean\n }) => Promise<LexicalRichTextAdapter>\n\nexport type SingleFeatureClientSchemaMap = {\n [key: string]: ClientField[]\n}\nexport type FeatureClientSchemaMap = {\n [featureKey: string]: SingleFeatureClientSchemaMap\n}\n\nexport type LexicalRichTextFieldProps = {\n admin?: LexicalFieldAdminClientProps\n // clientFeatures is added through the rsc field\n clientFeatures: ClientFeaturesMap\n /**\n * Part of the import map that contains client components for all lexical features of this field that\n * have been added through `feature.componentImports`.\n */\n featureClientImportMap?: Record<string, any>\n featureClientSchemaMap: FeatureClientSchemaMap\n initialLexicalFormState: InitialLexicalFormState\n lexicalEditorConfig: LexicalEditorConfig | undefined // Undefined if default lexical editor config should be used\n views?: LexicalEditorViewMap\n} & Pick<ServerFieldBase, 'permissions'> &\n RichTextFieldClientProps<SerializedEditorState, AdapterProps, object>\n\nexport type LexicalRichTextCellProps = DefaultServerCellComponentProps<\n RichTextFieldClient<SerializedEditorState, AdapterProps, object>,\n SerializedEditorState\n>\n\nexport type AdapterProps = {\n editorConfig: SanitizedServerEditorConfig\n}\n\nexport type GeneratedFeatureProviderComponent = {\n clientFeature: FeatureProviderProviderClient<any, any>\n clientFeatureProps: BaseClientFeatureProps<object>\n}\n\nexport type LexicalRichTextField = RichTextField<SerializedEditorState, AdapterProps>\n"],"mappings":"AAmiBA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/types/index.ts"],"sourcesContent":["import type {\n DecoratorNode,\n EditorConfig,\n LexicalEditor,\n EditorConfig as LexicalEditorConfig,\n LexicalNode,\n SerializedEditorState,\n SerializedLexicalNode,\n} from 'lexical'\nimport type {\n ClientField,\n DefaultServerCellComponentProps,\n LabelFunction,\n PayloadComponent,\n RichTextAdapter,\n RichTextField,\n RichTextFieldClient,\n RichTextFieldClientProps,\n SanitizedConfig,\n ServerFieldBase,\n StaticLabel,\n} from 'payload'\n\nimport type { BlockComponentContextType } from '../features/blocks/client/component/BlockContent.js'\nexport type { BlockComponentContextType }\nimport type { BlockComponentProps } from '../features/blocks/client/component/index.js'\nimport type { InlineBlockComponentContextType } from '../features/blocks/client/componentInline/index.js'\nimport type {\n JSXConverterArgs,\n JSXConverters,\n SerializedLexicalNodeWithParent,\n} from '../features/converters/lexicalToJSX/converter/types.js'\nimport type {\n BaseClientFeatureProps,\n FeatureProviderProviderClient,\n} from '../features/typesClient.js'\nimport type { FeatureProviderServer } from '../features/typesServer.js'\nimport type { SanitizedServerEditorConfig } from '../lexical/config/types.js'\nimport type { InitialLexicalFormState } from '../utilities/buildInitialState.js'\nimport type {\n DefaultNodeTypes,\n SerializedBlockNode,\n SerializedInlineBlockNode,\n} from './nodeTypes.js'\n\n/**\n * Base constraint for serialized Lexical node types.\n * Used as the generic constraint for node map types.\n * Extends the base SerializedLexicalNode with optional type for flexibility.\n */\nexport type SerializedNodeBase = { type?: string }\n\nexport type LexicalFieldAdminProps = {\n /**\n * Controls if the add block button should be hidden. @default false\n */\n hideAddBlockButton?: boolean\n /**\n * Controls if the draggable block element should be hidden. @default false\n */\n hideDraggableBlockElement?: boolean\n /**\n * Controls if the gutter (padding to the left & gray vertical line) should be hidden. @default false\n */\n hideGutter?: boolean\n /**\n * Controls if the insert paragraph at the end button should be hidden. @default false\n */\n hideInsertParagraphAtEnd?: boolean\n /**\n * Changes the placeholder text in the editor if no content is present.\n */\n placeholder?: LabelFunction | StaticLabel\n}\n\nexport type LexicalFieldAdminClientProps = {\n placeholder?: string\n} & Omit<LexicalFieldAdminProps, 'placeholder'>\n\nexport type FeaturesInput =\n | (({\n defaultFeatures,\n rootFeatures,\n }: {\n /**\n * This opinionated array contains all \"recommended\" default features.\n *\n * @Example\n *\n * ```ts\n * editor: lexicalEditor({\n * features: ({ defaultFeatures }) => [...defaultFeatures, FixedToolbarFeature()],\n * })\n * ```\n */\n defaultFeatures: FeatureProviderServer<any, any, any>[]\n /**\n * This array contains all features that are enabled in the root richText editor (the one defined in the payload.config.ts).\n * If this field is the root richText editor, or if the root richText editor is not a lexical editor, this array will be empty.\n *\n * @Example\n *\n * ```ts\n * editor: lexicalEditor({\n * features: ({ rootFeatures }) => [...rootFeatures, FixedToolbarFeature()],\n * })\n * ```\n */\n rootFeatures: FeatureProviderServer<any, any, any>[]\n }) => FeatureProviderServer<any, any, any>[])\n | FeatureProviderServer<any, any, any>[]\n\ntype WithinEditorArgs = {\n config: EditorConfig\n editor: LexicalEditor\n node: LexicalNode\n}\n\n/**\n *\n * @experimental - This API is experimental and may change in a minor release.\n * @internal\n */\nexport type NodeMapValue<TNode extends SerializedNodeBase = SerializedLexicalNode> = {\n /**\n * Provide a react component to render the node.\n *\n * **JSX Converter:** Always works. Takes priority over `html`.\n *\n * **Lexical Editor:** Only works for DecoratorNodes (renders in `decorate` method). Takes priority over `html` and `createDOM`.\n */\n Component?: (\n args:\n | ({\n isEditor: false\n isJSXConverter: true\n } & JSXConverterArgs<TNode>)\n | ({\n isEditor: true\n isJSXConverter: false\n node: {\n _originalDecorate?: (editor: LexicalEditor, config: EditorConfig) => React.ReactNode\n } & DecoratorNode<React.ReactNode>\n } & Omit<WithinEditorArgs, 'node'>),\n ) => React.ReactNode\n /**\n * Provide a function to create the DOM element for the node.\n *\n * **JSX Converter:** Not used (only `Component` and `html` work).\n *\n * **Lexical Editor:** Always works (renders in `createDOM` method).\n * - For ElementNodes: This is the standard way to customize rendering.\n * - For DecoratorNodes: When combined with `html`, the DOM gets custom structure while `decorate` renders the `html` content.\n */\n createDOM?: (args: WithinEditorArgs) => HTMLElement\n /**\n * Provide HTML string or function to render the node.\n *\n * **JSX Converter:** Always works (ignored if `Component` is provided).\n *\n * **Lexical Editor behavior depends on node type:**\n *\n * - **ElementNodes:** `html` is used in `createDOM` to generate the DOM structure.\n *\n * - **DecoratorNodes (have both `createDOM` and `decorate`):**\n * - If only `html` is provided: `createDOM` uses `html` to create DOM, `decorate` returns `null`\n * - If `html` + `Component`: `createDOM` uses `html`, `decorate` uses `Component`\n * - If `html` + `createDOM`: Custom `createDOM` creates structure, `decorate` renders `html` content\n * - If `html` + `Component` + `createDOM`: Custom `createDOM` creates structure, `decorate` uses `Component` (html ignored in editor)\n */\n html?: (\n args:\n | ({\n isEditor: false\n isJSXConverter: true\n } & JSXConverterArgs<TNode>)\n | ({\n isEditor: true\n isJSXConverter: false\n } & WithinEditorArgs),\n ) => string\n}\n\ntype SharedViewMapBlockEditorProps<TNode extends SerializedBlockNode | SerializedInlineBlockNode> =\n {\n /**\n * True when rendering in the admin editor.\n */\n isEditor: true\n /**\n * False when rendering in the admin editor.\n */\n isJSXConverter: false\n } & Pick<BlockComponentProps<TNode['fields']>, 'className' | 'formData' | 'nodeKey'>\n\n/**\n * Props passed to a custom Block component in editor mode.\n * Use `isEditor` to discriminate between editor and JSX converter modes.\n *\n * @experimental - This API is experimental and may change in a minor release.\n */\nexport type ViewMapBlockEditorProps<TNode extends SerializedBlockNode> = {\n /**\n * Hook to access block UI components (BlockCollapsible, EditButton, etc.).\n * Call this inside your component to get the context values.\n * Passed as a prop so you don't need to import from @payloadcms/richtext-lexical/client.\n */\n useBlockComponentContext: () => BlockComponentContextType\n} & SharedViewMapBlockEditorProps<TNode>\n\n/**\n * Props passed to a custom Block component in editor mode.\n * Use `isEditor` to discriminate between editor and JSX converter modes.\n *\n * @experimental - This API is experimental and may change in a minor release.\n */\nexport type ViewMapInlineBlockEditorProps<TNode extends SerializedInlineBlockNode> = {\n useInlineBlockComponentContext: () => InlineBlockComponentContextType\n} & SharedViewMapBlockEditorProps<TNode>\n\n/**\n * Props passed to a custom Block component in JSX converter mode (frontend).\n * Use `isEditor` to discriminate between editor and JSX converter modes.\n *\n * @experimental - This API is experimental and may change in a minor release.\n */\nexport type ViewMapBlockJSXConverterProps<\n TNode extends SerializedBlockNode | SerializedInlineBlockNode =\n | SerializedBlockNode\n | SerializedInlineBlockNode,\n> = {\n /**\n * Index of this node among its siblings.\n */\n childIndex: number\n /**\n * Available JSX converters for nested content.\n */\n converters: JSXConverters\n /**\n * The block's form data (field values).\n */\n formData: TNode['fields']\n /**\n * False when rendering via JSX converter (frontend).\n */\n isEditor: false\n /**\n * True when rendering via JSX converter (frontend).\n */\n isJSXConverter: true\n /**\n * The serialized block node.\n */\n node: TNode\n /**\n * Function to convert child nodes to JSX.\n */\n nodesToJSX: (args: {\n converters?: JSXConverters\n disableIndent?: boolean | string[]\n disableTextAlign?: boolean | string[]\n nodes: SerializedLexicalNode[]\n parent?: SerializedLexicalNodeWithParent\n }) => React.ReactNode[]\n /**\n * The parent node in the tree.\n */\n parent: SerializedLexicalNodeWithParent\n}\n\n/**\n * Props passed to a custom Block component in a view map.\n * This is a discriminated union - use `isEditor` to narrow the type.\n *\n * When `isEditor` is true, you're in the admin editor with access to `blockContext`.\n * When `isEditor` is false, you're in the frontend JSX converter with `nodesToJSX`.\n *\n * @example\n * ```tsx\n * const MyBlock: React.FC<ViewMapBlockComponentProps> = (props) => {\n * if (props.isEditor) {\n * // Admin editor - blockContext available\n * const { BlockCollapsible, EditButton } = props.blockContext\n * return <BlockCollapsible>{props.formData.title}</BlockCollapsible>\n * }\n * // Frontend - readonly render\n * return <div>{props.formData.title}</div>\n * }\n * ```\n *\n * @experimental - This API is experimental and may change in a minor release.\n */\nexport type ViewMapBlockComponentProps<TNode extends SerializedBlockNode = SerializedBlockNode> =\n | ViewMapBlockEditorProps<TNode>\n | ViewMapBlockJSXConverterProps<TNode>\n\nexport type ViewMapInlineBlockComponentProps<\n TNode extends SerializedInlineBlockNode = SerializedInlineBlockNode,\n> = ViewMapBlockJSXConverterProps<TNode> | ViewMapInlineBlockEditorProps<TNode>\n\n/**\n *\n * @experimental - This API is experimental and may change in a minor release.\n * @internal\n */\nexport type NodeMapBlockValue<TNode extends SerializedBlockNode = SerializedBlockNode> = {\n /**\n * A React component that replaces the entire block, including the header/collapsible.\n * Works for both admin editor and frontend JSX conversion.\n *\n * Use `isEditor` to discriminate between modes:\n * - Editor mode: `blockContext` is available with UI components (BlockCollapsible, EditButton, etc.)\n * - JSX converter mode: `nodesToJSX` is available for rendering nested content\n *\n * @example\n * ```tsx\n * Block: (props) => {\n * if (props.isEditor) {\n * const { BlockCollapsible } = props.blockContext\n * return <BlockCollapsible>{props.formData.title}</BlockCollapsible>\n * }\n * return <div>{props.formData.title}</div>\n * }\n * ```\n */\n Block?: React.FC<ViewMapBlockComponentProps<TNode>>\n /**\n * A React component that replaces the block label.\n * Use `useBlockComponentContext()` hook to access block context.\n */\n Label?: React.FC<ViewMapBlockComponentProps<TNode>>\n} & Pick<NodeMapValue<TNode>, 'Component' | 'createDOM' | 'html'>\n\nexport type NodeMapInlineBlockValue<\n TNode extends SerializedInlineBlockNode = SerializedInlineBlockNode,\n> = {\n /**\n * A React component that replaces the entire block, including the header/collapsible.\n * Works for both admin editor and frontend JSX conversion.\n *\n * Use `isEditor` to discriminate between modes:\n * - Editor mode: `blockContext` is available with UI components (BlockCollapsible, EditButton, etc.)\n * - JSX converter mode: `nodesToJSX` is available for rendering nested content\n *\n * @example\n * ```tsx\n * InlineBlock: (props) => {\n * if (props.isEditor) {\n * const { BlockCollapsible } = props.blockContext\n * return <BlockCollapsible>{props.formData.title}</BlockCollapsible>\n * }\n * return <div>{props.formData.title}</div>\n * }\n * ```\n */\n Block?: React.FC<ViewMapInlineBlockComponentProps<TNode>>\n /**\n * A React component that replaces the block label.\n * Use `useBlockComponentContext()` hook to access block context.\n */\n Label?: React.FC<ViewMapInlineBlockComponentProps<TNode>>\n} & Pick<NodeMapValue<TNode>, 'Component' | 'createDOM' | 'html'>\n\n/**\n * @experimental - This API is experimental and may change in a minor release.\n * @internal\n */\nexport type LexicalEditorNodeMap<\n TNodes extends SerializedNodeBase =\n | DefaultNodeTypes\n | SerializedBlockNode<{ blockName?: null | string; blockType: string }> // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n | SerializedInlineBlockNode<{ blockName?: null | string; blockType: string }>, // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n> = {\n // The index signature must include NodeMapBlockValue in the nested blockSlug mapping because\n // 'blocks' and 'inlineBlocks' properties use NodeMapBlockValue (which adds Block/Label props).\n // TypeScript requires that intersection properties be assignable to index signatures.\n [key: string]:\n | {\n [blockSlug: string]: NodeMapBlockValue<any> | NodeMapInlineBlockValue<any>\n }\n | NodeMapValue<any>\n | undefined\n} & {\n [nodeType in Exclude<NonNullable<TNodes['type']>, 'block' | 'inlineBlock'>]?: NodeMapValue<\n Extract<TNodes, { type: nodeType }>\n >\n} & {\n blocks?: {\n [K in (Extract<TNodes, { type: 'block' }> &\n SerializedBlockNode)['fields']['blockType']]?: NodeMapBlockValue<\n Extract<\n Extract<TNodes, { type: 'block' }> & SerializedBlockNode,\n { fields: { blockType: K } }\n >\n >\n }\n inlineBlocks?: {\n [K in (Extract<TNodes, { type: 'inlineBlock' }> &\n SerializedInlineBlockNode)['fields']['blockType']]?: NodeMapInlineBlockValue<\n Extract<\n Extract<TNodes, { type: 'inlineBlock' }> & SerializedInlineBlockNode,\n { fields: { blockType: K } }\n >\n >\n }\n unknown?: NodeMapValue<SerializedLexicalNode>\n}\n\n/**\n * A map of views, which can be used to render the editor in different ways.\n *\n * In order to override the default view, you can add a `default` key to the map.\n *\n * @experimental - This API is experimental and may change in a minor release.\n * @internal\n */\nexport type ClientFeaturesMap = {\n [featureKey: string]: {\n clientFeatureProps?: BaseClientFeatureProps<Record<string, any>>\n clientFeatureProvider?: FeatureProviderProviderClient<any, any>\n }\n}\n\nexport type LexicalEditorViewMap<\n TNodes extends SerializedNodeBase =\n | DefaultNodeTypes\n | SerializedBlockNode<{ blockName?: null | string; blockType: string }> // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n | SerializedInlineBlockNode<{ blockName?: null | string; blockType: string }>, // need these to ensure types for blocks and inlineBlocks work if no generics are provided\n> = {\n [viewKey: string]: {\n admin?: LexicalFieldAdminClientProps\n /**\n * Transform the client features for this view.\n * Receives the full clientFeatures map and should return a (potentially modified) map.\n * Can be used to remove features or add new ones per-view.\n *\n * @example Remove toolbars\n * ```ts\n * filterFeatures: (features) => {\n * const { toolbarFixed, toolbarInline, ...rest } = features\n * return rest\n * }\n * ```\n */\n filterFeatures?: (clientFeatures: ClientFeaturesMap) => ClientFeaturesMap\n /**\n * Lexical editor configuration. Can be an object or a function that receives the default config.\n * Using a function avoids needing to import defaultEditorLexicalConfig.\n *\n * @example\n * ```ts\n * lexical: (defaultConfig) => ({\n * ...defaultConfig,\n * theme: { ...defaultConfig.theme, paragraph: 'my-paragraph' },\n * })\n * ```\n */\n lexical?: ((defaultConfig: LexicalEditorConfig) => LexicalEditorConfig) | LexicalEditorConfig\n nodes: LexicalEditorNodeMap<TNodes>\n }\n}\n\n/**\n * @todo rename to LexicalEditorArgs in 4.0, since these are arguments for the lexicalEditor function\n */\nexport type LexicalEditorProps = {\n admin?: LexicalFieldAdminProps\n features?: FeaturesInput\n lexical?: LexicalEditorConfig\n /**\n * A path to a LexicalEditorViewMap, which can be used to render the editor in different ways.\n *\n * In order to override the default view, you can add a `default` key to the map.\n *\n * @experimental - This API is experimental and may change in a minor release.\n * @internal\n */\n views?: PayloadComponent\n}\n\nexport type LexicalRichTextAdapter = {\n editorConfig: SanitizedServerEditorConfig\n features: FeatureProviderServer<any, any, any>[]\n} & RichTextAdapter<SerializedEditorState, AdapterProps>\n\nexport type LexicalRichTextAdapterProvider =\n /**\n * This is being called during the payload sanitization process\n */\n ({\n config,\n isRoot,\n parentIsLocalized,\n }: {\n config: SanitizedConfig\n isRoot?: boolean\n parentIsLocalized: boolean\n }) => Promise<LexicalRichTextAdapter>\n\nexport type SingleFeatureClientSchemaMap = {\n [key: string]: ClientField[]\n}\nexport type FeatureClientSchemaMap = {\n [featureKey: string]: SingleFeatureClientSchemaMap\n}\n\nexport type LexicalRichTextFieldProps = {\n admin?: LexicalFieldAdminClientProps\n // clientFeatures is added through the rsc field\n clientFeatures: ClientFeaturesMap\n /**\n * Part of the import map that contains client components for all lexical features of this field that\n * have been added through `feature.componentImports`.\n */\n featureClientImportMap?: Record<string, any>\n featureClientSchemaMap: FeatureClientSchemaMap\n initialLexicalFormState: InitialLexicalFormState\n lexicalEditorConfig: LexicalEditorConfig | undefined // Undefined if default lexical editor config should be used\n views?: LexicalEditorViewMap\n} & Pick<ServerFieldBase, 'permissions'> &\n RichTextFieldClientProps<SerializedEditorState, AdapterProps, object>\n\nexport type LexicalRichTextCellProps = DefaultServerCellComponentProps<\n RichTextFieldClient<SerializedEditorState, AdapterProps, object>,\n SerializedEditorState\n>\n\nexport type AdapterProps = {\n editorConfig: SanitizedServerEditorConfig\n}\n\nexport type GeneratedFeatureProviderComponent = {\n clientFeature: FeatureProviderProviderClient<any, any>\n clientFeatureProps: BaseClientFeatureProps<object>\n}\n\nexport type LexicalRichTextField = RichTextField<SerializedEditorState, AdapterProps>\n"],"mappings":"AAyhBA","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import type { JSONSchema4 } from 'json-schema';
2
+ /** `format` property shared by every element node (Lexical `ElementFormatType`). */
3
+ export declare const formatSchema: JSONSchema4;
4
+ /** `direction` property shared by every element node. */
5
+ export declare const directionSchema: JSONSchema4;
6
+ /** `version` property shared by every Lexical node. */
7
+ export declare const versionSchema: JSONSchema4;
8
+ type ElementNodeSchemaOptions = {
9
+ nodeType: string;
10
+ properties?: {
11
+ [k: string]: JSONSchema4;
12
+ };
13
+ required?: string[];
14
+ /** TS helper-type expression — emitted verbatim by json-schema-to-typescript. */
15
+ tsType?: string;
16
+ };
17
+ /**
18
+ * Builds the JSON Schema for a Lexical element node - merges the shared
19
+ * element-base shape (children/direction/format/indent/version) with the
20
+ * node-specific bits a feature provides.
21
+ */
22
+ export declare const elementNodeSchema: ({ nodeType, nodeUnionRef, properties, required, tsType, }: {
23
+ nodeUnionRef: JSONSchema4;
24
+ } & ElementNodeSchemaOptions) => JSONSchema4;
25
+ /**
26
+ * `elementNodeSchema` HOC type, so that features don't have to pass `nodeUnionRef` every time.
27
+ */
28
+ export type ElementNodeSchemaFn = (opts: ElementNodeSchemaOptions) => JSONSchema4;
29
+ export {};
30
+ //# sourceMappingURL=jsonSchemaHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonSchemaHelpers.d.ts","sourceRoot":"","sources":["../../src/types/jsonSchemaHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,oFAAoF;AACpF,eAAO,MAAM,YAAY,EAAE,WAK1B,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,eAAe,EAAE,WAG7B,CAAA;AAED,uDAAuD;AACvD,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAA;IACzC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,2DAM/B;IAAE,YAAY,EAAE,WAAW,CAAA;CAAE,GAAG,wBAAwB,KAAG,WAc5D,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,wBAAwB,KAAK,WAAW,CAAA"}
@@ -0,0 +1,58 @@
1
+ /** `format` property shared by every element node (Lexical `ElementFormatType`). */export const formatSchema = {
2
+ type: 'string',
3
+ description: 'How this element is aligned. Empty string means no explicit alignment.',
4
+ enum: ['left', 'start', 'center', 'right', 'end', 'justify', ''],
5
+ tsType: 'LexicalElementFormat'
6
+ };
7
+ /** `direction` property shared by every element node. */
8
+ export const directionSchema = {
9
+ oneOf: [{
10
+ type: 'string',
11
+ enum: ['ltr', 'rtl']
12
+ }, {
13
+ type: 'null'
14
+ }],
15
+ tsType: 'LexicalElementDirection'
16
+ };
17
+ /** `version` property shared by every Lexical node. */
18
+ export const versionSchema = {
19
+ type: 'integer',
20
+ description: "Lexical's internal serialization version for this node type."
21
+ };
22
+ /**
23
+ * Builds the JSON Schema for a Lexical element node - merges the shared
24
+ * element-base shape (children/direction/format/indent/version) with the
25
+ * node-specific bits a feature provides.
26
+ */
27
+ export const elementNodeSchema = ({
28
+ nodeType,
29
+ nodeUnionRef,
30
+ properties = {},
31
+ required = [],
32
+ tsType
33
+ }) => ({
34
+ type: 'object',
35
+ additionalProperties: false,
36
+ properties: {
37
+ type: {
38
+ type: 'string',
39
+ const: nodeType
40
+ },
41
+ children: {
42
+ type: 'array',
43
+ items: nodeUnionRef
44
+ },
45
+ direction: directionSchema,
46
+ format: formatSchema,
47
+ indent: {
48
+ type: 'integer'
49
+ },
50
+ version: versionSchema,
51
+ ...properties
52
+ },
53
+ required: ['children', 'direction', 'format', 'indent', 'type', 'version', ...required],
54
+ ...(tsType ? {
55
+ tsType
56
+ } : {})
57
+ });
58
+ //# sourceMappingURL=jsonSchemaHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonSchemaHelpers.js","names":["formatSchema","type","description","enum","tsType","directionSchema","oneOf","versionSchema","elementNodeSchema","nodeType","nodeUnionRef","properties","required","additionalProperties","const","children","items","direction","format","indent","version"],"sources":["../../src/types/jsonSchemaHelpers.ts"],"sourcesContent":["import type { JSONSchema4 } from 'json-schema'\n\n/** `format` property shared by every element node (Lexical `ElementFormatType`). */\nexport const formatSchema: JSONSchema4 = {\n type: 'string',\n description: 'How this element is aligned. Empty string means no explicit alignment.',\n enum: ['left', 'start', 'center', 'right', 'end', 'justify', ''],\n tsType: 'LexicalElementFormat',\n}\n\n/** `direction` property shared by every element node. */\nexport const directionSchema: JSONSchema4 = {\n oneOf: [{ type: 'string', enum: ['ltr', 'rtl'] }, { type: 'null' }],\n tsType: 'LexicalElementDirection',\n}\n\n/** `version` property shared by every Lexical node. */\nexport const versionSchema: JSONSchema4 = {\n type: 'integer',\n description: \"Lexical's internal serialization version for this node type.\",\n}\n\ntype ElementNodeSchemaOptions = {\n nodeType: string\n properties?: { [k: string]: JSONSchema4 }\n required?: string[]\n /** TS helper-type expression — emitted verbatim by json-schema-to-typescript. */\n tsType?: string\n}\n\n/**\n * Builds the JSON Schema for a Lexical element node - merges the shared\n * element-base shape (children/direction/format/indent/version) with the\n * node-specific bits a feature provides.\n */\nexport const elementNodeSchema = ({\n nodeType,\n nodeUnionRef,\n properties = {},\n required = [],\n tsType,\n}: { nodeUnionRef: JSONSchema4 } & ElementNodeSchemaOptions): JSONSchema4 => ({\n type: 'object',\n additionalProperties: false,\n properties: {\n type: { type: 'string', const: nodeType },\n children: { type: 'array', items: nodeUnionRef },\n direction: directionSchema,\n format: formatSchema,\n indent: { type: 'integer' },\n version: versionSchema,\n ...properties,\n },\n required: ['children', 'direction', 'format', 'indent', 'type', 'version', ...required],\n ...(tsType ? { tsType } : {}),\n})\n\n/**\n * `elementNodeSchema` HOC type, so that features don't have to pass `nodeUnionRef` every time.\n */\nexport type ElementNodeSchemaFn = (opts: ElementNodeSchemaOptions) => JSONSchema4\n"],"mappings":"AAEA,oFACA,OAAO,MAAMA,YAAA,GAA4B;EACvCC,IAAA,EAAM;EACNC,WAAA,EAAa;EACbC,IAAA,EAAM,CAAC,QAAQ,SAAS,UAAU,SAAS,OAAO,WAAW,GAAG;EAChEC,MAAA,EAAQ;AACV;AAEA;AACA,OAAO,MAAMC,eAAA,GAA+B;EAC1CC,KAAA,EAAO,CAAC;IAAEL,IAAA,EAAM;IAAUE,IAAA,EAAM,CAAC,OAAO;EAAO,GAAG;IAAEF,IAAA,EAAM;EAAO,EAAE;EACnEG,MAAA,EAAQ;AACV;AAEA;AACA,OAAO,MAAMG,aAAA,GAA6B;EACxCN,IAAA,EAAM;EACNC,WAAA,EAAa;AACf;AAUA;;;;;AAKA,OAAO,MAAMM,iBAAA,GAAoBA,CAAC;EAChCC,QAAQ;EACRC,YAAY;EACZC,UAAA,GAAa,CAAC,CAAC;EACfC,QAAA,GAAW,EAAE;EACbR;AAAM,CACmD,MAAmB;EAC5EH,IAAA,EAAM;EACNY,oBAAA,EAAsB;EACtBF,UAAA,EAAY;IACVV,IAAA,EAAM;MAAEA,IAAA,EAAM;MAAUa,KAAA,EAAOL;IAAS;IACxCM,QAAA,EAAU;MAAEd,IAAA,EAAM;MAASe,KAAA,EAAON;IAAa;IAC/CO,SAAA,EAAWZ,eAAA;IACXa,MAAA,EAAQlB,YAAA;IACRmB,MAAA,EAAQ;MAAElB,IAAA,EAAM;IAAU;IAC1BmB,OAAA,EAASb,aAAA;IACT,GAAGI;EACL;EACAC,QAAA,EAAU,CAAC,YAAY,aAAa,UAAU,UAAU,QAAQ,W,GAAcA,QAAA,CAAS;EACvF,IAAIR,MAAA,GAAS;IAAEA;EAAO,IAAI,CAAC,CAAC;AAC9B","ignoreList":[]}
@@ -1,74 +1,128 @@
1
- import type { SerializedLineBreakNode as _SerializedLineBreakNode, SerializedTabNode as _SerializedTabNode, SerializedTextNode as _SerializedTextNode, SerializedEditorState, SerializedElementNode, SerializedLexicalNode } from 'lexical';
2
- import type { SerializedQuoteNode } from '../features/blockquote/server/index.js';
3
- import type { SerializedBlockNode } from '../features/blocks/server/nodes/BlocksNode.js';
4
- import type { SerializedInlineBlockNode } from '../features/blocks/server/nodes/InlineBlocksNode.js';
5
- import type { SerializedTableCellNode, SerializedTableNode, SerializedTableRowNode } from '../features/experimental_table/server/index.js';
6
- import type { SerializedHeadingNode } from '../features/heading/server/index.js';
7
- import type { SerializedHorizontalRuleNode } from '../features/horizontalRule/server/nodes/HorizontalRuleNode.js';
8
- import type { SerializedAutoLinkNode, SerializedLinkNode } from '../features/link/nodes/types.js';
9
- import type { SerializedListItemNode, SerializedListNode } from '../features/lists/plugin/index.js';
10
- import type { SerializedRelationshipNode } from '../features/relationship/server/nodes/RelationshipNode.js';
11
- import type { SerializedUploadNode } from '../features/upload/server/nodes/UploadNode.js';
1
+ import type { SerializedLexicalNode } from 'lexical';
2
+ import type { SerializedQuoteNode } from '../features/blockquote/server/schema.js';
3
+ import type { SerializedBlockNode, SerializedInlineBlockNode } from '../features/blocks/server/schema.js';
4
+ import type { SerializedTableCellNode, SerializedTableNode, SerializedTableRowNode } from '../features/experimental_table/server/schema.js';
5
+ import type { SerializedHeadingNode } from '../features/heading/server/schema.js';
6
+ import type { SerializedHorizontalRuleNode } from '../features/horizontalRule/server/schema.js';
7
+ import type { SerializedAutoLinkNode, SerializedLinkNode } from '../features/link/server/schema.js';
8
+ import type { SerializedListItemNode, SerializedListNode } from '../features/lists/shared/schema.js';
9
+ import type { SerializedRelationshipNode } from '../features/relationship/server/schema.js';
10
+ import type { SerializedUploadNode } from '../features/upload/server/schema.js';
11
+ /** @internal Core Lexical types see @payloadcms/richtext-lexical. */
12
+ export type LexicalElementFormat = '' | 'center' | 'end' | 'justify' | 'left' | 'right' | 'start';
13
+ export type LexicalElementDirection = ('ltr' | 'rtl') | null;
14
+ export interface SerializedLexicalElementBase<TChildren> {
15
+ children: TChildren[];
16
+ direction: LexicalElementDirection;
17
+ format: LexicalElementFormat;
18
+ indent: number;
19
+ textFormat?: number;
20
+ textStyle?: string;
21
+ version: number;
22
+ }
23
+ export type LexicalTextMode = 'normal' | 'segmented' | 'token';
24
+ export interface SerializedTextNode {
25
+ detail: number;
26
+ format: number;
27
+ mode: LexicalTextMode;
28
+ style: string;
29
+ text: string;
30
+ type: 'text';
31
+ version: number;
32
+ }
33
+ export interface SerializedTabNode {
34
+ detail: number;
35
+ format: number;
36
+ mode: LexicalTextMode;
37
+ style: string;
38
+ text: string;
39
+ type: 'tab';
40
+ version: number;
41
+ }
42
+ export interface SerializedLineBreakNode {
43
+ type: 'linebreak';
44
+ version: number;
45
+ }
46
+ export interface SerializedParagraphNode<TChildren extends SerializedLexicalNode = SerializedLexicalNode> extends SerializedLexicalElementBase<TChildren> {
47
+ textFormat: number;
48
+ textStyle: string;
49
+ type: 'paragraph';
50
+ }
51
+ /** Shape of a Lexical `richText` field. */
52
+ export interface LexicalRichText<TNode> {
53
+ root: {
54
+ children: TNode[];
55
+ direction: LexicalElementDirection;
56
+ format: LexicalElementFormat;
57
+ indent: number;
58
+ type: 'root';
59
+ version: number;
60
+ };
61
+ }
62
+ export type { SerializedAutoLinkNode, SerializedBlockNode, SerializedHeadingNode, SerializedHorizontalRuleNode, SerializedInlineBlockNode, SerializedLinkNode, SerializedListItemNode, SerializedListNode, SerializedQuoteNode, SerializedRelationshipNode, SerializedTableCellNode, SerializedTableNode, SerializedTableRowNode, SerializedUploadNode, };
63
+ /** `SerializedEditorState` with nodes narrowed by `type`. No type-casting needed. */
64
+ export type TypedEditorState<TNode extends SerializedLexicalNode = SerializedLexicalNode> = LexicalRichText<TNode>;
12
65
  /**
13
- * Helper type to create strongly typed serialized nodes with flexible children types.
14
- * Omits 'children' and 'type' from the base node type and redeclares them with proper typing.
15
- *
16
- * @param TBase - The base Lexical node type (e.g., _SerializedHeadingNode)
17
- * @param TType - The node type string (e.g., 'heading')
18
- * @param TChildren - The type for children (defaults to SerializedLexicalNode)
66
+ * The node union of a generated `richText` field. Pass the field type — e.g.
67
+ * `RichTextNodes<Post['richText']>` to type an individual node you build for that editor (for
68
+ * example a single block, or a `.map()` of nodes). To build a whole editor state, prefer passing
69
+ * the field type straight to {@link buildEditorState}.
19
70
  */
20
- export type StronglyTypedElementNode<TBase, TType extends string, TChildren extends SerializedLexicalNode = SerializedLexicalNode> = {
21
- children: TChildren[];
22
- type: TType;
23
- } & Omit<TBase, 'children' | 'type'>;
71
+ export type RichTextNodes<TRichText> = NonNullable<TRichText> extends LexicalRichText<infer TNode> ? TNode : never;
24
72
  /**
25
- * Helper type to create strongly typed leaf nodes (nodes without children).
26
- * Omits 'children' and 'type' from the base node type and redeclares 'type' with a literal.
27
- *
28
- * @param TBase - The base Lexical node type (e.g., _SerializedTextNode)
29
- * @param TType - The node type string (e.g., 'text')
73
+ * All node types included by default in a lexical editor. Self-recursive —
74
+ * each element node's `children` is `DefaultNodeTypes` again, no depth limit.
75
+ * To compose your own union including the defaults, see {@link WithDefaultNodes}.
30
76
  */
31
- export type StronglyTypedLeafNode<TBase, TType extends string> = {
32
- type: TType;
33
- } & Omit<TBase, 'children' | 'type'>;
34
- export type { SerializedAutoLinkNode, SerializedBlockNode, SerializedHeadingNode, SerializedHorizontalRuleNode, SerializedInlineBlockNode, SerializedLinkNode, SerializedListItemNode, SerializedListNode, SerializedQuoteNode, SerializedRelationshipNode, SerializedTableCellNode, SerializedTableNode, SerializedTableRowNode, SerializedUploadNode, };
35
- export type SerializedParagraphNode<T extends SerializedLexicalNode = SerializedLexicalNode> = {
36
- textFormat: number;
37
- } & StronglyTypedElementNode<SerializedElementNode, 'paragraph', T>;
38
- export type SerializedTextNode = StronglyTypedLeafNode<_SerializedTextNode, 'text'>;
39
- export type SerializedTabNode = StronglyTypedLeafNode<_SerializedTabNode, 'tab'>;
40
- export type SerializedLineBreakNode = StronglyTypedLeafNode<_SerializedLineBreakNode, 'linebreak'>;
77
+ export type DefaultNodeTypes = SerializedAutoLinkNode<DefaultNodeTypes> | SerializedHeadingNode<DefaultNodeTypes> | SerializedHorizontalRuleNode | SerializedLineBreakNode | SerializedLinkNode<DefaultNodeTypes> | SerializedListItemNode<DefaultNodeTypes> | SerializedListNode<DefaultNodeTypes> | SerializedParagraphNode<DefaultNodeTypes> | SerializedQuoteNode<DefaultNodeTypes> | SerializedRelationshipNode | SerializedTabNode | SerializedTextNode | SerializedUploadNode;
41
78
  /**
42
- * Recursively adds typed children to nodes up to a specified depth.
79
+ * The built-in lexical nodes, plus your own - with your nodes threaded into every container's
80
+ * `children`, not just the top level. Pass your custom node(s) as the generic:
43
81
  *
44
- * Key behaviors:
45
- * - `T extends any`: Distributive - processes each union member individually
46
- * - `OriginalUnion`: Preserves full union so nested children accept all node types, not just parent's type. If we just used `T`, the type would be narrowed to the parent's type and the children would only consist of the parent's type.
47
- * - `'children' extends keyof T`: Only adds children to container nodes; respects leaf nodes that use `Omit<_, 'children'>`
48
- * - `Depth`: Limits recursion to prevent infinite types (default: 4 levels)
82
+ * ```ts
83
+ * type MyNodes = WithDefaultNodes<SerializedBlockNode<MyBlockData>>
84
+ * ```
49
85
  *
50
- * @internal - this type may change or be removed in a minor release
86
+ * Built by flattening {@link DefaultNodeRegistry} (`Registry[keyof Registry]`); see that interface
87
+ * for why the node set lives in a registry instead of being written as a plain union type.
51
88
  */
52
- export type RecursiveNodes<T extends SerializedLexicalNode, Depth extends number = 4, OriginalUnion extends SerializedLexicalNode = T> = T extends any ? Depth extends 0 ? T : 'children' extends keyof T ? {
53
- children?: RecursiveNodes<OriginalUnion, DecrementDepth<Depth>, OriginalUnion>[];
54
- } & T : T : never;
55
- /** Decrements depth: 4→3, 3→2, 2→1, 1→0, 0→0 */
56
- type DecrementDepth<N extends number> = [0, 0, 1, 2, 3, 4][N];
89
+ export type WithDefaultNodes<TCustom extends SerializedLexicalNode = never> = DefaultNodeRegistry<TCustom>[keyof DefaultNodeRegistry<TCustom>];
90
+ /** @internal Re-types an element node's `children` to the recursive node union. */
91
+ type WithRecursiveChildren<TNode, TCustom extends SerializedLexicalNode> = {
92
+ children: WithDefaultNodes<TCustom>[];
93
+ } & Omit<TNode, 'children'>;
57
94
  /**
58
- * Alternative type to `SerializedEditorState` that automatically types your nodes
59
- * more strictly, narrowing down nodes based on the `type` without having to manually
60
- * type-cast.
61
- */
62
- export type TypedEditorState<T extends SerializedLexicalNode = SerializedLexicalNode> = {
63
- [k: string]: unknown;
64
- } & SerializedEditorState<RecursiveNodes<T>>;
65
- /**
66
- * All node types included by default in a lexical editor without configuration.
95
+ * @internal The set of default nodes, generic over the user's custom node(s). {@link WithDefaultNodes}
96
+ * flattens it into the node union with `Registry[keyof Registry]`.
97
+ *
98
+ * Why a registry interface instead of writing the union directly? The union has to be self-referential:
99
+ * every element node's `children` is the same node union (so custom nodes nest inside containers too).
100
+ * A generic *type alias* can't reference itself that way - `type N<T> = SerializedParagraphNode<N<T>> | ...`
101
+ * is a `TS2456` circular reference, because instantiating a type alias resolves its type argument
102
+ * eagerly. An *interface* resolves its members lazily, so the self-reference inside `children: ...[]`
103
+ * is allowed - the recursion is legal precisely because it lives inside this interface. Reusing the
104
+ * real node interfaces (re-typing only `children`) keeps each entry in sync with its node's real shape.
67
105
  */
68
- export type DefaultNodeTypes = SerializedAutoLinkNode | SerializedHeadingNode | SerializedHorizontalRuleNode | SerializedLineBreakNode | SerializedLinkNode | SerializedListItemNode | SerializedListNode | SerializedParagraphNode | SerializedQuoteNode | SerializedRelationshipNode | SerializedTabNode | SerializedTextNode | SerializedUploadNode;
106
+ interface DefaultNodeRegistry<TCustom extends SerializedLexicalNode> {
107
+ autolink: WithRecursiveChildren<SerializedAutoLinkNode<SerializedLexicalNode>, TCustom>;
108
+ custom: TCustom;
109
+ heading: WithRecursiveChildren<SerializedHeadingNode<SerializedLexicalNode>, TCustom>;
110
+ horizontalrule: SerializedHorizontalRuleNode;
111
+ linebreak: SerializedLineBreakNode;
112
+ link: WithRecursiveChildren<SerializedLinkNode<SerializedLexicalNode>, TCustom>;
113
+ list: WithRecursiveChildren<SerializedListNode<SerializedLexicalNode>, TCustom>;
114
+ listitem: WithRecursiveChildren<SerializedListItemNode<SerializedLexicalNode>, TCustom>;
115
+ paragraph: WithRecursiveChildren<SerializedParagraphNode<SerializedLexicalNode>, TCustom>;
116
+ quote: WithRecursiveChildren<SerializedQuoteNode<SerializedLexicalNode>, TCustom>;
117
+ relationship: SerializedRelationshipNode;
118
+ tab: SerializedTabNode;
119
+ text: SerializedTextNode;
120
+ upload: SerializedUploadNode;
121
+ }
69
122
  /**
70
- * Like `TypedEditorState` but includes all default node types.
71
- * You can pass *additional* node types as a generic parameter.
123
+ * Like `TypedEditorState`, but pre-filled with every default node type. Pass extra node types as a
124
+ * generic to add your own; they're threaded into every container's `children` (via
125
+ * {@link WithDefaultNodes}), not just allowed at the top level.
72
126
  */
73
- export type DefaultTypedEditorState<TAdditionalNodeTypes extends null | SerializedLexicalNode = null> = [TAdditionalNodeTypes] extends null ? TypedEditorState<DefaultNodeTypes> : TypedEditorState<DefaultNodeTypes | NonNullable<TAdditionalNodeTypes>>;
127
+ export type DefaultTypedEditorState<TAdditionalNodeTypes extends null | SerializedLexicalNode = null> = TypedEditorState<WithDefaultNodes<NonNullable<TAdditionalNodeTypes>>>;
74
128
  //# sourceMappingURL=nodeTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeTypes.d.ts","sourceRoot":"","sources":["../../src/types/nodeTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodeTypes.d.ts","sourceRoot":"","sources":["../../src/types/nodeTypes.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * Like `TypedEditorState` but includes all default node types.
3
- * You can pass *additional* node types as a generic parameter.
2
+ * Like `TypedEditorState`, but pre-filled with every default node type. Pass extra node types as a
3
+ * generic to add your own; they're threaded into every container's `children` (via
4
+ * {@link WithDefaultNodes}), not just allowed at the top level.
4
5
  */export {};
5
6
  //# sourceMappingURL=nodeTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeTypes.js","names":[],"sources":["../../src/types/nodeTypes.ts"],"sourcesContent":["import type {\n SerializedLineBreakNode as _SerializedLineBreakNode,\n SerializedTabNode as _SerializedTabNode,\n SerializedTextNode as _SerializedTextNode,\n SerializedEditorState,\n SerializedElementNode,\n SerializedLexicalNode,\n} from 'lexical'\n\nimport type { SerializedQuoteNode } from '../features/blockquote/server/index.js'\nimport type { SerializedBlockNode } from '../features/blocks/server/nodes/BlocksNode.js'\nimport type { SerializedInlineBlockNode } from '../features/blocks/server/nodes/InlineBlocksNode.js'\nimport type {\n SerializedTableCellNode,\n SerializedTableNode,\n SerializedTableRowNode,\n} from '../features/experimental_table/server/index.js'\nimport type { SerializedHeadingNode } from '../features/heading/server/index.js'\nimport type { SerializedHorizontalRuleNode } from '../features/horizontalRule/server/nodes/HorizontalRuleNode.js'\nimport type { SerializedAutoLinkNode, SerializedLinkNode } from '../features/link/nodes/types.js'\nimport type { SerializedListItemNode, SerializedListNode } from '../features/lists/plugin/index.js'\nimport type { SerializedRelationshipNode } from '../features/relationship/server/nodes/RelationshipNode.js'\nimport type { SerializedUploadNode } from '../features/upload/server/nodes/UploadNode.js'\n\n/**\n * Helper type to create strongly typed serialized nodes with flexible children types.\n * Omits 'children' and 'type' from the base node type and redeclares them with proper typing.\n *\n * @param TBase - The base Lexical node type (e.g., _SerializedHeadingNode)\n * @param TType - The node type string (e.g., 'heading')\n * @param TChildren - The type for children (defaults to SerializedLexicalNode)\n */\nexport type StronglyTypedElementNode<\n TBase,\n TType extends string,\n TChildren extends SerializedLexicalNode = SerializedLexicalNode,\n> = {\n children: TChildren[]\n type: TType\n} & Omit<TBase, 'children' | 'type'>\n\n/**\n * Helper type to create strongly typed leaf nodes (nodes without children).\n * Omits 'children' and 'type' from the base node type and redeclares 'type' with a literal.\n *\n * @param TBase - The base Lexical node type (e.g., _SerializedTextNode)\n * @param TType - The node type string (e.g., 'text')\n */\nexport type StronglyTypedLeafNode<TBase, TType extends string> = {\n type: TType\n} & Omit<TBase, 'children' | 'type'>\n\nexport type {\n SerializedAutoLinkNode,\n SerializedBlockNode,\n SerializedHeadingNode,\n SerializedHorizontalRuleNode,\n SerializedInlineBlockNode,\n SerializedLinkNode,\n SerializedListItemNode,\n SerializedListNode,\n SerializedQuoteNode,\n SerializedRelationshipNode,\n SerializedTableCellNode,\n SerializedTableNode,\n SerializedTableRowNode,\n SerializedUploadNode,\n}\n\nexport type SerializedParagraphNode<T extends SerializedLexicalNode = SerializedLexicalNode> = {\n textFormat: number\n} & StronglyTypedElementNode<SerializedElementNode, 'paragraph', T>\n\nexport type SerializedTextNode = StronglyTypedLeafNode<_SerializedTextNode, 'text'>\n\nexport type SerializedTabNode = StronglyTypedLeafNode<_SerializedTabNode, 'tab'>\n\nexport type SerializedLineBreakNode = StronglyTypedLeafNode<_SerializedLineBreakNode, 'linebreak'>\n\n/**\n * Recursively adds typed children to nodes up to a specified depth.\n *\n * Key behaviors:\n * - `T extends any`: Distributive - processes each union member individually\n * - `OriginalUnion`: Preserves full union so nested children accept all node types, not just parent's type. If we just used `T`, the type would be narrowed to the parent's type and the children would only consist of the parent's type.\n * - `'children' extends keyof T`: Only adds children to container nodes; respects leaf nodes that use `Omit<_, 'children'>`\n * - `Depth`: Limits recursion to prevent infinite types (default: 4 levels)\n *\n * @internal - this type may change or be removed in a minor release\n */\nexport type RecursiveNodes<\n T extends SerializedLexicalNode,\n Depth extends number = 4,\n OriginalUnion extends SerializedLexicalNode = T,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n> = T extends any // Make distributive over unions\n ? Depth extends 0\n ? T\n : 'children' extends keyof T\n ? { children?: RecursiveNodes<OriginalUnion, DecrementDepth<Depth>, OriginalUnion>[] } & T\n : T // Skip leaf nodes\n : never\n\n/** Decrements depth: 4→3, 3→2, 2→1, 1→0, 0→0 */\ntype DecrementDepth<N extends number> = [0, 0, 1, 2, 3, 4][N]\n\n/**\n * Alternative type to `SerializedEditorState` that automatically types your nodes\n * more strictly, narrowing down nodes based on the `type` without having to manually\n * type-cast.\n */\nexport type TypedEditorState<T extends SerializedLexicalNode = SerializedLexicalNode> = {\n [k: string]: unknown\n} & SerializedEditorState<RecursiveNodes<T>>\n\n/**\n * All node types included by default in a lexical editor without configuration.\n */\nexport type DefaultNodeTypes =\n | SerializedAutoLinkNode\n //| SerializedBlockNode // Not included by default\n | SerializedHeadingNode\n | SerializedHorizontalRuleNode\n | SerializedLineBreakNode\n | SerializedLinkNode\n | SerializedListItemNode\n | SerializedListNode\n | SerializedParagraphNode\n | SerializedQuoteNode\n | SerializedRelationshipNode\n | SerializedTabNode\n | SerializedTextNode\n | SerializedUploadNode\n\n/**\n * Like `TypedEditorState` but includes all default node types.\n * You can pass *additional* node types as a generic parameter.\n */\nexport type DefaultTypedEditorState<\n TAdditionalNodeTypes extends null | SerializedLexicalNode = null,\n> = [TAdditionalNodeTypes] extends null\n ? TypedEditorState<DefaultNodeTypes>\n : TypedEditorState<DefaultNodeTypes | NonNullable<TAdditionalNodeTypes>>\n"],"mappings":"AAsIA;;;GAIA","ignoreList":[]}
1
+ {"version":3,"file":"nodeTypes.js","names":[],"sources":["../../src/types/nodeTypes.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\n\nimport type { SerializedQuoteNode } from '../features/blockquote/server/schema.js'\nimport type {\n SerializedBlockNode,\n SerializedInlineBlockNode,\n} from '../features/blocks/server/schema.js'\nimport type {\n SerializedTableCellNode,\n SerializedTableNode,\n SerializedTableRowNode,\n} from '../features/experimental_table/server/schema.js'\nimport type { SerializedHeadingNode } from '../features/heading/server/schema.js'\nimport type { SerializedHorizontalRuleNode } from '../features/horizontalRule/server/schema.js'\nimport type { SerializedAutoLinkNode, SerializedLinkNode } from '../features/link/server/schema.js'\nimport type { SerializedListItemNode, SerializedListNode } from '../features/lists/shared/schema.js'\nimport type { SerializedRelationshipNode } from '../features/relationship/server/schema.js'\nimport type { SerializedUploadNode } from '../features/upload/server/schema.js'\n\n// The declarations below must stay byte-for-byte aligned with the TS source\n// strings Payload appends to `payload-types.ts` twins live in\n// `types/builtInNodes.ts` and per-feature `schema.ts`.\n\n/** @internal Core Lexical types see @payloadcms/richtext-lexical. */\nexport type LexicalElementFormat = '' | 'center' | 'end' | 'justify' | 'left' | 'right' | 'start'\nexport type LexicalElementDirection = ('ltr' | 'rtl') | null\n\nexport interface SerializedLexicalElementBase<TChildren> {\n children: TChildren[]\n direction: LexicalElementDirection\n format: LexicalElementFormat\n indent: number\n textFormat?: number\n textStyle?: string\n version: number\n}\n\nexport type LexicalTextMode = 'normal' | 'segmented' | 'token'\n\nexport interface SerializedTextNode {\n detail: number\n format: number\n mode: LexicalTextMode\n style: string\n text: string\n type: 'text'\n version: number\n}\n\nexport interface SerializedTabNode {\n detail: number\n format: number\n mode: LexicalTextMode\n style: string\n text: string\n type: 'tab'\n version: number\n}\n\nexport interface SerializedLineBreakNode {\n type: 'linebreak'\n version: number\n}\n\nexport interface SerializedParagraphNode<\n TChildren extends SerializedLexicalNode = SerializedLexicalNode,\n> extends SerializedLexicalElementBase<TChildren> {\n textFormat: number\n textStyle: string\n type: 'paragraph'\n}\n\n/** Shape of a Lexical `richText` field. */\nexport interface LexicalRichText<TNode> {\n root: {\n children: TNode[]\n direction: LexicalElementDirection\n format: LexicalElementFormat\n indent: number\n type: 'root'\n version: number\n }\n}\n\nexport type {\n SerializedAutoLinkNode,\n SerializedBlockNode,\n SerializedHeadingNode,\n SerializedHorizontalRuleNode,\n SerializedInlineBlockNode,\n SerializedLinkNode,\n SerializedListItemNode,\n SerializedListNode,\n SerializedQuoteNode,\n SerializedRelationshipNode,\n SerializedTableCellNode,\n SerializedTableNode,\n SerializedTableRowNode,\n SerializedUploadNode,\n}\n\n/** `SerializedEditorState` with nodes narrowed by `type`. No type-casting needed. */\nexport type TypedEditorState<TNode extends SerializedLexicalNode = SerializedLexicalNode> =\n LexicalRichText<TNode>\n\n/**\n * The node union of a generated `richText` field. Pass the field type e.g.\n * `RichTextNodes<Post['richText']>` — to type an individual node you build for that editor (for\n * example a single block, or a `.map()` of nodes). To build a whole editor state, prefer passing\n * the field type straight to {@link buildEditorState}.\n */\nexport type RichTextNodes<TRichText> =\n NonNullable<TRichText> extends LexicalRichText<infer TNode> ? TNode : never\n\n/**\n * All node types included by default in a lexical editor. Self-recursive —\n * each element node's `children` is `DefaultNodeTypes` again, no depth limit.\n * To compose your own union including the defaults, see {@link WithDefaultNodes}.\n */\nexport type DefaultNodeTypes =\n | SerializedAutoLinkNode<DefaultNodeTypes>\n //| SerializedBlockNode // Not included by default\n | SerializedHeadingNode<DefaultNodeTypes>\n | SerializedHorizontalRuleNode\n | SerializedLineBreakNode\n | SerializedLinkNode<DefaultNodeTypes>\n | SerializedListItemNode<DefaultNodeTypes>\n | SerializedListNode<DefaultNodeTypes>\n | SerializedParagraphNode<DefaultNodeTypes>\n | SerializedQuoteNode<DefaultNodeTypes>\n | SerializedRelationshipNode\n | SerializedTabNode\n | SerializedTextNode\n | SerializedUploadNode\n\n/**\n * The built-in lexical nodes, plus your own - with your nodes threaded into every container's\n * `children`, not just the top level. Pass your custom node(s) as the generic:\n *\n * ```ts\n * type MyNodes = WithDefaultNodes<SerializedBlockNode<MyBlockData>>\n * ```\n *\n * Built by flattening {@link DefaultNodeRegistry} (`Registry[keyof Registry]`); see that interface\n * for why the node set lives in a registry instead of being written as a plain union type.\n */\nexport type WithDefaultNodes<TCustom extends SerializedLexicalNode = never> =\n DefaultNodeRegistry<TCustom>[keyof DefaultNodeRegistry<TCustom>]\n\n/** @internal Re-types an element node's `children` to the recursive node union. */\ntype WithRecursiveChildren<TNode, TCustom extends SerializedLexicalNode> = {\n children: WithDefaultNodes<TCustom>[]\n} & Omit<TNode, 'children'>\n\n/**\n * @internal The set of default nodes, generic over the user's custom node(s). {@link WithDefaultNodes}\n * flattens it into the node union with `Registry[keyof Registry]`.\n *\n * Why a registry interface instead of writing the union directly? The union has to be self-referential:\n * every element node's `children` is the same node union (so custom nodes nest inside containers too).\n * A generic *type alias* can't reference itself that way - `type N<T> = SerializedParagraphNode<N<T>> | ...`\n * is a `TS2456` circular reference, because instantiating a type alias resolves its type argument\n * eagerly. An *interface* resolves its members lazily, so the self-reference inside `children: ...[]`\n * is allowed - the recursion is legal precisely because it lives inside this interface. Reusing the\n * real node interfaces (re-typing only `children`) keeps each entry in sync with its node's real shape.\n */\ninterface DefaultNodeRegistry<TCustom extends SerializedLexicalNode> {\n autolink: WithRecursiveChildren<SerializedAutoLinkNode<SerializedLexicalNode>, TCustom>\n custom: TCustom\n heading: WithRecursiveChildren<SerializedHeadingNode<SerializedLexicalNode>, TCustom>\n horizontalrule: SerializedHorizontalRuleNode\n linebreak: SerializedLineBreakNode\n link: WithRecursiveChildren<SerializedLinkNode<SerializedLexicalNode>, TCustom>\n list: WithRecursiveChildren<SerializedListNode<SerializedLexicalNode>, TCustom>\n listitem: WithRecursiveChildren<SerializedListItemNode<SerializedLexicalNode>, TCustom>\n paragraph: WithRecursiveChildren<SerializedParagraphNode<SerializedLexicalNode>, TCustom>\n quote: WithRecursiveChildren<SerializedQuoteNode<SerializedLexicalNode>, TCustom>\n relationship: SerializedRelationshipNode\n tab: SerializedTabNode\n text: SerializedTextNode\n upload: SerializedUploadNode\n}\n\n/**\n * Like `TypedEditorState`, but pre-filled with every default node type. Pass extra node types as a\n * generic to add your own; they're threaded into every container's `children` (via\n * {@link WithDefaultNodes}), not just allowed at the top level.\n */\nexport type DefaultTypedEditorState<\n TAdditionalNodeTypes extends null | SerializedLexicalNode = null,\n> = TypedEditorState<WithDefaultNodes<NonNullable<TAdditionalNodeTypes>>>\n"],"mappings":"AAuLA;;;;GAKA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAExD,eAAO,MAAM,oBAAoB,EAAE,CAAC,IAAI,EAAE;IACxC,YAAY,EAAE,2BAA2B,CAAA;CAC1C,KAAK,sBAAsB,CAAC,YAAY,CAgFxC,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAqBxD,eAAO,MAAM,oBAAoB,EAAE,CAAC,IAAI,EAAE;IACxC,YAAY,EAAE,2BAA2B,CAAA;CAC1C,KAAK,sBAAsB,CAAC,YAAY,CAsFxC,CAAA"}