@payloadcms/richtext-lexical 3.0.0-beta.5 → 3.0.0-beta.50

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 (968) hide show
  1. package/README.md +1 -1
  2. package/dist/cell/index.d.ts +5 -2
  3. package/dist/cell/index.d.ts.map +1 -1
  4. package/dist/cell/index.js +45 -31
  5. package/dist/cell/index.js.map +1 -1
  6. package/dist/exports/client/Component-6AVANNNR.js +2 -0
  7. package/dist/exports/client/Component-6AVANNNR.js.map +7 -0
  8. package/dist/exports/client/Component-SZVAYRJX.js +2 -0
  9. package/dist/exports/client/Component-SZVAYRJX.js.map +7 -0
  10. package/dist/exports/client/Field-U5PHZTST.js +2 -0
  11. package/dist/exports/client/Field-U5PHZTST.js.map +7 -0
  12. package/dist/exports/client/RelationshipComponent-FGUPLCD2.js +2 -0
  13. package/dist/exports/client/RelationshipComponent-FGUPLCD2.js.map +7 -0
  14. package/dist/exports/client/bundled.css +1 -0
  15. package/dist/exports/client/chunk-35NZOHAF.js +2 -0
  16. package/dist/exports/client/chunk-35NZOHAF.js.map +7 -0
  17. package/dist/exports/client/chunk-3PZ2ZFQG.js +3 -0
  18. package/dist/exports/client/chunk-3PZ2ZFQG.js.map +7 -0
  19. package/dist/exports/client/chunk-FSTRW2TI.js +2 -0
  20. package/dist/exports/client/chunk-FSTRW2TI.js.map +7 -0
  21. package/dist/exports/client/chunk-M6MN4CA5.js +2 -0
  22. package/dist/exports/client/chunk-M6MN4CA5.js.map +7 -0
  23. package/dist/exports/client/chunk-Y5455JF3.js +2 -0
  24. package/dist/exports/client/chunk-Y5455JF3.js.map +7 -0
  25. package/dist/exports/client/component-FFLILIUZ.js +2 -0
  26. package/dist/exports/client/component-FFLILIUZ.js.map +7 -0
  27. package/dist/exports/client/component-RAVN56DE.js +2 -0
  28. package/dist/exports/client/component-RAVN56DE.js.map +7 -0
  29. package/dist/exports/client/component-Z34HXRX3.js +2 -0
  30. package/dist/exports/client/component-Z34HXRX3.js.map +7 -0
  31. package/dist/exports/client/index.d.ts +52 -0
  32. package/dist/exports/client/index.d.ts.map +1 -0
  33. package/dist/exports/client/index.js +36 -0
  34. package/dist/exports/client/index.js.map +7 -0
  35. package/dist/field/Field.d.ts +1 -2
  36. package/dist/field/Field.d.ts.map +1 -1
  37. package/dist/field/Field.js +69 -55
  38. package/dist/field/Field.js.map +1 -1
  39. package/dist/field/bundled.css +0 -0
  40. package/dist/field/features/align/feature.client.d.ts +4 -1
  41. package/dist/field/features/align/feature.client.d.ts.map +1 -1
  42. package/dist/field/features/align/feature.client.js +135 -54
  43. package/dist/field/features/align/feature.client.js.map +1 -1
  44. package/dist/field/features/align/feature.server.d.ts.map +1 -1
  45. package/dist/field/features/align/feature.server.js +4 -1
  46. package/dist/field/features/align/feature.server.js.map +1 -1
  47. package/dist/field/features/align/i18n.d.ts +3 -0
  48. package/dist/field/features/align/i18n.d.ts.map +1 -0
  49. package/dist/field/features/align/i18n.js +196 -0
  50. package/dist/field/features/align/i18n.js.map +1 -0
  51. package/dist/field/features/align/toolbarAlignGroup.d.ts +3 -0
  52. package/dist/field/features/align/toolbarAlignGroup.d.ts.map +1 -0
  53. package/dist/field/features/align/toolbarAlignGroup.js +12 -0
  54. package/dist/field/features/align/toolbarAlignGroup.js.map +1 -0
  55. package/dist/field/features/blockquote/feature.client.d.ts +4 -1
  56. package/dist/field/features/blockquote/feature.client.d.ts.map +1 -1
  57. package/dist/field/features/blockquote/feature.client.js +60 -46
  58. package/dist/field/features/blockquote/feature.client.js.map +1 -1
  59. package/dist/field/features/blockquote/feature.server.d.ts +1 -1
  60. package/dist/field/features/blockquote/feature.server.d.ts.map +1 -1
  61. package/dist/field/features/blockquote/feature.server.js +10 -7
  62. package/dist/field/features/blockquote/feature.server.js.map +1 -1
  63. package/dist/field/features/blockquote/i18n.d.ts +3 -0
  64. package/dist/field/features/blockquote/i18n.d.ts.map +1 -0
  65. package/dist/field/features/blockquote/i18n.js +100 -0
  66. package/dist/field/features/blockquote/i18n.js.map +1 -0
  67. package/dist/field/features/blockquote/markdownTransformer.d.ts.map +1 -1
  68. package/dist/field/features/blockquote/markdownTransformer.js +2 -4
  69. package/dist/field/features/blockquote/markdownTransformer.js.map +1 -1
  70. package/dist/field/features/blocks/component/BlockContent.d.ts.map +1 -1
  71. package/dist/field/features/blocks/component/BlockContent.js +77 -67
  72. package/dist/field/features/blocks/component/BlockContent.js.map +1 -1
  73. package/dist/field/features/blocks/component/FormSavePlugin.d.ts +1 -2
  74. package/dist/field/features/blocks/component/FormSavePlugin.d.ts.map +1 -1
  75. package/dist/field/features/blocks/component/FormSavePlugin.js +2 -2
  76. package/dist/field/features/blocks/component/FormSavePlugin.js.map +1 -1
  77. package/dist/field/features/blocks/component/index.d.ts +0 -1
  78. package/dist/field/features/blocks/component/index.d.ts.map +1 -1
  79. package/dist/field/features/blocks/component/index.js +60 -30
  80. package/dist/field/features/blocks/component/index.js.map +1 -1
  81. package/dist/field/features/blocks/component/removeEmptyArrayValues.d.ts +1 -1
  82. package/dist/field/features/blocks/component/removeEmptyArrayValues.d.ts.map +1 -1
  83. package/dist/field/features/blocks/component/removeEmptyArrayValues.js.map +1 -1
  84. package/dist/field/features/blocks/drawer/index.d.ts.map +1 -1
  85. package/dist/field/features/blocks/drawer/index.js +5 -11
  86. package/dist/field/features/blocks/drawer/index.js.map +1 -1
  87. package/dist/field/features/blocks/feature.client.d.ts +4 -1
  88. package/dist/field/features/blocks/feature.client.d.ts.map +1 -1
  89. package/dist/field/features/blocks/feature.client.js +58 -27
  90. package/dist/field/features/blocks/feature.client.js.map +1 -1
  91. package/dist/field/features/blocks/feature.server.d.ts +2 -5
  92. package/dist/field/features/blocks/feature.server.d.ts.map +1 -1
  93. package/dist/field/features/blocks/feature.server.js +62 -82
  94. package/dist/field/features/blocks/feature.server.js.map +1 -1
  95. package/dist/field/features/blocks/{populationPromise.d.ts → graphQLPopulationPromise.d.ts} +1 -1
  96. package/dist/field/features/blocks/graphQLPopulationPromise.d.ts.map +1 -0
  97. package/dist/field/features/blocks/graphQLPopulationPromise.js +31 -0
  98. package/dist/field/features/blocks/graphQLPopulationPromise.js.map +1 -0
  99. package/dist/field/features/blocks/i18n.d.ts +3 -0
  100. package/dist/field/features/blocks/i18n.d.ts.map +1 -0
  101. package/dist/field/features/blocks/i18n.js +100 -0
  102. package/dist/field/features/blocks/i18n.js.map +1 -0
  103. package/dist/field/features/blocks/nodes/BlocksNode.d.ts +2 -4
  104. package/dist/field/features/blocks/nodes/BlocksNode.d.ts.map +1 -1
  105. package/dist/field/features/blocks/nodes/BlocksNode.js +3 -3
  106. package/dist/field/features/blocks/nodes/BlocksNode.js.map +1 -1
  107. package/dist/field/features/blocks/plugin/commands.d.ts.map +1 -1
  108. package/dist/field/features/blocks/plugin/commands.js +1 -2
  109. package/dist/field/features/blocks/plugin/commands.js.map +1 -1
  110. package/dist/field/features/blocks/plugin/index.d.ts +3 -2
  111. package/dist/field/features/blocks/plugin/index.d.ts.map +1 -1
  112. package/dist/field/features/blocks/plugin/index.js +10 -11
  113. package/dist/field/features/blocks/plugin/index.js.map +1 -1
  114. package/dist/field/features/blocks/validate.d.ts.map +1 -1
  115. package/dist/field/features/blocks/validate.js +22 -36
  116. package/dist/field/features/blocks/validate.js.map +1 -1
  117. package/dist/field/features/converters/html/field/index.d.ts +14 -2
  118. package/dist/field/features/converters/html/field/index.d.ts.map +1 -1
  119. package/dist/field/features/converters/html/field/index.js +97 -57
  120. package/dist/field/features/converters/html/field/index.js.map +1 -1
  121. package/dist/field/features/createFeaturePropComponent.d.ts.map +1 -1
  122. package/dist/field/features/createFeaturePropComponent.js +6 -3
  123. package/dist/field/features/createFeaturePropComponent.js.map +1 -1
  124. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.d.ts +4 -1
  125. package/dist/field/features/debug/testRecorder/feature.client.d.ts.map +1 -0
  126. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.js.map +1 -1
  127. package/dist/field/features/debug/testRecorder/feature.server.d.ts.map +1 -0
  128. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.js +3 -2
  129. package/dist/field/features/debug/testRecorder/feature.server.js.map +1 -0
  130. package/dist/field/features/debug/testRecorder/plugin/index.d.ts +5 -0
  131. package/dist/field/features/debug/testRecorder/plugin/index.d.ts.map +1 -0
  132. package/dist/field/features/debug/{testrecorder → testRecorder}/plugin/index.js +68 -45
  133. package/dist/field/features/debug/testRecorder/plugin/index.js.map +1 -0
  134. package/dist/field/features/debug/{treeview → treeView}/feature.client.d.ts +4 -1
  135. package/dist/field/features/debug/treeView/feature.client.d.ts.map +1 -0
  136. package/dist/field/features/debug/{treeview → treeView}/feature.client.js.map +1 -1
  137. package/dist/field/features/debug/treeView/feature.server.d.ts.map +1 -0
  138. package/dist/field/features/debug/{treeview → treeView}/feature.server.js +3 -2
  139. package/dist/field/features/debug/treeView/feature.server.js.map +1 -0
  140. package/dist/field/features/debug/treeView/plugin/index.d.ts +4 -0
  141. package/dist/field/features/debug/treeView/plugin/index.d.ts.map +1 -0
  142. package/dist/field/features/debug/{treeview → treeView}/plugin/index.js +6 -8
  143. package/dist/field/features/debug/treeView/plugin/index.js.map +1 -0
  144. package/dist/field/features/format/bold/feature.client.d.ts +4 -1
  145. package/dist/field/features/format/bold/feature.client.d.ts.map +1 -1
  146. package/dist/field/features/format/bold/feature.client.js +26 -23
  147. package/dist/field/features/format/bold/feature.client.js.map +1 -1
  148. package/dist/field/features/format/bold/feature.server.d.ts.map +1 -1
  149. package/dist/field/features/format/bold/feature.server.js +2 -1
  150. package/dist/field/features/format/bold/feature.server.js.map +1 -1
  151. package/dist/field/features/format/{inlinecode → inlineCode}/feature.client.d.ts +4 -1
  152. package/dist/field/features/format/inlineCode/feature.client.d.ts.map +1 -0
  153. package/dist/field/features/format/inlineCode/feature.client.js +46 -0
  154. package/dist/field/features/format/inlineCode/feature.client.js.map +1 -0
  155. package/dist/field/features/format/inlineCode/feature.server.d.ts.map +1 -0
  156. package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.js +3 -2
  157. package/dist/field/features/format/inlineCode/feature.server.js.map +1 -0
  158. package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.d.ts.map +1 -1
  159. package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.js.map +1 -1
  160. package/dist/field/features/format/italic/feature.client.d.ts +4 -1
  161. package/dist/field/features/format/italic/feature.client.d.ts.map +1 -1
  162. package/dist/field/features/format/italic/feature.client.js +27 -24
  163. package/dist/field/features/format/italic/feature.client.js.map +1 -1
  164. package/dist/field/features/format/italic/feature.server.d.ts.map +1 -1
  165. package/dist/field/features/format/italic/feature.server.js +2 -1
  166. package/dist/field/features/format/italic/feature.server.js.map +1 -1
  167. package/dist/field/features/format/shared/toolbarFormatGroup.d.ts +3 -0
  168. package/dist/field/features/format/shared/toolbarFormatGroup.d.ts.map +1 -0
  169. package/dist/field/features/format/shared/toolbarFormatGroup.js +10 -0
  170. package/dist/field/features/format/shared/toolbarFormatGroup.js.map +1 -0
  171. package/dist/field/features/format/strikethrough/feature.client.d.ts +4 -1
  172. package/dist/field/features/format/strikethrough/feature.client.d.ts.map +1 -1
  173. package/dist/field/features/format/strikethrough/feature.client.js +27 -24
  174. package/dist/field/features/format/strikethrough/feature.client.js.map +1 -1
  175. package/dist/field/features/format/strikethrough/feature.server.d.ts.map +1 -1
  176. package/dist/field/features/format/strikethrough/feature.server.js +2 -1
  177. package/dist/field/features/format/strikethrough/feature.server.js.map +1 -1
  178. package/dist/field/features/format/subscript/feature.client.d.ts +4 -1
  179. package/dist/field/features/format/subscript/feature.client.d.ts.map +1 -1
  180. package/dist/field/features/format/subscript/feature.client.js +25 -22
  181. package/dist/field/features/format/subscript/feature.client.js.map +1 -1
  182. package/dist/field/features/format/subscript/feature.server.d.ts.map +1 -1
  183. package/dist/field/features/format/subscript/feature.server.js +2 -1
  184. package/dist/field/features/format/subscript/feature.server.js.map +1 -1
  185. package/dist/field/features/format/superscript/feature.client.d.ts +4 -1
  186. package/dist/field/features/format/superscript/feature.client.d.ts.map +1 -1
  187. package/dist/field/features/format/superscript/feature.client.js +25 -22
  188. package/dist/field/features/format/superscript/feature.client.js.map +1 -1
  189. package/dist/field/features/format/superscript/feature.server.d.ts.map +1 -1
  190. package/dist/field/features/format/superscript/feature.server.js +2 -1
  191. package/dist/field/features/format/superscript/feature.server.js.map +1 -1
  192. package/dist/field/features/format/underline/feature.client.d.ts +4 -1
  193. package/dist/field/features/format/underline/feature.client.d.ts.map +1 -1
  194. package/dist/field/features/format/underline/feature.client.js +25 -22
  195. package/dist/field/features/format/underline/feature.client.js.map +1 -1
  196. package/dist/field/features/format/underline/feature.server.d.ts.map +1 -1
  197. package/dist/field/features/format/underline/feature.server.js +2 -1
  198. package/dist/field/features/format/underline/feature.server.js.map +1 -1
  199. package/dist/field/features/heading/feature.client.d.ts +4 -1
  200. package/dist/field/features/heading/feature.client.d.ts.map +1 -1
  201. package/dist/field/features/heading/feature.client.js +75 -54
  202. package/dist/field/features/heading/feature.client.js.map +1 -1
  203. package/dist/field/features/heading/feature.server.d.ts.map +1 -1
  204. package/dist/field/features/heading/feature.server.js +9 -6
  205. package/dist/field/features/heading/feature.server.js.map +1 -1
  206. package/dist/field/features/heading/i18n.d.ts +3 -0
  207. package/dist/field/features/heading/i18n.d.ts.map +1 -0
  208. package/dist/field/features/heading/i18n.js +100 -0
  209. package/dist/field/features/heading/i18n.js.map +1 -0
  210. package/dist/field/features/heading/markdownTransformer.d.ts.map +1 -1
  211. package/dist/field/features/heading/markdownTransformer.js +1 -2
  212. package/dist/field/features/heading/markdownTransformer.js.map +1 -1
  213. package/dist/field/features/horizontalRule/component/index.d.ts +10 -0
  214. package/dist/field/features/horizontalRule/component/index.d.ts.map +1 -0
  215. package/dist/field/features/horizontalRule/component/index.js +67 -0
  216. package/dist/field/features/horizontalRule/component/index.js.map +1 -0
  217. package/dist/field/features/horizontalRule/feature.client.d.ts +6 -0
  218. package/dist/field/features/horizontalRule/feature.client.d.ts.map +1 -0
  219. package/dist/field/features/horizontalRule/feature.client.js +77 -0
  220. package/dist/field/features/horizontalRule/feature.client.js.map +1 -0
  221. package/dist/field/features/horizontalRule/feature.server.d.ts +3 -0
  222. package/dist/field/features/horizontalRule/feature.server.d.ts.map +1 -0
  223. package/dist/field/features/horizontalRule/feature.server.js +39 -0
  224. package/dist/field/features/horizontalRule/feature.server.js.map +1 -0
  225. package/dist/field/features/horizontalRule/i18n.d.ts +3 -0
  226. package/dist/field/features/horizontalRule/i18n.d.ts.map +1 -0
  227. package/dist/field/features/horizontalRule/i18n.js +100 -0
  228. package/dist/field/features/horizontalRule/i18n.js.map +1 -0
  229. package/dist/field/features/horizontalRule/markdownTransformer.d.ts +3 -0
  230. package/dist/field/features/horizontalRule/markdownTransformer.d.ts.map +1 -0
  231. package/dist/field/features/horizontalRule/markdownTransformer.js +23 -0
  232. package/dist/field/features/horizontalRule/markdownTransformer.js.map +1 -0
  233. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.d.ts +53 -0
  234. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.d.ts.map +1 -0
  235. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.js +92 -0
  236. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.js.map +1 -0
  237. package/dist/field/features/horizontalRule/plugin/index.d.ts +7 -0
  238. package/dist/field/features/horizontalRule/plugin/index.d.ts.map +1 -0
  239. package/dist/field/features/horizontalRule/plugin/index.js +30 -0
  240. package/dist/field/features/horizontalRule/plugin/index.js.map +1 -0
  241. package/dist/field/features/indent/feature.client.d.ts +4 -1
  242. package/dist/field/features/indent/feature.client.d.ts.map +1 -1
  243. package/dist/field/features/indent/feature.client.js +47 -42
  244. package/dist/field/features/indent/feature.client.js.map +1 -1
  245. package/dist/field/features/indent/feature.server.d.ts.map +1 -1
  246. package/dist/field/features/indent/feature.server.js +4 -1
  247. package/dist/field/features/indent/feature.server.js.map +1 -1
  248. package/dist/field/features/indent/i18n.d.ts +3 -0
  249. package/dist/field/features/indent/i18n.d.ts.map +1 -0
  250. package/dist/field/features/indent/i18n.js +132 -0
  251. package/dist/field/features/indent/i18n.js.map +1 -0
  252. package/dist/field/features/indent/toolbarIndentGroup.d.ts +3 -0
  253. package/dist/field/features/indent/toolbarIndentGroup.d.ts.map +1 -0
  254. package/dist/field/features/indent/toolbarIndentGroup.js +10 -0
  255. package/dist/field/features/indent/toolbarIndentGroup.js.map +1 -0
  256. package/dist/field/features/link/drawer/baseFields.d.ts +2 -3
  257. package/dist/field/features/link/drawer/baseFields.d.ts.map +1 -1
  258. package/dist/field/features/link/drawer/baseFields.js +30 -43
  259. package/dist/field/features/link/drawer/baseFields.js.map +1 -1
  260. package/dist/field/features/link/drawer/index.d.ts.map +1 -1
  261. package/dist/field/features/link/drawer/index.js +32 -31
  262. package/dist/field/features/link/drawer/index.js.map +1 -1
  263. package/dist/field/features/link/drawer/types.d.ts +5 -3
  264. package/dist/field/features/link/drawer/types.d.ts.map +1 -1
  265. package/dist/field/features/link/drawer/types.js.map +1 -1
  266. package/dist/field/features/link/feature.client.d.ts +13 -1
  267. package/dist/field/features/link/feature.client.d.ts.map +1 -1
  268. package/dist/field/features/link/feature.client.js +65 -47
  269. package/dist/field/features/link/feature.client.js.map +1 -1
  270. package/dist/field/features/link/feature.server.d.ts +10 -6
  271. package/dist/field/features/link/feature.server.d.ts.map +1 -1
  272. package/dist/field/features/link/feature.server.js +66 -17
  273. package/dist/field/features/link/feature.server.js.map +1 -1
  274. package/dist/field/features/link/{populationPromise.d.ts → graphQLPopulationPromise.d.ts} +1 -1
  275. package/dist/field/features/link/graphQLPopulationPromise.d.ts.map +1 -0
  276. package/dist/field/features/link/graphQLPopulationPromise.js +31 -0
  277. package/dist/field/features/link/graphQLPopulationPromise.js.map +1 -0
  278. package/dist/field/features/link/i18n.d.ts +3 -0
  279. package/dist/field/features/link/i18n.d.ts.map +1 -0
  280. package/dist/field/features/link/i18n.js +100 -0
  281. package/dist/field/features/link/i18n.js.map +1 -0
  282. package/dist/field/features/link/markdownTransformer.d.ts +6 -0
  283. package/dist/field/features/link/markdownTransformer.d.ts.map +1 -0
  284. package/dist/field/features/link/markdownTransformer.js +50 -0
  285. package/dist/field/features/link/markdownTransformer.js.map +1 -0
  286. package/dist/field/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  287. package/dist/field/features/link/nodes/AutoLinkNode.js +3 -2
  288. package/dist/field/features/link/nodes/AutoLinkNode.js.map +1 -1
  289. package/dist/field/features/link/nodes/LinkNode.d.ts +9 -8
  290. package/dist/field/features/link/nodes/LinkNode.d.ts.map +1 -1
  291. package/dist/field/features/link/nodes/LinkNode.js +28 -11
  292. package/dist/field/features/link/nodes/LinkNode.js.map +1 -1
  293. package/dist/field/features/link/nodes/types.d.ts +2 -1
  294. package/dist/field/features/link/nodes/types.d.ts.map +1 -1
  295. package/dist/field/features/link/nodes/types.js.map +1 -1
  296. package/dist/field/features/link/plugins/autoLink/index.d.ts +3 -2
  297. package/dist/field/features/link/plugins/autoLink/index.d.ts.map +1 -1
  298. package/dist/field/features/link/plugins/autoLink/index.js +11 -12
  299. package/dist/field/features/link/plugins/autoLink/index.js.map +1 -1
  300. package/dist/field/features/link/plugins/clickableLink/index.d.ts +3 -2
  301. package/dist/field/features/link/plugins/clickableLink/index.d.ts.map +1 -1
  302. package/dist/field/features/link/plugins/clickableLink/index.js +5 -6
  303. package/dist/field/features/link/plugins/clickableLink/index.js.map +1 -1
  304. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +1 -1
  305. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js +1 -2
  306. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
  307. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  308. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +179 -143
  309. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  310. package/dist/field/features/link/plugins/floatingLinkEditor/index.d.ts +3 -4
  311. package/dist/field/features/link/plugins/floatingLinkEditor/index.d.ts.map +1 -1
  312. package/dist/field/features/link/plugins/floatingLinkEditor/index.js +2 -2
  313. package/dist/field/features/link/plugins/floatingLinkEditor/index.js.map +1 -1
  314. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.d.ts +3 -6
  315. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -1
  316. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js +12 -30
  317. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js.map +1 -1
  318. package/dist/field/features/link/plugins/link/index.d.ts +3 -1
  319. package/dist/field/features/link/plugins/link/index.d.ts.map +1 -1
  320. package/dist/field/features/link/plugins/link/index.js +7 -16
  321. package/dist/field/features/link/plugins/link/index.js.map +1 -1
  322. package/dist/field/features/link/validate.d.ts +6 -0
  323. package/dist/field/features/link/validate.d.ts.map +1 -0
  324. package/dist/field/features/link/validate.js +28 -0
  325. package/dist/field/features/link/validate.js.map +1 -0
  326. package/dist/field/features/lists/checklist/feature.client.d.ts +4 -1
  327. package/dist/field/features/lists/checklist/feature.client.d.ts.map +1 -1
  328. package/dist/field/features/lists/checklist/feature.client.js +69 -44
  329. package/dist/field/features/lists/checklist/feature.client.js.map +1 -1
  330. package/dist/field/features/lists/checklist/feature.server.d.ts +1 -1
  331. package/dist/field/features/lists/checklist/feature.server.d.ts.map +1 -1
  332. package/dist/field/features/lists/checklist/feature.server.js +13 -10
  333. package/dist/field/features/lists/checklist/feature.server.js.map +1 -1
  334. package/dist/field/features/lists/checklist/i18n.d.ts +3 -0
  335. package/dist/field/features/lists/checklist/i18n.d.ts.map +1 -0
  336. package/dist/field/features/lists/checklist/i18n.js +100 -0
  337. package/dist/field/features/lists/checklist/i18n.js.map +1 -0
  338. package/dist/field/features/lists/checklist/markdownTransformers.d.ts.map +1 -1
  339. package/dist/field/features/lists/checklist/markdownTransformers.js +2 -3
  340. package/dist/field/features/lists/checklist/markdownTransformers.js.map +1 -1
  341. package/dist/field/features/lists/checklist/plugin/index.d.ts +2 -2
  342. package/dist/field/features/lists/checklist/plugin/index.d.ts.map +1 -1
  343. package/dist/field/features/lists/checklist/plugin/index.js +5 -5
  344. package/dist/field/features/lists/checklist/plugin/index.js.map +1 -1
  345. package/dist/field/features/lists/htmlConverter.d.ts.map +1 -1
  346. package/dist/field/features/lists/htmlConverter.js +13 -6
  347. package/dist/field/features/lists/htmlConverter.js.map +1 -1
  348. package/dist/field/features/lists/{orderedlist → orderedList}/feature.client.d.ts +4 -1
  349. package/dist/field/features/lists/orderedList/feature.client.d.ts.map +1 -0
  350. package/dist/field/features/lists/orderedList/feature.client.js +97 -0
  351. package/dist/field/features/lists/orderedList/feature.client.js.map +1 -0
  352. package/dist/field/features/lists/orderedList/feature.server.d.ts.map +1 -0
  353. package/dist/field/features/lists/{orderedlist → orderedList}/feature.server.js +12 -9
  354. package/dist/field/features/lists/orderedList/feature.server.js.map +1 -0
  355. package/dist/field/features/lists/orderedList/i18n.d.ts +3 -0
  356. package/dist/field/features/lists/orderedList/i18n.d.ts.map +1 -0
  357. package/dist/field/features/lists/orderedList/i18n.js +100 -0
  358. package/dist/field/features/lists/orderedList/i18n.js.map +1 -0
  359. package/dist/field/features/lists/orderedList/markdownTransformer.d.ts.map +1 -0
  360. package/dist/field/features/lists/{orderedlist → orderedList}/markdownTransformer.js +2 -3
  361. package/dist/field/features/lists/orderedList/markdownTransformer.js.map +1 -0
  362. package/dist/field/features/lists/plugin/index.d.ts +2 -2
  363. package/dist/field/features/lists/plugin/index.d.ts.map +1 -1
  364. package/dist/field/features/lists/plugin/index.js +5 -5
  365. package/dist/field/features/lists/plugin/index.js.map +1 -1
  366. package/dist/field/features/lists/{common → shared}/markdown.d.ts.map +1 -1
  367. package/dist/field/features/lists/{common → shared}/markdown.js +1 -2
  368. package/dist/field/features/lists/shared/markdown.js.map +1 -0
  369. package/dist/field/features/lists/shared/slashMenuListGroup.d.ts +3 -0
  370. package/dist/field/features/lists/shared/slashMenuListGroup.d.ts.map +1 -0
  371. package/dist/field/features/lists/shared/slashMenuListGroup.js +11 -0
  372. package/dist/field/features/lists/shared/slashMenuListGroup.js.map +1 -0
  373. package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.client.d.ts +4 -1
  374. package/dist/field/features/lists/unorderedList/feature.client.d.ts.map +1 -0
  375. package/dist/field/features/lists/unorderedList/feature.client.js +97 -0
  376. package/dist/field/features/lists/unorderedList/feature.client.js.map +1 -0
  377. package/dist/field/features/lists/unorderedList/feature.server.d.ts.map +1 -0
  378. package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.server.js +11 -8
  379. package/dist/field/features/lists/unorderedList/feature.server.js.map +1 -0
  380. package/dist/field/features/lists/unorderedList/i18n.d.ts +3 -0
  381. package/dist/field/features/lists/unorderedList/i18n.d.ts.map +1 -0
  382. package/dist/field/features/lists/unorderedList/i18n.js +100 -0
  383. package/dist/field/features/lists/unorderedList/i18n.js.map +1 -0
  384. package/dist/field/features/lists/unorderedList/markdownTransformer.d.ts.map +1 -0
  385. package/dist/field/features/lists/{unorderedlist → unorderedList}/markdownTransformer.js +2 -3
  386. package/dist/field/features/lists/unorderedList/markdownTransformer.js.map +1 -0
  387. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts.map +1 -1
  388. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +2 -4
  389. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  390. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.d.ts +4 -1
  391. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.d.ts.map +1 -1
  392. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.d.ts.map +1 -1
  393. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.js +2 -1
  394. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
  395. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +9 -2
  396. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  397. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts +3 -6
  398. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  399. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +4 -5
  400. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  401. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.d.ts +1 -1
  402. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js +1 -1
  403. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js.map +1 -1
  404. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js +2 -2
  405. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js.map +1 -1
  406. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts.map +1 -1
  407. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js +2 -4
  408. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  409. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts.map +1 -1
  410. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js +2 -4
  411. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  412. package/dist/field/features/migrations/slateToLexical/converter/index.d.ts.map +1 -1
  413. package/dist/field/features/migrations/slateToLexical/converter/index.js +2 -1
  414. package/dist/field/features/migrations/slateToLexical/converter/index.js.map +1 -1
  415. package/dist/field/features/migrations/slateToLexical/feature.client.d.ts +4 -1
  416. package/dist/field/features/migrations/slateToLexical/feature.client.d.ts.map +1 -1
  417. package/dist/field/features/migrations/slateToLexical/feature.server.d.ts.map +1 -1
  418. package/dist/field/features/migrations/slateToLexical/feature.server.js +2 -1
  419. package/dist/field/features/migrations/slateToLexical/feature.server.js.map +1 -1
  420. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +9 -2
  421. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  422. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts +3 -6
  423. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  424. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +4 -5
  425. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  426. package/dist/field/features/paragraph/feature.client.d.ts +4 -1
  427. package/dist/field/features/paragraph/feature.client.d.ts.map +1 -1
  428. package/dist/field/features/paragraph/feature.client.js +54 -41
  429. package/dist/field/features/paragraph/feature.client.js.map +1 -1
  430. package/dist/field/features/paragraph/feature.server.d.ts.map +1 -1
  431. package/dist/field/features/paragraph/feature.server.js +4 -1
  432. package/dist/field/features/paragraph/feature.server.js.map +1 -1
  433. package/dist/field/features/paragraph/i18n.d.ts +3 -0
  434. package/dist/field/features/paragraph/i18n.d.ts.map +1 -0
  435. package/dist/field/features/paragraph/i18n.js +132 -0
  436. package/dist/field/features/paragraph/i18n.js.map +1 -0
  437. package/dist/field/features/relationship/drawer/commands.d.ts.map +1 -1
  438. package/dist/field/features/relationship/drawer/commands.js +1 -2
  439. package/dist/field/features/relationship/drawer/commands.js.map +1 -1
  440. package/dist/field/features/relationship/drawer/index.d.ts.map +1 -1
  441. package/dist/field/features/relationship/drawer/index.js +18 -16
  442. package/dist/field/features/relationship/drawer/index.js.map +1 -1
  443. package/dist/field/features/relationship/feature.client.d.ts +17 -2
  444. package/dist/field/features/relationship/feature.client.d.ts.map +1 -1
  445. package/dist/field/features/relationship/feature.client.js +51 -28
  446. package/dist/field/features/relationship/feature.client.js.map +1 -1
  447. package/dist/field/features/relationship/feature.server.d.ts +10 -1
  448. package/dist/field/features/relationship/feature.server.d.ts.map +1 -1
  449. package/dist/field/features/relationship/feature.server.js +43 -8
  450. package/dist/field/features/relationship/feature.server.js.map +1 -1
  451. package/dist/field/features/relationship/graphQLPopulationPromise.d.ts +5 -0
  452. package/dist/field/features/relationship/graphQLPopulationPromise.d.ts.map +1 -0
  453. package/dist/field/features/relationship/graphQLPopulationPromise.js +29 -0
  454. package/dist/field/features/relationship/graphQLPopulationPromise.js.map +1 -0
  455. package/dist/field/features/relationship/i18n.d.ts +3 -0
  456. package/dist/field/features/relationship/i18n.d.ts.map +1 -0
  457. package/dist/field/features/relationship/i18n.js +100 -0
  458. package/dist/field/features/relationship/i18n.js.map +1 -0
  459. package/dist/field/features/relationship/nodes/RelationshipNode.d.ts +4 -9
  460. package/dist/field/features/relationship/nodes/RelationshipNode.d.ts.map +1 -1
  461. package/dist/field/features/relationship/nodes/RelationshipNode.js +12 -11
  462. package/dist/field/features/relationship/nodes/RelationshipNode.js.map +1 -1
  463. package/dist/field/features/relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
  464. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js +119 -56
  465. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js.map +1 -1
  466. package/dist/field/features/relationship/plugins/index.d.ts +2 -2
  467. package/dist/field/features/relationship/plugins/index.d.ts.map +1 -1
  468. package/dist/field/features/relationship/plugins/index.js +16 -18
  469. package/dist/field/features/relationship/plugins/index.js.map +1 -1
  470. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.d.ts.map +1 -1
  471. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.js +1 -3
  472. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.js.map +1 -1
  473. package/dist/field/features/shared/slashMenu/basicGroup.d.ts +3 -0
  474. package/dist/field/features/shared/slashMenu/basicGroup.d.ts.map +1 -0
  475. package/dist/field/features/shared/slashMenu/basicGroup.js +11 -0
  476. package/dist/field/features/shared/slashMenu/basicGroup.js.map +1 -0
  477. package/dist/field/features/shared/toolbar/addDropdownGroup.d.ts +3 -0
  478. package/dist/field/features/shared/toolbar/addDropdownGroup.d.ts.map +1 -0
  479. package/dist/field/features/shared/toolbar/addDropdownGroup.js +12 -0
  480. package/dist/field/features/shared/toolbar/addDropdownGroup.js.map +1 -0
  481. package/dist/field/features/shared/toolbar/featureButtonsGroup.d.ts +3 -0
  482. package/dist/field/features/shared/toolbar/featureButtonsGroup.d.ts.map +1 -0
  483. package/dist/field/features/shared/toolbar/featureButtonsGroup.js +10 -0
  484. package/dist/field/features/shared/toolbar/featureButtonsGroup.js.map +1 -0
  485. package/dist/field/features/shared/toolbar/textDropdownGroup.d.ts +3 -0
  486. package/dist/field/features/shared/toolbar/textDropdownGroup.d.ts.map +1 -0
  487. package/dist/field/features/shared/toolbar/textDropdownGroup.js +12 -0
  488. package/dist/field/features/shared/toolbar/textDropdownGroup.js.map +1 -0
  489. package/dist/field/features/toolbars/fixed/Toolbar/index.d.ts +5 -0
  490. package/dist/field/features/toolbars/fixed/Toolbar/index.d.ts.map +1 -0
  491. package/dist/field/features/toolbars/fixed/Toolbar/index.js +207 -0
  492. package/dist/field/features/toolbars/fixed/Toolbar/index.js.map +1 -0
  493. package/dist/field/features/toolbars/fixed/feature.client.d.ts +7 -0
  494. package/dist/field/features/toolbars/fixed/feature.client.d.ts.map +1 -0
  495. package/dist/field/features/toolbars/fixed/feature.client.js +20 -0
  496. package/dist/field/features/toolbars/fixed/feature.client.js.map +1 -0
  497. package/dist/field/features/toolbars/fixed/feature.server.d.ts +19 -0
  498. package/dist/field/features/toolbars/fixed/feature.server.d.ts.map +1 -0
  499. package/dist/field/features/toolbars/fixed/feature.server.js +21 -0
  500. package/dist/field/features/toolbars/fixed/feature.server.js.map +1 -0
  501. package/dist/field/features/toolbars/inline/Toolbar/index.d.ts +4 -0
  502. package/dist/field/features/toolbars/inline/Toolbar/index.d.ts.map +1 -0
  503. package/dist/field/features/toolbars/inline/Toolbar/index.js +319 -0
  504. package/dist/field/features/toolbars/inline/Toolbar/index.js.map +1 -0
  505. package/dist/field/features/toolbars/inline/feature.client.d.ts +6 -0
  506. package/dist/field/features/toolbars/inline/feature.client.d.ts.map +1 -0
  507. package/dist/field/features/toolbars/inline/feature.client.js +20 -0
  508. package/dist/field/features/toolbars/inline/feature.client.js.map +1 -0
  509. package/dist/field/features/toolbars/inline/feature.server.d.ts +3 -0
  510. package/dist/field/features/toolbars/inline/feature.server.d.ts.map +1 -0
  511. package/dist/field/features/toolbars/inline/feature.server.js +16 -0
  512. package/dist/field/features/toolbars/inline/feature.server.js.map +1 -0
  513. package/dist/field/features/toolbars/shared/ToolbarButton/index.d.ts +10 -0
  514. package/dist/field/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -0
  515. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarButton/index.js +34 -23
  516. package/dist/field/features/toolbars/shared/ToolbarButton/index.js.map +1 -0
  517. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts +22 -0
  518. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -0
  519. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarDropdown/DropDown.js +75 -102
  520. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -0
  521. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.d.ts +23 -0
  522. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -0
  523. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.js +141 -0
  524. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -0
  525. package/dist/field/features/toolbars/types.d.ts +48 -0
  526. package/dist/field/features/toolbars/types.d.ts.map +1 -0
  527. package/dist/field/features/toolbars/types.js.map +1 -0
  528. package/dist/field/features/typeUtilities.d.ts +8 -0
  529. package/dist/field/features/typeUtilities.d.ts.map +1 -0
  530. package/dist/field/features/typeUtilities.js +8 -0
  531. package/dist/field/features/typeUtilities.js.map +1 -0
  532. package/dist/field/features/types.d.ts +259 -69
  533. package/dist/field/features/types.d.ts.map +1 -1
  534. package/dist/field/features/types.js.map +1 -1
  535. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.d.ts +1 -1
  536. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.d.ts.map +1 -1
  537. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js +35 -37
  538. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js.map +1 -1
  539. package/dist/field/features/upload/component/index.d.ts.map +1 -1
  540. package/dist/field/features/upload/component/index.js +160 -85
  541. package/dist/field/features/upload/component/index.js.map +1 -1
  542. package/dist/field/features/upload/drawer/commands.d.ts.map +1 -1
  543. package/dist/field/features/upload/drawer/commands.js +1 -2
  544. package/dist/field/features/upload/drawer/commands.js.map +1 -1
  545. package/dist/field/features/upload/drawer/index.d.ts.map +1 -1
  546. package/dist/field/features/upload/drawer/index.js +17 -18
  547. package/dist/field/features/upload/drawer/index.js.map +1 -1
  548. package/dist/field/features/upload/feature.client.d.ts +4 -1
  549. package/dist/field/features/upload/feature.client.d.ts.map +1 -1
  550. package/dist/field/features/upload/feature.client.js +52 -26
  551. package/dist/field/features/upload/feature.client.js.map +1 -1
  552. package/dist/field/features/upload/feature.server.d.ts +10 -3
  553. package/dist/field/features/upload/feature.server.d.ts.map +1 -1
  554. package/dist/field/features/upload/feature.server.js +93 -15
  555. package/dist/field/features/upload/feature.server.js.map +1 -1
  556. package/dist/field/features/upload/{populationPromise.d.ts → graphQLPopulationPromise.d.ts} +1 -1
  557. package/dist/field/features/upload/graphQLPopulationPromise.d.ts.map +1 -0
  558. package/dist/field/features/upload/graphQLPopulationPromise.js +52 -0
  559. package/dist/field/features/upload/graphQLPopulationPromise.js.map +1 -0
  560. package/dist/field/features/upload/i18n.d.ts +3 -0
  561. package/dist/field/features/upload/i18n.d.ts.map +1 -0
  562. package/dist/field/features/upload/i18n.js +100 -0
  563. package/dist/field/features/upload/i18n.js.map +1 -0
  564. package/dist/field/features/upload/nodes/UploadNode.d.ts +7 -19
  565. package/dist/field/features/upload/nodes/UploadNode.d.ts.map +1 -1
  566. package/dist/field/features/upload/nodes/UploadNode.js +45 -15
  567. package/dist/field/features/upload/nodes/UploadNode.js.map +1 -1
  568. package/dist/field/features/upload/plugin/index.d.ts +5 -4
  569. package/dist/field/features/upload/plugin/index.d.ts.map +1 -1
  570. package/dist/field/features/upload/plugin/index.js +18 -20
  571. package/dist/field/features/upload/plugin/index.js.map +1 -1
  572. package/dist/field/features/upload/validate.d.ts +2 -1
  573. package/dist/field/features/upload/validate.d.ts.map +1 -1
  574. package/dist/field/features/upload/validate.js +37 -10
  575. package/dist/field/features/upload/validate.js.map +1 -1
  576. package/dist/field/index.d.ts +3 -1
  577. package/dist/field/index.d.ts.map +1 -1
  578. package/dist/field/index.js +35 -86
  579. package/dist/field/index.js.map +1 -1
  580. package/dist/field/lexical/EditorPlugin.d.ts +1 -0
  581. package/dist/field/lexical/EditorPlugin.d.ts.map +1 -1
  582. package/dist/field/lexical/EditorPlugin.js +8 -4
  583. package/dist/field/lexical/EditorPlugin.js.map +1 -1
  584. package/dist/field/lexical/LexicalEditor.d.ts +3 -1
  585. package/dist/field/lexical/LexicalEditor.d.ts.map +1 -1
  586. package/dist/field/lexical/LexicalEditor.js +157 -77
  587. package/dist/field/lexical/LexicalEditor.js.map +1 -1
  588. package/dist/field/lexical/LexicalProvider.d.ts +1 -2
  589. package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
  590. package/dist/field/lexical/LexicalProvider.js +52 -41
  591. package/dist/field/lexical/LexicalProvider.js.map +1 -1
  592. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts +15 -4
  593. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  594. package/dist/field/lexical/config/client/EditorConfigProvider.js +61 -11
  595. package/dist/field/lexical/config/client/EditorConfigProvider.js.map +1 -1
  596. package/dist/field/lexical/config/client/default.d.ts +1 -1
  597. package/dist/field/lexical/config/client/default.d.ts.map +1 -1
  598. package/dist/field/lexical/config/client/default.js.map +1 -1
  599. package/dist/field/lexical/config/client/sanitize.d.ts +3 -2
  600. package/dist/field/lexical/config/client/sanitize.d.ts.map +1 -1
  601. package/dist/field/lexical/config/client/sanitize.js +83 -33
  602. package/dist/field/lexical/config/client/sanitize.js.map +1 -1
  603. package/dist/field/lexical/config/server/default.d.ts +2 -3
  604. package/dist/field/lexical/config/server/default.d.ts.map +1 -1
  605. package/dist/field/lexical/config/server/default.js +12 -10
  606. package/dist/field/lexical/config/server/default.js.map +1 -1
  607. package/dist/field/lexical/config/server/loader.d.ts +5 -2
  608. package/dist/field/lexical/config/server/loader.d.ts.map +1 -1
  609. package/dist/field/lexical/config/server/loader.js +4 -2
  610. package/dist/field/lexical/config/server/loader.js.map +1 -1
  611. package/dist/field/lexical/config/server/sanitize.d.ts +2 -1
  612. package/dist/field/lexical/config/server/sanitize.d.ts.map +1 -1
  613. package/dist/field/lexical/config/server/sanitize.js +39 -9
  614. package/dist/field/lexical/config/server/sanitize.js.map +1 -1
  615. package/dist/field/lexical/config/types.d.ts +3 -1
  616. package/dist/field/lexical/config/types.d.ts.map +1 -1
  617. package/dist/field/lexical/config/types.js.map +1 -1
  618. package/dist/field/lexical/nodes/index.d.ts +1 -2
  619. package/dist/field/lexical/nodes/index.d.ts.map +1 -1
  620. package/dist/field/lexical/nodes/index.js.map +1 -1
  621. package/dist/field/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  622. package/dist/field/lexical/plugins/MarkdownShortcut/index.js +3 -3
  623. package/dist/field/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  624. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +10 -10
  625. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  626. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +74 -77
  627. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  628. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +5 -5
  629. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  630. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +8 -10
  631. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  632. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +19 -27
  633. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  634. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +1 -37
  635. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  636. package/dist/field/lexical/plugins/SlashMenu/index.d.ts +2 -2
  637. package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  638. package/dist/field/lexical/plugins/SlashMenu/index.js +108 -93
  639. package/dist/field/lexical/plugins/SlashMenu/index.js.map +1 -1
  640. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts +2 -2
  641. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
  642. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +47 -126
  643. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  644. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.d.ts +1 -1
  645. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.d.ts.map +1 -1
  646. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
  647. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts +2 -2
  648. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  649. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +116 -67
  650. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  651. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.d.ts +8 -1
  652. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.d.ts.map +1 -1
  653. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +83 -16
  654. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  655. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts +5 -0
  656. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts.map +1 -0
  657. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js +21 -0
  658. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -0
  659. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.d.ts +9 -0
  660. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.d.ts.map +1 -0
  661. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +35 -0
  662. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -0
  663. package/dist/field/lexical/plugins/handles/{DraggableBlockPlugin → utils}/getNodeCloseToPoint.d.ts +5 -1
  664. package/dist/field/lexical/plugins/handles/utils/getNodeCloseToPoint.d.ts.map +1 -0
  665. package/dist/field/lexical/plugins/handles/{DraggableBlockPlugin → utils}/getNodeCloseToPoint.js +5 -18
  666. package/dist/field/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -0
  667. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.d.ts.map +1 -1
  668. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +1 -2
  669. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
  670. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.d.ts +1 -1
  671. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
  672. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js +19 -7
  673. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  674. package/dist/field/lexical/theme/EditorTheme.d.ts.map +1 -1
  675. package/dist/field/lexical/theme/EditorTheme.js +1 -1
  676. package/dist/field/lexical/theme/EditorTheme.js.map +1 -1
  677. package/dist/field/lexical/ui/ContentEditable.d.ts +1 -1
  678. package/dist/field/lexical/ui/ContentEditable.d.ts.map +1 -1
  679. package/dist/field/lexical/ui/ContentEditable.js +3 -4
  680. package/dist/field/lexical/ui/ContentEditable.js.map +1 -1
  681. package/dist/field/lexical/ui/icons/AI/index.js +26 -17
  682. package/dist/field/lexical/ui/icons/AI/index.js.map +1 -1
  683. package/dist/field/lexical/ui/icons/Add/index.d.ts +3 -0
  684. package/dist/field/lexical/ui/icons/Add/index.d.ts.map +1 -0
  685. package/dist/field/lexical/ui/icons/Add/index.js +21 -0
  686. package/dist/field/lexical/ui/icons/Add/index.js.map +1 -0
  687. package/dist/field/lexical/ui/icons/Add/light.svg +4 -0
  688. package/dist/field/lexical/ui/icons/AlignCenter/index.js +21 -15
  689. package/dist/field/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  690. package/dist/field/lexical/ui/icons/AlignJustify/index.js +21 -15
  691. package/dist/field/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  692. package/dist/field/lexical/ui/icons/AlignLeft/index.js +21 -15
  693. package/dist/field/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  694. package/dist/field/lexical/ui/icons/AlignRight/index.js +21 -15
  695. package/dist/field/lexical/ui/icons/AlignRight/index.js.map +1 -1
  696. package/dist/field/lexical/ui/icons/Block/index.js +30 -24
  697. package/dist/field/lexical/ui/icons/Block/index.js.map +1 -1
  698. package/dist/field/lexical/ui/icons/Blockquote/index.js +8 -6
  699. package/dist/field/lexical/ui/icons/Blockquote/index.js.map +1 -1
  700. package/dist/field/lexical/ui/icons/Bold/index.js +8 -6
  701. package/dist/field/lexical/ui/icons/Bold/index.js.map +1 -1
  702. package/dist/field/lexical/ui/icons/Checklist/index.js +19 -14
  703. package/dist/field/lexical/ui/icons/Checklist/index.js.map +1 -1
  704. package/dist/field/lexical/ui/icons/Code/index.js +14 -9
  705. package/dist/field/lexical/ui/icons/Code/index.js.map +1 -1
  706. package/dist/field/lexical/ui/icons/CodeBlock/index.js +14 -9
  707. package/dist/field/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  708. package/dist/field/lexical/ui/icons/DraggableBlock/light.svg +9 -0
  709. package/dist/field/lexical/ui/icons/H1/index.js +8 -6
  710. package/dist/field/lexical/ui/icons/H1/index.js.map +1 -1
  711. package/dist/field/lexical/ui/icons/H2/index.js +8 -6
  712. package/dist/field/lexical/ui/icons/H2/index.js.map +1 -1
  713. package/dist/field/lexical/ui/icons/H3/index.js +8 -6
  714. package/dist/field/lexical/ui/icons/H3/index.js.map +1 -1
  715. package/dist/field/lexical/ui/icons/H4/index.js +8 -6
  716. package/dist/field/lexical/ui/icons/H4/index.js.map +1 -1
  717. package/dist/field/lexical/ui/icons/H5/index.js +8 -6
  718. package/dist/field/lexical/ui/icons/H5/index.js.map +1 -1
  719. package/dist/field/lexical/ui/icons/H6/index.js +8 -6
  720. package/dist/field/lexical/ui/icons/H6/index.js.map +1 -1
  721. package/dist/field/lexical/ui/icons/HorizontalRule/index.d.ts +3 -0
  722. package/dist/field/lexical/ui/icons/HorizontalRule/index.d.ts.map +1 -0
  723. package/dist/field/lexical/ui/icons/HorizontalRule/index.js +21 -0
  724. package/dist/field/lexical/ui/icons/HorizontalRule/index.js.map +1 -0
  725. package/dist/field/lexical/ui/icons/IndentDecrease/index.js +25 -18
  726. package/dist/field/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  727. package/dist/field/lexical/ui/icons/IndentIncrease/index.js +25 -18
  728. package/dist/field/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  729. package/dist/field/lexical/ui/icons/Italic/index.js +8 -6
  730. package/dist/field/lexical/ui/icons/Italic/index.js.map +1 -1
  731. package/dist/field/lexical/ui/icons/Link/index.d.ts.map +1 -1
  732. package/dist/field/lexical/ui/icons/Link/index.js +10 -18
  733. package/dist/field/lexical/ui/icons/Link/index.js.map +1 -1
  734. package/dist/field/lexical/ui/icons/OrderedList/index.js +29 -21
  735. package/dist/field/lexical/ui/icons/OrderedList/index.js.map +1 -1
  736. package/dist/field/lexical/ui/icons/Relationship/index.js +26 -17
  737. package/dist/field/lexical/ui/icons/Relationship/index.js.map +1 -1
  738. package/dist/field/lexical/ui/icons/Strikethrough/index.js +14 -9
  739. package/dist/field/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  740. package/dist/field/lexical/ui/icons/Subscript/index.js +8 -6
  741. package/dist/field/lexical/ui/icons/Subscript/index.js.map +1 -1
  742. package/dist/field/lexical/ui/icons/Superscript/index.js +8 -6
  743. package/dist/field/lexical/ui/icons/Superscript/index.js.map +1 -1
  744. package/dist/field/lexical/ui/icons/Text/index.js +8 -6
  745. package/dist/field/lexical/ui/icons/Text/index.js.map +1 -1
  746. package/dist/field/lexical/ui/icons/Underline/index.js +14 -9
  747. package/dist/field/lexical/ui/icons/Underline/index.js.map +1 -1
  748. package/dist/field/lexical/ui/icons/UnorderedList/index.js +45 -36
  749. package/dist/field/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  750. package/dist/field/lexical/ui/icons/Upload/index.js +24 -18
  751. package/dist/field/lexical/ui/icons/Upload/index.js.map +1 -1
  752. package/dist/field/lexical/utils/getSelectedNode.d.ts.map +1 -1
  753. package/dist/field/lexical/utils/getSelectedNode.js +1 -2
  754. package/dist/field/lexical/utils/getSelectedNode.js.map +1 -1
  755. package/dist/field/lexical/utils/nodeFormat.d.ts +2 -2
  756. package/dist/field/lexical/utils/nodeFormat.d.ts.map +1 -1
  757. package/dist/field/lexical/utils/nodeFormat.js +1 -1
  758. package/dist/field/lexical/utils/nodeFormat.js.map +1 -1
  759. package/dist/field/lexical/utils/setFloatingElemPosition.d.ts +11 -1
  760. package/dist/field/lexical/utils/setFloatingElemPosition.d.ts.map +1 -1
  761. package/dist/field/lexical/utils/setFloatingElemPosition.js +16 -13
  762. package/dist/field/lexical/utils/setFloatingElemPosition.js.map +1 -1
  763. package/dist/field/lexical/utils/url.d.ts.map +1 -1
  764. package/dist/field/lexical/utils/url.js +13 -2
  765. package/dist/field/lexical/utils/url.js.map +1 -1
  766. package/dist/forEachNodeRecursively.d.ts +10 -0
  767. package/dist/forEachNodeRecursively.d.ts.map +1 -0
  768. package/dist/forEachNodeRecursively.js +24 -0
  769. package/dist/forEachNodeRecursively.js.map +1 -0
  770. package/dist/generateComponentMap.d.ts +1 -1
  771. package/dist/generateComponentMap.d.ts.map +1 -1
  772. package/dist/generateComponentMap.js +21 -29
  773. package/dist/generateComponentMap.js.map +1 -1
  774. package/dist/generateSchemaMap.d.ts +1 -1
  775. package/dist/generateSchemaMap.d.ts.map +1 -1
  776. package/dist/generateSchemaMap.js +4 -12
  777. package/dist/generateSchemaMap.js.map +1 -1
  778. package/dist/i18n.d.ts +3 -0
  779. package/dist/i18n.d.ts.map +1 -0
  780. package/dist/i18n.js +164 -0
  781. package/dist/i18n.js.map +1 -0
  782. package/dist/index.d.ts +21 -36
  783. package/dist/index.d.ts.map +1 -1
  784. package/dist/index.js +592 -201
  785. package/dist/index.js.map +1 -1
  786. package/dist/{populate → populateGraphQL}/defaultValue.d.ts +0 -1
  787. package/dist/populateGraphQL/defaultValue.d.ts.map +1 -0
  788. package/dist/{populate → populateGraphQL}/defaultValue.js +1 -19
  789. package/dist/populateGraphQL/defaultValue.js.map +1 -0
  790. package/dist/populateGraphQL/populate.d.ts +17 -0
  791. package/dist/populateGraphQL/populate.d.ts.map +1 -0
  792. package/dist/populateGraphQL/populate.js +28 -0
  793. package/dist/populateGraphQL/populate.js.map +1 -0
  794. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts +12 -0
  795. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -0
  796. package/dist/populateGraphQL/populateLexicalPopulationPromises.js +37 -0
  797. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -0
  798. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts +28 -0
  799. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts.map +1 -0
  800. package/dist/{populate/recurseNestedFields.js → populateGraphQL/recursivelyPopulateFieldsForGraphQL.js} +7 -5
  801. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -0
  802. package/dist/recurseNodeTree.d.ts +9 -0
  803. package/dist/recurseNodeTree.d.ts.map +1 -0
  804. package/dist/recurseNodeTree.js +27 -0
  805. package/dist/recurseNodeTree.js.map +1 -0
  806. package/dist/types.d.ts +45 -8
  807. package/dist/types.d.ts.map +1 -1
  808. package/dist/types.js.map +1 -1
  809. package/dist/useLexicalFeature.d.ts.map +1 -1
  810. package/dist/useLexicalFeature.js +6 -3
  811. package/dist/useLexicalFeature.js.map +1 -1
  812. package/dist/validate/index.d.ts +2 -2
  813. package/dist/validate/index.d.ts.map +1 -1
  814. package/dist/validate/index.js +3 -2
  815. package/dist/validate/index.js.map +1 -1
  816. package/dist/validate/validateNodes.d.ts +1 -1
  817. package/dist/validate/validateNodes.d.ts.map +1 -1
  818. package/dist/validate/validateNodes.js +1 -1
  819. package/dist/validate/validateNodes.js.map +1 -1
  820. package/package.json +71 -53
  821. package/components.d.ts +0 -6
  822. package/components.js +0 -7
  823. package/dist/exports/components.d.ts +0 -6
  824. package/dist/exports/components.d.ts.map +0 -1
  825. package/dist/exports/components.js +0 -7
  826. package/dist/exports/components.js.map +0 -1
  827. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts +0 -3
  828. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts.map +0 -1
  829. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +0 -12
  830. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js.map +0 -1
  831. package/dist/field/features/blocks/component/index.scss +0 -153
  832. package/dist/field/features/blocks/populationPromise.d.ts.map +0 -1
  833. package/dist/field/features/blocks/populationPromise.js +0 -46
  834. package/dist/field/features/blocks/populationPromise.js.map +0 -1
  835. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts +0 -3
  836. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts.map +0 -1
  837. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +0 -10
  838. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js.map +0 -1
  839. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts +0 -3
  840. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts.map +0 -1
  841. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +0 -12
  842. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js.map +0 -1
  843. package/dist/field/features/debug/testrecorder/feature.client.d.ts.map +0 -1
  844. package/dist/field/features/debug/testrecorder/feature.server.d.ts.map +0 -1
  845. package/dist/field/features/debug/testrecorder/feature.server.js.map +0 -1
  846. package/dist/field/features/debug/testrecorder/plugin/index.d.ts +0 -5
  847. package/dist/field/features/debug/testrecorder/plugin/index.d.ts.map +0 -1
  848. package/dist/field/features/debug/testrecorder/plugin/index.js.map +0 -1
  849. package/dist/field/features/debug/testrecorder/plugin/index.scss +0 -49
  850. package/dist/field/features/debug/treeview/feature.client.d.ts.map +0 -1
  851. package/dist/field/features/debug/treeview/feature.server.d.ts.map +0 -1
  852. package/dist/field/features/debug/treeview/feature.server.js.map +0 -1
  853. package/dist/field/features/debug/treeview/plugin/index.d.ts +0 -4
  854. package/dist/field/features/debug/treeview/plugin/index.d.ts.map +0 -1
  855. package/dist/field/features/debug/treeview/plugin/index.js.map +0 -1
  856. package/dist/field/features/debug/treeview/plugin/index.scss +0 -78
  857. package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts +0 -3
  858. package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts.map +0 -1
  859. package/dist/field/features/format/common/floatingSelectToolbarSection.js +0 -10
  860. package/dist/field/features/format/common/floatingSelectToolbarSection.js.map +0 -1
  861. package/dist/field/features/format/inlinecode/feature.client.d.ts.map +0 -1
  862. package/dist/field/features/format/inlinecode/feature.client.js +0 -43
  863. package/dist/field/features/format/inlinecode/feature.client.js.map +0 -1
  864. package/dist/field/features/format/inlinecode/feature.server.d.ts.map +0 -1
  865. package/dist/field/features/format/inlinecode/feature.server.js.map +0 -1
  866. package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts +0 -3
  867. package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts.map +0 -1
  868. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +0 -10
  869. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js.map +0 -1
  870. package/dist/field/features/indent/index.scss +0 -4
  871. package/dist/field/features/link/drawer/index.scss +0 -50
  872. package/dist/field/features/link/plugins/floatingLinkEditor/index.scss +0 -78
  873. package/dist/field/features/link/populationPromise.d.ts.map +0 -1
  874. package/dist/field/features/link/populationPromise.js +0 -46
  875. package/dist/field/features/link/populationPromise.js.map +0 -1
  876. package/dist/field/features/lists/common/markdown.js.map +0 -1
  877. package/dist/field/features/lists/orderedlist/feature.client.d.ts.map +0 -1
  878. package/dist/field/features/lists/orderedlist/feature.client.js +0 -72
  879. package/dist/field/features/lists/orderedlist/feature.client.js.map +0 -1
  880. package/dist/field/features/lists/orderedlist/feature.server.d.ts.map +0 -1
  881. package/dist/field/features/lists/orderedlist/feature.server.js.map +0 -1
  882. package/dist/field/features/lists/orderedlist/markdownTransformer.d.ts.map +0 -1
  883. package/dist/field/features/lists/orderedlist/markdownTransformer.js.map +0 -1
  884. package/dist/field/features/lists/unorderedlist/feature.client.d.ts.map +0 -1
  885. package/dist/field/features/lists/unorderedlist/feature.client.js +0 -72
  886. package/dist/field/features/lists/unorderedlist/feature.client.js.map +0 -1
  887. package/dist/field/features/lists/unorderedlist/feature.server.d.ts.map +0 -1
  888. package/dist/field/features/lists/unorderedlist/feature.server.js.map +0 -1
  889. package/dist/field/features/lists/unorderedlist/markdownTransformer.d.ts.map +0 -1
  890. package/dist/field/features/lists/unorderedlist/markdownTransformer.js.map +0 -1
  891. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +0 -14
  892. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.scss +0 -14
  893. package/dist/field/features/relationship/nodes/components/index.scss +0 -97
  894. package/dist/field/features/relationship/populationPromise.d.ts +0 -4
  895. package/dist/field/features/relationship/populationPromise.d.ts.map +0 -1
  896. package/dist/field/features/relationship/populationPromise.js +0 -24
  897. package/dist/field/features/relationship/populationPromise.js.map +0 -1
  898. package/dist/field/features/upload/component/index.scss +0 -152
  899. package/dist/field/features/upload/populationPromise.d.ts.map +0 -1
  900. package/dist/field/features/upload/populationPromise.js +0 -46
  901. package/dist/field/features/upload/populationPromise.js.map +0 -1
  902. package/dist/field/index.scss +0 -46
  903. package/dist/field/lexical/LexicalEditor.scss +0 -56
  904. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts +0 -8
  905. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts.map +0 -1
  906. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js.map +0 -1
  907. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.scss +0 -37
  908. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts +0 -17
  909. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts.map +0 -1
  910. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js.map +0 -1
  911. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts +0 -18
  912. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +0 -1
  913. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +0 -42
  914. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js.map +0 -1
  915. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.scss +0 -100
  916. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts +0 -6
  917. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +0 -1
  918. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +0 -270
  919. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js.map +0 -1
  920. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.scss +0 -57
  921. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts +0 -40
  922. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts.map +0 -1
  923. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js.map +0 -1
  924. package/dist/field/lexical/plugins/SlashMenu/index.scss +0 -61
  925. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +0 -31
  926. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.d.ts.map +0 -1
  927. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js.map +0 -1
  928. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.scss +0 -55
  929. package/dist/field/lexical/theme/EditorTheme.scss +0 -505
  930. package/dist/field/lexical/ui/ContentEditable.scss +0 -25
  931. package/dist/populate/defaultValue.d.ts.map +0 -1
  932. package/dist/populate/defaultValue.js.map +0 -1
  933. package/dist/populate/populate.d.ts +0 -21
  934. package/dist/populate/populate.d.ts.map +0 -1
  935. package/dist/populate/populate.js +0 -21
  936. package/dist/populate/populate.js.map +0 -1
  937. package/dist/populate/recurseNestedFields.d.ts +0 -25
  938. package/dist/populate/recurseNestedFields.d.ts.map +0 -1
  939. package/dist/populate/recurseNestedFields.js.map +0 -1
  940. package/dist/populate/richTextRelationshipPromise.d.ts +0 -23
  941. package/dist/populate/richTextRelationshipPromise.d.ts.map +0 -1
  942. package/dist/populate/richTextRelationshipPromise.js +0 -68
  943. package/dist/populate/richTextRelationshipPromise.js.map +0 -1
  944. package/dist/scss/app.scss +0 -209
  945. package/dist/scss/colors.scss +0 -269
  946. package/dist/scss/fonts.scss +0 -75
  947. package/dist/scss/queries.scss +0 -27
  948. package/dist/scss/resets.scss +0 -17
  949. package/dist/scss/styles.scss +0 -11
  950. package/dist/scss/svg.scss +0 -10
  951. package/dist/scss/toastify.scss +0 -58
  952. package/dist/scss/type.scss +0 -117
  953. package/dist/scss/vars.scss +0 -220
  954. package/dist/scss/z-index.scss +0 -9
  955. package/src/index.ts +0 -423
  956. /package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.js +0 -0
  957. /package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.d.ts +0 -0
  958. /package/dist/field/features/debug/{treeview → treeView}/feature.client.js +0 -0
  959. /package/dist/field/features/debug/{treeview → treeView}/feature.server.d.ts +0 -0
  960. /package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.d.ts +0 -0
  961. /package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.d.ts +0 -0
  962. /package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.js +0 -0
  963. /package/dist/field/features/lists/{orderedlist → orderedList}/feature.server.d.ts +0 -0
  964. /package/dist/field/features/lists/{orderedlist → orderedList}/markdownTransformer.d.ts +0 -0
  965. /package/dist/field/features/lists/{common → shared}/markdown.d.ts +0 -0
  966. /package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.server.d.ts +0 -0
  967. /package/dist/field/features/lists/{unorderedlist → unorderedList}/markdownTransformer.d.ts +0 -0
  968. /package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars}/types.js +0 -0
