@payloadcms/richtext-lexical 3.0.0-beta.78 → 3.0.0-beta.79

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 (1182) hide show
  1. package/dist/cell/index.d.ts +2 -2
  2. package/dist/cell/index.d.ts.map +1 -1
  3. package/dist/cell/index.js +5 -5
  4. package/dist/cell/index.js.map +1 -1
  5. package/dist/exports/client/Field-QK4IB5HD.js +2 -0
  6. package/dist/exports/client/Field-QK4IB5HD.js.map +7 -0
  7. package/dist/exports/client/RelationshipComponent-GYUTPDNG.js +2 -0
  8. package/dist/exports/client/RelationshipComponent-GYUTPDNG.js.map +7 -0
  9. package/dist/exports/client/bundled.css +1 -1
  10. package/dist/exports/client/chunk-4EX7W4UX.js +2 -0
  11. package/dist/exports/client/chunk-4EX7W4UX.js.map +7 -0
  12. package/dist/exports/client/chunk-E4HH5PS6.js +2 -0
  13. package/dist/exports/client/chunk-E4HH5PS6.js.map +7 -0
  14. package/dist/exports/client/chunk-LTR7V74A.js +2 -0
  15. package/dist/exports/client/chunk-LTR7V74A.js.map +7 -0
  16. package/dist/exports/client/chunk-SQHN3N6E.js +2 -0
  17. package/dist/exports/client/chunk-SQHN3N6E.js.map +7 -0
  18. package/dist/exports/client/chunk-VMCQSR3T.js +3 -0
  19. package/dist/exports/client/chunk-VMCQSR3T.js.map +7 -0
  20. package/dist/exports/client/component-6C5JERGA.js +2 -0
  21. package/dist/exports/client/component-6C5JERGA.js.map +7 -0
  22. package/dist/exports/client/component-GUWIGB77.js +2 -0
  23. package/dist/exports/client/component-GUWIGB77.js.map +7 -0
  24. package/dist/exports/client/component-UQ2BKD5X.js +2 -0
  25. package/dist/exports/client/component-UQ2BKD5X.js.map +7 -0
  26. package/dist/exports/client/componentInline-C2XIK5VZ.js +2 -0
  27. package/dist/exports/client/componentInline-C2XIK5VZ.js.map +7 -0
  28. package/dist/exports/client/index.d.ts +21 -22
  29. package/dist/exports/client/index.d.ts.map +1 -1
  30. package/dist/exports/client/index.js +12 -12
  31. package/dist/exports/client/index.js.map +4 -4
  32. package/dist/exports/server/migrate.d.ts +16 -0
  33. package/dist/exports/server/migrate.d.ts.map +1 -0
  34. package/dist/exports/server/migrate.js +17 -0
  35. package/dist/exports/server/migrate.js.map +1 -0
  36. package/dist/features/align/client/index.d.ts +5 -0
  37. package/dist/features/align/client/index.d.ts.map +1 -0
  38. package/dist/features/align/client/index.js +146 -0
  39. package/dist/features/align/client/index.js.map +1 -0
  40. package/dist/features/align/client/toolbarAlignGroup.d.ts +3 -0
  41. package/dist/features/align/client/toolbarAlignGroup.d.ts.map +1 -0
  42. package/dist/features/align/client/toolbarAlignGroup.js +12 -0
  43. package/dist/features/align/client/toolbarAlignGroup.js.map +1 -0
  44. package/dist/features/align/server/i18n.d.ts.map +1 -0
  45. package/dist/features/align/server/i18n.js.map +1 -0
  46. package/dist/features/align/server/index.d.ts +2 -0
  47. package/dist/features/align/server/index.d.ts.map +1 -0
  48. package/dist/features/align/server/index.js +11 -0
  49. package/dist/features/align/server/index.js.map +1 -0
  50. package/dist/features/blockquote/client/index.d.ts +5 -0
  51. package/dist/features/blockquote/client/index.d.ts.map +1 -0
  52. package/dist/features/blockquote/client/index.js +77 -0
  53. package/dist/features/blockquote/client/index.js.map +1 -0
  54. package/dist/features/blockquote/server/i18n.d.ts.map +1 -0
  55. package/dist/features/blockquote/server/i18n.js.map +1 -0
  56. package/dist/features/blockquote/server/index.d.ts +7 -0
  57. package/dist/features/blockquote/server/index.d.ts.map +1 -0
  58. package/dist/features/blockquote/server/index.js +46 -0
  59. package/dist/features/blockquote/server/index.js.map +1 -0
  60. package/dist/features/blocks/client/component/BlockContent.d.ts +22 -0
  61. package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -0
  62. package/dist/features/blocks/client/component/BlockContent.js +198 -0
  63. package/dist/features/blocks/client/component/BlockContent.js.map +1 -0
  64. package/dist/features/blocks/client/component/FormSavePlugin.d.ts.map +1 -0
  65. package/dist/features/blocks/client/component/FormSavePlugin.js.map +1 -0
  66. package/dist/features/blocks/client/component/index.d.ts +11 -0
  67. package/dist/features/blocks/client/component/index.d.ts.map +1 -0
  68. package/dist/features/blocks/client/component/index.js +157 -0
  69. package/dist/features/blocks/client/component/index.js.map +1 -0
  70. package/dist/features/blocks/client/component/removeEmptyArrayValues.d.ts.map +1 -0
  71. package/dist/features/blocks/client/component/removeEmptyArrayValues.js.map +1 -0
  72. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -0
  73. package/dist/features/blocks/client/componentInline/index.js +138 -0
  74. package/dist/features/blocks/client/componentInline/index.js.map +1 -0
  75. package/dist/features/blocks/client/index.d.ts +9 -0
  76. package/dist/features/blocks/client/index.d.ts.map +1 -0
  77. package/dist/features/blocks/client/index.js +152 -0
  78. package/dist/features/blocks/client/index.js.map +1 -0
  79. package/dist/features/blocks/client/nodes/BlocksNode.d.ts +14 -0
  80. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -0
  81. package/dist/features/blocks/client/nodes/BlocksNode.js +52 -0
  82. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -0
  83. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts +25 -0
  84. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -0
  85. package/dist/features/blocks/client/nodes/InlineBlocksNode.js +41 -0
  86. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -0
  87. package/dist/features/blocks/client/plugin/commands.d.ts.map +1 -0
  88. package/dist/features/blocks/client/plugin/commands.js.map +1 -0
  89. package/dist/features/blocks/client/plugin/index.d.ts +6 -0
  90. package/dist/features/blocks/client/plugin/index.d.ts.map +1 -0
  91. package/dist/features/blocks/client/plugin/index.js +129 -0
  92. package/dist/features/blocks/client/plugin/index.js.map +1 -0
  93. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts +6 -0
  94. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -0
  95. package/dist/features/blocks/server/graphQLPopulationPromise.js +31 -0
  96. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -0
  97. package/dist/features/blocks/server/i18n.d.ts.map +1 -0
  98. package/dist/features/blocks/server/i18n.js.map +1 -0
  99. package/dist/features/blocks/server/index.d.ts +8 -0
  100. package/dist/features/blocks/server/index.d.ts.map +1 -0
  101. package/dist/features/blocks/server/index.js +162 -0
  102. package/dist/features/blocks/server/index.js.map +1 -0
  103. package/dist/features/blocks/server/nodes/BlocksNode.d.ts +38 -0
  104. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -0
  105. package/dist/features/blocks/server/nodes/BlocksNode.js +84 -0
  106. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -0
  107. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts +40 -0
  108. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -0
  109. package/dist/features/blocks/server/nodes/InlineBlocksNode.js +86 -0
  110. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -0
  111. package/dist/features/blocks/server/validate.d.ts +6 -0
  112. package/dist/features/blocks/server/validate.d.ts.map +1 -0
  113. package/dist/features/blocks/server/validate.js.map +1 -0
  114. package/dist/features/converters/html/field/index.js.map +1 -1
  115. package/dist/features/converters/html/index.d.ts +8 -0
  116. package/dist/features/converters/html/index.d.ts.map +1 -0
  117. package/dist/features/converters/html/index.js +8 -0
  118. package/dist/features/converters/html/index.js.map +1 -0
  119. package/dist/features/createClientComponent.d.ts +3 -3
  120. package/dist/features/createClientComponent.d.ts.map +1 -1
  121. package/dist/features/createClientComponent.js.map +1 -1
  122. package/dist/features/createFeaturePropComponent.js +1 -1
  123. package/dist/features/createFeaturePropComponent.js.map +1 -1
  124. package/dist/features/debug/testRecorder/client/index.d.ts +5 -0
  125. package/dist/features/debug/testRecorder/client/index.d.ts.map +1 -0
  126. package/dist/features/debug/testRecorder/client/index.js +13 -0
  127. package/dist/features/debug/testRecorder/client/index.js.map +1 -0
  128. package/dist/features/debug/testRecorder/client/plugin/index.d.ts +5 -0
  129. package/dist/features/debug/testRecorder/client/plugin/index.d.ts.map +1 -0
  130. package/dist/features/debug/testRecorder/client/plugin/index.js +471 -0
  131. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -0
  132. package/dist/features/debug/testRecorder/server/index.d.ts +2 -0
  133. package/dist/features/debug/testRecorder/server/index.d.ts.map +1 -0
  134. package/dist/features/debug/testRecorder/server/index.js +9 -0
  135. package/dist/features/debug/testRecorder/server/index.js.map +1 -0
  136. package/dist/features/debug/treeView/client/index.d.ts +5 -0
  137. package/dist/features/debug/treeView/client/index.d.ts.map +1 -0
  138. package/dist/features/debug/treeView/client/index.js +13 -0
  139. package/dist/features/debug/treeView/client/index.js.map +1 -0
  140. package/dist/features/debug/treeView/client/plugin/index.d.ts +4 -0
  141. package/dist/features/debug/treeView/client/plugin/index.d.ts.map +1 -0
  142. package/dist/features/debug/treeView/client/plugin/index.js.map +1 -0
  143. package/dist/features/debug/treeView/server/index.d.ts +2 -0
  144. package/dist/features/debug/treeView/server/index.d.ts.map +1 -0
  145. package/dist/features/debug/treeView/server/index.js +9 -0
  146. package/dist/features/debug/treeView/server/index.js.map +1 -0
  147. package/dist/features/experimental_table/client/index.d.ts +2 -0
  148. package/dist/features/experimental_table/client/index.d.ts.map +1 -0
  149. package/dist/features/experimental_table/client/index.js +71 -0
  150. package/dist/features/experimental_table/client/index.js.map +1 -0
  151. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts +4 -0
  152. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -0
  153. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +605 -0
  154. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -0
  155. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts +3 -0
  156. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -0
  157. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +327 -0
  158. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -0
  159. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts +12 -0
  160. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -0
  161. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +181 -0
  162. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -0
  163. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts +24 -0
  164. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +1 -0
  165. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +103 -0
  166. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -0
  167. package/dist/features/experimental_table/client/utils/debounce.d.ts.map +1 -0
  168. package/dist/features/experimental_table/client/utils/debounce.js.map +1 -0
  169. package/dist/features/experimental_table/client/utils/useDebounce.d.ts.map +1 -0
  170. package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -0
  171. package/dist/features/experimental_table/plugins/TableHoverActionsPlugin/index.js +1 -1
  172. package/dist/features/experimental_table/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  173. package/dist/features/experimental_table/server/index.d.ts +13 -0
  174. package/dist/features/experimental_table/server/index.d.ts.map +1 -0
  175. package/dist/features/experimental_table/server/index.js +123 -0
  176. package/dist/features/experimental_table/server/index.js.map +1 -0
  177. package/dist/features/format/bold/feature.server.d.ts.map +1 -1
  178. package/dist/features/format/bold/feature.server.js +1 -3
  179. package/dist/features/format/bold/feature.server.js.map +1 -1
  180. package/dist/features/format/inlineCode/feature.server.d.ts.map +1 -1
  181. package/dist/features/format/inlineCode/feature.server.js +1 -3
  182. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  183. package/dist/features/format/italic/feature.server.d.ts.map +1 -1
  184. package/dist/features/format/italic/feature.server.js +1 -3
  185. package/dist/features/format/italic/feature.server.js.map +1 -1
  186. package/dist/features/format/strikethrough/feature.server.d.ts.map +1 -1
  187. package/dist/features/format/strikethrough/feature.server.js +1 -3
  188. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  189. package/dist/features/format/subscript/feature.server.d.ts.map +1 -1
  190. package/dist/features/format/subscript/feature.server.js +1 -3
  191. package/dist/features/format/subscript/feature.server.js.map +1 -1
  192. package/dist/features/format/superscript/feature.server.d.ts.map +1 -1
  193. package/dist/features/format/superscript/feature.server.js +1 -3
  194. package/dist/features/format/superscript/feature.server.js.map +1 -1
  195. package/dist/features/format/underline/feature.server.d.ts.map +1 -1
  196. package/dist/features/format/underline/feature.server.js +1 -3
  197. package/dist/features/format/underline/feature.server.js.map +1 -1
  198. package/dist/features/heading/client/index.d.ts +6 -0
  199. package/dist/features/heading/client/index.d.ts.map +1 -0
  200. package/dist/features/heading/client/index.js +112 -0
  201. package/dist/features/heading/client/index.js.map +1 -0
  202. package/dist/features/heading/server/i18n.d.ts.map +1 -0
  203. package/dist/features/heading/server/i18n.js.map +1 -0
  204. package/dist/features/heading/server/index.d.ts +10 -0
  205. package/dist/features/heading/server/index.d.ts.map +1 -0
  206. package/dist/features/heading/server/index.js +60 -0
  207. package/dist/features/heading/server/index.js.map +1 -0
  208. package/dist/features/horizontalRule/client/component/index.d.ts.map +1 -0
  209. package/dist/features/horizontalRule/client/component/index.js.map +1 -0
  210. package/dist/features/horizontalRule/client/index.d.ts +5 -0
  211. package/dist/features/horizontalRule/client/index.d.ts.map +1 -0
  212. package/dist/features/horizontalRule/client/index.js +71 -0
  213. package/dist/features/horizontalRule/client/index.js.map +1 -0
  214. package/dist/features/horizontalRule/client/markdownTransformer.d.ts.map +1 -0
  215. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -0
  216. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +20 -0
  217. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -0
  218. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js +43 -0
  219. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -0
  220. package/dist/features/horizontalRule/client/plugin/index.d.ts +7 -0
  221. package/dist/features/horizontalRule/client/plugin/index.d.ts.map +1 -0
  222. package/dist/features/horizontalRule/client/plugin/index.js +31 -0
  223. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -0
  224. package/dist/features/horizontalRule/server/i18n.d.ts.map +1 -0
  225. package/dist/features/horizontalRule/server/i18n.js.map +1 -0
  226. package/dist/features/horizontalRule/server/index.d.ts +2 -0
  227. package/dist/features/horizontalRule/server/index.d.ts.map +1 -0
  228. package/dist/features/horizontalRule/server/index.js +32 -0
  229. package/dist/features/horizontalRule/server/index.js.map +1 -0
  230. package/dist/features/horizontalRule/server/markdownTransformer.d.ts +3 -0
  231. package/dist/features/horizontalRule/server/markdownTransformer.d.ts.map +1 -0
  232. package/dist/features/horizontalRule/server/markdownTransformer.js +23 -0
  233. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -0
  234. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +53 -0
  235. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -0
  236. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +83 -0
  237. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -0
  238. package/dist/features/indent/client/index.d.ts +5 -0
  239. package/dist/features/indent/client/index.d.ts.map +1 -0
  240. package/dist/features/indent/client/index.js +56 -0
  241. package/dist/features/indent/client/index.js.map +1 -0
  242. package/dist/features/indent/client/toolbarIndentGroup.d.ts +3 -0
  243. package/dist/features/indent/client/toolbarIndentGroup.d.ts.map +1 -0
  244. package/dist/features/indent/client/toolbarIndentGroup.js.map +1 -0
  245. package/dist/features/indent/server/i18n.d.ts.map +1 -0
  246. package/dist/features/indent/server/i18n.js.map +1 -0
  247. package/dist/features/indent/server/index.d.ts +2 -0
  248. package/dist/features/indent/server/index.d.ts.map +1 -0
  249. package/dist/features/indent/server/index.js +11 -0
  250. package/dist/features/indent/server/index.js.map +1 -0
  251. package/dist/features/link/client/index.d.ts +16 -0
  252. package/dist/features/link/client/index.d.ts.map +1 -0
  253. package/dist/features/link/client/index.js +101 -0
  254. package/dist/features/link/client/index.js.map +1 -0
  255. package/dist/features/link/client/plugins/autoLink/index.d.ts +20 -0
  256. package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -0
  257. package/dist/features/link/client/plugins/autoLink/index.js +335 -0
  258. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -0
  259. package/dist/features/link/client/plugins/clickableLink/index.d.ts +4 -0
  260. package/dist/features/link/client/plugins/clickableLink/index.d.ts.map +1 -0
  261. package/dist/features/link/client/plugins/clickableLink/index.js.map +1 -0
  262. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +1 -0
  263. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -0
  264. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -0
  265. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +299 -0
  266. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -0
  267. package/dist/features/link/client/plugins/floatingLinkEditor/index.d.ts +5 -0
  268. package/dist/features/link/client/plugins/floatingLinkEditor/index.d.ts.map +1 -0
  269. package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -0
  270. package/dist/features/link/client/plugins/floatingLinkEditor/types.d.ts +15 -0
  271. package/dist/features/link/client/plugins/floatingLinkEditor/types.d.ts.map +1 -0
  272. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -0
  273. package/dist/features/link/client/plugins/link/index.d.ts +4 -0
  274. package/dist/features/link/client/plugins/link/index.d.ts.map +1 -0
  275. package/dist/features/link/client/plugins/link/index.js +51 -0
  276. package/dist/features/link/client/plugins/link/index.js.map +1 -0
  277. package/dist/features/link/nodes/LinkNode.d.ts +1 -1
  278. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  279. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  280. package/dist/features/link/server/baseFields.d.ts.map +1 -0
  281. package/dist/features/link/server/baseFields.js.map +1 -0
  282. package/dist/features/link/server/graphQLPopulationPromise.d.ts +5 -0
  283. package/dist/features/link/server/graphQLPopulationPromise.d.ts.map +1 -0
  284. package/dist/features/link/server/graphQLPopulationPromise.js +31 -0
  285. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -0
  286. package/dist/features/link/server/i18n.d.ts.map +1 -0
  287. package/dist/features/link/server/i18n.js.map +1 -0
  288. package/dist/features/link/server/index.d.ts +35 -0
  289. package/dist/features/link/server/index.d.ts.map +1 -0
  290. package/dist/features/link/server/index.js +132 -0
  291. package/dist/features/link/server/index.js.map +1 -0
  292. package/dist/features/link/server/transformExtraFields.d.ts +9 -0
  293. package/dist/features/link/server/transformExtraFields.d.ts.map +1 -0
  294. package/dist/features/link/server/transformExtraFields.js +20 -0
  295. package/dist/features/link/server/transformExtraFields.js.map +1 -0
  296. package/dist/features/link/server/validate.d.ts +6 -0
  297. package/dist/features/link/server/validate.d.ts.map +1 -0
  298. package/dist/features/link/server/validate.js.map +1 -0
  299. package/dist/features/lists/checklist/client/index.d.ts +5 -0
  300. package/dist/features/lists/checklist/client/index.d.ts.map +1 -0
  301. package/dist/features/lists/checklist/client/index.js +100 -0
  302. package/dist/features/lists/checklist/client/index.js.map +1 -0
  303. package/dist/features/lists/checklist/client/plugin/index.d.ts +3 -0
  304. package/dist/features/lists/checklist/client/plugin/index.d.ts.map +1 -0
  305. package/dist/features/lists/checklist/client/plugin/index.js.map +1 -0
  306. package/dist/features/lists/checklist/server/i18n.d.ts.map +1 -0
  307. package/dist/features/lists/checklist/server/i18n.js.map +1 -0
  308. package/dist/features/lists/checklist/server/index.d.ts +2 -0
  309. package/dist/features/lists/checklist/server/index.d.ts.map +1 -0
  310. package/dist/features/lists/checklist/server/index.js +34 -0
  311. package/dist/features/lists/checklist/server/index.js.map +1 -0
  312. package/dist/features/lists/orderedList/client/index.d.ts +5 -0
  313. package/dist/features/lists/orderedList/client/index.d.ts.map +1 -0
  314. package/dist/features/lists/orderedList/client/index.js +90 -0
  315. package/dist/features/lists/orderedList/client/index.js.map +1 -0
  316. package/dist/features/lists/orderedList/server/i18n.d.ts.map +1 -0
  317. package/dist/features/lists/orderedList/server/i18n.js.map +1 -0
  318. package/dist/features/lists/orderedList/server/index.d.ts +2 -0
  319. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -0
  320. package/dist/features/lists/orderedList/server/index.js +34 -0
  321. package/dist/features/lists/orderedList/server/index.js.map +1 -0
  322. package/dist/features/lists/unorderedList/client/index.d.ts +5 -0
  323. package/dist/features/lists/unorderedList/client/index.d.ts.map +1 -0
  324. package/dist/features/lists/unorderedList/client/index.js +88 -0
  325. package/dist/features/lists/unorderedList/client/index.js.map +1 -0
  326. package/dist/features/lists/unorderedList/server/i18n.d.ts.map +1 -0
  327. package/dist/features/lists/unorderedList/server/i18n.js.map +1 -0
  328. package/dist/features/lists/unorderedList/server/index.d.ts +2 -0
  329. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -0
  330. package/dist/features/lists/unorderedList/server/index.js +32 -0
  331. package/dist/features/lists/unorderedList/server/index.js.map +1 -0
  332. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.d.ts +1 -1
  333. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.d.ts.map +1 -1
  334. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +4 -3
  335. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +1 -1
  336. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.d.ts +1 -1
  337. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.d.ts.map +1 -1
  338. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +4 -3
  339. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +1 -1
  340. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts +1 -1
  341. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.d.ts.map +1 -1
  342. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +4 -3
  343. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -1
  344. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts +1 -1
  345. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.d.ts.map +1 -1
  346. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +4 -3
  347. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -1
  348. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts +1 -1
  349. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.d.ts.map +1 -1
  350. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +4 -3
  351. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -1
  352. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.d.ts +1 -1
  353. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.d.ts.map +1 -1
  354. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +4 -3
  355. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +1 -1
  356. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts +1 -1
  357. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts.map +1 -1
  358. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +1 -1
  359. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  360. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.d.ts +2 -2
  361. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.d.ts.map +1 -1
  362. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +7 -7
  363. package/dist/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +1 -1
  364. package/dist/features/migrations/lexicalPluginToLexical/converter/index.d.ts +5 -3
  365. package/dist/features/migrations/lexicalPluginToLexical/converter/index.d.ts.map +1 -1
  366. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +15 -9
  367. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
  368. package/dist/features/migrations/lexicalPluginToLexical/converter/types.d.ts +1 -9
  369. package/dist/features/migrations/lexicalPluginToLexical/converter/types.d.ts.map +1 -1
  370. package/dist/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -1
  371. package/dist/features/migrations/lexicalPluginToLexical/feature.client.d.ts.map +1 -1
  372. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js +1 -16
  373. package/dist/features/migrations/lexicalPluginToLexical/feature.client.js.map +1 -1
  374. package/dist/features/migrations/lexicalPluginToLexical/feature.server.d.ts +4 -3
  375. package/dist/features/migrations/lexicalPluginToLexical/feature.server.d.ts.map +1 -1
  376. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js +16 -11
  377. package/dist/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
  378. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts +1 -1
  379. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.d.ts.map +1 -1
  380. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +1 -1
  381. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
  382. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.d.ts +1 -1
  383. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.d.ts.map +1 -1
  384. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js +1 -1
  385. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
  386. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.d.ts +1 -1
  387. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.d.ts.map +1 -1
  388. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js +1 -1
  389. package/dist/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +1 -1
  390. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.d.ts +1 -1
  391. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.d.ts.map +1 -1
  392. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js +1 -1
  393. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
  394. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts +1 -1
  395. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.d.ts.map +1 -1
  396. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js +1 -1
  397. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
  398. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts +1 -1
  399. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.d.ts.map +1 -1
  400. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +1 -1
  401. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
  402. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts +1 -1
  403. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts.map +1 -1
  404. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js +1 -1
  405. package/dist/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  406. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.d.ts +1 -1
  407. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.d.ts.map +1 -1
  408. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js +1 -1
  409. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
  410. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts +1 -1
  411. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.d.ts.map +1 -1
  412. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +1 -1
  413. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
  414. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts +1 -1
  415. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts.map +1 -1
  416. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js +1 -1
  417. package/dist/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  418. package/dist/features/migrations/slateToLexical/converter/defaultConverters.d.ts +2 -2
  419. package/dist/features/migrations/slateToLexical/converter/defaultConverters.d.ts.map +1 -1
  420. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js +10 -10
  421. package/dist/features/migrations/slateToLexical/converter/defaultConverters.js.map +1 -1
  422. package/dist/features/migrations/slateToLexical/converter/types.d.ts +0 -9
  423. package/dist/features/migrations/slateToLexical/converter/types.d.ts.map +1 -1
  424. package/dist/features/migrations/slateToLexical/converter/types.js.map +1 -1
  425. package/dist/features/migrations/slateToLexical/feature.client.d.ts.map +1 -1
  426. package/dist/features/migrations/slateToLexical/feature.client.js +0 -15
  427. package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
  428. package/dist/features/migrations/slateToLexical/feature.server.d.ts +5 -5
  429. package/dist/features/migrations/slateToLexical/feature.server.d.ts.map +1 -1
  430. package/dist/features/migrations/slateToLexical/feature.server.js +15 -11
  431. package/dist/features/migrations/slateToLexical/feature.server.js.map +1 -1
  432. package/dist/features/paragraph/client/index.d.ts +5 -0
  433. package/dist/features/paragraph/client/index.d.ts.map +1 -0
  434. package/dist/features/paragraph/client/index.js +71 -0
  435. package/dist/features/paragraph/client/index.js.map +1 -0
  436. package/dist/features/paragraph/server/i18n.d.ts.map +1 -0
  437. package/dist/features/paragraph/server/i18n.js.map +1 -0
  438. package/dist/features/paragraph/server/index.d.ts +2 -0
  439. package/dist/features/paragraph/server/index.d.ts.map +1 -0
  440. package/dist/features/paragraph/server/index.js +12 -0
  441. package/dist/features/paragraph/server/index.js.map +1 -0
  442. package/dist/features/relationship/client/components/RelationshipComponent.d.ts +13 -0
  443. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -0
  444. package/dist/features/relationship/client/components/RelationshipComponent.js +171 -0
  445. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -0
  446. package/dist/features/relationship/client/drawer/commands.d.ts.map +1 -0
  447. package/dist/features/relationship/client/drawer/commands.js.map +1 -0
  448. package/dist/features/relationship/client/drawer/index.d.ts.map +1 -0
  449. package/dist/features/relationship/client/drawer/index.js.map +1 -0
  450. package/dist/features/relationship/client/index.d.ts +18 -0
  451. package/dist/features/relationship/client/index.d.ts.map +1 -0
  452. package/dist/features/relationship/client/index.js +72 -0
  453. package/dist/features/relationship/client/index.js.map +1 -0
  454. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts +15 -0
  455. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -0
  456. package/dist/features/relationship/client/nodes/RelationshipNode.js +74 -0
  457. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -0
  458. package/dist/features/relationship/client/plugins/index.d.ts +7 -0
  459. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -0
  460. package/dist/features/relationship/client/plugins/index.js +50 -0
  461. package/dist/features/relationship/client/plugins/index.js.map +1 -0
  462. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.d.ts.map +1 -0
  463. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js +33 -0
  464. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js.map +1 -0
  465. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +5 -0
  466. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -0
  467. package/dist/features/relationship/server/graphQLPopulationPromise.js +29 -0
  468. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -0
  469. package/dist/features/relationship/server/i18n.d.ts.map +1 -0
  470. package/dist/features/relationship/server/i18n.js.map +1 -0
  471. package/dist/features/relationship/server/index.d.ts +27 -0
  472. package/dist/features/relationship/server/index.d.ts.map +1 -0
  473. package/dist/features/relationship/server/index.js +53 -0
  474. package/dist/features/relationship/server/index.js.map +1 -0
  475. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts +35 -0
  476. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -0
  477. package/dist/features/relationship/server/nodes/RelationshipNode.js +101 -0
  478. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -0
  479. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts +5 -0
  480. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -0
  481. package/dist/features/toolbars/fixed/client/Toolbar/index.js +209 -0
  482. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -0
  483. package/dist/features/toolbars/fixed/client/index.d.ts +6 -0
  484. package/dist/features/toolbars/fixed/client/index.d.ts.map +1 -0
  485. package/dist/features/toolbars/fixed/client/index.js +13 -0
  486. package/dist/features/toolbars/fixed/client/index.js.map +1 -0
  487. package/dist/features/toolbars/fixed/server/index.d.ts +18 -0
  488. package/dist/features/toolbars/fixed/server/index.d.ts.map +1 -0
  489. package/dist/features/toolbars/fixed/server/index.js +17 -0
  490. package/dist/features/toolbars/fixed/server/index.js.map +1 -0
  491. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts +4 -0
  492. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -0
  493. package/dist/features/toolbars/inline/client/Toolbar/index.js +319 -0
  494. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -0
  495. package/dist/features/toolbars/inline/client/index.d.ts +5 -0
  496. package/dist/features/toolbars/inline/client/index.d.ts.map +1 -0
  497. package/dist/features/toolbars/inline/client/index.js +13 -0
  498. package/dist/features/toolbars/inline/client/index.js.map +1 -0
  499. package/dist/features/toolbars/inline/server/index.d.ts +2 -0
  500. package/dist/features/toolbars/inline/server/index.d.ts.map +1 -0
  501. package/dist/features/toolbars/inline/server/index.js +9 -0
  502. package/dist/features/toolbars/inline/server/index.js.map +1 -0
  503. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  504. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +3 -1
  505. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  506. package/dist/features/toolbars/types.d.ts +2 -1
  507. package/dist/features/toolbars/types.d.ts.map +1 -1
  508. package/dist/features/toolbars/types.js.map +1 -1
  509. package/dist/features/typesServer.d.ts +17 -13
  510. package/dist/features/typesServer.d.ts.map +1 -1
  511. package/dist/features/typesServer.js.map +1 -1
  512. package/dist/features/upload/client/component/index.d.ts +9 -0
  513. package/dist/features/upload/client/component/index.d.ts.map +1 -0
  514. package/dist/features/upload/client/component/index.js +248 -0
  515. package/dist/features/upload/client/component/index.js.map +1 -0
  516. package/dist/features/upload/client/drawer/commands.d.ts.map +1 -0
  517. package/dist/features/upload/client/drawer/commands.js.map +1 -0
  518. package/dist/features/upload/client/drawer/index.d.ts.map +1 -0
  519. package/dist/features/upload/client/drawer/index.js +77 -0
  520. package/dist/features/upload/client/drawer/index.js.map +1 -0
  521. package/dist/features/upload/client/feature.client.d.ts.map +1 -0
  522. package/dist/features/upload/client/feature.client.js +74 -0
  523. package/dist/features/upload/client/feature.client.js.map +1 -0
  524. package/dist/features/upload/client/nodes/UploadNode.d.ts +22 -0
  525. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -0
  526. package/dist/features/upload/client/nodes/UploadNode.js +91 -0
  527. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -0
  528. package/dist/features/upload/client/plugin/index.d.ts +8 -0
  529. package/dist/features/upload/client/plugin/index.d.ts.map +1 -0
  530. package/dist/features/upload/client/plugin/index.js +53 -0
  531. package/dist/features/upload/client/plugin/index.js.map +1 -0
  532. package/dist/features/upload/server/feature.server.d.ts +18 -0
  533. package/dist/features/upload/server/feature.server.d.ts.map +1 -0
  534. package/dist/features/upload/server/feature.server.js +189 -0
  535. package/dist/features/upload/server/feature.server.js.map +1 -0
  536. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +5 -0
  537. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -0
  538. package/dist/features/upload/server/graphQLPopulationPromise.js +52 -0
  539. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -0
  540. package/dist/features/upload/server/i18n.d.ts.map +1 -0
  541. package/dist/features/upload/server/i18n.js.map +1 -0
  542. package/dist/features/upload/server/nodes/UploadNode.d.ts +40 -0
  543. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -0
  544. package/dist/features/upload/server/nodes/UploadNode.js +128 -0
  545. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -0
  546. package/dist/features/upload/server/validate.d.ts +5 -0
  547. package/dist/features/upload/server/validate.d.ts.map +1 -0
  548. package/dist/features/upload/server/validate.js.map +1 -0
  549. package/dist/field/Field.d.ts +7 -7
  550. package/dist/field/Field.d.ts.map +1 -1
  551. package/dist/field/Field.js +8 -6
  552. package/dist/field/Field.js.map +1 -1
  553. package/dist/field/index.d.ts +2 -9
  554. package/dist/field/index.d.ts.map +1 -1
  555. package/dist/field/index.js +8 -8
  556. package/dist/field/index.js.map +1 -1
  557. package/dist/index.d.ts +23 -38
  558. package/dist/index.d.ts.map +1 -1
  559. package/dist/index.js +83 -68
  560. package/dist/index.js.map +1 -1
  561. package/dist/lexical/LexicalProvider.d.ts +2 -6
  562. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  563. package/dist/lexical/LexicalProvider.js +2 -2
  564. package/dist/lexical/LexicalProvider.js.map +1 -1
  565. package/dist/lexical/config/client/EditorConfigProvider.d.ts +4 -12
  566. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  567. package/dist/lexical/config/client/EditorConfigProvider.js +3 -3
  568. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  569. package/dist/lexical/config/server/default.js +13 -13
  570. package/dist/lexical/config/server/default.js.map +1 -1
  571. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  572. package/dist/lexical/config/server/sanitize.js +24 -6
  573. package/dist/lexical/config/server/sanitize.js.map +1 -1
  574. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +6 -2
  575. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  576. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  577. package/dist/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  578. package/dist/lexical/plugins/SlashMenu/index.js +14 -4
  579. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  580. package/dist/lexical/theme/EditorTheme.d.ts +0 -1
  581. package/dist/lexical/theme/EditorTheme.d.ts.map +1 -1
  582. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  583. package/dist/nodeTypes.d.ts +8 -8
  584. package/dist/nodeTypes.d.ts.map +1 -1
  585. package/dist/nodeTypes.js.map +1 -1
  586. package/dist/types.d.ts +6 -8
  587. package/dist/types.d.ts.map +1 -1
  588. package/dist/types.js.map +1 -1
  589. package/dist/utilities/fieldsDrawer/Drawer.d.ts +10 -8
  590. package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -1
  591. package/dist/utilities/fieldsDrawer/Drawer.js +3 -1
  592. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  593. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  594. package/dist/utilities/fieldsDrawer/DrawerContent.js +6 -6
  595. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  596. package/dist/utilities/generateComponentMap.d.ts +2 -2
  597. package/dist/utilities/generateComponentMap.d.ts.map +1 -1
  598. package/dist/utilities/generateComponentMap.js +38 -28
  599. package/dist/utilities/generateComponentMap.js.map +1 -1
  600. package/dist/utilities/generateImportMap.d.ts +6 -0
  601. package/dist/utilities/generateImportMap.d.ts.map +1 -0
  602. package/dist/utilities/generateImportMap.js +50 -0
  603. package/dist/utilities/generateImportMap.js.map +1 -0
  604. package/dist/utilities/generateSchemaMap.d.ts.map +1 -1
  605. package/dist/utilities/generateSchemaMap.js +2 -1
  606. package/dist/utilities/generateSchemaMap.js.map +1 -1
  607. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts.map +1 -1
  608. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +1 -5
  609. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
  610. package/dist/utilities/useLexicalFeature.js +1 -1
  611. package/dist/utilities/useLexicalFeature.js.map +1 -1
  612. package/package.json +21 -11
  613. package/dist/exports/client/Field-5GGTGCKC.js +0 -2
  614. package/dist/exports/client/Field-5GGTGCKC.js.map +0 -7
  615. package/dist/exports/client/RelationshipComponent-ZR2OCBGL.js +0 -2
  616. package/dist/exports/client/RelationshipComponent-ZR2OCBGL.js.map +0 -7
  617. package/dist/exports/client/chunk-6QXGZYUK.js +0 -2
  618. package/dist/exports/client/chunk-6QXGZYUK.js.map +0 -7
  619. package/dist/exports/client/chunk-IPCJ5EVK.js +0 -2
  620. package/dist/exports/client/chunk-IPCJ5EVK.js.map +0 -7
  621. package/dist/exports/client/chunk-IWZVO3AI.js +0 -2
  622. package/dist/exports/client/chunk-IWZVO3AI.js.map +0 -7
  623. package/dist/exports/client/chunk-Q5DYR7MH.js +0 -3
  624. package/dist/exports/client/chunk-Q5DYR7MH.js.map +0 -7
  625. package/dist/exports/client/chunk-VUVXZJJR.js +0 -2
  626. package/dist/exports/client/chunk-VUVXZJJR.js.map +0 -7
  627. package/dist/exports/client/component-D4GWDXK5.js +0 -2
  628. package/dist/exports/client/component-D4GWDXK5.js.map +0 -7
  629. package/dist/exports/client/component-KA7FDRMA.js +0 -2
  630. package/dist/exports/client/component-KA7FDRMA.js.map +0 -7
  631. package/dist/exports/client/component-VM36FRT2.js +0 -2
  632. package/dist/exports/client/component-VM36FRT2.js.map +0 -7
  633. package/dist/exports/client/componentInline-6EKPZSCV.js +0 -2
  634. package/dist/exports/client/componentInline-6EKPZSCV.js.map +0 -7
  635. package/dist/features/align/feature.client.d.ts +0 -5
  636. package/dist/features/align/feature.client.d.ts.map +0 -1
  637. package/dist/features/align/feature.client.js +0 -146
  638. package/dist/features/align/feature.client.js.map +0 -1
  639. package/dist/features/align/feature.server.d.ts +0 -2
  640. package/dist/features/align/feature.server.d.ts.map +0 -1
  641. package/dist/features/align/feature.server.js +0 -13
  642. package/dist/features/align/feature.server.js.map +0 -1
  643. package/dist/features/align/i18n.d.ts.map +0 -1
  644. package/dist/features/align/i18n.js.map +0 -1
  645. package/dist/features/align/toolbarAlignGroup.d.ts +0 -3
  646. package/dist/features/align/toolbarAlignGroup.d.ts.map +0 -1
  647. package/dist/features/align/toolbarAlignGroup.js +0 -12
  648. package/dist/features/align/toolbarAlignGroup.js.map +0 -1
  649. package/dist/features/blockquote/feature.client.d.ts +0 -5
  650. package/dist/features/blockquote/feature.client.d.ts.map +0 -1
  651. package/dist/features/blockquote/feature.client.js +0 -77
  652. package/dist/features/blockquote/feature.client.js.map +0 -1
  653. package/dist/features/blockquote/feature.server.d.ts +0 -7
  654. package/dist/features/blockquote/feature.server.d.ts.map +0 -1
  655. package/dist/features/blockquote/feature.server.js +0 -48
  656. package/dist/features/blockquote/feature.server.js.map +0 -1
  657. package/dist/features/blockquote/i18n.d.ts.map +0 -1
  658. package/dist/features/blockquote/i18n.js.map +0 -1
  659. package/dist/features/blocks/component/BlockContent.d.ts +0 -27
  660. package/dist/features/blocks/component/BlockContent.d.ts.map +0 -1
  661. package/dist/features/blocks/component/BlockContent.js +0 -196
  662. package/dist/features/blocks/component/BlockContent.js.map +0 -1
  663. package/dist/features/blocks/component/FormSavePlugin.d.ts.map +0 -1
  664. package/dist/features/blocks/component/FormSavePlugin.js.map +0 -1
  665. package/dist/features/blocks/component/index.d.ts +0 -11
  666. package/dist/features/blocks/component/index.d.ts.map +0 -1
  667. package/dist/features/blocks/component/index.js +0 -162
  668. package/dist/features/blocks/component/index.js.map +0 -1
  669. package/dist/features/blocks/component/removeEmptyArrayValues.d.ts.map +0 -1
  670. package/dist/features/blocks/component/removeEmptyArrayValues.js.map +0 -1
  671. package/dist/features/blocks/componentInline/index.d.ts.map +0 -1
  672. package/dist/features/blocks/componentInline/index.js +0 -133
  673. package/dist/features/blocks/componentInline/index.js.map +0 -1
  674. package/dist/features/blocks/feature.client.d.ts +0 -13
  675. package/dist/features/blocks/feature.client.d.ts.map +0 -1
  676. package/dist/features/blocks/feature.client.js +0 -148
  677. package/dist/features/blocks/feature.client.js.map +0 -1
  678. package/dist/features/blocks/feature.server.d.ts +0 -8
  679. package/dist/features/blocks/feature.server.d.ts.map +0 -1
  680. package/dist/features/blocks/feature.server.js +0 -160
  681. package/dist/features/blocks/feature.server.js.map +0 -1
  682. package/dist/features/blocks/graphQLPopulationPromise.d.ts +0 -6
  683. package/dist/features/blocks/graphQLPopulationPromise.d.ts.map +0 -1
  684. package/dist/features/blocks/graphQLPopulationPromise.js +0 -31
  685. package/dist/features/blocks/graphQLPopulationPromise.js.map +0 -1
  686. package/dist/features/blocks/i18n.d.ts.map +0 -1
  687. package/dist/features/blocks/i18n.js.map +0 -1
  688. package/dist/features/blocks/nodes/BlocksNode.d.ts +0 -38
  689. package/dist/features/blocks/nodes/BlocksNode.d.ts.map +0 -1
  690. package/dist/features/blocks/nodes/BlocksNode.js +0 -92
  691. package/dist/features/blocks/nodes/BlocksNode.js.map +0 -1
  692. package/dist/features/blocks/nodes/InlineBlocksNode.d.ts +0 -39
  693. package/dist/features/blocks/nodes/InlineBlocksNode.d.ts.map +0 -1
  694. package/dist/features/blocks/nodes/InlineBlocksNode.js +0 -94
  695. package/dist/features/blocks/nodes/InlineBlocksNode.js.map +0 -1
  696. package/dist/features/blocks/plugin/commands.d.ts.map +0 -1
  697. package/dist/features/blocks/plugin/commands.js.map +0 -1
  698. package/dist/features/blocks/plugin/index.d.ts +0 -6
  699. package/dist/features/blocks/plugin/index.d.ts.map +0 -1
  700. package/dist/features/blocks/plugin/index.js +0 -111
  701. package/dist/features/blocks/plugin/index.js.map +0 -1
  702. package/dist/features/blocks/validate.d.ts +0 -6
  703. package/dist/features/blocks/validate.d.ts.map +0 -1
  704. package/dist/features/blocks/validate.js.map +0 -1
  705. package/dist/features/converters/html/feature.server.d.ts +0 -8
  706. package/dist/features/converters/html/feature.server.d.ts.map +0 -1
  707. package/dist/features/converters/html/feature.server.js +0 -8
  708. package/dist/features/converters/html/feature.server.js.map +0 -1
  709. package/dist/features/debug/testRecorder/feature.client.d.ts +0 -5
  710. package/dist/features/debug/testRecorder/feature.client.d.ts.map +0 -1
  711. package/dist/features/debug/testRecorder/feature.client.js +0 -13
  712. package/dist/features/debug/testRecorder/feature.client.js.map +0 -1
  713. package/dist/features/debug/testRecorder/feature.server.d.ts +0 -2
  714. package/dist/features/debug/testRecorder/feature.server.d.ts.map +0 -1
  715. package/dist/features/debug/testRecorder/feature.server.js +0 -11
  716. package/dist/features/debug/testRecorder/feature.server.js.map +0 -1
  717. package/dist/features/debug/testRecorder/plugin/index.d.ts +0 -5
  718. package/dist/features/debug/testRecorder/plugin/index.d.ts.map +0 -1
  719. package/dist/features/debug/testRecorder/plugin/index.js +0 -471
  720. package/dist/features/debug/testRecorder/plugin/index.js.map +0 -1
  721. package/dist/features/debug/treeView/feature.client.d.ts +0 -5
  722. package/dist/features/debug/treeView/feature.client.d.ts.map +0 -1
  723. package/dist/features/debug/treeView/feature.client.js +0 -13
  724. package/dist/features/debug/treeView/feature.client.js.map +0 -1
  725. package/dist/features/debug/treeView/feature.server.d.ts +0 -2
  726. package/dist/features/debug/treeView/feature.server.d.ts.map +0 -1
  727. package/dist/features/debug/treeView/feature.server.js +0 -11
  728. package/dist/features/debug/treeView/feature.server.js.map +0 -1
  729. package/dist/features/debug/treeView/plugin/index.d.ts +0 -4
  730. package/dist/features/debug/treeView/plugin/index.d.ts.map +0 -1
  731. package/dist/features/debug/treeView/plugin/index.js.map +0 -1
  732. package/dist/features/experimental_table/feature.client.d.ts +0 -2
  733. package/dist/features/experimental_table/feature.client.d.ts.map +0 -1
  734. package/dist/features/experimental_table/feature.client.js +0 -71
  735. package/dist/features/experimental_table/feature.client.js.map +0 -1
  736. package/dist/features/experimental_table/feature.server.d.ts +0 -13
  737. package/dist/features/experimental_table/feature.server.d.ts.map +0 -1
  738. package/dist/features/experimental_table/feature.server.js +0 -125
  739. package/dist/features/experimental_table/feature.server.js.map +0 -1
  740. package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.d.ts +0 -4
  741. package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.d.ts.map +0 -1
  742. package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.js +0 -604
  743. package/dist/features/experimental_table/plugins/TableActionMenuPlugin/index.js.map +0 -1
  744. package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.d.ts +0 -3
  745. package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.d.ts.map +0 -1
  746. package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.js +0 -327
  747. package/dist/features/experimental_table/plugins/TableCellResizerPlugin/index.js.map +0 -1
  748. package/dist/features/experimental_table/plugins/TablePlugin/index.d.ts +0 -24
  749. package/dist/features/experimental_table/plugins/TablePlugin/index.d.ts.map +0 -1
  750. package/dist/features/experimental_table/plugins/TablePlugin/index.js +0 -98
  751. package/dist/features/experimental_table/plugins/TablePlugin/index.js.map +0 -1
  752. package/dist/features/experimental_table/utils/debounce.d.ts.map +0 -1
  753. package/dist/features/experimental_table/utils/debounce.js.map +0 -1
  754. package/dist/features/experimental_table/utils/useDebounce.d.ts.map +0 -1
  755. package/dist/features/experimental_table/utils/useDebounce.js.map +0 -1
  756. package/dist/features/heading/feature.client.d.ts +0 -6
  757. package/dist/features/heading/feature.client.d.ts.map +0 -1
  758. package/dist/features/heading/feature.client.js +0 -112
  759. package/dist/features/heading/feature.client.js.map +0 -1
  760. package/dist/features/heading/feature.server.d.ts +0 -10
  761. package/dist/features/heading/feature.server.d.ts.map +0 -1
  762. package/dist/features/heading/feature.server.js +0 -62
  763. package/dist/features/heading/feature.server.js.map +0 -1
  764. package/dist/features/heading/i18n.d.ts.map +0 -1
  765. package/dist/features/heading/i18n.js.map +0 -1
  766. package/dist/features/horizontalRule/component/index.d.ts.map +0 -1
  767. package/dist/features/horizontalRule/component/index.js.map +0 -1
  768. package/dist/features/horizontalRule/feature.client.d.ts +0 -5
  769. package/dist/features/horizontalRule/feature.client.d.ts.map +0 -1
  770. package/dist/features/horizontalRule/feature.client.js +0 -70
  771. package/dist/features/horizontalRule/feature.client.js.map +0 -1
  772. package/dist/features/horizontalRule/feature.server.d.ts +0 -2
  773. package/dist/features/horizontalRule/feature.server.d.ts.map +0 -1
  774. package/dist/features/horizontalRule/feature.server.js +0 -34
  775. package/dist/features/horizontalRule/feature.server.js.map +0 -1
  776. package/dist/features/horizontalRule/i18n.d.ts.map +0 -1
  777. package/dist/features/horizontalRule/i18n.js.map +0 -1
  778. package/dist/features/horizontalRule/markdownTransformer.d.ts.map +0 -1
  779. package/dist/features/horizontalRule/markdownTransformer.js.map +0 -1
  780. package/dist/features/horizontalRule/nodes/HorizontalRuleNode.d.ts +0 -56
  781. package/dist/features/horizontalRule/nodes/HorizontalRuleNode.d.ts.map +0 -1
  782. package/dist/features/horizontalRule/nodes/HorizontalRuleNode.js +0 -92
  783. package/dist/features/horizontalRule/nodes/HorizontalRuleNode.js.map +0 -1
  784. package/dist/features/horizontalRule/plugin/index.d.ts +0 -7
  785. package/dist/features/horizontalRule/plugin/index.d.ts.map +0 -1
  786. package/dist/features/horizontalRule/plugin/index.js +0 -30
  787. package/dist/features/horizontalRule/plugin/index.js.map +0 -1
  788. package/dist/features/indent/feature.client.d.ts +0 -5
  789. package/dist/features/indent/feature.client.d.ts.map +0 -1
  790. package/dist/features/indent/feature.client.js +0 -56
  791. package/dist/features/indent/feature.client.js.map +0 -1
  792. package/dist/features/indent/feature.server.d.ts +0 -2
  793. package/dist/features/indent/feature.server.d.ts.map +0 -1
  794. package/dist/features/indent/feature.server.js +0 -13
  795. package/dist/features/indent/feature.server.js.map +0 -1
  796. package/dist/features/indent/i18n.d.ts.map +0 -1
  797. package/dist/features/indent/i18n.js.map +0 -1
  798. package/dist/features/indent/toolbarIndentGroup.d.ts +0 -3
  799. package/dist/features/indent/toolbarIndentGroup.d.ts.map +0 -1
  800. package/dist/features/indent/toolbarIndentGroup.js.map +0 -1
  801. package/dist/features/link/drawer/baseFields.d.ts.map +0 -1
  802. package/dist/features/link/drawer/baseFields.js.map +0 -1
  803. package/dist/features/link/feature.client.d.ts +0 -16
  804. package/dist/features/link/feature.client.d.ts.map +0 -1
  805. package/dist/features/link/feature.client.js +0 -101
  806. package/dist/features/link/feature.client.js.map +0 -1
  807. package/dist/features/link/feature.server.d.ts +0 -35
  808. package/dist/features/link/feature.server.d.ts.map +0 -1
  809. package/dist/features/link/feature.server.js +0 -134
  810. package/dist/features/link/feature.server.js.map +0 -1
  811. package/dist/features/link/graphQLPopulationPromise.d.ts +0 -5
  812. package/dist/features/link/graphQLPopulationPromise.d.ts.map +0 -1
  813. package/dist/features/link/graphQLPopulationPromise.js +0 -31
  814. package/dist/features/link/graphQLPopulationPromise.js.map +0 -1
  815. package/dist/features/link/i18n.d.ts.map +0 -1
  816. package/dist/features/link/i18n.js.map +0 -1
  817. package/dist/features/link/plugins/autoLink/index.d.ts +0 -20
  818. package/dist/features/link/plugins/autoLink/index.d.ts.map +0 -1
  819. package/dist/features/link/plugins/autoLink/index.js +0 -336
  820. package/dist/features/link/plugins/autoLink/index.js.map +0 -1
  821. package/dist/features/link/plugins/clickableLink/index.d.ts +0 -4
  822. package/dist/features/link/plugins/clickableLink/index.d.ts.map +0 -1
  823. package/dist/features/link/plugins/clickableLink/index.js.map +0 -1
  824. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +0 -1
  825. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js.map +0 -1
  826. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +0 -1
  827. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +0 -299
  828. package/dist/features/link/plugins/floatingLinkEditor/LinkEditor/index.js.map +0 -1
  829. package/dist/features/link/plugins/floatingLinkEditor/index.d.ts +0 -5
  830. package/dist/features/link/plugins/floatingLinkEditor/index.d.ts.map +0 -1
  831. package/dist/features/link/plugins/floatingLinkEditor/index.js.map +0 -1
  832. package/dist/features/link/plugins/floatingLinkEditor/types.d.ts +0 -15
  833. package/dist/features/link/plugins/floatingLinkEditor/types.d.ts.map +0 -1
  834. package/dist/features/link/plugins/floatingLinkEditor/types.js.map +0 -1
  835. package/dist/features/link/plugins/floatingLinkEditor/utilities.d.ts +0 -9
  836. package/dist/features/link/plugins/floatingLinkEditor/utilities.d.ts.map +0 -1
  837. package/dist/features/link/plugins/floatingLinkEditor/utilities.js +0 -20
  838. package/dist/features/link/plugins/floatingLinkEditor/utilities.js.map +0 -1
  839. package/dist/features/link/plugins/link/index.d.ts +0 -4
  840. package/dist/features/link/plugins/link/index.d.ts.map +0 -1
  841. package/dist/features/link/plugins/link/index.js +0 -53
  842. package/dist/features/link/plugins/link/index.js.map +0 -1
  843. package/dist/features/link/validate.d.ts +0 -6
  844. package/dist/features/link/validate.d.ts.map +0 -1
  845. package/dist/features/link/validate.js.map +0 -1
  846. package/dist/features/lists/checklist/feature.client.d.ts +0 -5
  847. package/dist/features/lists/checklist/feature.client.d.ts.map +0 -1
  848. package/dist/features/lists/checklist/feature.client.js +0 -100
  849. package/dist/features/lists/checklist/feature.client.js.map +0 -1
  850. package/dist/features/lists/checklist/feature.server.d.ts +0 -2
  851. package/dist/features/lists/checklist/feature.server.d.ts.map +0 -1
  852. package/dist/features/lists/checklist/feature.server.js +0 -36
  853. package/dist/features/lists/checklist/feature.server.js.map +0 -1
  854. package/dist/features/lists/checklist/i18n.d.ts.map +0 -1
  855. package/dist/features/lists/checklist/i18n.js.map +0 -1
  856. package/dist/features/lists/checklist/plugin/index.d.ts +0 -3
  857. package/dist/features/lists/checklist/plugin/index.d.ts.map +0 -1
  858. package/dist/features/lists/checklist/plugin/index.js.map +0 -1
  859. package/dist/features/lists/orderedList/feature.client.d.ts +0 -5
  860. package/dist/features/lists/orderedList/feature.client.d.ts.map +0 -1
  861. package/dist/features/lists/orderedList/feature.client.js +0 -90
  862. package/dist/features/lists/orderedList/feature.client.js.map +0 -1
  863. package/dist/features/lists/orderedList/feature.server.d.ts +0 -2
  864. package/dist/features/lists/orderedList/feature.server.d.ts.map +0 -1
  865. package/dist/features/lists/orderedList/feature.server.js +0 -36
  866. package/dist/features/lists/orderedList/feature.server.js.map +0 -1
  867. package/dist/features/lists/orderedList/i18n.d.ts.map +0 -1
  868. package/dist/features/lists/orderedList/i18n.js.map +0 -1
  869. package/dist/features/lists/unorderedList/feature.client.d.ts +0 -5
  870. package/dist/features/lists/unorderedList/feature.client.d.ts.map +0 -1
  871. package/dist/features/lists/unorderedList/feature.client.js +0 -88
  872. package/dist/features/lists/unorderedList/feature.client.js.map +0 -1
  873. package/dist/features/lists/unorderedList/feature.server.d.ts +0 -2
  874. package/dist/features/lists/unorderedList/feature.server.d.ts.map +0 -1
  875. package/dist/features/lists/unorderedList/feature.server.js +0 -34
  876. package/dist/features/lists/unorderedList/feature.server.js.map +0 -1
  877. package/dist/features/lists/unorderedList/i18n.d.ts.map +0 -1
  878. package/dist/features/lists/unorderedList/i18n.js.map +0 -1
  879. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.d.ts +0 -5
  880. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.d.ts.map +0 -1
  881. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.js +0 -6
  882. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.js.map +0 -1
  883. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.d.ts +0 -3
  884. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.d.ts.map +0 -1
  885. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.js +0 -8
  886. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.js.map +0 -1
  887. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/client.d.ts +0 -5
  888. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/client.d.ts.map +0 -1
  889. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/client.js +0 -6
  890. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/client.js.map +0 -1
  891. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/index.d.ts +0 -3
  892. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/index.d.ts.map +0 -1
  893. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/index.js +0 -8
  894. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/link/index.js.map +0 -1
  895. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/client.d.ts +0 -5
  896. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/client.d.ts.map +0 -1
  897. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/client.js +0 -6
  898. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/client.js.map +0 -1
  899. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/index.d.ts +0 -3
  900. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/index.d.ts.map +0 -1
  901. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/index.js +0 -8
  902. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/list/index.js.map +0 -1
  903. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.d.ts +0 -5
  904. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.d.ts.map +0 -1
  905. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.js +0 -6
  906. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.js.map +0 -1
  907. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.d.ts +0 -3
  908. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.d.ts.map +0 -1
  909. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.js +0 -8
  910. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.js.map +0 -1
  911. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.d.ts +0 -5
  912. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.d.ts.map +0 -1
  913. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.js +0 -6
  914. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.js.map +0 -1
  915. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.d.ts +0 -3
  916. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.d.ts.map +0 -1
  917. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.js +0 -8
  918. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.js.map +0 -1
  919. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.d.ts +0 -5
  920. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.d.ts.map +0 -1
  921. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.js +0 -6
  922. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.js.map +0 -1
  923. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.d.ts +0 -3
  924. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.d.ts.map +0 -1
  925. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.js +0 -8
  926. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.js.map +0 -1
  927. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.d.ts +0 -5
  928. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.d.ts.map +0 -1
  929. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.js +0 -6
  930. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.js.map +0 -1
  931. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.d.ts +0 -3
  932. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.d.ts.map +0 -1
  933. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.js +0 -8
  934. package/dist/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.js.map +0 -1
  935. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/client.d.ts +0 -5
  936. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/client.d.ts.map +0 -1
  937. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/client.js +0 -6
  938. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/client.js.map +0 -1
  939. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/index.d.ts +0 -3
  940. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/index.d.ts.map +0 -1
  941. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/index.js +0 -8
  942. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/index.js.map +0 -1
  943. package/dist/features/migrations/slateToLexical/converter/converters/heading/client.d.ts +0 -5
  944. package/dist/features/migrations/slateToLexical/converter/converters/heading/client.d.ts.map +0 -1
  945. package/dist/features/migrations/slateToLexical/converter/converters/heading/client.js +0 -6
  946. package/dist/features/migrations/slateToLexical/converter/converters/heading/client.js.map +0 -1
  947. package/dist/features/migrations/slateToLexical/converter/converters/heading/index.d.ts +0 -3
  948. package/dist/features/migrations/slateToLexical/converter/converters/heading/index.d.ts.map +0 -1
  949. package/dist/features/migrations/slateToLexical/converter/converters/heading/index.js +0 -8
  950. package/dist/features/migrations/slateToLexical/converter/converters/heading/index.js.map +0 -1
  951. package/dist/features/migrations/slateToLexical/converter/converters/indent/client.d.ts +0 -5
  952. package/dist/features/migrations/slateToLexical/converter/converters/indent/client.d.ts.map +0 -1
  953. package/dist/features/migrations/slateToLexical/converter/converters/indent/client.js +0 -6
  954. package/dist/features/migrations/slateToLexical/converter/converters/indent/client.js.map +0 -1
  955. package/dist/features/migrations/slateToLexical/converter/converters/indent/index.d.ts +0 -3
  956. package/dist/features/migrations/slateToLexical/converter/converters/indent/index.d.ts.map +0 -1
  957. package/dist/features/migrations/slateToLexical/converter/converters/indent/index.js +0 -8
  958. package/dist/features/migrations/slateToLexical/converter/converters/indent/index.js.map +0 -1
  959. package/dist/features/migrations/slateToLexical/converter/converters/link/client.d.ts +0 -5
  960. package/dist/features/migrations/slateToLexical/converter/converters/link/client.d.ts.map +0 -1
  961. package/dist/features/migrations/slateToLexical/converter/converters/link/client.js +0 -6
  962. package/dist/features/migrations/slateToLexical/converter/converters/link/client.js.map +0 -1
  963. package/dist/features/migrations/slateToLexical/converter/converters/link/index.d.ts +0 -3
  964. package/dist/features/migrations/slateToLexical/converter/converters/link/index.d.ts.map +0 -1
  965. package/dist/features/migrations/slateToLexical/converter/converters/link/index.js +0 -8
  966. package/dist/features/migrations/slateToLexical/converter/converters/link/index.js.map +0 -1
  967. package/dist/features/migrations/slateToLexical/converter/converters/listItem/client.d.ts +0 -5
  968. package/dist/features/migrations/slateToLexical/converter/converters/listItem/client.d.ts.map +0 -1
  969. package/dist/features/migrations/slateToLexical/converter/converters/listItem/client.js +0 -6
  970. package/dist/features/migrations/slateToLexical/converter/converters/listItem/client.js.map +0 -1
  971. package/dist/features/migrations/slateToLexical/converter/converters/listItem/index.d.ts +0 -3
  972. package/dist/features/migrations/slateToLexical/converter/converters/listItem/index.d.ts.map +0 -1
  973. package/dist/features/migrations/slateToLexical/converter/converters/listItem/index.js +0 -8
  974. package/dist/features/migrations/slateToLexical/converter/converters/listItem/index.js.map +0 -1
  975. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/client.d.ts +0 -5
  976. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/client.d.ts.map +0 -1
  977. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/client.js +0 -6
  978. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/client.js.map +0 -1
  979. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/index.d.ts +0 -3
  980. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/index.d.ts.map +0 -1
  981. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/index.js +0 -8
  982. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/index.js.map +0 -1
  983. package/dist/features/migrations/slateToLexical/converter/converters/relationship/client.d.ts +0 -5
  984. package/dist/features/migrations/slateToLexical/converter/converters/relationship/client.d.ts.map +0 -1
  985. package/dist/features/migrations/slateToLexical/converter/converters/relationship/client.js +0 -6
  986. package/dist/features/migrations/slateToLexical/converter/converters/relationship/client.js.map +0 -1
  987. package/dist/features/migrations/slateToLexical/converter/converters/relationship/index.d.ts +0 -3
  988. package/dist/features/migrations/slateToLexical/converter/converters/relationship/index.d.ts.map +0 -1
  989. package/dist/features/migrations/slateToLexical/converter/converters/relationship/index.js +0 -8
  990. package/dist/features/migrations/slateToLexical/converter/converters/relationship/index.js.map +0 -1
  991. package/dist/features/migrations/slateToLexical/converter/converters/unknown/client.d.ts +0 -5
  992. package/dist/features/migrations/slateToLexical/converter/converters/unknown/client.d.ts.map +0 -1
  993. package/dist/features/migrations/slateToLexical/converter/converters/unknown/client.js +0 -6
  994. package/dist/features/migrations/slateToLexical/converter/converters/unknown/client.js.map +0 -1
  995. package/dist/features/migrations/slateToLexical/converter/converters/unknown/index.d.ts +0 -3
  996. package/dist/features/migrations/slateToLexical/converter/converters/unknown/index.d.ts.map +0 -1
  997. package/dist/features/migrations/slateToLexical/converter/converters/unknown/index.js +0 -8
  998. package/dist/features/migrations/slateToLexical/converter/converters/unknown/index.js.map +0 -1
  999. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/client.d.ts +0 -5
  1000. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/client.d.ts.map +0 -1
  1001. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/client.js +0 -6
  1002. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/client.js.map +0 -1
  1003. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/index.d.ts +0 -3
  1004. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/index.d.ts.map +0 -1
  1005. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/index.js +0 -8
  1006. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/index.js.map +0 -1
  1007. package/dist/features/migrations/slateToLexical/converter/converters/upload/client.d.ts +0 -5
  1008. package/dist/features/migrations/slateToLexical/converter/converters/upload/client.d.ts.map +0 -1
  1009. package/dist/features/migrations/slateToLexical/converter/converters/upload/client.js +0 -6
  1010. package/dist/features/migrations/slateToLexical/converter/converters/upload/client.js.map +0 -1
  1011. package/dist/features/migrations/slateToLexical/converter/converters/upload/index.d.ts +0 -3
  1012. package/dist/features/migrations/slateToLexical/converter/converters/upload/index.d.ts.map +0 -1
  1013. package/dist/features/migrations/slateToLexical/converter/converters/upload/index.js +0 -8
  1014. package/dist/features/migrations/slateToLexical/converter/converters/upload/index.js.map +0 -1
  1015. package/dist/features/paragraph/feature.client.d.ts +0 -5
  1016. package/dist/features/paragraph/feature.client.d.ts.map +0 -1
  1017. package/dist/features/paragraph/feature.client.js +0 -71
  1018. package/dist/features/paragraph/feature.client.js.map +0 -1
  1019. package/dist/features/paragraph/feature.server.d.ts +0 -2
  1020. package/dist/features/paragraph/feature.server.d.ts.map +0 -1
  1021. package/dist/features/paragraph/feature.server.js +0 -14
  1022. package/dist/features/paragraph/feature.server.js.map +0 -1
  1023. package/dist/features/paragraph/i18n.d.ts.map +0 -1
  1024. package/dist/features/paragraph/i18n.js.map +0 -1
  1025. package/dist/features/relationship/drawer/commands.d.ts.map +0 -1
  1026. package/dist/features/relationship/drawer/commands.js.map +0 -1
  1027. package/dist/features/relationship/drawer/index.d.ts.map +0 -1
  1028. package/dist/features/relationship/drawer/index.js.map +0 -1
  1029. package/dist/features/relationship/feature.client.d.ts +0 -18
  1030. package/dist/features/relationship/feature.client.d.ts.map +0 -1
  1031. package/dist/features/relationship/feature.client.js +0 -72
  1032. package/dist/features/relationship/feature.client.js.map +0 -1
  1033. package/dist/features/relationship/feature.server.d.ts +0 -27
  1034. package/dist/features/relationship/feature.server.d.ts.map +0 -1
  1035. package/dist/features/relationship/feature.server.js +0 -55
  1036. package/dist/features/relationship/feature.server.js.map +0 -1
  1037. package/dist/features/relationship/graphQLPopulationPromise.d.ts +0 -5
  1038. package/dist/features/relationship/graphQLPopulationPromise.d.ts.map +0 -1
  1039. package/dist/features/relationship/graphQLPopulationPromise.js +0 -29
  1040. package/dist/features/relationship/graphQLPopulationPromise.js.map +0 -1
  1041. package/dist/features/relationship/i18n.d.ts.map +0 -1
  1042. package/dist/features/relationship/i18n.js.map +0 -1
  1043. package/dist/features/relationship/nodes/RelationshipNode.d.ts +0 -35
  1044. package/dist/features/relationship/nodes/RelationshipNode.d.ts.map +0 -1
  1045. package/dist/features/relationship/nodes/RelationshipNode.js +0 -111
  1046. package/dist/features/relationship/nodes/RelationshipNode.js.map +0 -1
  1047. package/dist/features/relationship/nodes/components/RelationshipComponent.d.ts +0 -13
  1048. package/dist/features/relationship/nodes/components/RelationshipComponent.d.ts.map +0 -1
  1049. package/dist/features/relationship/nodes/components/RelationshipComponent.js +0 -171
  1050. package/dist/features/relationship/nodes/components/RelationshipComponent.js.map +0 -1
  1051. package/dist/features/relationship/plugins/index.d.ts +0 -7
  1052. package/dist/features/relationship/plugins/index.d.ts.map +0 -1
  1053. package/dist/features/relationship/plugins/index.js +0 -50
  1054. package/dist/features/relationship/plugins/index.js.map +0 -1
  1055. package/dist/features/relationship/utils/EnabledRelationshipsCondition.d.ts.map +0 -1
  1056. package/dist/features/relationship/utils/EnabledRelationshipsCondition.js +0 -33
  1057. package/dist/features/relationship/utils/EnabledRelationshipsCondition.js.map +0 -1
  1058. package/dist/features/toolbars/fixed/Toolbar/index.d.ts +0 -5
  1059. package/dist/features/toolbars/fixed/Toolbar/index.d.ts.map +0 -1
  1060. package/dist/features/toolbars/fixed/Toolbar/index.js +0 -207
  1061. package/dist/features/toolbars/fixed/Toolbar/index.js.map +0 -1
  1062. package/dist/features/toolbars/fixed/feature.client.d.ts +0 -6
  1063. package/dist/features/toolbars/fixed/feature.client.d.ts.map +0 -1
  1064. package/dist/features/toolbars/fixed/feature.client.js +0 -13
  1065. package/dist/features/toolbars/fixed/feature.client.js.map +0 -1
  1066. package/dist/features/toolbars/fixed/feature.server.d.ts +0 -18
  1067. package/dist/features/toolbars/fixed/feature.server.d.ts.map +0 -1
  1068. package/dist/features/toolbars/fixed/feature.server.js +0 -19
  1069. package/dist/features/toolbars/fixed/feature.server.js.map +0 -1
  1070. package/dist/features/toolbars/inline/Toolbar/index.d.ts +0 -4
  1071. package/dist/features/toolbars/inline/Toolbar/index.d.ts.map +0 -1
  1072. package/dist/features/toolbars/inline/Toolbar/index.js +0 -319
  1073. package/dist/features/toolbars/inline/Toolbar/index.js.map +0 -1
  1074. package/dist/features/toolbars/inline/feature.client.d.ts +0 -5
  1075. package/dist/features/toolbars/inline/feature.client.d.ts.map +0 -1
  1076. package/dist/features/toolbars/inline/feature.client.js +0 -13
  1077. package/dist/features/toolbars/inline/feature.client.js.map +0 -1
  1078. package/dist/features/toolbars/inline/feature.server.d.ts +0 -2
  1079. package/dist/features/toolbars/inline/feature.server.d.ts.map +0 -1
  1080. package/dist/features/toolbars/inline/feature.server.js +0 -11
  1081. package/dist/features/toolbars/inline/feature.server.js.map +0 -1
  1082. package/dist/features/upload/component/index.d.ts +0 -9
  1083. package/dist/features/upload/component/index.d.ts.map +0 -1
  1084. package/dist/features/upload/component/index.js +0 -242
  1085. package/dist/features/upload/component/index.js.map +0 -1
  1086. package/dist/features/upload/drawer/commands.d.ts.map +0 -1
  1087. package/dist/features/upload/drawer/commands.js.map +0 -1
  1088. package/dist/features/upload/drawer/index.d.ts.map +0 -1
  1089. package/dist/features/upload/drawer/index.js +0 -77
  1090. package/dist/features/upload/drawer/index.js.map +0 -1
  1091. package/dist/features/upload/feature.client.d.ts.map +0 -1
  1092. package/dist/features/upload/feature.client.js +0 -74
  1093. package/dist/features/upload/feature.client.js.map +0 -1
  1094. package/dist/features/upload/feature.server.d.ts +0 -18
  1095. package/dist/features/upload/feature.server.d.ts.map +0 -1
  1096. package/dist/features/upload/feature.server.js +0 -184
  1097. package/dist/features/upload/feature.server.js.map +0 -1
  1098. package/dist/features/upload/graphQLPopulationPromise.d.ts +0 -5
  1099. package/dist/features/upload/graphQLPopulationPromise.d.ts.map +0 -1
  1100. package/dist/features/upload/graphQLPopulationPromise.js +0 -52
  1101. package/dist/features/upload/graphQLPopulationPromise.js.map +0 -1
  1102. package/dist/features/upload/i18n.d.ts.map +0 -1
  1103. package/dist/features/upload/i18n.js.map +0 -1
  1104. package/dist/features/upload/nodes/UploadNode.d.ts +0 -39
  1105. package/dist/features/upload/nodes/UploadNode.d.ts.map +0 -1
  1106. package/dist/features/upload/nodes/UploadNode.js +0 -131
  1107. package/dist/features/upload/nodes/UploadNode.js.map +0 -1
  1108. package/dist/features/upload/plugin/index.d.ts +0 -8
  1109. package/dist/features/upload/plugin/index.d.ts.map +0 -1
  1110. package/dist/features/upload/plugin/index.js +0 -53
  1111. package/dist/features/upload/plugin/index.js.map +0 -1
  1112. package/dist/features/upload/validate.d.ts +0 -5
  1113. package/dist/features/upload/validate.d.ts.map +0 -1
  1114. package/dist/features/upload/validate.js.map +0 -1
  1115. package/dist/lexical/utils/invariant.d.ts +0 -2
  1116. package/dist/lexical/utils/invariant.d.ts.map +0 -1
  1117. package/dist/lexical/utils/invariant.js +0 -12
  1118. package/dist/lexical/utils/invariant.js.map +0 -1
  1119. /package/dist/features/align/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1120. /package/dist/features/align/{i18n.js → server/i18n.js} +0 -0
  1121. /package/dist/features/blockquote/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1122. /package/dist/features/blockquote/{i18n.js → server/i18n.js} +0 -0
  1123. /package/dist/features/blocks/{component → client/component}/FormSavePlugin.d.ts +0 -0
  1124. /package/dist/features/blocks/{component → client/component}/FormSavePlugin.js +0 -0
  1125. /package/dist/features/blocks/{component → client/component}/removeEmptyArrayValues.d.ts +0 -0
  1126. /package/dist/features/blocks/{component → client/component}/removeEmptyArrayValues.js +0 -0
  1127. /package/dist/features/blocks/{componentInline → client/componentInline}/index.d.ts +0 -0
  1128. /package/dist/features/blocks/{plugin → client/plugin}/commands.d.ts +0 -0
  1129. /package/dist/features/blocks/{plugin → client/plugin}/commands.js +0 -0
  1130. /package/dist/features/blocks/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1131. /package/dist/features/blocks/{i18n.js → server/i18n.js} +0 -0
  1132. /package/dist/features/blocks/{validate.js → server/validate.js} +0 -0
  1133. /package/dist/features/debug/treeView/{plugin → client/plugin}/index.js +0 -0
  1134. /package/dist/features/experimental_table/{utils → client/utils}/debounce.d.ts +0 -0
  1135. /package/dist/features/experimental_table/{utils → client/utils}/debounce.js +0 -0
  1136. /package/dist/features/experimental_table/{utils → client/utils}/useDebounce.d.ts +0 -0
  1137. /package/dist/features/experimental_table/{utils → client/utils}/useDebounce.js +0 -0
  1138. /package/dist/features/heading/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1139. /package/dist/features/heading/{i18n.js → server/i18n.js} +0 -0
  1140. /package/dist/features/horizontalRule/{component → client/component}/index.d.ts +0 -0
  1141. /package/dist/features/horizontalRule/{component → client/component}/index.js +0 -0
  1142. /package/dist/features/horizontalRule/{markdownTransformer.d.ts → client/markdownTransformer.d.ts} +0 -0
  1143. /package/dist/features/horizontalRule/{markdownTransformer.js → client/markdownTransformer.js} +0 -0
  1144. /package/dist/features/horizontalRule/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1145. /package/dist/features/horizontalRule/{i18n.js → server/i18n.js} +0 -0
  1146. /package/dist/features/indent/{toolbarIndentGroup.js → client/toolbarIndentGroup.js} +0 -0
  1147. /package/dist/features/indent/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1148. /package/dist/features/indent/{i18n.js → server/i18n.js} +0 -0
  1149. /package/dist/features/link/{plugins → client/plugins}/clickableLink/index.js +0 -0
  1150. /package/dist/features/link/{plugins → client/plugins}/floatingLinkEditor/LinkEditor/commands.d.ts +0 -0
  1151. /package/dist/features/link/{plugins → client/plugins}/floatingLinkEditor/LinkEditor/commands.js +0 -0
  1152. /package/dist/features/link/{plugins → client/plugins}/floatingLinkEditor/LinkEditor/index.d.ts +0 -0
  1153. /package/dist/features/link/{plugins → client/plugins}/floatingLinkEditor/index.js +0 -0
  1154. /package/dist/features/link/{plugins → client/plugins}/floatingLinkEditor/types.js +0 -0
  1155. /package/dist/features/link/{drawer → server}/baseFields.d.ts +0 -0
  1156. /package/dist/features/link/{drawer → server}/baseFields.js +0 -0
  1157. /package/dist/features/link/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1158. /package/dist/features/link/{i18n.js → server/i18n.js} +0 -0
  1159. /package/dist/features/link/{validate.js → server/validate.js} +0 -0
  1160. /package/dist/features/lists/checklist/{plugin → client/plugin}/index.js +0 -0
  1161. /package/dist/features/lists/checklist/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1162. /package/dist/features/lists/checklist/{i18n.js → server/i18n.js} +0 -0
  1163. /package/dist/features/lists/orderedList/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1164. /package/dist/features/lists/orderedList/{i18n.js → server/i18n.js} +0 -0
  1165. /package/dist/features/lists/unorderedList/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1166. /package/dist/features/lists/unorderedList/{i18n.js → server/i18n.js} +0 -0
  1167. /package/dist/features/paragraph/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1168. /package/dist/features/paragraph/{i18n.js → server/i18n.js} +0 -0
  1169. /package/dist/features/relationship/{drawer → client/drawer}/commands.d.ts +0 -0
  1170. /package/dist/features/relationship/{drawer → client/drawer}/commands.js +0 -0
  1171. /package/dist/features/relationship/{drawer → client/drawer}/index.d.ts +0 -0
  1172. /package/dist/features/relationship/{drawer → client/drawer}/index.js +0 -0
  1173. /package/dist/features/relationship/{utils → client/utils}/EnabledRelationshipsCondition.d.ts +0 -0
  1174. /package/dist/features/relationship/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1175. /package/dist/features/relationship/{i18n.js → server/i18n.js} +0 -0
  1176. /package/dist/features/upload/{drawer → client/drawer}/commands.d.ts +0 -0
  1177. /package/dist/features/upload/{drawer → client/drawer}/commands.js +0 -0
  1178. /package/dist/features/upload/{drawer → client/drawer}/index.d.ts +0 -0
  1179. /package/dist/features/upload/{feature.client.d.ts → client/feature.client.d.ts} +0 -0
  1180. /package/dist/features/upload/{i18n.d.ts → server/i18n.d.ts} +0 -0
  1181. /package/dist/features/upload/{i18n.js → server/i18n.js} +0 -0
  1182. /package/dist/features/upload/{validate.js → server/validate.js} +0 -0
