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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (968) hide show
  1. package/README.md +1 -1
  2. package/dist/cell/index.d.ts +5 -2
  3. package/dist/cell/index.d.ts.map +1 -1
  4. package/dist/cell/index.js +45 -31
  5. package/dist/cell/index.js.map +1 -1
  6. package/dist/exports/client/Component-6AVANNNR.js +2 -0
  7. package/dist/exports/client/Component-6AVANNNR.js.map +7 -0
  8. package/dist/exports/client/Component-SZVAYRJX.js +2 -0
  9. package/dist/exports/client/Component-SZVAYRJX.js.map +7 -0
  10. package/dist/exports/client/Field-U5PHZTST.js +2 -0
  11. package/dist/exports/client/Field-U5PHZTST.js.map +7 -0
  12. package/dist/exports/client/RelationshipComponent-FGUPLCD2.js +2 -0
  13. package/dist/exports/client/RelationshipComponent-FGUPLCD2.js.map +7 -0
  14. package/dist/exports/client/bundled.css +1 -0
  15. package/dist/exports/client/chunk-35NZOHAF.js +2 -0
  16. package/dist/exports/client/chunk-35NZOHAF.js.map +7 -0
  17. package/dist/exports/client/chunk-3PZ2ZFQG.js +3 -0
  18. package/dist/exports/client/chunk-3PZ2ZFQG.js.map +7 -0
  19. package/dist/exports/client/chunk-FSTRW2TI.js +2 -0
  20. package/dist/exports/client/chunk-FSTRW2TI.js.map +7 -0
  21. package/dist/exports/client/chunk-M6MN4CA5.js +2 -0
  22. package/dist/exports/client/chunk-M6MN4CA5.js.map +7 -0
  23. package/dist/exports/client/chunk-Y5455JF3.js +2 -0
  24. package/dist/exports/client/chunk-Y5455JF3.js.map +7 -0
  25. package/dist/exports/client/component-FFLILIUZ.js +2 -0
  26. package/dist/exports/client/component-FFLILIUZ.js.map +7 -0
  27. package/dist/exports/client/component-RAVN56DE.js +2 -0
  28. package/dist/exports/client/component-RAVN56DE.js.map +7 -0
  29. package/dist/exports/client/component-Z34HXRX3.js +2 -0
  30. package/dist/exports/client/component-Z34HXRX3.js.map +7 -0
  31. package/dist/exports/client/index.d.ts +52 -0
  32. package/dist/exports/client/index.d.ts.map +1 -0
  33. package/dist/exports/client/index.js +36 -0
  34. package/dist/exports/client/index.js.map +7 -0
  35. package/dist/field/Field.d.ts +1 -2
  36. package/dist/field/Field.d.ts.map +1 -1
  37. package/dist/field/Field.js +69 -55
  38. package/dist/field/Field.js.map +1 -1
  39. package/dist/field/bundled.css +0 -0
  40. package/dist/field/features/align/feature.client.d.ts +4 -1
  41. package/dist/field/features/align/feature.client.d.ts.map +1 -1
  42. package/dist/field/features/align/feature.client.js +135 -54
  43. package/dist/field/features/align/feature.client.js.map +1 -1
  44. package/dist/field/features/align/feature.server.d.ts.map +1 -1
  45. package/dist/field/features/align/feature.server.js +4 -1
  46. package/dist/field/features/align/feature.server.js.map +1 -1
  47. package/dist/field/features/align/i18n.d.ts +3 -0
  48. package/dist/field/features/align/i18n.d.ts.map +1 -0
  49. package/dist/field/features/align/i18n.js +196 -0
  50. package/dist/field/features/align/i18n.js.map +1 -0
  51. package/dist/field/features/align/toolbarAlignGroup.d.ts +3 -0
  52. package/dist/field/features/align/toolbarAlignGroup.d.ts.map +1 -0
  53. package/dist/field/features/align/toolbarAlignGroup.js +12 -0
  54. package/dist/field/features/align/toolbarAlignGroup.js.map +1 -0
  55. package/dist/field/features/blockquote/feature.client.d.ts +4 -1
  56. package/dist/field/features/blockquote/feature.client.d.ts.map +1 -1
  57. package/dist/field/features/blockquote/feature.client.js +60 -46
  58. package/dist/field/features/blockquote/feature.client.js.map +1 -1
  59. package/dist/field/features/blockquote/feature.server.d.ts +1 -1
  60. package/dist/field/features/blockquote/feature.server.d.ts.map +1 -1
  61. package/dist/field/features/blockquote/feature.server.js +10 -7
  62. package/dist/field/features/blockquote/feature.server.js.map +1 -1
  63. package/dist/field/features/blockquote/i18n.d.ts +3 -0
  64. package/dist/field/features/blockquote/i18n.d.ts.map +1 -0
  65. package/dist/field/features/blockquote/i18n.js +100 -0
  66. package/dist/field/features/blockquote/i18n.js.map +1 -0
  67. package/dist/field/features/blockquote/markdownTransformer.d.ts.map +1 -1
  68. package/dist/field/features/blockquote/markdownTransformer.js +2 -4
  69. package/dist/field/features/blockquote/markdownTransformer.js.map +1 -1
  70. package/dist/field/features/blocks/component/BlockContent.d.ts.map +1 -1
  71. package/dist/field/features/blocks/component/BlockContent.js +77 -67
  72. package/dist/field/features/blocks/component/BlockContent.js.map +1 -1
  73. package/dist/field/features/blocks/component/FormSavePlugin.d.ts +1 -2
  74. package/dist/field/features/blocks/component/FormSavePlugin.d.ts.map +1 -1
  75. package/dist/field/features/blocks/component/FormSavePlugin.js +2 -2
  76. package/dist/field/features/blocks/component/FormSavePlugin.js.map +1 -1
  77. package/dist/field/features/blocks/component/index.d.ts +0 -1
  78. package/dist/field/features/blocks/component/index.d.ts.map +1 -1
  79. package/dist/field/features/blocks/component/index.js +60 -30
  80. package/dist/field/features/blocks/component/index.js.map +1 -1
  81. package/dist/field/features/blocks/component/removeEmptyArrayValues.d.ts +1 -1
  82. package/dist/field/features/blocks/component/removeEmptyArrayValues.d.ts.map +1 -1
  83. package/dist/field/features/blocks/component/removeEmptyArrayValues.js.map +1 -1
  84. package/dist/field/features/blocks/drawer/index.d.ts.map +1 -1
  85. package/dist/field/features/blocks/drawer/index.js +5 -11
  86. package/dist/field/features/blocks/drawer/index.js.map +1 -1
  87. package/dist/field/features/blocks/feature.client.d.ts +4 -1
  88. package/dist/field/features/blocks/feature.client.d.ts.map +1 -1
  89. package/dist/field/features/blocks/feature.client.js +58 -27
  90. package/dist/field/features/blocks/feature.client.js.map +1 -1
  91. package/dist/field/features/blocks/feature.server.d.ts +2 -5
  92. package/dist/field/features/blocks/feature.server.d.ts.map +1 -1
  93. package/dist/field/features/blocks/feature.server.js +62 -82
  94. package/dist/field/features/blocks/feature.server.js.map +1 -1
  95. package/dist/field/features/blocks/{populationPromise.d.ts → graphQLPopulationPromise.d.ts} +1 -1
  96. package/dist/field/features/blocks/graphQLPopulationPromise.d.ts.map +1 -0
  97. package/dist/field/features/blocks/graphQLPopulationPromise.js +31 -0
  98. package/dist/field/features/blocks/graphQLPopulationPromise.js.map +1 -0
  99. package/dist/field/features/blocks/i18n.d.ts +3 -0
  100. package/dist/field/features/blocks/i18n.d.ts.map +1 -0
  101. package/dist/field/features/blocks/i18n.js +100 -0
  102. package/dist/field/features/blocks/i18n.js.map +1 -0
  103. package/dist/field/features/blocks/nodes/BlocksNode.d.ts +2 -4
  104. package/dist/field/features/blocks/nodes/BlocksNode.d.ts.map +1 -1
  105. package/dist/field/features/blocks/nodes/BlocksNode.js +3 -3
  106. package/dist/field/features/blocks/nodes/BlocksNode.js.map +1 -1
  107. package/dist/field/features/blocks/plugin/commands.d.ts.map +1 -1
  108. package/dist/field/features/blocks/plugin/commands.js +1 -2
  109. package/dist/field/features/blocks/plugin/commands.js.map +1 -1
  110. package/dist/field/features/blocks/plugin/index.d.ts +3 -2
  111. package/dist/field/features/blocks/plugin/index.d.ts.map +1 -1
  112. package/dist/field/features/blocks/plugin/index.js +10 -11
  113. package/dist/field/features/blocks/plugin/index.js.map +1 -1
  114. package/dist/field/features/blocks/validate.d.ts.map +1 -1
  115. package/dist/field/features/blocks/validate.js +22 -36
  116. package/dist/field/features/blocks/validate.js.map +1 -1
  117. package/dist/field/features/converters/html/field/index.d.ts +14 -2
  118. package/dist/field/features/converters/html/field/index.d.ts.map +1 -1
  119. package/dist/field/features/converters/html/field/index.js +97 -57
  120. package/dist/field/features/converters/html/field/index.js.map +1 -1
  121. package/dist/field/features/createFeaturePropComponent.d.ts.map +1 -1
  122. package/dist/field/features/createFeaturePropComponent.js +6 -3
  123. package/dist/field/features/createFeaturePropComponent.js.map +1 -1
  124. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.d.ts +4 -1
  125. package/dist/field/features/debug/testRecorder/feature.client.d.ts.map +1 -0
  126. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.js.map +1 -1
  127. package/dist/field/features/debug/testRecorder/feature.server.d.ts.map +1 -0
  128. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.js +3 -2
  129. package/dist/field/features/debug/testRecorder/feature.server.js.map +1 -0
  130. package/dist/field/features/debug/testRecorder/plugin/index.d.ts +5 -0
  131. package/dist/field/features/debug/testRecorder/plugin/index.d.ts.map +1 -0
  132. package/dist/field/features/debug/{testrecorder → testRecorder}/plugin/index.js +68 -45
  133. package/dist/field/features/debug/testRecorder/plugin/index.js.map +1 -0
  134. package/dist/field/features/debug/{treeview → treeView}/feature.client.d.ts +4 -1
  135. package/dist/field/features/debug/treeView/feature.client.d.ts.map +1 -0
  136. package/dist/field/features/debug/{treeview → treeView}/feature.client.js.map +1 -1
  137. package/dist/field/features/debug/treeView/feature.server.d.ts.map +1 -0
  138. package/dist/field/features/debug/{treeview → treeView}/feature.server.js +3 -2
  139. package/dist/field/features/debug/treeView/feature.server.js.map +1 -0
  140. package/dist/field/features/debug/treeView/plugin/index.d.ts +4 -0
  141. package/dist/field/features/debug/treeView/plugin/index.d.ts.map +1 -0
  142. package/dist/field/features/debug/{treeview → treeView}/plugin/index.js +6 -8
  143. package/dist/field/features/debug/treeView/plugin/index.js.map +1 -0
  144. package/dist/field/features/format/bold/feature.client.d.ts +4 -1
  145. package/dist/field/features/format/bold/feature.client.d.ts.map +1 -1
  146. package/dist/field/features/format/bold/feature.client.js +26 -23
  147. package/dist/field/features/format/bold/feature.client.js.map +1 -1
  148. package/dist/field/features/format/bold/feature.server.d.ts.map +1 -1
  149. package/dist/field/features/format/bold/feature.server.js +2 -1
  150. package/dist/field/features/format/bold/feature.server.js.map +1 -1
  151. package/dist/field/features/format/{inlinecode → inlineCode}/feature.client.d.ts +4 -1
  152. package/dist/field/features/format/inlineCode/feature.client.d.ts.map +1 -0
  153. package/dist/field/features/format/inlineCode/feature.client.js +46 -0
  154. package/dist/field/features/format/inlineCode/feature.client.js.map +1 -0
  155. package/dist/field/features/format/inlineCode/feature.server.d.ts.map +1 -0
  156. package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.js +3 -2
  157. package/dist/field/features/format/inlineCode/feature.server.js.map +1 -0
  158. package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.d.ts.map +1 -1
  159. package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.js.map +1 -1
  160. package/dist/field/features/format/italic/feature.client.d.ts +4 -1
  161. package/dist/field/features/format/italic/feature.client.d.ts.map +1 -1
  162. package/dist/field/features/format/italic/feature.client.js +27 -24
  163. package/dist/field/features/format/italic/feature.client.js.map +1 -1
  164. package/dist/field/features/format/italic/feature.server.d.ts.map +1 -1
  165. package/dist/field/features/format/italic/feature.server.js +2 -1
  166. package/dist/field/features/format/italic/feature.server.js.map +1 -1
  167. package/dist/field/features/format/shared/toolbarFormatGroup.d.ts +3 -0
  168. package/dist/field/features/format/shared/toolbarFormatGroup.d.ts.map +1 -0
  169. package/dist/field/features/format/shared/toolbarFormatGroup.js +10 -0
  170. package/dist/field/features/format/shared/toolbarFormatGroup.js.map +1 -0
  171. package/dist/field/features/format/strikethrough/feature.client.d.ts +4 -1
  172. package/dist/field/features/format/strikethrough/feature.client.d.ts.map +1 -1
  173. package/dist/field/features/format/strikethrough/feature.client.js +27 -24
  174. package/dist/field/features/format/strikethrough/feature.client.js.map +1 -1
  175. package/dist/field/features/format/strikethrough/feature.server.d.ts.map +1 -1
  176. package/dist/field/features/format/strikethrough/feature.server.js +2 -1
  177. package/dist/field/features/format/strikethrough/feature.server.js.map +1 -1
  178. package/dist/field/features/format/subscript/feature.client.d.ts +4 -1
  179. package/dist/field/features/format/subscript/feature.client.d.ts.map +1 -1
  180. package/dist/field/features/format/subscript/feature.client.js +25 -22
  181. package/dist/field/features/format/subscript/feature.client.js.map +1 -1
  182. package/dist/field/features/format/subscript/feature.server.d.ts.map +1 -1
  183. package/dist/field/features/format/subscript/feature.server.js +2 -1
  184. package/dist/field/features/format/subscript/feature.server.js.map +1 -1
  185. package/dist/field/features/format/superscript/feature.client.d.ts +4 -1
  186. package/dist/field/features/format/superscript/feature.client.d.ts.map +1 -1
  187. package/dist/field/features/format/superscript/feature.client.js +25 -22
  188. package/dist/field/features/format/superscript/feature.client.js.map +1 -1
  189. package/dist/field/features/format/superscript/feature.server.d.ts.map +1 -1
  190. package/dist/field/features/format/superscript/feature.server.js +2 -1
  191. package/dist/field/features/format/superscript/feature.server.js.map +1 -1
  192. package/dist/field/features/format/underline/feature.client.d.ts +4 -1
  193. package/dist/field/features/format/underline/feature.client.d.ts.map +1 -1
  194. package/dist/field/features/format/underline/feature.client.js +25 -22
  195. package/dist/field/features/format/underline/feature.client.js.map +1 -1
  196. package/dist/field/features/format/underline/feature.server.d.ts.map +1 -1
  197. package/dist/field/features/format/underline/feature.server.js +2 -1
  198. package/dist/field/features/format/underline/feature.server.js.map +1 -1
  199. package/dist/field/features/heading/feature.client.d.ts +4 -1
  200. package/dist/field/features/heading/feature.client.d.ts.map +1 -1
  201. package/dist/field/features/heading/feature.client.js +75 -54
  202. package/dist/field/features/heading/feature.client.js.map +1 -1
  203. package/dist/field/features/heading/feature.server.d.ts.map +1 -1
  204. package/dist/field/features/heading/feature.server.js +9 -6
  205. package/dist/field/features/heading/feature.server.js.map +1 -1
  206. package/dist/field/features/heading/i18n.d.ts +3 -0
  207. package/dist/field/features/heading/i18n.d.ts.map +1 -0
  208. package/dist/field/features/heading/i18n.js +100 -0
  209. package/dist/field/features/heading/i18n.js.map +1 -0
  210. package/dist/field/features/heading/markdownTransformer.d.ts.map +1 -1
  211. package/dist/field/features/heading/markdownTransformer.js +1 -2
  212. package/dist/field/features/heading/markdownTransformer.js.map +1 -1
  213. package/dist/field/features/horizontalRule/component/index.d.ts +10 -0
  214. package/dist/field/features/horizontalRule/component/index.d.ts.map +1 -0
  215. package/dist/field/features/horizontalRule/component/index.js +67 -0
  216. package/dist/field/features/horizontalRule/component/index.js.map +1 -0
  217. package/dist/field/features/horizontalRule/feature.client.d.ts +6 -0
  218. package/dist/field/features/horizontalRule/feature.client.d.ts.map +1 -0
  219. package/dist/field/features/horizontalRule/feature.client.js +77 -0
  220. package/dist/field/features/horizontalRule/feature.client.js.map +1 -0
  221. package/dist/field/features/horizontalRule/feature.server.d.ts +3 -0
  222. package/dist/field/features/horizontalRule/feature.server.d.ts.map +1 -0
  223. package/dist/field/features/horizontalRule/feature.server.js +39 -0
  224. package/dist/field/features/horizontalRule/feature.server.js.map +1 -0
  225. package/dist/field/features/horizontalRule/i18n.d.ts +3 -0
  226. package/dist/field/features/horizontalRule/i18n.d.ts.map +1 -0
  227. package/dist/field/features/horizontalRule/i18n.js +100 -0
  228. package/dist/field/features/horizontalRule/i18n.js.map +1 -0
  229. package/dist/field/features/horizontalRule/markdownTransformer.d.ts +3 -0
  230. package/dist/field/features/horizontalRule/markdownTransformer.d.ts.map +1 -0
  231. package/dist/field/features/horizontalRule/markdownTransformer.js +23 -0
  232. package/dist/field/features/horizontalRule/markdownTransformer.js.map +1 -0
  233. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.d.ts +53 -0
  234. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.d.ts.map +1 -0
  235. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.js +92 -0
  236. package/dist/field/features/horizontalRule/nodes/HorizontalRuleNode.js.map +1 -0
  237. package/dist/field/features/horizontalRule/plugin/index.d.ts +7 -0
  238. package/dist/field/features/horizontalRule/plugin/index.d.ts.map +1 -0
  239. package/dist/field/features/horizontalRule/plugin/index.js +30 -0
  240. package/dist/field/features/horizontalRule/plugin/index.js.map +1 -0
  241. package/dist/field/features/indent/feature.client.d.ts +4 -1
  242. package/dist/field/features/indent/feature.client.d.ts.map +1 -1
  243. package/dist/field/features/indent/feature.client.js +47 -42
  244. package/dist/field/features/indent/feature.client.js.map +1 -1
  245. package/dist/field/features/indent/feature.server.d.ts.map +1 -1
  246. package/dist/field/features/indent/feature.server.js +4 -1
  247. package/dist/field/features/indent/feature.server.js.map +1 -1
  248. package/dist/field/features/indent/i18n.d.ts +3 -0
  249. package/dist/field/features/indent/i18n.d.ts.map +1 -0
  250. package/dist/field/features/indent/i18n.js +132 -0
  251. package/dist/field/features/indent/i18n.js.map +1 -0
  252. package/dist/field/features/indent/toolbarIndentGroup.d.ts +3 -0
  253. package/dist/field/features/indent/toolbarIndentGroup.d.ts.map +1 -0
  254. package/dist/field/features/indent/toolbarIndentGroup.js +10 -0
  255. package/dist/field/features/indent/toolbarIndentGroup.js.map +1 -0
  256. package/dist/field/features/link/drawer/baseFields.d.ts +2 -3
  257. package/dist/field/features/link/drawer/baseFields.d.ts.map +1 -1
  258. package/dist/field/features/link/drawer/baseFields.js +30 -43
  259. package/dist/field/features/link/drawer/baseFields.js.map +1 -1
  260. package/dist/field/features/link/drawer/index.d.ts.map +1 -1
  261. package/dist/field/features/link/drawer/index.js +32 -31
  262. package/dist/field/features/link/drawer/index.js.map +1 -1
  263. package/dist/field/features/link/drawer/types.d.ts +5 -3
  264. package/dist/field/features/link/drawer/types.d.ts.map +1 -1
  265. package/dist/field/features/link/drawer/types.js.map +1 -1
  266. package/dist/field/features/link/feature.client.d.ts +13 -1
  267. package/dist/field/features/link/feature.client.d.ts.map +1 -1
  268. package/dist/field/features/link/feature.client.js +65 -47
  269. package/dist/field/features/link/feature.client.js.map +1 -1
  270. package/dist/field/features/link/feature.server.d.ts +10 -6
  271. package/dist/field/features/link/feature.server.d.ts.map +1 -1
  272. package/dist/field/features/link/feature.server.js +66 -17
  273. package/dist/field/features/link/feature.server.js.map +1 -1
  274. package/dist/field/features/link/{populationPromise.d.ts → graphQLPopulationPromise.d.ts} +1 -1
  275. package/dist/field/features/link/graphQLPopulationPromise.d.ts.map +1 -0
  276. package/dist/field/features/link/graphQLPopulationPromise.js +31 -0
  277. package/dist/field/features/link/graphQLPopulationPromise.js.map +1 -0
  278. package/dist/field/features/link/i18n.d.ts +3 -0
  279. package/dist/field/features/link/i18n.d.ts.map +1 -0
  280. package/dist/field/features/link/i18n.js +100 -0
  281. package/dist/field/features/link/i18n.js.map +1 -0
  282. package/dist/field/features/link/markdownTransformer.d.ts +6 -0
  283. package/dist/field/features/link/markdownTransformer.d.ts.map +1 -0
  284. package/dist/field/features/link/markdownTransformer.js +50 -0
  285. package/dist/field/features/link/markdownTransformer.js.map +1 -0
  286. package/dist/field/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  287. package/dist/field/features/link/nodes/AutoLinkNode.js +3 -2
  288. package/dist/field/features/link/nodes/AutoLinkNode.js.map +1 -1
  289. package/dist/field/features/link/nodes/LinkNode.d.ts +9 -8
  290. package/dist/field/features/link/nodes/LinkNode.d.ts.map +1 -1
  291. package/dist/field/features/link/nodes/LinkNode.js +28 -11
  292. package/dist/field/features/link/nodes/LinkNode.js.map +1 -1
  293. package/dist/field/features/link/nodes/types.d.ts +2 -1
  294. package/dist/field/features/link/nodes/types.d.ts.map +1 -1
  295. package/dist/field/features/link/nodes/types.js.map +1 -1
  296. package/dist/field/features/link/plugins/autoLink/index.d.ts +3 -2
  297. package/dist/field/features/link/plugins/autoLink/index.d.ts.map +1 -1
  298. package/dist/field/features/link/plugins/autoLink/index.js +11 -12
  299. package/dist/field/features/link/plugins/autoLink/index.js.map +1 -1
  300. package/dist/field/features/link/plugins/clickableLink/index.d.ts +3 -2
  301. package/dist/field/features/link/plugins/clickableLink/index.d.ts.map +1 -1
  302. package/dist/field/features/link/plugins/clickableLink/index.js +5 -6
  303. package/dist/field/features/link/plugins/clickableLink/index.js.map +1 -1
  304. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +1 -1
  305. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js +1 -2
  306. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -1
  307. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  308. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +179 -143
  309. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  310. package/dist/field/features/link/plugins/floatingLinkEditor/index.d.ts +3 -4
  311. package/dist/field/features/link/plugins/floatingLinkEditor/index.d.ts.map +1 -1
  312. package/dist/field/features/link/plugins/floatingLinkEditor/index.js +2 -2
  313. package/dist/field/features/link/plugins/floatingLinkEditor/index.js.map +1 -1
  314. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.d.ts +3 -6
  315. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -1
  316. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js +12 -30
  317. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js.map +1 -1
  318. package/dist/field/features/link/plugins/link/index.d.ts +3 -1
  319. package/dist/field/features/link/plugins/link/index.d.ts.map +1 -1
  320. package/dist/field/features/link/plugins/link/index.js +7 -16
  321. package/dist/field/features/link/plugins/link/index.js.map +1 -1
  322. package/dist/field/features/link/validate.d.ts +6 -0
  323. package/dist/field/features/link/validate.d.ts.map +1 -0
  324. package/dist/field/features/link/validate.js +28 -0
  325. package/dist/field/features/link/validate.js.map +1 -0
  326. package/dist/field/features/lists/checklist/feature.client.d.ts +4 -1
  327. package/dist/field/features/lists/checklist/feature.client.d.ts.map +1 -1
  328. package/dist/field/features/lists/checklist/feature.client.js +69 -44
  329. package/dist/field/features/lists/checklist/feature.client.js.map +1 -1
  330. package/dist/field/features/lists/checklist/feature.server.d.ts +1 -1
  331. package/dist/field/features/lists/checklist/feature.server.d.ts.map +1 -1
  332. package/dist/field/features/lists/checklist/feature.server.js +13 -10
  333. package/dist/field/features/lists/checklist/feature.server.js.map +1 -1
  334. package/dist/field/features/lists/checklist/i18n.d.ts +3 -0
  335. package/dist/field/features/lists/checklist/i18n.d.ts.map +1 -0
  336. package/dist/field/features/lists/checklist/i18n.js +100 -0
  337. package/dist/field/features/lists/checklist/i18n.js.map +1 -0
  338. package/dist/field/features/lists/checklist/markdownTransformers.d.ts.map +1 -1
  339. package/dist/field/features/lists/checklist/markdownTransformers.js +2 -3
  340. package/dist/field/features/lists/checklist/markdownTransformers.js.map +1 -1
  341. package/dist/field/features/lists/checklist/plugin/index.d.ts +2 -2
  342. package/dist/field/features/lists/checklist/plugin/index.d.ts.map +1 -1
  343. package/dist/field/features/lists/checklist/plugin/index.js +5 -5
  344. package/dist/field/features/lists/checklist/plugin/index.js.map +1 -1
  345. package/dist/field/features/lists/htmlConverter.d.ts.map +1 -1
  346. package/dist/field/features/lists/htmlConverter.js +13 -6
  347. package/dist/field/features/lists/htmlConverter.js.map +1 -1
  348. package/dist/field/features/lists/{orderedlist → orderedList}/feature.client.d.ts +4 -1
  349. package/dist/field/features/lists/orderedList/feature.client.d.ts.map +1 -0
  350. package/dist/field/features/lists/orderedList/feature.client.js +97 -0
  351. package/dist/field/features/lists/orderedList/feature.client.js.map +1 -0
  352. package/dist/field/features/lists/orderedList/feature.server.d.ts.map +1 -0
  353. package/dist/field/features/lists/{orderedlist → orderedList}/feature.server.js +12 -9
  354. package/dist/field/features/lists/orderedList/feature.server.js.map +1 -0
  355. package/dist/field/features/lists/orderedList/i18n.d.ts +3 -0
  356. package/dist/field/features/lists/orderedList/i18n.d.ts.map +1 -0
  357. package/dist/field/features/lists/orderedList/i18n.js +100 -0
  358. package/dist/field/features/lists/orderedList/i18n.js.map +1 -0
  359. package/dist/field/features/lists/orderedList/markdownTransformer.d.ts.map +1 -0
  360. package/dist/field/features/lists/{orderedlist → orderedList}/markdownTransformer.js +2 -3
  361. package/dist/field/features/lists/orderedList/markdownTransformer.js.map +1 -0
  362. package/dist/field/features/lists/plugin/index.d.ts +2 -2
  363. package/dist/field/features/lists/plugin/index.d.ts.map +1 -1
  364. package/dist/field/features/lists/plugin/index.js +5 -5
  365. package/dist/field/features/lists/plugin/index.js.map +1 -1
  366. package/dist/field/features/lists/{common → shared}/markdown.d.ts.map +1 -1
  367. package/dist/field/features/lists/{common → shared}/markdown.js +1 -2
  368. package/dist/field/features/lists/shared/markdown.js.map +1 -0
  369. package/dist/field/features/lists/shared/slashMenuListGroup.d.ts +3 -0
  370. package/dist/field/features/lists/shared/slashMenuListGroup.d.ts.map +1 -0
  371. package/dist/field/features/lists/shared/slashMenuListGroup.js +11 -0
  372. package/dist/field/features/lists/shared/slashMenuListGroup.js.map +1 -0
  373. package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.client.d.ts +4 -1
  374. package/dist/field/features/lists/unorderedList/feature.client.d.ts.map +1 -0
  375. package/dist/field/features/lists/unorderedList/feature.client.js +97 -0
  376. package/dist/field/features/lists/unorderedList/feature.client.js.map +1 -0
  377. package/dist/field/features/lists/unorderedList/feature.server.d.ts.map +1 -0
  378. package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.server.js +11 -8
  379. package/dist/field/features/lists/unorderedList/feature.server.js.map +1 -0
  380. package/dist/field/features/lists/unorderedList/i18n.d.ts +3 -0
  381. package/dist/field/features/lists/unorderedList/i18n.d.ts.map +1 -0
  382. package/dist/field/features/lists/unorderedList/i18n.js +100 -0
  383. package/dist/field/features/lists/unorderedList/i18n.js.map +1 -0
  384. package/dist/field/features/lists/unorderedList/markdownTransformer.d.ts.map +1 -0
  385. package/dist/field/features/lists/{unorderedlist → unorderedList}/markdownTransformer.js +2 -3
  386. package/dist/field/features/lists/unorderedList/markdownTransformer.js.map +1 -0
  387. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.d.ts.map +1 -1
  388. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +2 -4
  389. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -1
  390. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.d.ts +4 -1
  391. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.d.ts.map +1 -1
  392. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.d.ts.map +1 -1
  393. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.js +2 -1
  394. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -1
  395. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +9 -2
  396. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  397. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts +3 -6
  398. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  399. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +4 -5
  400. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  401. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.d.ts +1 -1
  402. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js +1 -1
  403. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js.map +1 -1
  404. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js +2 -2
  405. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js.map +1 -1
  406. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.d.ts.map +1 -1
  407. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js +2 -4
  408. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -1
  409. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.d.ts.map +1 -1
  410. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js +2 -4
  411. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -1
  412. package/dist/field/features/migrations/slateToLexical/converter/index.d.ts.map +1 -1
  413. package/dist/field/features/migrations/slateToLexical/converter/index.js +2 -1
  414. package/dist/field/features/migrations/slateToLexical/converter/index.js.map +1 -1
  415. package/dist/field/features/migrations/slateToLexical/feature.client.d.ts +4 -1
  416. package/dist/field/features/migrations/slateToLexical/feature.client.d.ts.map +1 -1
  417. package/dist/field/features/migrations/slateToLexical/feature.server.d.ts.map +1 -1
  418. package/dist/field/features/migrations/slateToLexical/feature.server.js +2 -1
  419. package/dist/field/features/migrations/slateToLexical/feature.server.js.map +1 -1
  420. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +9 -2
  421. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -1
  422. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts +3 -6
  423. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  424. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +4 -5
  425. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  426. package/dist/field/features/paragraph/feature.client.d.ts +4 -1
  427. package/dist/field/features/paragraph/feature.client.d.ts.map +1 -1
  428. package/dist/field/features/paragraph/feature.client.js +54 -41
  429. package/dist/field/features/paragraph/feature.client.js.map +1 -1
  430. package/dist/field/features/paragraph/feature.server.d.ts.map +1 -1
  431. package/dist/field/features/paragraph/feature.server.js +4 -1
  432. package/dist/field/features/paragraph/feature.server.js.map +1 -1
  433. package/dist/field/features/paragraph/i18n.d.ts +3 -0
  434. package/dist/field/features/paragraph/i18n.d.ts.map +1 -0
  435. package/dist/field/features/paragraph/i18n.js +132 -0
  436. package/dist/field/features/paragraph/i18n.js.map +1 -0
  437. package/dist/field/features/relationship/drawer/commands.d.ts.map +1 -1
  438. package/dist/field/features/relationship/drawer/commands.js +1 -2
  439. package/dist/field/features/relationship/drawer/commands.js.map +1 -1
  440. package/dist/field/features/relationship/drawer/index.d.ts.map +1 -1
  441. package/dist/field/features/relationship/drawer/index.js +18 -16
  442. package/dist/field/features/relationship/drawer/index.js.map +1 -1
  443. package/dist/field/features/relationship/feature.client.d.ts +17 -2
  444. package/dist/field/features/relationship/feature.client.d.ts.map +1 -1
  445. package/dist/field/features/relationship/feature.client.js +51 -28
  446. package/dist/field/features/relationship/feature.client.js.map +1 -1
  447. package/dist/field/features/relationship/feature.server.d.ts +10 -1
  448. package/dist/field/features/relationship/feature.server.d.ts.map +1 -1
  449. package/dist/field/features/relationship/feature.server.js +43 -8
  450. package/dist/field/features/relationship/feature.server.js.map +1 -1
  451. package/dist/field/features/relationship/graphQLPopulationPromise.d.ts +5 -0
  452. package/dist/field/features/relationship/graphQLPopulationPromise.d.ts.map +1 -0
  453. package/dist/field/features/relationship/graphQLPopulationPromise.js +29 -0
  454. package/dist/field/features/relationship/graphQLPopulationPromise.js.map +1 -0
  455. package/dist/field/features/relationship/i18n.d.ts +3 -0
  456. package/dist/field/features/relationship/i18n.d.ts.map +1 -0
  457. package/dist/field/features/relationship/i18n.js +100 -0
  458. package/dist/field/features/relationship/i18n.js.map +1 -0
  459. package/dist/field/features/relationship/nodes/RelationshipNode.d.ts +4 -9
  460. package/dist/field/features/relationship/nodes/RelationshipNode.d.ts.map +1 -1
  461. package/dist/field/features/relationship/nodes/RelationshipNode.js +12 -11
  462. package/dist/field/features/relationship/nodes/RelationshipNode.js.map +1 -1
  463. package/dist/field/features/relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
  464. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js +119 -56
  465. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js.map +1 -1
  466. package/dist/field/features/relationship/plugins/index.d.ts +2 -2
  467. package/dist/field/features/relationship/plugins/index.d.ts.map +1 -1
  468. package/dist/field/features/relationship/plugins/index.js +16 -18
  469. package/dist/field/features/relationship/plugins/index.js.map +1 -1
  470. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.d.ts.map +1 -1
  471. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.js +1 -3
  472. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.js.map +1 -1
  473. package/dist/field/features/shared/slashMenu/basicGroup.d.ts +3 -0
  474. package/dist/field/features/shared/slashMenu/basicGroup.d.ts.map +1 -0
  475. package/dist/field/features/shared/slashMenu/basicGroup.js +11 -0
  476. package/dist/field/features/shared/slashMenu/basicGroup.js.map +1 -0
  477. package/dist/field/features/shared/toolbar/addDropdownGroup.d.ts +3 -0
  478. package/dist/field/features/shared/toolbar/addDropdownGroup.d.ts.map +1 -0
  479. package/dist/field/features/shared/toolbar/addDropdownGroup.js +12 -0
  480. package/dist/field/features/shared/toolbar/addDropdownGroup.js.map +1 -0
  481. package/dist/field/features/shared/toolbar/featureButtonsGroup.d.ts +3 -0
  482. package/dist/field/features/shared/toolbar/featureButtonsGroup.d.ts.map +1 -0
  483. package/dist/field/features/shared/toolbar/featureButtonsGroup.js +10 -0
  484. package/dist/field/features/shared/toolbar/featureButtonsGroup.js.map +1 -0
  485. package/dist/field/features/shared/toolbar/textDropdownGroup.d.ts +3 -0
  486. package/dist/field/features/shared/toolbar/textDropdownGroup.d.ts.map +1 -0
  487. package/dist/field/features/shared/toolbar/textDropdownGroup.js +12 -0
  488. package/dist/field/features/shared/toolbar/textDropdownGroup.js.map +1 -0
  489. package/dist/field/features/toolbars/fixed/Toolbar/index.d.ts +5 -0
  490. package/dist/field/features/toolbars/fixed/Toolbar/index.d.ts.map +1 -0
  491. package/dist/field/features/toolbars/fixed/Toolbar/index.js +207 -0
  492. package/dist/field/features/toolbars/fixed/Toolbar/index.js.map +1 -0
  493. package/dist/field/features/toolbars/fixed/feature.client.d.ts +7 -0
  494. package/dist/field/features/toolbars/fixed/feature.client.d.ts.map +1 -0
  495. package/dist/field/features/toolbars/fixed/feature.client.js +20 -0
  496. package/dist/field/features/toolbars/fixed/feature.client.js.map +1 -0
  497. package/dist/field/features/toolbars/fixed/feature.server.d.ts +19 -0
  498. package/dist/field/features/toolbars/fixed/feature.server.d.ts.map +1 -0
  499. package/dist/field/features/toolbars/fixed/feature.server.js +21 -0
  500. package/dist/field/features/toolbars/fixed/feature.server.js.map +1 -0
  501. package/dist/field/features/toolbars/inline/Toolbar/index.d.ts +4 -0
  502. package/dist/field/features/toolbars/inline/Toolbar/index.d.ts.map +1 -0
  503. package/dist/field/features/toolbars/inline/Toolbar/index.js +319 -0
  504. package/dist/field/features/toolbars/inline/Toolbar/index.js.map +1 -0
  505. package/dist/field/features/toolbars/inline/feature.client.d.ts +6 -0
  506. package/dist/field/features/toolbars/inline/feature.client.d.ts.map +1 -0
  507. package/dist/field/features/toolbars/inline/feature.client.js +20 -0
  508. package/dist/field/features/toolbars/inline/feature.client.js.map +1 -0
  509. package/dist/field/features/toolbars/inline/feature.server.d.ts +3 -0
  510. package/dist/field/features/toolbars/inline/feature.server.d.ts.map +1 -0
  511. package/dist/field/features/toolbars/inline/feature.server.js +16 -0
  512. package/dist/field/features/toolbars/inline/feature.server.js.map +1 -0
  513. package/dist/field/features/toolbars/shared/ToolbarButton/index.d.ts +10 -0
  514. package/dist/field/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -0
  515. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarButton/index.js +34 -23
  516. package/dist/field/features/toolbars/shared/ToolbarButton/index.js.map +1 -0
  517. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts +22 -0
  518. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -0
  519. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarDropdown/DropDown.js +75 -102
  520. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -0
  521. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.d.ts +23 -0
  522. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -0
  523. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.js +141 -0
  524. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -0
  525. package/dist/field/features/toolbars/types.d.ts +48 -0
  526. package/dist/field/features/toolbars/types.d.ts.map +1 -0
  527. package/dist/field/features/toolbars/types.js.map +1 -0
  528. package/dist/field/features/typeUtilities.d.ts +8 -0
  529. package/dist/field/features/typeUtilities.d.ts.map +1 -0
  530. package/dist/field/features/typeUtilities.js +8 -0
  531. package/dist/field/features/typeUtilities.js.map +1 -0
  532. package/dist/field/features/types.d.ts +259 -69
  533. package/dist/field/features/types.d.ts.map +1 -1
  534. package/dist/field/features/types.js.map +1 -1
  535. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.d.ts +1 -1
  536. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.d.ts.map +1 -1
  537. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js +35 -37
  538. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js.map +1 -1
  539. package/dist/field/features/upload/component/index.d.ts.map +1 -1
  540. package/dist/field/features/upload/component/index.js +160 -85
  541. package/dist/field/features/upload/component/index.js.map +1 -1
  542. package/dist/field/features/upload/drawer/commands.d.ts.map +1 -1
  543. package/dist/field/features/upload/drawer/commands.js +1 -2
  544. package/dist/field/features/upload/drawer/commands.js.map +1 -1
  545. package/dist/field/features/upload/drawer/index.d.ts.map +1 -1
  546. package/dist/field/features/upload/drawer/index.js +17 -18
  547. package/dist/field/features/upload/drawer/index.js.map +1 -1
  548. package/dist/field/features/upload/feature.client.d.ts +4 -1
  549. package/dist/field/features/upload/feature.client.d.ts.map +1 -1
  550. package/dist/field/features/upload/feature.client.js +52 -26
  551. package/dist/field/features/upload/feature.client.js.map +1 -1
  552. package/dist/field/features/upload/feature.server.d.ts +10 -3
  553. package/dist/field/features/upload/feature.server.d.ts.map +1 -1
  554. package/dist/field/features/upload/feature.server.js +93 -15
  555. package/dist/field/features/upload/feature.server.js.map +1 -1
  556. package/dist/field/features/upload/{populationPromise.d.ts → graphQLPopulationPromise.d.ts} +1 -1
  557. package/dist/field/features/upload/graphQLPopulationPromise.d.ts.map +1 -0
  558. package/dist/field/features/upload/graphQLPopulationPromise.js +52 -0
  559. package/dist/field/features/upload/graphQLPopulationPromise.js.map +1 -0
  560. package/dist/field/features/upload/i18n.d.ts +3 -0
  561. package/dist/field/features/upload/i18n.d.ts.map +1 -0
  562. package/dist/field/features/upload/i18n.js +100 -0
  563. package/dist/field/features/upload/i18n.js.map +1 -0
  564. package/dist/field/features/upload/nodes/UploadNode.d.ts +7 -19
  565. package/dist/field/features/upload/nodes/UploadNode.d.ts.map +1 -1
  566. package/dist/field/features/upload/nodes/UploadNode.js +45 -15
  567. package/dist/field/features/upload/nodes/UploadNode.js.map +1 -1
  568. package/dist/field/features/upload/plugin/index.d.ts +5 -4
  569. package/dist/field/features/upload/plugin/index.d.ts.map +1 -1
  570. package/dist/field/features/upload/plugin/index.js +18 -20
  571. package/dist/field/features/upload/plugin/index.js.map +1 -1
  572. package/dist/field/features/upload/validate.d.ts +2 -1
  573. package/dist/field/features/upload/validate.d.ts.map +1 -1
  574. package/dist/field/features/upload/validate.js +37 -10
  575. package/dist/field/features/upload/validate.js.map +1 -1
  576. package/dist/field/index.d.ts +3 -1
  577. package/dist/field/index.d.ts.map +1 -1
  578. package/dist/field/index.js +35 -86
  579. package/dist/field/index.js.map +1 -1
  580. package/dist/field/lexical/EditorPlugin.d.ts +1 -0
  581. package/dist/field/lexical/EditorPlugin.d.ts.map +1 -1
  582. package/dist/field/lexical/EditorPlugin.js +8 -4
  583. package/dist/field/lexical/EditorPlugin.js.map +1 -1
  584. package/dist/field/lexical/LexicalEditor.d.ts +3 -1
  585. package/dist/field/lexical/LexicalEditor.d.ts.map +1 -1
  586. package/dist/field/lexical/LexicalEditor.js +157 -77
  587. package/dist/field/lexical/LexicalEditor.js.map +1 -1
  588. package/dist/field/lexical/LexicalProvider.d.ts +1 -2
  589. package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
  590. package/dist/field/lexical/LexicalProvider.js +52 -41
  591. package/dist/field/lexical/LexicalProvider.js.map +1 -1
  592. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts +15 -4
  593. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  594. package/dist/field/lexical/config/client/EditorConfigProvider.js +61 -11
  595. package/dist/field/lexical/config/client/EditorConfigProvider.js.map +1 -1
  596. package/dist/field/lexical/config/client/default.d.ts +1 -1
  597. package/dist/field/lexical/config/client/default.d.ts.map +1 -1
  598. package/dist/field/lexical/config/client/default.js.map +1 -1
  599. package/dist/field/lexical/config/client/sanitize.d.ts +3 -2
  600. package/dist/field/lexical/config/client/sanitize.d.ts.map +1 -1
  601. package/dist/field/lexical/config/client/sanitize.js +83 -33
  602. package/dist/field/lexical/config/client/sanitize.js.map +1 -1
  603. package/dist/field/lexical/config/server/default.d.ts +2 -3
  604. package/dist/field/lexical/config/server/default.d.ts.map +1 -1
  605. package/dist/field/lexical/config/server/default.js +12 -10
  606. package/dist/field/lexical/config/server/default.js.map +1 -1
  607. package/dist/field/lexical/config/server/loader.d.ts +5 -2
  608. package/dist/field/lexical/config/server/loader.d.ts.map +1 -1
  609. package/dist/field/lexical/config/server/loader.js +4 -2
  610. package/dist/field/lexical/config/server/loader.js.map +1 -1
  611. package/dist/field/lexical/config/server/sanitize.d.ts +2 -1
  612. package/dist/field/lexical/config/server/sanitize.d.ts.map +1 -1
  613. package/dist/field/lexical/config/server/sanitize.js +39 -9
  614. package/dist/field/lexical/config/server/sanitize.js.map +1 -1
  615. package/dist/field/lexical/config/types.d.ts +3 -1
  616. package/dist/field/lexical/config/types.d.ts.map +1 -1
  617. package/dist/field/lexical/config/types.js.map +1 -1
  618. package/dist/field/lexical/nodes/index.d.ts +1 -2
  619. package/dist/field/lexical/nodes/index.d.ts.map +1 -1
  620. package/dist/field/lexical/nodes/index.js.map +1 -1
  621. package/dist/field/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  622. package/dist/field/lexical/plugins/MarkdownShortcut/index.js +3 -3
  623. package/dist/field/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  624. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +10 -10
  625. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  626. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +74 -77
  627. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  628. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +5 -5
  629. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  630. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +8 -10
  631. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  632. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +19 -27
  633. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  634. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +1 -37
  635. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  636. package/dist/field/lexical/plugins/SlashMenu/index.d.ts +2 -2
  637. package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  638. package/dist/field/lexical/plugins/SlashMenu/index.js +108 -93
  639. package/dist/field/lexical/plugins/SlashMenu/index.js.map +1 -1
  640. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts +2 -2
  641. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
  642. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +47 -126
  643. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  644. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.d.ts +1 -1
  645. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.d.ts.map +1 -1
  646. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -1
  647. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts +2 -2
  648. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  649. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +116 -67
  650. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  651. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.d.ts +8 -1
  652. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.d.ts.map +1 -1
  653. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +83 -16
  654. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  655. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts +5 -0
  656. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts.map +1 -0
  657. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js +21 -0
  658. package/dist/field/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.js.map +1 -0
  659. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.d.ts +9 -0
  660. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.d.ts.map +1 -0
  661. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +35 -0
  662. package/dist/field/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -0
  663. package/dist/field/lexical/plugins/handles/{DraggableBlockPlugin → utils}/getNodeCloseToPoint.d.ts +5 -1
  664. package/dist/field/lexical/plugins/handles/utils/getNodeCloseToPoint.d.ts.map +1 -0
  665. package/dist/field/lexical/plugins/handles/{DraggableBlockPlugin → utils}/getNodeCloseToPoint.js +5 -18
  666. package/dist/field/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -0
  667. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.d.ts.map +1 -1
  668. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +1 -2
  669. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -1
  670. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.d.ts +1 -1
  671. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
  672. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js +19 -7
  673. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  674. package/dist/field/lexical/theme/EditorTheme.d.ts.map +1 -1
  675. package/dist/field/lexical/theme/EditorTheme.js +1 -1
  676. package/dist/field/lexical/theme/EditorTheme.js.map +1 -1
  677. package/dist/field/lexical/ui/ContentEditable.d.ts +1 -1
  678. package/dist/field/lexical/ui/ContentEditable.d.ts.map +1 -1
  679. package/dist/field/lexical/ui/ContentEditable.js +3 -4
  680. package/dist/field/lexical/ui/ContentEditable.js.map +1 -1
  681. package/dist/field/lexical/ui/icons/AI/index.js +26 -17
  682. package/dist/field/lexical/ui/icons/AI/index.js.map +1 -1
  683. package/dist/field/lexical/ui/icons/Add/index.d.ts +3 -0
  684. package/dist/field/lexical/ui/icons/Add/index.d.ts.map +1 -0
  685. package/dist/field/lexical/ui/icons/Add/index.js +21 -0
  686. package/dist/field/lexical/ui/icons/Add/index.js.map +1 -0
  687. package/dist/field/lexical/ui/icons/Add/light.svg +4 -0
  688. package/dist/field/lexical/ui/icons/AlignCenter/index.js +21 -15
  689. package/dist/field/lexical/ui/icons/AlignCenter/index.js.map +1 -1
  690. package/dist/field/lexical/ui/icons/AlignJustify/index.js +21 -15
  691. package/dist/field/lexical/ui/icons/AlignJustify/index.js.map +1 -1
  692. package/dist/field/lexical/ui/icons/AlignLeft/index.js +21 -15
  693. package/dist/field/lexical/ui/icons/AlignLeft/index.js.map +1 -1
  694. package/dist/field/lexical/ui/icons/AlignRight/index.js +21 -15
  695. package/dist/field/lexical/ui/icons/AlignRight/index.js.map +1 -1
  696. package/dist/field/lexical/ui/icons/Block/index.js +30 -24
  697. package/dist/field/lexical/ui/icons/Block/index.js.map +1 -1
  698. package/dist/field/lexical/ui/icons/Blockquote/index.js +8 -6
  699. package/dist/field/lexical/ui/icons/Blockquote/index.js.map +1 -1
  700. package/dist/field/lexical/ui/icons/Bold/index.js +8 -6
  701. package/dist/field/lexical/ui/icons/Bold/index.js.map +1 -1
  702. package/dist/field/lexical/ui/icons/Checklist/index.js +19 -14
  703. package/dist/field/lexical/ui/icons/Checklist/index.js.map +1 -1
  704. package/dist/field/lexical/ui/icons/Code/index.js +14 -9
  705. package/dist/field/lexical/ui/icons/Code/index.js.map +1 -1
  706. package/dist/field/lexical/ui/icons/CodeBlock/index.js +14 -9
  707. package/dist/field/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  708. package/dist/field/lexical/ui/icons/DraggableBlock/light.svg +9 -0
  709. package/dist/field/lexical/ui/icons/H1/index.js +8 -6
  710. package/dist/field/lexical/ui/icons/H1/index.js.map +1 -1
  711. package/dist/field/lexical/ui/icons/H2/index.js +8 -6
  712. package/dist/field/lexical/ui/icons/H2/index.js.map +1 -1
  713. package/dist/field/lexical/ui/icons/H3/index.js +8 -6
  714. package/dist/field/lexical/ui/icons/H3/index.js.map +1 -1
  715. package/dist/field/lexical/ui/icons/H4/index.js +8 -6
  716. package/dist/field/lexical/ui/icons/H4/index.js.map +1 -1
  717. package/dist/field/lexical/ui/icons/H5/index.js +8 -6
  718. package/dist/field/lexical/ui/icons/H5/index.js.map +1 -1
  719. package/dist/field/lexical/ui/icons/H6/index.js +8 -6
  720. package/dist/field/lexical/ui/icons/H6/index.js.map +1 -1
  721. package/dist/field/lexical/ui/icons/HorizontalRule/index.d.ts +3 -0
  722. package/dist/field/lexical/ui/icons/HorizontalRule/index.d.ts.map +1 -0
  723. package/dist/field/lexical/ui/icons/HorizontalRule/index.js +21 -0
  724. package/dist/field/lexical/ui/icons/HorizontalRule/index.js.map +1 -0
  725. package/dist/field/lexical/ui/icons/IndentDecrease/index.js +25 -18
  726. package/dist/field/lexical/ui/icons/IndentDecrease/index.js.map +1 -1
  727. package/dist/field/lexical/ui/icons/IndentIncrease/index.js +25 -18
  728. package/dist/field/lexical/ui/icons/IndentIncrease/index.js.map +1 -1
  729. package/dist/field/lexical/ui/icons/Italic/index.js +8 -6
  730. package/dist/field/lexical/ui/icons/Italic/index.js.map +1 -1
  731. package/dist/field/lexical/ui/icons/Link/index.d.ts.map +1 -1
  732. package/dist/field/lexical/ui/icons/Link/index.js +10 -18
  733. package/dist/field/lexical/ui/icons/Link/index.js.map +1 -1
  734. package/dist/field/lexical/ui/icons/OrderedList/index.js +29 -21
  735. package/dist/field/lexical/ui/icons/OrderedList/index.js.map +1 -1
  736. package/dist/field/lexical/ui/icons/Relationship/index.js +26 -17
  737. package/dist/field/lexical/ui/icons/Relationship/index.js.map +1 -1
  738. package/dist/field/lexical/ui/icons/Strikethrough/index.js +14 -9
  739. package/dist/field/lexical/ui/icons/Strikethrough/index.js.map +1 -1
  740. package/dist/field/lexical/ui/icons/Subscript/index.js +8 -6
  741. package/dist/field/lexical/ui/icons/Subscript/index.js.map +1 -1
  742. package/dist/field/lexical/ui/icons/Superscript/index.js +8 -6
  743. package/dist/field/lexical/ui/icons/Superscript/index.js.map +1 -1
  744. package/dist/field/lexical/ui/icons/Text/index.js +8 -6
  745. package/dist/field/lexical/ui/icons/Text/index.js.map +1 -1
  746. package/dist/field/lexical/ui/icons/Underline/index.js +14 -9
  747. package/dist/field/lexical/ui/icons/Underline/index.js.map +1 -1
  748. package/dist/field/lexical/ui/icons/UnorderedList/index.js +45 -36
  749. package/dist/field/lexical/ui/icons/UnorderedList/index.js.map +1 -1
  750. package/dist/field/lexical/ui/icons/Upload/index.js +24 -18
  751. package/dist/field/lexical/ui/icons/Upload/index.js.map +1 -1
  752. package/dist/field/lexical/utils/getSelectedNode.d.ts.map +1 -1
  753. package/dist/field/lexical/utils/getSelectedNode.js +1 -2
  754. package/dist/field/lexical/utils/getSelectedNode.js.map +1 -1
  755. package/dist/field/lexical/utils/nodeFormat.d.ts +2 -2
  756. package/dist/field/lexical/utils/nodeFormat.d.ts.map +1 -1
  757. package/dist/field/lexical/utils/nodeFormat.js +1 -1
  758. package/dist/field/lexical/utils/nodeFormat.js.map +1 -1
  759. package/dist/field/lexical/utils/setFloatingElemPosition.d.ts +11 -1
  760. package/dist/field/lexical/utils/setFloatingElemPosition.d.ts.map +1 -1
  761. package/dist/field/lexical/utils/setFloatingElemPosition.js +16 -13
  762. package/dist/field/lexical/utils/setFloatingElemPosition.js.map +1 -1
  763. package/dist/field/lexical/utils/url.d.ts.map +1 -1
  764. package/dist/field/lexical/utils/url.js +13 -2
  765. package/dist/field/lexical/utils/url.js.map +1 -1
  766. package/dist/forEachNodeRecursively.d.ts +10 -0
  767. package/dist/forEachNodeRecursively.d.ts.map +1 -0
  768. package/dist/forEachNodeRecursively.js +24 -0
  769. package/dist/forEachNodeRecursively.js.map +1 -0
  770. package/dist/generateComponentMap.d.ts +1 -1
  771. package/dist/generateComponentMap.d.ts.map +1 -1
  772. package/dist/generateComponentMap.js +21 -29
  773. package/dist/generateComponentMap.js.map +1 -1
  774. package/dist/generateSchemaMap.d.ts +1 -1
  775. package/dist/generateSchemaMap.d.ts.map +1 -1
  776. package/dist/generateSchemaMap.js +4 -12
  777. package/dist/generateSchemaMap.js.map +1 -1
  778. package/dist/i18n.d.ts +3 -0
  779. package/dist/i18n.d.ts.map +1 -0
  780. package/dist/i18n.js +164 -0
  781. package/dist/i18n.js.map +1 -0
  782. package/dist/index.d.ts +21 -36
  783. package/dist/index.d.ts.map +1 -1
  784. package/dist/index.js +592 -201
  785. package/dist/index.js.map +1 -1
  786. package/dist/{populate → populateGraphQL}/defaultValue.d.ts +0 -1
  787. package/dist/populateGraphQL/defaultValue.d.ts.map +1 -0
  788. package/dist/{populate → populateGraphQL}/defaultValue.js +1 -19
  789. package/dist/populateGraphQL/defaultValue.js.map +1 -0
  790. package/dist/populateGraphQL/populate.d.ts +17 -0
  791. package/dist/populateGraphQL/populate.d.ts.map +1 -0
  792. package/dist/populateGraphQL/populate.js +28 -0
  793. package/dist/populateGraphQL/populate.js.map +1 -0
  794. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts +12 -0
  795. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -0
  796. package/dist/populateGraphQL/populateLexicalPopulationPromises.js +37 -0
  797. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -0
  798. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts +28 -0
  799. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts.map +1 -0
  800. package/dist/{populate/recurseNestedFields.js → populateGraphQL/recursivelyPopulateFieldsForGraphQL.js} +7 -5
  801. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -0
  802. package/dist/recurseNodeTree.d.ts +9 -0
  803. package/dist/recurseNodeTree.d.ts.map +1 -0
  804. package/dist/recurseNodeTree.js +27 -0
  805. package/dist/recurseNodeTree.js.map +1 -0
  806. package/dist/types.d.ts +45 -8
  807. package/dist/types.d.ts.map +1 -1
  808. package/dist/types.js.map +1 -1
  809. package/dist/useLexicalFeature.d.ts.map +1 -1
  810. package/dist/useLexicalFeature.js +6 -3
  811. package/dist/useLexicalFeature.js.map +1 -1
  812. package/dist/validate/index.d.ts +2 -2
  813. package/dist/validate/index.d.ts.map +1 -1
  814. package/dist/validate/index.js +3 -2
  815. package/dist/validate/index.js.map +1 -1
  816. package/dist/validate/validateNodes.d.ts +1 -1
  817. package/dist/validate/validateNodes.d.ts.map +1 -1
  818. package/dist/validate/validateNodes.js +1 -1
  819. package/dist/validate/validateNodes.js.map +1 -1
  820. package/package.json +71 -53
  821. package/components.d.ts +0 -6
  822. package/components.js +0 -7
  823. package/dist/exports/components.d.ts +0 -6
  824. package/dist/exports/components.d.ts.map +0 -1
  825. package/dist/exports/components.js +0 -7
  826. package/dist/exports/components.js.map +0 -1
  827. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts +0 -3
  828. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts.map +0 -1
  829. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +0 -12
  830. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js.map +0 -1
  831. package/dist/field/features/blocks/component/index.scss +0 -153
  832. package/dist/field/features/blocks/populationPromise.d.ts.map +0 -1
  833. package/dist/field/features/blocks/populationPromise.js +0 -46
  834. package/dist/field/features/blocks/populationPromise.js.map +0 -1
  835. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts +0 -3
  836. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts.map +0 -1
  837. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +0 -10
  838. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js.map +0 -1
  839. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts +0 -3
  840. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts.map +0 -1
  841. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +0 -12
  842. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js.map +0 -1
  843. package/dist/field/features/debug/testrecorder/feature.client.d.ts.map +0 -1
  844. package/dist/field/features/debug/testrecorder/feature.server.d.ts.map +0 -1
  845. package/dist/field/features/debug/testrecorder/feature.server.js.map +0 -1
  846. package/dist/field/features/debug/testrecorder/plugin/index.d.ts +0 -5
  847. package/dist/field/features/debug/testrecorder/plugin/index.d.ts.map +0 -1
  848. package/dist/field/features/debug/testrecorder/plugin/index.js.map +0 -1
  849. package/dist/field/features/debug/testrecorder/plugin/index.scss +0 -49
  850. package/dist/field/features/debug/treeview/feature.client.d.ts.map +0 -1
  851. package/dist/field/features/debug/treeview/feature.server.d.ts.map +0 -1
  852. package/dist/field/features/debug/treeview/feature.server.js.map +0 -1
  853. package/dist/field/features/debug/treeview/plugin/index.d.ts +0 -4
  854. package/dist/field/features/debug/treeview/plugin/index.d.ts.map +0 -1
  855. package/dist/field/features/debug/treeview/plugin/index.js.map +0 -1
  856. package/dist/field/features/debug/treeview/plugin/index.scss +0 -78
  857. package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts +0 -3
  858. package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts.map +0 -1
  859. package/dist/field/features/format/common/floatingSelectToolbarSection.js +0 -10
  860. package/dist/field/features/format/common/floatingSelectToolbarSection.js.map +0 -1
  861. package/dist/field/features/format/inlinecode/feature.client.d.ts.map +0 -1
  862. package/dist/field/features/format/inlinecode/feature.client.js +0 -43
  863. package/dist/field/features/format/inlinecode/feature.client.js.map +0 -1
  864. package/dist/field/features/format/inlinecode/feature.server.d.ts.map +0 -1
  865. package/dist/field/features/format/inlinecode/feature.server.js.map +0 -1
  866. package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts +0 -3
  867. package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts.map +0 -1
  868. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +0 -10
  869. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js.map +0 -1
  870. package/dist/field/features/indent/index.scss +0 -4
  871. package/dist/field/features/link/drawer/index.scss +0 -50
  872. package/dist/field/features/link/plugins/floatingLinkEditor/index.scss +0 -78
  873. package/dist/field/features/link/populationPromise.d.ts.map +0 -1
  874. package/dist/field/features/link/populationPromise.js +0 -46
  875. package/dist/field/features/link/populationPromise.js.map +0 -1
  876. package/dist/field/features/lists/common/markdown.js.map +0 -1
  877. package/dist/field/features/lists/orderedlist/feature.client.d.ts.map +0 -1
  878. package/dist/field/features/lists/orderedlist/feature.client.js +0 -72
  879. package/dist/field/features/lists/orderedlist/feature.client.js.map +0 -1
  880. package/dist/field/features/lists/orderedlist/feature.server.d.ts.map +0 -1
  881. package/dist/field/features/lists/orderedlist/feature.server.js.map +0 -1
  882. package/dist/field/features/lists/orderedlist/markdownTransformer.d.ts.map +0 -1
  883. package/dist/field/features/lists/orderedlist/markdownTransformer.js.map +0 -1
  884. package/dist/field/features/lists/unorderedlist/feature.client.d.ts.map +0 -1
  885. package/dist/field/features/lists/unorderedlist/feature.client.js +0 -72
  886. package/dist/field/features/lists/unorderedlist/feature.client.js.map +0 -1
  887. package/dist/field/features/lists/unorderedlist/feature.server.d.ts.map +0 -1
  888. package/dist/field/features/lists/unorderedlist/feature.server.js.map +0 -1
  889. package/dist/field/features/lists/unorderedlist/markdownTransformer.d.ts.map +0 -1
  890. package/dist/field/features/lists/unorderedlist/markdownTransformer.js.map +0 -1
  891. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.scss +0 -14
  892. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.scss +0 -14
  893. package/dist/field/features/relationship/nodes/components/index.scss +0 -97
  894. package/dist/field/features/relationship/populationPromise.d.ts +0 -4
  895. package/dist/field/features/relationship/populationPromise.d.ts.map +0 -1
  896. package/dist/field/features/relationship/populationPromise.js +0 -24
  897. package/dist/field/features/relationship/populationPromise.js.map +0 -1
  898. package/dist/field/features/upload/component/index.scss +0 -152
  899. package/dist/field/features/upload/populationPromise.d.ts.map +0 -1
  900. package/dist/field/features/upload/populationPromise.js +0 -46
  901. package/dist/field/features/upload/populationPromise.js.map +0 -1
  902. package/dist/field/index.scss +0 -46
  903. package/dist/field/lexical/LexicalEditor.scss +0 -56
  904. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts +0 -8
  905. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts.map +0 -1
  906. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js.map +0 -1
  907. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.scss +0 -37
  908. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts +0 -17
  909. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts.map +0 -1
  910. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js.map +0 -1
  911. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts +0 -18
  912. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +0 -1
  913. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +0 -42
  914. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js.map +0 -1
  915. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.scss +0 -100
  916. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts +0 -6
  917. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +0 -1
  918. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +0 -270
  919. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js.map +0 -1
  920. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.scss +0 -57
  921. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts +0 -40
  922. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts.map +0 -1
  923. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js.map +0 -1
  924. package/dist/field/lexical/plugins/SlashMenu/index.scss +0 -61
  925. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.scss +0 -31
  926. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.d.ts.map +0 -1
  927. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js.map +0 -1
  928. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.scss +0 -55
  929. package/dist/field/lexical/theme/EditorTheme.scss +0 -505
  930. package/dist/field/lexical/ui/ContentEditable.scss +0 -25
  931. package/dist/populate/defaultValue.d.ts.map +0 -1
  932. package/dist/populate/defaultValue.js.map +0 -1
  933. package/dist/populate/populate.d.ts +0 -21
  934. package/dist/populate/populate.d.ts.map +0 -1
  935. package/dist/populate/populate.js +0 -21
  936. package/dist/populate/populate.js.map +0 -1
  937. package/dist/populate/recurseNestedFields.d.ts +0 -25
  938. package/dist/populate/recurseNestedFields.d.ts.map +0 -1
  939. package/dist/populate/recurseNestedFields.js.map +0 -1
  940. package/dist/populate/richTextRelationshipPromise.d.ts +0 -23
  941. package/dist/populate/richTextRelationshipPromise.d.ts.map +0 -1
  942. package/dist/populate/richTextRelationshipPromise.js +0 -68
  943. package/dist/populate/richTextRelationshipPromise.js.map +0 -1
  944. package/dist/scss/app.scss +0 -209
  945. package/dist/scss/colors.scss +0 -269
  946. package/dist/scss/fonts.scss +0 -75
  947. package/dist/scss/queries.scss +0 -27
  948. package/dist/scss/resets.scss +0 -17
  949. package/dist/scss/styles.scss +0 -11
  950. package/dist/scss/svg.scss +0 -10
  951. package/dist/scss/toastify.scss +0 -58
  952. package/dist/scss/type.scss +0 -117
  953. package/dist/scss/vars.scss +0 -220
  954. package/dist/scss/z-index.scss +0 -9
  955. package/src/index.ts +0 -423
  956. /package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.js +0 -0
  957. /package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.d.ts +0 -0
  958. /package/dist/field/features/debug/{treeview → treeView}/feature.client.js +0 -0
  959. /package/dist/field/features/debug/{treeview → treeView}/feature.server.d.ts +0 -0
  960. /package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.d.ts +0 -0
  961. /package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.d.ts +0 -0
  962. /package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.js +0 -0
  963. /package/dist/field/features/lists/{orderedlist → orderedList}/feature.server.d.ts +0 -0
  964. /package/dist/field/features/lists/{orderedlist → orderedList}/markdownTransformer.d.ts +0 -0
  965. /package/dist/field/features/lists/{common → shared}/markdown.d.ts +0 -0
  966. /package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.server.d.ts +0 -0
  967. /package/dist/field/features/lists/{unorderedlist → unorderedList}/markdownTransformer.d.ts +0 -0
  968. /package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars}/types.js +0 -0
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Code taken from https://github.com/facebook/lexical/blob/main/packages/lexical-markdown/src/MarkdownTransformers.ts#L357
3
+ */ // Order of text transformers matters:
4
+ //
5
+ // - code should go first as it prevents any transformations inside
6
+ import { $createTextNode, $isTextNode } from 'lexical';
7
+ import { $createLinkNode, $isLinkNode, LinkNode } from './nodes/LinkNode.js';
8
+ // - then longer tags match (e.g. ** or __ should go before * or _)
9
+ export const LinkMarkdownTransformer = {
10
+ type: 'text-match',
11
+ dependencies: [
12
+ LinkNode
13
+ ],
14
+ export: (_node, exportChildren, exportFormat)=>{
15
+ if (!$isLinkNode(_node)) {
16
+ return null;
17
+ }
18
+ const node = _node;
19
+ const { url } = node.getFields();
20
+ const linkContent = `[${node.getTextContent()}](${url})`;
21
+ const firstChild = node.getFirstChild();
22
+ // Add text styles only if link has single text node inside. If it's more
23
+ // then one we ignore it as markdown does not support nested styles for links
24
+ if (node.getChildrenSize() === 1 && $isTextNode(firstChild)) {
25
+ return exportFormat(firstChild, linkContent);
26
+ } else {
27
+ return linkContent;
28
+ }
29
+ },
30
+ importRegExp: /\[([^[]+)\]\(([^()\s]+)(?:\s"((?:[^"]*\\")*[^"]*)"\s*)?\)/,
31
+ regExp: /\[([^[]+)\]\(([^()\s]+)(?:\s"((?:[^"]*\\")*[^"]*)"\s*)?\)$/,
32
+ replace: (textNode, match)=>{
33
+ const [, linkText, linkUrl] = match;
34
+ const linkNode = $createLinkNode({
35
+ fields: {
36
+ doc: null,
37
+ linkType: 'custom',
38
+ newTab: false,
39
+ url: linkUrl
40
+ }
41
+ });
42
+ const linkTextNode = $createTextNode(linkText);
43
+ linkTextNode.setFormat(textNode.getFormat());
44
+ linkNode.append(linkTextNode);
45
+ textNode.replace(linkNode);
46
+ },
47
+ trigger: ')'
48
+ };
49
+
50
+ //# sourceMappingURL=markdownTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/field/features/link/markdownTransformer.ts"],"sourcesContent":["/**\n * Code taken from https://github.com/facebook/lexical/blob/main/packages/lexical-markdown/src/MarkdownTransformers.ts#L357\n */\n\n// Order of text transformers matters:\n//\n// - code should go first as it prevents any transformations inside\n\nimport type { TextMatchTransformer } from '@lexical/markdown'\n\nimport { $createTextNode, $isTextNode } from 'lexical'\n\nimport { $createLinkNode, $isLinkNode, LinkNode } from './nodes/LinkNode.js'\n\n// - then longer tags match (e.g. ** or __ should go before * or _)\nexport const LinkMarkdownTransformer: TextMatchTransformer = {\n type: 'text-match',\n dependencies: [LinkNode],\n export: (_node, exportChildren, exportFormat) => {\n if (!$isLinkNode(_node)) {\n return null\n }\n const node: LinkNode = _node\n const { url } = node.getFields()\n const linkContent = `[${node.getTextContent()}](${url})`\n const firstChild = node.getFirstChild()\n // Add text styles only if link has single text node inside. If it's more\n // then one we ignore it as markdown does not support nested styles for links\n if (node.getChildrenSize() === 1 && $isTextNode(firstChild)) {\n return exportFormat(firstChild, linkContent)\n } else {\n return linkContent\n }\n },\n importRegExp: /\\[([^[]+)\\]\\(([^()\\s]+)(?:\\s\"((?:[^\"]*\\\\\")*[^\"]*)\"\\s*)?\\)/,\n regExp: /\\[([^[]+)\\]\\(([^()\\s]+)(?:\\s\"((?:[^\"]*\\\\\")*[^\"]*)\"\\s*)?\\)$/,\n replace: (textNode, match) => {\n const [, linkText, linkUrl] = match\n const linkNode = $createLinkNode({\n fields: {\n doc: null,\n linkType: 'custom',\n newTab: false,\n url: linkUrl,\n },\n })\n const linkTextNode = $createTextNode(linkText)\n linkTextNode.setFormat(textNode.getFormat())\n linkNode.append(linkTextNode)\n textNode.replace(linkNode)\n },\n trigger: ')',\n}\n"],"names":["$createTextNode","$isTextNode","$createLinkNode","$isLinkNode","LinkNode","LinkMarkdownTransformer","type","dependencies","export","_node","exportChildren","exportFormat","node","url","getFields","linkContent","getTextContent","firstChild","getFirstChild","getChildrenSize","importRegExp","regExp","replace","textNode","match","linkText","linkUrl","linkNode","fields","doc","linkType","newTab","linkTextNode","setFormat","getFormat","append","trigger"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;CAEC,GAED,sCAAsC;AACtC,EAAE;AACF,mEAAmE;AAInE,SAASA,eAAe,EAAEC,WAAW,QAAQ,UAAS;AAEtD,SAASC,eAAe,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,sBAAqB;AAE5E,mEAAmE;AACnE,OAAO,MAAMC,0BAAgD;IAC3DC,MAAM;IACNC,cAAc;QAACH;KAAS;IACxBI,QAAQ,CAACC,OAAOC,gBAAgBC;QAC9B,IAAI,CAACR,YAAYM,QAAQ;YACvB,OAAO;QACT;QACA,MAAMG,OAAiBH;QACvB,MAAM,EAAEI,GAAG,EAAE,GAAGD,KAAKE,SAAS;QAC9B,MAAMC,cAAc,CAAC,CAAC,EAAEH,KAAKI,cAAc,GAAG,EAAE,EAAEH,IAAI,CAAC,CAAC;QACxD,MAAMI,aAAaL,KAAKM,aAAa;QACrC,yEAAyE;QACzE,6EAA6E;QAC7E,IAAIN,KAAKO,eAAe,OAAO,KAAKlB,YAAYgB,aAAa;YAC3D,OAAON,aAAaM,YAAYF;QAClC,OAAO;YACL,OAAOA;QACT;IACF;IACAK,cAAc;IACdC,QAAQ;IACRC,SAAS,CAACC,UAAUC;QAClB,MAAM,GAAGC,UAAUC,QAAQ,GAAGF;QAC9B,MAAMG,WAAWzB,gBAAgB;YAC/B0B,QAAQ;gBACNC,KAAK;gBACLC,UAAU;gBACVC,QAAQ;gBACRlB,KAAKa;YACP;QACF;QACA,MAAMM,eAAehC,gBAAgByB;QACrCO,aAAaC,SAAS,CAACV,SAASW,SAAS;QACzCP,SAASQ,MAAM,CAACH;QAChBT,SAASD,OAAO,CAACK;IACnB;IACAS,SAAS;AACX,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoLinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/link/nodes/AutoLinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAKvE,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAKxC,qBAAa,YAAa,SAAQ,QAAQ;IACxC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;IAI9C,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,IAAI;IAKxB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,YAAY;IAkBvE,UAAU,IAAI,sBAAsB;IAQpC,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,WAAW,GAAG,IAAI;CASvF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,YAAY,CAEpF;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,YAAY,CAE1F"}
1
+ {"version":3,"file":"AutoLinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/link/nodes/AutoLinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAIvE,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAKxC,qBAAa,YAAa,SAAQ,QAAQ;IACxC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;IAI9C,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,IAAI;IAKxB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,YAAY;IAkBvE,UAAU,IAAI,sBAAsB;IAQpC,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,WAAW,GAAG,IAAI;CASvF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,YAAY,CAEpF;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,YAAY,CAE1F"}
@@ -1,11 +1,11 @@
1
- import lexicalImport from 'lexical';
2
- const { $applyNodeReplacement, $isElementNode } = lexicalImport;
1
+ import { $applyNodeReplacement, $isElementNode } from 'lexical';
3
2
  import { LinkNode } from './LinkNode.js';