@@ -1,8 +1,7 @@
1
- /// <reference types="react" resolution-mode="require"/>
2
1
  import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js';
3
2
  import type { DOMConversionMap, DOMExportOutput, EditorConfig, ElementFormatType, LexicalEditor, LexicalNode, NodeKey, Spread } from 'lexical';
4
- import lexicalDecoratorBlockNodeImport from '@lexical/react/LexicalDecoratorBlockNode.js';
5
- declare const DecoratorBlockNode: typeof lexicalDecoratorBlockNodeImport.DecoratorBlockNode;
3
+ import { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js';
4
+ import { type JSX } from 'react';
6
5
  export type BlockFields = {
7
6
  /** Block form data */
8
7
  [key: string]: any;
@@ -34,5 +33,4 @@ export declare class BlockNode extends DecoratorBlockNode {
34
33
  }
35
34
  export declare function $createBlockNode(fields: Exclude<BlockFields, 'id'>): BlockNode;
36
35
  export declare function $isBlockNode(node: BlockNode | LexicalNode | null | undefined): node is BlockNode;
37
- export {};
38
36
  //# sourceMappingURL=BlocksNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/blocks/nodes/BlocksNode.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAC/F,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,OAAO,EACP,MAAM,EACP,MAAM,SAAS,CAAA;AAEhB,OAAO,+BAA+B,MAAM,6CAA6C,CAAA;AACzF,QAAA,MAAQ,kBAAkB,2DAAoC,CAAA;AAI9D,MAAM,MAAM,WAAW,GAAG;IACxB,sBAAsB;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAQD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,MAAM,EAAE,WAAW,CAAA;CACpB,EACD,4BAA4B,CAC7B,CAAA;AAED,qBAAa,SAAU,SAAQ,kBAAkB;IAC/C,QAAQ,EAAE,WAAW,CAAA;gBAET,EACV,MAAM,EACN,MAAM,EACN,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,WAAW,CAAA;QACnB,MAAM,CAAC,EAAE,iBAAiB,CAAA;QAC1B,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAQxC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;IAI3D,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IAgBjE,MAAM,CAAC,QAAQ,IAAI,KAAK;IAGxB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO;IAKlE,SAAS,IAAI,eAAe;IAQ5B,UAAU,IAAI,mBAAmB;IASjC,SAAS,IAAI,WAAW;IAIxB,cAAc,IAAI,MAAM;IAIxB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAMrC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,SAAS,CAO9E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,SAAS,CAEhG"}
1
+ {"version":3,"file":"BlocksNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/blocks/nodes/BlocksNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAC/F,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,OAAO,EACP,MAAM,EACP,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAEhF,OAAc,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAEvC,MAAM,MAAM,WAAW,GAAG;IACxB,sBAAsB;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAQD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,MAAM,EAAE,WAAW,CAAA;CACpB,EACD,4BAA4B,CAC7B,CAAA;AAED,qBAAa,SAAU,SAAQ,kBAAkB;IAC/C,QAAQ,EAAE,WAAW,CAAA;gBAET,EACV,MAAM,EACN,MAAM,EACN,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,WAAW,CAAA;QACnB,MAAM,CAAC,EAAE,iBAAiB,CAAA;QAC1B,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAQxC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;IAI3D,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IAgBjE,MAAM,CAAC,QAAQ,IAAI,KAAK;IAGxB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO;IAKlE,SAAS,IAAI,eAAe;IAQ5B,UAAU,IAAI,mBAAmB;IASjC,SAAS,IAAI,WAAW;IAIxB,cAAc,IAAI,MAAM;IAIxB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAMrC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,SAAS,CAO9E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,SAAS,CAEhG"}
@@ -1,5 +1,5 @@
1
- import lexicalDecoratorBlockNodeImport from '@lexical/react/LexicalDecoratorBlockNode.js';
2
- const { DecoratorBlockNode } = lexicalDecoratorBlockNodeImport;
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js';
3
3
  import ObjectID from 'bson-objectid';
4
4
  import React from 'react';
5
5
  const BlockComponent = /*#__PURE__*/ React.lazy(()=>import('../component/index.js').then((module)=>({
@@ -44,7 +44,7 @@ export class BlockNode extends DecoratorBlockNode {
44
44
  }
45
45
  decorate(editor, config) {
46
46
  // @ts-expect-error
47
- return /*#__PURE__*/ React.createElement(BlockComponent, {
47
+ return /*#__PURE__*/ _jsx(BlockComponent, {
48
48
  formData: this.getFields(),
49
49
  nodeKey: this.getKey()
50
50
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/field/features/blocks/nodes/BlocksNode.tsx"],"sourcesContent":["import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport type {\n DOMConversionMap,\n DOMExportOutput,\n EditorConfig,\n ElementFormatType,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n Spread,\n} from 'lexical'\n\nimport lexicalDecoratorBlockNodeImport from '@lexical/react/LexicalDecoratorBlockNode.js'\nconst { DecoratorBlockNode } = lexicalDecoratorBlockNodeImport\nimport ObjectID from 'bson-objectid'\nimport React from 'react'\n\nexport type BlockFields = {\n /** Block form data */\n [key: string]: any\n blockName: string\n blockType: string\n id: string\n}\n\nconst BlockComponent = React.lazy(() =>\n import('../component/index.js').then((module) => ({\n default: module.BlockComponent,\n })),\n)\n\nexport type SerializedBlockNode = Spread<\n {\n fields: BlockFields\n },\n SerializedDecoratorBlockNode\n>\n\nexport class BlockNode extends DecoratorBlockNode {\n __fields: BlockFields\n\n constructor({\n fields,\n format,\n key,\n }: {\n fields: BlockFields\n format?: ElementFormatType\n key?: NodeKey\n }) {\n super(format, key)\n this.__fields = fields\n }\n\n static clone(node: BlockNode): BlockNode {\n return new BlockNode({\n fields: node.__fields,\n format: node.__format,\n key: node.__key,\n })\n }\n\n static getType(): string {\n return 'block'\n }\n\n static importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {}\n }\n\n static importJSON(serializedNode: SerializedBlockNode): BlockNode {\n if (serializedNode.version === 1) {\n // Convert (version 1 had the fields wrapped in another, unnecessary data property)\n serializedNode = {\n ...serializedNode,\n fields: {\n ...(serializedNode as any).fields.data,\n },\n version: 2,\n }\n }\n const node = $createBlockNode(serializedNode.fields)\n node.setFormat(serializedNode.format)\n return node\n }\n\n static isInline(): false {\n return false\n }\n decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element {\n // @ts-expect-error\n return <BlockComponent formData={this.getFields()} nodeKey={this.getKey()} />\n }\n\n exportDOM(): DOMExportOutput {\n const element = document.createElement('div')\n\n const text = document.createTextNode(this.getTextContent())\n element.append(text)\n return { element }\n }\n\n exportJSON(): SerializedBlockNode {\n return {\n ...super.exportJSON(),\n type: this.getType(),\n fields: this.getFields(),\n version: 2,\n }\n }\n\n getFields(): BlockFields {\n return this.getLatest().__fields\n }\n\n getTextContent(): string {\n return `Block Field`\n }\n\n setFields(fields: BlockFields): void {\n const fieldsCopy = JSON.parse(JSON.stringify(fields)) as BlockFields\n\n const writable = this.getWritable()\n writable.__fields = fieldsCopy\n }\n}\n\nexport function $createBlockNode(fields: Exclude<BlockFields, 'id'>): BlockNode {\n return new BlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n })\n}\n\nexport function $isBlockNode(node: BlockNode | LexicalNode | null | undefined): node is BlockNode {\n return node instanceof BlockNode\n}\n"],"names":["lexicalDecoratorBlockNodeImport","DecoratorBlockNode","ObjectID","React","BlockComponent","lazy","then","module","default","BlockNode","__fields","constructor","fields","format","key","clone","node","__format","__key","getType","importDOM","importJSON","serializedNode","version","data","$createBlockNode","setFormat","isInline","decorate","editor","config","formData","getFields","nodeKey","getKey","exportDOM","element","document","createElement","text","createTextNode","getTextContent","append","exportJSON","type","getLatest","setFields","fieldsCopy","JSON","parse","stringify","writable","getWritable","id","toHexString","$isBlockNode"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAYA,OAAOA,qCAAqC,8CAA6C;AACzF,MAAM,EAAEC,kBAAkB,EAAE,GAAGD;AAC/B,OAAOE,cAAc,gBAAe;AACpC,OAAOC,WAAW,QAAO;AAUzB,MAAMC,+BAAiBD,MAAME,IAAI,CAAC,IAChC,MAAM,CAAC,yBAAyBC,IAAI,CAAC,CAACC,SAAY,CAAA;YAChDC,SAASD,OAAOH,cAAc;QAChC,CAAA;AAUF,OAAO,MAAMK,kBAAkBR;IAC7BS,SAAqB;IAErBC,YAAY,EACVC,MAAM,EACNC,MAAM,EACNC,GAAG,EAKJ,CAAE;QACD,KAAK,CAACD,QAAQC;QACd,IAAI,CAACJ,QAAQ,GAAGE;IAClB;IAEA,OAAOG,MAAMC,IAAe,EAAa;QACvC,OAAO,IAAIP,UAAU;YACnBG,QAAQI,KAAKN,QAAQ;YACrBG,QAAQG,KAAKC,QAAQ;YACrBH,KAAKE,KAAKE,KAAK;QACjB;IACF;IAEA,OAAOC,UAAkB;QACvB,OAAO;IACT;IAEA,OAAOC,YAAqD;QAC1D,OAAO,CAAC;IACV;IAEA,OAAOC,WAAWC,cAAmC,EAAa;QAChE,IAAIA,eAAeC,OAAO,KAAK,GAAG;YAChC,mFAAmF;YACnFD,iBAAiB;gBACf,GAAGA,cAAc;gBACjBV,QAAQ;oBACN,GAAG,AAACU,eAAuBV,MAAM,CAACY,IAAI;gBACxC;gBACAD,SAAS;YACX;QACF;QACA,MAAMP,OAAOS,iBAAiBH,eAAeV,MAAM;QACnDI,KAAKU,SAAS,CAACJ,eAAeT,MAAM;QACpC,OAAOG;IACT;IAEA,OAAOW,WAAkB;QACvB,OAAO;IACT;IACAC,SAASC,MAAqB,EAAEC,MAAoB,EAAe;QACjE,mBAAmB;QACnB,qBAAO,oBAAC1B;YAAe2B,UAAU,IAAI,CAACC,SAAS;YAAIC,SAAS,IAAI,CAACC,MAAM;;IACzE;IAEAC,YAA6B;QAC3B,MAAMC,UAAUC,SAASC,aAAa,CAAC;QAEvC,MAAMC,OAAOF,SAASG,cAAc,CAAC,IAAI,CAACC,cAAc;QACxDL,QAAQM,MAAM,CAACH;QACf,OAAO;YAAEH;QAAQ;IACnB;IAEAO,aAAkC;QAChC,OAAO;YACL,GAAG,KAAK,CAACA,YAAY;YACrBC,MAAM,IAAI,CAACzB,OAAO;YAClBP,QAAQ,IAAI,CAACoB,SAAS;YACtBT,SAAS;QACX;IACF;IAEAS,YAAyB;QACvB,OAAO,IAAI,CAACa,SAAS,GAAGnC,QAAQ;IAClC;IAEA+B,iBAAyB;QACvB,OAAO,CAAC,WAAW,CAAC;IACtB;IAEAK,UAAUlC,MAAmB,EAAQ;QACnC,MAAMmC,aAAaC,KAAKC,KAAK,CAACD,KAAKE,SAAS,CAACtC;QAE7C,MAAMuC,WAAW,IAAI,CAACC,WAAW;QACjCD,SAASzC,QAAQ,GAAGqC;IACtB;AACF;AAEA,OAAO,SAAStB,iBAAiBb,MAAkC;IACjE,OAAO,IAAIH,UAAU;QACnBG,QAAQ;YACN,GAAGA,MAAM;YACTyC,IAAIzC,QAAQyC,MAAM,IAAInD,SAASM,OAAO,GAAG8C,WAAW;QACtD;IACF;AACF;AAEA,OAAO,SAASC,aAAavC,IAAgD;IAC3E,OAAOA,gBAAgBP;AACzB"}
1
+ {"version":3,"sources":["../../../../../src/field/features/blocks/nodes/BlocksNode.tsx"],"sourcesContent":["import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport type {\n DOMConversionMap,\n DOMExportOutput,\n EditorConfig,\n ElementFormatType,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n Spread,\n} from 'lexical'\n\nimport { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport ObjectID from 'bson-objectid'\nimport React, { type JSX } from 'react'\n\nexport type BlockFields = {\n /** Block form data */\n [key: string]: any\n blockName: string\n blockType: string\n id: string\n}\n\nconst BlockComponent = React.lazy(() =>\n import('../component/index.js').then((module) => ({\n default: module.BlockComponent,\n })),\n)\n\nexport type SerializedBlockNode = Spread<\n {\n fields: BlockFields\n },\n SerializedDecoratorBlockNode\n>\n\nexport class BlockNode extends DecoratorBlockNode {\n __fields: BlockFields\n\n constructor({\n fields,\n format,\n key,\n }: {\n fields: BlockFields\n format?: ElementFormatType\n key?: NodeKey\n }) {\n super(format, key)\n this.__fields = fields\n }\n\n static clone(node: BlockNode): BlockNode {\n return new BlockNode({\n fields: node.__fields,\n format: node.__format,\n key: node.__key,\n })\n }\n\n static getType(): string {\n return 'block'\n }\n\n static importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {}\n }\n\n static importJSON(serializedNode: SerializedBlockNode): BlockNode {\n if (serializedNode.version === 1) {\n // Convert (version 1 had the fields wrapped in another, unnecessary data property)\n serializedNode = {\n ...serializedNode,\n fields: {\n ...(serializedNode as any).fields.data,\n },\n version: 2,\n }\n }\n const node = $createBlockNode(serializedNode.fields)\n node.setFormat(serializedNode.format)\n return node\n }\n\n static isInline(): false {\n return false\n }\n decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element {\n // @ts-expect-error\n return <BlockComponent formData={this.getFields()} nodeKey={this.getKey()} />\n }\n\n exportDOM(): DOMExportOutput {\n const element = document.createElement('div')\n\n const text = document.createTextNode(this.getTextContent())\n element.append(text)\n return { element }\n }\n\n exportJSON(): SerializedBlockNode {\n return {\n ...super.exportJSON(),\n type: this.getType(),\n fields: this.getFields(),\n version: 2,\n }\n }\n\n getFields(): BlockFields {\n return this.getLatest().__fields\n }\n\n getTextContent(): string {\n return `Block Field`\n }\n\n setFields(fields: BlockFields): void {\n const fieldsCopy = JSON.parse(JSON.stringify(fields)) as BlockFields\n\n const writable = this.getWritable()\n writable.__fields = fieldsCopy\n }\n}\n\nexport function $createBlockNode(fields: Exclude<BlockFields, 'id'>): BlockNode {\n return new BlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n })\n}\n\nexport function $isBlockNode(node: BlockNode | LexicalNode | null | undefined): node is BlockNode {\n return node instanceof BlockNode\n}\n"],"names":["DecoratorBlockNode","ObjectID","React","BlockComponent","lazy","then","module","default","BlockNode","__fields","constructor","fields","format","key","clone","node","__format","__key","getType","importDOM","importJSON","serializedNode","version","data","$createBlockNode","setFormat","isInline","decorate","editor","config","formData","getFields","nodeKey","getKey","exportDOM","element","document","createElement","text","createTextNode","getTextContent","append","exportJSON","type","getLatest","setFields","fieldsCopy","JSON","parse","stringify","writable","getWritable","id","toHexString","$isBlockNode"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAYA,SAASA,kBAAkB,QAAQ,8CAA6C;AAChF,OAAOC,cAAc,gBAAe;AACpC,OAAOC,WAAyB,QAAO;AAUvC,MAAMC,+BAAiBD,MAAME,IAAI,CAAC,IAChC,MAAM,CAAC,yBAAyBC,IAAI,CAAC,CAACC,SAAY,CAAA;YAChDC,SAASD,OAAOH,cAAc;QAChC,CAAA;AAUF,OAAO,MAAMK,kBAAkBR;IAC7BS,SAAqB;IAErBC,YAAY,EACVC,MAAM,EACNC,MAAM,EACNC,GAAG,EAKJ,CAAE;QACD,KAAK,CAACD,QAAQC;QACd,IAAI,CAACJ,QAAQ,GAAGE;IAClB;IAEA,OAAOG,MAAMC,IAAe,EAAa;QACvC,OAAO,IAAIP,UAAU;YACnBG,QAAQI,KAAKN,QAAQ;YACrBG,QAAQG,KAAKC,QAAQ;YACrBH,KAAKE,KAAKE,KAAK;QACjB;IACF;IAEA,OAAOC,UAAkB;QACvB,OAAO;IACT;IAEA,OAAOC,YAAqD;QAC1D,OAAO,CAAC;IACV;IAEA,OAAOC,WAAWC,cAAmC,EAAa;QAChE,IAAIA,eAAeC,OAAO,KAAK,GAAG;YAChC,mFAAmF;YACnFD,iBAAiB;gBACf,GAAGA,cAAc;gBACjBV,QAAQ;oBACN,GAAG,AAACU,eAAuBV,MAAM,CAACY,IAAI;gBACxC;gBACAD,SAAS;YACX;QACF;QACA,MAAMP,OAAOS,iBAAiBH,eAAeV,MAAM;QACnDI,KAAKU,SAAS,CAACJ,eAAeT,MAAM;QACpC,OAAOG;IACT;IAEA,OAAOW,WAAkB;QACvB,OAAO;IACT;IACAC,SAASC,MAAqB,EAAEC,MAAoB,EAAe;QACjE,mBAAmB;QACnB,qBAAO,KAAC1B;YAAe2B,UAAU,IAAI,CAACC,SAAS;YAAIC,SAAS,IAAI,CAACC,MAAM;;IACzE;IAEAC,YAA6B;QAC3B,MAAMC,UAAUC,SAASC,aAAa,CAAC;QAEvC,MAAMC,OAAOF,SAASG,cAAc,CAAC,IAAI,CAACC,cAAc;QACxDL,QAAQM,MAAM,CAACH;QACf,OAAO;YAAEH;QAAQ;IACnB;IAEAO,aAAkC;QAChC,OAAO;YACL,GAAG,KAAK,CAACA,YAAY;YACrBC,MAAM,IAAI,CAACzB,OAAO;YAClBP,QAAQ,IAAI,CAACoB,SAAS;YACtBT,SAAS;QACX;IACF;IAEAS,YAAyB;QACvB,OAAO,IAAI,CAACa,SAAS,GAAGnC,QAAQ;IAClC;IAEA+B,iBAAyB;QACvB,OAAO,CAAC,WAAW,CAAC;IACtB;IAEAK,UAAUlC,MAAmB,EAAQ;QACnC,MAAMmC,aAAaC,KAAKC,KAAK,CAACD,KAAKE,SAAS,CAACtC;QAE7C,MAAMuC,WAAW,IAAI,CAACC,WAAW;QACjCD,SAASzC,QAAQ,GAAGqC;IACtB;AACF;AAEA,OAAO,SAAStB,iBAAiBb,MAAkC;IACjE,OAAO,IAAIH,UAAU;QACnBG,QAAQ;YACN,GAAGA,MAAM;YACTyC,IAAIzC,QAAQyC,MAAM,IAAInD,SAASM,OAAO,GAAG8C,WAAW;QACtD;IACF;AACF;AAEA,OAAO,SAASC,aAAavC,IAAgD;IAC3E,OAAOA,gBAAgBP;AACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/blocks/plugin/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,kBAAkB,CAC7B,CAAA"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/blocks/plugin/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,kBAAkB,CAC7B,CAAA"}
@@ -1,5 +1,4 @@
1
- import lexicalImport from 'lexical';
2
- const { createCommand } = lexicalImport;
1
+ import { createCommand } from 'lexical';
3
2
  export const INSERT_BLOCK_COMMAND = createCommand('INSERT_BLOCK_COMMAND');
4
3
 
5
4
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/field/features/blocks/plugin/commands.ts"],"sourcesContent":["import type { LexicalCommand } from 'lexical'\n\nimport lexicalImport from 'lexical'\nconst { createCommand } = lexicalImport\n\nimport type { InsertBlockPayload } from './index.js'\n\nexport const INSERT_BLOCK_COMMAND: LexicalCommand<InsertBlockPayload> =\n createCommand('INSERT_BLOCK_COMMAND')\n"],"names":["lexicalImport","createCommand","INSERT_BLOCK_COMMAND"],"rangeMappings":";;","mappings":"AAEA,OAAOA,mBAAmB,UAAS;AACnC,MAAM,EAAEC,aAAa,EAAE,GAAGD;AAI1B,OAAO,MAAME,uBACXD,cAAc,wBAAuB"}
1
+ {"version":3,"sources":["../../../../../src/field/features/blocks/plugin/commands.ts"],"sourcesContent":["import type { LexicalCommand } from 'lexical'\n\nimport { createCommand } from 'lexical'\n\nimport type { InsertBlockPayload } from './index.js'\n\nexport const INSERT_BLOCK_COMMAND: LexicalCommand<InsertBlockPayload> =\n createCommand('INSERT_BLOCK_COMMAND')\n"],"names":["createCommand","INSERT_BLOCK_COMMAND"],"rangeMappings":";","mappings":"AAEA,SAASA,aAAa,QAAQ,UAAS;AAIvC,OAAO,MAAMC,uBACXD,cAAc,wBAAuB"}
@@ -1,5 +1,6 @@
1
- import React from 'react';
1
+ import type { PluginComponent } from '../../types.js';
2
+ import type { BlocksFeatureClientProps } from '../feature.client.js';
2
3
  import type { BlockFields } from '../nodes/BlocksNode.js';
3
4
  export type InsertBlockPayload = Exclude<BlockFields, 'id'>;
4
- export declare function BlocksPlugin(): React.ReactNode;
5
+ export declare const BlocksPlugin: PluginComponent<BlocksFeatureClientProps>;
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/blocks/plugin/index.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAMzD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AAE3D,wBAAgB,YAAY,IAAI,KAAK,CAAC,SAAS,CA8C9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/blocks/plugin/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAMzD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AAE3D,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,wBAAwB,CA8ClE,CAAA"}
@@ -1,15 +1,13 @@
1
1
  'use client';
2
- import lexicalComposerContextImport from '@lexical/react/LexicalComposerContext.js';
3
- const { useLexicalComposerContext } = lexicalComposerContextImport;
4
- import lexicalUtilsImport from '@lexical/utils';
5
- const { $insertNodeToNearestRoot, mergeRegister } = lexicalUtilsImport;
6
- import lexicalImport from 'lexical';
7
- const { $getPreviousSelection, $getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_EDITOR } = lexicalImport;
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
4
+ import { $insertNodeToNearestRoot, mergeRegister } from '@lexical/utils';
5
+ import { $getPreviousSelection, $getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_EDITOR } from 'lexical';
8
6
  import React, { useEffect } from 'react';
9
7
  import { BlocksDrawerComponent } from '../drawer/index.js';
10
8
  import { $createBlockNode, BlockNode } from '../nodes/BlocksNode.js';
11
9
  import { INSERT_BLOCK_COMMAND } from './commands.js';
12
- export function BlocksPlugin() {
10
+ export const BlocksPlugin = ()=>{
13
11
  const [editor] = useLexicalComposerContext();
14
12
  useEffect(()=>{
15
13
  if (!editor.hasNodes([
@@ -19,9 +17,11 @@ export function BlocksPlugin() {
19
17
  }
20
18
  return mergeRegister(editor.registerCommand(INSERT_BLOCK_COMMAND, (payload)=>{
21
19
  editor.update(()=>{
22
- const blockNode = $createBlockNode(payload);
23
20
  const selection = $getSelection() || $getPreviousSelection();
24
21
  if ($isRangeSelection(selection)) {
22
+ const blockNode = $createBlockNode(payload);
23
+ // Insert blocks node BEFORE potentially removing focusNode, as $insertNodeToNearestRoot errors if the focusNode doesn't exist
24
+ $insertNodeToNearestRoot(blockNode);
25
25
  const { focus } = selection;
26
26
  const focusNode = focus.getNode();
27
27
  // First, delete currently selected node if it's an empty paragraph and if there are sufficient
@@ -29,7 +29,6 @@ export function BlocksPlugin() {
29
29
  if ($isParagraphNode(focusNode) && focusNode.getTextContentSize() === 0 && focusNode.getParent().getChildren().filter((node)=>$isParagraphNode(node)).length > 1) {
30
30
  focusNode.remove();
31
31
  }
32
- $insertNodeToNearestRoot(blockNode);
33
32
  }
34
33
  });
35
34
  return true;
@@ -37,7 +36,7 @@ export function BlocksPlugin() {
37
36
  }, [
38
37
  editor
39
38
  ]);
40
- return /*#__PURE__*/ React.createElement(BlocksDrawerComponent, null);
41
- }
39
+ return /*#__PURE__*/ _jsx(BlocksDrawerComponent, {});
40
+ };
42
41
 
43
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/field/features/blocks/plugin/index.tsx"],"sourcesContent":["'use client'\nimport lexicalComposerContextImport from '@lexical/react/LexicalComposerContext.js'\nconst { useLexicalComposerContext } = lexicalComposerContextImport\nimport lexicalUtilsImport from '@lexical/utils'\nconst { $insertNodeToNearestRoot, mergeRegister } = lexicalUtilsImport\nimport lexicalImport from 'lexical'\nconst {\n $getPreviousSelection,\n $getSelection,\n $isParagraphNode,\n $isRangeSelection,\n COMMAND_PRIORITY_EDITOR,\n} = lexicalImport\n\nimport React, { useEffect } from 'react'\n\nimport type { BlockFields } from '../nodes/BlocksNode.js'\n\nimport { BlocksDrawerComponent } from '../drawer/index.js'\nimport { $createBlockNode, BlockNode } from '../nodes/BlocksNode.js'\nimport { INSERT_BLOCK_COMMAND } from './commands.js'\n\nexport type InsertBlockPayload = Exclude<BlockFields, 'id'>\n\nexport function BlocksPlugin(): React.ReactNode {\n const [editor] = useLexicalComposerContext()\n\n useEffect(() => {\n if (!editor.hasNodes([BlockNode])) {\n throw new Error('BlocksPlugin: BlocksNode not registered on editor')\n }\n\n return mergeRegister(\n editor.registerCommand<InsertBlockPayload>(\n INSERT_BLOCK_COMMAND,\n (payload: InsertBlockPayload) => {\n editor.update(() => {\n const blockNode = $createBlockNode(payload)\n\n const selection = $getSelection() || $getPreviousSelection()\n\n if ($isRangeSelection(selection)) {\n const { focus } = selection\n const focusNode = focus.getNode()\n\n // First, delete currently selected node if it's an empty paragraph and if there are sufficient\n // paragraph nodes (more than 1) left in the parent node, so that we don't \"trap\" the user\n if (\n $isParagraphNode(focusNode) &&\n focusNode.getTextContentSize() === 0 &&\n focusNode\n .getParent()\n .getChildren()\n .filter((node) => $isParagraphNode(node)).length > 1\n ) {\n focusNode.remove()\n }\n\n $insertNodeToNearestRoot(blockNode)\n }\n })\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n ),\n )\n }, [editor])\n\n return <BlocksDrawerComponent />\n}\n"],"names":["lexicalComposerContextImport","useLexicalComposerContext","lexicalUtilsImport","$insertNodeToNearestRoot","mergeRegister","lexicalImport","$getPreviousSelection","$getSelection","$isParagraphNode","$isRangeSelection","COMMAND_PRIORITY_EDITOR","React","useEffect","BlocksDrawerComponent","$createBlockNode","BlockNode","INSERT_BLOCK_COMMAND","BlocksPlugin","editor","hasNodes","Error","registerCommand","payload","update","blockNode","selection","focus","focusNode","getNode","getTextContentSize","getParent","getChildren","filter","node","length","remove"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,kCAAkC,2CAA0C;AACnF,MAAM,EAAEC,yBAAyB,EAAE,GAAGD;AACtC,OAAOE,wBAAwB,iBAAgB;AAC/C,MAAM,EAAEC,wBAAwB,EAAEC,aAAa,EAAE,GAAGF;AACpD,OAAOG,mBAAmB,UAAS;AACnC,MAAM,EACJC,qBAAqB,EACrBC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,EACjBC,uBAAuB,EACxB,GAAGL;AAEJ,OAAOM,SAASC,SAAS,QAAQ,QAAO;AAIxC,SAASC,qBAAqB,QAAQ,qBAAoB;AAC1D,SAASC,gBAAgB,EAAEC,SAAS,QAAQ,yBAAwB;AACpE,SAASC,oBAAoB,QAAQ,gBAAe;AAIpD,OAAO,SAASC;IACd,MAAM,CAACC,OAAO,GAAGjB;IAEjBW,UAAU;QACR,IAAI,CAACM,OAAOC,QAAQ,CAAC;YAACJ;SAAU,GAAG;YACjC,MAAM,IAAIK,MAAM;QAClB;QAEA,OAAOhB,cACLc,OAAOG,eAAe,CACpBL,sBACA,CAACM;YACCJ,OAAOK,MAAM,CAAC;gBACZ,MAAMC,YAAYV,iBAAiBQ;gBAEnC,MAAMG,YAAYlB,mBAAmBD;gBAErC,IAAIG,kBAAkBgB,YAAY;oBAChC,MAAM,EAAEC,KAAK,EAAE,GAAGD;oBAClB,MAAME,YAAYD,MAAME,OAAO;oBAE/B,+FAA+F;oBAC/F,0FAA0F;oBAC1F,IACEpB,iBAAiBmB,cACjBA,UAAUE,kBAAkB,OAAO,KACnCF,UACGG,SAAS,GACTC,WAAW,GACXC,MAAM,CAAC,CAACC,OAASzB,iBAAiByB,OAAOC,MAAM,GAAG,GACrD;wBACAP,UAAUQ,MAAM;oBAClB;oBAEAhC,yBAAyBqB;gBAC3B;YACF;YAEA,OAAO;QACT,GACAd;IAGN,GAAG;QAACQ;KAAO;IAEX,qBAAO,oBAACL;AACV"}
1
+ {"version":3,"sources":["../../../../../src/field/features/blocks/plugin/index.tsx"],"sourcesContent":["'use client'\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $insertNodeToNearestRoot, mergeRegister } from '@lexical/utils'\nimport {\n $getPreviousSelection,\n $getSelection,\n $isParagraphNode,\n $isRangeSelection,\n COMMAND_PRIORITY_EDITOR,\n} from 'lexical'\nimport React, { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../types.js'\nimport type { BlocksFeatureClientProps } from '../feature.client.js'\nimport type { BlockFields } from '../nodes/BlocksNode.js'\n\nimport { BlocksDrawerComponent } from '../drawer/index.js'\nimport { $createBlockNode, BlockNode } from '../nodes/BlocksNode.js'\nimport { INSERT_BLOCK_COMMAND } from './commands.js'\n\nexport type InsertBlockPayload = Exclude<BlockFields, 'id'>\n\nexport const BlocksPlugin: PluginComponent<BlocksFeatureClientProps> = () => {\n const [editor] = useLexicalComposerContext()\n\n useEffect(() => {\n if (!editor.hasNodes([BlockNode])) {\n throw new Error('BlocksPlugin: BlocksNode not registered on editor')\n }\n\n return mergeRegister(\n editor.registerCommand<InsertBlockPayload>(\n INSERT_BLOCK_COMMAND,\n (payload: InsertBlockPayload) => {\n editor.update(() => {\n const selection = $getSelection() || $getPreviousSelection()\n\n if ($isRangeSelection(selection)) {\n const blockNode = $createBlockNode(payload)\n // Insert blocks node BEFORE potentially removing focusNode, as $insertNodeToNearestRoot errors if the focusNode doesn't exist\n $insertNodeToNearestRoot(blockNode)\n\n const { focus } = selection\n const focusNode = focus.getNode()\n\n // First, delete currently selected node if it's an empty paragraph and if there are sufficient\n // paragraph nodes (more than 1) left in the parent node, so that we don't \"trap\" the user\n if (\n $isParagraphNode(focusNode) &&\n focusNode.getTextContentSize() === 0 &&\n focusNode\n .getParent()\n .getChildren()\n .filter((node) => $isParagraphNode(node)).length > 1\n ) {\n focusNode.remove()\n }\n }\n })\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n ),\n )\n }, [editor])\n\n return <BlocksDrawerComponent />\n}\n"],"names":["useLexicalComposerContext","$insertNodeToNearestRoot","mergeRegister","$getPreviousSelection","$getSelection","$isParagraphNode","$isRangeSelection","COMMAND_PRIORITY_EDITOR","React","useEffect","BlocksDrawerComponent","$createBlockNode","BlockNode","INSERT_BLOCK_COMMAND","BlocksPlugin","editor","hasNodes","Error","registerCommand","payload","update","selection","blockNode","focus","focusNode","getNode","getTextContentSize","getParent","getChildren","filter","node","length","remove"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,yBAAyB,QAAQ,2CAA0C;AACpF,SAASC,wBAAwB,EAAEC,aAAa,QAAQ,iBAAgB;AACxE,SACEC,qBAAqB,EACrBC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,EACjBC,uBAAuB,QAClB,UAAS;AAChB,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAMxC,SAASC,qBAAqB,QAAQ,qBAAoB;AAC1D,SAASC,gBAAgB,EAAEC,SAAS,QAAQ,yBAAwB;AACpE,SAASC,oBAAoB,QAAQ,gBAAe;AAIpD,OAAO,MAAMC,eAA0D;IACrE,MAAM,CAACC,OAAO,GAAGf;IAEjBS,UAAU;QACR,IAAI,CAACM,OAAOC,QAAQ,CAAC;YAACJ;SAAU,GAAG;YACjC,MAAM,IAAIK,MAAM;QAClB;QAEA,OAAOf,cACLa,OAAOG,eAAe,CACpBL,sBACA,CAACM;YACCJ,OAAOK,MAAM,CAAC;gBACZ,MAAMC,YAAYjB,mBAAmBD;gBAErC,IAAIG,kBAAkBe,YAAY;oBAChC,MAAMC,YAAYX,iBAAiBQ;oBACnC,8HAA8H;oBAC9HlB,yBAAyBqB;oBAEzB,MAAM,EAAEC,KAAK,EAAE,GAAGF;oBAClB,MAAMG,YAAYD,MAAME,OAAO;oBAE/B,+FAA+F;oBAC/F,0FAA0F;oBAC1F,IACEpB,iBAAiBmB,cACjBA,UAAUE,kBAAkB,OAAO,KACnCF,UACGG,SAAS,GACTC,WAAW,GACXC,MAAM,CAAC,CAACC,OAASzB,iBAAiByB,OAAOC,MAAM,GAAG,GACrD;wBACAP,UAAUQ,MAAM;oBAClB;gBACF;YACF;YAEA,OAAO;QACT,GACAzB;IAGN,GAAG;QAACQ;KAAO;IAEX,qBAAO,KAACL;AACV,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/field/features/blocks/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEhE,eAAO,MAAM,kBAAkB,UACtB,kBAAkB,KACxB,eAAe,mBAAmB,CAmEpC,CAAA"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/field/features/blocks/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE7E,eAAO,MAAM,kBAAkB,UACtB,kBAAkB,KACxB,eAAe,mBAAmB,CA2CpC,CAAA"}
@@ -1,50 +1,36 @@
1
- import { sanitizeFields } from 'payload/config';
1
+ import { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema';
2
2
  export const blockValidationHOC = (props)=>{
3
- const blockValidation = async ({ node, validation })=>{
4
- const blockFieldData = node.fields;
5
- const blocks = props.blocks;
6
- const { options: { req, req: { payload: { config } } } } = validation;
7
- // Sanitize block's fields here. This is done here and not in the feature, because the payload config is available here
8
- const validRelationships = config.collections.map((c)=>c.slug) || [];
9
- blocks.forEach((block)=>{
10
- block.fields = sanitizeFields({
11
- config,
12
- fields: block.fields,
13
- requireFieldLevelRichTextEditor: true,
14
- validRelationships
15
- });
16
- });
3
+ return async ({ node, validation })=>{
4
+ const blockFieldData = node.fields ?? {};
5
+ const { options: { id, operation, preferences, req } } = validation;
17
6
  // find block
18
7
  const block = props.blocks.find((block)=>block.slug === blockFieldData.blockType);
19
8
  // validate block
20
9
  if (!block) {
21
10
  return 'Block not found';
22
11
  }
23
- for (const field of block.fields){
24
- if ('validate' in field && typeof field.validate === 'function' && field.validate) {
25
- const fieldValue = 'name' in field ? node.fields[field.name] : null;
26
- const passesCondition = field.admin?.condition ? Boolean(field.admin.condition(fieldValue, node.fields, {
27
- user: req?.user
28
- })) : true;
29
- if (!passesCondition) {
30
- continue; // Fixes https://github.com/payloadcms/payload/issues/4000
31
- }
32
- const validationResult = await field.validate(fieldValue, {
33
- ...field,
34
- id: validation.options.id,
35
- data: fieldValue,
36
- operation: validation.options.operation,
37
- req,
38
- siblingData: validation.options.siblingData
39
- });
40
- if (validationResult !== true) {
41
- return validationResult;
42
- }
12
+ /**
13
+ * Run buildStateFromSchema as that properly validates block and block sub-fields
14
+ */ const result = await buildStateFromSchema({
15
+ id,
16
+ data: blockFieldData,
17
+ fieldSchema: block.fields,
18
+ operation: operation === 'create' || operation === 'update' ? operation : 'update',
19
+ preferences,
20
+ req,
21
+ siblingData: blockFieldData
22
+ });
23
+ let errorPaths = [];
24
+ for(const fieldKey in result){
25
+ if (result[fieldKey].errorPaths) {
26
+ errorPaths = errorPaths.concat(result[fieldKey].errorPaths);
43
27
  }
44
28
  }
29
+ if (errorPaths.length) {
30
+ return 'The following fields are invalid: ' + errorPaths.join(', ');
31
+ }
45
32
  return true;
46
33
  };
47
- return blockValidation;
48
34
  };
49
35
 
50
36
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/features/blocks/validate.ts"],"sourcesContent":["import type { Block } from 'payload/types'\n\nimport { sanitizeFields } from 'payload/config'\n\nimport type { NodeValidation } from '../types.js'\nimport type { BlocksFeatureProps } from './feature.server.js'\nimport type { SerializedBlockNode } from './nodes/BlocksNode.js'\n\nexport const blockValidationHOC = (\n props: BlocksFeatureProps,\n): NodeValidation<SerializedBlockNode> => {\n const blockValidation: NodeValidation<SerializedBlockNode> = async ({ node, validation }) => {\n const blockFieldData = node.fields\n const blocks: Block[] = props.blocks\n\n const {\n options: {\n req,\n req: {\n payload: { config },\n },\n },\n } = validation\n\n // Sanitize block's fields here. This is done here and not in the feature, because the payload config is available here\n const validRelationships = config.collections.map((c) => c.slug) || []\n blocks.forEach((block) => {\n block.fields = sanitizeFields({\n config,\n fields: block.fields,\n requireFieldLevelRichTextEditor: true,\n validRelationships,\n })\n })\n\n // find block\n const block = props.blocks.find((block) => block.slug === blockFieldData.blockType)\n\n // validate block\n if (!block) {\n return 'Block not found'\n }\n\n for (const field of block.fields) {\n if ('validate' in field && typeof field.validate === 'function' && field.validate) {\n const fieldValue = 'name' in field ? node.fields[field.name] : null\n\n const passesCondition = field.admin?.condition\n ? Boolean(\n field.admin.condition(fieldValue, node.fields, {\n user: req?.user,\n }),\n )\n : true\n if (!passesCondition) {\n continue // Fixes https://github.com/payloadcms/payload/issues/4000\n }\n\n const validationResult = await field.validate(fieldValue, {\n ...field,\n id: validation.options.id,\n data: fieldValue,\n operation: validation.options.operation,\n req,\n siblingData: validation.options.siblingData,\n })\n\n if (validationResult !== true) {\n return validationResult\n }\n }\n }\n\n return true\n }\n\n return blockValidation\n}\n"],"names":["sanitizeFields","blockValidationHOC","props","blockValidation","node","validation","blockFieldData","fields","blocks","options","req","payload","config","validRelationships","collections","map","c","slug","forEach","block","requireFieldLevelRichTextEditor","find","blockType","field","validate","fieldValue","name","passesCondition","admin","condition","Boolean","user","validationResult","id","data","operation","siblingData"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,iBAAgB;AAM/C,OAAO,MAAMC,qBAAqB,CAChCC;IAEA,MAAMC,kBAAuD,OAAO,EAAEC,IAAI,EAAEC,UAAU,EAAE;QACtF,MAAMC,iBAAiBF,KAAKG,MAAM;QAClC,MAAMC,SAAkBN,MAAMM,MAAM;QAEpC,MAAM,EACJC,SAAS,EACPC,GAAG,EACHA,KAAK,EACHC,SAAS,EAAEC,MAAM,EAAE,EACpB,EACF,EACF,GAAGP;QAEJ,uHAAuH;QACvH,MAAMQ,qBAAqBD,OAAOE,WAAW,CAACC,GAAG,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAK,EAAE;QACtET,OAAOU,OAAO,CAAC,CAACC;YACdA,MAAMZ,MAAM,GAAGP,eAAe;gBAC5BY;gBACAL,QAAQY,MAAMZ,MAAM;gBACpBa,iCAAiC;gBACjCP;YACF;QACF;QAEA,aAAa;QACb,MAAMM,QAAQjB,MAAMM,MAAM,CAACa,IAAI,CAAC,CAACF,QAAUA,MAAMF,IAAI,KAAKX,eAAegB,SAAS;QAElF,iBAAiB;QACjB,IAAI,CAACH,OAAO;YACV,OAAO;QACT;QAEA,KAAK,MAAMI,SAASJ,MAAMZ,MAAM,CAAE;YAChC,IAAI,cAAcgB,SAAS,OAAOA,MAAMC,QAAQ,KAAK,cAAcD,MAAMC,QAAQ,EAAE;gBACjF,MAAMC,aAAa,UAAUF,QAAQnB,KAAKG,MAAM,CAACgB,MAAMG,IAAI,CAAC,GAAG;gBAE/D,MAAMC,kBAAkBJ,MAAMK,KAAK,EAAEC,YACjCC,QACEP,MAAMK,KAAK,CAACC,SAAS,CAACJ,YAAYrB,KAAKG,MAAM,EAAE;oBAC7CwB,MAAMrB,KAAKqB;gBACb,MAEF;gBACJ,IAAI,CAACJ,iBAAiB;oBACpB,UAAS,0DAA0D;gBACrE;gBAEA,MAAMK,mBAAmB,MAAMT,MAAMC,QAAQ,CAACC,YAAY;oBACxD,GAAGF,KAAK;oBACRU,IAAI5B,WAAWI,OAAO,CAACwB,EAAE;oBACzBC,MAAMT;oBACNU,WAAW9B,WAAWI,OAAO,CAAC0B,SAAS;oBACvCzB;oBACA0B,aAAa/B,WAAWI,OAAO,CAAC2B,WAAW;gBAC7C;gBAEA,IAAIJ,qBAAqB,MAAM;oBAC7B,OAAOA;gBACT;YACF;QACF;QAEA,OAAO;IACT;IAEA,OAAO7B;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/field/features/blocks/validate.ts"],"sourcesContent":["import { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'\n\nimport type { NodeValidation } from '../types.js'\nimport type { BlocksFeatureProps } from './feature.server.js'\nimport type { BlockFields, SerializedBlockNode } from './nodes/BlocksNode.js'\n\nexport const blockValidationHOC = (\n props: BlocksFeatureProps,\n): NodeValidation<SerializedBlockNode> => {\n return async ({ node, validation }) => {\n const blockFieldData = node.fields ?? ({} as BlockFields)\n\n const {\n options: { id, operation, preferences, req },\n } = validation\n\n // find block\n const block = props.blocks.find((block) => block.slug === blockFieldData.blockType)\n\n // validate block\n if (!block) {\n return 'Block not found'\n }\n\n /**\n * Run buildStateFromSchema as that properly validates block and block sub-fields\n */\n\n const result = await buildStateFromSchema({\n id,\n data: blockFieldData,\n fieldSchema: block.fields,\n operation: operation === 'create' || operation === 'update' ? operation : 'update',\n preferences,\n req,\n siblingData: blockFieldData,\n })\n\n let errorPaths = []\n for (const fieldKey in result) {\n if (result[fieldKey].errorPaths) {\n errorPaths = errorPaths.concat(result[fieldKey].errorPaths)\n }\n }\n\n if (errorPaths.length) {\n return 'The following fields are invalid: ' + errorPaths.join(', ')\n }\n\n return true\n }\n}\n"],"names":["buildStateFromSchema","blockValidationHOC","props","node","validation","blockFieldData","fields","options","id","operation","preferences","req","block","blocks","find","slug","blockType","result","data","fieldSchema","siblingData","errorPaths","fieldKey","concat","length","join"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,oBAAoB,QAAQ,4CAA2C;AAMhF,OAAO,MAAMC,qBAAqB,CAChCC;IAEA,OAAO,OAAO,EAAEC,IAAI,EAAEC,UAAU,EAAE;QAChC,MAAMC,iBAAiBF,KAAKG,MAAM,IAAK,CAAC;QAExC,MAAM,EACJC,SAAS,EAAEC,EAAE,EAAEC,SAAS,EAAEC,WAAW,EAAEC,GAAG,EAAE,EAC7C,GAAGP;QAEJ,aAAa;QACb,MAAMQ,QAAQV,MAAMW,MAAM,CAACC,IAAI,CAAC,CAACF,QAAUA,MAAMG,IAAI,KAAKV,eAAeW,SAAS;QAElF,iBAAiB;QACjB,IAAI,CAACJ,OAAO;YACV,OAAO;QACT;QAEA;;KAEC,GAED,MAAMK,SAAS,MAAMjB,qBAAqB;YACxCQ;YACAU,MAAMb;YACNc,aAAaP,MAAMN,MAAM;YACzBG,WAAWA,cAAc,YAAYA,cAAc,WAAWA,YAAY;YAC1EC;YACAC;YACAS,aAAaf;QACf;QAEA,IAAIgB,aAAa,EAAE;QACnB,IAAK,MAAMC,YAAYL,OAAQ;YAC7B,IAAIA,MAAM,CAACK,SAAS,CAACD,UAAU,EAAE;gBAC/BA,aAAaA,WAAWE,MAAM,CAACN,MAAM,CAACK,SAAS,CAACD,UAAU;YAC5D;QACF;QAEA,IAAIA,WAAWG,MAAM,EAAE;YACrB,OAAO,uCAAuCH,WAAWI,IAAI,CAAC;QAChE;QAEA,OAAO;IACT;AACF,EAAC"}
@@ -1,8 +1,20 @@
1
- import type { TextField } from 'payload/types';
1
+ import type { Field } from 'payload';
2
2
  import type { SanitizedServerEditorConfig } from '../../../../lexical/config/types.js';
3
3
  import type { HTMLConverter } from '../converter/types.js';
4
4
  type Props = {
5
+ /**
6
+ * Whether the lexicalHTML field should be hidden in the admin panel
7
+ *
8
+ * @default true
9
+ */
10
+ hidden?: boolean;
5
11
  name: string;
12
+ /**
13
+ * Whether the HTML should be stored in the database
14
+ *
15
+ * @default false
16
+ */
17
+ storeInDB?: boolean;
6
18
  };
7
19
  /**
8
20
  * Combines the default HTML converters with HTML converters found in the features, and with HTML converters configured in the htmlConverter feature.
@@ -18,6 +30,6 @@ export declare const lexicalHTML: (
18
30
  *
19
31
  * This has to be a SIBLING field of this lexicalHTML field - otherwise, it won't be able to find the lexical field.
20
32
  **/
21
- lexicalFieldName: string, props: Props) => TextField;
33
+ lexicalFieldName: string, props: Props) => Field;
22
34
  export {};
23
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/features/converters/html/field/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,SAAS,EAAE,MAAM,eAAe,CAAA;AAGpE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAA;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAM1D,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,sBAEnC;IACD,YAAY,EAAE,2BAA2B,CAAA;CAC1C,oBAqBA,CAAA;AAED,eAAO,MAAM,WAAW,EAAE;AACxB;;;;IAII;AACJ,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,KAAK,KACT,SAsHJ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/features/converters/html/field/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAqC,MAAM,SAAS,CAAA;AAGvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAA;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAM1D,KAAK,KAAK,GAAG;IACX;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,sBAEnC;IACD,YAAY,EAAE,2BAA2B,CAAA;CAC1C,KAAG,aAAa,EA+ChB,CAAA;AA0DD,eAAO,MAAM,WAAW,EAAE;AACxB;;;;IAII;AACJ,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,KAAK,KACT,KA6EJ,CAAA"}
@@ -7,79 +7,110 @@ import { convertLexicalToHTML } from '../converter/index.js';
7
7
  */ export const consolidateHTMLConverters = ({ editorConfig })=>{
8
8
  const htmlConverterFeature = editorConfig.resolvedFeatureMap.get('htmlConverter');
9
9
  const htmlConverterFeatureProps = htmlConverterFeature?.serverFeatureProps;
10
- const defaultConvertersWithConvertersFromFeatures = defaultHTMLConverters;
10
+ const defaultConvertersWithConvertersFromFeatures = [
11
+ ...defaultHTMLConverters
12
+ ];
11
13
  for (const converter of editorConfig.features.converters.html){
12
14
  defaultConvertersWithConvertersFromFeatures.push(converter);
13
15
  }
14
16
  const finalConverters = htmlConverterFeatureProps?.converters && typeof htmlConverterFeatureProps?.converters === 'function' ? htmlConverterFeatureProps.converters({
15
17
  defaultConverters: defaultConvertersWithConvertersFromFeatures
16
18
  }) : htmlConverterFeatureProps?.converters || defaultConvertersWithConvertersFromFeatures;
17
- return finalConverters;
19
+ // filter converters by nodeTypes. The last converter in the list wins. If there are multiple converters for the same nodeType, the last one will be used and the node types will be removed from
20
+ // previous converters. If previous converters do not have any nodeTypes left, they will be removed from the list.
21
+ // This guarantees that user-added converters which are added after the default ones will always have precedence
22
+ const foundNodeTypes = [];
23
+ const filteredConverters = [];
24
+ for (const converter of finalConverters.reverse()){
25
+ if (!converter.nodeTypes?.length) {
26
+ continue;
27
+ }
28
+ const newConverter = {
29
+ converter: converter.converter,
30
+ nodeTypes: [
31
+ ...converter.nodeTypes
32
+ ]
33
+ };
34
+ newConverter.nodeTypes = newConverter.nodeTypes.filter((nodeType)=>{
35
+ if (foundNodeTypes.includes(nodeType)) {
36
+ return false;
37
+ }
38
+ foundNodeTypes.push(nodeType);
39
+ return true;
40
+ });
41
+ if (newConverter.nodeTypes.length) {
42
+ filteredConverters.push(newConverter);
43
+ }
44
+ }
45
+ return filteredConverters;
18
46
  };
47
+ // find the path of this field, as well as its sibling fields, by looking for this `field` in fields and traversing it recursively
48
+ function findFieldPathAndSiblingFields(fields, path, field) {
49
+ for (const curField of fields){
50
+ if (curField === field) {
51
+ return {
52
+ path: [
53
+ ...path,
54
+ curField.name
55
+ ],
56
+ siblingFields: fields
57
+ };
58
+ }
59
+ if ('fields' in curField) {
60
+ const result = findFieldPathAndSiblingFields(curField.fields, 'name' in curField ? [
61
+ ...path,
62
+ curField.name
63
+ ] : [
64
+ ...path
65
+ ], field);
66
+ if (result) {
67
+ return result;
68
+ }
69
+ } else if ('tabs' in curField) {
70
+ for (const tab of curField.tabs){
71
+ const result = findFieldPathAndSiblingFields(tab.fields, 'name' in tab ? [
72
+ ...path,
73
+ tab.name
74
+ ] : [
75
+ ...path
76
+ ], field);
77
+ if (result) {
78
+ return result;
79
+ }
80
+ }
81
+ } else if ('blocks' in curField) {
82
+ for (const block of curField.blocks){
83
+ if (block?.fields?.length) {
84
+ const result = findFieldPathAndSiblingFields(block.fields, [
85
+ ...path,
86
+ curField.name,
87
+ block.slug
88
+ ], field);
89
+ if (result) {
90
+ return result;
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
96
+ return null;
97
+ }
19
98
  export const lexicalHTML = (lexicalFieldName, props)=>{
20
- const { name = 'lexicalHTML' } = props;
99
+ const { name = 'lexicalHTML', hidden = true, storeInDB = false } = props;
21
100
  return {
22
101
  name,
23
- type: 'text',
102
+ type: 'code',
24
103
  admin: {
25
- hidden: true
104
+ editorOptions: {
105
+ language: 'html'
106
+ },
107
+ hidden
26
108
  },
27
109
  hooks: {
28
110
  afterRead: [
29
111
  async ({ collection, field, global, req, siblingData })=>{
30
112
  const fields = collection ? collection.fields : global.fields;
31
- // find the path of this field, as well as its sibling fields, by looking for this `field` in fields and traversing it recursively
32
- function findFieldPathAndSiblingFields(fields, path) {
33
- for (const curField of fields){
34
- if (curField === field) {
35
- return {
36
- path: [
37
- ...path,
38
- curField.name
39
- ],
40
- siblingFields: fields
41
- };
42
- }
43
- if ('fields' in curField) {
44
- const result = findFieldPathAndSiblingFields(curField.fields, 'name' in curField ? [
45
- ...path,
46
- curField.name
47
- ] : [
48
- ...path
49
- ]);
50
- if (result) {
51
- return result;
52
- }
53
- } else if ('tabs' in curField) {
54
- for (const tab of curField.tabs){
55
- const result = findFieldPathAndSiblingFields(tab.fields, 'name' in tab ? [
56
- ...path,
57
- tab.name
58
- ] : [
59
- ...path
60
- ]);
61
- if (result) {
62
- return result;
63
- }
64
- }
65
- } else if ('blocks' in curField) {
66
- for (const block of curField.blocks){
67
- if (block?.fields?.length) {
68
- const result = findFieldPathAndSiblingFields(block.fields, [
69
- ...path,
70
- curField.name,
71
- block.slug
72
- ]);
73
- if (result) {
74
- return result;
75
- }
76
- }
77
- }
78
- }
79
- }
80
- return null;
81
- }
82
- const foundSiblingFields = findFieldPathAndSiblingFields(fields, []);
113
+ const foundSiblingFields = findFieldPathAndSiblingFields(fields, [], field);
83
114
  if (!foundSiblingFields) throw new Error(`Could not find sibling fields of current lexicalHTML field with name ${field?.name}`);
84
115
  const { siblingFields } = foundSiblingFields;
85
116
  const lexicalField = siblingFields.find((field)=>'name' in field && field.name === lexicalFieldName);
@@ -106,6 +137,15 @@ export const lexicalHTML = (lexicalFieldName, props)=>{
106
137
  payload: req.payload
107
138
  });
108
139
  }
140
+ ],
141
+ beforeChange: [
142
+ ({ siblingData, value })=>{
143
+ if (storeInDB) {
144
+ return value;
145
+ }
146
+ delete siblingData[name];
147
+ return null;
148
+ }
109
149
  ]
110
150
  }
111
151
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/field/features/converters/html/field/index.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { Field, RichTextField, TextField } from 'payload/types'\n\nimport type { AdapterProps, LexicalRichTextAdapter } from '../../../../../types.js'\nimport type { SanitizedServerEditorConfig } from '../../../../lexical/config/types.js'\nimport type { HTMLConverter } from '../converter/types.js'\nimport type { HTMLConverterFeatureProps } from '../feature.server.js'\n\nimport { defaultHTMLConverters } from '../converter/defaultConverters.js'\nimport { convertLexicalToHTML } from '../converter/index.js'\n\ntype Props = {\n name: string\n}\n\n/**\n * Combines the default HTML converters with HTML converters found in the features, and with HTML converters configured in the htmlConverter feature.\n *\n * @param editorConfig\n */\nexport const consolidateHTMLConverters = ({\n editorConfig,\n}: {\n editorConfig: SanitizedServerEditorConfig\n}) => {\n const htmlConverterFeature = editorConfig.resolvedFeatureMap.get('htmlConverter')\n const htmlConverterFeatureProps: HTMLConverterFeatureProps =\n htmlConverterFeature?.serverFeatureProps\n\n const defaultConvertersWithConvertersFromFeatures = defaultHTMLConverters\n\n for (const converter of editorConfig.features.converters.html) {\n defaultConvertersWithConvertersFromFeatures.push(converter)\n }\n\n const finalConverters =\n htmlConverterFeatureProps?.converters &&\n typeof htmlConverterFeatureProps?.converters === 'function'\n ? htmlConverterFeatureProps.converters({\n defaultConverters: defaultConvertersWithConvertersFromFeatures,\n })\n : (htmlConverterFeatureProps?.converters as HTMLConverter[]) ||\n defaultConvertersWithConvertersFromFeatures\n\n return finalConverters\n}\n\nexport const lexicalHTML: (\n /**\n * A string which matches the lexical field name you want to convert to HTML.\n *\n * This has to be a SIBLING field of this lexicalHTML field - otherwise, it won't be able to find the lexical field.\n **/\n lexicalFieldName: string,\n props: Props,\n) => TextField = (lexicalFieldName, props) => {\n const { name = 'lexicalHTML' } = props\n return {\n name,\n type: 'text',\n admin: {\n hidden: true,\n },\n hooks: {\n afterRead: [\n async ({ collection, field, global, req, siblingData }) => {\n const fields = collection ? collection.fields : global.fields\n\n // find the path of this field, as well as its sibling fields, by looking for this `field` in fields and traversing it recursively\n function findFieldPathAndSiblingFields(\n fields: Field[],\n path: string[],\n ): {\n path: string[]\n siblingFields: Field[]\n } {\n for (const curField of fields) {\n if (curField === field) {\n return {\n path: [...path, curField.name],\n siblingFields: fields,\n }\n }\n\n if ('fields' in curField) {\n const result = findFieldPathAndSiblingFields(\n curField.fields,\n 'name' in curField ? [...path, curField.name] : [...path],\n )\n if (result) {\n return result\n }\n } else if ('tabs' in curField) {\n for (const tab of curField.tabs) {\n const result = findFieldPathAndSiblingFields(\n tab.fields,\n 'name' in tab ? [...path, tab.name] : [...path],\n )\n if (result) {\n return result\n }\n }\n } else if ('blocks' in curField) {\n for (const block of curField.blocks) {\n if (block?.fields?.length) {\n const result = findFieldPathAndSiblingFields(block.fields, [\n ...path,\n curField.name,\n block.slug,\n ])\n if (result) {\n return result\n }\n }\n }\n }\n }\n\n return null\n }\n\n const foundSiblingFields = findFieldPathAndSiblingFields(fields, [])\n\n if (!foundSiblingFields)\n throw new Error(\n `Could not find sibling fields of current lexicalHTML field with name ${field?.name}`,\n )\n\n const { siblingFields } = foundSiblingFields\n const lexicalField: RichTextField<SerializedEditorState, AdapterProps> =\n siblingFields.find(\n (field) => 'name' in field && field.name === lexicalFieldName,\n ) as RichTextField<SerializedEditorState, AdapterProps>\n\n const lexicalFieldData: SerializedEditorState = siblingData[lexicalFieldName]\n\n if (!lexicalFieldData) {\n return ''\n }\n\n if (!lexicalField) {\n throw new Error(\n 'You cannot use the lexicalHTML field because the referenced lexical field was not found',\n )\n }\n\n const config = (lexicalField?.editor as LexicalRichTextAdapter)?.editorConfig\n\n if (!config) {\n throw new Error(\n 'The linked lexical field does not have an editorConfig. This is needed for the lexicalHTML field.',\n )\n }\n\n if (!config?.resolvedFeatureMap?.has('htmlConverter')) {\n throw new Error(\n 'You cannot use the lexicalHTML field because the linked lexical field does not have a HTMLConverterFeature',\n )\n }\n\n const finalConverters = consolidateHTMLConverters({\n editorConfig: config,\n })\n\n return await convertLexicalToHTML({\n converters: finalConverters,\n data: lexicalFieldData,\n payload: req.payload,\n })\n },\n ],\n },\n }\n}\n"],"names":["defaultHTMLConverters","convertLexicalToHTML","consolidateHTMLConverters","editorConfig","htmlConverterFeature","resolvedFeatureMap","get","htmlConverterFeatureProps","serverFeatureProps","defaultConvertersWithConvertersFromFeatures","converter","features","converters","html","push","finalConverters","defaultConverters","lexicalHTML","lexicalFieldName","props","name","type","admin","hidden","hooks","afterRead","collection","field","global","req","siblingData","fields","findFieldPathAndSiblingFields","path","curField","siblingFields","result","tab","tabs","block","blocks","length","slug","foundSiblingFields","Error","lexicalField","find","lexicalFieldData","config","editor","has","data","payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAQA,SAASA,qBAAqB,QAAQ,oCAAmC;AACzE,SAASC,oBAAoB,QAAQ,wBAAuB;AAM5D;;;;CAIC,GACD,OAAO,MAAMC,4BAA4B,CAAC,EACxCC,YAAY,EAGb;IACC,MAAMC,uBAAuBD,aAAaE,kBAAkB,CAACC,GAAG,CAAC;IACjE,MAAMC,4BACJH,sBAAsBI;IAExB,MAAMC,8CAA8CT;IAEpD,KAAK,MAAMU,aAAaP,aAAaQ,QAAQ,CAACC,UAAU,CAACC,IAAI,CAAE;QAC7DJ,4CAA4CK,IAAI,CAACJ;IACnD;IAEA,MAAMK,kBACJR,2BAA2BK,cAC3B,OAAOL,2BAA2BK,eAAe,aAC7CL,0BAA0BK,UAAU,CAAC;QACnCI,mBAAmBP;IACrB,KACA,AAACF,2BAA2BK,cAC5BH;IAEN,OAAOM;AACT,EAAC;AAED,OAAO,MAAME,cAQI,CAACC,kBAAkBC;IAClC,MAAM,EAAEC,OAAO,aAAa,EAAE,GAAGD;IACjC,OAAO;QACLC;QACAC,MAAM;QACNC,OAAO;YACLC,QAAQ;QACV;QACAC,OAAO;YACLC,WAAW;gBACT,OAAO,EAAEC,UAAU,EAAEC,KAAK,EAAEC,MAAM,EAAEC,GAAG,EAAEC,WAAW,EAAE;oBACpD,MAAMC,SAASL,aAAaA,WAAWK,MAAM,GAAGH,OAAOG,MAAM;oBAE7D,kIAAkI;oBAClI,SAASC,8BACPD,MAAe,EACfE,IAAc;wBAKd,KAAK,MAAMC,YAAYH,OAAQ;4BAC7B,IAAIG,aAAaP,OAAO;gCACtB,OAAO;oCACLM,MAAM;2CAAIA;wCAAMC,SAASd,IAAI;qCAAC;oCAC9Be,eAAeJ;gCACjB;4BACF;4BAEA,IAAI,YAAYG,UAAU;gCACxB,MAAME,SAASJ,8BACbE,SAASH,MAAM,EACf,UAAUG,WAAW;uCAAID;oCAAMC,SAASd,IAAI;iCAAC,GAAG;uCAAIa;iCAAK;gCAE3D,IAAIG,QAAQ;oCACV,OAAOA;gCACT;4BACF,OAAO,IAAI,UAAUF,UAAU;gCAC7B,KAAK,MAAMG,OAAOH,SAASI,IAAI,CAAE;oCAC/B,MAAMF,SAASJ,8BACbK,IAAIN,MAAM,EACV,UAAUM,MAAM;2CAAIJ;wCAAMI,IAAIjB,IAAI;qCAAC,GAAG;2CAAIa;qCAAK;oCAEjD,IAAIG,QAAQ;wCACV,OAAOA;oCACT;gCACF;4BACF,OAAO,IAAI,YAAYF,UAAU;gCAC/B,KAAK,MAAMK,SAASL,SAASM,MAAM,CAAE;oCACnC,IAAID,OAAOR,QAAQU,QAAQ;wCACzB,MAAML,SAASJ,8BAA8BO,MAAMR,MAAM,EAAE;+CACtDE;4CACHC,SAASd,IAAI;4CACbmB,MAAMG,IAAI;yCACX;wCACD,IAAIN,QAAQ;4CACV,OAAOA;wCACT;oCACF;gCACF;4BACF;wBACF;wBAEA,OAAO;oBACT;oBAEA,MAAMO,qBAAqBX,8BAA8BD,QAAQ,EAAE;oBAEnE,IAAI,CAACY,oBACH,MAAM,IAAIC,MACR,CAAC,qEAAqE,EAAEjB,OAAOP,KAAK,CAAC;oBAGzF,MAAM,EAAEe,aAAa,EAAE,GAAGQ;oBAC1B,MAAME,eACJV,cAAcW,IAAI,CAChB,CAACnB,QAAU,UAAUA,SAASA,MAAMP,IAAI,KAAKF;oBAGjD,MAAM6B,mBAA0CjB,WAAW,CAACZ,iBAAiB;oBAE7E,IAAI,CAAC6B,kBAAkB;wBACrB,OAAO;oBACT;oBAEA,IAAI,CAACF,cAAc;wBACjB,MAAM,IAAID,MACR;oBAEJ;oBAEA,MAAMI,SAAUH,cAAcI,QAAmC9C;oBAEjE,IAAI,CAAC6C,QAAQ;wBACX,MAAM,IAAIJ,MACR;oBAEJ;oBAEA,IAAI,CAACI,QAAQ3C,oBAAoB6C,IAAI,kBAAkB;wBACrD,MAAM,IAAIN,MACR;oBAEJ;oBAEA,MAAM7B,kBAAkBb,0BAA0B;wBAChDC,cAAc6C;oBAChB;oBAEA,OAAO,MAAM/C,qBAAqB;wBAChCW,YAAYG;wBACZoC,MAAMJ;wBACNK,SAASvB,IAAIuB,OAAO;oBACtB;gBACF;aACD;QACH;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../../../src/field/features/converters/html/field/index.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { Field, FieldAffectingData, RichTextField } from 'payload'\n\nimport type { AdapterProps, LexicalRichTextAdapter } from '../../../../../types.js'\nimport type { SanitizedServerEditorConfig } from '../../../../lexical/config/types.js'\nimport type { HTMLConverter } from '../converter/types.js'\nimport type { HTMLConverterFeatureProps } from '../feature.server.js'\n\nimport { defaultHTMLConverters } from '../converter/defaultConverters.js'\nimport { convertLexicalToHTML } from '../converter/index.js'\n\ntype Props = {\n /**\n * Whether the lexicalHTML field should be hidden in the admin panel\n *\n * @default true\n */\n hidden?: boolean\n name: string\n /**\n * Whether the HTML should be stored in the database\n *\n * @default false\n */\n storeInDB?: boolean\n}\n\n/**\n * Combines the default HTML converters with HTML converters found in the features, and with HTML converters configured in the htmlConverter feature.\n *\n * @param editorConfig\n */\nexport const consolidateHTMLConverters = ({\n editorConfig,\n}: {\n editorConfig: SanitizedServerEditorConfig\n}): HTMLConverter[] => {\n const htmlConverterFeature = editorConfig.resolvedFeatureMap.get('htmlConverter')\n const htmlConverterFeatureProps: HTMLConverterFeatureProps =\n htmlConverterFeature?.serverFeatureProps\n\n const defaultConvertersWithConvertersFromFeatures = [...defaultHTMLConverters]\n\n for (const converter of editorConfig.features.converters.html) {\n defaultConvertersWithConvertersFromFeatures.push(converter)\n }\n\n const finalConverters =\n htmlConverterFeatureProps?.converters &&\n typeof htmlConverterFeatureProps?.converters === 'function'\n ? htmlConverterFeatureProps.converters({\n defaultConverters: defaultConvertersWithConvertersFromFeatures,\n })\n : (htmlConverterFeatureProps?.converters as HTMLConverter[]) ||\n defaultConvertersWithConvertersFromFeatures\n\n // filter converters by nodeTypes. The last converter in the list wins. If there are multiple converters for the same nodeType, the last one will be used and the node types will be removed from\n // previous converters. If previous converters do not have any nodeTypes left, they will be removed from the list.\n // This guarantees that user-added converters which are added after the default ones will always have precedence\n const foundNodeTypes: string[] = []\n const filteredConverters: HTMLConverter[] = []\n for (const converter of finalConverters.reverse()) {\n if (!converter.nodeTypes?.length) {\n continue\n }\n const newConverter: HTMLConverter = {\n converter: converter.converter,\n nodeTypes: [...converter.nodeTypes],\n }\n newConverter.nodeTypes = newConverter.nodeTypes.filter((nodeType) => {\n if (foundNodeTypes.includes(nodeType)) {\n return false\n }\n foundNodeTypes.push(nodeType)\n return true\n })\n\n if (newConverter.nodeTypes.length) {\n filteredConverters.push(newConverter)\n }\n }\n\n return filteredConverters\n}\n\n// find the path of this field, as well as its sibling fields, by looking for this `field` in fields and traversing it recursively\nfunction findFieldPathAndSiblingFields(\n fields: Field[],\n path: string[],\n field: FieldAffectingData,\n): {\n path: string[]\n siblingFields: Field[]\n} {\n for (const curField of fields) {\n if (curField === field) {\n return {\n path: [...path, curField.name],\n siblingFields: fields,\n }\n }\n\n if ('fields' in curField) {\n const result = findFieldPathAndSiblingFields(\n curField.fields,\n 'name' in curField ? [...path, curField.name] : [...path],\n field,\n )\n if (result) {\n return result\n }\n } else if ('tabs' in curField) {\n for (const tab of curField.tabs) {\n const result = findFieldPathAndSiblingFields(\n tab.fields,\n 'name' in tab ? [...path, tab.name] : [...path],\n field,\n )\n if (result) {\n return result\n }\n }\n } else if ('blocks' in curField) {\n for (const block of curField.blocks) {\n if (block?.fields?.length) {\n const result = findFieldPathAndSiblingFields(\n block.fields,\n [...path, curField.name, block.slug],\n field,\n )\n if (result) {\n return result\n }\n }\n }\n }\n }\n\n return null\n}\n\nexport const lexicalHTML: (\n /**\n * A string which matches the lexical field name you want to convert to HTML.\n *\n * This has to be a SIBLING field of this lexicalHTML field - otherwise, it won't be able to find the lexical field.\n **/\n lexicalFieldName: string,\n props: Props,\n) => Field = (lexicalFieldName, props) => {\n const { name = 'lexicalHTML', hidden = true, storeInDB = false } = props\n return {\n name,\n type: 'code',\n admin: {\n editorOptions: {\n language: 'html',\n },\n hidden,\n },\n hooks: {\n afterRead: [\n async ({ collection, field, global, req, siblingData }) => {\n const fields = collection ? collection.fields : global.fields\n\n const foundSiblingFields = findFieldPathAndSiblingFields(fields, [], field)\n\n if (!foundSiblingFields)\n throw new Error(\n `Could not find sibling fields of current lexicalHTML field with name ${field?.name}`,\n )\n\n const { siblingFields } = foundSiblingFields\n const lexicalField: RichTextField<SerializedEditorState, AdapterProps> =\n siblingFields.find(\n (field) => 'name' in field && field.name === lexicalFieldName,\n ) as RichTextField<SerializedEditorState, AdapterProps>\n\n const lexicalFieldData: SerializedEditorState = siblingData[lexicalFieldName]\n\n if (!lexicalFieldData) {\n return ''\n }\n\n if (!lexicalField) {\n throw new Error(\n 'You cannot use the lexicalHTML field because the referenced lexical field was not found',\n )\n }\n\n const config = (lexicalField?.editor as LexicalRichTextAdapter)?.editorConfig\n\n if (!config) {\n throw new Error(\n 'The linked lexical field does not have an editorConfig. This is needed for the lexicalHTML field.',\n )\n }\n\n if (!config?.resolvedFeatureMap?.has('htmlConverter')) {\n throw new Error(\n 'You cannot use the lexicalHTML field because the linked lexical field does not have a HTMLConverterFeature',\n )\n }\n\n const finalConverters = consolidateHTMLConverters({\n editorConfig: config,\n })\n\n return await convertLexicalToHTML({\n converters: finalConverters,\n data: lexicalFieldData,\n payload: req.payload,\n })\n },\n ],\n beforeChange: [\n ({ siblingData, value }) => {\n if (storeInDB) {\n return value\n }\n delete siblingData[name]\n return null\n },\n ],\n },\n }\n}\n"],"names":["defaultHTMLConverters","convertLexicalToHTML","consolidateHTMLConverters","editorConfig","htmlConverterFeature","resolvedFeatureMap","get","htmlConverterFeatureProps","serverFeatureProps","defaultConvertersWithConvertersFromFeatures","converter","features","converters","html","push","finalConverters","defaultConverters","foundNodeTypes","filteredConverters","reverse","nodeTypes","length","newConverter","filter","nodeType","includes","findFieldPathAndSiblingFields","fields","path","field","curField","name","siblingFields","result","tab","tabs","block","blocks","slug","lexicalHTML","lexicalFieldName","props","hidden","storeInDB","type","admin","editorOptions","language","hooks","afterRead","collection","global","req","siblingData","foundSiblingFields","Error","lexicalField","find","lexicalFieldData","config","editor","has","data","payload","beforeChange","value"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAQA,SAASA,qBAAqB,QAAQ,oCAAmC;AACzE,SAASC,oBAAoB,QAAQ,wBAAuB;AAkB5D;;;;CAIC,GACD,OAAO,MAAMC,4BAA4B,CAAC,EACxCC,YAAY,EAGb;IACC,MAAMC,uBAAuBD,aAAaE,kBAAkB,CAACC,GAAG,CAAC;IACjE,MAAMC,4BACJH,sBAAsBI;IAExB,MAAMC,8CAA8C;WAAIT;KAAsB;IAE9E,KAAK,MAAMU,aAAaP,aAAaQ,QAAQ,CAACC,UAAU,CAACC,IAAI,CAAE;QAC7DJ,4CAA4CK,IAAI,CAACJ;IACnD;IAEA,MAAMK,kBACJR,2BAA2BK,cAC3B,OAAOL,2BAA2BK,eAAe,aAC7CL,0BAA0BK,UAAU,CAAC;QACnCI,mBAAmBP;IACrB,KACA,AAACF,2BAA2BK,cAC5BH;IAEN,iMAAiM;IACjM,kHAAkH;IAClH,gHAAgH;IAChH,MAAMQ,iBAA2B,EAAE;IACnC,MAAMC,qBAAsC,EAAE;IAC9C,KAAK,MAAMR,aAAaK,gBAAgBI,OAAO,GAAI;QACjD,IAAI,CAACT,UAAUU,SAAS,EAAEC,QAAQ;YAChC;QACF;QACA,MAAMC,eAA8B;YAClCZ,WAAWA,UAAUA,SAAS;YAC9BU,WAAW;mBAAIV,UAAUU,SAAS;aAAC;QACrC;QACAE,aAAaF,SAAS,GAAGE,aAAaF,SAAS,CAACG,MAAM,CAAC,CAACC;YACtD,IAAIP,eAAeQ,QAAQ,CAACD,WAAW;gBACrC,OAAO;YACT;YACAP,eAAeH,IAAI,CAACU;YACpB,OAAO;QACT;QAEA,IAAIF,aAAaF,SAAS,CAACC,MAAM,EAAE;YACjCH,mBAAmBJ,IAAI,CAACQ;QAC1B;IACF;IAEA,OAAOJ;AACT,EAAC;AAED,kIAAkI;AAClI,SAASQ,8BACPC,MAAe,EACfC,IAAc,EACdC,KAAyB;IAKzB,KAAK,MAAMC,YAAYH,OAAQ;QAC7B,IAAIG,aAAaD,OAAO;YACtB,OAAO;gBACLD,MAAM;uBAAIA;oBAAME,SAASC,IAAI;iBAAC;gBAC9BC,eAAeL;YACjB;QACF;QAEA,IAAI,YAAYG,UAAU;YACxB,MAAMG,SAASP,8BACbI,SAASH,MAAM,EACf,UAAUG,WAAW;mBAAIF;gBAAME,SAASC,IAAI;aAAC,GAAG;mBAAIH;aAAK,EACzDC;YAEF,IAAII,QAAQ;gBACV,OAAOA;YACT;QACF,OAAO,IAAI,UAAUH,UAAU;YAC7B,KAAK,MAAMI,OAAOJ,SAASK,IAAI,CAAE;gBAC/B,MAAMF,SAASP,8BACbQ,IAAIP,MAAM,EACV,UAAUO,MAAM;uBAAIN;oBAAMM,IAAIH,IAAI;iBAAC,GAAG;uBAAIH;iBAAK,EAC/CC;gBAEF,IAAII,QAAQ;oBACV,OAAOA;gBACT;YACF;QACF,OAAO,IAAI,YAAYH,UAAU;YAC/B,KAAK,MAAMM,SAASN,SAASO,MAAM,CAAE;gBACnC,IAAID,OAAOT,QAAQN,QAAQ;oBACzB,MAAMY,SAASP,8BACbU,MAAMT,MAAM,EACZ;2BAAIC;wBAAME,SAASC,IAAI;wBAAEK,MAAME,IAAI;qBAAC,EACpCT;oBAEF,IAAII,QAAQ;wBACV,OAAOA;oBACT;gBACF;YACF;QACF;IACF;IAEA,OAAO;AACT;AAEA,OAAO,MAAMM,cAQA,CAACC,kBAAkBC;IAC9B,MAAM,EAAEV,OAAO,aAAa,EAAEW,SAAS,IAAI,EAAEC,YAAY,KAAK,EAAE,GAAGF;IACnE,OAAO;QACLV;QACAa,MAAM;QACNC,OAAO;YACLC,eAAe;gBACbC,UAAU;YACZ;YACAL;QACF;QACAM,OAAO;YACLC,WAAW;gBACT,OAAO,EAAEC,UAAU,EAAErB,KAAK,EAAEsB,MAAM,EAAEC,GAAG,EAAEC,WAAW,EAAE;oBACpD,MAAM1B,SAASuB,aAAaA,WAAWvB,MAAM,GAAGwB,OAAOxB,MAAM;oBAE7D,MAAM2B,qBAAqB5B,8BAA8BC,QAAQ,EAAE,EAAEE;oBAErE,IAAI,CAACyB,oBACH,MAAM,IAAIC,MACR,CAAC,qEAAqE,EAAE1B,OAAOE,KAAK,CAAC;oBAGzF,MAAM,EAAEC,aAAa,EAAE,GAAGsB;oBAC1B,MAAME,eACJxB,cAAcyB,IAAI,CAChB,CAAC5B,QAAU,UAAUA,SAASA,MAAME,IAAI,KAAKS;oBAGjD,MAAMkB,mBAA0CL,WAAW,CAACb,iBAAiB;oBAE7E,IAAI,CAACkB,kBAAkB;wBACrB,OAAO;oBACT;oBAEA,IAAI,CAACF,cAAc;wBACjB,MAAM,IAAID,MACR;oBAEJ;oBAEA,MAAMI,SAAUH,cAAcI,QAAmCzD;oBAEjE,IAAI,CAACwD,QAAQ;wBACX,MAAM,IAAIJ,MACR;oBAEJ;oBAEA,IAAI,CAACI,QAAQtD,oBAAoBwD,IAAI,kBAAkB;wBACrD,MAAM,IAAIN,MACR;oBAEJ;oBAEA,MAAMxC,kBAAkBb,0BAA0B;wBAChDC,cAAcwD;oBAChB;oBAEA,OAAO,MAAM1D,qBAAqB;wBAChCW,YAAYG;wBACZ+C,MAAMJ;wBACNK,SAASX,IAAIW,OAAO;oBACtB;gBACF;aACD;YACDC,cAAc;gBACZ,CAAC,EAAEX,WAAW,EAAEY,KAAK,EAAE;oBACrB,IAAItB,WAAW;wBACb,OAAOsB;oBACT;oBACA,OAAOZ,WAAW,CAACtB,KAAK;oBACxB,OAAO;gBACT;aACD;QACH;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createFeaturePropComponent.d.ts","sourceRoot":"","sources":["../../../src/field/features/createFeaturePropComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAc9B,eAAO,MAAM,0BAA0B,sBAC/B,CAAC,KACN,MAAM,EAAE,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAKvD,CAAA"}
1
+ {"version":3,"file":"createFeaturePropComponent.d.ts","sourceRoot":"","sources":["../../../src/field/features/createFeaturePropComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAkB9B,eAAO,MAAM,0BAA0B,sBAC/B,CAAC,KACN,MAAM,EAAE,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAKvD,CAAA"}
@@ -1,8 +1,11 @@
1
1
  'use client';
2
- import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
3
- import { useAddClientFunction } from '@payloadcms/ui/providers/ClientFunction';
2
+ import { useAddClientFunction, useFieldProps, useTableCell } from '@payloadcms/ui/client';
4
3
  const useLexicalFeatureProp = (featureKey, componentKey, prop)=>{
5
- const { schemaPath } = useFieldProps();
4
+ const { schemaPath: schemaPathFromFieldProps } = useFieldProps();
5
+ const tableCell = useTableCell();
6
+ const schemaPathFromCellProps = tableCell?.cellProps?.schemaPath;
7
+ const schemaPath = schemaPathFromCellProps || schemaPathFromFieldProps // schemaPathFromCellProps needs to have priority, as there can be cells within fields (e.g. list drawers) and the cell schemaPath needs to be used there - not the parent field schemaPath. There cannot be fields within cells.
8
+ ;
6
9
  useAddClientFunction(`lexicalFeature.${schemaPath}.${featureKey}.components.${componentKey}`, prop);
7
10
  };
8
11
  export const createFeaturePropComponent = (prop)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/field/features/createFeaturePropComponent.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { useAddClientFunction } from '@payloadcms/ui/providers/ClientFunction'\n\nconst useLexicalFeatureProp = <T,>(featureKey: string, componentKey: string, prop: T) => {\n const { schemaPath } = useFieldProps()\n\n useAddClientFunction(\n `lexicalFeature.${schemaPath}.${featureKey}.components.${componentKey}`,\n prop,\n )\n}\n\nexport const createFeaturePropComponent = <T = unknown,>(\n prop: T,\n): React.FC<{ componentKey: string; featureKey: string }> => {\n return (props) => {\n useLexicalFeatureProp(props.featureKey, props.componentKey, prop)\n return null\n }\n}\n"],"names":["useFieldProps","useAddClientFunction","useLexicalFeatureProp","featureKey","componentKey","prop","schemaPath","createFeaturePropComponent","props"],"rangeMappings":";;;;;;;;;;;;","mappings":"AAAA;AAIA,SAASA,aAAa,QAAQ,0CAAyC;AACvE,SAASC,oBAAoB,QAAQ,0CAAyC;AAE9E,MAAMC,wBAAwB,CAAKC,YAAoBC,cAAsBC;IAC3E,MAAM,EAAEC,UAAU,EAAE,GAAGN;IAEvBC,qBACE,CAAC,eAAe,EAAEK,WAAW,CAAC,EAAEH,WAAW,YAAY,EAAEC,aAAa,CAAC,EACvEC;AAEJ;AAEA,OAAO,MAAME,6BAA6B,CACxCF;IAEA,OAAO,CAACG;QACNN,sBAAsBM,MAAML,UAAU,EAAEK,MAAMJ,YAAY,EAAEC;QAC5D,OAAO;IACT;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/field/features/createFeaturePropComponent.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { useAddClientFunction, useFieldProps, useTableCell } from '@payloadcms/ui/client'\n\nconst useLexicalFeatureProp = <T,>(featureKey: string, componentKey: string, prop: T) => {\n const { schemaPath: schemaPathFromFieldProps } = useFieldProps()\n const tableCell = useTableCell()\n\n const schemaPathFromCellProps = tableCell?.cellProps?.schemaPath\n\n const schemaPath = schemaPathFromCellProps || schemaPathFromFieldProps // schemaPathFromCellProps needs to have priority, as there can be cells within fields (e.g. list drawers) and the cell schemaPath needs to be used there - not the parent field schemaPath. There cannot be fields within cells.\n\n useAddClientFunction(\n `lexicalFeature.${schemaPath}.${featureKey}.components.${componentKey}`,\n prop,\n )\n}\n\nexport const createFeaturePropComponent = <T = unknown,>(\n prop: T,\n): React.FC<{ componentKey: string; featureKey: string }> => {\n return (props) => {\n useLexicalFeatureProp(props.featureKey, props.componentKey, prop)\n return null\n }\n}\n"],"names":["useAddClientFunction","useFieldProps","useTableCell","useLexicalFeatureProp","featureKey","componentKey","prop","schemaPath","schemaPathFromFieldProps","tableCell","schemaPathFromCellProps","cellProps","createFeaturePropComponent","props"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,SAASA,oBAAoB,EAAEC,aAAa,EAAEC,YAAY,QAAQ,wBAAuB;AAEzF,MAAMC,wBAAwB,CAAKC,YAAoBC,cAAsBC;IAC3E,MAAM,EAAEC,YAAYC,wBAAwB,EAAE,GAAGP;IACjD,MAAMQ,YAAYP;IAElB,MAAMQ,0BAA0BD,WAAWE,WAAWJ;IAEtD,MAAMA,aAAaG,2BAA2BF,yBAAyB,iOAAiO;;IAExSR,qBACE,CAAC,eAAe,EAAEO,WAAW,CAAC,EAAEH,WAAW,YAAY,EAAEC,aAAa,CAAC,EACvEC;AAEJ;AAEA,OAAO,MAAMM,6BAA6B,CACxCN;IAEA,OAAO,CAACO;QACNV,sBAAsBU,MAAMT,UAAU,EAAES,MAAMR,YAAY,EAAEC;QAC5D,OAAO;IACT;AACF,EAAC"}