@@ -0,0 +1,299 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
4
+ import { $findMatchingParent, mergeRegister } from '@lexical/utils';
5
+ import { getTranslation } from '@payloadcms/translations';
6
+ import { formatDrawerSlug, useConfig, useEditDepth, useModal, useTranslation } from '@payloadcms/ui';
7
+ import { $getSelection, $isLineBreakNode, $isRangeSelection, COMMAND_PRIORITY_HIGH, COMMAND_PRIORITY_LOW, KEY_ESCAPE_COMMAND, SELECTION_CHANGE_COMMAND } from 'lexical';
8
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
9
+ import { useEditorConfigContext } from '../../../../../../lexical/config/client/EditorConfigProvider.js';
10
+ import { getSelectedNode } from '../../../../../../lexical/utils/getSelectedNode.js';
11
+ import { setFloatingElemPositionForLinkEditor } from '../../../../../../lexical/utils/setFloatingElemPositionForLinkEditor.js';
12
+ import { FieldsDrawer } from '../../../../../../utilities/fieldsDrawer/Drawer.js';
13
+ import { $isAutoLinkNode } from '../../../../nodes/AutoLinkNode.js';
14
+ import { $createLinkNode, $isLinkNode, TOGGLE_LINK_COMMAND } from '../../../../nodes/LinkNode.js';
15
+ import { TOGGLE_LINK_WITH_MODAL_COMMAND } from './commands.js';
16
+ export function LinkEditor({ anchorElem }) {
17
+ const [editor] = useLexicalComposerContext();
18
+ const editorRef = useRef(null);
19
+ const [linkUrl, setLinkUrl] = useState(null);
20
+ const [linkLabel, setLinkLabel] = useState(null);
21
+ const { uuid } = useEditorConfigContext();
22
+ const { config } = useConfig();
23
+ const { i18n, t } = useTranslation();
24
+ const [stateData, setStateData] = useState(null);
25
+ const { closeModal, toggleModal } = useModal();
26
+ const editDepth = useEditDepth();
27
+ const [isLink, setIsLink] = useState(false);
28
+ const [selectedNodes, setSelectedNodes] = useState([]);
29
+ const [isAutoLink, setIsAutoLink] = useState(false);
30
+ const drawerSlug = formatDrawerSlug({
31
+ slug: `lexical-rich-text-link-` + uuid,
32
+ depth: editDepth
33
+ });
34
+ const setNotLink = useCallback(()=>{
35
+ setIsLink(false);
36
+ if (editorRef && editorRef.current) {
37
+ editorRef.current.style.opacity = '0';
38
+ editorRef.current.style.transform = 'translate(-10000px, -10000px)';
39
+ }
40
+ setIsAutoLink(false);
41
+ setLinkUrl(null);
42
+ setLinkLabel(null);
43
+ setSelectedNodes([]);
44
+ setStateData(null);
45
+ }, [
46
+ setIsLink,
47
+ setLinkUrl,
48
+ setLinkLabel,
49
+ setSelectedNodes
50
+ ]);
51
+ const $updateLinkEditor = useCallback(()=>{
52
+ const selection = $getSelection();
53
+ let selectedNodeDomRect = null;
54
+ if (!$isRangeSelection(selection) || !selection) {
55
+ setNotLink();
56
+ return;
57
+ }
58
+ // Handle the data displayed in the floating link editor & drawer when you click on a link node
59
+ const focusNode = getSelectedNode(selection);
60
+ selectedNodeDomRect = editor.getElementByKey(focusNode.getKey())?.getBoundingClientRect();
61
+ const focusLinkParent = $findMatchingParent(focusNode, $isLinkNode);
62
+ // Prevent link modal from showing if selection spans further than the link: https://github.com/facebook/lexical/issues/4064
63
+ const badNode = selection.getNodes().filter((node)=>!$isLineBreakNode(node)).find((node)=>{
64
+ const linkNode = $findMatchingParent(node, $isLinkNode);
65
+ return focusLinkParent && !focusLinkParent.is(linkNode) || linkNode && !linkNode.is(focusLinkParent);
66
+ });
67
+ if (focusLinkParent == null || badNode) {
68
+ setNotLink();
69
+ return;
70
+ }
71
+ // Initial state:
72
+ const data = {
73
+ doc: undefined,
74
+ linkType: undefined,
75
+ newTab: undefined,
76
+ url: '',
77
+ ...focusLinkParent.getFields(),
78
+ id: focusLinkParent.getID(),
79
+ text: focusLinkParent.getTextContent()
80
+ };
81
+ if (focusLinkParent.getFields()?.linkType === 'custom') {
82
+ setLinkUrl(focusLinkParent.getFields()?.url ?? null);
83
+ setLinkLabel(null);
84
+ } else {
85
+ // internal link
86
+ setLinkUrl(`/admin/collections/${focusLinkParent.getFields()?.doc?.relationTo}/${focusLinkParent.getFields()?.doc?.value}`);
87
+ const relatedField = config.collections.find((coll)=>coll.slug === focusLinkParent.getFields()?.doc?.relationTo);
88
+ if (!relatedField) {
89
+ // Usually happens if the user removed all default fields. In this case, we let them specify the label or do not display the label at all.
90
+ // label could be a virtual field the user added. This is useful if they want to use the link feature for things other than links.
91
+ setLinkLabel(focusLinkParent.getFields()?.label ? String(focusLinkParent.getFields()?.label) : null);
92
+ setLinkUrl(focusLinkParent.getFields()?.url ? String(focusLinkParent.getFields()?.url) : null);
93
+ } else {
94
+ const label = t('fields:linkedTo', {
95
+ label: getTranslation(relatedField.labels.singular, i18n)
96
+ }).replace(/<[^>]*>?/g, '');
97
+ setLinkLabel(label);
98
+ }
99
+ }
100
+ setStateData(data);
101
+ setIsLink(true);
102
+ setSelectedNodes(selection ? selection?.getNodes() : []);
103
+ if ($isAutoLinkNode(focusLinkParent)) {
104
+ setIsAutoLink(true);
105
+ } else {
106
+ setIsAutoLink(false);
107
+ }
108
+ const editorElem = editorRef.current;
109
+ const nativeSelection = window.getSelection();
110
+ const { activeElement } = document;
111
+ if (editorElem === null) {
112
+ return;
113
+ }
114
+ const rootElement = editor.getRootElement();
115
+ if (nativeSelection !== null && rootElement !== null && rootElement.contains(nativeSelection.anchorNode)) {
116
+ if (!selectedNodeDomRect) {
117
+ // Get the DOM rect of the selected node using the native selection. This sometimes produces the wrong
118
+ // result, which is why we use lexical's selection preferably.
119
+ selectedNodeDomRect = nativeSelection.getRangeAt(0).getBoundingClientRect();
120
+ }
121
+ if (selectedNodeDomRect != null) {
122
+ selectedNodeDomRect.y += 40;
123
+ setFloatingElemPositionForLinkEditor(selectedNodeDomRect, editorElem, anchorElem);
124
+ }
125
+ } else if (activeElement == null || activeElement.className !== 'link-input') {
126
+ if (rootElement !== null) {
127
+ setFloatingElemPositionForLinkEditor(null, editorElem, anchorElem);
128
+ }
129
+ setLinkUrl(null);
130
+ setLinkLabel(null);
131
+ }
132
+ return true;
133
+ }, [
134
+ editor,
135
+ setNotLink,
136
+ config.collections,
137
+ t,
138
+ i18n,
139
+ anchorElem
140
+ ]);
141
+ useEffect(()=>{
142
+ return mergeRegister(editor.registerCommand(TOGGLE_LINK_WITH_MODAL_COMMAND, (payload)=>{
143
+ editor.dispatchCommand(TOGGLE_LINK_COMMAND, payload);
144
+ // Now, open the modal
145
+ $updateLinkEditor();
146
+ toggleModal(drawerSlug);
147
+ return true;
148
+ }, COMMAND_PRIORITY_LOW));
149
+ }, [
150
+ editor,
151
+ $updateLinkEditor,
152
+ toggleModal,
153
+ drawerSlug
154
+ ]);
155
+ useEffect(()=>{
156
+ const scrollerElem = anchorElem.parentElement;
157
+ const update = ()=>{
158
+ editor.getEditorState().read(()=>{
159
+ void $updateLinkEditor();
160
+ });
161
+ };
162
+ window.addEventListener('resize', update);
163
+ if (scrollerElem != null) {
164
+ scrollerElem.addEventListener('scroll', update);
165
+ }
166
+ return ()=>{
167
+ window.removeEventListener('resize', update);
168
+ if (scrollerElem != null) {
169
+ scrollerElem.removeEventListener('scroll', update);
170
+ }
171
+ };
172
+ }, [
173
+ anchorElem.parentElement,
174
+ editor,
175
+ $updateLinkEditor
176
+ ]);
177
+ useEffect(()=>{
178
+ return mergeRegister(editor.registerUpdateListener(({ editorState })=>{
179
+ editorState.read(()=>{
180
+ void $updateLinkEditor();
181
+ });
182
+ }), editor.registerCommand(SELECTION_CHANGE_COMMAND, ()=>{
183
+ void $updateLinkEditor();
184
+ return true;
185
+ }, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_ESCAPE_COMMAND, ()=>{
186
+ if (isLink) {
187
+ setNotLink();
188
+ return true;
189
+ }
190
+ return false;
191
+ }, COMMAND_PRIORITY_HIGH));
192
+ }, [
193
+ editor,
194
+ $updateLinkEditor,
195
+ isLink,
196
+ setNotLink
197
+ ]);
198
+ useEffect(()=>{
199
+ editor.getEditorState().read(()=>{
200
+ void $updateLinkEditor();
201
+ });
202
+ }, [
203
+ editor,
204
+ $updateLinkEditor
205
+ ]);
206
+ return /*#__PURE__*/ _jsxs(React.Fragment, {
207
+ children: [
208
+ /*#__PURE__*/ _jsx("div", {
209
+ className: "link-editor",
210
+ ref: editorRef,
211
+ children: /*#__PURE__*/ _jsxs("div", {
212
+ className: "link-input",
213
+ children: [
214
+ linkUrl && linkUrl.length > 0 ? /*#__PURE__*/ _jsx("a", {
215
+ href: linkUrl,
216
+ rel: "noopener noreferrer",
217
+ target: "_blank",
218
+ children: linkLabel != null && linkLabel.length > 0 ? linkLabel : linkUrl
219
+ }) : linkLabel != null && linkLabel.length > 0 ? /*#__PURE__*/ _jsx("span", {
220
+ className: "link-input__label-pure",
221
+ children: linkLabel
222
+ }) : null,
223
+ editor.isEditable() && /*#__PURE__*/ _jsxs(React.Fragment, {
224
+ children: [
225
+ /*#__PURE__*/ _jsx("button", {
226
+ "aria-label": "Edit link",
227
+ className: "link-edit",
228
+ onClick: ()=>{
229
+ toggleModal(drawerSlug);
230
+ },
231
+ onMouseDown: (event)=>{
232
+ event.preventDefault();
233
+ },
234
+ tabIndex: 0,
235
+ type: "button"
236
+ }),
237
+ !isAutoLink && /*#__PURE__*/ _jsx("button", {
238
+ "aria-label": "Remove link",
239
+ className: "link-trash",
240
+ onClick: ()=>{
241
+ editor.dispatchCommand(TOGGLE_LINK_COMMAND, null);
242
+ },
243
+ onMouseDown: (event)=>{
244
+ event.preventDefault();
245
+ },
246
+ tabIndex: 0,
247
+ type: "button"
248
+ })
249
+ ]
250
+ })
251
+ ]
252
+ })
253
+ }),
254
+ /*#__PURE__*/ _jsx(FieldsDrawer, {
255
+ className: "lexical-link-edit-drawer",
256
+ data: stateData,
257
+ drawerSlug: drawerSlug,
258
+ drawerTitle: t('fields:editLink'),
259
+ featureKey: "link",
260
+ handleDrawerSubmit: (fields, data)=>{
261
+ closeModal(drawerSlug);
262
+ const newLinkPayload = data;
263
+ const bareLinkFields = {
264
+ ...newLinkPayload
265
+ };
266
+ delete bareLinkFields.text;
267
+ // See: https://github.com/facebook/lexical/pull/5536. This updates autolink nodes to link nodes whenever a change was made (which is good!).
268
+ editor.update(()=>{
269
+ const selection = $getSelection();
270
+ let linkParent = null;
271
+ if ($isRangeSelection(selection)) {
272
+ linkParent = getSelectedNode(selection).getParent();
273
+ } else {
274
+ if (selectedNodes.length) {
275
+ linkParent = selectedNodes[0].getParent();
276
+ }
277
+ }
278
+ if (linkParent && $isAutoLinkNode(linkParent)) {
279
+ const linkNode = $createLinkNode({
280
+ fields: bareLinkFields
281
+ });
282
+ linkParent.replace(linkNode, true);
283
+ }
284
+ });
285
+ // Needs to happen AFTER a potential auto link => link node conversion, as otherwise, the updated text to display may be lost due to
286
+ // it being applied to the auto link node instead of the link node.
287
+ editor.dispatchCommand(TOGGLE_LINK_COMMAND, {
288
+ fields: bareLinkFields,
289
+ selectedNodes,
290
+ text: newLinkPayload.text
291
+ });
292
+ },
293
+ schemaPathSuffix: "fields"
294
+ })
295
+ ]
296
+ });
297
+ }
298
+
299
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalNode } from 'lexical'\nimport type { Data, FormState } from 'payload'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatDrawerSlug, useConfig, useEditDepth, useModal, useTranslation } from '@payloadcms/ui'\nimport {\n $getSelection,\n $isLineBreakNode,\n $isRangeSelection,\n COMMAND_PRIORITY_HIGH,\n COMMAND_PRIORITY_LOW,\n KEY_ESCAPE_COMMAND,\n SELECTION_CHANGE_COMMAND,\n} from 'lexical'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { LinkNode } from '../../../../nodes/LinkNode.js'\nimport type { LinkFields } from '../../../../nodes/types.js'\nimport type { LinkPayload } from '../types.js'\n\nimport { useEditorConfigContext } from '../../../../../../lexical/config/client/EditorConfigProvider.js'\nimport { getSelectedNode } from '../../../../../../lexical/utils/getSelectedNode.js'\nimport { setFloatingElemPositionForLinkEditor } from '../../../../../../lexical/utils/setFloatingElemPositionForLinkEditor.js'\nimport { FieldsDrawer } from '../../../../../../utilities/fieldsDrawer/Drawer.js'\nimport { $isAutoLinkNode } from '../../../../nodes/AutoLinkNode.js'\nimport { $createLinkNode, $isLinkNode, TOGGLE_LINK_COMMAND } from '../../../../nodes/LinkNode.js'\nimport { TOGGLE_LINK_WITH_MODAL_COMMAND } from './commands.js'\n\nexport function LinkEditor({ anchorElem }: { anchorElem: HTMLElement }): React.ReactNode {\n const [editor] = useLexicalComposerContext()\n\n const editorRef = useRef<HTMLDivElement | null>(null)\n const [linkUrl, setLinkUrl] = useState(null)\n const [linkLabel, setLinkLabel] = useState(null)\n\n const { uuid } = useEditorConfigContext()\n\n const { config } = useConfig()\n\n const { i18n, t } = useTranslation()\n\n const [stateData, setStateData] = useState<{ id?: string; text: string } & LinkFields>(null)\n\n const { closeModal, toggleModal } = useModal()\n const editDepth = useEditDepth()\n const [isLink, setIsLink] = useState(false)\n const [selectedNodes, setSelectedNodes] = useState<LexicalNode[]>([])\n\n const [isAutoLink, setIsAutoLink] = useState(false)\n\n const drawerSlug = formatDrawerSlug({\n slug: `lexical-rich-text-link-` + uuid,\n depth: editDepth,\n })\n\n const setNotLink = useCallback(() => {\n setIsLink(false)\n if (editorRef && editorRef.current) {\n editorRef.current.style.opacity = '0'\n editorRef.current.style.transform = 'translate(-10000px, -10000px)'\n }\n setIsAutoLink(false)\n setLinkUrl(null)\n setLinkLabel(null)\n setSelectedNodes([])\n setStateData(null)\n }, [setIsLink, setLinkUrl, setLinkLabel, setSelectedNodes])\n\n const $updateLinkEditor = useCallback(() => {\n const selection = $getSelection()\n let selectedNodeDomRect: DOMRect | undefined = null\n\n if (!$isRangeSelection(selection) || !selection) {\n setNotLink()\n return\n }\n\n // Handle the data displayed in the floating link editor & drawer when you click on a link node\n\n const focusNode = getSelectedNode(selection)\n selectedNodeDomRect = editor.getElementByKey(focusNode.getKey())?.getBoundingClientRect()\n const focusLinkParent: LinkNode = $findMatchingParent(focusNode, $isLinkNode)\n\n // Prevent link modal from showing if selection spans further than the link: https://github.com/facebook/lexical/issues/4064\n const badNode = selection\n .getNodes()\n .filter((node) => !$isLineBreakNode(node))\n .find((node) => {\n const linkNode = $findMatchingParent(node, $isLinkNode)\n return (\n (focusLinkParent && !focusLinkParent.is(linkNode)) ||\n (linkNode && !linkNode.is(focusLinkParent))\n )\n })\n\n if (focusLinkParent == null || badNode) {\n setNotLink()\n return\n }\n\n // Initial state:\n const data: { text: string } & LinkFields = {\n doc: undefined,\n linkType: undefined,\n newTab: undefined,\n url: '',\n ...focusLinkParent.getFields(),\n id: focusLinkParent.getID(),\n text: focusLinkParent.getTextContent(),\n }\n\n if (focusLinkParent.getFields()?.linkType === 'custom') {\n setLinkUrl(focusLinkParent.getFields()?.url ?? null)\n setLinkLabel(null)\n } else {\n // internal link\n setLinkUrl(\n `/admin/collections/${focusLinkParent.getFields()?.doc?.relationTo}/${\n focusLinkParent.getFields()?.doc?.value\n }`,\n )\n\n const relatedField = config.collections.find(\n (coll) => coll.slug === focusLinkParent.getFields()?.doc?.relationTo,\n )\n if (!relatedField) {\n // Usually happens if the user removed all default fields. In this case, we let them specify the label or do not display the label at all.\n // label could be a virtual field the user added. This is useful if they want to use the link feature for things other than links.\n setLinkLabel(\n focusLinkParent.getFields()?.label ? String(focusLinkParent.getFields()?.label) : null,\n )\n setLinkUrl(\n focusLinkParent.getFields()?.url ? String(focusLinkParent.getFields()?.url) : null,\n )\n } else {\n const label = t('fields:linkedTo', {\n label: getTranslation(relatedField.labels.singular, i18n),\n }).replace(/<[^>]*>?/g, '')\n setLinkLabel(label)\n }\n }\n\n setStateData(data)\n setIsLink(true)\n setSelectedNodes(selection ? selection?.getNodes() : [])\n\n if ($isAutoLinkNode(focusLinkParent)) {\n setIsAutoLink(true)\n } else {\n setIsAutoLink(false)\n }\n\n const editorElem = editorRef.current\n const nativeSelection = window.getSelection()\n const { activeElement } = document\n\n if (editorElem === null) {\n return\n }\n\n const rootElement = editor.getRootElement()\n\n if (\n nativeSelection !== null &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n if (!selectedNodeDomRect) {\n // Get the DOM rect of the selected node using the native selection. This sometimes produces the wrong\n // result, which is why we use lexical's selection preferably.\n selectedNodeDomRect = nativeSelection.getRangeAt(0).getBoundingClientRect()\n }\n\n if (selectedNodeDomRect != null) {\n selectedNodeDomRect.y += 40\n setFloatingElemPositionForLinkEditor(selectedNodeDomRect, editorElem, anchorElem)\n }\n } else if (activeElement == null || activeElement.className !== 'link-input') {\n if (rootElement !== null) {\n setFloatingElemPositionForLinkEditor(null, editorElem, anchorElem)\n }\n setLinkUrl(null)\n setLinkLabel(null)\n }\n\n return true\n }, [editor, setNotLink, config.collections, t, i18n, anchorElem])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n TOGGLE_LINK_WITH_MODAL_COMMAND,\n (payload: LinkPayload) => {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, payload)\n\n // Now, open the modal\n $updateLinkEditor()\n toggleModal(drawerSlug)\n\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n )\n }, [editor, $updateLinkEditor, toggleModal, drawerSlug])\n\n useEffect(() => {\n const scrollerElem = anchorElem.parentElement\n\n const update = (): void => {\n editor.getEditorState().read(() => {\n void $updateLinkEditor()\n })\n }\n\n window.addEventListener('resize', update)\n\n if (scrollerElem != null) {\n scrollerElem.addEventListener('scroll', update)\n }\n\n return () => {\n window.removeEventListener('resize', update)\n\n if (scrollerElem != null) {\n scrollerElem.removeEventListener('scroll', update)\n }\n }\n }, [anchorElem.parentElement, editor, $updateLinkEditor])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n void $updateLinkEditor()\n })\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n void $updateLinkEditor()\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n KEY_ESCAPE_COMMAND,\n () => {\n if (isLink) {\n setNotLink()\n\n return true\n }\n return false\n },\n COMMAND_PRIORITY_HIGH,\n ),\n )\n }, [editor, $updateLinkEditor, isLink, setNotLink])\n\n useEffect(() => {\n editor.getEditorState().read(() => {\n void $updateLinkEditor()\n })\n }, [editor, $updateLinkEditor])\n\n return (\n <React.Fragment>\n <div className=\"link-editor\" ref={editorRef}>\n <div className=\"link-input\">\n {linkUrl && linkUrl.length > 0 ? (\n <a href={linkUrl} rel=\"noopener noreferrer\" target=\"_blank\">\n {linkLabel != null && linkLabel.length > 0 ? linkLabel : linkUrl}\n </a>\n ) : linkLabel != null && linkLabel.length > 0 ? (\n <span className=\"link-input__label-pure\">{linkLabel}</span>\n ) : null}\n\n {editor.isEditable() && (\n <React.Fragment>\n <button\n aria-label=\"Edit link\"\n className=\"link-edit\"\n onClick={() => {\n toggleModal(drawerSlug)\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n }}\n tabIndex={0}\n type=\"button\"\n />\n {!isAutoLink && (\n <button\n aria-label=\"Remove link\"\n className=\"link-trash\"\n onClick={() => {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, null)\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n }}\n tabIndex={0}\n type=\"button\"\n />\n )}\n </React.Fragment>\n )}\n </div>\n </div>\n <FieldsDrawer\n className=\"lexical-link-edit-drawer\"\n data={stateData}\n drawerSlug={drawerSlug}\n drawerTitle={t('fields:editLink')}\n featureKey=\"link\"\n handleDrawerSubmit={(fields: FormState, data: Data) => {\n closeModal(drawerSlug)\n\n const newLinkPayload = data as { text: string } & LinkFields\n\n const bareLinkFields: LinkFields = {\n ...newLinkPayload,\n }\n delete bareLinkFields.text\n\n // See: https://github.com/facebook/lexical/pull/5536. This updates autolink nodes to link nodes whenever a change was made (which is good!).\n editor.update(() => {\n const selection = $getSelection()\n let linkParent = null\n if ($isRangeSelection(selection)) {\n linkParent = getSelectedNode(selection).getParent()\n } else {\n if (selectedNodes.length) {\n linkParent = selectedNodes[0].getParent()\n }\n }\n\n if (linkParent && $isAutoLinkNode(linkParent)) {\n const linkNode = $createLinkNode({\n fields: bareLinkFields,\n })\n linkParent.replace(linkNode, true)\n }\n })\n\n // Needs to happen AFTER a potential auto link => link node conversion, as otherwise, the updated text to display may be lost due to\n // it being applied to the auto link node instead of the link node.\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, {\n fields: bareLinkFields,\n selectedNodes,\n text: newLinkPayload.text,\n })\n }}\n schemaPathSuffix=\"fields\"\n />\n </React.Fragment>\n )\n}\n"],"names":["useLexicalComposerContext","$findMatchingParent","mergeRegister","getTranslation","formatDrawerSlug","useConfig","useEditDepth","useModal","useTranslation","$getSelection","$isLineBreakNode","$isRangeSelection","COMMAND_PRIORITY_HIGH","COMMAND_PRIORITY_LOW","KEY_ESCAPE_COMMAND","SELECTION_CHANGE_COMMAND","React","useCallback","useEffect","useRef","useState","useEditorConfigContext","getSelectedNode","setFloatingElemPositionForLinkEditor","FieldsDrawer","$isAutoLinkNode","$createLinkNode","$isLinkNode","TOGGLE_LINK_COMMAND","TOGGLE_LINK_WITH_MODAL_COMMAND","LinkEditor","anchorElem","editor","editorRef","linkUrl","setLinkUrl","linkLabel","setLinkLabel","uuid","config","i18n","t","stateData","setStateData","closeModal","toggleModal","editDepth","isLink","setIsLink","selectedNodes","setSelectedNodes","isAutoLink","setIsAutoLink","drawerSlug","slug","depth","setNotLink","current","style","opacity","transform","$updateLinkEditor","selection","selectedNodeDomRect","focusNode","getElementByKey","getKey","getBoundingClientRect","focusLinkParent","badNode","getNodes","filter","node","find","linkNode","is","data","doc","undefined","linkType","newTab","url","getFields","id","getID","text","getTextContent","relationTo","value","relatedField","collections","coll","label","String","labels","singular","replace","editorElem","nativeSelection","window","getSelection","activeElement","document","rootElement","getRootElement","contains","anchorNode","getRangeAt","y","className","registerCommand","payload","dispatchCommand","scrollerElem","parentElement","update","getEditorState","read","addEventListener","removeEventListener","registerUpdateListener","editorState","Fragment","div","ref","length","a","href","rel","target","span","isEditable","button","aria-label","onClick","onMouseDown","event","preventDefault","tabIndex","type","drawerTitle","featureKey","handleDrawerSubmit","fields","newLinkPayload","bareLinkFields","linkParent","getParent","schemaPathSuffix"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { PluginComponentWithAnchor } from '../../../../typesClient.js';
2
+ import type { ClientProps } from '../../index.js';
3
+ import './index.scss';
4
+ export declare const FloatingLinkEditorPlugin: PluginComponentWithAnchor<ClientProps>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/link/client/plugins/floatingLinkEditor/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAGjD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,wBAAwB,EAAE,yBAAyB,CAAC,WAAW,CAI3E,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/features/link/client/plugins/floatingLinkEditor/index.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\nimport { createPortal } from 'react-dom'\n\nimport type { PluginComponentWithAnchor } from '../../../../typesClient.js'\nimport type { ClientProps } from '../../index.js'\n\nimport { LinkEditor } from './LinkEditor/index.js'\nimport './index.scss'\n\nexport const FloatingLinkEditorPlugin: PluginComponentWithAnchor<ClientProps> = (props) => {\n const { anchorElem = document.body } = props\n\n return createPortal(<LinkEditor anchorElem={anchorElem} />, anchorElem)\n}\n"],"names":["React","createPortal","LinkEditor","FloatingLinkEditorPlugin","props","anchorElem","document","body"],"mappings":"AAAA;;AACA,YAAYA,WAAW,QAAO;AAC9B,SAASC,YAAY,QAAQ,YAAW;AAKxC,SAASC,UAAU,QAAQ,wBAAuB;AAGlD,OAAO,MAAMC,2BAAmE,CAACC;IAC/E,MAAM,EAAEC,aAAaC,SAASC,IAAI,EAAE,GAAGH;IAEvC,qBAAOH,2BAAa,KAACC;QAAWG,YAAYA;QAAgBA;AAC9D,EAAC"}
@@ -0,0 +1,15 @@
1
+ import type { LexicalNode } from 'lexical';
2
+ import type { LinkFields } from '../../../nodes/types.js';
3
+ /**
4
+ * The payload of a link node
5
+ * This can be delivered from the link node to the drawer, or from the drawer/anything to the TOGGLE_LINK_COMMAND
6
+ */
7
+ export type LinkPayload = {
8
+ fields: LinkFields;
9
+ selectedNodes?: LexicalNode[];
10
+ /**
11
+ * The text content of the link node - will be displayed in the drawer
12
+ */
13
+ text: null | string;
14
+ };
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/link/client/plugins/floatingLinkEditor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEzD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,UAAU,CAAA;IAClB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAA;IAC7B;;OAEG;IACH,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;CACpB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/features/link/client/plugins/floatingLinkEditor/types.ts"],"sourcesContent":["import type { LexicalNode } from 'lexical'\n\nimport type { LinkFields } from '../../../nodes/types.js'\n\n/**\n * The payload of a link node\n * This can be delivered from the link node to the drawer, or from the drawer/anything to the TOGGLE_LINK_COMMAND\n */\nexport type LinkPayload = {\n fields: LinkFields\n selectedNodes?: LexicalNode[]\n /**\n * The text content of the link node - will be displayed in the drawer\n */\n text: null | string\n}\n"],"names":[],"mappings":"AAIA;;;CAGC,GACD,WAOC"}
@@ -0,0 +1,4 @@
1
+ import type { PluginComponent } from '../../../../typesClient.js';
2
+ import type { ClientProps } from '../../index.js';
3
+ export declare const LinkPlugin: PluginComponent<ClientProps>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/link/client/plugins/link/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAMjD,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,WAAW,CAuDnD,CAAA"}
@@ -0,0 +1,51 @@
1
+ 'use client';
2
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
3
+ import { mergeRegister } from '@lexical/utils';
4
+ import { $getSelection, $isElementNode, $isRangeSelection, COMMAND_PRIORITY_LOW, PASTE_COMMAND } from 'lexical';
5
+ import { useEffect } from 'react';
6
+ import { validateUrl } from '../../../../../lexical/utils/url.js';
7
+ import { $toggleLink, LinkNode, TOGGLE_LINK_COMMAND } from '../../../nodes/LinkNode.js';
8
+ export const LinkPlugin = ()=>{
9
+ const [editor] = useLexicalComposerContext();
10
+ useEffect(()=>{
11
+ if (!editor.hasNodes([
12
+ LinkNode
13
+ ])) {
14
+ throw new Error('LinkPlugin: LinkNode not registered on editor');
15
+ }
16
+ return mergeRegister(editor.registerCommand(TOGGLE_LINK_COMMAND, (payload)=>{
17
+ $toggleLink(payload);
18
+ return true;
19
+ }, COMMAND_PRIORITY_LOW), editor.registerCommand(PASTE_COMMAND, (event)=>{
20
+ const selection = $getSelection();
21
+ if (!$isRangeSelection(selection) || selection.isCollapsed() || !(event instanceof ClipboardEvent) || event.clipboardData == null) {
22
+ return false;
23
+ }
24
+ const clipboardText = event.clipboardData.getData('text');
25
+ if (!validateUrl(clipboardText)) {
26
+ return false;
27
+ }
28
+ // If we select nodes that are elements then avoid applying the link.
29
+ if (!selection.getNodes().some((node)=>$isElementNode(node))) {
30
+ const linkFields = {
31
+ doc: null,
32
+ linkType: 'custom',
33
+ newTab: false,
34
+ url: clipboardText
35
+ };
36
+ editor.dispatchCommand(TOGGLE_LINK_COMMAND, {
37
+ fields: linkFields,
38
+ text: null
39
+ });
40
+ event.preventDefault();
41
+ return true;
42
+ }
43
+ return false;
44
+ }, COMMAND_PRIORITY_LOW));
45
+ }, [
46
+ editor
47
+ ]);
48
+ return null;
49
+ };
50
+
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/features/link/client/plugins/link/index.tsx"],"sourcesContent":["'use client'\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { mergeRegister } from '@lexical/utils'\nimport {\n $getSelection,\n $isElementNode,\n $isRangeSelection,\n COMMAND_PRIORITY_LOW,\n PASTE_COMMAND,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../../../typesClient.js'\nimport type { LinkFields } from '../../../nodes/types.js'\nimport type { ClientProps } from '../../index.js'\nimport type { LinkPayload } from '../floatingLinkEditor/types.js'\n\nimport { validateUrl } from '../../../../../lexical/utils/url.js'\nimport { $toggleLink, LinkNode, TOGGLE_LINK_COMMAND } from '../../../nodes/LinkNode.js'\n\nexport const LinkPlugin: PluginComponent<ClientProps> = () => {\n const [editor] = useLexicalComposerContext()\n\n useEffect(() => {\n if (!editor.hasNodes([LinkNode])) {\n throw new Error('LinkPlugin: LinkNode not registered on editor')\n }\n return mergeRegister(\n editor.registerCommand(\n TOGGLE_LINK_COMMAND,\n (payload: LinkPayload) => {\n $toggleLink(payload)\n return true\n },\n COMMAND_PRIORITY_LOW,\n ),\n editor.registerCommand(\n PASTE_COMMAND,\n (event) => {\n const selection = $getSelection()\n if (\n !$isRangeSelection(selection) ||\n selection.isCollapsed() ||\n !(event instanceof ClipboardEvent) ||\n event.clipboardData == null\n ) {\n return false\n }\n const clipboardText = event.clipboardData.getData('text')\n if (!validateUrl(clipboardText)) {\n return false\n }\n // If we select nodes that are elements then avoid applying the link.\n if (!selection.getNodes().some((node) => $isElementNode(node))) {\n const linkFields: LinkFields = {\n doc: null,\n linkType: 'custom',\n newTab: false,\n url: clipboardText,\n }\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, {\n fields: linkFields,\n text: null,\n })\n event.preventDefault()\n return true\n }\n return false\n },\n COMMAND_PRIORITY_LOW,\n ),\n )\n }, [editor])\n\n return null\n}\n"],"names":["useLexicalComposerContext","mergeRegister","$getSelection","$isElementNode","$isRangeSelection","COMMAND_PRIORITY_LOW","PASTE_COMMAND","useEffect","validateUrl","$toggleLink","LinkNode","TOGGLE_LINK_COMMAND","LinkPlugin","editor","hasNodes","Error","registerCommand","payload","event","selection","isCollapsed","ClipboardEvent","clipboardData","clipboardText","getData","getNodes","some","node","linkFields","doc","linkType","newTab","url","dispatchCommand","fields","text","preventDefault"],"mappings":"AAAA;AACA,SAASA,yBAAyB,QAAQ,2CAA0C;AACpF,SAASC,aAAa,QAAQ,iBAAgB;AAC9C,SACEC,aAAa,EACbC,cAAc,EACdC,iBAAiB,EACjBC,oBAAoB,EACpBC,aAAa,QACR,UAAS;AAChB,SAASC,SAAS,QAAQ,QAAO;AAOjC,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,WAAW,EAAEC,QAAQ,EAAEC,mBAAmB,QAAQ,6BAA4B;AAEvF,OAAO,MAAMC,aAA2C;IACtD,MAAM,CAACC,OAAO,GAAGb;IAEjBO,UAAU;QACR,IAAI,CAACM,OAAOC,QAAQ,CAAC;YAACJ;SAAS,GAAG;YAChC,MAAM,IAAIK,MAAM;QAClB;QACA,OAAOd,cACLY,OAAOG,eAAe,CACpBL,qBACA,CAACM;YACCR,YAAYQ;YACZ,OAAO;QACT,GACAZ,uBAEFQ,OAAOG,eAAe,CACpBV,eACA,CAACY;YACC,MAAMC,YAAYjB;YAClB,IACE,CAACE,kBAAkBe,cACnBA,UAAUC,WAAW,MACrB,CAAEF,CAAAA,iBAAiBG,cAAa,KAChCH,MAAMI,aAAa,IAAI,MACvB;gBACA,OAAO;YACT;YACA,MAAMC,gBAAgBL,MAAMI,aAAa,CAACE,OAAO,CAAC;YAClD,IAAI,CAAChB,YAAYe,gBAAgB;gBAC/B,OAAO;YACT;YACA,qEAAqE;YACrE,IAAI,CAACJ,UAAUM,QAAQ,GAAGC,IAAI,CAAC,CAACC,OAASxB,eAAewB,QAAQ;gBAC9D,MAAMC,aAAyB;oBAC7BC,KAAK;oBACLC,UAAU;oBACVC,QAAQ;oBACRC,KAAKT;gBACP;gBACAV,OAAOoB,eAAe,CAACtB,qBAAqB;oBAC1CuB,QAAQN;oBACRO,MAAM;gBACR;gBACAjB,MAAMkB,cAAc;gBACpB,OAAO;YACT;YACA,OAAO;QACT,GACA/B;IAGN,GAAG;QAACQ;KAAO;IAEX,OAAO;AACT,EAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { BaseSelection, DOMConversionMap, EditorConfig, ElementNode as ElementNodeType, LexicalCommand, LexicalNode, NodeKey, RangeSelection } from 'lexical';
2
2
  import { ElementNode } from 'lexical';
3
- import type { LinkPayload } from '../plugins/floatingLinkEditor/types.js';
3
+ import type { LinkPayload } from '../client/plugins/floatingLinkEditor/types.js';
4
4
  import type { LinkFields, SerializedLinkNode } from './types.js';
5
5
  /** @noInheritDoc */
6
6
  export declare class LinkNode extends ElementNode {
@@ -1 +1 @@
1
- {"version":3,"file":"LinkNode.d.ts","sourceRoot":"","sources":["../../../../src/features/link/nodes/LinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAEhB,YAAY,EACZ,WAAW,IAAI,eAAe,EAC9B,cAAc,EACd,WAAW,EACX,OAAO,EACP,cAAc,EACf,MAAM,SAAS,CAAA;AAIhB,OAAO,EAML,WAAW,EAEZ,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIhE,oBAAoB;AACpB,qBAAa,QAAS,SAAQ,WAAW;IACvC,QAAQ,EAAE,UAAU,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;gBAEA,EACV,EAAE,EACF,MAKC,EACD,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,UAAU,CAAA;QAClB,EAAE,EAAE,MAAM,CAAA;QACV,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAMD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAQtC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;IAS3C,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,kBAAkB,GAAG,QAAQ;IAyB/D,UAAU,IAAI,KAAK;IAInB,kBAAkB,IAAI,KAAK;IAI3B,mBAAmB,IAAI,KAAK;IAI5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB;IAiBlD,UAAU,IAAI,kBAAkB;IAchC,gBAAgB,CACd,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,OAAO,GAAG,MAAM,GAC5B,OAAO;IAeV,SAAS,IAAI,UAAU;IAIvB,KAAK,IAAI,MAAM;IAIf,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,eAAe,GAAG,IAAI;IAU1F,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAahC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO;CA8BxF;AAqBD,wBAAgB,eAAe,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAO7F;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,QAAQ,CAElF;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAC7B,CAAA;AAEtC,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA6GtD"}
1
+ {"version":3,"file":"LinkNode.d.ts","sourceRoot":"","sources":["../../../../src/features/link/nodes/LinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAEhB,YAAY,EACZ,WAAW,IAAI,eAAe,EAC9B,cAAc,EACd,WAAW,EACX,OAAO,EACP,cAAc,EACf,MAAM,SAAS,CAAA;AAIhB,OAAO,EAML,WAAW,EAEZ,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAA;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIhE,oBAAoB;AACpB,qBAAa,QAAS,SAAQ,WAAW;IACvC,QAAQ,EAAE,UAAU,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;gBAEA,EACV,EAAE,EACF,MAKC,EACD,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,UAAU,CAAA;QAClB,EAAE,EAAE,MAAM,CAAA;QACV,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAMD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAQtC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;IAS3C,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,kBAAkB,GAAG,QAAQ;IAyB/D,UAAU,IAAI,KAAK;IAInB,kBAAkB,IAAI,KAAK;IAI3B,mBAAmB,IAAI,KAAK;IAI5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB;IAiBlD,UAAU,IAAI,kBAAkB;IAchC,gBAAgB,CACd,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,OAAO,GAAG,MAAM,GAC5B,OAAO;IAeV,SAAS,IAAI,UAAU;IAIvB,KAAK,IAAI,MAAM;IAIf,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,eAAe,GAAG,IAAI;IAU1F,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAahC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO;CA8BxF;AAqBD,wBAAgB,eAAe,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAO7F;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,QAAQ,CAElF;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAC7B,CAAA;AAEtC,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA6GtD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/link/nodes/LinkNode.ts"],"sourcesContent":["import type {\n BaseSelection,\n DOMConversionMap,\n DOMConversionOutput,\n EditorConfig,\n ElementNode as ElementNodeType,\n LexicalCommand,\n LexicalNode,\n NodeKey,\n RangeSelection,\n} from 'lexical'\n\nimport { addClassNamesToElement, isHTMLAnchorElement } from '@lexical/utils'\nimport ObjectID from 'bson-objectid'\nimport {\n $applyNodeReplacement,\n $createTextNode,\n $getSelection,\n $isElementNode,\n $isRangeSelection,\n ElementNode,\n createCommand,\n} from 'lexical'\n\nimport type { LinkPayload } from '../plugins/floatingLinkEditor/types.js'\nimport type { LinkFields, SerializedLinkNode } from './types.js'\n\nconst SUPPORTED_URL_PROTOCOLS = new Set(['http:', 'https:', 'mailto:', 'sms:', 'tel:'])\n\n/** @noInheritDoc */\nexport class LinkNode extends ElementNode {\n __fields: LinkFields\n __id: string\n\n constructor({\n id,\n fields = {\n doc: null,\n linkType: 'custom',\n newTab: false,\n url: undefined,\n },\n key,\n }: {\n fields: LinkFields\n id: string\n key?: NodeKey\n }) {\n super(key)\n this.__fields = fields\n this.__id = id\n }\n\n static clone(node: LinkNode): LinkNode {\n return new LinkNode({\n id: node.__id,\n fields: node.__fields,\n key: node.__key,\n })\n }\n\n static getType(): string {\n return 'link'\n }\n\n static importDOM(): DOMConversionMap | null {\n return {\n a: (node: Node) => ({\n conversion: $convertAnchorElement,\n priority: 1,\n }),\n }\n }\n\n static importJSON(serializedNode: SerializedLinkNode): LinkNode {\n if (\n serializedNode.version === 1 &&\n typeof serializedNode.fields?.doc?.value === 'object' &&\n serializedNode.fields?.doc?.value?.id\n ) {\n serializedNode.fields.doc.value = serializedNode.fields.doc.value.id\n serializedNode.version = 2\n }\n\n if (serializedNode.version === 2 && !serializedNode.id) {\n serializedNode.id = new ObjectID.default().toHexString()\n serializedNode.version = 3\n }\n\n const node = $createLinkNode({\n id: serializedNode.id,\n fields: serializedNode.fields,\n })\n node.setFormat(serializedNode.format)\n node.setIndent(serializedNode.indent)\n node.setDirection(serializedNode.direction)\n return node\n }\n\n canBeEmpty(): false {\n return false\n }\n\n canInsertTextAfter(): false {\n return false\n }\n\n canInsertTextBefore(): false {\n return false\n }\n\n createDOM(config: EditorConfig): HTMLAnchorElement {\n const element = document.createElement('a')\n if (this.__fields?.linkType === 'custom') {\n element.href = this.sanitizeUrl(this.__fields.url ?? '')\n }\n if (this.__fields?.newTab ?? false) {\n element.target = '_blank'\n }\n\n if (this.__fields?.newTab === true && this.__fields?.linkType === 'custom') {\n element.rel = manageRel(element.rel, 'add', 'noopener')\n }\n\n addClassNamesToElement(element, config.theme.link)\n return element\n }\n\n exportJSON(): SerializedLinkNode {\n const returnObject: SerializedLinkNode = {\n ...super.exportJSON(),\n type: 'link',\n fields: this.getFields(),\n version: 3,\n }\n const id = this.getID()\n if (id) {\n returnObject.id = id\n }\n return returnObject\n }\n\n extractWithChild(\n child: LexicalNode,\n selection: BaseSelection,\n destination: 'clone' | 'html',\n ): boolean {\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n const anchorNode = selection.anchor.getNode()\n const focusNode = selection.focus.getNode()\n\n return (\n this.isParentOf(anchorNode) &&\n this.isParentOf(focusNode) &&\n selection.getTextContent().length > 0\n )\n }\n\n getFields(): LinkFields {\n return this.getLatest().__fields\n }\n\n getID(): string {\n return this.getLatest().__id\n }\n\n insertNewAfter(selection: RangeSelection, restoreSelection = true): ElementNodeType | null {\n const element = this.getParentOrThrow().insertNewAfter(selection, restoreSelection)\n if ($isElementNode(element)) {\n const linkNode = $createLinkNode({ fields: this.__fields })\n element.append(linkNode)\n return linkNode\n }\n return null\n }\n\n isInline(): true {\n return true\n }\n\n sanitizeUrl(url: string): string {\n try {\n const parsedUrl = new URL(url)\n\n if (!SUPPORTED_URL_PROTOCOLS.has(parsedUrl.protocol)) {\n return 'about:blank'\n }\n } catch (e) {\n return 'https://'\n }\n return url\n }\n\n setFields(fields: LinkFields): void {\n const writable = this.getWritable()\n writable.__fields = fields\n }\n\n updateDOM(prevNode: LinkNode, anchor: HTMLAnchorElement, config: EditorConfig): boolean {\n const url = this.__fields?.url\n const newTab = this.__fields?.newTab\n if (url != null && url !== prevNode.__fields?.url && this.__fields?.linkType === 'custom') {\n anchor.href = url\n }\n if (this.__fields?.linkType === 'internal' && prevNode.__fields?.linkType === 'custom') {\n anchor.removeAttribute('href')\n }\n\n // TODO: not 100% sure why we're settign rel to '' - revisit\n // Start rel config here, then check newTab below\n if (anchor.rel == null) {\n anchor.rel = ''\n }\n\n if (newTab !== prevNode.__fields?.newTab) {\n if (newTab ?? false) {\n anchor.target = '_blank'\n if (this.__fields?.linkType === 'custom') {\n anchor.rel = manageRel(anchor.rel, 'add', 'noopener')\n }\n } else {\n anchor.removeAttribute('target')\n anchor.rel = manageRel(anchor.rel, 'remove', 'noopener')\n }\n }\n\n return false\n }\n}\n\nfunction $convertAnchorElement(domNode: Node): DOMConversionOutput {\n let node: LinkNode | null = null\n if (isHTMLAnchorElement(domNode)) {\n const content = domNode.textContent\n if (content !== null && content !== '') {\n node = $createLinkNode({\n id: new ObjectID.default().toHexString(),\n fields: {\n doc: null,\n linkType: 'custom',\n newTab: domNode.getAttribute('target') === '_blank',\n url: domNode.getAttribute('href') ?? '',\n },\n })\n }\n }\n return { node }\n}\n\nexport function $createLinkNode({ id, fields }: { fields: LinkFields; id?: string }): LinkNode {\n return $applyNodeReplacement(\n new LinkNode({\n id: id ?? new ObjectID.default().toHexString(),\n fields,\n }),\n )\n}\n\nexport function $isLinkNode(node: LexicalNode | null | undefined): node is LinkNode {\n return node instanceof LinkNode\n}\n\nexport const TOGGLE_LINK_COMMAND: LexicalCommand<LinkPayload | null> =\n createCommand('TOGGLE_LINK_COMMAND')\n\nexport function $toggleLink(payload: LinkPayload): void {\n const selection = $getSelection()\n\n if (!$isRangeSelection(selection) && !payload.selectedNodes.length) {\n return\n }\n const nodes = $isRangeSelection(selection) ? selection.extract() : payload.selectedNodes\n\n if (payload === null) {\n // Remove LinkNodes\n nodes.forEach((node) => {\n const parent = node.getParent()\n\n if ($isLinkNode(parent)) {\n const children = parent.getChildren()\n\n for (let i = 0; i < children.length; i += 1) {\n parent.insertBefore(children[i])\n }\n\n parent.remove()\n }\n })\n } else {\n // Add or merge LinkNodes\n if (nodes.length === 1) {\n const firstNode = nodes[0]\n // if the first node is a LinkNode or if its\n // parent is a LinkNode, we update the URL, target and rel.\n const linkNode: LinkNode | null = $isLinkNode(firstNode)\n ? firstNode\n : $getLinkAncestor(firstNode)\n if (linkNode !== null) {\n linkNode.setFields(payload.fields)\n\n if (payload.text != null && payload.text !== linkNode.getTextContent()) {\n // remove all children and add child with new textcontent:\n linkNode.append($createTextNode(payload.text))\n linkNode.getChildren().forEach((child) => {\n if (child !== linkNode.getLastChild()) {\n child.remove()\n }\n })\n }\n return\n }\n }\n\n let prevParent: ElementNodeType | LinkNode | null = null\n let linkNode: LinkNode | null = null\n\n nodes.forEach((node) => {\n const parent = node.getParent()\n\n if (parent === linkNode || parent === null || ($isElementNode(node) && !node.isInline())) {\n return\n }\n\n if ($isLinkNode(parent)) {\n linkNode = parent\n parent.setFields(payload.fields)\n if (payload.text != null && payload.text !== parent.getTextContent()) {\n // remove all children and add child with new textcontent:\n parent.append($createTextNode(payload.text))\n parent.getChildren().forEach((child) => {\n if (child !== parent.getLastChild()) {\n child.remove()\n }\n })\n }\n return\n }\n\n if (!parent.is(prevParent)) {\n prevParent = parent\n linkNode = $createLinkNode({ fields: payload.fields })\n\n if ($isLinkNode(parent)) {\n if (node.getPreviousSibling() === null) {\n parent.insertBefore(linkNode)\n } else {\n parent.insertAfter(linkNode)\n }\n } else {\n node.insertBefore(linkNode)\n }\n }\n\n if ($isLinkNode(node)) {\n if (node.is(linkNode)) {\n return\n }\n if (linkNode !== null) {\n const children = node.getChildren()\n\n for (let i = 0; i < children.length; i += 1) {\n linkNode.append(children[i])\n }\n }\n\n node.remove()\n return\n }\n\n if (linkNode !== null) {\n linkNode.append(node)\n }\n })\n }\n}\n\nfunction $getLinkAncestor(node: LexicalNode): LinkNode | null {\n return $getAncestor(node, (ancestor) => $isLinkNode(ancestor)) as LinkNode\n}\n\nfunction $getAncestor(\n node: LexicalNode,\n predicate: (ancestor: LexicalNode) => boolean,\n): LexicalNode | null {\n let parent: LexicalNode | null = node\n while (parent !== null && (parent = parent.getParent()) !== null && !predicate(parent));\n return parent\n}\n\nfunction manageRel(input: string, action: 'add' | 'remove', value: string): string {\n let result: string\n let mutableInput = `${input}`\n if (action === 'add') {\n // if we somehow got out of sync - clean up\n if (mutableInput.includes(value)) {\n const re = new RegExp(value, 'g')\n mutableInput = mutableInput.replace(re, '').trim()\n }\n mutableInput = mutableInput.trim()\n result = mutableInput.length === 0 ? `${value}` : `${mutableInput} ${value}`\n } else {\n const re = new RegExp(value, 'g')\n result = mutableInput.replace(re, '').trim()\n }\n return result\n}\n"],"names":["addClassNamesToElement","isHTMLAnchorElement","ObjectID","$applyNodeReplacement","$createTextNode","$getSelection","$isElementNode","$isRangeSelection","ElementNode","createCommand","SUPPORTED_URL_PROTOCOLS","Set","LinkNode","__fields","__id","constructor","id","fields","doc","linkType","newTab","url","undefined","key","clone","node","__key","getType","importDOM","a","conversion","$convertAnchorElement","priority","importJSON","serializedNode","version","value","default","toHexString","$createLinkNode","setFormat","format","setIndent","indent","setDirection","direction","canBeEmpty","canInsertTextAfter","canInsertTextBefore","createDOM","config","element","document","createElement","href","sanitizeUrl","target","rel","manageRel","theme","link","exportJSON","returnObject","type","getFields","getID","extractWithChild","child","selection","destination","anchorNode","anchor","getNode","focusNode","focus","isParentOf","getTextContent","length","getLatest","insertNewAfter","restoreSelection","getParentOrThrow","linkNode","append","isInline","parsedUrl","URL","has","protocol","e","setFields","writable","getWritable","updateDOM","prevNode","removeAttribute","domNode","content","textContent","getAttribute","$isLinkNode","TOGGLE_LINK_COMMAND","$toggleLink","payload","selectedNodes","nodes","extract","forEach","parent","getParent","children","getChildren","i","insertBefore","remove","firstNode","$getLinkAncestor","text","getLastChild","prevParent","is","getPreviousSibling","insertAfter","$getAncestor","ancestor","predicate","input","action","result","mutableInput","includes","re","RegExp","replace","trim"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/features/link/nodes/LinkNode.ts"],"sourcesContent":["import type {\n BaseSelection,\n DOMConversionMap,\n DOMConversionOutput,\n EditorConfig,\n ElementNode as ElementNodeType,\n LexicalCommand,\n LexicalNode,\n NodeKey,\n RangeSelection,\n} from 'lexical'\n\nimport { addClassNamesToElement, isHTMLAnchorElement } from '@lexical/utils'\nimport ObjectID from 'bson-objectid'\nimport {\n $applyNodeReplacement,\n $createTextNode,\n $getSelection,\n $isElementNode,\n $isRangeSelection,\n ElementNode,\n createCommand,\n} from 'lexical'\n\nimport type { LinkPayload } from '../client/plugins/floatingLinkEditor/types.js'\nimport type { LinkFields, SerializedLinkNode } from './types.js'\n\nconst SUPPORTED_URL_PROTOCOLS = new Set(['http:', 'https:', 'mailto:', 'sms:', 'tel:'])\n\n/** @noInheritDoc */\nexport class LinkNode extends ElementNode {\n __fields: LinkFields\n __id: string\n\n constructor({\n id,\n fields = {\n doc: null,\n linkType: 'custom',\n newTab: false,\n url: undefined,\n },\n key,\n }: {\n fields: LinkFields\n id: string\n key?: NodeKey\n }) {\n super(key)\n this.__fields = fields\n this.__id = id\n }\n\n static clone(node: LinkNode): LinkNode {\n return new LinkNode({\n id: node.__id,\n fields: node.__fields,\n key: node.__key,\n })\n }\n\n static getType(): string {\n return 'link'\n }\n\n static importDOM(): DOMConversionMap | null {\n return {\n a: (node: Node) => ({\n conversion: $convertAnchorElement,\n priority: 1,\n }),\n }\n }\n\n static importJSON(serializedNode: SerializedLinkNode): LinkNode {\n if (\n serializedNode.version === 1 &&\n typeof serializedNode.fields?.doc?.value === 'object' &&\n serializedNode.fields?.doc?.value?.id\n ) {\n serializedNode.fields.doc.value = serializedNode.fields.doc.value.id\n serializedNode.version = 2\n }\n\n if (serializedNode.version === 2 && !serializedNode.id) {\n serializedNode.id = new ObjectID.default().toHexString()\n serializedNode.version = 3\n }\n\n const node = $createLinkNode({\n id: serializedNode.id,\n fields: serializedNode.fields,\n })\n node.setFormat(serializedNode.format)\n node.setIndent(serializedNode.indent)\n node.setDirection(serializedNode.direction)\n return node\n }\n\n canBeEmpty(): false {\n return false\n }\n\n canInsertTextAfter(): false {\n return false\n }\n\n canInsertTextBefore(): false {\n return false\n }\n\n createDOM(config: EditorConfig): HTMLAnchorElement {\n const element = document.createElement('a')\n if (this.__fields?.linkType === 'custom') {\n element.href = this.sanitizeUrl(this.__fields.url ?? '')\n }\n if (this.__fields?.newTab ?? false) {\n element.target = '_blank'\n }\n\n if (this.__fields?.newTab === true && this.__fields?.linkType === 'custom') {\n element.rel = manageRel(element.rel, 'add', 'noopener')\n }\n\n addClassNamesToElement(element, config.theme.link)\n return element\n }\n\n exportJSON(): SerializedLinkNode {\n const returnObject: SerializedLinkNode = {\n ...super.exportJSON(),\n type: 'link',\n fields: this.getFields(),\n version: 3,\n }\n const id = this.getID()\n if (id) {\n returnObject.id = id\n }\n return returnObject\n }\n\n extractWithChild(\n child: LexicalNode,\n selection: BaseSelection,\n destination: 'clone' | 'html',\n ): boolean {\n if (!$isRangeSelection(selection)) {\n return false\n }\n\n const anchorNode = selection.anchor.getNode()\n const focusNode = selection.focus.getNode()\n\n return (\n this.isParentOf(anchorNode) &&\n this.isParentOf(focusNode) &&\n selection.getTextContent().length > 0\n )\n }\n\n getFields(): LinkFields {\n return this.getLatest().__fields\n }\n\n getID(): string {\n return this.getLatest().__id\n }\n\n insertNewAfter(selection: RangeSelection, restoreSelection = true): ElementNodeType | null {\n const element = this.getParentOrThrow().insertNewAfter(selection, restoreSelection)\n if ($isElementNode(element)) {\n const linkNode = $createLinkNode({ fields: this.__fields })\n element.append(linkNode)\n return linkNode\n }\n return null\n }\n\n isInline(): true {\n return true\n }\n\n sanitizeUrl(url: string): string {\n try {\n const parsedUrl = new URL(url)\n\n if (!SUPPORTED_URL_PROTOCOLS.has(parsedUrl.protocol)) {\n return 'about:blank'\n }\n } catch (e) {\n return 'https://'\n }\n return url\n }\n\n setFields(fields: LinkFields): void {\n const writable = this.getWritable()\n writable.__fields = fields\n }\n\n updateDOM(prevNode: LinkNode, anchor: HTMLAnchorElement, config: EditorConfig): boolean {\n const url = this.__fields?.url\n const newTab = this.__fields?.newTab\n if (url != null && url !== prevNode.__fields?.url && this.__fields?.linkType === 'custom') {\n anchor.href = url\n }\n if (this.__fields?.linkType === 'internal' && prevNode.__fields?.linkType === 'custom') {\n anchor.removeAttribute('href')\n }\n\n // TODO: not 100% sure why we're settign rel to '' - revisit\n // Start rel config here, then check newTab below\n if (anchor.rel == null) {\n anchor.rel = ''\n }\n\n if (newTab !== prevNode.__fields?.newTab) {\n if (newTab ?? false) {\n anchor.target = '_blank'\n if (this.__fields?.linkType === 'custom') {\n anchor.rel = manageRel(anchor.rel, 'add', 'noopener')\n }\n } else {\n anchor.removeAttribute('target')\n anchor.rel = manageRel(anchor.rel, 'remove', 'noopener')\n }\n }\n\n return false\n }\n}\n\nfunction $convertAnchorElement(domNode: Node): DOMConversionOutput {\n let node: LinkNode | null = null\n if (isHTMLAnchorElement(domNode)) {\n const content = domNode.textContent\n if (content !== null && content !== '') {\n node = $createLinkNode({\n id: new ObjectID.default().toHexString(),\n fields: {\n doc: null,\n linkType: 'custom',\n newTab: domNode.getAttribute('target') === '_blank',\n url: domNode.getAttribute('href') ?? '',\n },\n })\n }\n }\n return { node }\n}\n\nexport function $createLinkNode({ id, fields }: { fields: LinkFields; id?: string }): LinkNode {\n return $applyNodeReplacement(\n new LinkNode({\n id: id ?? new ObjectID.default().toHexString(),\n fields,\n }),\n )\n}\n\nexport function $isLinkNode(node: LexicalNode | null | undefined): node is LinkNode {\n return node instanceof LinkNode\n}\n\nexport const TOGGLE_LINK_COMMAND: LexicalCommand<LinkPayload | null> =\n createCommand('TOGGLE_LINK_COMMAND')\n\nexport function $toggleLink(payload: LinkPayload): void {\n const selection = $getSelection()\n\n if (!$isRangeSelection(selection) && !payload.selectedNodes.length) {\n return\n }\n const nodes = $isRangeSelection(selection) ? selection.extract() : payload.selectedNodes\n\n if (payload === null) {\n // Remove LinkNodes\n nodes.forEach((node) => {\n const parent = node.getParent()\n\n if ($isLinkNode(parent)) {\n const children = parent.getChildren()\n\n for (let i = 0; i < children.length; i += 1) {\n parent.insertBefore(children[i])\n }\n\n parent.remove()\n }\n })\n } else {\n // Add or merge LinkNodes\n if (nodes.length === 1) {\n const firstNode = nodes[0]\n // if the first node is a LinkNode or if its\n // parent is a LinkNode, we update the URL, target and rel.\n const linkNode: LinkNode | null = $isLinkNode(firstNode)\n ? firstNode\n : $getLinkAncestor(firstNode)\n if (linkNode !== null) {\n linkNode.setFields(payload.fields)\n\n if (payload.text != null && payload.text !== linkNode.getTextContent()) {\n // remove all children and add child with new textcontent:\n linkNode.append($createTextNode(payload.text))\n linkNode.getChildren().forEach((child) => {\n if (child !== linkNode.getLastChild()) {\n child.remove()\n }\n })\n }\n return\n }\n }\n\n let prevParent: ElementNodeType | LinkNode | null = null\n let linkNode: LinkNode | null = null\n\n nodes.forEach((node) => {\n const parent = node.getParent()\n\n if (parent === linkNode || parent === null || ($isElementNode(node) && !node.isInline())) {\n return\n }\n\n if ($isLinkNode(parent)) {\n linkNode = parent\n parent.setFields(payload.fields)\n if (payload.text != null && payload.text !== parent.getTextContent()) {\n // remove all children and add child with new textcontent:\n parent.append($createTextNode(payload.text))\n parent.getChildren().forEach((child) => {\n if (child !== parent.getLastChild()) {\n child.remove()\n }\n })\n }\n return\n }\n\n if (!parent.is(prevParent)) {\n prevParent = parent\n linkNode = $createLinkNode({ fields: payload.fields })\n\n if ($isLinkNode(parent)) {\n if (node.getPreviousSibling() === null) {\n parent.insertBefore(linkNode)\n } else {\n parent.insertAfter(linkNode)\n }\n } else {\n node.insertBefore(linkNode)\n }\n }\n\n if ($isLinkNode(node)) {\n if (node.is(linkNode)) {\n return\n }\n if (linkNode !== null) {\n const children = node.getChildren()\n\n for (let i = 0; i < children.length; i += 1) {\n linkNode.append(children[i])\n }\n }\n\n node.remove()\n return\n }\n\n if (linkNode !== null) {\n linkNode.append(node)\n }\n })\n }\n}\n\nfunction $getLinkAncestor(node: LexicalNode): LinkNode | null {\n return $getAncestor(node, (ancestor) => $isLinkNode(ancestor)) as LinkNode\n}\n\nfunction $getAncestor(\n node: LexicalNode,\n predicate: (ancestor: LexicalNode) => boolean,\n): LexicalNode | null {\n let parent: LexicalNode | null = node\n while (parent !== null && (parent = parent.getParent()) !== null && !predicate(parent));\n return parent\n}\n\nfunction manageRel(input: string, action: 'add' | 'remove', value: string): string {\n let result: string\n let mutableInput = `${input}`\n if (action === 'add') {\n // if we somehow got out of sync - clean up\n if (mutableInput.includes(value)) {\n const re = new RegExp(value, 'g')\n mutableInput = mutableInput.replace(re, '').trim()\n }\n mutableInput = mutableInput.trim()\n result = mutableInput.length === 0 ? `${value}` : `${mutableInput} ${value}`\n } else {\n const re = new RegExp(value, 'g')\n result = mutableInput.replace(re, '').trim()\n }\n return result\n}\n"],"names":["addClassNamesToElement","isHTMLAnchorElement","ObjectID","$applyNodeReplacement","$createTextNode","$getSelection","$isElementNode","$isRangeSelection","ElementNode","createCommand","SUPPORTED_URL_PROTOCOLS","Set","LinkNode","__fields","__id","constructor","id","fields","doc","linkType","newTab","url","undefined","key","clone","node","__key","getType","importDOM","a","conversion","$convertAnchorElement","priority","importJSON","serializedNode","version","value","default","toHexString","$createLinkNode","setFormat","format","setIndent","indent","setDirection","direction","canBeEmpty","canInsertTextAfter","canInsertTextBefore","createDOM","config","element","document","createElement","href","sanitizeUrl","target","rel","manageRel","theme","link","exportJSON","returnObject","type","getFields","getID","extractWithChild","child","selection","destination","anchorNode","anchor","getNode","focusNode","focus","isParentOf","getTextContent","length","getLatest","insertNewAfter","restoreSelection","getParentOrThrow","linkNode","append","isInline","parsedUrl","URL","has","protocol","e","setFields","writable","getWritable","updateDOM","prevNode","removeAttribute","domNode","content","textContent","getAttribute","$isLinkNode","TOGGLE_LINK_COMMAND","$toggleLink","payload","selectedNodes","nodes","extract","forEach","parent","getParent","children","getChildren","i","insertBefore","remove","firstNode","$getLinkAncestor","text","getLastChild","prevParent","is","getPreviousSibling","insertAfter","$getAncestor","ancestor","predicate","input","action","result","mutableInput","includes","re","RegExp","replace","trim"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseFields.d.ts","sourceRoot":"","sources":["../../../../src/features/link/server/baseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAElB,eAAe,EAGhB,MAAM,SAAS,CAAA;AAIhB,eAAO,MAAM,aAAa,WAChB,eAAe,sBACH,cAAc,EAAE,uBACf,cAAc,EAAE,aAC1B,MAAM,KAChB,kBAAkB,EAsGpB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/features/link/server/baseFields.ts"],"sourcesContent":["import type {\n CollectionSlug,\n FieldAffectingData,\n RadioField,\n SanitizedConfig,\n TextField,\n User,\n} from 'payload'\n\nimport { validateUrl } from '../../../lexical/utils/url.js'\n\nexport const getBaseFields = (\n config: SanitizedConfig,\n enabledCollections: CollectionSlug[],\n disabledCollections: CollectionSlug[],\n maxDepth?: number,\n): FieldAffectingData[] => {\n let enabledRelations: CollectionSlug[]\n\n /**\n * Figure out which relations should be enabled (enabledRelations) based on a collection's admin.enableRichTextLink property,\n * or the Link Feature's enabledCollections and disabledCollections properties which override it.\n */\n if (enabledCollections) {\n enabledRelations = enabledCollections\n } else if (disabledCollections) {\n enabledRelations = config.collections\n .filter(({ slug }) => !disabledCollections.includes(slug))\n .map(({ slug }) => slug)\n } else {\n enabledRelations = config.collections\n .filter(({ admin: { enableRichTextLink, hidden } }) => {\n if (typeof hidden !== 'function' && hidden) {\n return false\n }\n return enableRichTextLink\n })\n .map(({ slug }) => slug)\n }\n\n const baseFields: FieldAffectingData[] = [\n {\n name: 'text',\n type: 'text',\n label: ({ t }) => t('fields:textToDisplay'),\n required: true,\n },\n {\n name: 'linkType',\n type: 'radio',\n admin: {\n description: ({ t }) => t('fields:chooseBetweenCustomTextOrDocument'),\n },\n defaultValue: 'custom',\n label: ({ t }) => t('fields:linkType'),\n options: [\n {\n label: ({ t }) => t('fields:customURL'),\n value: 'custom',\n },\n ],\n required: true,\n } as RadioField,\n {\n name: 'url',\n type: 'text',\n label: ({ t }) => t('fields:enterURL'),\n required: true,\n validate: (value: string) => {\n if (!validateUrl(value)) {\n return 'Invalid URL'\n }\n },\n },\n ]\n\n // Only display internal link-specific fields / options / conditions if there are enabled relations\n if (enabledRelations?.length) {\n ;(baseFields[1] as RadioField).options.push({\n label: ({ t }) => t('fields:internalLink'),\n value: 'internal',\n })\n ;(baseFields[2] as TextField).admin = {\n condition: ({ linkType }) => linkType !== 'internal',\n }\n\n baseFields.push({\n name: 'doc',\n admin: {\n condition: ({ linkType }) => {\n return linkType === 'internal'\n },\n },\n // when admin.hidden is a function we need to dynamically call hidden with the user to know if the collection should be shown\n type: 'relationship',\n filterOptions:\n !enabledCollections && !disabledCollections\n ? ({ relationTo, user }) => {\n const hidden = config.collections.find(({ slug }) => slug === relationTo).admin.hidden\n if (typeof hidden === 'function' && hidden({ user } as { user: User })) {\n return false\n }\n }\n : null,\n label: ({ t }) => t('fields:chooseDocumentToLink'),\n maxDepth,\n relationTo: enabledRelations,\n required: true,\n })\n }\n\n baseFields.push({\n name: 'newTab',\n type: 'checkbox',\n label: ({ t }) => t('fields:openInNewTab'),\n })\n\n return baseFields\n}\n"],"names":["validateUrl","getBaseFields","config","enabledCollections","disabledCollections","maxDepth","enabledRelations","collections","filter","slug","includes","map","admin","enableRichTextLink","hidden","baseFields","name","type","label","t","required","description","defaultValue","options","value","validate","length","push","condition","linkType","filterOptions","relationTo","user","find"],"mappings":"AASA,SAASA,WAAW,QAAQ,gCAA+B;AAE3D,OAAO,MAAMC,gBAAgB,CAC3BC,QACAC,oBACAC,qBACAC;IAEA,IAAIC;IAEJ;;;GAGC,GACD,IAAIH,oBAAoB;QACtBG,mBAAmBH;IACrB,OAAO,IAAIC,qBAAqB;QAC9BE,mBAAmBJ,OAAOK,WAAW,CAClCC,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAK,CAACL,oBAAoBM,QAAQ,CAACD,OACnDE,GAAG,CAAC,CAAC,EAAEF,IAAI,EAAE,GAAKA;IACvB,OAAO;QACLH,mBAAmBJ,OAAOK,WAAW,CAClCC,MAAM,CAAC,CAAC,EAAEI,OAAO,EAAEC,kBAAkB,EAAEC,MAAM,EAAE,EAAE;YAChD,IAAI,OAAOA,WAAW,cAAcA,QAAQ;gBAC1C,OAAO;YACT;YACA,OAAOD;QACT,GACCF,GAAG,CAAC,CAAC,EAAEF,IAAI,EAAE,GAAKA;IACvB;IAEA,MAAMM,aAAmC;QACvC;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;YACpBC,UAAU;QACZ;QACA;YACEJ,MAAM;YACNC,MAAM;YACNL,OAAO;gBACLS,aAAa,CAAC,EAAEF,CAAC,EAAE,GAAKA,EAAE;YAC5B;YACAG,cAAc;YACdJ,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;YACpBI,SAAS;gBACP;oBACEL,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;oBACpBK,OAAO;gBACT;aACD;YACDJ,UAAU;QACZ;QACA;YACEJ,MAAM;YACNC,MAAM;YACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;YACpBC,UAAU;YACVK,UAAU,CAACD;gBACT,IAAI,CAACxB,YAAYwB,QAAQ;oBACvB,OAAO;gBACT;YACF;QACF;KACD;IAED,mGAAmG;IACnG,IAAIlB,kBAAkBoB,QAAQ;QAC1BX,UAAU,CAAC,EAAE,CAAgBQ,OAAO,CAACI,IAAI,CAAC;YAC1CT,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;YACpBK,OAAO;QACT;QACET,UAAU,CAAC,EAAE,CAAeH,KAAK,GAAG;YACpCgB,WAAW,CAAC,EAAEC,QAAQ,EAAE,GAAKA,aAAa;QAC5C;QAEAd,WAAWY,IAAI,CAAC;YACdX,MAAM;YACNJ,OAAO;gBACLgB,WAAW,CAAC,EAAEC,QAAQ,EAAE;oBACtB,OAAOA,aAAa;gBACtB;YACF;YACA,6HAA6H;YAC7HZ,MAAM;YACNa,eACE,CAAC3B,sBAAsB,CAACC,sBACpB,CAAC,EAAE2B,UAAU,EAAEC,IAAI,EAAE;gBACnB,MAAMlB,SAASZ,OAAOK,WAAW,CAAC0B,IAAI,CAAC,CAAC,EAAExB,IAAI,EAAE,GAAKA,SAASsB,YAAYnB,KAAK,CAACE,MAAM;gBACtF,IAAI,OAAOA,WAAW,cAAcA,OAAO;oBAAEkB;gBAAK,IAAsB;oBACtE,OAAO;gBACT;YACF,IACA;YACNd,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;YACpBd;YACA0B,YAAYzB;YACZc,UAAU;QACZ;IACF;IAEAL,WAAWY,IAAI,CAAC;QACdX,MAAM;QACNC,MAAM;QACNC,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;IACtB;IAEA,OAAOJ;AACT,EAAC"}
@@ -0,0 +1,5 @@
1
+ import type { PopulationPromise } from '../../typesServer.js';
2
+ import type { SerializedLinkNode } from '../nodes/types.js';
3
+ import type { LinkFeatureServerProps } from './index.js';
4
+ export declare const linkPopulationPromiseHOC: (props: LinkFeatureServerProps) => PopulationPromise<SerializedLinkNode>;
5
+ //# sourceMappingURL=graphQLPopulationPromise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphQLPopulationPromise.d.ts","sourceRoot":"","sources":["../../../../src/features/link/server/graphQLPopulationPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAIxD,eAAO,MAAM,wBAAwB,UAC5B,sBAAsB,KAC5B,iBAAiB,CAAC,kBAAkB,CA2CtC,CAAA"}