4
3
  // Custom node type to override `canInsertTextAfter` that will
5
4
  // allow typing within the link
6
5
  export class AutoLinkNode extends LinkNode {
7
6
  static clone(node) {
8
7
  return new AutoLinkNode({
8
+ id: undefined,
9
9
  fields: node.__fields,
10
10
  key: node.__key
11
11
  });
@@ -51,6 +51,7 @@ export class AutoLinkNode extends LinkNode {
51
51
  }
52
52
  export function $createAutoLinkNode({ fields }) {
53
53
  return $applyNodeReplacement(new AutoLinkNode({
54
+ id: undefined,
54
55
  fields
55
56
  }));
56
57
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/field/features/link/nodes/AutoLinkNode.ts"],"sourcesContent":["import type { ElementNode, LexicalNode, RangeSelection } from 'lexical'\n\nimport lexicalImport from 'lexical'\nconst { $applyNodeReplacement, $isElementNode } = lexicalImport\n\nimport type { LinkFields, SerializedAutoLinkNode } from './types.js'\n\nimport { LinkNode } from './LinkNode.js'\n\n// Custom node type to override `canInsertTextAfter` that will\n// allow typing within the link\n\nexport class AutoLinkNode extends LinkNode {\n static clone(node: AutoLinkNode): AutoLinkNode {\n return new AutoLinkNode({ fields: node.__fields, key: node.__key })\n }\n\n static getType(): string {\n return 'autolink'\n }\n\n static importDOM(): null {\n // TODO: Should link node should handle the import over autolink?\n return null\n }\n\n static importJSON(serializedNode: SerializedAutoLinkNode): AutoLinkNode {\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 const node = $createAutoLinkNode({ 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 exportJSON(): SerializedAutoLinkNode {\n return {\n ...super.exportJSON(),\n type: 'autolink',\n version: 2,\n }\n }\n\n insertNewAfter(selection: RangeSelection, restoreSelection = true): ElementNode | null {\n const element = this.getParentOrThrow().insertNewAfter(selection, restoreSelection)\n if ($isElementNode(element)) {\n const linkNode = $createAutoLinkNode({ fields: this.__fields })\n element.append(linkNode)\n return linkNode\n }\n return null\n }\n}\n\nexport function $createAutoLinkNode({ fields }: { fields: LinkFields }): AutoLinkNode {\n return $applyNodeReplacement(new AutoLinkNode({ fields }))\n}\nexport function $isAutoLinkNode(node: LexicalNode | null | undefined): node is AutoLinkNode {\n return node instanceof AutoLinkNode\n}\n"],"names":["lexicalImport","$applyNodeReplacement","$isElementNode","LinkNode","AutoLinkNode","clone","node","fields","__fields","key","__key","getType","importDOM","importJSON","serializedNode","version","doc","value","id","$createAutoLinkNode","setFormat","format","setIndent","indent","setDirection","direction","exportJSON","type","insertNewAfter","selection","restoreSelection","element","getParentOrThrow","linkNode","append","$isAutoLinkNode"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,mBAAmB,UAAS;AACnC,MAAM,EAAEC,qBAAqB,EAAEC,cAAc,EAAE,GAAGF;AAIlD,SAASG,QAAQ,QAAQ,gBAAe;AAExC,8DAA8D;AAC9D,+BAA+B;AAE/B,OAAO,MAAMC,qBAAqBD;IAChC,OAAOE,MAAMC,IAAkB,EAAgB;QAC7C,OAAO,IAAIF,aAAa;YAAEG,QAAQD,KAAKE,QAAQ;YAAEC,KAAKH,KAAKI,KAAK;QAAC;IACnE;IAEA,OAAOC,UAAkB;QACvB,OAAO;IACT;IAEA,OAAOC,YAAkB;QACvB,iEAAiE;QACjE,OAAO;IACT;IAEA,OAAOC,WAAWC,cAAsC,EAAgB;QACtE,IACEA,eAAeC,OAAO,KAAK,KAC3B,OAAOD,eAAeP,MAAM,EAAES,KAAKC,UAAU,YAC7CH,eAAeP,MAAM,EAAES,KAAKC,OAAOC,IACnC;YACAJ,eAAeP,MAAM,CAACS,GAAG,CAACC,KAAK,GAAGH,eAAeP,MAAM,CAACS,GAAG,CAACC,KAAK,CAACC,EAAE;YACpEJ,eAAeC,OAAO,GAAG;QAC3B;QAEA,MAAMT,OAAOa,oBAAoB;YAAEZ,QAAQO,eAAeP,MAAM;QAAC;QAEjED,KAAKc,SAAS,CAACN,eAAeO,MAAM;QACpCf,KAAKgB,SAAS,CAACR,eAAeS,MAAM;QACpCjB,KAAKkB,YAAY,CAACV,eAAeW,SAAS;QAC1C,OAAOnB;IACT;IAEAoB,aAAqC;QACnC,OAAO;YACL,GAAG,KAAK,CAACA,YAAY;YACrBC,MAAM;YACNZ,SAAS;QACX;IACF;IAEAa,eAAeC,SAAyB,EAAEC,mBAAmB,IAAI,EAAsB;QACrF,MAAMC,UAAU,IAAI,CAACC,gBAAgB,GAAGJ,cAAc,CAACC,WAAWC;QAClE,IAAI5B,eAAe6B,UAAU;YAC3B,MAAME,WAAWd,oBAAoB;gBAAEZ,QAAQ,IAAI,CAACC,QAAQ;YAAC;YAC7DuB,QAAQG,MAAM,CAACD;YACf,OAAOA;QACT;QACA,OAAO;IACT;AACF;AAEA,OAAO,SAASd,oBAAoB,EAAEZ,MAAM,EAA0B;IACpE,OAAON,sBAAsB,IAAIG,aAAa;QAAEG;IAAO;AACzD;AACA,OAAO,SAAS4B,gBAAgB7B,IAAoC;IAClE,OAAOA,gBAAgBF;AACzB"}
1
+ {"version":3,"sources":["../../../../../src/field/features/link/nodes/AutoLinkNode.ts"],"sourcesContent":["import type { ElementNode, LexicalNode, RangeSelection } from 'lexical'\n\nimport { $applyNodeReplacement, $isElementNode } from 'lexical'\n\nimport type { LinkFields, SerializedAutoLinkNode } from './types.js'\n\nimport { LinkNode } from './LinkNode.js'\n\n// Custom node type to override `canInsertTextAfter` that will\n// allow typing within the link\n\nexport class AutoLinkNode extends LinkNode {\n static clone(node: AutoLinkNode): AutoLinkNode {\n return new AutoLinkNode({ id: undefined, fields: node.__fields, key: node.__key })\n }\n\n static getType(): string {\n return 'autolink'\n }\n\n static importDOM(): null {\n // TODO: Should link node should handle the import over autolink?\n return null\n }\n\n static importJSON(serializedNode: SerializedAutoLinkNode): AutoLinkNode {\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 const node = $createAutoLinkNode({ 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 exportJSON(): SerializedAutoLinkNode {\n return {\n ...super.exportJSON(),\n type: 'autolink',\n version: 2,\n }\n }\n\n insertNewAfter(selection: RangeSelection, restoreSelection = true): ElementNode | null {\n const element = this.getParentOrThrow().insertNewAfter(selection, restoreSelection)\n if ($isElementNode(element)) {\n const linkNode = $createAutoLinkNode({ fields: this.__fields })\n element.append(linkNode)\n return linkNode\n }\n return null\n }\n}\n\nexport function $createAutoLinkNode({ fields }: { fields: LinkFields }): AutoLinkNode {\n return $applyNodeReplacement(new AutoLinkNode({ id: undefined, fields }))\n}\nexport function $isAutoLinkNode(node: LexicalNode | null | undefined): node is AutoLinkNode {\n return node instanceof AutoLinkNode\n}\n"],"names":["$applyNodeReplacement","$isElementNode","LinkNode","AutoLinkNode","clone","node","id","undefined","fields","__fields","key","__key","getType","importDOM","importJSON","serializedNode","version","doc","value","$createAutoLinkNode","setFormat","format","setIndent","indent","setDirection","direction","exportJSON","type","insertNewAfter","selection","restoreSelection","element","getParentOrThrow","linkNode","append","$isAutoLinkNode"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,qBAAqB,EAAEC,cAAc,QAAQ,UAAS;AAI/D,SAASC,QAAQ,QAAQ,gBAAe;AAExC,8DAA8D;AAC9D,+BAA+B;AAE/B,OAAO,MAAMC,qBAAqBD;IAChC,OAAOE,MAAMC,IAAkB,EAAgB;QAC7C,OAAO,IAAIF,aAAa;YAAEG,IAAIC;YAAWC,QAAQH,KAAKI,QAAQ;YAAEC,KAAKL,KAAKM,KAAK;QAAC;IAClF;IAEA,OAAOC,UAAkB;QACvB,OAAO;IACT;IAEA,OAAOC,YAAkB;QACvB,iEAAiE;QACjE,OAAO;IACT;IAEA,OAAOC,WAAWC,cAAsC,EAAgB;QACtE,IACEA,eAAeC,OAAO,KAAK,KAC3B,OAAOD,eAAeP,MAAM,EAAES,KAAKC,UAAU,YAC7CH,eAAeP,MAAM,EAAES,KAAKC,OAAOZ,IACnC;YACAS,eAAeP,MAAM,CAACS,GAAG,CAACC,KAAK,GAAGH,eAAeP,MAAM,CAACS,GAAG,CAACC,KAAK,CAACZ,EAAE;YACpES,eAAeC,OAAO,GAAG;QAC3B;QAEA,MAAMX,OAAOc,oBAAoB;YAAEX,QAAQO,eAAeP,MAAM;QAAC;QAEjEH,KAAKe,SAAS,CAACL,eAAeM,MAAM;QACpChB,KAAKiB,SAAS,CAACP,eAAeQ,MAAM;QACpClB,KAAKmB,YAAY,CAACT,eAAeU,SAAS;QAC1C,OAAOpB;IACT;IAEAqB,aAAqC;QACnC,OAAO;YACL,GAAG,KAAK,CAACA,YAAY;YACrBC,MAAM;YACNX,SAAS;QACX;IACF;IAEAY,eAAeC,SAAyB,EAAEC,mBAAmB,IAAI,EAAsB;QACrF,MAAMC,UAAU,IAAI,CAACC,gBAAgB,GAAGJ,cAAc,CAACC,WAAWC;QAClE,IAAI7B,eAAe8B,UAAU;YAC3B,MAAME,WAAWd,oBAAoB;gBAAEX,QAAQ,IAAI,CAACC,QAAQ;YAAC;YAC7DsB,QAAQG,MAAM,CAACD;YACf,OAAOA;QACT;QACA,OAAO;IACT;AACF;AAEA,OAAO,SAASd,oBAAoB,EAAEX,MAAM,EAA0B;IACpE,OAAOR,sBAAsB,IAAIG,aAAa;QAAEG,IAAIC;QAAWC;IAAO;AACxE;AACA,OAAO,SAAS2B,gBAAgB9B,IAAoC;IAClE,OAAOA,gBAAgBF;AACzB"}
@@ -1,14 +1,14 @@
1
- import type { BaseSelection } from 'lexical';
2
- import lexicalImport from 'lexical';
3
- declare const ElementNode: typeof lexicalImport.ElementNode;
4
- import type { DOMConversionMap, EditorConfig, ElementNode as ElementNodeType, LexicalCommand, LexicalNode, NodeKey, RangeSelection } from 'lexical';
1
+ import type { BaseSelection, DOMConversionMap, EditorConfig, ElementNode as ElementNodeType, LexicalCommand, LexicalNode, NodeKey, RangeSelection } from 'lexical';
2
+ import { ElementNode } from 'lexical';
5
3
  import type { LinkPayload } from '../plugins/floatingLinkEditor/types.js';
6
4
  import type { LinkFields, SerializedLinkNode } from './types.js';
7
5
  /** @noInheritDoc */
8
6
  export declare class LinkNode extends ElementNode {
9
7
  __fields: LinkFields;
10
- constructor({ fields, key, }: {
8
+ __id: string;
9
+ constructor({ id, fields, key, }: {
11
10
  fields: LinkFields;
11
+ id: string;
12
12
  key?: NodeKey;
13
13
  });
14
14
  static clone(node: LinkNode): LinkNode;
@@ -22,17 +22,18 @@ export declare class LinkNode extends ElementNode {
22
22
  exportJSON(): SerializedLinkNode;
23
23
  extractWithChild(child: LexicalNode, selection: BaseSelection, destination: 'clone' | 'html'): boolean;
24
24
  getFields(): LinkFields;
25
+ getID(): string;
25
26
  insertNewAfter(selection: RangeSelection, restoreSelection?: boolean): ElementNodeType | null;
26
27
  isInline(): true;
27
28
  sanitizeUrl(url: string): string;
28
29
  setFields(fields: LinkFields): void;
29
30
  updateDOM(prevNode: LinkNode, anchor: HTMLAnchorElement, config: EditorConfig): boolean;
30
31
  }
31
- export declare function $createLinkNode({ fields }: {
32
+ export declare function $createLinkNode({ id, fields }: {
32
33
  fields: LinkFields;
34
+ id?: string;
33
35
  }): LinkNode;
34
36
  export declare function $isLinkNode(node: LexicalNode | null | undefined): node is LinkNode;
35
37
  export declare const TOGGLE_LINK_COMMAND: LexicalCommand<LinkPayload | null>;
36
- export declare function toggleLink(payload: LinkPayload): void;
37
- export {};
38
+ export declare function $toggleLink(payload: LinkPayload): void;
38
39
  //# sourceMappingURL=LinkNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/link/nodes/LinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAK5C,OAAO,aAAa,MAAM,SAAS,CAAA;AACnC,QAAA,MAME,WAAW,kCAEI,CAAA;AAEjB,OAAO,KAAK,EACV,gBAAgB,EAEhB,YAAY,EACZ,WAAW,IAAI,eAAe,EAC9B,cAAc,EACd,WAAW,EACX,OAAO,EACP,cAAc,EACf,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;gBAER,EACV,MAKC,EACD,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,UAAU,CAAA;QAClB,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAOtC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;IAS3C,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,kBAAkB,GAAG,QAAQ;IAmB/D,UAAU,IAAI,KAAK;IAInB,kBAAkB,IAAI,KAAK;IAI3B,mBAAmB,IAAI,KAAK;IAI5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB;IAiBlD,UAAU,IAAI,kBAAkB;IAShC,gBAAgB,CACd,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,OAAO,GAAG,MAAM,GAC5B,OAAO;IAeV,SAAS,IAAI,UAAU;IAIvB,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;AAoBD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,QAAQ,CAE5E;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,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA6GrD"}
1
+ {"version":3,"file":"LinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/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,7 +1,6 @@
1
- import lexicalUtilsImport from '@lexical/utils';
2
- const { addClassNamesToElement, isHTMLAnchorElement } = lexicalUtilsImport;
3
- import lexicalImport from 'lexical';
4
- const { $applyNodeReplacement, $createTextNode, $getSelection, $isElementNode, $isRangeSelection, ElementNode, createCommand } = lexicalImport;
1
+ import { addClassNamesToElement, isHTMLAnchorElement } from '@lexical/utils';
2
+ import ObjectID from 'bson-objectid';
3
+ import { $applyNodeReplacement, $createTextNode, $getSelection, $isElementNode, $isRangeSelection, ElementNode, createCommand } from 'lexical';
5
4
  const SUPPORTED_URL_PROTOCOLS = new Set([
6
5
  'http:',
7
6
  'https:',
@@ -11,7 +10,8 @@ const SUPPORTED_URL_PROTOCOLS = new Set([
11
10
  ]);
12
11
  /** @noInheritDoc */ export class LinkNode extends ElementNode {
13
12
  __fields;
14
- constructor({ fields = {
13
+ __id;
14
+ constructor({ id, fields = {
15
15
  doc: null,
16
16
  linkType: 'custom',
17
17
  newTab: false,
@@ -19,9 +19,11 @@ const SUPPORTED_URL_PROTOCOLS = new Set([
19
19
  }, key }){
20
20
  super(key);
21
21
  this.__fields = fields;
22
+ this.__id = id;
22
23
  }
23
24
  static clone(node) {
24
25
  return new LinkNode({
26
+ id: node.__id,
25
27
  fields: node.__fields,
26
28
  key: node.__key
27
29
  });
@@ -32,7 +34,7 @@ const SUPPORTED_URL_PROTOCOLS = new Set([
32
34
  static importDOM() {
33
35
  return {
34
36
  a: (node)=>({
35
- conversion: convertAnchorElement,
37
+ conversion: $convertAnchorElement,
36
38
  priority: 1
37
39
  })
38
40
  };
@@ -42,7 +44,12 @@ const SUPPORTED_URL_PROTOCOLS = new Set([
42
44
  serializedNode.fields.doc.value = serializedNode.fields.doc.value.id;
43
45
  serializedNode.version = 2;
44
46
  }
47
+ if (serializedNode.version === 2 && !serializedNode.id) {
48
+ serializedNode.id = new ObjectID.default().toHexString();
49
+ serializedNode.version = 3;
50
+ }
45
51
  const node = $createLinkNode({
52
+ id: serializedNode.id,
46
53
  fields: serializedNode.fields
47
54
  });
48
55
  node.setFormat(serializedNode.format);
@@ -74,12 +81,17 @@ const SUPPORTED_URL_PROTOCOLS = new Set([
74
81
  return element;
75
82
  }
76
83
  exportJSON() {
77
- return {
84
+ const returnObject = {
78
85
  ...super.exportJSON(),
79
86
  type: this.getType(),
80
87
  fields: this.getFields(),
81
- version: 2
88
+ version: 3
82
89
  };
90
+ const id = this.getID();
91
+ if (id) {
92
+ returnObject.id = id;
93
+ }
94
+ return returnObject;
83
95
  }
84
96
  extractWithChild(child, selection, destination) {
85
97
  if (!$isRangeSelection(selection)) {
@@ -92,6 +104,9 @@ const SUPPORTED_URL_PROTOCOLS = new Set([
92
104
  getFields() {
93
105
  return this.getLatest().__fields;
94
106
  }
107
+ getID() {
108
+ return this.getLatest().__id;
109
+ }
95
110
  insertNewAfter(selection, restoreSelection = true) {
96
111
  const element = this.getParentOrThrow().insertNewAfter(selection, restoreSelection);
97
112
  if ($isElementNode(element)) {
@@ -150,12 +165,13 @@ const SUPPORTED_URL_PROTOCOLS = new Set([
150
165
  return false;
151
166
  }
152
167
  }
153
- function convertAnchorElement(domNode) {
168
+ function $convertAnchorElement(domNode) {
154
169
  let node = null;
155
170
  if (isHTMLAnchorElement(domNode)) {
156
171
  const content = domNode.textContent;
157
172
  if (content !== null && content !== '') {
158
173
  node = $createLinkNode({
174
+ id: new ObjectID.default().toHexString(),
159
175
  fields: {
160
176
  doc: null,
161
177
  linkType: 'custom',
@@ -169,8 +185,9 @@ function convertAnchorElement(domNode) {
169
185
  node
170
186
  };
171
187
  }
172
- export function $createLinkNode({ fields }) {
188
+ export function $createLinkNode({ id, fields }) {
173
189
  return $applyNodeReplacement(new LinkNode({
190
+ id: id ?? new ObjectID.default().toHexString(),
174
191
  fields
175
192
  }));
176
193
  }
@@ -178,7 +195,7 @@ export function $isLinkNode(node) {
178
195
  return node instanceof LinkNode;
179
196
  }
180
197
  export const TOGGLE_LINK_COMMAND = createCommand('TOGGLE_LINK_COMMAND');
181
- export function toggleLink(payload) {
198
+ export function $toggleLink(payload) {
182
199
  const selection = $getSelection();
183
200
  if (!$isRangeSelection(selection) && !payload.selectedNodes.length) {
184
201
  return;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/field/features/link/nodes/LinkNode.ts"],"sourcesContent":["import type { BaseSelection } from 'lexical'\n\nimport lexicalUtilsImport from '@lexical/utils'\nconst { addClassNamesToElement, isHTMLAnchorElement } = lexicalUtilsImport\n\nimport lexicalImport from 'lexical'\nconst {\n $applyNodeReplacement,\n $createTextNode,\n $getSelection,\n $isElementNode,\n $isRangeSelection,\n ElementNode,\n createCommand,\n} = lexicalImport\n\nimport type {\n DOMConversionMap,\n DOMConversionOutput,\n EditorConfig,\n ElementNode as ElementNodeType,\n LexicalCommand,\n LexicalNode,\n NodeKey,\n RangeSelection,\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\n constructor({\n fields = {\n doc: null,\n linkType: 'custom',\n newTab: false,\n url: undefined,\n },\n key,\n }: {\n fields: LinkFields\n key?: NodeKey\n }) {\n super(key)\n this.__fields = fields\n }\n\n static clone(node: LinkNode): LinkNode {\n return new LinkNode({\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 const node = $createLinkNode({\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 return {\n ...super.exportJSON(),\n type: this.getType(),\n fields: this.getFields(),\n version: 2,\n }\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 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 // eslint-disable-next-line no-script-url\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 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({ fields }: { fields: LinkFields }): LinkNode {\n return $applyNodeReplacement(new LinkNode({ fields }))\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":["lexicalUtilsImport","addClassNamesToElement","isHTMLAnchorElement","lexicalImport","$applyNodeReplacement","$createTextNode","$getSelection","$isElementNode","$isRangeSelection","ElementNode","createCommand","SUPPORTED_URL_PROTOCOLS","Set","LinkNode","__fields","constructor","fields","doc","linkType","newTab","url","undefined","key","clone","node","__key","getType","importDOM","a","conversion","convertAnchorElement","priority","importJSON","serializedNode","version","value","id","$createLinkNode","setFormat","format","setIndent","indent","setDirection","direction","canBeEmpty","canInsertTextAfter","canInsertTextBefore","createDOM","config","element","document","createElement","href","sanitizeUrl","target","rel","manageRel","theme","link","exportJSON","type","getFields","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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,wBAAwB,iBAAgB;AAC/C,MAAM,EAAEC,sBAAsB,EAAEC,mBAAmB,EAAE,GAAGF;AAExD,OAAOG,mBAAmB,UAAS;AACnC,MAAM,EACJC,qBAAqB,EACrBC,eAAe,EACfC,aAAa,EACbC,cAAc,EACdC,iBAAiB,EACjBC,WAAW,EACXC,aAAa,EACd,GAAGP;AAgBJ,MAAMQ,0BAA0B,IAAIC,IAAI;IAAC;IAAS;IAAU;IAAW;IAAQ;CAAO;AAEtF,kBAAkB,GAClB,OAAO,MAAMC,iBAAiBJ;IAC5BK,SAAoB;IAEpBC,YAAY,EACVC,SAAS;QACPC,KAAK;QACLC,UAAU;QACVC,QAAQ;QACRC,KAAKC;IACP,CAAC,EACDC,GAAG,EAIJ,CAAE;QACD,KAAK,CAACA;QACN,IAAI,CAACR,QAAQ,GAAGE;IAClB;IAEA,OAAOO,MAAMC,IAAc,EAAY;QACrC,OAAO,IAAIX,SAAS;YAClBG,QAAQQ,KAAKV,QAAQ;YACrBQ,KAAKE,KAAKC,KAAK;QACjB;IACF;IAEA,OAAOC,UAAkB;QACvB,OAAO;IACT;IAEA,OAAOC,YAAqC;QAC1C,OAAO;YACLC,GAAG,CAACJ,OAAgB,CAAA;oBAClBK,YAAYC;oBACZC,UAAU;gBACZ,CAAA;QACF;IACF;IAEA,OAAOC,WAAWC,cAAkC,EAAY;QAC9D,IACEA,eAAeC,OAAO,KAAK,KAC3B,OAAOD,eAAejB,MAAM,EAAEC,KAAKkB,UAAU,YAC7CF,eAAejB,MAAM,EAAEC,KAAKkB,OAAOC,IACnC;YACAH,eAAejB,MAAM,CAACC,GAAG,CAACkB,KAAK,GAAGF,eAAejB,MAAM,CAACC,GAAG,CAACkB,KAAK,CAACC,EAAE;YACpEH,eAAeC,OAAO,GAAG;QAC3B;QAEA,MAAMV,OAAOa,gBAAgB;YAC3BrB,QAAQiB,eAAejB,MAAM;QAC/B;QACAQ,KAAKc,SAAS,CAACL,eAAeM,MAAM;QACpCf,KAAKgB,SAAS,CAACP,eAAeQ,MAAM;QACpCjB,KAAKkB,YAAY,CAACT,eAAeU,SAAS;QAC1C,OAAOnB;IACT;IAEAoB,aAAoB;QAClB,OAAO;IACT;IAEAC,qBAA4B;QAC1B,OAAO;IACT;IAEAC,sBAA6B;QAC3B,OAAO;IACT;IAEAC,UAAUC,MAAoB,EAAqB;QACjD,MAAMC,UAAUC,SAASC,aAAa,CAAC;QACvC,IAAI,IAAI,CAACrC,QAAQ,EAAEI,aAAa,UAAU;YACxC+B,QAAQG,IAAI,GAAG,IAAI,CAACC,WAAW,CAAC,IAAI,CAACvC,QAAQ,CAACM,GAAG,IAAI;QACvD;QACA,IAAI,IAAI,CAACN,QAAQ,EAAEK,UAAU,OAAO;YAClC8B,QAAQK,MAAM,GAAG;QACnB;QAEA,IAAI,IAAI,CAACxC,QAAQ,EAAEK,WAAW,QAAQ,IAAI,CAACL,QAAQ,EAAEI,aAAa,UAAU;YAC1E+B,QAAQM,GAAG,GAAGC,UAAUP,QAAQM,GAAG,EAAE,OAAO;QAC9C;QAEAtD,uBAAuBgD,SAASD,OAAOS,KAAK,CAACC,IAAI;QACjD,OAAOT;IACT;IAEAU,aAAiC;QAC/B,OAAO;YACL,GAAG,KAAK,CAACA,YAAY;YACrBC,MAAM,IAAI,CAAClC,OAAO;YAClBV,QAAQ,IAAI,CAAC6C,SAAS;YACtB3B,SAAS;QACX;IACF;IAEA4B,iBACEC,KAAkB,EAClBC,SAAwB,EACxBC,WAA6B,EACpB;QACT,IAAI,CAACzD,kBAAkBwD,YAAY;YACjC,OAAO;QACT;QAEA,MAAME,aAAaF,UAAUG,MAAM,CAACC,OAAO;QAC3C,MAAMC,YAAYL,UAAUM,KAAK,CAACF,OAAO;QAEzC,OACE,IAAI,CAACG,UAAU,CAACL,eAChB,IAAI,CAACK,UAAU,CAACF,cAChBL,UAAUQ,cAAc,GAAGC,MAAM,GAAG;IAExC;IAEAZ,YAAwB;QACtB,OAAO,IAAI,CAACa,SAAS,GAAG5D,QAAQ;IAClC;IAEA6D,eAAeX,SAAyB,EAAEY,mBAAmB,IAAI,EAA0B;QACzF,MAAM3B,UAAU,IAAI,CAAC4B,gBAAgB,GAAGF,cAAc,CAACX,WAAWY;QAClE,IAAIrE,eAAe0C,UAAU;YAC3B,MAAM6B,WAAWzC,gBAAgB;gBAAErB,QAAQ,IAAI,CAACF,QAAQ;YAAC;YACzDmC,QAAQ8B,MAAM,CAACD;YACf,OAAOA;QACT;QACA,OAAO;IACT;IAEAE,WAAiB;QACf,OAAO;IACT;IAEA3B,YAAYjC,GAAW,EAAU;QAC/B,IAAI;YACF,MAAM6D,YAAY,IAAIC,IAAI9D;YAC1B,yCAAyC;YACzC,IAAI,CAACT,wBAAwBwE,GAAG,CAACF,UAAUG,QAAQ,GAAG;gBACpD,OAAO;YACT;QACF,EAAE,OAAOC,GAAG;YACV,OAAO;QACT;QACA,OAAOjE;IACT;IAEAkE,UAAUtE,MAAkB,EAAQ;QAClC,MAAMuE,WAAW,IAAI,CAACC,WAAW;QACjCD,SAASzE,QAAQ,GAAGE;IACtB;IAEAyE,UAAUC,QAAkB,EAAEvB,MAAyB,EAAEnB,MAAoB,EAAW;QACtF,MAAM5B,MAAM,IAAI,CAACN,QAAQ,EAAEM;QAC3B,MAAMD,SAAS,IAAI,CAACL,QAAQ,EAAEK;QAC9B,IAAIC,OAAO,QAAQA,QAAQsE,SAAS5E,QAAQ,EAAEM,OAAO,IAAI,CAACN,QAAQ,EAAEI,aAAa,UAAU;YACzFiD,OAAOf,IAAI,GAAGhC;QAChB;QACA,IAAI,IAAI,CAACN,QAAQ,EAAEI,aAAa,cAAcwE,SAAS5E,QAAQ,EAAEI,aAAa,UAAU;YACtFiD,OAAOwB,eAAe,CAAC;QACzB;QAEA,4DAA4D;QAC5D,iDAAiD;QACjD,IAAIxB,OAAOZ,GAAG,IAAI,MAAM;YACtBY,OAAOZ,GAAG,GAAG;QACf;QAEA,IAAIpC,WAAWuE,SAAS5E,QAAQ,EAAEK,QAAQ;YACxC,IAAIA,UAAU,OAAO;gBACnBgD,OAAOb,MAAM,GAAG;gBAChB,IAAI,IAAI,CAACxC,QAAQ,EAAEI,aAAa,UAAU;oBACxCiD,OAAOZ,GAAG,GAAGC,UAAUW,OAAOZ,GAAG,EAAE,OAAO;gBAC5C;YACF,OAAO;gBACLY,OAAOwB,eAAe,CAAC;gBACvBxB,OAAOZ,GAAG,GAAGC,UAAUW,OAAOZ,GAAG,EAAE,UAAU;YAC/C;QACF;QAEA,OAAO;IACT;AACF;AAEA,SAASzB,qBAAqB8D,OAAa;IACzC,IAAIpE,OAAwB;IAC5B,IAAItB,oBAAoB0F,UAAU;QAChC,MAAMC,UAAUD,QAAQE,WAAW;QACnC,IAAID,YAAY,QAAQA,YAAY,IAAI;YACtCrE,OAAOa,gBAAgB;gBACrBrB,QAAQ;oBACNC,KAAK;oBACLC,UAAU;oBACVC,QAAQyE,QAAQG,YAAY,CAAC,cAAc;oBAC3C3E,KAAKwE,QAAQG,YAAY,CAAC,WAAW;gBACvC;YACF;QACF;IACF;IACA,OAAO;QAAEvE;IAAK;AAChB;AAEA,OAAO,SAASa,gBAAgB,EAAErB,MAAM,EAA0B;IAChE,OAAOZ,sBAAsB,IAAIS,SAAS;QAAEG;IAAO;AACrD;AAEA,OAAO,SAASgF,YAAYxE,IAAoC;IAC9D,OAAOA,gBAAgBX;AACzB;AAEA,OAAO,MAAMoF,sBACXvF,cAAc,uBAAsB;AAEtC,OAAO,SAASwF,WAAWC,OAAoB;IAC7C,MAAMnC,YAAY1D;IAElB,IAAI,CAACE,kBAAkBwD,cAAc,CAACmC,QAAQC,aAAa,CAAC3B,MAAM,EAAE;QAClE;IACF;IACA,MAAM4B,QAAQ7F,kBAAkBwD,aAAaA,UAAUsC,OAAO,KAAKH,QAAQC,aAAa;IAExF,IAAID,YAAY,MAAM;QACpB,mBAAmB;QACnBE,MAAME,OAAO,CAAC,CAAC/E;YACb,MAAMgF,SAAShF,KAAKiF,SAAS;YAE7B,IAAIT,YAAYQ,SAAS;gBACvB,MAAME,WAAWF,OAAOG,WAAW;gBAEnC,IAAK,IAAIC,IAAI,GAAGA,IAAIF,SAASjC,MAAM,EAAEmC,KAAK,EAAG;oBAC3CJ,OAAOK,YAAY,CAACH,QAAQ,CAACE,EAAE;gBACjC;gBAEAJ,OAAOM,MAAM;YACf;QACF;IACF,OAAO;QACL,yBAAyB;QACzB,IAAIT,MAAM5B,MAAM,KAAK,GAAG;YACtB,MAAMsC,YAAYV,KAAK,CAAC,EAAE;YAC1B,4CAA4C;YAC5C,2DAA2D;YAC3D,MAAMvB,WAA4BkB,YAAYe,aAC1CA,YACAC,iBAAiBD;YACrB,IAAIjC,aAAa,MAAM;gBACrBA,SAASQ,SAAS,CAACa,QAAQnF,MAAM;gBAEjC,IAAImF,QAAQc,IAAI,IAAI,QAAQd,QAAQc,IAAI,KAAKnC,SAASN,cAAc,IAAI;oBACtE,0DAA0D;oBAC1DM,SAASC,MAAM,CAAC1E,gBAAgB8F,QAAQc,IAAI;oBAC5CnC,SAAS6B,WAAW,GAAGJ,OAAO,CAAC,CAACxC;wBAC9B,IAAIA,UAAUe,SAASoC,YAAY,IAAI;4BACrCnD,MAAM+C,MAAM;wBACd;oBACF;gBACF;gBACA;YACF;QACF;QAEA,IAAIK,aAAgD;QACpD,IAAIrC,WAA4B;QAEhCuB,MAAME,OAAO,CAAC,CAAC/E;YACb,MAAMgF,SAAShF,KAAKiF,SAAS;YAE7B,IAAID,WAAW1B,YAAY0B,WAAW,QAASjG,eAAeiB,SAAS,CAACA,KAAKwD,QAAQ,IAAK;gBACxF;YACF;YAEA,IAAIgB,YAAYQ,SAAS;gBACvB1B,WAAW0B;gBACXA,OAAOlB,SAAS,CAACa,QAAQnF,MAAM;gBAC/B,IAAImF,QAAQc,IAAI,IAAI,QAAQd,QAAQc,IAAI,KAAKT,OAAOhC,cAAc,IAAI;oBACpE,0DAA0D;oBAC1DgC,OAAOzB,MAAM,CAAC1E,gBAAgB8F,QAAQc,IAAI;oBAC1CT,OAAOG,WAAW,GAAGJ,OAAO,CAAC,CAACxC;wBAC5B,IAAIA,UAAUyC,OAAOU,YAAY,IAAI;4BACnCnD,MAAM+C,MAAM;wBACd;oBACF;gBACF;gBACA;YACF;YAEA,IAAI,CAACN,OAAOY,EAAE,CAACD,aAAa;gBAC1BA,aAAaX;gBACb1B,WAAWzC,gBAAgB;oBAAErB,QAAQmF,QAAQnF,MAAM;gBAAC;gBAEpD,IAAIgF,YAAYQ,SAAS;oBACvB,IAAIhF,KAAK6F,kBAAkB,OAAO,MAAM;wBACtCb,OAAOK,YAAY,CAAC/B;oBACtB,OAAO;wBACL0B,OAAOc,WAAW,CAACxC;oBACrB;gBACF,OAAO;oBACLtD,KAAKqF,YAAY,CAAC/B;gBACpB;YACF;YAEA,IAAIkB,YAAYxE,OAAO;gBACrB,IAAIA,KAAK4F,EAAE,CAACtC,WAAW;oBACrB;gBACF;gBACA,IAAIA,aAAa,MAAM;oBACrB,MAAM4B,WAAWlF,KAAKmF,WAAW;oBAEjC,IAAK,IAAIC,IAAI,GAAGA,IAAIF,SAASjC,MAAM,EAAEmC,KAAK,EAAG;wBAC3C9B,SAASC,MAAM,CAAC2B,QAAQ,CAACE,EAAE;oBAC7B;gBACF;gBAEApF,KAAKsF,MAAM;gBACX;YACF;YAEA,IAAIhC,aAAa,MAAM;gBACrBA,SAASC,MAAM,CAACvD;YAClB;QACF;IACF;AACF;AAEA,SAASwF,iBAAiBxF,IAAiB;IACzC,OAAO+F,aAAa/F,MAAM,CAACgG,WAAaxB,YAAYwB;AACtD;AAEA,SAASD,aACP/F,IAAiB,EACjBiG,SAA6C;IAE7C,IAAIjB,SAA6BhF;IACjC,MAAOgF,WAAW,QAAQ,AAACA,CAAAA,SAASA,OAAOC,SAAS,EAAC,MAAO,QAAQ,CAACgB,UAAUjB;IAC/E,OAAOA;AACT;AAEA,SAAShD,UAAUkE,KAAa,EAAEC,MAAwB,EAAExF,KAAa;IACvE,IAAIyF;IACJ,IAAIC,eAAe,CAAC,EAAEH,MAAM,CAAC;IAC7B,IAAIC,WAAW,OAAO;QACpB,2CAA2C;QAC3C,IAAIE,aAAaC,QAAQ,CAAC3F,QAAQ;YAChC,MAAM4F,KAAK,IAAIC,OAAO7F,OAAO;YAC7B0F,eAAeA,aAAaI,OAAO,CAACF,IAAI,IAAIG,IAAI;QAClD;QACAL,eAAeA,aAAaK,IAAI;QAChCN,SAASC,aAAapD,MAAM,KAAK,IAAI,CAAC,EAAEtC,MAAM,CAAC,GAAG,CAAC,EAAE0F,aAAa,CAAC,EAAE1F,MAAM,CAAC;IAC9E,OAAO;QACL,MAAM4F,KAAK,IAAIC,OAAO7F,OAAO;QAC7ByF,SAASC,aAAaI,OAAO,CAACF,IAAI,IAAIG,IAAI;IAC5C;IACA,OAAON;AACT"}
1
+ {"version":3,"sources":["../../../../../src/field/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: this.getType(),\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 // eslint-disable-next-line no-script-url\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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -14,6 +14,7 @@ export type LinkFields = {
14
14
  };
15
15
  export type SerializedLinkNode = Spread<{
16
16
  fields: LinkFields;
17
+ id?: string;
17
18
  }, SerializedElementNode>;
18
- export type SerializedAutoLinkNode = SerializedLinkNode;
19
+ export type SerializedAutoLinkNode = Omit<SerializedLinkNode, 'id'>;
19
20
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/link/nodes/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAE5D,MAAM,MAAM,UAAU,GAAG;IAEvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,GAAG,EAAE;QACH,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EACD;YAEE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;YACtB,EAAE,EAAE,MAAM,CAAA;SACX,GACD,MAAM,CAAA;KACX,GAAG,IAAI,CAAA;IACR,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC/B,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACrC;IACE,MAAM,EAAE,UAAU,CAAA;CACnB,EACD,qBAAqB,CACtB,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/link/nodes/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAE5D,MAAM,MAAM,UAAU,GAAG;IAEvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,GAAG,EAAE;QACH,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EACD;YAEE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;YACtB,EAAE,EAAE,MAAM,CAAA;SACX,GACD,MAAM,CAAA;KACX,GAAG,IAAI,CAAA;IACR,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC/B,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACrC;IACE,MAAM,EAAE,UAAU,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,EACD,qBAAqB,CACtB,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/field/features/link/nodes/types.ts"],"sourcesContent":["import type { SerializedElementNode, Spread } from 'lexical'\n\nexport type LinkFields = {\n // unknown, custom fields:\n [key: string]: unknown\n doc: {\n relationTo: string\n value:\n | {\n // Actual doc data, populated in afterRead hook\n [key: string]: unknown\n id: string\n }\n | string\n } | null\n linkType: 'custom' | 'internal'\n newTab: boolean\n url: string\n}\n\nexport type SerializedLinkNode = Spread<\n {\n fields: LinkFields\n },\n SerializedElementNode\n>\nexport type SerializedAutoLinkNode = SerializedLinkNode\n"],"names":[],"rangeMappings":"","mappings":"AA0BA,WAAuD"}
1
+ {"version":3,"sources":["../../../../../src/field/features/link/nodes/types.ts"],"sourcesContent":["import type { SerializedElementNode, Spread } from 'lexical'\n\nexport type LinkFields = {\n // unknown, custom fields:\n [key: string]: unknown\n doc: {\n relationTo: string\n value:\n | {\n // Actual doc data, populated in afterRead hook\n [key: string]: unknown\n id: string\n }\n | string\n } | null\n linkType: 'custom' | 'internal'\n newTab: boolean\n url: string\n}\n\nexport type SerializedLinkNode = Spread<\n {\n fields: LinkFields\n id?: string // optional if AutoLinkNode\n },\n SerializedElementNode\n>\nexport type SerializedAutoLinkNode = Omit<SerializedLinkNode, 'id'>\n"],"names":[],"rangeMappings":"","mappings":"AA2BA,WAAmE"}
@@ -1,4 +1,5 @@
1
- /// <reference types="react" resolution-mode="require"/>
1
+ import type { PluginComponent } from '../../../types.js';
2
+ import type { ClientProps } from '../../feature.client.js';
2
3
  import type { LinkFields } from '../../nodes/types.js';
3
4
  interface LinkMatcherResult {
4
5
  fields?: LinkFields;
@@ -14,6 +15,6 @@ export declare function createLinkMatcherWithRegExp(regExp: RegExp, urlTransform
14
15
  text: string;
15
16
  url: string;
16
17
  };
17
- export declare function AutoLinkPlugin(): JSX.Element | null;
18
+ export declare const AutoLinkPlugin: PluginComponent<ClientProps>;
18
19
  export {};
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/features/link/plugins/autoLink/index.tsx"],"names":[],"mappings":";AAwBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAQtD,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAI,CAAA;AAEpE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAuB,UAE3C,MAAM;;;;;EAUrB;AA4XD,wBAAgB,cAAc,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAMnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/features/link/plugins/autoLink/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAQtD,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAI,CAAA;AAEpE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAuB,UAE3C,MAAM;;;;;EAUrB;AA8XD,eAAO,MAAM,cAAc,EAAE,eAAe,CAAC,WAAW,CAMvD,CAAA"}
@@ -1,10 +1,7 @@
1
1
  'use client';
2
- import lexicalComposerContextImport from '@lexical/react/LexicalComposerContext.js';
3
- const { useLexicalComposerContext } = lexicalComposerContextImport;
4
- import lexicalUtilsImport from '@lexical/utils';
5
- const { mergeRegister } = lexicalUtilsImport;
6
- import lexicalImport from 'lexical';
7
- const { $createTextNode, $getSelection, $isElementNode, $isLineBreakNode, $isNodeSelection, $isRangeSelection, $isTextNode, TextNode: TextNodeValue } = lexicalImport;
2
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
3
+ import { mergeRegister } from '@lexical/utils';
4
+ import { $createTextNode, $getSelection, $isElementNode, $isLineBreakNode, $isNodeSelection, $isRangeSelection, $isTextNode, TextNode as TextNodeValue } from 'lexical';
8
5
  import { useEffect } from 'react';
9
6
  import { invariant } from '../../../../lexical/utils/invariant.js';
10
7
  import { $createAutoLinkNode, $isAutoLinkNode, AutoLinkNode } from '../../nodes/AutoLinkNode.js';
@@ -95,7 +92,7 @@ function extractMatchingNodes(nodes, startIndex, endIndex) {
95
92
  unmodifiedAfterNodes
96
93
  ];
97
94
  }
98
- function createAutoLinkNode(nodes, startIndex, endIndex, match) {
95
+ function $createAutoLinkNode_(nodes, startIndex, endIndex, match) {
99
96
  const fields = {
100
97
  linkType: 'custom',
101
98
  url: match.url,
@@ -115,6 +112,7 @@ function createAutoLinkNode(nodes, startIndex, endIndex, match) {
115
112
  const textNode = $createTextNode(match.text);
116
113
  textNode.setFormat(linkTextNode.getFormat());
117
114
  textNode.setDetail(linkTextNode.getDetail());
115
+ textNode.setStyle(linkTextNode.getStyle());
118
116
  linkNode.append(textNode);
119
117
  linkTextNode.replace(linkNode);
120
118
  return remainingTextNode;
@@ -151,6 +149,7 @@ function createAutoLinkNode(nodes, startIndex, endIndex, match) {
151
149
  const textNode = $createTextNode(firstLinkTextNode.getTextContent());
152
150
  textNode.setFormat(firstLinkTextNode.getFormat());
153
151
  textNode.setDetail(firstLinkTextNode.getDetail());
152
+ textNode.setStyle(firstLinkTextNode.getStyle());
154
153
  linkNode.append(textNode, ...linkNodes);
155
154
  // it does not preserve caret position if caret was at the first text node
156
155
  // so we need to restore caret position
@@ -166,7 +165,7 @@ function createAutoLinkNode(nodes, startIndex, endIndex, match) {
166
165
  }
167
166
  return undefined;
168
167
  }
169
- function handleLinkCreation(nodes, matchers, onChange) {
168
+ function $handleLinkCreation(nodes, matchers, onChange) {
170
169
  let currentNodes = [
171
170
  ...nodes
172
171
  ];
@@ -183,7 +182,7 @@ function handleLinkCreation(nodes, matchers, onChange) {
183
182
  const [matchingOffset, , matchingNodes, unmodifiedAfterNodes] = extractMatchingNodes(currentNodes, invalidMatchEnd + matchStart, invalidMatchEnd + matchEnd);
184
183
  const actualMatchStart = invalidMatchEnd + matchStart - matchingOffset;
185
184
  const actualMatchEnd = invalidMatchEnd + matchEnd - matchingOffset;
186
- const remainingTextNode = createAutoLinkNode(matchingNodes, actualMatchStart, actualMatchEnd, match);
185
+ const remainingTextNode = $createAutoLinkNode_(matchingNodes, actualMatchStart, actualMatchEnd, match);
187
186
  currentNodes = remainingTextNode ? [
188
187
  remainingTextNode,
189
188
  ...unmodifiedAfterNodes
@@ -291,7 +290,7 @@ function useAutoLink(editor, matchers, onChange) {
291
290
  } else if (!$isLinkNode(parent)) {
292
291
  if (textNode.isSimpleText() && (startsWithSeparator(textNode.getTextContent()) || !$isAutoLinkNode(previous))) {
293
292
  const textNodesToMatch = getTextNodesToMatch(textNode);
294
- handleLinkCreation(textNodesToMatch, matchers, onChangeWrapped);
293
+ $handleLinkCreation(textNodesToMatch, matchers, onChangeWrapped);
295
294
  }
296
295
  handleBadNeighbors(textNode, matchers, onChangeWrapped);
297
296
  }
@@ -312,10 +311,10 @@ const MATCHERS = [
312
311
  return `mailto:${text}`;
313
312
  })
314
313
  ];
315
- export function AutoLinkPlugin() {
314
+ export const AutoLinkPlugin = ()=>{
316
315
  const [editor] = useLexicalComposerContext();
317
316
  useAutoLink(editor, MATCHERS);
318
317
  return null;
319
- }
318
+ };
320
319
 
321
320
  //# sourceMappingURL=index.js.map