@payloadcms/richtext-lexical 3.0.0-beta.24 → 3.0.0-beta.25

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 (230) hide show
  1. package/dist/exports/components.d.ts +3 -2
  2. package/dist/exports/components.d.ts.map +1 -1
  3. package/dist/exports/components.js +3 -2
  4. package/dist/exports/components.js.map +1 -1
  5. package/dist/field/features/align/feature.client.d.ts.map +1 -1
  6. package/dist/field/features/align/feature.client.js +126 -46
  7. package/dist/field/features/align/feature.client.js.map +1 -1
  8. package/dist/field/features/align/toolbarAlignGroup.d.ts +3 -0
  9. package/dist/field/features/align/toolbarAlignGroup.d.ts.map +1 -0
  10. package/dist/field/features/align/{inlineToolbarAlignGroup.js → toolbarAlignGroup.js} +3 -3
  11. package/dist/field/features/align/toolbarAlignGroup.js.map +1 -0
  12. package/dist/field/features/blockquote/feature.client.d.ts.map +1 -1
  13. package/dist/field/features/blockquote/feature.client.js +37 -23
  14. package/dist/field/features/blockquote/feature.client.js.map +1 -1
  15. package/dist/field/features/blocks/component/index.d.ts.map +1 -1
  16. package/dist/field/features/blocks/component/index.js +1 -1
  17. package/dist/field/features/blocks/component/index.js.map +1 -1
  18. package/dist/field/features/blocks/feature.client.d.ts.map +1 -1
  19. package/dist/field/features/blocks/feature.client.js +39 -8
  20. package/dist/field/features/blocks/feature.client.js.map +1 -1
  21. package/dist/field/features/blocks/populationPromise.d.ts.map +1 -1
  22. package/dist/field/features/blocks/populationPromise.js +2 -1
  23. package/dist/field/features/blocks/populationPromise.js.map +1 -1
  24. package/dist/field/features/format/bold/feature.client.d.ts.map +1 -1
  25. package/dist/field/features/format/bold/feature.client.js +23 -19
  26. package/dist/field/features/format/bold/feature.client.js.map +1 -1
  27. package/dist/field/features/format/inlineCode/feature.client.d.ts.map +1 -1
  28. package/dist/field/features/format/inlineCode/feature.client.js +23 -19
  29. package/dist/field/features/format/inlineCode/feature.client.js.map +1 -1
  30. package/dist/field/features/format/italic/feature.client.d.ts.map +1 -1
  31. package/dist/field/features/format/italic/feature.client.js +23 -19
  32. package/dist/field/features/format/italic/feature.client.js.map +1 -1
  33. package/dist/field/features/format/shared/toolbarFormatGroup.d.ts +3 -0
  34. package/dist/field/features/format/shared/toolbarFormatGroup.d.ts.map +1 -0
  35. package/dist/field/features/format/shared/toolbarFormatGroup.js +10 -0
  36. package/dist/field/features/format/shared/toolbarFormatGroup.js.map +1 -0
  37. package/dist/field/features/format/strikethrough/feature.client.d.ts.map +1 -1
  38. package/dist/field/features/format/strikethrough/feature.client.js +23 -19
  39. package/dist/field/features/format/strikethrough/feature.client.js.map +1 -1
  40. package/dist/field/features/format/subscript/feature.client.d.ts.map +1 -1
  41. package/dist/field/features/format/subscript/feature.client.js +23 -19
  42. package/dist/field/features/format/subscript/feature.client.js.map +1 -1
  43. package/dist/field/features/format/superscript/feature.client.d.ts.map +1 -1
  44. package/dist/field/features/format/superscript/feature.client.js +23 -19
  45. package/dist/field/features/format/superscript/feature.client.js.map +1 -1
  46. package/dist/field/features/format/underline/feature.client.d.ts.map +1 -1
  47. package/dist/field/features/format/underline/feature.client.js +23 -19
  48. package/dist/field/features/format/underline/feature.client.js.map +1 -1
  49. package/dist/field/features/heading/feature.client.d.ts.map +1 -1
  50. package/dist/field/features/heading/feature.client.js +49 -29
  51. package/dist/field/features/heading/feature.client.js.map +1 -1
  52. package/dist/field/features/horizontalRule/feature.client.d.ts.map +1 -1
  53. package/dist/field/features/horizontalRule/feature.client.js +27 -4
  54. package/dist/field/features/horizontalRule/feature.client.js.map +1 -1
  55. package/dist/field/features/indent/feature.client.d.ts.map +1 -1
  56. package/dist/field/features/indent/feature.client.js +41 -37
  57. package/dist/field/features/indent/feature.client.js.map +1 -1
  58. package/dist/field/features/indent/toolbarIndentGroup.d.ts +3 -0
  59. package/dist/field/features/indent/toolbarIndentGroup.d.ts.map +1 -0
  60. package/dist/field/features/indent/toolbarIndentGroup.js +10 -0
  61. package/dist/field/features/indent/toolbarIndentGroup.js.map +1 -0
  62. package/dist/field/features/link/feature.client.d.ts.map +1 -1
  63. package/dist/field/features/link/feature.client.js +44 -40
  64. package/dist/field/features/link/feature.client.js.map +1 -1
  65. package/dist/field/features/link/populationPromise.d.ts.map +1 -1
  66. package/dist/field/features/link/populationPromise.js +2 -1
  67. package/dist/field/features/link/populationPromise.js.map +1 -1
  68. package/dist/field/features/lists/checklist/feature.client.d.ts.map +1 -1
  69. package/dist/field/features/lists/checklist/feature.client.js +44 -19
  70. package/dist/field/features/lists/checklist/feature.client.js.map +1 -1
  71. package/dist/field/features/lists/orderedList/feature.client.d.ts.map +1 -1
  72. package/dist/field/features/lists/orderedList/feature.client.js +44 -19
  73. package/dist/field/features/lists/orderedList/feature.client.js.map +1 -1
  74. package/dist/field/features/lists/unorderedList/feature.client.d.ts.map +1 -1
  75. package/dist/field/features/lists/unorderedList/feature.client.js +44 -19
  76. package/dist/field/features/lists/unorderedList/feature.client.js.map +1 -1
  77. package/dist/field/features/paragraph/feature.client.d.ts.map +1 -1
  78. package/dist/field/features/paragraph/feature.client.js +36 -22
  79. package/dist/field/features/paragraph/feature.client.js.map +1 -1
  80. package/dist/field/features/relationship/feature.client.d.ts.map +1 -1
  81. package/dist/field/features/relationship/feature.client.js +30 -4
  82. package/dist/field/features/relationship/feature.client.js.map +1 -1
  83. package/dist/field/features/relationship/populationPromise.d.ts.map +1 -1
  84. package/dist/field/features/relationship/populationPromise.js +2 -1
  85. package/dist/field/features/relationship/populationPromise.js.map +1 -1
  86. package/dist/field/features/shared/toolbar/addDropdownGroup.d.ts +3 -0
  87. package/dist/field/features/shared/toolbar/addDropdownGroup.d.ts.map +1 -0
  88. package/dist/field/features/shared/toolbar/addDropdownGroup.js +12 -0
  89. package/dist/field/features/shared/toolbar/addDropdownGroup.js.map +1 -0
  90. package/dist/field/features/shared/toolbar/featureButtonsGroup.d.ts +3 -0
  91. package/dist/field/features/shared/toolbar/featureButtonsGroup.d.ts.map +1 -0
  92. package/dist/field/features/shared/toolbar/featureButtonsGroup.js +10 -0
  93. package/dist/field/features/shared/toolbar/featureButtonsGroup.js.map +1 -0
  94. package/dist/field/features/shared/toolbar/textDropdownGroup.d.ts +3 -0
  95. package/dist/field/features/shared/toolbar/textDropdownGroup.d.ts.map +1 -0
  96. package/dist/field/features/shared/{inlineToolbar → toolbar}/textDropdownGroup.js +2 -2
  97. package/dist/field/features/shared/toolbar/textDropdownGroup.js.map +1 -0
  98. package/dist/field/features/toolbars/fixed/Toolbar/index.d.ts +6 -0
  99. package/dist/field/features/toolbars/fixed/Toolbar/index.d.ts.map +1 -0
  100. package/dist/field/features/toolbars/fixed/Toolbar/index.js +152 -0
  101. package/dist/field/features/toolbars/fixed/Toolbar/index.js.map +1 -0
  102. package/dist/field/features/toolbars/fixed/Toolbar/index.scss +81 -0
  103. package/dist/field/features/toolbars/fixed/feature.client.d.ts +3 -0
  104. package/dist/field/features/toolbars/fixed/feature.client.d.ts.map +1 -0
  105. package/dist/field/features/toolbars/fixed/feature.client.js +20 -0
  106. package/dist/field/features/toolbars/fixed/feature.client.js.map +1 -0
  107. package/dist/field/features/toolbars/fixed/feature.server.d.ts +3 -0
  108. package/dist/field/features/toolbars/fixed/feature.server.d.ts.map +1 -0
  109. package/dist/field/features/toolbars/fixed/feature.server.js +16 -0
  110. package/dist/field/features/toolbars/fixed/feature.server.js.map +1 -0
  111. package/dist/field/features/toolbars/inline/Toolbar/index.d.ts +6 -0
  112. package/dist/field/features/toolbars/inline/Toolbar/index.d.ts.map +1 -0
  113. package/dist/field/{lexical/plugins → features}/toolbars/inline/Toolbar/index.js +43 -17
  114. package/dist/field/features/toolbars/inline/Toolbar/index.js.map +1 -0
  115. package/dist/field/{lexical/plugins → features}/toolbars/inline/Toolbar/index.scss +3 -8
  116. package/dist/field/features/toolbars/inline/feature.client.d.ts +3 -0
  117. package/dist/field/features/toolbars/inline/feature.client.d.ts.map +1 -0
  118. package/dist/field/features/toolbars/inline/feature.client.js +20 -0
  119. package/dist/field/features/toolbars/inline/feature.client.js.map +1 -0
  120. package/dist/field/features/toolbars/inline/feature.server.d.ts +3 -0
  121. package/dist/field/features/toolbars/inline/feature.server.d.ts.map +1 -0
  122. package/dist/field/features/toolbars/inline/feature.server.js +16 -0
  123. package/dist/field/features/toolbars/inline/feature.server.js.map +1 -0
  124. package/dist/field/features/toolbars/shared/ToolbarButton/index.d.ts +10 -0
  125. package/dist/field/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -0
  126. package/dist/field/{lexical/plugins/toolbars/inline → features/toolbars/shared}/ToolbarButton/index.js +9 -5
  127. package/dist/field/features/toolbars/shared/ToolbarButton/index.js.map +1 -0
  128. package/dist/field/{lexical/plugins/toolbars/inline → features/toolbars/shared}/ToolbarButton/index.scss +3 -1
  129. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts +23 -0
  130. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -0
  131. package/dist/field/{lexical/plugins/toolbars/inline → features/toolbars/shared}/ToolbarDropdown/DropDown.js +14 -64
  132. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -0
  133. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.d.ts +23 -0
  134. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -0
  135. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.js +139 -0
  136. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -0
  137. package/dist/field/{lexical/plugins/toolbars/inline → features/toolbars/shared}/ToolbarDropdown/index.scss +25 -13
  138. package/dist/field/{lexical/plugins/toolbars/inline → features/toolbars}/types.d.ts +16 -8
  139. package/dist/field/features/toolbars/types.d.ts.map +1 -0
  140. package/dist/field/features/toolbars/types.js.map +1 -0
  141. package/dist/field/features/types.d.ts +7 -7
  142. package/dist/field/features/types.d.ts.map +1 -1
  143. package/dist/field/features/types.js.map +1 -1
  144. package/dist/field/features/upload/feature.client.d.ts.map +1 -1
  145. package/dist/field/features/upload/feature.client.js +29 -4
  146. package/dist/field/features/upload/feature.client.js.map +1 -1
  147. package/dist/field/features/upload/populationPromise.d.ts.map +1 -1
  148. package/dist/field/features/upload/populationPromise.js +3 -1
  149. package/dist/field/features/upload/populationPromise.js.map +1 -1
  150. package/dist/field/lexical/EditorFocusProvider.d.ts +20 -0
  151. package/dist/field/lexical/EditorFocusProvider.d.ts.map +1 -0
  152. package/dist/field/lexical/EditorFocusProvider.js +78 -0
  153. package/dist/field/lexical/EditorFocusProvider.js.map +1 -0
  154. package/dist/field/lexical/LexicalEditor.d.ts.map +1 -1
  155. package/dist/field/lexical/LexicalEditor.js +20 -4
  156. package/dist/field/lexical/LexicalEditor.js.map +1 -1
  157. package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
  158. package/dist/field/lexical/LexicalProvider.js +3 -2
  159. package/dist/field/lexical/LexicalProvider.js.map +1 -1
  160. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts +2 -3
  161. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  162. package/dist/field/lexical/config/client/EditorConfigProvider.js.map +1 -1
  163. package/dist/field/lexical/config/server/default.d.ts.map +1 -1
  164. package/dist/field/lexical/config/server/default.js +3 -1
  165. package/dist/field/lexical/config/server/default.js.map +1 -1
  166. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +6 -6
  167. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  168. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  169. package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  170. package/dist/field/lexical/plugins/SlashMenu/index.js +10 -10
  171. package/dist/field/lexical/plugins/SlashMenu/index.js.map +1 -1
  172. package/dist/field/lexical/ui/icons/Add/index.d.ts +3 -0
  173. package/dist/field/lexical/ui/icons/Add/index.d.ts.map +1 -0
  174. package/dist/field/lexical/ui/icons/Add/index.js +16 -0
  175. package/dist/field/lexical/ui/icons/Add/index.js.map +1 -0
  176. package/dist/index.d.ts +8 -5
  177. package/dist/index.d.ts.map +1 -1
  178. package/dist/index.js +8 -4
  179. package/dist/index.js.map +1 -1
  180. package/dist/populate/populate.d.ts +2 -1
  181. package/dist/populate/populate.d.ts.map +1 -1
  182. package/dist/populate/populate.js +13 -11
  183. package/dist/populate/populate.js.map +1 -1
  184. package/dist/populate/populateLexicalPopulationPromises.d.ts +1 -1
  185. package/dist/populate/populateLexicalPopulationPromises.d.ts.map +1 -1
  186. package/dist/populate/populateLexicalPopulationPromises.js +2 -1
  187. package/dist/populate/populateLexicalPopulationPromises.js.map +1 -1
  188. package/dist/populate/recurseNestedFields.d.ts +2 -1
  189. package/dist/populate/recurseNestedFields.d.ts.map +1 -1
  190. package/dist/populate/recurseNestedFields.js +2 -1
  191. package/dist/populate/recurseNestedFields.js.map +1 -1
  192. package/package.json +10 -10
  193. package/dist/field/features/align/inlineToolbarAlignGroup.d.ts +0 -3
  194. package/dist/field/features/align/inlineToolbarAlignGroup.d.ts.map +0 -1
  195. package/dist/field/features/align/inlineToolbarAlignGroup.js.map +0 -1
  196. package/dist/field/features/format/shared/inlineToolbarFormatGroup.d.ts +0 -3
  197. package/dist/field/features/format/shared/inlineToolbarFormatGroup.d.ts.map +0 -1
  198. package/dist/field/features/format/shared/inlineToolbarFormatGroup.js +0 -10
  199. package/dist/field/features/format/shared/inlineToolbarFormatGroup.js.map +0 -1
  200. package/dist/field/features/indent/inlineToolbarIndentGroup.d.ts +0 -3
  201. package/dist/field/features/indent/inlineToolbarIndentGroup.d.ts.map +0 -1
  202. package/dist/field/features/indent/inlineToolbarIndentGroup.js +0 -10
  203. package/dist/field/features/indent/inlineToolbarIndentGroup.js.map +0 -1
  204. package/dist/field/features/shared/inlineToolbar/featureButtonsGroup.d.ts +0 -3
  205. package/dist/field/features/shared/inlineToolbar/featureButtonsGroup.d.ts.map +0 -1
  206. package/dist/field/features/shared/inlineToolbar/featureButtonsGroup.js +0 -10
  207. package/dist/field/features/shared/inlineToolbar/featureButtonsGroup.js.map +0 -1
  208. package/dist/field/features/shared/inlineToolbar/textDropdownGroup.d.ts +0 -3
  209. package/dist/field/features/shared/inlineToolbar/textDropdownGroup.d.ts.map +0 -1
  210. package/dist/field/features/shared/inlineToolbar/textDropdownGroup.js.map +0 -1
  211. package/dist/field/lexical/plugins/toolbars/fixed/types.d.ts +0 -40
  212. package/dist/field/lexical/plugins/toolbars/fixed/types.d.ts.map +0 -1
  213. package/dist/field/lexical/plugins/toolbars/fixed/types.js.map +0 -1
  214. package/dist/field/lexical/plugins/toolbars/inline/Toolbar/index.d.ts +0 -6
  215. package/dist/field/lexical/plugins/toolbars/inline/Toolbar/index.d.ts.map +0 -1
  216. package/dist/field/lexical/plugins/toolbars/inline/Toolbar/index.js.map +0 -1
  217. package/dist/field/lexical/plugins/toolbars/inline/ToolbarButton/index.d.ts +0 -8
  218. package/dist/field/lexical/plugins/toolbars/inline/ToolbarButton/index.d.ts.map +0 -1
  219. package/dist/field/lexical/plugins/toolbars/inline/ToolbarButton/index.js.map +0 -1
  220. package/dist/field/lexical/plugins/toolbars/inline/ToolbarDropdown/DropDown.d.ts +0 -17
  221. package/dist/field/lexical/plugins/toolbars/inline/ToolbarDropdown/DropDown.d.ts.map +0 -1
  222. package/dist/field/lexical/plugins/toolbars/inline/ToolbarDropdown/DropDown.js.map +0 -1
  223. package/dist/field/lexical/plugins/toolbars/inline/ToolbarDropdown/index.d.ts +0 -18
  224. package/dist/field/lexical/plugins/toolbars/inline/ToolbarDropdown/index.d.ts.map +0 -1
  225. package/dist/field/lexical/plugins/toolbars/inline/ToolbarDropdown/index.js +0 -42
  226. package/dist/field/lexical/plugins/toolbars/inline/ToolbarDropdown/index.js.map +0 -1
  227. package/dist/field/lexical/plugins/toolbars/inline/types.d.ts.map +0 -1
  228. package/dist/field/lexical/plugins/toolbars/inline/types.js +0 -3
  229. package/dist/field/lexical/plugins/toolbars/inline/types.js.map +0 -1
  230. /package/dist/field/{lexical/plugins/toolbars/fixed → features/toolbars}/types.js +0 -0
package/dist/index.js CHANGED
@@ -251,13 +251,14 @@ export function lexicalEditor(props) {
251
251
  }
252
252
  return outputSchema;
253
253
  },
254
- populationPromises ({ context, currentDepth, depth, field, fieldPromises, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc }) {
254
+ populationPromises ({ context, currentDepth, depth, draft, field, fieldPromises, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc }) {
255
255
  // check if there are any features with nodes which have populationPromises for this field
256
256
  if (finalSanitizedEditorConfig?.features?.populationPromises?.size) {
257
257
  populateLexicalPopulationPromises({
258
258
  context,
259
259
  currentDepth,
260
260
  depth,
261
+ draft,
261
262
  editorPopulationPromises: finalSanitizedEditorConfig.features.populationPromises,
262
263
  field,
263
264
  fieldPromises,
@@ -294,7 +295,7 @@ export { TreeViewFeature } from './field/features/debug/treeView/feature.server.
294
295
  export { BoldFeature } from './field/features/format/bold/feature.server.js';
295
296
  export { InlineCodeFeature } from './field/features/format/inlineCode/feature.server.js';
296
297
  export { ItalicFeature } from './field/features/format/italic/feature.server.js';
297
- export { inlineToolbarFormatGroupWithItems } from './field/features/format/shared/inlineToolbarFormatGroup.js';
298
+ export { toolbarFormatGroupWithItems } from './field/features/format/shared/toolbarFormatGroup.js';
298
299
  export { StrikethroughFeature } from './field/features/format/strikethrough/feature.server.js';
299
300
  export { SubscriptFeature } from './field/features/format/subscript/feature.server.js';
300
301
  export { SuperscriptFeature } from './field/features/format/superscript/feature.server.js';
@@ -325,8 +326,11 @@ export { SlateToLexicalFeature } from './field/features/migrations/slateToLexica
325
326
  export { ParagraphFeature } from './field/features/paragraph/feature.server.js';
326
327
  export { RelationshipFeature } from './field/features/relationship/feature.server.js';
327
328
  export { $createRelationshipNode, $isRelationshipNode, RelationshipNode } from './field/features/relationship/nodes/RelationshipNode.js';
328
- export { inlineToolbarFeatureButtonsGroupWithItems } from './field/features/shared/inlineToolbar/featureButtonsGroup.js';
329
- export { inlineToolbarTextDropdownGroupWithItems } from './field/features/shared/inlineToolbar/textDropdownGroup.js';
329
+ export { toolbarAddDropdownGroupWithItems } from './field/features/shared/toolbar/addDropdownGroup.js';
330
+ export { toolbarFeatureButtonsGroupWithItems } from './field/features/shared/toolbar/featureButtonsGroup.js';
331
+ export { toolbarTextDropdownGroupWithItems } from './field/features/shared/toolbar/textDropdownGroup.js';
332
+ export { FixedToolbarFeature } from './field/features/toolbars/fixed/feature.server.js';
333
+ export { InlineToolbarFeature } from './field/features/toolbars/inline/feature.server.js';
330
334
  export { createNode } from './field/features/typeUtilities.js';
331
335
  export { UploadFeature } from './field/features/upload/feature.server.js';
332
336
  export { $createUploadNode, $isUploadNode, UploadNode } from './field/features/upload/nodes/UploadNode.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { JSONSchema4 } from 'json-schema'\nimport type { EditorConfig as LexicalEditorConfig } from 'lexical'\n\nimport { withMergedProps } from '@payloadcms/ui/elements/withMergedProps'\nimport { withNullableJSONSchemaType } from 'payload/utilities'\n\nimport type { FeatureProviderServer, ResolvedServerFeatureMap } from './field/features/types.js'\nimport type { SanitizedServerEditorConfig } from './field/lexical/config/types.js'\nimport type { AdapterProps, LexicalEditorProps, LexicalRichTextAdapterProvider } from './types.js'\n\nimport { RichTextCell } from './cell/index.js'\nimport { RichTextField } from './field/index.js'\nimport {\n defaultEditorConfig,\n defaultEditorFeatures,\n} from './field/lexical/config/server/default.js'\nimport { loadFeatures } from './field/lexical/config/server/loader.js'\nimport {\n sanitizeServerEditorConfig,\n sanitizeServerFeatures,\n} from './field/lexical/config/server/sanitize.js'\nimport { cloneDeep } from './field/lexical/utils/cloneDeep.js'\nimport { getGenerateComponentMap } from './generateComponentMap.js'\nimport { getGenerateSchemaMap } from './generateSchemaMap.js'\nimport { populateLexicalPopulationPromises } from './populate/populateLexicalPopulationPromises.js'\nimport { richTextValidateHOC } from './validate/index.js'\n\nlet defaultSanitizedServerEditorConfig: SanitizedServerEditorConfig = null\n\nexport function lexicalEditor(props?: LexicalEditorProps): LexicalRichTextAdapterProvider {\n return async ({ config }) => {\n let resolvedFeatureMap: ResolvedServerFeatureMap\n\n let finalSanitizedEditorConfig: SanitizedServerEditorConfig // For server only\n if (!props || (!props.features && !props.lexical)) {\n if (!defaultSanitizedServerEditorConfig) {\n defaultSanitizedServerEditorConfig = await sanitizeServerEditorConfig(\n defaultEditorConfig,\n config,\n )\n }\n\n finalSanitizedEditorConfig = cloneDeep(defaultSanitizedServerEditorConfig)\n\n resolvedFeatureMap = finalSanitizedEditorConfig.resolvedFeatureMap\n } else {\n let features: FeatureProviderServer<unknown, unknown>[] =\n props.features && typeof props.features === 'function'\n ? props.features({ defaultFeatures: cloneDeep(defaultEditorFeatures) })\n : (props.features as FeatureProviderServer<unknown, unknown>[])\n if (!features) {\n features = cloneDeep(defaultEditorFeatures)\n }\n\n const lexical: LexicalEditorConfig = props.lexical\n\n resolvedFeatureMap = await loadFeatures({\n config,\n unSanitizedEditorConfig: {\n features,\n lexical: lexical ? lexical : defaultEditorConfig.lexical,\n },\n })\n\n finalSanitizedEditorConfig = {\n features: sanitizeServerFeatures(resolvedFeatureMap),\n lexical: lexical ? lexical : defaultEditorConfig.lexical,\n resolvedFeatureMap,\n }\n }\n\n return {\n CellComponent: withMergedProps({\n Component: RichTextCell,\n toMergeIntoProps: { lexicalEditorConfig: finalSanitizedEditorConfig.lexical },\n }),\n FieldComponent: withMergedProps({\n Component: RichTextField,\n toMergeIntoProps: { lexicalEditorConfig: finalSanitizedEditorConfig.lexical },\n }),\n editorConfig: finalSanitizedEditorConfig,\n generateComponentMap: getGenerateComponentMap({\n resolvedFeatureMap,\n }),\n generateSchemaMap: getGenerateSchemaMap({\n resolvedFeatureMap,\n }),\n /* hooks: {\n afterChange: finalSanitizedEditorConfig.features.hooks.afterChange,\n afterRead: finalSanitizedEditorConfig.features.hooks.afterRead,\n beforeChange: finalSanitizedEditorConfig.features.hooks.beforeChange,\n beforeDuplicate: finalSanitizedEditorConfig.features.hooks.beforeDuplicate,\n beforeValidate: finalSanitizedEditorConfig.features.hooks.beforeValidate,\n },*/\n /* // TODO: Figure out docWithLocales / originalSiblingDoc => node matching. Can't use indexes, as the order of nodes could technically change between hooks.\n hooks: {\n afterChange: [\n async ({ context, findMany, operation, overrideAccess, req, value }) => {\n await recurseNodesAsync({\n callback: async (node) => {\n const afterChangeHooks = finalSanitizedEditorConfig.features.hooks.afterChange\n if (afterChangeHooks?.has(node.type)) {\n for (const hook of afterChangeHooks.get(node.type)) {\n node = await hook({ context, findMany, node, operation, overrideAccess, req })\n }\n }\n },\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n return value\n },\n ],\n afterRead: [\n async ({ context, findMany, operation, overrideAccess, req, value }) => {\n await recurseNodesAsync({\n callback: async (node) => {\n const afterReadHooks = finalSanitizedEditorConfig.features.hooks.afterRead\n if (afterReadHooks?.has(node.type)) {\n for (const hook of afterReadHooks.get(node.type)) {\n node = await hook({ context, findMany, node, operation, overrideAccess, req })\n }\n }\n },\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n return value\n },\n ],\n beforeChange: [\n async ({ context, findMany, operation, overrideAccess, req, value }) => {\n await recurseNodesAsync({\n callback: async (node) => {\n const beforeChangeHooks = finalSanitizedEditorConfig.features.hooks.beforeChange\n if (beforeChangeHooks?.has(node.type)) {\n for (const hook of beforeChangeHooks.get(node.type)) {\n node = await hook({ context, findMany, node, operation, overrideAccess, req })\n }\n }\n },\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n return value\n },\n ],\n beforeDuplicate: [\n async ({ context, findMany, operation, overrideAccess, req, value }) => {\n await recurseNodesAsync({\n callback: async (node) => {\n const beforeDuplicateHooks = finalSanitizedEditorConfig.features.hooks.beforeDuplicate\n if (beforeDuplicateHooks?.has(node.type)) {\n for (const hook of beforeDuplicateHooks.get(node.type)) {\n node = await hook({ context, findMany, node, operation, overrideAccess, req })\n }\n }\n },\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n return value\n },\n ],\n beforeValidate: [\n async ({ context, findMany, operation, overrideAccess, req, value }) => {\n await recurseNodesAsync({\n callback: async (node) => {\n const beforeValidateHooks = finalSanitizedEditorConfig.features.hooks.beforeValidate\n if (beforeValidateHooks?.has(node.type)) {\n for (const hook of beforeValidateHooks.get(node.type)) {\n /**\n * We cannot pass the originalNode here, as there is no way to map one node to a previous one, as a previous originalNode might be in a different position\n */ /*\n node = await hook({ context, findMany, node, operation, overrideAccess, req })\n }\n }\n },\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n return value\n },\n ],\n },*/\n outputSchema: ({\n collectionIDFieldTypes,\n config,\n field,\n interfaceNameDefinitions,\n isRequired,\n }) => {\n let outputSchema: JSONSchema4 = {\n // This schema matches the SerializedEditorState type so far, that it's possible to cast SerializedEditorState to this schema without any errors.\n // In the future, we should\n // 1) allow recursive children\n // 2) Pass in all the different types for every node added to the editorconfig. This can be done with refs in the schema.\n type: withNullableJSONSchemaType('object', isRequired),\n properties: {\n root: {\n type: 'object',\n additionalProperties: false,\n properties: {\n type: {\n type: 'string',\n },\n children: {\n type: 'array',\n items: {\n type: 'object',\n additionalProperties: true,\n properties: {\n type: {\n type: 'string',\n },\n version: {\n type: 'integer',\n },\n },\n required: ['type', 'version'],\n },\n },\n direction: {\n oneOf: [\n {\n enum: ['ltr', 'rtl'],\n },\n {\n type: 'null',\n },\n ],\n },\n format: {\n type: 'string',\n enum: ['left', 'start', 'center', 'right', 'end', 'justify', ''], // ElementFormatType, since the root node is an element\n },\n indent: {\n type: 'integer',\n },\n version: {\n type: 'integer',\n },\n },\n required: ['children', 'direction', 'format', 'indent', 'type', 'version'],\n },\n },\n required: ['root'],\n }\n for (const modifyOutputSchema of finalSanitizedEditorConfig.features.generatedTypes\n .modifyOutputSchemas) {\n outputSchema = modifyOutputSchema({\n collectionIDFieldTypes,\n config,\n currentSchema: outputSchema,\n field,\n interfaceNameDefinitions,\n isRequired,\n })\n }\n\n return outputSchema\n },\n populationPromises({\n context,\n currentDepth,\n depth,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n // check if there are any features with nodes which have populationPromises for this field\n if (finalSanitizedEditorConfig?.features?.populationPromises?.size) {\n populateLexicalPopulationPromises({\n context,\n currentDepth,\n depth,\n editorPopulationPromises: finalSanitizedEditorConfig.features.populationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n validate: richTextValidateHOC({\n editorConfig: finalSanitizedEditorConfig,\n }),\n }\n }\n}\n\nexport { AlignFeature } from './field/features/align/feature.server.js'\nexport { BlockQuoteFeature } from './field/features/blockquote/feature.server.js'\nexport {\n BlocksFeature,\n type BlocksFeatureProps,\n type LexicalBlock,\n} from './field/features/blocks/feature.server.js'\nexport {\n $createBlockNode,\n $isBlockNode,\n type BlockFields,\n BlockNode,\n type SerializedBlockNode,\n} from './field/features/blocks/nodes/BlocksNode.js'\n\nexport { LinebreakHTMLConverter } from './field/features/converters/html/converter/converters/linebreak.js'\nexport { ParagraphHTMLConverter } from './field/features/converters/html/converter/converters/paragraph.js'\nexport { TextHTMLConverter } from './field/features/converters/html/converter/converters/text.js'\n\nexport { defaultHTMLConverters } from './field/features/converters/html/converter/defaultConverters.js'\nexport {\n convertLexicalNodesToHTML,\n convertLexicalToHTML,\n} from './field/features/converters/html/converter/index.js'\nexport type { HTMLConverter } from './field/features/converters/html/converter/types.js'\nexport {\n HTMLConverterFeature,\n type HTMLConverterFeatureProps,\n} from './field/features/converters/html/feature.server.js'\nexport {\n consolidateHTMLConverters,\n lexicalHTML,\n} from './field/features/converters/html/field/index.js'\nexport { createClientComponent } from './field/features/createClientComponent.js'\nexport { TestRecorderFeature } from './field/features/debug/testRecorder/feature.server.js'\nexport { TreeViewFeature } from './field/features/debug/treeView/feature.server.js'\nexport { BoldFeature } from './field/features/format/bold/feature.server.js'\nexport { InlineCodeFeature } from './field/features/format/inlineCode/feature.server.js'\n\nexport { ItalicFeature } from './field/features/format/italic/feature.server.js'\nexport { inlineToolbarFormatGroupWithItems } from './field/features/format/shared/inlineToolbarFormatGroup.js'\nexport { StrikethroughFeature } from './field/features/format/strikethrough/feature.server.js'\nexport { SubscriptFeature } from './field/features/format/subscript/feature.server.js'\nexport { SuperscriptFeature } from './field/features/format/superscript/feature.server.js'\nexport { UnderlineFeature } from './field/features/format/underline/feature.server.js'\nexport {\n HeadingFeature,\n type HeadingFeatureProps,\n} from './field/features/heading/feature.server.js'\nexport { HorizontalRuleFeature } from './field/features/horizontalRule/feature.server.js'\n\nexport { IndentFeature } from './field/features/indent/feature.server.js'\nexport { LinkFeature, type LinkFeatureServerProps } from './field/features/link/feature.server.js'\n\nexport {\n $createAutoLinkNode,\n $isAutoLinkNode,\n AutoLinkNode,\n} from './field/features/link/nodes/AutoLinkNode.js'\nexport {\n $createLinkNode,\n $isLinkNode,\n LinkNode,\n TOGGLE_LINK_COMMAND,\n} from './field/features/link/nodes/LinkNode.js'\nexport type {\n LinkFields,\n SerializedAutoLinkNode,\n SerializedLinkNode,\n} from './field/features/link/nodes/types.js'\nexport { ChecklistFeature } from './field/features/lists/checklist/feature.server.js'\nexport { OrderedListFeature } from './field/features/lists/orderedList/feature.server.js'\nexport { UnorderedListFeature } from './field/features/lists/unorderedList/feature.server.js'\nexport { LexicalPluginToLexicalFeature } from './field/features/migrations/lexicalPluginToLexical/feature.server.js'\nexport { SlateBlockquoteConverter } from './field/features/migrations/slateToLexical/converter/converters/blockquote/index.js'\nexport { SlateHeadingConverter } from './field/features/migrations/slateToLexical/converter/converters/heading/index.js'\nexport { SlateIndentConverter } from './field/features/migrations/slateToLexical/converter/converters/indent/index.js'\nexport { SlateLinkConverter } from './field/features/migrations/slateToLexical/converter/converters/link/index.js'\nexport { SlateListItemConverter } from './field/features/migrations/slateToLexical/converter/converters/listItem/index.js'\nexport { SlateOrderedListConverter } from './field/features/migrations/slateToLexical/converter/converters/orderedList/index.js'\nexport { SlateRelationshipConverter } from './field/features/migrations/slateToLexical/converter/converters/relationship/index.js'\nexport { SlateUnknownConverter } from './field/features/migrations/slateToLexical/converter/converters/unknown/index.js'\nexport { SlateUnorderedListConverter } from './field/features/migrations/slateToLexical/converter/converters/unorderedList/index.js'\nexport { SlateUploadConverter } from './field/features/migrations/slateToLexical/converter/converters/upload/index.js'\n\nexport { defaultSlateConverters } from './field/features/migrations/slateToLexical/converter/defaultConverters.js'\nexport {\n convertSlateNodesToLexical,\n convertSlateToLexical,\n} from './field/features/migrations/slateToLexical/converter/index.js'\nexport type {\n SlateNode,\n SlateNodeConverter,\n} from './field/features/migrations/slateToLexical/converter/types.js'\n\nexport { SlateToLexicalFeature } from './field/features/migrations/slateToLexical/feature.server.js'\nexport { ParagraphFeature } from './field/features/paragraph/feature.server.js'\nexport {\n RelationshipFeature,\n type RelationshipFeatureProps,\n} from './field/features/relationship/feature.server.js'\nexport {\n $createRelationshipNode,\n $isRelationshipNode,\n type RelationshipData,\n RelationshipNode,\n type SerializedRelationshipNode,\n} from './field/features/relationship/nodes/RelationshipNode.js'\nexport { inlineToolbarFeatureButtonsGroupWithItems } from './field/features/shared/inlineToolbar/featureButtonsGroup.js'\nexport { inlineToolbarTextDropdownGroupWithItems } from './field/features/shared/inlineToolbar/textDropdownGroup.js'\nexport { createNode } from './field/features/typeUtilities.js'\nexport type {\n ClientComponentProps,\n ClientFeature,\n ClientFeatureProviderMap,\n FeatureProviderClient,\n FeatureProviderProviderClient,\n FeatureProviderProviderServer,\n FeatureProviderServer,\n FieldNodeHook,\n FieldNodeHookArgs,\n NodeValidation,\n NodeWithHooks,\n PopulationPromise,\n ResolvedClientFeature,\n ResolvedClientFeatureMap,\n ResolvedServerFeature,\n ResolvedServerFeatureMap,\n SanitizedClientFeatures,\n SanitizedPlugin,\n SanitizedServerFeatures,\n ServerFeature,\n ServerFeatureProviderMap,\n} from './field/features/types.js'\nexport { UploadFeature } from './field/features/upload/feature.server.js'\n\nexport type { UploadFeatureProps } from './field/features/upload/feature.server.js'\n\nexport {\n $createUploadNode,\n $isUploadNode,\n type SerializedUploadNode,\n type UploadData,\n UploadNode,\n} from './field/features/upload/nodes/UploadNode.js'\nexport {\n EditorConfigProvider,\n useEditorConfigContext,\n} from './field/lexical/config/client/EditorConfigProvider.js'\nexport {\n sanitizeClientEditorConfig,\n sanitizeClientFeatures,\n} from './field/lexical/config/client/sanitize.js'\nexport {\n defaultEditorConfig,\n defaultEditorFeatures,\n defaultEditorLexicalConfig,\n} from './field/lexical/config/server/default.js'\nexport {\n loadFeatures,\n sortFeaturesForOptimalLoading,\n} from './field/lexical/config/server/loader.js'\nexport {\n sanitizeServerEditorConfig,\n sanitizeServerFeatures,\n} from './field/lexical/config/server/sanitize.js'\n\nexport type {\n ClientEditorConfig,\n SanitizedClientEditorConfig,\n SanitizedServerEditorConfig,\n ServerEditorConfig,\n} from './field/lexical/config/types.js'\nexport { getEnabledNodes } from './field/lexical/nodes/index.js'\n\nexport { ENABLE_SLASH_MENU_COMMAND } from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js'\nexport type {\n SlashMenuGroup,\n SlashMenuItem,\n} from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nexport type { AdapterProps }\n\nexport type {\n InlineToolbarGroup,\n InlineToolbarGroupItem,\n} from './field/lexical/plugins/toolbars/inline/types.js'\nexport { CAN_USE_DOM } from './field/lexical/utils/canUseDOM.js'\nexport { cloneDeep } from './field/lexical/utils/cloneDeep.js'\nexport { getDOMRangeRect } from './field/lexical/utils/getDOMRangeRect.js'\nexport { getSelectedNode } from './field/lexical/utils/getSelectedNode.js'\nexport { isHTMLElement } from './field/lexical/utils/guard.js'\nexport { invariant } from './field/lexical/utils/invariant.js'\nexport { joinClasses } from './field/lexical/utils/joinClasses.js'\nexport { createBlockNode } from './field/lexical/utils/markdown/createBlockNode.js'\nexport {\n DETAIL_TYPE_TO_DETAIL,\n DOUBLE_LINE_BREAK,\n ELEMENT_FORMAT_TO_TYPE,\n ELEMENT_TYPE_TO_FORMAT,\n IS_ALL_FORMATTING,\n LTR_REGEX,\n NON_BREAKING_SPACE,\n NodeFormat,\n RTL_REGEX,\n TEXT_MODE_TO_TYPE,\n TEXT_TYPE_TO_FORMAT,\n TEXT_TYPE_TO_MODE,\n} from './field/lexical/utils/nodeFormat.js'\nexport { Point, isPoint } from './field/lexical/utils/point.js'\nexport { Rect } from './field/lexical/utils/rect.js'\nexport { setFloatingElemPosition } from './field/lexical/utils/setFloatingElemPosition.js'\nexport { setFloatingElemPositionForLinkEditor } from './field/lexical/utils/setFloatingElemPositionForLinkEditor.js'\nexport {\n addSwipeDownListener,\n addSwipeLeftListener,\n addSwipeRightListener,\n addSwipeUpListener,\n} from './field/lexical/utils/swipe.js'\nexport { sanitizeUrl, validateUrl } from './field/lexical/utils/url.js'\nexport { defaultRichTextValue } from './populate/defaultValue.js'\n\nexport type { LexicalEditorProps, LexicalRichTextAdapter } from './types.js'\n"],"names":["withMergedProps","withNullableJSONSchemaType","RichTextCell","RichTextField","defaultEditorConfig","defaultEditorFeatures","loadFeatures","sanitizeServerEditorConfig","sanitizeServerFeatures","cloneDeep","getGenerateComponentMap","getGenerateSchemaMap","populateLexicalPopulationPromises","richTextValidateHOC","defaultSanitizedServerEditorConfig","lexicalEditor","props","config","resolvedFeatureMap","finalSanitizedEditorConfig","features","lexical","defaultFeatures","unSanitizedEditorConfig","CellComponent","Component","toMergeIntoProps","lexicalEditorConfig","FieldComponent","editorConfig","generateComponentMap","generateSchemaMap","outputSchema","collectionIDFieldTypes","field","interfaceNameDefinitions","isRequired","type","properties","root","additionalProperties","children","items","version","required","direction","oneOf","enum","format","indent","modifyOutputSchema","generatedTypes","modifyOutputSchemas","currentSchema","populationPromises","context","currentDepth","depth","fieldPromises","findMany","flattenLocales","overrideAccess","req","showHiddenFields","siblingDoc","size","editorPopulationPromises","validate","AlignFeature","BlockQuoteFeature","BlocksFeature","$createBlockNode","$isBlockNode","BlockNode","LinebreakHTMLConverter","ParagraphHTMLConverter","TextHTMLConverter","defaultHTMLConverters","convertLexicalNodesToHTML","convertLexicalToHTML","HTMLConverterFeature","consolidateHTMLConverters","lexicalHTML","createClientComponent","TestRecorderFeature","TreeViewFeature","BoldFeature","InlineCodeFeature","ItalicFeature","inlineToolbarFormatGroupWithItems","StrikethroughFeature","SubscriptFeature","SuperscriptFeature","UnderlineFeature","HeadingFeature","HorizontalRuleFeature","IndentFeature","LinkFeature","$createAutoLinkNode","$isAutoLinkNode","AutoLinkNode","$createLinkNode","$isLinkNode","LinkNode","TOGGLE_LINK_COMMAND","ChecklistFeature","OrderedListFeature","UnorderedListFeature","LexicalPluginToLexicalFeature","SlateBlockquoteConverter","SlateHeadingConverter","SlateIndentConverter","SlateLinkConverter","SlateListItemConverter","SlateOrderedListConverter","SlateRelationshipConverter","SlateUnknownConverter","SlateUnorderedListConverter","SlateUploadConverter","defaultSlateConverters","convertSlateNodesToLexical","convertSlateToLexical","SlateToLexicalFeature","ParagraphFeature","RelationshipFeature","$createRelationshipNode","$isRelationshipNode","RelationshipNode","inlineToolbarFeatureButtonsGroupWithItems","inlineToolbarTextDropdownGroupWithItems","createNode","UploadFeature","$createUploadNode","$isUploadNode","UploadNode","EditorConfigProvider","useEditorConfigContext","sanitizeClientEditorConfig","sanitizeClientFeatures","defaultEditorLexicalConfig","sortFeaturesForOptimalLoading","getEnabledNodes","ENABLE_SLASH_MENU_COMMAND","CAN_USE_DOM","getDOMRangeRect","getSelectedNode","isHTMLElement","invariant","joinClasses","createBlockNode","DETAIL_TYPE_TO_DETAIL","DOUBLE_LINE_BREAK","ELEMENT_FORMAT_TO_TYPE","ELEMENT_TYPE_TO_FORMAT","IS_ALL_FORMATTING","LTR_REGEX","NON_BREAKING_SPACE","NodeFormat","RTL_REGEX","TEXT_MODE_TO_TYPE","TEXT_TYPE_TO_FORMAT","TEXT_TYPE_TO_MODE","Point","isPoint","Rect","setFloatingElemPosition","setFloatingElemPositionForLinkEditor","addSwipeDownListener","addSwipeLeftListener","addSwipeRightListener","addSwipeUpListener","sanitizeUrl","validateUrl","defaultRichTextValue"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { JSONSchema4 } from 'json-schema'\nimport type { EditorConfig as LexicalEditorConfig } from 'lexical'\n\nimport { withMergedProps } from '@payloadcms/ui/elements/withMergedProps'\nimport { withNullableJSONSchemaType } from 'payload/utilities'\n\nimport type { FeatureProviderServer, ResolvedServerFeatureMap } from './field/features/types.js'\nimport type { SanitizedServerEditorConfig } from './field/lexical/config/types.js'\nimport type { AdapterProps, LexicalEditorProps, LexicalRichTextAdapterProvider } from './types.js'\n\nimport { RichTextCell } from './cell/index.js'\nimport { RichTextField } from './field/index.js'\nimport {\n defaultEditorConfig,\n defaultEditorFeatures,\n} from './field/lexical/config/server/default.js'\nimport { loadFeatures } from './field/lexical/config/server/loader.js'\nimport {\n sanitizeServerEditorConfig,\n sanitizeServerFeatures,\n} from './field/lexical/config/server/sanitize.js'\nimport { cloneDeep } from './field/lexical/utils/cloneDeep.js'\nimport { getGenerateComponentMap } from './generateComponentMap.js'\nimport { getGenerateSchemaMap } from './generateSchemaMap.js'\nimport { populateLexicalPopulationPromises } from './populate/populateLexicalPopulationPromises.js'\nimport { richTextValidateHOC } from './validate/index.js'\n\nlet defaultSanitizedServerEditorConfig: SanitizedServerEditorConfig = null\n\nexport function lexicalEditor(props?: LexicalEditorProps): LexicalRichTextAdapterProvider {\n return async ({ config }) => {\n let resolvedFeatureMap: ResolvedServerFeatureMap\n\n let finalSanitizedEditorConfig: SanitizedServerEditorConfig // For server only\n if (!props || (!props.features && !props.lexical)) {\n if (!defaultSanitizedServerEditorConfig) {\n defaultSanitizedServerEditorConfig = await sanitizeServerEditorConfig(\n defaultEditorConfig,\n config,\n )\n }\n\n finalSanitizedEditorConfig = cloneDeep(defaultSanitizedServerEditorConfig)\n\n resolvedFeatureMap = finalSanitizedEditorConfig.resolvedFeatureMap\n } else {\n let features: FeatureProviderServer<unknown, unknown>[] =\n props.features && typeof props.features === 'function'\n ? props.features({ defaultFeatures: cloneDeep(defaultEditorFeatures) })\n : (props.features as FeatureProviderServer<unknown, unknown>[])\n if (!features) {\n features = cloneDeep(defaultEditorFeatures)\n }\n\n const lexical: LexicalEditorConfig = props.lexical\n\n resolvedFeatureMap = await loadFeatures({\n config,\n unSanitizedEditorConfig: {\n features,\n lexical: lexical ? lexical : defaultEditorConfig.lexical,\n },\n })\n\n finalSanitizedEditorConfig = {\n features: sanitizeServerFeatures(resolvedFeatureMap),\n lexical: lexical ? lexical : defaultEditorConfig.lexical,\n resolvedFeatureMap,\n }\n }\n\n return {\n CellComponent: withMergedProps({\n Component: RichTextCell,\n toMergeIntoProps: { lexicalEditorConfig: finalSanitizedEditorConfig.lexical },\n }),\n FieldComponent: withMergedProps({\n Component: RichTextField,\n toMergeIntoProps: { lexicalEditorConfig: finalSanitizedEditorConfig.lexical },\n }),\n editorConfig: finalSanitizedEditorConfig,\n generateComponentMap: getGenerateComponentMap({\n resolvedFeatureMap,\n }),\n generateSchemaMap: getGenerateSchemaMap({\n resolvedFeatureMap,\n }),\n /* hooks: {\n afterChange: finalSanitizedEditorConfig.features.hooks.afterChange,\n afterRead: finalSanitizedEditorConfig.features.hooks.afterRead,\n beforeChange: finalSanitizedEditorConfig.features.hooks.beforeChange,\n beforeDuplicate: finalSanitizedEditorConfig.features.hooks.beforeDuplicate,\n beforeValidate: finalSanitizedEditorConfig.features.hooks.beforeValidate,\n },*/\n /* // TODO: Figure out docWithLocales / originalSiblingDoc => node matching. Can't use indexes, as the order of nodes could technically change between hooks.\n hooks: {\n afterChange: [\n async ({ context, findMany, operation, overrideAccess, req, value }) => {\n await recurseNodesAsync({\n callback: async (node) => {\n const afterChangeHooks = finalSanitizedEditorConfig.features.hooks.afterChange\n if (afterChangeHooks?.has(node.type)) {\n for (const hook of afterChangeHooks.get(node.type)) {\n node = await hook({ context, findMany, node, operation, overrideAccess, req })\n }\n }\n },\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n return value\n },\n ],\n afterRead: [\n async ({ context, findMany, operation, overrideAccess, req, value }) => {\n await recurseNodesAsync({\n callback: async (node) => {\n const afterReadHooks = finalSanitizedEditorConfig.features.hooks.afterRead\n if (afterReadHooks?.has(node.type)) {\n for (const hook of afterReadHooks.get(node.type)) {\n node = await hook({ context, findMany, node, operation, overrideAccess, req })\n }\n }\n },\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n return value\n },\n ],\n beforeChange: [\n async ({ context, findMany, operation, overrideAccess, req, value }) => {\n await recurseNodesAsync({\n callback: async (node) => {\n const beforeChangeHooks = finalSanitizedEditorConfig.features.hooks.beforeChange\n if (beforeChangeHooks?.has(node.type)) {\n for (const hook of beforeChangeHooks.get(node.type)) {\n node = await hook({ context, findMany, node, operation, overrideAccess, req })\n }\n }\n },\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n return value\n },\n ],\n beforeDuplicate: [\n async ({ context, findMany, operation, overrideAccess, req, value }) => {\n await recurseNodesAsync({\n callback: async (node) => {\n const beforeDuplicateHooks = finalSanitizedEditorConfig.features.hooks.beforeDuplicate\n if (beforeDuplicateHooks?.has(node.type)) {\n for (const hook of beforeDuplicateHooks.get(node.type)) {\n node = await hook({ context, findMany, node, operation, overrideAccess, req })\n }\n }\n },\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n return value\n },\n ],\n beforeValidate: [\n async ({ context, findMany, operation, overrideAccess, req, value }) => {\n await recurseNodesAsync({\n callback: async (node) => {\n const beforeValidateHooks = finalSanitizedEditorConfig.features.hooks.beforeValidate\n if (beforeValidateHooks?.has(node.type)) {\n for (const hook of beforeValidateHooks.get(node.type)) {\n /**\n * We cannot pass the originalNode here, as there is no way to map one node to a previous one, as a previous originalNode might be in a different position\n */ /*\n node = await hook({ context, findMany, node, operation, overrideAccess, req })\n }\n }\n },\n nodes: (value as SerializedEditorState)?.root?.children ?? [],\n })\n\n return value\n },\n ],\n },*/\n outputSchema: ({\n collectionIDFieldTypes,\n config,\n field,\n interfaceNameDefinitions,\n isRequired,\n }) => {\n let outputSchema: JSONSchema4 = {\n // This schema matches the SerializedEditorState type so far, that it's possible to cast SerializedEditorState to this schema without any errors.\n // In the future, we should\n // 1) allow recursive children\n // 2) Pass in all the different types for every node added to the editorconfig. This can be done with refs in the schema.\n type: withNullableJSONSchemaType('object', isRequired),\n properties: {\n root: {\n type: 'object',\n additionalProperties: false,\n properties: {\n type: {\n type: 'string',\n },\n children: {\n type: 'array',\n items: {\n type: 'object',\n additionalProperties: true,\n properties: {\n type: {\n type: 'string',\n },\n version: {\n type: 'integer',\n },\n },\n required: ['type', 'version'],\n },\n },\n direction: {\n oneOf: [\n {\n enum: ['ltr', 'rtl'],\n },\n {\n type: 'null',\n },\n ],\n },\n format: {\n type: 'string',\n enum: ['left', 'start', 'center', 'right', 'end', 'justify', ''], // ElementFormatType, since the root node is an element\n },\n indent: {\n type: 'integer',\n },\n version: {\n type: 'integer',\n },\n },\n required: ['children', 'direction', 'format', 'indent', 'type', 'version'],\n },\n },\n required: ['root'],\n }\n for (const modifyOutputSchema of finalSanitizedEditorConfig.features.generatedTypes\n .modifyOutputSchemas) {\n outputSchema = modifyOutputSchema({\n collectionIDFieldTypes,\n config,\n currentSchema: outputSchema,\n field,\n interfaceNameDefinitions,\n isRequired,\n })\n }\n\n return outputSchema\n },\n populationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n // check if there are any features with nodes which have populationPromises for this field\n if (finalSanitizedEditorConfig?.features?.populationPromises?.size) {\n populateLexicalPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n editorPopulationPromises: finalSanitizedEditorConfig.features.populationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n validate: richTextValidateHOC({\n editorConfig: finalSanitizedEditorConfig,\n }),\n }\n }\n}\n\nexport { AlignFeature } from './field/features/align/feature.server.js'\nexport { BlockQuoteFeature } from './field/features/blockquote/feature.server.js'\nexport {\n BlocksFeature,\n type BlocksFeatureProps,\n type LexicalBlock,\n} from './field/features/blocks/feature.server.js'\nexport {\n $createBlockNode,\n $isBlockNode,\n type BlockFields,\n BlockNode,\n type SerializedBlockNode,\n} from './field/features/blocks/nodes/BlocksNode.js'\n\nexport { LinebreakHTMLConverter } from './field/features/converters/html/converter/converters/linebreak.js'\nexport { ParagraphHTMLConverter } from './field/features/converters/html/converter/converters/paragraph.js'\nexport { TextHTMLConverter } from './field/features/converters/html/converter/converters/text.js'\n\nexport { defaultHTMLConverters } from './field/features/converters/html/converter/defaultConverters.js'\nexport {\n convertLexicalNodesToHTML,\n convertLexicalToHTML,\n} from './field/features/converters/html/converter/index.js'\nexport type { HTMLConverter } from './field/features/converters/html/converter/types.js'\nexport {\n HTMLConverterFeature,\n type HTMLConverterFeatureProps,\n} from './field/features/converters/html/feature.server.js'\nexport {\n consolidateHTMLConverters,\n lexicalHTML,\n} from './field/features/converters/html/field/index.js'\nexport { createClientComponent } from './field/features/createClientComponent.js'\nexport { TestRecorderFeature } from './field/features/debug/testRecorder/feature.server.js'\nexport { TreeViewFeature } from './field/features/debug/treeView/feature.server.js'\nexport { BoldFeature } from './field/features/format/bold/feature.server.js'\nexport { InlineCodeFeature } from './field/features/format/inlineCode/feature.server.js'\n\nexport { ItalicFeature } from './field/features/format/italic/feature.server.js'\nexport { toolbarFormatGroupWithItems } from './field/features/format/shared/toolbarFormatGroup.js'\nexport { StrikethroughFeature } from './field/features/format/strikethrough/feature.server.js'\nexport { SubscriptFeature } from './field/features/format/subscript/feature.server.js'\nexport { SuperscriptFeature } from './field/features/format/superscript/feature.server.js'\nexport { UnderlineFeature } from './field/features/format/underline/feature.server.js'\nexport {\n HeadingFeature,\n type HeadingFeatureProps,\n} from './field/features/heading/feature.server.js'\nexport { HorizontalRuleFeature } from './field/features/horizontalRule/feature.server.js'\n\nexport { IndentFeature } from './field/features/indent/feature.server.js'\nexport { LinkFeature, type LinkFeatureServerProps } from './field/features/link/feature.server.js'\n\nexport {\n $createAutoLinkNode,\n $isAutoLinkNode,\n AutoLinkNode,\n} from './field/features/link/nodes/AutoLinkNode.js'\nexport {\n $createLinkNode,\n $isLinkNode,\n LinkNode,\n TOGGLE_LINK_COMMAND,\n} from './field/features/link/nodes/LinkNode.js'\nexport type {\n LinkFields,\n SerializedAutoLinkNode,\n SerializedLinkNode,\n} from './field/features/link/nodes/types.js'\nexport { ChecklistFeature } from './field/features/lists/checklist/feature.server.js'\nexport { OrderedListFeature } from './field/features/lists/orderedList/feature.server.js'\nexport { UnorderedListFeature } from './field/features/lists/unorderedList/feature.server.js'\nexport { LexicalPluginToLexicalFeature } from './field/features/migrations/lexicalPluginToLexical/feature.server.js'\nexport { SlateBlockquoteConverter } from './field/features/migrations/slateToLexical/converter/converters/blockquote/index.js'\nexport { SlateHeadingConverter } from './field/features/migrations/slateToLexical/converter/converters/heading/index.js'\nexport { SlateIndentConverter } from './field/features/migrations/slateToLexical/converter/converters/indent/index.js'\nexport { SlateLinkConverter } from './field/features/migrations/slateToLexical/converter/converters/link/index.js'\nexport { SlateListItemConverter } from './field/features/migrations/slateToLexical/converter/converters/listItem/index.js'\nexport { SlateOrderedListConverter } from './field/features/migrations/slateToLexical/converter/converters/orderedList/index.js'\nexport { SlateRelationshipConverter } from './field/features/migrations/slateToLexical/converter/converters/relationship/index.js'\nexport { SlateUnknownConverter } from './field/features/migrations/slateToLexical/converter/converters/unknown/index.js'\nexport { SlateUnorderedListConverter } from './field/features/migrations/slateToLexical/converter/converters/unorderedList/index.js'\nexport { SlateUploadConverter } from './field/features/migrations/slateToLexical/converter/converters/upload/index.js'\nexport { defaultSlateConverters } from './field/features/migrations/slateToLexical/converter/defaultConverters.js'\n\nexport {\n convertSlateNodesToLexical,\n convertSlateToLexical,\n} from './field/features/migrations/slateToLexical/converter/index.js'\nexport type {\n SlateNode,\n SlateNodeConverter,\n} from './field/features/migrations/slateToLexical/converter/types.js'\nexport { SlateToLexicalFeature } from './field/features/migrations/slateToLexical/feature.server.js'\n\nexport { ParagraphFeature } from './field/features/paragraph/feature.server.js'\nexport {\n RelationshipFeature,\n type RelationshipFeatureProps,\n} from './field/features/relationship/feature.server.js'\nexport {\n $createRelationshipNode,\n $isRelationshipNode,\n type RelationshipData,\n RelationshipNode,\n type SerializedRelationshipNode,\n} from './field/features/relationship/nodes/RelationshipNode.js'\nexport { toolbarAddDropdownGroupWithItems } from './field/features/shared/toolbar/addDropdownGroup.js'\nexport { toolbarFeatureButtonsGroupWithItems } from './field/features/shared/toolbar/featureButtonsGroup.js'\n\nexport { toolbarTextDropdownGroupWithItems } from './field/features/shared/toolbar/textDropdownGroup.js'\nexport { FixedToolbarFeature } from './field/features/toolbars/fixed/feature.server.js'\nexport { InlineToolbarFeature } from './field/features/toolbars/inline/feature.server.js'\n\nexport type { ToolbarGroup, ToolbarGroupItem } from './field/features/toolbars/types.js'\nexport { createNode } from './field/features/typeUtilities.js'\nexport type {\n ClientComponentProps,\n ClientFeature,\n ClientFeatureProviderMap,\n FeatureProviderClient,\n FeatureProviderProviderClient,\n FeatureProviderProviderServer,\n FeatureProviderServer,\n FieldNodeHook,\n FieldNodeHookArgs,\n NodeValidation,\n NodeWithHooks,\n PopulationPromise,\n ResolvedClientFeature,\n ResolvedClientFeatureMap,\n ResolvedServerFeature,\n ResolvedServerFeatureMap,\n SanitizedClientFeatures,\n SanitizedPlugin,\n SanitizedServerFeatures,\n ServerFeature,\n ServerFeatureProviderMap,\n} from './field/features/types.js'\n\nexport { UploadFeature } from './field/features/upload/feature.server.js'\n\nexport type { UploadFeatureProps } from './field/features/upload/feature.server.js'\nexport {\n $createUploadNode,\n $isUploadNode,\n type SerializedUploadNode,\n type UploadData,\n UploadNode,\n} from './field/features/upload/nodes/UploadNode.js'\n\nexport {\n EditorConfigProvider,\n useEditorConfigContext,\n} from './field/lexical/config/client/EditorConfigProvider.js'\nexport {\n sanitizeClientEditorConfig,\n sanitizeClientFeatures,\n} from './field/lexical/config/client/sanitize.js'\nexport {\n defaultEditorConfig,\n defaultEditorFeatures,\n defaultEditorLexicalConfig,\n} from './field/lexical/config/server/default.js'\nexport {\n loadFeatures,\n sortFeaturesForOptimalLoading,\n} from './field/lexical/config/server/loader.js'\n\nexport {\n sanitizeServerEditorConfig,\n sanitizeServerFeatures,\n} from './field/lexical/config/server/sanitize.js'\nexport type {\n ClientEditorConfig,\n SanitizedClientEditorConfig,\n SanitizedServerEditorConfig,\n ServerEditorConfig,\n} from './field/lexical/config/types.js'\n\nexport { getEnabledNodes } from './field/lexical/nodes/index.js'\nexport { ENABLE_SLASH_MENU_COMMAND } from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js'\nexport type { AdapterProps }\n\nexport type {\n SlashMenuGroup,\n SlashMenuItem,\n} from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nexport { CAN_USE_DOM } from './field/lexical/utils/canUseDOM.js'\nexport { cloneDeep } from './field/lexical/utils/cloneDeep.js'\nexport { getDOMRangeRect } from './field/lexical/utils/getDOMRangeRect.js'\nexport { getSelectedNode } from './field/lexical/utils/getSelectedNode.js'\nexport { isHTMLElement } from './field/lexical/utils/guard.js'\nexport { invariant } from './field/lexical/utils/invariant.js'\nexport { joinClasses } from './field/lexical/utils/joinClasses.js'\nexport { createBlockNode } from './field/lexical/utils/markdown/createBlockNode.js'\nexport {\n DETAIL_TYPE_TO_DETAIL,\n DOUBLE_LINE_BREAK,\n ELEMENT_FORMAT_TO_TYPE,\n ELEMENT_TYPE_TO_FORMAT,\n IS_ALL_FORMATTING,\n LTR_REGEX,\n NON_BREAKING_SPACE,\n NodeFormat,\n RTL_REGEX,\n TEXT_MODE_TO_TYPE,\n TEXT_TYPE_TO_FORMAT,\n TEXT_TYPE_TO_MODE,\n} from './field/lexical/utils/nodeFormat.js'\nexport { Point, isPoint } from './field/lexical/utils/point.js'\nexport { Rect } from './field/lexical/utils/rect.js'\nexport { setFloatingElemPosition } from './field/lexical/utils/setFloatingElemPosition.js'\nexport { setFloatingElemPositionForLinkEditor } from './field/lexical/utils/setFloatingElemPositionForLinkEditor.js'\nexport {\n addSwipeDownListener,\n addSwipeLeftListener,\n addSwipeRightListener,\n addSwipeUpListener,\n} from './field/lexical/utils/swipe.js'\nexport { sanitizeUrl, validateUrl } from './field/lexical/utils/url.js'\nexport { defaultRichTextValue } from './populate/defaultValue.js'\n\nexport type { LexicalEditorProps, LexicalRichTextAdapter } from './types.js'\n"],"names":["withMergedProps","withNullableJSONSchemaType","RichTextCell","RichTextField","defaultEditorConfig","defaultEditorFeatures","loadFeatures","sanitizeServerEditorConfig","sanitizeServerFeatures","cloneDeep","getGenerateComponentMap","getGenerateSchemaMap","populateLexicalPopulationPromises","richTextValidateHOC","defaultSanitizedServerEditorConfig","lexicalEditor","props","config","resolvedFeatureMap","finalSanitizedEditorConfig","features","lexical","defaultFeatures","unSanitizedEditorConfig","CellComponent","Component","toMergeIntoProps","lexicalEditorConfig","FieldComponent","editorConfig","generateComponentMap","generateSchemaMap","outputSchema","collectionIDFieldTypes","field","interfaceNameDefinitions","isRequired","type","properties","root","additionalProperties","children","items","version","required","direction","oneOf","enum","format","indent","modifyOutputSchema","generatedTypes","modifyOutputSchemas","currentSchema","populationPromises","context","currentDepth","depth","draft","fieldPromises","findMany","flattenLocales","overrideAccess","req","showHiddenFields","siblingDoc","size","editorPopulationPromises","validate","AlignFeature","BlockQuoteFeature","BlocksFeature","$createBlockNode","$isBlockNode","BlockNode","LinebreakHTMLConverter","ParagraphHTMLConverter","TextHTMLConverter","defaultHTMLConverters","convertLexicalNodesToHTML","convertLexicalToHTML","HTMLConverterFeature","consolidateHTMLConverters","lexicalHTML","createClientComponent","TestRecorderFeature","TreeViewFeature","BoldFeature","InlineCodeFeature","ItalicFeature","toolbarFormatGroupWithItems","StrikethroughFeature","SubscriptFeature","SuperscriptFeature","UnderlineFeature","HeadingFeature","HorizontalRuleFeature","IndentFeature","LinkFeature","$createAutoLinkNode","$isAutoLinkNode","AutoLinkNode","$createLinkNode","$isLinkNode","LinkNode","TOGGLE_LINK_COMMAND","ChecklistFeature","OrderedListFeature","UnorderedListFeature","LexicalPluginToLexicalFeature","SlateBlockquoteConverter","SlateHeadingConverter","SlateIndentConverter","SlateLinkConverter","SlateListItemConverter","SlateOrderedListConverter","SlateRelationshipConverter","SlateUnknownConverter","SlateUnorderedListConverter","SlateUploadConverter","defaultSlateConverters","convertSlateNodesToLexical","convertSlateToLexical","SlateToLexicalFeature","ParagraphFeature","RelationshipFeature","$createRelationshipNode","$isRelationshipNode","RelationshipNode","toolbarAddDropdownGroupWithItems","toolbarFeatureButtonsGroupWithItems","toolbarTextDropdownGroupWithItems","FixedToolbarFeature","InlineToolbarFeature","createNode","UploadFeature","$createUploadNode","$isUploadNode","UploadNode","EditorConfigProvider","useEditorConfigContext","sanitizeClientEditorConfig","sanitizeClientFeatures","defaultEditorLexicalConfig","sortFeaturesForOptimalLoading","getEnabledNodes","ENABLE_SLASH_MENU_COMMAND","CAN_USE_DOM","getDOMRangeRect","getSelectedNode","isHTMLElement","invariant","joinClasses","createBlockNode","DETAIL_TYPE_TO_DETAIL","DOUBLE_LINE_BREAK","ELEMENT_FORMAT_TO_TYPE","ELEMENT_TYPE_TO_FORMAT","IS_ALL_FORMATTING","LTR_REGEX","NON_BREAKING_SPACE","NodeFormat","RTL_REGEX","TEXT_MODE_TO_TYPE","TEXT_TYPE_TO_FORMAT","TEXT_TYPE_TO_MODE","Point","isPoint","Rect","setFloatingElemPosition","setFloatingElemPositionForLinkEditor","addSwipeDownListener","addSwipeLeftListener","addSwipeRightListener","addSwipeUpListener","sanitizeUrl","validateUrl","defaultRichTextValue"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -6,13 +6,14 @@ type Arguments = {
6
6
  currentDepth?: number;
7
7
  data: unknown;
8
8
  depth: number;
9
+ draft: boolean;
9
10
  field: RichTextField<SerializedEditorState, AdapterProps>;
10
11
  key: number | string;
11
12
  overrideAccess?: boolean;
12
13
  req: PayloadRequestWithData;
13
14
  showHiddenFields: boolean;
14
15
  };
15
- export declare const populate: ({ id, collection, currentDepth, data, depth, key, overrideAccess, req, showHiddenFields, }: Omit<Arguments, 'field'> & {
16
+ export declare const populate: ({ id, collection, currentDepth, data, depth, draft, key, overrideAccess, req, showHiddenFields, }: Omit<Arguments, 'field'> & {
16
17
  collection: Collection;
17
18
  field: Field;
18
19
  id: number | string;
@@ -1 +1 @@
1
- {"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../src/populate/populate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,KAAK,SAAS,GAAG;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,aAAa,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;IACzD,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,QAAQ,+FAUlB,KAAK,SAAS,EAAE,OAAO,CAAC,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB,KAAG,QAAQ,IAAI,CAsBf,CAAA"}
1
+ {"version":3,"file":"populate.d.ts","sourceRoot":"","sources":["../../src/populate/populate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAIrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,KAAK,SAAS,GAAG;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,aAAa,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;IACzD,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,QAAQ,sGAWlB,KAAK,SAAS,EAAE,OAAO,CAAC,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB,KAAG,QAAQ,IAAI,CAuBf,CAAA"}
@@ -1,16 +1,18 @@
1
- export const populate = async ({ id, collection, currentDepth, data, depth, key, overrideAccess, req, showHiddenFields })=>{
1
+ import { createDataloaderCacheKey } from 'payload/utilities';
2
+ export const populate = async ({ id, collection, currentDepth, data, depth, draft, key, overrideAccess, req, showHiddenFields })=>{
2
3
  const dataRef = data;
3
- const doc = await req.payloadDataLoader.load(JSON.stringify([
4
- req.transactionID,
5
- collection.config.slug,
6
- id,
4
+ const doc = await req.payloadDataLoader.load(createDataloaderCacheKey({
5
+ collectionSlug: collection.config.slug,
6
+ currentDepth: currentDepth + 1,
7
7
  depth,
8
- currentDepth + 1,
9
- req.locale,
10
- req.fallbackLocale,
11
- typeof overrideAccess === 'undefined' ? false : overrideAccess,
12
- showHiddenFields
13
- ]));
8
+ docID: id,
9
+ draft,
10
+ fallbackLocale: req.fallbackLocale,
11
+ locale: req.locale,
12
+ overrideAccess: typeof overrideAccess === 'undefined' ? false : overrideAccess,
13
+ showHiddenFields,
14
+ transactionID: req.transactionID
15
+ }));
14
16
  if (doc) {
15
17
  dataRef[key] = doc;
16
18
  } else {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/populate/populate.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { PayloadRequestWithData } from 'payload/types'\nimport type { Collection, Field, RichTextField } from 'payload/types'\n\nimport type { AdapterProps } from '../types.js'\n\ntype Arguments = {\n currentDepth?: number\n data: unknown\n depth: number\n field: RichTextField<SerializedEditorState, AdapterProps>\n key: number | string\n overrideAccess?: boolean\n req: PayloadRequestWithData\n showHiddenFields: boolean\n}\n\nexport const populate = async ({\n id,\n collection,\n currentDepth,\n data,\n depth,\n key,\n overrideAccess,\n req,\n showHiddenFields,\n}: Omit<Arguments, 'field'> & {\n collection: Collection\n field: Field\n id: number | string\n}): Promise<void> => {\n const dataRef = data as Record<string, unknown>\n\n const doc = await req.payloadDataLoader.load(\n JSON.stringify([\n req.transactionID,\n collection.config.slug,\n id,\n depth,\n currentDepth + 1,\n req.locale,\n req.fallbackLocale,\n typeof overrideAccess === 'undefined' ? false : overrideAccess,\n showHiddenFields,\n ]),\n )\n\n if (doc) {\n dataRef[key] = doc\n } else {\n dataRef[key] = null\n }\n}\n"],"names":["populate","id","collection","currentDepth","data","depth","key","overrideAccess","req","showHiddenFields","dataRef","doc","payloadDataLoader","load","JSON","stringify","transactionID","config","slug","locale","fallbackLocale"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAiBA,OAAO,MAAMA,WAAW,OAAO,EAC7BC,EAAE,EACFC,UAAU,EACVC,YAAY,EACZC,IAAI,EACJC,KAAK,EACLC,GAAG,EACHC,cAAc,EACdC,GAAG,EACHC,gBAAgB,EAKjB;IACC,MAAMC,UAAUN;IAEhB,MAAMO,MAAM,MAAMH,IAAII,iBAAiB,CAACC,IAAI,CAC1CC,KAAKC,SAAS,CAAC;QACbP,IAAIQ,aAAa;QACjBd,WAAWe,MAAM,CAACC,IAAI;QACtBjB;QACAI;QACAF,eAAe;QACfK,IAAIW,MAAM;QACVX,IAAIY,cAAc;QAClB,OAAOb,mBAAmB,cAAc,QAAQA;QAChDE;KACD;IAGH,IAAIE,KAAK;QACPD,OAAO,CAACJ,IAAI,GAAGK;IACjB,OAAO;QACLD,OAAO,CAACJ,IAAI,GAAG;IACjB;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/populate/populate.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { PayloadRequestWithData } from 'payload/types'\nimport type { Collection, Field, RichTextField } from 'payload/types'\n\nimport { createDataloaderCacheKey } from 'payload/utilities'\n\nimport type { AdapterProps } from '../types.js'\n\ntype Arguments = {\n currentDepth?: number\n data: unknown\n depth: number\n draft: boolean\n field: RichTextField<SerializedEditorState, AdapterProps>\n key: number | string\n overrideAccess?: boolean\n req: PayloadRequestWithData\n showHiddenFields: boolean\n}\n\nexport const populate = async ({\n id,\n collection,\n currentDepth,\n data,\n depth,\n draft,\n key,\n overrideAccess,\n req,\n showHiddenFields,\n}: Omit<Arguments, 'field'> & {\n collection: Collection\n field: Field\n id: number | string\n}): Promise<void> => {\n const dataRef = data as Record<string, unknown>\n\n const doc = await req.payloadDataLoader.load(\n createDataloaderCacheKey({\n collectionSlug: collection.config.slug,\n currentDepth: currentDepth + 1,\n depth,\n docID: id as string,\n draft,\n fallbackLocale: req.fallbackLocale,\n locale: req.locale,\n overrideAccess: typeof overrideAccess === 'undefined' ? false : overrideAccess,\n showHiddenFields,\n transactionID: req.transactionID,\n }),\n )\n\n if (doc) {\n dataRef[key] = doc\n } else {\n dataRef[key] = null\n }\n}\n"],"names":["createDataloaderCacheKey","populate","id","collection","currentDepth","data","depth","draft","key","overrideAccess","req","showHiddenFields","dataRef","doc","payloadDataLoader","load","collectionSlug","config","slug","docID","fallbackLocale","locale","transactionID"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,wBAAwB,QAAQ,oBAAmB;AAgB5D,OAAO,MAAMC,WAAW,OAAO,EAC7BC,EAAE,EACFC,UAAU,EACVC,YAAY,EACZC,IAAI,EACJC,KAAK,EACLC,KAAK,EACLC,GAAG,EACHC,cAAc,EACdC,GAAG,EACHC,gBAAgB,EAKjB;IACC,MAAMC,UAAUP;IAEhB,MAAMQ,MAAM,MAAMH,IAAII,iBAAiB,CAACC,IAAI,CAC1Cf,yBAAyB;QACvBgB,gBAAgBb,WAAWc,MAAM,CAACC,IAAI;QACtCd,cAAcA,eAAe;QAC7BE;QACAa,OAAOjB;QACPK;QACAa,gBAAgBV,IAAIU,cAAc;QAClCC,QAAQX,IAAIW,MAAM;QAClBZ,gBAAgB,OAAOA,mBAAmB,cAAc,QAAQA;QAChEE;QACAW,eAAeZ,IAAIY,aAAa;IAClC;IAGF,IAAIT,KAAK;QACPD,OAAO,CAACJ,IAAI,GAAGK;IACjB,OAAO;QACLD,OAAO,CAACJ,IAAI,GAAG;IACjB;AACF,EAAC"}
@@ -8,5 +8,5 @@ export type Args = Parameters<RichTextAdapter<SerializedEditorState, AdapterProp
8
8
  /**
9
9
  * Appends all new populationPromises to the populationPromises prop
10
10
  */
11
- export declare const populateLexicalPopulationPromises: ({ context, currentDepth, depth, editorPopulationPromises, field, fieldPromises, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc, }: Args) => void;
11
+ export declare const populateLexicalPopulationPromises: ({ context, currentDepth, depth, draft, editorPopulationPromises, field, fieldPromises, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc, }: Args) => void;
12
12
  //# sourceMappingURL=populateLexicalPopulationPromises.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"populateLexicalPopulationPromises.d.ts","sourceRoot":"","sources":["../../src/populate/populateLexicalPopulationPromises.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,MAAM,MAAM,IAAI,GAAG,UAAU,CAC3B,eAAe,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC,oBAAoB,CAAC,CAC3E,CAAC,CAAC,CAAC,GAAG;IACL,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;CAChE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iCAAiC,uLAc3C,IAAI,SA8BN,CAAA"}
1
+ {"version":3,"file":"populateLexicalPopulationPromises.d.ts","sourceRoot":"","sources":["../../src/populate/populateLexicalPopulationPromises.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,MAAM,MAAM,IAAI,GAAG,UAAU,CAC3B,eAAe,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC,oBAAoB,CAAC,CAC3E,CAAC,CAAC,CAAC,GAAG;IACL,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;CAChE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iCAAiC,8LAe3C,IAAI,SA+BN,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { recurseNodes } from '../forEachNodeRecursively.js';
2
2
  /**
3
3
  * Appends all new populationPromises to the populationPromises prop
4
- */ export const populateLexicalPopulationPromises = ({ context, currentDepth, depth, editorPopulationPromises, field, fieldPromises, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc })=>{
4
+ */ export const populateLexicalPopulationPromises = ({ context, currentDepth, depth, draft, editorPopulationPromises, field, fieldPromises, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc })=>{
5
5
  if (depth <= 0 || currentDepth > depth) {
6
6
  return;
7
7
  }
@@ -13,6 +13,7 @@ import { recurseNodes } from '../forEachNodeRecursively.js';
13
13
  context,
14
14
  currentDepth,
15
15
  depth,
16
+ draft,
16
17
  editorPopulationPromises,
17
18
  field,
18
19
  fieldPromises,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/populate/populateLexicalPopulationPromises.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { RichTextAdapter } from 'payload/types'\n\nimport type { PopulationPromise } from '../field/features/types.js'\nimport type { AdapterProps } from '../types.js'\n\nimport { recurseNodes } from '../forEachNodeRecursively.js'\n\nexport type Args = Parameters<\n RichTextAdapter<SerializedEditorState, AdapterProps>['populationPromises']\n>[0] & {\n editorPopulationPromises: Map<string, Array<PopulationPromise>>\n}\n\n/**\n * Appends all new populationPromises to the populationPromises prop\n */\nexport const populateLexicalPopulationPromises = ({\n context,\n currentDepth,\n depth,\n editorPopulationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n}: Args) => {\n if (depth <= 0 || currentDepth > depth) {\n return\n }\n\n recurseNodes({\n callback: (node) => {\n if (editorPopulationPromises?.has(node.type)) {\n for (const promise of editorPopulationPromises.get(node.type)) {\n promise({\n context,\n currentDepth,\n depth,\n editorPopulationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n node,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n }\n },\n nodes: (siblingDoc[field?.name] as SerializedEditorState)?.root?.children ?? [],\n })\n}\n"],"names":["recurseNodes","populateLexicalPopulationPromises","context","currentDepth","depth","editorPopulationPromises","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","callback","node","has","type","promise","get","nodes","name","root","children"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAMA,SAASA,YAAY,QAAQ,+BAA8B;AAQ3D;;CAEC,GACD,OAAO,MAAMC,oCAAoC,CAAC,EAChDC,OAAO,EACPC,YAAY,EACZC,KAAK,EACLC,wBAAwB,EACxBC,KAAK,EACLC,aAAa,EACbC,QAAQ,EACRC,cAAc,EACdC,cAAc,EACdC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EAChBC,UAAU,EACL;IACL,IAAIV,SAAS,KAAKD,eAAeC,OAAO;QACtC;IACF;IAEAJ,aAAa;QACXe,UAAU,CAACC;YACT,IAAIX,0BAA0BY,IAAID,KAAKE,IAAI,GAAG;gBAC5C,KAAK,MAAMC,WAAWd,yBAAyBe,GAAG,CAACJ,KAAKE,IAAI,EAAG;oBAC7DC,QAAQ;wBACNjB;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAO;wBACAN;wBACAC;wBACAC;wBACAC;wBACAC;oBACF;gBACF;YACF;QACF;QACAO,OAAO,AAACP,UAAU,CAACR,OAAOgB,KAAK,EAA4BC,MAAMC,YAAY,EAAE;IACjF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/populate/populateLexicalPopulationPromises.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { RichTextAdapter } from 'payload/types'\n\nimport type { PopulationPromise } from '../field/features/types.js'\nimport type { AdapterProps } from '../types.js'\n\nimport { recurseNodes } from '../forEachNodeRecursively.js'\n\nexport type Args = Parameters<\n RichTextAdapter<SerializedEditorState, AdapterProps>['populationPromises']\n>[0] & {\n editorPopulationPromises: Map<string, Array<PopulationPromise>>\n}\n\n/**\n * Appends all new populationPromises to the populationPromises prop\n */\nexport const populateLexicalPopulationPromises = ({\n context,\n currentDepth,\n depth,\n draft,\n editorPopulationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n}: Args) => {\n if (depth <= 0 || currentDepth > depth) {\n return\n }\n\n recurseNodes({\n callback: (node) => {\n if (editorPopulationPromises?.has(node.type)) {\n for (const promise of editorPopulationPromises.get(node.type)) {\n promise({\n context,\n currentDepth,\n depth,\n draft,\n editorPopulationPromises,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n node,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n }\n },\n nodes: (siblingDoc[field?.name] as SerializedEditorState)?.root?.children ?? [],\n })\n}\n"],"names":["recurseNodes","populateLexicalPopulationPromises","context","currentDepth","depth","draft","editorPopulationPromises","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","callback","node","has","type","promise","get","nodes","name","root","children"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAMA,SAASA,YAAY,QAAQ,+BAA8B;AAQ3D;;CAEC,GACD,OAAO,MAAMC,oCAAoC,CAAC,EAChDC,OAAO,EACPC,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,wBAAwB,EACxBC,KAAK,EACLC,aAAa,EACbC,QAAQ,EACRC,cAAc,EACdC,cAAc,EACdC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EAChBC,UAAU,EACL;IACL,IAAIX,SAAS,KAAKD,eAAeC,OAAO;QACtC;IACF;IAEAJ,aAAa;QACXgB,UAAU,CAACC;YACT,IAAIX,0BAA0BY,IAAID,KAAKE,IAAI,GAAG;gBAC5C,KAAK,MAAMC,WAAWd,yBAAyBe,GAAG,CAACJ,KAAKE,IAAI,EAAG;oBAC7DC,QAAQ;wBACNlB;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAO;wBACAN;wBACAC;wBACAC;wBACAC;wBACAC;oBACF;gBACF;YACF;QACF;QACAO,OAAO,AAACP,UAAU,CAACR,OAAOgB,KAAK,EAA4BC,MAAMC,YAAY,EAAE;IACjF;AACF,EAAC"}
@@ -6,6 +6,7 @@ type NestedRichTextFieldsArgs = {
6
6
  currentDepth?: number;
7
7
  data: unknown;
8
8
  depth: number;
9
+ draft: boolean;
9
10
  /**
10
11
  * This maps all the population promises to the node types
11
12
  */
@@ -23,6 +24,6 @@ type NestedRichTextFieldsArgs = {
23
24
  showHiddenFields: boolean;
24
25
  siblingDoc: Record<string, unknown>;
25
26
  };
26
- export declare const recurseNestedFields: ({ context, currentDepth, data, depth, fieldPromises, fields, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc, }: NestedRichTextFieldsArgs) => void;
27
+ export declare const recurseNestedFields: ({ context, currentDepth, data, depth, draft, fieldPromises, fields, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc, }: NestedRichTextFieldsArgs) => void;
27
28
  export {};
28
29
  //# sourceMappingURL=recurseNestedFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recurseNestedFields.d.ts","sourceRoot":"","sources":["../../src/populate/recurseNestedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAIlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,cAAc,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC/D;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAC9B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,OAAO,CAAA;IACvB,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,mBAAmB,oKAc7B,wBAAwB,KAAG,IAsB7B,CAAA"}
1
+ {"version":3,"file":"recurseNestedFields.d.ts","sourceRoot":"","sources":["../../src/populate/recurseNestedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAIlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,cAAc,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd;;OAEG;IACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC/D;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAC9B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,OAAO,CAAA;IACvB,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,mBAAmB,2KAe7B,wBAAwB,KAAG,IAuB7B,CAAA"}
@@ -1,11 +1,12 @@
1
1
  import { afterReadTraverseFields } from 'payload/utilities';
2
- export const recurseNestedFields = ({ context, currentDepth = 0, data, depth, fieldPromises, fields, findMany, flattenLocales, overrideAccess = false, populationPromises, req, showHiddenFields, siblingDoc })=>{
2
+ export const recurseNestedFields = ({ context, currentDepth = 0, data, depth, draft, fieldPromises, fields, findMany, flattenLocales, overrideAccess = false, populationPromises, req, showHiddenFields, siblingDoc })=>{
3
3
  afterReadTraverseFields({
4
4
  collection: null,
5
5
  context,
6
6
  currentDepth,
7
7
  depth,
8
8
  doc: data,
9
+ draft,
9
10
  fallbackLocale: req.fallbackLocale,
10
11
  fieldPromises,
11
12
  fields,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/populate/recurseNestedFields.ts"],"sourcesContent":["import type { RequestContext } from 'payload'\nimport type { Field, PayloadRequestWithData } from 'payload/types'\n\nimport { afterReadTraverseFields } from 'payload/utilities'\n\nimport type { PopulationPromise } from '../field/features/types.js'\n\ntype NestedRichTextFieldsArgs = {\n context: RequestContext\n currentDepth?: number\n data: unknown\n depth: number\n /**\n * This maps all the population promises to the node types\n */\n editorPopulationPromises: Map<string, Array<PopulationPromise>>\n /**\n * fieldPromises are used for things like field hooks. They should be awaited before awaiting populationPromises\n */\n fieldPromises: Promise<void>[]\n fields: Field[]\n findMany: boolean\n flattenLocales: boolean\n overrideAccess: boolean\n populationPromises: Promise<void>[]\n req: PayloadRequestWithData\n showHiddenFields: boolean\n siblingDoc: Record<string, unknown>\n}\n\nexport const recurseNestedFields = ({\n context,\n currentDepth = 0,\n data,\n depth,\n fieldPromises,\n fields,\n findMany,\n flattenLocales,\n overrideAccess = false,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n}: NestedRichTextFieldsArgs): void => {\n afterReadTraverseFields({\n collection: null, // Pass from core? This is only needed for hooks, so we can leave this null for now\n context,\n currentDepth,\n depth,\n doc: data as any, // Looks like it's only needed for hooks and access control, so doesn't matter what we pass here right now\n fallbackLocale: req.fallbackLocale,\n fieldPromises,\n fields,\n findMany,\n flattenLocales,\n global: null, // Pass from core? This is only needed for hooks, so we can leave this null for now\n locale: req.locale,\n overrideAccess,\n populationPromises, // This is not the same as populationPromises passed into this recurseNestedFields. These are just promises resolved at the very end.\n req,\n showHiddenFields,\n siblingDoc,\n //triggerAccessControl: false, // TODO: Enable this to support access control\n //triggerHooks: false, // TODO: Enable this to support hooks\n })\n}\n"],"names":["afterReadTraverseFields","recurseNestedFields","context","currentDepth","data","depth","fieldPromises","fields","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","collection","doc","fallbackLocale","global","locale"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,uBAAuB,QAAQ,oBAAmB;AA2B3D,OAAO,MAAMC,sBAAsB,CAAC,EAClCC,OAAO,EACPC,eAAe,CAAC,EAChBC,IAAI,EACJC,KAAK,EACLC,aAAa,EACbC,MAAM,EACNC,QAAQ,EACRC,cAAc,EACdC,iBAAiB,KAAK,EACtBC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EAChBC,UAAU,EACe;IACzBd,wBAAwB;QACtBe,YAAY;QACZb;QACAC;QACAE;QACAW,KAAKZ;QACLa,gBAAgBL,IAAIK,cAAc;QAClCX;QACAC;QACAC;QACAC;QACAS,QAAQ;QACRC,QAAQP,IAAIO,MAAM;QAClBT;QACAC;QACAC;QACAC;QACAC;IAGF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/populate/recurseNestedFields.ts"],"sourcesContent":["import type { RequestContext } from 'payload'\nimport type { Field, PayloadRequestWithData } from 'payload/types'\n\nimport { afterReadTraverseFields } from 'payload/utilities'\n\nimport type { PopulationPromise } from '../field/features/types.js'\n\ntype NestedRichTextFieldsArgs = {\n context: RequestContext\n currentDepth?: number\n data: unknown\n depth: number\n draft: boolean\n /**\n * This maps all the population promises to the node types\n */\n editorPopulationPromises: Map<string, Array<PopulationPromise>>\n /**\n * fieldPromises are used for things like field hooks. They should be awaited before awaiting populationPromises\n */\n fieldPromises: Promise<void>[]\n fields: Field[]\n findMany: boolean\n flattenLocales: boolean\n overrideAccess: boolean\n populationPromises: Promise<void>[]\n req: PayloadRequestWithData\n showHiddenFields: boolean\n siblingDoc: Record<string, unknown>\n}\n\nexport const recurseNestedFields = ({\n context,\n currentDepth = 0,\n data,\n depth,\n draft,\n fieldPromises,\n fields,\n findMany,\n flattenLocales,\n overrideAccess = false,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n}: NestedRichTextFieldsArgs): void => {\n afterReadTraverseFields({\n collection: null, // Pass from core? This is only needed for hooks, so we can leave this null for now\n context,\n currentDepth,\n depth,\n doc: data as any, // Looks like it's only needed for hooks and access control, so doesn't matter what we pass here right now\n draft,\n fallbackLocale: req.fallbackLocale,\n fieldPromises,\n fields,\n findMany,\n flattenLocales,\n global: null, // Pass from core? This is only needed for hooks, so we can leave this null for now\n locale: req.locale,\n overrideAccess,\n populationPromises, // This is not the same as populationPromises passed into this recurseNestedFields. These are just promises resolved at the very end.\n req,\n showHiddenFields,\n siblingDoc,\n //triggerAccessControl: false, // TODO: Enable this to support access control\n //triggerHooks: false, // TODO: Enable this to support hooks\n })\n}\n"],"names":["afterReadTraverseFields","recurseNestedFields","context","currentDepth","data","depth","draft","fieldPromises","fields","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","collection","doc","fallbackLocale","global","locale"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,uBAAuB,QAAQ,oBAAmB;AA4B3D,OAAO,MAAMC,sBAAsB,CAAC,EAClCC,OAAO,EACPC,eAAe,CAAC,EAChBC,IAAI,EACJC,KAAK,EACLC,KAAK,EACLC,aAAa,EACbC,MAAM,EACNC,QAAQ,EACRC,cAAc,EACdC,iBAAiB,KAAK,EACtBC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EAChBC,UAAU,EACe;IACzBf,wBAAwB;QACtBgB,YAAY;QACZd;QACAC;QACAE;QACAY,KAAKb;QACLE;QACAY,gBAAgBL,IAAIK,cAAc;QAClCX;QACAC;QACAC;QACAC;QACAS,QAAQ;QACRC,QAAQP,IAAIO,MAAM;QAClBT;QACAC;QACAC;QACAC;QACAC;IAGF;AACF,EAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/richtext-lexical",
3
- "version": "3.0.0-beta.24",
3
+ "version": "3.0.0-beta.25",
4
4
  "description": "The officially supported Lexical richtext adapter for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -9,7 +9,7 @@
9
9
  "directory": "packages/richtext-lexical"
10
10
  },
11
11
  "license": "MIT",
12
- "author": "Payload CMS, Inc.",
12
+ "author": "Payload <dev@payloadcms.com> (https://payloadcms.com)",
13
13
  "type": "module",
14
14
  "exports": {
15
15
  ".": {
@@ -57,18 +57,18 @@
57
57
  "@types/react": "18.2.74",
58
58
  "@types/react-dom": "18.2.24",
59
59
  "@payloadcms/eslint-config": "1.1.1",
60
- "@payloadcms/next": "3.0.0-beta.24",
61
- "@payloadcms/ui": "3.0.0-beta.24",
62
- "payload": "3.0.0-beta.24",
63
- "@payloadcms/translations": "3.0.0-beta.24"
60
+ "@payloadcms/next": "3.0.0-beta.25",
61
+ "@payloadcms/translations": "3.0.0-beta.25",
62
+ "@payloadcms/ui": "3.0.0-beta.25",
63
+ "payload": "3.0.0-beta.25"
64
64
  },
65
65
  "peerDependencies": {
66
66
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
67
67
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
68
- "@payloadcms/next": "3.0.0-beta.24",
69
- "@payloadcms/ui": "3.0.0-beta.24",
70
- "payload": "3.0.0-beta.24",
71
- "@payloadcms/translations": "3.0.0-beta.24"
68
+ "@payloadcms/next": "3.0.0-beta.25",
69
+ "@payloadcms/translations": "3.0.0-beta.25",
70
+ "@payloadcms/ui": "3.0.0-beta.25",
71
+ "payload": "3.0.0-beta.25"
72
72
  },
73
73
  "engines": {
74
74
  "node": ">=18.20.2"
@@ -1,3 +0,0 @@
1
- import type { InlineToolbarGroup, InlineToolbarGroupItem } from '../../lexical/plugins/toolbars/inline/types.js';
2
- export declare const alignGroupWithItems: (items: InlineToolbarGroupItem[]) => InlineToolbarGroup;
3
- //# sourceMappingURL=inlineToolbarAlignGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inlineToolbarAlignGroup.d.ts","sourceRoot":"","sources":["../../../../src/field/features/align/inlineToolbarAlignGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,gDAAgD,CAAA;AAIvD,eAAO,MAAM,mBAAmB,UAAW,sBAAsB,EAAE,KAAG,kBAQrE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/field/features/align/inlineToolbarAlignGroup.ts"],"sourcesContent":["import type {\n InlineToolbarGroup,\n InlineToolbarGroupItem,\n} from '../../lexical/plugins/toolbars/inline/types.js'\n\nimport { AlignLeftIcon } from '../../lexical/ui/icons/AlignLeft/index.js'\n\nexport const alignGroupWithItems = (items: InlineToolbarGroupItem[]): InlineToolbarGroup => {\n return {\n type: 'dropdown',\n ChildComponent: AlignLeftIcon,\n items,\n key: 'align',\n order: 2,\n }\n}\n"],"names":["AlignLeftIcon","alignGroupWithItems","items","type","ChildComponent","key","order"],"rangeMappings":";;;;;;;;;","mappings":"AAKA,SAASA,aAAa,QAAQ,4CAA2C;AAEzE,OAAO,MAAMC,sBAAsB,CAACC;IAClC,OAAO;QACLC,MAAM;QACNC,gBAAgBJ;QAChBE;QACAG,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { InlineToolbarGroup, InlineToolbarGroupItem } from '../../../lexical/plugins/toolbars/inline/types.js';
2
- export declare const inlineToolbarFormatGroupWithItems: (items: InlineToolbarGroupItem[]) => InlineToolbarGroup;
3
- //# sourceMappingURL=inlineToolbarFormatGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inlineToolbarFormatGroup.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/format/shared/inlineToolbarFormatGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,mDAAmD,CAAA;AAE1D,eAAO,MAAM,iCAAiC,UACrC,sBAAsB,EAAE,KAC9B,kBAOF,CAAA"}
@@ -1,10 +0,0 @@
1
- export const inlineToolbarFormatGroupWithItems = (items)=>{
2
- return {
3
- type: 'buttons',
4
- items,
5
- key: 'format',
6
- order: 4
7
- };
8
- };
9
-
10
- //# sourceMappingURL=inlineToolbarFormatGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/field/features/format/shared/inlineToolbarFormatGroup.ts"],"sourcesContent":["import type {\n InlineToolbarGroup,\n InlineToolbarGroupItem,\n} from '../../../lexical/plugins/toolbars/inline/types.js'\n\nexport const inlineToolbarFormatGroupWithItems = (\n items: InlineToolbarGroupItem[],\n): InlineToolbarGroup => {\n return {\n type: 'buttons',\n items,\n key: 'format',\n order: 4,\n }\n}\n"],"names":["inlineToolbarFormatGroupWithItems","items","type","key","order"],"rangeMappings":";;;;;;;","mappings":"AAKA,OAAO,MAAMA,oCAAoC,CAC/CC;IAEA,OAAO;QACLC,MAAM;QACND;QACAE,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { InlineToolbarGroup, InlineToolbarGroupItem } from '../../lexical/plugins/toolbars/inline/types.js';
2
- export declare const indentGroupWithItems: (items: InlineToolbarGroupItem[]) => InlineToolbarGroup;
3
- //# sourceMappingURL=inlineToolbarIndentGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inlineToolbarIndentGroup.d.ts","sourceRoot":"","sources":["../../../../src/field/features/indent/inlineToolbarIndentGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,gDAAgD,CAAA;AAEvD,eAAO,MAAM,oBAAoB,UAAW,sBAAsB,EAAE,KAAG,kBAOtE,CAAA"}
@@ -1,10 +0,0 @@
1
- export const indentGroupWithItems = (items)=>{
2
- return {
3
- type: 'buttons',
4
- items,
5
- key: 'indent',
6
- order: 3
7
- };
8
- };
9
-
10
- //# sourceMappingURL=inlineToolbarIndentGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/field/features/indent/inlineToolbarIndentGroup.ts"],"sourcesContent":["import type {\n InlineToolbarGroup,\n InlineToolbarGroupItem,\n} from '../../lexical/plugins/toolbars/inline/types.js'\n\nexport const indentGroupWithItems = (items: InlineToolbarGroupItem[]): InlineToolbarGroup => {\n return {\n type: 'buttons',\n items,\n key: 'indent',\n order: 3,\n }\n}\n"],"names":["indentGroupWithItems","items","type","key","order"],"rangeMappings":";;;;;;;","mappings":"AAKA,OAAO,MAAMA,uBAAuB,CAACC;IACnC,OAAO;QACLC,MAAM;QACND;QACAE,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { InlineToolbarGroup, InlineToolbarGroupItem } from '../../../lexical/plugins/toolbars/inline/types.js';
2
- export declare const inlineToolbarFeatureButtonsGroupWithItems: (items: InlineToolbarGroupItem[]) => InlineToolbarGroup;
3
- //# sourceMappingURL=featureButtonsGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"featureButtonsGroup.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/shared/inlineToolbar/featureButtonsGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,mDAAmD,CAAA;AAE1D,eAAO,MAAM,yCAAyC,UAC7C,sBAAsB,EAAE,KAC9B,kBAOF,CAAA"}
@@ -1,10 +0,0 @@
1
- export const inlineToolbarFeatureButtonsGroupWithItems = (items)=>{
2
- return {
3
- type: 'buttons',
4
- items,
5
- key: 'features',
6
- order: 5
7
- };
8
- };
9
-
10
- //# sourceMappingURL=featureButtonsGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/field/features/shared/inlineToolbar/featureButtonsGroup.ts"],"sourcesContent":["import type {\n InlineToolbarGroup,\n InlineToolbarGroupItem,\n} from '../../../lexical/plugins/toolbars/inline/types.js'\n\nexport const inlineToolbarFeatureButtonsGroupWithItems = (\n items: InlineToolbarGroupItem[],\n): InlineToolbarGroup => {\n return {\n type: 'buttons',\n items,\n key: 'features',\n order: 5,\n }\n}\n"],"names":["inlineToolbarFeatureButtonsGroupWithItems","items","type","key","order"],"rangeMappings":";;;;;;;","mappings":"AAKA,OAAO,MAAMA,4CAA4C,CACvDC;IAEA,OAAO;QACLC,MAAM;QACND;QACAE,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { InlineToolbarGroup, InlineToolbarGroupItem } from '../../../lexical/plugins/toolbars/inline/types.js';
2
- export declare const inlineToolbarTextDropdownGroupWithItems: (items: InlineToolbarGroupItem[]) => InlineToolbarGroup;
3
- //# sourceMappingURL=textDropdownGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textDropdownGroup.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/shared/inlineToolbar/textDropdownGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,mDAAmD,CAAA;AAI1D,eAAO,MAAM,uCAAuC,UAC3C,sBAAsB,EAAE,KAC9B,kBAQF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/field/features/shared/inlineToolbar/textDropdownGroup.ts"],"sourcesContent":["import type {\n InlineToolbarGroup,\n InlineToolbarGroupItem,\n} from '../../../lexical/plugins/toolbars/inline/types.js'\n\nimport { TextIcon } from '../../../lexical/ui/icons/Text/index.js'\n\nexport const inlineToolbarTextDropdownGroupWithItems = (\n items: InlineToolbarGroupItem[],\n): InlineToolbarGroup => {\n return {\n type: 'dropdown',\n ChildComponent: TextIcon,\n items,\n key: 'text',\n order: 1,\n }\n}\n"],"names":["TextIcon","inlineToolbarTextDropdownGroupWithItems","items","type","ChildComponent","key","order"],"rangeMappings":";;;;;;;;;","mappings":"AAKA,SAASA,QAAQ,QAAQ,0CAAyC;AAElE,OAAO,MAAMC,0CAA0C,CACrDC;IAEA,OAAO;QACLC,MAAM;QACNC,gBAAgBJ;QAChBE;QACAG,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
@@ -1,40 +0,0 @@
1
- import type { BaseSelection, LexicalEditor } from 'lexical';
2
- import type React from 'react';
3
- export type FixedToolbarGroup = {
4
- ChildComponent?: React.FC;
5
- items: Array<FixedToolbarGroupItem>;
6
- key: string;
7
- order?: number;
8
- type: 'dropdown';
9
- } | {
10
- items: Array<FixedToolbarGroupItem>;
11
- key: string;
12
- order?: number;
13
- type: 'buttons';
14
- };
15
- export type FixedToolbarGroupItem = {
16
- ChildComponent?: React.FC;
17
- /** Use component to ignore the children and onClick properties. It does not use the default, pre-defined format Button component */
18
- Component?: React.FC<{
19
- anchorElem: HTMLElement;
20
- editor: LexicalEditor;
21
- item: FixedToolbarGroupItem;
22
- }>;
23
- isActive?: ({ editor, selection }: {
24
- editor: LexicalEditor;
25
- selection: BaseSelection;
26
- }) => boolean;
27
- isEnabled?: ({ editor, selection, }: {
28
- editor: LexicalEditor;
29
- selection: BaseSelection;
30
- }) => boolean;
31
- key: string;
32
- /** The label is displayed as text if the item is part of a dropdown group */
33
- label?: string;
34
- onClick?: ({ editor, isActive }: {
35
- editor: LexicalEditor;
36
- isActive: boolean;
37
- }) => void;
38
- order?: number;
39
- };
40
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/toolbars/fixed/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,iBAAiB,GACzB;IACE,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACzB,KAAK,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,UAAU,CAAA;CACjB,GACD;IACE,KAAK,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAEL,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACzB,oIAAoI;IACpI,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QACnB,UAAU,EAAE,WAAW,CAAA;QACvB,MAAM,EAAE,aAAa,CAAA;QACrB,IAAI,EAAE,qBAAqB,CAAA;KAC5B,CAAC,CAAA;IACF,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,SAAS,EAAE,aAAa,CAAA;KAAE,KAAK,OAAO,CAAA;IAClG,SAAS,CAAC,EAAE,CAAC,EACX,MAAM,EACN,SAAS,GACV,EAAE;QACD,MAAM,EAAE,aAAa,CAAA;QACrB,SAAS,EAAE,aAAa,CAAA;KACzB,KAAK,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACtF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}