@payloadcms/richtext-lexical 3.0.0-alpha.40 → 3.0.0-alpha.42

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 (550) hide show
  1. package/components.js +1 -1
  2. package/dist/cell/index.js +1 -1
  3. package/dist/cell/index.js.map +1 -0
  4. package/dist/exports/components.js +1 -1
  5. package/dist/exports/components.js.map +1 -0
  6. package/dist/field/Field.js +1 -1
  7. package/dist/field/Field.js.map +1 -0
  8. package/dist/field/features/align/feature.client.js +1 -1
  9. package/dist/field/features/align/feature.client.js.map +1 -0
  10. package/dist/field/features/align/feature.server.js +1 -1
  11. package/dist/field/features/align/feature.server.js.map +1 -0
  12. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +1 -1
  13. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js.map +1 -0
  14. package/dist/field/features/blockquote/feature.client.js +1 -1
  15. package/dist/field/features/blockquote/feature.client.js.map +1 -0
  16. package/dist/field/features/blockquote/feature.server.js +1 -1
  17. package/dist/field/features/blockquote/feature.server.js.map +1 -0
  18. package/dist/field/features/blockquote/markdownTransformer.js +1 -1
  19. package/dist/field/features/blockquote/markdownTransformer.js.map +1 -0
  20. package/dist/field/features/blocks/component/BlockContent.js +1 -1
  21. package/dist/field/features/blocks/component/BlockContent.js.map +1 -0
  22. package/dist/field/features/blocks/component/FormSavePlugin.js +1 -1
  23. package/dist/field/features/blocks/component/FormSavePlugin.js.map +1 -0
  24. package/dist/field/features/blocks/component/index.js +1 -1
  25. package/dist/field/features/blocks/component/index.js.map +1 -0
  26. package/dist/field/features/blocks/drawer/index.js +1 -1
  27. package/dist/field/features/blocks/drawer/index.js.map +1 -0
  28. package/dist/field/features/blocks/feature.client.js +1 -1
  29. package/dist/field/features/blocks/feature.client.js.map +1 -0
  30. package/dist/field/features/blocks/feature.server.js +1 -1
  31. package/dist/field/features/blocks/feature.server.js.map +1 -0
  32. package/dist/field/features/blocks/nodes/BlocksNode.js +1 -1
  33. package/dist/field/features/blocks/nodes/BlocksNode.js.map +1 -0
  34. package/dist/field/features/blocks/plugin/commands.js +1 -1
  35. package/dist/field/features/blocks/plugin/commands.js.map +1 -0
  36. package/dist/field/features/blocks/plugin/index.js +1 -1
  37. package/dist/field/features/blocks/plugin/index.js.map +1 -0
  38. package/dist/field/features/blocks/populationPromise.js +1 -1
  39. package/dist/field/features/blocks/populationPromise.js.map +1 -0
  40. package/dist/field/features/blocks/validate.js +1 -1
  41. package/dist/field/features/blocks/validate.js.map +1 -0
  42. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +1 -1
  43. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js.map +1 -0
  44. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +1 -1
  45. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js.map +1 -0
  46. package/dist/field/features/converters/html/converter/converters/linebreak.js +1 -1
  47. package/dist/field/features/converters/html/converter/converters/linebreak.js.map +1 -0
  48. package/dist/field/features/converters/html/converter/converters/paragraph.js +1 -1
  49. package/dist/field/features/converters/html/converter/converters/paragraph.js.map +1 -0
  50. package/dist/field/features/converters/html/converter/converters/text.js +1 -1
  51. package/dist/field/features/converters/html/converter/converters/text.js.map +1 -0
  52. package/dist/field/features/converters/html/converter/defaultConverters.js +1 -1
  53. package/dist/field/features/converters/html/converter/defaultConverters.js.map +1 -0
  54. package/dist/field/features/converters/html/converter/index.js +1 -1
  55. package/dist/field/features/converters/html/converter/index.js.map +1 -0
  56. package/dist/field/features/converters/html/converter/types.js +1 -1
  57. package/dist/field/features/converters/html/converter/types.js.map +1 -0
  58. package/dist/field/features/converters/html/feature.server.js +1 -1
  59. package/dist/field/features/converters/html/feature.server.js.map +1 -0
  60. package/dist/field/features/converters/html/field/index.js +1 -1
  61. package/dist/field/features/converters/html/field/index.js.map +1 -0
  62. package/dist/field/features/createClientComponent.js +1 -1
  63. package/dist/field/features/createClientComponent.js.map +1 -0
  64. package/dist/field/features/createFeaturePropComponent.js +1 -1
  65. package/dist/field/features/createFeaturePropComponent.js.map +1 -0
  66. package/dist/field/features/debug/testrecorder/feature.client.js +1 -1
  67. package/dist/field/features/debug/testrecorder/feature.client.js.map +1 -0
  68. package/dist/field/features/debug/testrecorder/feature.server.js +1 -1
  69. package/dist/field/features/debug/testrecorder/feature.server.js.map +1 -0
  70. package/dist/field/features/debug/testrecorder/plugin/index.js +1 -1
  71. package/dist/field/features/debug/testrecorder/plugin/index.js.map +1 -0
  72. package/dist/field/features/debug/treeview/feature.client.js +1 -1
  73. package/dist/field/features/debug/treeview/feature.client.js.map +1 -0
  74. package/dist/field/features/debug/treeview/feature.server.js +1 -1
  75. package/dist/field/features/debug/treeview/feature.server.js.map +1 -0
  76. package/dist/field/features/debug/treeview/plugin/index.js +1 -1
  77. package/dist/field/features/debug/treeview/plugin/index.js.map +1 -0
  78. package/dist/field/features/format/bold/feature.client.js +1 -1
  79. package/dist/field/features/format/bold/feature.client.js.map +1 -0
  80. package/dist/field/features/format/bold/feature.server.js +1 -1
  81. package/dist/field/features/format/bold/feature.server.js.map +1 -0
  82. package/dist/field/features/format/bold/markdownTransformers.js +1 -1
  83. package/dist/field/features/format/bold/markdownTransformers.js.map +1 -0
  84. package/dist/field/features/format/common/floatingSelectToolbarSection.js +1 -1
  85. package/dist/field/features/format/common/floatingSelectToolbarSection.js.map +1 -0
  86. package/dist/field/features/format/inlinecode/feature.client.js +1 -1
  87. package/dist/field/features/format/inlinecode/feature.client.js.map +1 -0
  88. package/dist/field/features/format/inlinecode/feature.server.js +1 -1
  89. package/dist/field/features/format/inlinecode/feature.server.js.map +1 -0
  90. package/dist/field/features/format/inlinecode/markdownTransformers.js +1 -1
  91. package/dist/field/features/format/inlinecode/markdownTransformers.js.map +1 -0
  92. package/dist/field/features/format/italic/feature.client.js +1 -1
  93. package/dist/field/features/format/italic/feature.client.js.map +1 -0
  94. package/dist/field/features/format/italic/feature.server.js +1 -1
  95. package/dist/field/features/format/italic/feature.server.js.map +1 -0
  96. package/dist/field/features/format/italic/markdownTransformers.js +1 -1
  97. package/dist/field/features/format/italic/markdownTransformers.js.map +1 -0
  98. package/dist/field/features/format/strikethrough/feature.client.js +1 -1
  99. package/dist/field/features/format/strikethrough/feature.client.js.map +1 -0
  100. package/dist/field/features/format/strikethrough/feature.server.js +1 -1
  101. package/dist/field/features/format/strikethrough/feature.server.js.map +1 -0
  102. package/dist/field/features/format/strikethrough/markdownTransformers.js +1 -1
  103. package/dist/field/features/format/strikethrough/markdownTransformers.js.map +1 -0
  104. package/dist/field/features/format/subscript/feature.client.js +1 -1
  105. package/dist/field/features/format/subscript/feature.client.js.map +1 -0
  106. package/dist/field/features/format/subscript/feature.server.js +1 -1
  107. package/dist/field/features/format/subscript/feature.server.js.map +1 -0
  108. package/dist/field/features/format/superscript/feature.client.js +1 -1
  109. package/dist/field/features/format/superscript/feature.client.js.map +1 -0
  110. package/dist/field/features/format/superscript/feature.server.js +1 -1
  111. package/dist/field/features/format/superscript/feature.server.js.map +1 -0
  112. package/dist/field/features/format/underline/feature.client.js +1 -1
  113. package/dist/field/features/format/underline/feature.client.js.map +1 -0
  114. package/dist/field/features/format/underline/feature.server.js +1 -1
  115. package/dist/field/features/format/underline/feature.server.js.map +1 -0
  116. package/dist/field/features/heading/feature.client.js +1 -1
  117. package/dist/field/features/heading/feature.client.js.map +1 -0
  118. package/dist/field/features/heading/feature.server.js +1 -1
  119. package/dist/field/features/heading/feature.server.js.map +1 -0
  120. package/dist/field/features/heading/markdownTransformer.js +1 -1
  121. package/dist/field/features/heading/markdownTransformer.js.map +1 -0
  122. package/dist/field/features/indent/feature.client.js +1 -1
  123. package/dist/field/features/indent/feature.client.js.map +1 -0
  124. package/dist/field/features/indent/feature.server.js +1 -1
  125. package/dist/field/features/indent/feature.server.js.map +1 -0
  126. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +1 -1
  127. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js.map +1 -0
  128. package/dist/field/features/link/drawer/baseFields.js +1 -1
  129. package/dist/field/features/link/drawer/baseFields.js.map +1 -0
  130. package/dist/field/features/link/drawer/index.js +1 -1
  131. package/dist/field/features/link/drawer/index.js.map +1 -0
  132. package/dist/field/features/link/drawer/types.js +1 -1
  133. package/dist/field/features/link/drawer/types.js.map +1 -0
  134. package/dist/field/features/link/feature.client.js +1 -1
  135. package/dist/field/features/link/feature.client.js.map +1 -0
  136. package/dist/field/features/link/feature.server.js +1 -1
  137. package/dist/field/features/link/feature.server.js.map +1 -0
  138. package/dist/field/features/link/nodes/AutoLinkNode.js +1 -1
  139. package/dist/field/features/link/nodes/AutoLinkNode.js.map +1 -0
  140. package/dist/field/features/link/nodes/LinkNode.js +1 -1
  141. package/dist/field/features/link/nodes/LinkNode.js.map +1 -0
  142. package/dist/field/features/link/nodes/types.js +1 -1
  143. package/dist/field/features/link/nodes/types.js.map +1 -0
  144. package/dist/field/features/link/plugins/autoLink/index.js +1 -1
  145. package/dist/field/features/link/plugins/autoLink/index.js.map +1 -0
  146. package/dist/field/features/link/plugins/clickableLink/index.js +1 -1
  147. package/dist/field/features/link/plugins/clickableLink/index.js.map +1 -0
  148. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js +1 -1
  149. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js.map +1 -0
  150. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +1 -1
  151. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -0
  152. package/dist/field/features/link/plugins/floatingLinkEditor/index.js +1 -1
  153. package/dist/field/features/link/plugins/floatingLinkEditor/index.js.map +1 -0
  154. package/dist/field/features/link/plugins/floatingLinkEditor/types.js +1 -1
  155. package/dist/field/features/link/plugins/floatingLinkEditor/types.js.map +1 -0
  156. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js +1 -1
  157. package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js.map +1 -0
  158. package/dist/field/features/link/plugins/link/index.js +1 -1
  159. package/dist/field/features/link/plugins/link/index.js.map +1 -0
  160. package/dist/field/features/link/populationPromise.js +1 -1
  161. package/dist/field/features/link/populationPromise.js.map +1 -0
  162. package/dist/field/features/lists/checklist/feature.client.js +1 -1
  163. package/dist/field/features/lists/checklist/feature.client.js.map +1 -0
  164. package/dist/field/features/lists/checklist/feature.server.js +1 -1
  165. package/dist/field/features/lists/checklist/feature.server.js.map +1 -0
  166. package/dist/field/features/lists/checklist/markdownTransformers.js +1 -1
  167. package/dist/field/features/lists/checklist/markdownTransformers.js.map +1 -0
  168. package/dist/field/features/lists/checklist/plugin/index.js +1 -1
  169. package/dist/field/features/lists/checklist/plugin/index.js.map +1 -0
  170. package/dist/field/features/lists/common/markdown.js +1 -1
  171. package/dist/field/features/lists/common/markdown.js.map +1 -0
  172. package/dist/field/features/lists/htmlConverter.js +1 -1
  173. package/dist/field/features/lists/htmlConverter.js.map +1 -0
  174. package/dist/field/features/lists/orderedlist/feature.client.js +1 -1
  175. package/dist/field/features/lists/orderedlist/feature.client.js.map +1 -0
  176. package/dist/field/features/lists/orderedlist/feature.server.js +1 -1
  177. package/dist/field/features/lists/orderedlist/feature.server.js.map +1 -0
  178. package/dist/field/features/lists/orderedlist/markdownTransformer.js +1 -1
  179. package/dist/field/features/lists/orderedlist/markdownTransformer.js.map +1 -0
  180. package/dist/field/features/lists/plugin/index.js +1 -1
  181. package/dist/field/features/lists/plugin/index.js.map +1 -0
  182. package/dist/field/features/lists/unorderedlist/feature.client.js +1 -1
  183. package/dist/field/features/lists/unorderedlist/feature.client.js.map +1 -0
  184. package/dist/field/features/lists/unorderedlist/feature.server.js +1 -1
  185. package/dist/field/features/lists/unorderedlist/feature.server.js.map +1 -0
  186. package/dist/field/features/lists/unorderedlist/markdownTransformer.js +1 -1
  187. package/dist/field/features/lists/unorderedlist/markdownTransformer.js.map +1 -0
  188. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.js +1 -1
  189. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.js.map +1 -0
  190. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +1 -1
  191. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js.map +1 -0
  192. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.js +1 -1
  193. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.js.map +1 -0
  194. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/client.js +1 -1
  195. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/client.js.map +1 -0
  196. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +1 -1
  197. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js.map +1 -0
  198. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/index.js +1 -1
  199. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/index.js.map +1 -0
  200. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/client.js +1 -1
  201. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/client.js.map +1 -0
  202. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +1 -1
  203. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js.map +1 -0
  204. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/index.js +1 -1
  205. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/index.js.map +1 -0
  206. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.js +1 -1
  207. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.js.map +1 -0
  208. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +1 -1
  209. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js.map +1 -0
  210. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.js +1 -1
  211. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.js.map +1 -0
  212. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.js +1 -1
  213. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.js.map +1 -0
  214. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +1 -1
  215. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js.map +1 -0
  216. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.js +1 -1
  217. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.js.map +1 -0
  218. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.js +1 -1
  219. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.js.map +1 -0
  220. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +1 -1
  221. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js.map +1 -0
  222. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.js +1 -1
  223. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.js.map +1 -0
  224. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.js +1 -1
  225. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.js.map +1 -0
  226. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +1 -1
  227. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js.map +1 -0
  228. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.js +1 -1
  229. package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.js.map +1 -0
  230. package/dist/field/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +1 -1
  231. package/dist/field/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js.map +1 -0
  232. package/dist/field/features/migrations/lexicalPluginToLexical/converter/index.js +1 -1
  233. package/dist/field/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -0
  234. package/dist/field/features/migrations/lexicalPluginToLexical/converter/types.js +1 -1
  235. package/dist/field/features/migrations/lexicalPluginToLexical/converter/types.js.map +1 -0
  236. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.js +1 -1
  237. package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.js.map +1 -0
  238. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.js +1 -1
  239. package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.js.map +1 -0
  240. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +1 -1
  241. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js.map +1 -0
  242. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +1 -1
  243. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -0
  244. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js +1 -1
  245. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js.map +1 -0
  246. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +1 -1
  247. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -0
  248. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js +1 -1
  249. package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js.map +1 -0
  250. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/client.js +1 -1
  251. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/client.js.map +1 -0
  252. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/converter.js +1 -1
  253. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -0
  254. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/index.js +1 -1
  255. package/dist/field/features/migrations/slateToLexical/converter/converters/heading/index.js.map +1 -0
  256. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/client.js +1 -1
  257. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/client.js.map +1 -0
  258. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/converter.js +1 -1
  259. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/converter.js.map +1 -0
  260. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/index.js +1 -1
  261. package/dist/field/features/migrations/slateToLexical/converter/converters/indent/index.js.map +1 -0
  262. package/dist/field/features/migrations/slateToLexical/converter/converters/link/client.js +1 -1
  263. package/dist/field/features/migrations/slateToLexical/converter/converters/link/client.js.map +1 -0
  264. package/dist/field/features/migrations/slateToLexical/converter/converters/link/converter.js +1 -1
  265. package/dist/field/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -0
  266. package/dist/field/features/migrations/slateToLexical/converter/converters/link/index.js +1 -1
  267. package/dist/field/features/migrations/slateToLexical/converter/converters/link/index.js.map +1 -0
  268. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/client.js +1 -1
  269. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/client.js.map +1 -0
  270. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/converter.js +1 -1
  271. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -0
  272. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/index.js +1 -1
  273. package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/index.js.map +1 -0
  274. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/client.js +1 -1
  275. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/client.js.map +1 -0
  276. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +1 -1
  277. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -0
  278. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/index.js +1 -1
  279. package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/index.js.map +1 -0
  280. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/client.js +1 -1
  281. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/client.js.map +1 -0
  282. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js +1 -1
  283. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js.map +1 -0
  284. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/index.js +1 -1
  285. package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/index.js.map +1 -0
  286. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/client.js +1 -1
  287. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/client.js.map +1 -0
  288. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/converter.js +1 -1
  289. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -0
  290. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/index.js +1 -1
  291. package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/index.js.map +1 -0
  292. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/client.js +1 -1
  293. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/client.js.map +1 -0
  294. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +1 -1
  295. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -0
  296. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/index.js +1 -1
  297. package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/index.js.map +1 -0
  298. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/client.js +1 -1
  299. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/client.js.map +1 -0
  300. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js +1 -1
  301. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js.map +1 -0
  302. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/index.js +1 -1
  303. package/dist/field/features/migrations/slateToLexical/converter/converters/upload/index.js.map +1 -0
  304. package/dist/field/features/migrations/slateToLexical/converter/defaultConverters.js +1 -1
  305. package/dist/field/features/migrations/slateToLexical/converter/defaultConverters.js.map +1 -0
  306. package/dist/field/features/migrations/slateToLexical/converter/index.js +1 -1
  307. package/dist/field/features/migrations/slateToLexical/converter/index.js.map +1 -0
  308. package/dist/field/features/migrations/slateToLexical/converter/types.js +1 -1
  309. package/dist/field/features/migrations/slateToLexical/converter/types.js.map +1 -0
  310. package/dist/field/features/migrations/slateToLexical/feature.client.js +1 -1
  311. package/dist/field/features/migrations/slateToLexical/feature.client.js.map +1 -0
  312. package/dist/field/features/migrations/slateToLexical/feature.server.js +1 -1
  313. package/dist/field/features/migrations/slateToLexical/feature.server.js.map +1 -0
  314. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +1 -1
  315. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js.map +1 -0
  316. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +1 -1
  317. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -0
  318. package/dist/field/features/paragraph/feature.client.js +1 -1
  319. package/dist/field/features/paragraph/feature.client.js.map +1 -0
  320. package/dist/field/features/paragraph/feature.server.js +1 -1
  321. package/dist/field/features/paragraph/feature.server.js.map +1 -0
  322. package/dist/field/features/relationship/drawer/commands.js +1 -1
  323. package/dist/field/features/relationship/drawer/commands.js.map +1 -0
  324. package/dist/field/features/relationship/drawer/index.js +1 -1
  325. package/dist/field/features/relationship/drawer/index.js.map +1 -0
  326. package/dist/field/features/relationship/feature.client.js +1 -1
  327. package/dist/field/features/relationship/feature.client.js.map +1 -0
  328. package/dist/field/features/relationship/feature.server.js +1 -1
  329. package/dist/field/features/relationship/feature.server.js.map +1 -0
  330. package/dist/field/features/relationship/nodes/RelationshipNode.js +1 -1
  331. package/dist/field/features/relationship/nodes/RelationshipNode.js.map +1 -0
  332. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js +1 -1
  333. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js.map +1 -0
  334. package/dist/field/features/relationship/plugins/index.js +1 -1
  335. package/dist/field/features/relationship/plugins/index.js.map +1 -0
  336. package/dist/field/features/relationship/populationPromise.js +1 -1
  337. package/dist/field/features/relationship/populationPromise.js.map +1 -0
  338. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.js +1 -1
  339. package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.js.map +1 -0
  340. package/dist/field/features/types.js +1 -1
  341. package/dist/field/features/types.js.map +1 -0
  342. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js +1 -1
  343. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js.map +1 -0
  344. package/dist/field/features/upload/component/index.js +1 -1
  345. package/dist/field/features/upload/component/index.js.map +1 -0
  346. package/dist/field/features/upload/drawer/commands.js +1 -1
  347. package/dist/field/features/upload/drawer/commands.js.map +1 -0
  348. package/dist/field/features/upload/drawer/index.js +1 -1
  349. package/dist/field/features/upload/drawer/index.js.map +1 -0
  350. package/dist/field/features/upload/feature.client.js +1 -1
  351. package/dist/field/features/upload/feature.client.js.map +1 -0
  352. package/dist/field/features/upload/feature.server.js +1 -1
  353. package/dist/field/features/upload/feature.server.js.map +1 -0
  354. package/dist/field/features/upload/nodes/UploadNode.js +1 -1
  355. package/dist/field/features/upload/nodes/UploadNode.js.map +1 -0
  356. package/dist/field/features/upload/plugin/index.js +1 -1
  357. package/dist/field/features/upload/plugin/index.js.map +1 -0
  358. package/dist/field/features/upload/populationPromise.js +1 -1
  359. package/dist/field/features/upload/populationPromise.js.map +1 -0
  360. package/dist/field/features/upload/validate.js +1 -1
  361. package/dist/field/features/upload/validate.js.map +1 -0
  362. package/dist/field/index.js +1 -1
  363. package/dist/field/index.js.map +1 -0
  364. package/dist/field/lexical/EditorPlugin.js +1 -1
  365. package/dist/field/lexical/EditorPlugin.js.map +1 -0
  366. package/dist/field/lexical/LexicalEditor.js +1 -1
  367. package/dist/field/lexical/LexicalEditor.js.map +1 -0
  368. package/dist/field/lexical/LexicalProvider.js +1 -1
  369. package/dist/field/lexical/LexicalProvider.js.map +1 -0
  370. package/dist/field/lexical/config/client/EditorConfigProvider.js +1 -1
  371. package/dist/field/lexical/config/client/EditorConfigProvider.js.map +1 -0
  372. package/dist/field/lexical/config/client/default.js +1 -1
  373. package/dist/field/lexical/config/client/default.js.map +1 -0
  374. package/dist/field/lexical/config/client/loader.js +1 -1
  375. package/dist/field/lexical/config/client/loader.js.map +1 -0
  376. package/dist/field/lexical/config/client/sanitize.js +1 -1
  377. package/dist/field/lexical/config/client/sanitize.js.map +1 -0
  378. package/dist/field/lexical/config/server/default.js +1 -1
  379. package/dist/field/lexical/config/server/default.js.map +1 -0
  380. package/dist/field/lexical/config/server/loader.js +1 -1
  381. package/dist/field/lexical/config/server/loader.js.map +1 -0
  382. package/dist/field/lexical/config/server/sanitize.js +1 -1
  383. package/dist/field/lexical/config/server/sanitize.js.map +1 -0
  384. package/dist/field/lexical/config/types.js +1 -1
  385. package/dist/field/lexical/config/types.js.map +1 -0
  386. package/dist/field/lexical/nodes/index.js +1 -1
  387. package/dist/field/lexical/nodes/index.js.map +1 -0
  388. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js +1 -1
  389. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js.map +1 -0
  390. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js +1 -1
  391. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js.map +1 -0
  392. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +1 -1
  393. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js.map +1 -0
  394. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +1 -1
  395. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js.map +1 -0
  396. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js +1 -1
  397. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js.map +1 -0
  398. package/dist/field/lexical/plugins/MarkdownShortcut/index.js +1 -1
  399. package/dist/field/lexical/plugins/MarkdownShortcut/index.js.map +1 -0
  400. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +1 -1
  401. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -0
  402. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +1 -1
  403. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -0
  404. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +1 -1
  405. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -0
  406. package/dist/field/lexical/plugins/SlashMenu/index.js +1 -1
  407. package/dist/field/lexical/plugins/SlashMenu/index.js.map +1 -0
  408. package/dist/field/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +1 -1
  409. package/dist/field/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -0
  410. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +1 -1
  411. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -0
  412. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +1 -1
  413. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -0
  414. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +1 -1
  415. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -0
  416. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js +1 -1
  417. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js.map +1 -0
  418. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +1 -1
  419. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js.map +1 -0
  420. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +1 -1
  421. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -0
  422. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +1 -1
  423. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -0
  424. package/dist/field/lexical/plugins/handles/utils/getCollapsedMargins.js +1 -1
  425. package/dist/field/lexical/plugins/handles/utils/getCollapsedMargins.js.map +1 -0
  426. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +1 -1
  427. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js.map +1 -0
  428. package/dist/field/lexical/plugins/handles/utils/isOnHandleElement.js +1 -1
  429. package/dist/field/lexical/plugins/handles/utils/isOnHandleElement.js.map +1 -0
  430. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js +1 -1
  431. package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -0
  432. package/dist/field/lexical/theme/EditorTheme.js +1 -1
  433. package/dist/field/lexical/theme/EditorTheme.js.map +1 -0
  434. package/dist/field/lexical/ui/ContentEditable.js +1 -1
  435. package/dist/field/lexical/ui/ContentEditable.js.map +1 -0
  436. package/dist/field/lexical/ui/icons/AI/index.js +1 -1
  437. package/dist/field/lexical/ui/icons/AI/index.js.map +1 -0
  438. package/dist/field/lexical/ui/icons/AlignCenter/index.js +1 -1
  439. package/dist/field/lexical/ui/icons/AlignCenter/index.js.map +1 -0
  440. package/dist/field/lexical/ui/icons/AlignJustify/index.js +1 -1
  441. package/dist/field/lexical/ui/icons/AlignJustify/index.js.map +1 -0
  442. package/dist/field/lexical/ui/icons/AlignLeft/index.js +1 -1
  443. package/dist/field/lexical/ui/icons/AlignLeft/index.js.map +1 -0
  444. package/dist/field/lexical/ui/icons/AlignRight/index.js +1 -1
  445. package/dist/field/lexical/ui/icons/AlignRight/index.js.map +1 -0
  446. package/dist/field/lexical/ui/icons/Block/index.js +1 -1
  447. package/dist/field/lexical/ui/icons/Block/index.js.map +1 -0
  448. package/dist/field/lexical/ui/icons/Blockquote/index.js +1 -1
  449. package/dist/field/lexical/ui/icons/Blockquote/index.js.map +1 -0
  450. package/dist/field/lexical/ui/icons/Bold/index.js +1 -1
  451. package/dist/field/lexical/ui/icons/Bold/index.js.map +1 -0
  452. package/dist/field/lexical/ui/icons/Checklist/index.js +1 -1
  453. package/dist/field/lexical/ui/icons/Checklist/index.js.map +1 -0
  454. package/dist/field/lexical/ui/icons/Code/index.js +1 -1
  455. package/dist/field/lexical/ui/icons/Code/index.js.map +1 -0
  456. package/dist/field/lexical/ui/icons/CodeBlock/index.js +1 -1
  457. package/dist/field/lexical/ui/icons/CodeBlock/index.js.map +1 -0
  458. package/dist/field/lexical/ui/icons/H1/index.js +1 -1
  459. package/dist/field/lexical/ui/icons/H1/index.js.map +1 -0
  460. package/dist/field/lexical/ui/icons/H2/index.js +1 -1
  461. package/dist/field/lexical/ui/icons/H2/index.js.map +1 -0
  462. package/dist/field/lexical/ui/icons/H3/index.js +1 -1
  463. package/dist/field/lexical/ui/icons/H3/index.js.map +1 -0
  464. package/dist/field/lexical/ui/icons/H4/index.js +1 -1
  465. package/dist/field/lexical/ui/icons/H4/index.js.map +1 -0
  466. package/dist/field/lexical/ui/icons/H5/index.js +1 -1
  467. package/dist/field/lexical/ui/icons/H5/index.js.map +1 -0
  468. package/dist/field/lexical/ui/icons/H6/index.js +1 -1
  469. package/dist/field/lexical/ui/icons/H6/index.js.map +1 -0
  470. package/dist/field/lexical/ui/icons/IndentDecrease/index.js +1 -1
  471. package/dist/field/lexical/ui/icons/IndentDecrease/index.js.map +1 -0
  472. package/dist/field/lexical/ui/icons/IndentIncrease/index.js +1 -1
  473. package/dist/field/lexical/ui/icons/IndentIncrease/index.js.map +1 -0
  474. package/dist/field/lexical/ui/icons/Italic/index.js +1 -1
  475. package/dist/field/lexical/ui/icons/Italic/index.js.map +1 -0
  476. package/dist/field/lexical/ui/icons/Link/index.js +1 -1
  477. package/dist/field/lexical/ui/icons/Link/index.js.map +1 -0
  478. package/dist/field/lexical/ui/icons/OrderedList/index.js +1 -1
  479. package/dist/field/lexical/ui/icons/OrderedList/index.js.map +1 -0
  480. package/dist/field/lexical/ui/icons/Relationship/index.js +1 -1
  481. package/dist/field/lexical/ui/icons/Relationship/index.js.map +1 -0
  482. package/dist/field/lexical/ui/icons/Strikethrough/index.js +1 -1
  483. package/dist/field/lexical/ui/icons/Strikethrough/index.js.map +1 -0
  484. package/dist/field/lexical/ui/icons/Subscript/index.js +1 -1
  485. package/dist/field/lexical/ui/icons/Subscript/index.js.map +1 -0
  486. package/dist/field/lexical/ui/icons/Superscript/index.js +1 -1
  487. package/dist/field/lexical/ui/icons/Superscript/index.js.map +1 -0
  488. package/dist/field/lexical/ui/icons/Text/index.js +1 -1
  489. package/dist/field/lexical/ui/icons/Text/index.js.map +1 -0
  490. package/dist/field/lexical/ui/icons/Underline/index.js +1 -1
  491. package/dist/field/lexical/ui/icons/Underline/index.js.map +1 -0
  492. package/dist/field/lexical/ui/icons/UnorderedList/index.js +1 -1
  493. package/dist/field/lexical/ui/icons/UnorderedList/index.js.map +1 -0
  494. package/dist/field/lexical/ui/icons/Upload/index.js +1 -1
  495. package/dist/field/lexical/ui/icons/Upload/index.js.map +1 -0
  496. package/dist/field/lexical/utils/canUseDOM.js +1 -1
  497. package/dist/field/lexical/utils/canUseDOM.js.map +1 -0
  498. package/dist/field/lexical/utils/cloneDeep.js +1 -1
  499. package/dist/field/lexical/utils/cloneDeep.js.map +1 -0
  500. package/dist/field/lexical/utils/environment.js +1 -1
  501. package/dist/field/lexical/utils/environment.js.map +1 -0
  502. package/dist/field/lexical/utils/getDOMRangeRect.js +1 -1
  503. package/dist/field/lexical/utils/getDOMRangeRect.js.map +1 -0
  504. package/dist/field/lexical/utils/getSelectedNode.js +1 -1
  505. package/dist/field/lexical/utils/getSelectedNode.js.map +1 -0
  506. package/dist/field/lexical/utils/guard.js +1 -1
  507. package/dist/field/lexical/utils/guard.js.map +1 -0
  508. package/dist/field/lexical/utils/invariant.js +1 -1
  509. package/dist/field/lexical/utils/invariant.js.map +1 -0
  510. package/dist/field/lexical/utils/joinClasses.js +1 -1
  511. package/dist/field/lexical/utils/joinClasses.js.map +1 -0
  512. package/dist/field/lexical/utils/markdown/createBlockNode.js +1 -1
  513. package/dist/field/lexical/utils/markdown/createBlockNode.js.map +1 -0
  514. package/dist/field/lexical/utils/nodeFormat.js +1 -1
  515. package/dist/field/lexical/utils/nodeFormat.js.map +1 -0
  516. package/dist/field/lexical/utils/point.js +1 -1
  517. package/dist/field/lexical/utils/point.js.map +1 -0
  518. package/dist/field/lexical/utils/rect.js +1 -1
  519. package/dist/field/lexical/utils/rect.js.map +1 -0
  520. package/dist/field/lexical/utils/setFloatingElemPosition.js +1 -1
  521. package/dist/field/lexical/utils/setFloatingElemPosition.js.map +1 -0
  522. package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.js +1 -1
  523. package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.js.map +1 -0
  524. package/dist/field/lexical/utils/swipe.js +1 -1
  525. package/dist/field/lexical/utils/swipe.js.map +1 -0
  526. package/dist/field/lexical/utils/url.js +1 -1
  527. package/dist/field/lexical/utils/url.js.map +1 -0
  528. package/dist/generateComponentMap.js +1 -1
  529. package/dist/generateComponentMap.js.map +1 -0
  530. package/dist/generateSchemaMap.js +1 -1
  531. package/dist/generateSchemaMap.js.map +1 -0
  532. package/dist/index.js +1 -1
  533. package/dist/index.js.map +1 -0
  534. package/dist/populate/defaultValue.js +1 -1
  535. package/dist/populate/defaultValue.js.map +1 -0
  536. package/dist/populate/populate.js +1 -1
  537. package/dist/populate/populate.js.map +1 -0
  538. package/dist/populate/recurseNestedFields.js +1 -1
  539. package/dist/populate/recurseNestedFields.js.map +1 -0
  540. package/dist/populate/richTextRelationshipPromise.js +1 -1
  541. package/dist/populate/richTextRelationshipPromise.js.map +1 -0
  542. package/dist/types.js +1 -1
  543. package/dist/types.js.map +1 -0
  544. package/dist/useLexicalFeature.js +1 -1
  545. package/dist/useLexicalFeature.js.map +1 -0
  546. package/dist/validate/index.js +1 -1
  547. package/dist/validate/index.js.map +1 -0
  548. package/dist/validate/validateNodes.js +1 -1
  549. package/dist/validate/validateNodes.js.map +1 -0
  550. package/package.json +7 -7
@@ -115,4 +115,4 @@ export const getBaseFields = (config, enabledCollections, disabledCollections)=>
115
115
  return baseFields;
116
116
  };
117
117
 
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL2RyYXdlci9iYXNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJ3BheWxvYWQvYXV0aCdcbmltcG9ydCB0eXBlIHsgQ29uZmlnIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBSYWRpb0ZpZWxkLCBUZXh0RmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBleHRyYWN0VHJhbnNsYXRpb25zIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB7IHZhbGlkYXRlVXJsIH0gZnJvbSAnLi4vLi4vLi4vbGV4aWNhbC91dGlscy91cmwuanMnXG5cbmNvbnN0IHRyYW5zbGF0aW9ucyA9IGV4dHJhY3RUcmFuc2xhdGlvbnMoW1xuICAnZmllbGRzOnRleHRUb0Rpc3BsYXknLFxuICAnZmllbGRzOmxpbmtUeXBlJyxcbiAgJ2ZpZWxkczpjaG9vc2VCZXR3ZWVuQ3VzdG9tVGV4dE9yRG9jdW1lbnQnLFxuICAnZmllbGRzOmN1c3RvbVVSTCcsXG4gICdmaWVsZHM6aW50ZXJuYWxMaW5rJyxcbiAgJ2ZpZWxkczplbnRlclVSTCcsXG4gICdmaWVsZHM6Y2hvb3NlRG9jdW1lbnRUb0xpbmsnLFxuICAnZmllbGRzOm9wZW5Jbk5ld1RhYicsXG5dKVxuXG5leHBvcnQgY29uc3QgZ2V0QmFzZUZpZWxkcyA9IChcbiAgY29uZmlnOiBDb25maWcsXG4gIGVuYWJsZWRDb2xsZWN0aW9uczogZmFsc2UgfCBzdHJpbmdbXSxcbiAgZGlzYWJsZWRDb2xsZWN0aW9uczogZmFsc2UgfCBzdHJpbmdbXSxcbik6IEZpZWxkW10gPT4ge1xuICBsZXQgZW5hYmxlZFJlbGF0aW9uczogc3RyaW5nW11cblxuICAvKipcbiAgICogRmlndXJlIG91dCB3aGljaCByZWxhdGlvbnMgc2hvdWxkIGJlIGVuYWJsZWQgKGVuYWJsZWRSZWxhdGlvbnMpIGJhc2VkIG9uIGEgY29sbGVjdGlvbidzIGFkbWluLmVuYWJsZVJpY2hUZXh0TGluayBwcm9wZXJ0eSxcbiAgICogb3IgdGhlIExpbmsgRmVhdHVyZSdzIGVuYWJsZWRDb2xsZWN0aW9ucyBhbmQgZGlzYWJsZWRDb2xsZWN0aW9ucyBwcm9wZXJ0aWVzIHdoaWNoIG92ZXJyaWRlIGl0LlxuICAgKi9cbiAgaWYgKGVuYWJsZWRDb2xsZWN0aW9ucykge1xuICAgIGVuYWJsZWRSZWxhdGlvbnMgPSBlbmFibGVkQ29sbGVjdGlvbnNcbiAgfSBlbHNlIGlmIChkaXNhYmxlZENvbGxlY3Rpb25zKSB7XG4gICAgZW5hYmxlZFJlbGF0aW9ucyA9IGNvbmZpZy5jb2xsZWN0aW9uc1xuICAgICAgLmZpbHRlcigoeyBzbHVnIH0pID0+ICFkaXNhYmxlZENvbGxlY3Rpb25zLmluY2x1ZGVzKHNsdWcpKVxuICAgICAgLm1hcCgoeyBzbHVnIH0pID0+IHNsdWcpXG4gIH0gZWxzZSB7XG4gICAgZW5hYmxlZFJlbGF0aW9ucyA9IGNvbmZpZy5jb2xsZWN0aW9uc1xuICAgICAgLmZpbHRlcigoeyBhZG1pbjogeyBlbmFibGVSaWNoVGV4dExpbmssIGhpZGRlbiB9IH0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBoaWRkZW4gIT09ICdmdW5jdGlvbicgJiYgaGlkZGVuKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVuYWJsZVJpY2hUZXh0TGlua1xuICAgICAgfSlcbiAgICAgIC5tYXAoKHsgc2x1ZyB9KSA9PiBzbHVnKVxuICB9XG5cbiAgY29uc3QgYmFzZUZpZWxkcyA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAndGV4dCcsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6dGV4dFRvRGlzcGxheSddLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnZmllbGRzJyxcbiAgICAgIHR5cGU6ICdncm91cCcsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBzdHlsZToge1xuICAgICAgICAgIGJvcmRlckJvdHRvbTogMCxcbiAgICAgICAgICBib3JkZXJUb3A6IDAsXG4gICAgICAgICAgbWFyZ2luOiAwLFxuICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnbGlua1R5cGUnLFxuICAgICAgICAgIHR5cGU6ICdyYWRpbycsXG4gICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0cmFuc2xhdGlvbnNbJ2ZpZWxkczpjaG9vc2VCZXR3ZWVuQ3VzdG9tVGV4dE9yRG9jdW1lbnQnXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ2N1c3RvbScsXG4gICAgICAgICAgbGFiZWw6IHRyYW5zbGF0aW9uc1snZmllbGRzOmxpbmtUeXBlJ10sXG4gICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6Y3VzdG9tVVJMJ10sXG4gICAgICAgICAgICAgIHZhbHVlOiAnY3VzdG9tJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICd1cmwnLFxuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6ZW50ZXJVUkwnXSxcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICB2YWxpZGF0ZTogKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSAmJiAhdmFsaWRhdGVVcmwodmFsdWUpKSB7XG4gICAgICAgICAgICAgIHJldHVybiAnSW52YWxpZCBVUkwnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0gYXMgRmllbGRbXSxcbiAgICB9LFxuICBdXG5cbiAgLy8gT25seSBkaXNwbGF5IGludGVybmFsIGxpbmstc3BlY2lmaWMgZmllbGRzIC8gb3B0aW9ucyAvIGNvbmRpdGlvbnMgaWYgdGhlcmUgYXJlIGVuYWJsZWQgcmVsYXRpb25zXG4gIGlmIChlbmFibGVkUmVsYXRpb25zPy5sZW5ndGgpIHtcbiAgICA7KGJhc2VGaWVsZHNbMV0uZmllbGRzWzBdIGFzIFJhZGlvRmllbGQpLm9wdGlvbnMucHVzaCh7XG4gICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6aW50ZXJuYWxMaW5rJ10sXG4gICAgICB2YWx1ZTogJ2ludGVybmFsJyxcbiAgICB9KVxuICAgIDsoYmFzZUZpZWxkc1sxXS5maWVsZHNbMV0gYXMgVGV4dEZpZWxkKS5hZG1pbiA9IHtcbiAgICAgIGNvbmRpdGlvbjogKHsgZmllbGRzIH0pID0+IGZpZWxkcz8ubGlua1R5cGUgIT09ICdpbnRlcm5hbCcsXG4gICAgfVxuXG4gICAgYmFzZUZpZWxkc1sxXS5maWVsZHMucHVzaCh7XG4gICAgICBuYW1lOiAnZG9jJyxcbiAgICAgIGFkbWluOiB7XG4gICAgICAgIGNvbmRpdGlvbjogKHsgZmllbGRzIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4gZmllbGRzPy5saW5rVHlwZSA9PT0gJ2ludGVybmFsJ1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIC8vIHdoZW4gYWRtaW4uaGlkZGVuIGlzIGEgZnVuY3Rpb24gd2UgbmVlZCB0byBkeW5hbWljYWxseSBjYWxsIGhpZGRlbiB3aXRoIHRoZSB1c2VyIHRvIGtub3cgaWYgdGhlIGNvbGxlY3Rpb24gc2hvdWxkIGJlIHNob3duXG4gICAgICB0eXBlOiAncmVsYXRpb25zaGlwJyxcbiAgICAgIGZpbHRlck9wdGlvbnM6XG4gICAgICAgICFlbmFibGVkQ29sbGVjdGlvbnMgJiYgIWRpc2FibGVkQ29sbGVjdGlvbnNcbiAgICAgICAgICA/ICh7IHJlbGF0aW9uVG8sIHVzZXIgfSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBoaWRkZW4gPSBjb25maWcuY29sbGVjdGlvbnMuZmluZCgoeyBzbHVnIH0pID0+IHNsdWcgPT09IHJlbGF0aW9uVG8pLmFkbWluLmhpZGRlblxuICAgICAgICAgICAgICBpZiAodHlwZW9mIGhpZGRlbiA9PT0gJ2Z1bmN0aW9uJyAmJiBoaWRkZW4oeyB1c2VyIH0gYXMgeyB1c2VyOiBVc2VyIH0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IG51bGwsXG4gICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6Y2hvb3NlRG9jdW1lbnRUb0xpbmsnXSxcbiAgICAgIHJlbGF0aW9uVG86IGVuYWJsZWRSZWxhdGlvbnMsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KVxuICB9XG5cbiAgYmFzZUZpZWxkc1sxXS5maWVsZHMucHVzaCh7XG4gICAgbmFtZTogJ25ld1RhYicsXG4gICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6b3BlbkluTmV3VGFiJ10sXG4gIH0pXG5cbiAgcmV0dXJuIGJhc2VGaWVsZHMgYXMgRmllbGRbXVxufVxuIl0sIm5hbWVzIjpbImV4dHJhY3RUcmFuc2xhdGlvbnMiLCJ2YWxpZGF0ZVVybCIsInRyYW5zbGF0aW9ucyIsImdldEJhc2VGaWVsZHMiLCJjb25maWciLCJlbmFibGVkQ29sbGVjdGlvbnMiLCJkaXNhYmxlZENvbGxlY3Rpb25zIiwiZW5hYmxlZFJlbGF0aW9ucyIsImNvbGxlY3Rpb25zIiwiZmlsdGVyIiwic2x1ZyIsImluY2x1ZGVzIiwibWFwIiwiYWRtaW4iLCJlbmFibGVSaWNoVGV4dExpbmsiLCJoaWRkZW4iLCJiYXNlRmllbGRzIiwibmFtZSIsInR5cGUiLCJsYWJlbCIsInJlcXVpcmVkIiwic3R5bGUiLCJib3JkZXJCb3R0b20iLCJib3JkZXJUb3AiLCJtYXJnaW4iLCJwYWRkaW5nIiwiZmllbGRzIiwiZGVzY3JpcHRpb24iLCJkZWZhdWx0VmFsdWUiLCJvcHRpb25zIiwidmFsdWUiLCJ2YWxpZGF0ZSIsImxlbmd0aCIsInB1c2giLCJjb25kaXRpb24iLCJsaW5rVHlwZSIsImZpbHRlck9wdGlvbnMiLCJyZWxhdGlvblRvIiwidXNlciIsImZpbmQiXSwibWFwcGluZ3MiOiJBQUlBLFNBQVNBLG1CQUFtQixRQUFRLG9CQUFtQjtBQUV2RCxTQUFTQyxXQUFXLFFBQVEsZ0NBQStCO0FBRTNELE1BQU1DLGVBQWVGLG9CQUFvQjtJQUN2QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFFRCxPQUFPLE1BQU1HLGdCQUFnQixDQUMzQkMsUUFDQUMsb0JBQ0FDO0lBRUEsSUFBSUM7SUFFSjs7O0dBR0MsR0FDRCxJQUFJRixvQkFBb0I7UUFDdEJFLG1CQUFtQkY7SUFDckIsT0FBTyxJQUFJQyxxQkFBcUI7UUFDOUJDLG1CQUFtQkgsT0FBT0ksV0FBVyxDQUNsQ0MsTUFBTSxDQUFDLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUssQ0FBQ0osb0JBQW9CSyxRQUFRLENBQUNELE9BQ25ERSxHQUFHLENBQUMsQ0FBQyxFQUFFRixJQUFJLEVBQUUsR0FBS0E7SUFDdkIsT0FBTztRQUNMSCxtQkFBbUJILE9BQU9JLFdBQVcsQ0FDbENDLE1BQU0sQ0FBQyxDQUFDLEVBQUVJLE9BQU8sRUFBRUMsa0JBQWtCLEVBQUVDLE1BQU0sRUFBRSxFQUFFO1lBQ2hELElBQUksT0FBT0EsV0FBVyxjQUFjQSxRQUFRO2dCQUMxQyxPQUFPO1lBQ1Q7WUFDQSxPQUFPRDtRQUNULEdBQ0NGLEdBQUcsQ0FBQyxDQUFDLEVBQUVGLElBQUksRUFBRSxHQUFLQTtJQUN2QjtJQUVBLE1BQU1NLGFBQWE7UUFDakI7WUFDRUMsTUFBTTtZQUNOQyxNQUFNO1lBQ05DLE9BQU9qQixZQUFZLENBQUMsdUJBQXVCO1lBQzNDa0IsVUFBVTtRQUNaO1FBQ0E7WUFDRUgsTUFBTTtZQUNOQyxNQUFNO1lBQ05MLE9BQU87Z0JBQ0xRLE9BQU87b0JBQ0xDLGNBQWM7b0JBQ2RDLFdBQVc7b0JBQ1hDLFFBQVE7b0JBQ1JDLFNBQVM7Z0JBQ1g7WUFDRjtZQUNBQyxRQUFRO2dCQUNOO29CQUNFVCxNQUFNO29CQUNOQyxNQUFNO29CQUNOTCxPQUFPO3dCQUNMYyxhQUFhekIsWUFBWSxDQUFDLDJDQUEyQztvQkFDdkU7b0JBQ0EwQixjQUFjO29CQUNkVCxPQUFPakIsWUFBWSxDQUFDLGtCQUFrQjtvQkFDdEMyQixTQUFTO3dCQUNQOzRCQUNFVixPQUFPakIsWUFBWSxDQUFDLG1CQUFtQjs0QkFDdkM0QixPQUFPO3dCQUNUO3FCQUNEO29CQUNEVixVQUFVO2dCQUNaO2dCQUNBO29CQUNFSCxNQUFNO29CQUNOQyxNQUFNO29CQUNOQyxPQUFPakIsWUFBWSxDQUFDLGtCQUFrQjtvQkFDdENrQixVQUFVO29CQUNWVyxVQUFVLENBQUNEO3dCQUNULElBQUlBLFNBQVMsQ0FBQzdCLFlBQVk2QixRQUFROzRCQUNoQyxPQUFPO3dCQUNUO29CQUNGO2dCQUNGO2FBQ0Q7UUFDSDtLQUNEO0lBRUQsbUdBQW1HO0lBQ25HLElBQUl2QixrQkFBa0J5QixRQUFRO1FBQzFCaEIsVUFBVSxDQUFDLEVBQUUsQ0FBQ1UsTUFBTSxDQUFDLEVBQUUsQ0FBZ0JHLE9BQU8sQ0FBQ0ksSUFBSSxDQUFDO1lBQ3BEZCxPQUFPakIsWUFBWSxDQUFDLHNCQUFzQjtZQUMxQzRCLE9BQU87UUFDVDtRQUNFZCxVQUFVLENBQUMsRUFBRSxDQUFDVSxNQUFNLENBQUMsRUFBRSxDQUFlYixLQUFLLEdBQUc7WUFDOUNxQixXQUFXLENBQUMsRUFBRVIsTUFBTSxFQUFFLEdBQUtBLFFBQVFTLGFBQWE7UUFDbEQ7UUFFQW5CLFVBQVUsQ0FBQyxFQUFFLENBQUNVLE1BQU0sQ0FBQ08sSUFBSSxDQUFDO1lBQ3hCaEIsTUFBTTtZQUNOSixPQUFPO2dCQUNMcUIsV0FBVyxDQUFDLEVBQUVSLE1BQU0sRUFBRTtvQkFDcEIsT0FBT0EsUUFBUVMsYUFBYTtnQkFDOUI7WUFDRjtZQUNBLDZIQUE2SDtZQUM3SGpCLE1BQU07WUFDTmtCLGVBQ0UsQ0FBQy9CLHNCQUFzQixDQUFDQyxzQkFDcEIsQ0FBQyxFQUFFK0IsVUFBVSxFQUFFQyxJQUFJLEVBQUU7Z0JBQ25CLE1BQU12QixTQUFTWCxPQUFPSSxXQUFXLENBQUMrQixJQUFJLENBQUMsQ0FBQyxFQUFFN0IsSUFBSSxFQUFFLEdBQUtBLFNBQVMyQixZQUFZeEIsS0FBSyxDQUFDRSxNQUFNO2dCQUN0RixJQUFJLE9BQU9BLFdBQVcsY0FBY0EsT0FBTztvQkFBRXVCO2dCQUFLLElBQXNCO29CQUN0RSxPQUFPO2dCQUNUO1lBQ0YsSUFDQTtZQUNObkIsT0FBT2pCLFlBQVksQ0FBQyw4QkFBOEI7WUFDbERtQyxZQUFZOUI7WUFDWmEsVUFBVTtRQUNaO0lBQ0Y7SUFFQUosVUFBVSxDQUFDLEVBQUUsQ0FBQ1UsTUFBTSxDQUFDTyxJQUFJLENBQUM7UUFDeEJoQixNQUFNO1FBQ05DLE1BQU07UUFDTkMsT0FBT2pCLFlBQVksQ0FBQyxzQkFBc0I7SUFDNUM7SUFFQSxPQUFPYztBQUNULEVBQUMifQ==
118
+ //# sourceMappingURL=baseFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/field/features/link/drawer/baseFields.ts"],"sourcesContent":["import type { User } from 'payload/auth'\nimport type { Config } from 'payload/config'\nimport type { Field, RadioField, TextField } from 'payload/types'\n\nimport { extractTranslations } from 'payload/utilities'\n\nimport { validateUrl } from '../../../lexical/utils/url.js'\n\nconst translations = extractTranslations([\n 'fields:textToDisplay',\n 'fields:linkType',\n 'fields:chooseBetweenCustomTextOrDocument',\n 'fields:customURL',\n 'fields:internalLink',\n 'fields:enterURL',\n 'fields:chooseDocumentToLink',\n 'fields:openInNewTab',\n])\n\nexport const getBaseFields = (\n config: Config,\n enabledCollections: false | string[],\n disabledCollections: false | string[],\n): Field[] => {\n let enabledRelations: string[]\n\n /**\n * Figure out which relations should be enabled (enabledRelations) based on a collection's admin.enableRichTextLink property,\n * or the Link Feature's enabledCollections and disabledCollections properties which override it.\n */\n if (enabledCollections) {\n enabledRelations = enabledCollections\n } else if (disabledCollections) {\n enabledRelations = config.collections\n .filter(({ slug }) => !disabledCollections.includes(slug))\n .map(({ slug }) => slug)\n } else {\n enabledRelations = config.collections\n .filter(({ admin: { enableRichTextLink, hidden } }) => {\n if (typeof hidden !== 'function' && hidden) {\n return false\n }\n return enableRichTextLink\n })\n .map(({ slug }) => slug)\n }\n\n const baseFields = [\n {\n name: 'text',\n type: 'text',\n label: translations['fields:textToDisplay'],\n required: true,\n },\n {\n name: 'fields',\n type: 'group',\n admin: {\n style: {\n borderBottom: 0,\n borderTop: 0,\n margin: 0,\n padding: 0,\n },\n },\n fields: [\n {\n name: 'linkType',\n type: 'radio',\n admin: {\n description: translations['fields:chooseBetweenCustomTextOrDocument'],\n },\n defaultValue: 'custom',\n label: translations['fields:linkType'],\n options: [\n {\n label: translations['fields:customURL'],\n value: 'custom',\n },\n ],\n required: true,\n },\n {\n name: 'url',\n type: 'text',\n label: translations['fields:enterURL'],\n required: true,\n validate: (value: string) => {\n if (value && !validateUrl(value)) {\n return 'Invalid URL'\n }\n },\n },\n ] as Field[],\n },\n ]\n\n // Only display internal link-specific fields / options / conditions if there are enabled relations\n if (enabledRelations?.length) {\n ;(baseFields[1].fields[0] as RadioField).options.push({\n label: translations['fields:internalLink'],\n value: 'internal',\n })\n ;(baseFields[1].fields[1] as TextField).admin = {\n condition: ({ fields }) => fields?.linkType !== 'internal',\n }\n\n baseFields[1].fields.push({\n name: 'doc',\n admin: {\n condition: ({ fields }) => {\n return fields?.linkType === 'internal'\n },\n },\n // when admin.hidden is a function we need to dynamically call hidden with the user to know if the collection should be shown\n type: 'relationship',\n filterOptions:\n !enabledCollections && !disabledCollections\n ? ({ relationTo, user }) => {\n const hidden = config.collections.find(({ slug }) => slug === relationTo).admin.hidden\n if (typeof hidden === 'function' && hidden({ user } as { user: User })) {\n return false\n }\n }\n : null,\n label: translations['fields:chooseDocumentToLink'],\n relationTo: enabledRelations,\n required: true,\n })\n }\n\n baseFields[1].fields.push({\n name: 'newTab',\n type: 'checkbox',\n label: translations['fields:openInNewTab'],\n })\n\n return baseFields as Field[]\n}\n"],"names":["extractTranslations","validateUrl","translations","getBaseFields","config","enabledCollections","disabledCollections","enabledRelations","collections","filter","slug","includes","map","admin","enableRichTextLink","hidden","baseFields","name","type","label","required","style","borderBottom","borderTop","margin","padding","fields","description","defaultValue","options","value","validate","length","push","condition","linkType","filterOptions","relationTo","user","find"],"mappings":"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"}
@@ -80,4 +80,4 @@ export const LinkDrawer = ({ drawerSlug, handleModalSubmit, stateData })=>{
80
80
  }), /*#__PURE__*/ React.createElement(FormSubmit, null, t('general:submit')))));
81
81
  };
82
82
 
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL2RyYXdlci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGb3JtU3RhdGUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQge1xuICBEcmF3ZXIsXG4gIEZpZWxkUGF0aFByb3ZpZGVyLFxuICBGb3JtLFxuICB0eXBlIEZvcm1Qcm9wcyxcbiAgRm9ybVN1Ym1pdCxcbiAgUmVuZGVyRmllbGRzLFxuICBnZXRGb3JtU3RhdGUsXG4gIHVzZUNvbmZpZyxcbiAgdXNlRG9jdW1lbnRJbmZvLFxuICB1c2VUcmFuc2xhdGlvbixcbn0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgeyB1c2VGaWVsZFBhdGggfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnXG5cbmltcG9ydCB7IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9sZXhpY2FsL2NvbmZpZy9jbGllbnQvRWRpdG9yQ29uZmlnUHJvdmlkZXIuanMnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCB7IHR5cGUgUHJvcHMgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnbGV4aWNhbC1saW5rLWVkaXQtZHJhd2VyJ1xuXG5leHBvcnQgY29uc3QgTGlua0RyYXdlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHsgZHJhd2VyU2x1ZywgaGFuZGxlTW9kYWxTdWJtaXQsIHN0YXRlRGF0YSB9KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCB7IGlkIH0gPSB1c2VEb2N1bWVudEluZm8oKVxuICBjb25zdCB7IHNjaGVtYVBhdGggfSA9IHVzZUZpZWxkUGF0aCgpXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IFtpbml0aWFsU3RhdGUsIHNldEluaXRpYWxTdGF0ZV0gPSB1c2VTdGF0ZTxGb3JtU3RhdGUgfCBmYWxzZT4oZmFsc2UpXG4gIGNvbnN0IHtcbiAgICBmaWVsZDogeyByaWNoVGV4dENvbXBvbmVudE1hcCB9LFxuICB9ID0gdXNlRWRpdG9yQ29uZmlnQ29udGV4dCgpXG5cbiAgY29uc3QgY29tcG9uZW50TWFwUmVuZGVyZWRGaWVsZHNQYXRoID0gYGZlYXR1cmUubGluay5maWVsZHMuZmllbGRzYFxuICBjb25zdCBzY2hlbWFGaWVsZHNQYXRoID0gYCR7c2NoZW1hUGF0aH0uZmVhdHVyZS5saW5rLmZpZWxkc2BcblxuICBjb25zdCBmaWVsZE1hcCA9IHJpY2hUZXh0Q29tcG9uZW50TWFwLmdldChjb21wb25lbnRNYXBSZW5kZXJlZEZpZWxkc1BhdGgpIC8vIEZpZWxkIFNjaGVtYVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgYXdhaXRJbml0aWFsU3RhdGUgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZSA9IGF3YWl0IGdldEZvcm1TdGF0ZSh7XG4gICAgICAgIGFwaVJvdXRlOiBjb25maWcucm91dGVzLmFwaSxcbiAgICAgICAgYm9keToge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGRhdGE6IHN0YXRlRGF0YSxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIHNjaGVtYVBhdGg6IHNjaGVtYUZpZWxkc1BhdGgsXG4gICAgICAgIH0sXG4gICAgICAgIHNlcnZlclVSTDogY29uZmlnLnNlcnZlclVSTCxcbiAgICAgIH0pIC8vIEZvcm0gU3RhdGVcblxuICAgICAgc2V0SW5pdGlhbFN0YXRlKHN0YXRlKVxuICAgIH1cblxuICAgIGlmIChzdGF0ZURhdGEpIHtcbiAgICAgIHZvaWQgYXdhaXRJbml0aWFsU3RhdGUoKVxuICAgIH1cbiAgfSwgW2NvbmZpZy5yb3V0ZXMuYXBpLCBjb25maWcuc2VydmVyVVJMLCBzY2hlbWFGaWVsZHNQYXRoLCBpZCwgc3RhdGVEYXRhXSlcblxuICBjb25zdCBvbkNoYW5nZTogRm9ybVByb3BzWydvbkNoYW5nZSddWzBdID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHsgZm9ybVN0YXRlOiBwcmV2Rm9ybVN0YXRlIH0pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBnZXRGb3JtU3RhdGUoe1xuICAgICAgICBhcGlSb3V0ZTogY29uZmlnLnJvdXRlcy5hcGksXG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBmb3JtU3RhdGU6IHByZXZGb3JtU3RhdGUsXG4gICAgICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICBzY2hlbWFQYXRoOiBzY2hlbWFGaWVsZHNQYXRoLFxuICAgICAgICB9LFxuICAgICAgICBzZXJ2ZXJVUkw6IGNvbmZpZy5zZXJ2ZXJVUkwsXG4gICAgICB9KVxuICAgIH0sXG5cbiAgICBbY29uZmlnLnJvdXRlcy5hcGksIGNvbmZpZy5zZXJ2ZXJVUkwsIHNjaGVtYUZpZWxkc1BhdGgsIGlkXSxcbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPERyYXdlciBjbGFzc05hbWU9e2Jhc2VDbGFzc30gc2x1Zz17ZHJhd2VyU2x1Z30gdGl0bGU9e3QoJ2ZpZWxkczplZGl0TGluaycpID8/ICcnfT5cbiAgICAgIHtpbml0aWFsU3RhdGUgIT09IGZhbHNlICYmIChcbiAgICAgICAgPEZpZWxkUGF0aFByb3ZpZGVyIHBhdGg9XCJcIiBzY2hlbWFQYXRoPVwiXCI+XG4gICAgICAgICAgPEZvcm1cbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLy8gVE9ETzogRml4IHRoaXMgdHlwZS4gSXMgdGhpcyBjb3JyZWN0P1xuICAgICAgICAgICAgZmllbGRzPXtBcnJheS5pc0FycmF5KGZpZWxkTWFwKSA/IGZpZWxkTWFwIDogW119XG4gICAgICAgICAgICBpbml0aWFsU3RhdGU9e2luaXRpYWxTdGF0ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtbb25DaGFuZ2VdfVxuICAgICAgICAgICAgb25TdWJtaXQ9e2hhbmRsZU1vZGFsU3VibWl0fVxuICAgICAgICAgICAgdXVpZD17dXVpZCgpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxSZW5kZXJGaWVsZHMgZmllbGRNYXA9e0FycmF5LmlzQXJyYXkoZmllbGRNYXApID8gZmllbGRNYXAgOiBbXX0gZm9yY2VSZW5kZXIgLz5cblxuICAgICAgICAgICAgPEZvcm1TdWJtaXQ+e3QoJ2dlbmVyYWw6c3VibWl0Jyl9PC9Gb3JtU3VibWl0PlxuICAgICAgICAgIDwvRm9ybT5cbiAgICAgICAgPC9GaWVsZFBhdGhQcm92aWRlcj5cbiAgICAgICl9XG4gICAgPC9EcmF3ZXI+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJEcmF3ZXIiLCJGaWVsZFBhdGhQcm92aWRlciIsIkZvcm0iLCJGb3JtU3VibWl0IiwiUmVuZGVyRmllbGRzIiwiZ2V0Rm9ybVN0YXRlIiwidXNlQ29uZmlnIiwidXNlRG9jdW1lbnRJbmZvIiwidXNlVHJhbnNsYXRpb24iLCJ1c2VGaWVsZFBhdGgiLCJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ2NCIsInV1aWQiLCJ1c2VFZGl0b3JDb25maWdDb250ZXh0IiwiYmFzZUNsYXNzIiwiTGlua0RyYXdlciIsImRyYXdlclNsdWciLCJoYW5kbGVNb2RhbFN1Ym1pdCIsInN0YXRlRGF0YSIsInQiLCJpZCIsInNjaGVtYVBhdGgiLCJjb25maWciLCJpbml0aWFsU3RhdGUiLCJzZXRJbml0aWFsU3RhdGUiLCJmaWVsZCIsInJpY2hUZXh0Q29tcG9uZW50TWFwIiwiY29tcG9uZW50TWFwUmVuZGVyZWRGaWVsZHNQYXRoIiwic2NoZW1hRmllbGRzUGF0aCIsImZpZWxkTWFwIiwiZ2V0IiwiYXdhaXRJbml0aWFsU3RhdGUiLCJzdGF0ZSIsImFwaVJvdXRlIiwicm91dGVzIiwiYXBpIiwiYm9keSIsImRhdGEiLCJvcGVyYXRpb24iLCJzZXJ2ZXJVUkwiLCJvbkNoYW5nZSIsImZvcm1TdGF0ZSIsInByZXZGb3JtU3RhdGUiLCJjbGFzc05hbWUiLCJzbHVnIiwidGl0bGUiLCJwYXRoIiwiZmllbGRzIiwiQXJyYXkiLCJpc0FycmF5Iiwib25TdWJtaXQiLCJmb3JjZVJlbmRlciJdLCJtYXBwaW5ncyI6IkFBRUEsU0FDRUEsTUFBTSxFQUNOQyxpQkFBaUIsRUFDakJDLElBQUksRUFFSkMsVUFBVSxFQUNWQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLGNBQWMsUUFDVCxpQkFBZ0I7QUFDdkIsU0FBU0MsWUFBWSxRQUFRLGlCQUFnQjtBQUM3QyxPQUFPQyxTQUFTQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxRQUFRLFFBQU87QUFDL0QsU0FBU0MsTUFBTUMsSUFBSSxRQUFRLE9BQU07QUFFakMsU0FBU0Msc0JBQXNCLFFBQVEseURBQXdEO0FBQy9GLE9BQU8sZUFBYztBQUdyQixNQUFNQyxZQUFZO0FBRWxCLE9BQU8sTUFBTUMsYUFBOEIsQ0FBQyxFQUFFQyxVQUFVLEVBQUVDLGlCQUFpQixFQUFFQyxTQUFTLEVBQUU7SUFDdEYsTUFBTSxFQUFFQyxDQUFDLEVBQUUsR0FBR2Q7SUFDZCxNQUFNLEVBQUVlLEVBQUUsRUFBRSxHQUFHaEI7SUFDZixNQUFNLEVBQUVpQixVQUFVLEVBQUUsR0FBR2Y7SUFDdkIsTUFBTWdCLFNBQVNuQjtJQUNmLE1BQU0sQ0FBQ29CLGNBQWNDLGdCQUFnQixHQUFHZCxTQUE0QjtJQUNwRSxNQUFNLEVBQ0plLE9BQU8sRUFBRUMsb0JBQW9CLEVBQUUsRUFDaEMsR0FBR2I7SUFFSixNQUFNYyxpQ0FBaUMsQ0FBQywwQkFBMEIsQ0FBQztJQUNuRSxNQUFNQyxtQkFBbUIsQ0FBQyxFQUFFUCxXQUFXLG9CQUFvQixDQUFDO0lBRTVELE1BQU1RLFdBQVdILHFCQUFxQkksR0FBRyxDQUFDSCxnQ0FBZ0MsZUFBZTs7SUFFekZsQixVQUFVO1FBQ1IsTUFBTXNCLG9CQUFvQjtZQUN4QixNQUFNQyxRQUFRLE1BQU05QixhQUFhO2dCQUMvQitCLFVBQVVYLE9BQU9ZLE1BQU0sQ0FBQ0MsR0FBRztnQkFDM0JDLE1BQU07b0JBQ0poQjtvQkFDQWlCLE1BQU1uQjtvQkFDTm9CLFdBQVc7b0JBQ1hqQixZQUFZTztnQkFDZDtnQkFDQVcsV0FBV2pCLE9BQU9pQixTQUFTO1lBQzdCLEdBQUcsYUFBYTs7WUFFaEJmLGdCQUFnQlE7UUFDbEI7UUFFQSxJQUFJZCxXQUFXO1lBQ2IsS0FBS2E7UUFDUDtJQUNGLEdBQUc7UUFBQ1QsT0FBT1ksTUFBTSxDQUFDQyxHQUFHO1FBQUViLE9BQU9pQixTQUFTO1FBQUVYO1FBQWtCUjtRQUFJRjtLQUFVO0lBRXpFLE1BQU1zQixXQUFxQ2hDLFlBQ3pDLE9BQU8sRUFBRWlDLFdBQVdDLGFBQWEsRUFBRTtRQUNqQyxPQUFPLE1BQU14QyxhQUFhO1lBQ3hCK0IsVUFBVVgsT0FBT1ksTUFBTSxDQUFDQyxHQUFHO1lBQzNCQyxNQUFNO2dCQUNKaEI7Z0JBQ0FxQixXQUFXQztnQkFDWEosV0FBVztnQkFDWGpCLFlBQVlPO1lBQ2Q7WUFDQVcsV0FBV2pCLE9BQU9pQixTQUFTO1FBQzdCO0lBQ0YsR0FFQTtRQUFDakIsT0FBT1ksTUFBTSxDQUFDQyxHQUFHO1FBQUViLE9BQU9pQixTQUFTO1FBQUVYO1FBQWtCUjtLQUFHO0lBRzdELHFCQUNFLG9CQUFDdkI7UUFBTzhDLFdBQVc3QjtRQUFXOEIsTUFBTTVCO1FBQVk2QixPQUFPMUIsRUFBRSxzQkFBc0I7T0FDNUVJLGlCQUFpQix1QkFDaEIsb0JBQUN6QjtRQUFrQmdELE1BQUs7UUFBR3pCLFlBQVc7cUJBQ3BDLG9CQUFDdEI7UUFDQyw0REFBNEQ7UUFDNURnRCxRQUFRQyxNQUFNQyxPQUFPLENBQUNwQixZQUFZQSxXQUFXLEVBQUU7UUFDL0NOLGNBQWNBO1FBQ2RpQixVQUFVO1lBQUNBO1NBQVM7UUFDcEJVLFVBQVVqQztRQUNWTCxNQUFNQTtxQkFFTixvQkFBQ1g7UUFBYTRCLFVBQVVtQixNQUFNQyxPQUFPLENBQUNwQixZQUFZQSxXQUFXLEVBQUU7UUFBRXNCLGFBQUFBO3NCQUVqRSxvQkFBQ25ELGtCQUFZbUIsRUFBRTtBQU0zQixFQUFDIn0=
83
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/field/features/link/drawer/index.tsx"],"sourcesContent":["import type { FormState } from 'payload/types'\n\nimport {\n Drawer,\n FieldPathProvider,\n Form,\n type FormProps,\n FormSubmit,\n RenderFields,\n getFormState,\n useConfig,\n useDocumentInfo,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useFieldPath } from '@payloadcms/ui'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport { useEditorConfigContext } from '../../../lexical/config/client/EditorConfigProvider.js'\nimport './index.scss'\nimport { type Props } from './types.js'\n\nconst baseClass = 'lexical-link-edit-drawer'\n\nexport const LinkDrawer: React.FC<Props> = ({ drawerSlug, handleModalSubmit, stateData }) => {\n const { t } = useTranslation()\n const { id } = useDocumentInfo()\n const { schemaPath } = useFieldPath()\n const config = useConfig()\n const [initialState, setInitialState] = useState<FormState | false>(false)\n const {\n field: { richTextComponentMap },\n } = useEditorConfigContext()\n\n const componentMapRenderedFieldsPath = `feature.link.fields.fields`\n const schemaFieldsPath = `${schemaPath}.feature.link.fields`\n\n const fieldMap = richTextComponentMap.get(componentMapRenderedFieldsPath) // Field Schema\n\n useEffect(() => {\n const awaitInitialState = async () => {\n const state = await getFormState({\n apiRoute: config.routes.api,\n body: {\n id,\n data: stateData,\n operation: 'update',\n schemaPath: schemaFieldsPath,\n },\n serverURL: config.serverURL,\n }) // Form State\n\n setInitialState(state)\n }\n\n if (stateData) {\n void awaitInitialState()\n }\n }, [config.routes.api, config.serverURL, schemaFieldsPath, id, stateData])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n return await getFormState({\n apiRoute: config.routes.api,\n body: {\n id,\n formState: prevFormState,\n operation: 'update',\n schemaPath: schemaFieldsPath,\n },\n serverURL: config.serverURL,\n })\n },\n\n [config.routes.api, config.serverURL, schemaFieldsPath, id],\n )\n\n return (\n <Drawer className={baseClass} slug={drawerSlug} title={t('fields:editLink') ?? ''}>\n {initialState !== false && (\n <FieldPathProvider path=\"\" schemaPath=\"\">\n <Form\n // @ts-expect-error // TODO: Fix this type. Is this correct?\n fields={Array.isArray(fieldMap) ? fieldMap : []}\n initialState={initialState}\n onChange={[onChange]}\n onSubmit={handleModalSubmit}\n uuid={uuid()}\n >\n <RenderFields fieldMap={Array.isArray(fieldMap) ? fieldMap : []} forceRender />\n\n <FormSubmit>{t('general:submit')}</FormSubmit>\n </Form>\n </FieldPathProvider>\n )}\n </Drawer>\n )\n}\n"],"names":["Drawer","FieldPathProvider","Form","FormSubmit","RenderFields","getFormState","useConfig","useDocumentInfo","useTranslation","useFieldPath","React","useCallback","useEffect","useState","v4","uuid","useEditorConfigContext","baseClass","LinkDrawer","drawerSlug","handleModalSubmit","stateData","t","id","schemaPath","config","initialState","setInitialState","field","richTextComponentMap","componentMapRenderedFieldsPath","schemaFieldsPath","fieldMap","get","awaitInitialState","state","apiRoute","routes","api","body","data","operation","serverURL","onChange","formState","prevFormState","className","slug","title","path","fields","Array","isArray","onSubmit","forceRender"],"mappings":"AAEA,SACEA,MAAM,EACNC,iBAAiB,EACjBC,IAAI,EAEJC,UAAU,EACVC,YAAY,EACZC,YAAY,EACZC,SAAS,EACTC,eAAe,EACfC,cAAc,QACT,iBAAgB;AACvB,SAASC,YAAY,QAAQ,iBAAgB;AAC7C,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAC/D,SAASC,MAAMC,IAAI,QAAQ,OAAM;AAEjC,SAASC,sBAAsB,QAAQ,yDAAwD;AAC/F,OAAO,eAAc;AAGrB,MAAMC,YAAY;AAElB,OAAO,MAAMC,aAA8B,CAAC,EAAEC,UAAU,EAAEC,iBAAiB,EAAEC,SAAS,EAAE;IACtF,MAAM,EAAEC,CAAC,EAAE,GAAGd;IACd,MAAM,EAAEe,EAAE,EAAE,GAAGhB;IACf,MAAM,EAAEiB,UAAU,EAAE,GAAGf;IACvB,MAAMgB,SAASnB;IACf,MAAM,CAACoB,cAAcC,gBAAgB,GAAGd,SAA4B;IACpE,MAAM,EACJe,OAAO,EAAEC,oBAAoB,EAAE,EAChC,GAAGb;IAEJ,MAAMc,iCAAiC,CAAC,0BAA0B,CAAC;IACnE,MAAMC,mBAAmB,CAAC,EAAEP,WAAW,oBAAoB,CAAC;IAE5D,MAAMQ,WAAWH,qBAAqBI,GAAG,CAACH,gCAAgC,eAAe;;IAEzFlB,UAAU;QACR,MAAMsB,oBAAoB;YACxB,MAAMC,QAAQ,MAAM9B,aAAa;gBAC/B+B,UAAUX,OAAOY,MAAM,CAACC,GAAG;gBAC3BC,MAAM;oBACJhB;oBACAiB,MAAMnB;oBACNoB,WAAW;oBACXjB,YAAYO;gBACd;gBACAW,WAAWjB,OAAOiB,SAAS;YAC7B,GAAG,aAAa;;YAEhBf,gBAAgBQ;QAClB;QAEA,IAAId,WAAW;YACb,KAAKa;QACP;IACF,GAAG;QAACT,OAAOY,MAAM,CAACC,GAAG;QAAEb,OAAOiB,SAAS;QAAEX;QAAkBR;QAAIF;KAAU;IAEzE,MAAMsB,WAAqChC,YACzC,OAAO,EAAEiC,WAAWC,aAAa,EAAE;QACjC,OAAO,MAAMxC,aAAa;YACxB+B,UAAUX,OAAOY,MAAM,CAACC,GAAG;YAC3BC,MAAM;gBACJhB;gBACAqB,WAAWC;gBACXJ,WAAW;gBACXjB,YAAYO;YACd;YACAW,WAAWjB,OAAOiB,SAAS;QAC7B;IACF,GAEA;QAACjB,OAAOY,MAAM,CAACC,GAAG;QAAEb,OAAOiB,SAAS;QAAEX;QAAkBR;KAAG;IAG7D,qBACE,oBAACvB;QAAO8C,WAAW7B;QAAW8B,MAAM5B;QAAY6B,OAAO1B,EAAE,sBAAsB;OAC5EI,iBAAiB,uBAChB,oBAACzB;QAAkBgD,MAAK;QAAGzB,YAAW;qBACpC,oBAACtB;QACC,4DAA4D;QAC5DgD,QAAQC,MAAMC,OAAO,CAACpB,YAAYA,WAAW,EAAE;QAC/CN,cAAcA;QACdiB,UAAU;YAACA;SAAS;QACpBU,UAAUjC;QACVL,MAAMA;qBAEN,oBAACX;QAAa4B,UAAUmB,MAAMC,OAAO,CAACpB,YAAYA,WAAW,EAAE;QAAEsB,aAAAA;sBAEjE,oBAACnD,kBAAYmB,EAAE;AAM3B,EAAC"}
@@ -1,3 +1,3 @@
1
1
  export { };
2
2
 
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL2RyYXdlci90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZvcm1TdGF0ZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgTGlua1BheWxvYWQgfSBmcm9tICcuLi9wbHVnaW5zL2Zsb2F0aW5nTGlua0VkaXRvci90eXBlcy5qcydcblxuZXhwb3J0IGludGVyZmFjZSBQcm9wcyB7XG4gIGRyYXdlclNsdWc6IHN0cmluZ1xuICBoYW5kbGVNb2RhbFN1Ym1pdDogKGZpZWxkczogRm9ybVN0YXRlLCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gdm9pZFxuICBzdGF0ZURhdGE/OiBMaW5rUGF5bG9hZFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLFdBSUMifQ==
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/field/features/link/drawer/types.ts"],"sourcesContent":["import type { FormState } from 'payload/types'\n\nimport type { LinkPayload } from '../plugins/floatingLinkEditor/types.js'\n\nexport interface Props {\n drawerSlug: string\n handleModalSubmit: (fields: FormState, data: Record<string, unknown>) => void\n stateData?: LinkPayload\n}\n"],"names":[],"mappings":"AAIA,WAIC"}
@@ -87,4 +87,4 @@ const LinkFeatureClient = (props)=>{
87
87
  };
88
88
  export const LinkFeatureClientComponent = createClientComponent(LinkFeatureClient);
89
89
 
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL2ZlYXR1cmUuY2xpZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IGxleGljYWxVdGlsc0ltcG9ydCBmcm9tICdAbGV4aWNhbC91dGlscydcbmNvbnN0IHsgJGZpbmRNYXRjaGluZ1BhcmVudCB9ID0gbGV4aWNhbFV0aWxzSW1wb3J0XG5cbmltcG9ydCBsZXhpY2FsSW1wb3J0IGZyb20gJ2xleGljYWwnXG5jb25zdCB7ICRnZXRTZWxlY3Rpb24sICRpc1JhbmdlU2VsZWN0aW9uIH0gPSBsZXhpY2FsSW1wb3J0XG5cbmltcG9ydCB0eXBlIHsgRmVhdHVyZVByb3ZpZGVyUHJvdmlkZXJDbGllbnQgfSBmcm9tICcuLi90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgRXhjbHVzaXZlTGlua0NvbGxlY3Rpb25zUHJvcHMgfSBmcm9tICcuL2ZlYXR1cmUuc2VydmVyLmpzJ1xuaW1wb3J0IHR5cGUgeyBMaW5rRmllbGRzIH0gZnJvbSAnLi9ub2Rlcy90eXBlcy5qcydcblxuaW1wb3J0IHsgTGlua0ljb24gfSBmcm9tICcuLi8uLi9sZXhpY2FsL3VpL2ljb25zL0xpbmsvaW5kZXguanMnXG5pbXBvcnQgeyBnZXRTZWxlY3RlZE5vZGUgfSBmcm9tICcuLi8uLi9sZXhpY2FsL3V0aWxzL2dldFNlbGVjdGVkTm9kZS5qcydcbmltcG9ydCB7IEZlYXR1cmVzU2VjdGlvbldpdGhFbnRyaWVzIH0gZnJvbSAnLi4vY29tbW9uL2Zsb2F0aW5nU2VsZWN0VG9vbGJhckZlYXR1cmVzQnV0dG9uc1NlY3Rpb24vaW5kZXguanMnXG5pbXBvcnQgeyBjcmVhdGVDbGllbnRDb21wb25lbnQgfSBmcm9tICcuLi9jcmVhdGVDbGllbnRDb21wb25lbnQuanMnXG5pbXBvcnQgeyBBdXRvTGlua05vZGUgfSBmcm9tICcuL25vZGVzL0F1dG9MaW5rTm9kZS5qcydcbmltcG9ydCB7ICRpc0xpbmtOb2RlLCBMaW5rTm9kZSwgVE9HR0xFX0xJTktfQ09NTUFORCB9IGZyb20gJy4vbm9kZXMvTGlua05vZGUuanMnXG5pbXBvcnQgeyBBdXRvTGlua1BsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9hdXRvTGluay9pbmRleC5qcydcbmltcG9ydCB7IENsaWNrYWJsZUxpbmtQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvY2xpY2thYmxlTGluay9pbmRleC5qcydcbmltcG9ydCB7IFRPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCB9IGZyb20gJy4vcGx1Z2lucy9mbG9hdGluZ0xpbmtFZGl0b3IvTGlua0VkaXRvci9jb21tYW5kcy5qcydcbmltcG9ydCB7IEZsb2F0aW5nTGlua0VkaXRvclBsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9mbG9hdGluZ0xpbmtFZGl0b3IvaW5kZXguanMnXG5pbXBvcnQgeyBMaW5rUGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zL2xpbmsvaW5kZXguanMnXG5cbmV4cG9ydCB0eXBlIENsaWVudFByb3BzID0gRXhjbHVzaXZlTGlua0NvbGxlY3Rpb25zUHJvcHNcblxuY29uc3QgTGlua0ZlYXR1cmVDbGllbnQ6IEZlYXR1cmVQcm92aWRlclByb3ZpZGVyQ2xpZW50PENsaWVudFByb3BzPiA9IChwcm9wcykgPT4ge1xuICByZXR1cm4ge1xuICAgIGNsaWVudEZlYXR1cmVQcm9wczogcHJvcHMsXG4gICAgZmVhdHVyZTogKCkgPT4gKHtcbiAgICAgIGNsaWVudEZlYXR1cmVQcm9wczogcHJvcHMsXG4gICAgICBmbG9hdGluZ1NlbGVjdFRvb2xiYXI6IHtcbiAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICBGZWF0dXJlc1NlY3Rpb25XaXRoRW50cmllcyhbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIENoaWxkQ29tcG9uZW50OiBMaW5rSWNvbixcbiAgICAgICAgICAgICAgaXNBY3RpdmU6ICh7IHNlbGVjdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZSA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgICBjb25zdCBsaW5rUGFyZW50ID0gJGZpbmRNYXRjaGluZ1BhcmVudChzZWxlY3RlZE5vZGUsICRpc0xpbmtOb2RlKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGxpbmtQYXJlbnQgIT0gbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAga2V5OiAnbGluaycsXG4gICAgICAgICAgICAgIGxhYmVsOiBgTGlua2AsXG4gICAgICAgICAgICAgIG9uQ2xpY2s6ICh7IGVkaXRvciwgaXNBY3RpdmUgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZFRleHQgPSBudWxsXG4gICAgICAgICAgICAgICAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUZXh0ID0gJGdldFNlbGVjdGlvbigpLmdldFRleHRDb250ZW50KClcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICBjb25zdCBsaW5rRmllbGRzOiBMaW5rRmllbGRzID0ge1xuICAgICAgICAgICAgICAgICAgICBkb2M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICAgICAgICAgICAgbmV3VGFiOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly8nLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQsIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBsaW5rRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBzZWxlY3RlZFRleHQsXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyByZW1vdmUgbGlua1xuICAgICAgICAgICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChUT0dHTEVfTElOS19DT01NQU5ELCBudWxsKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIG5vZGVzOiBbTGlua05vZGUsIEF1dG9MaW5rTm9kZV0sXG4gICAgICBwbHVnaW5zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBDb21wb25lbnQ6IExpbmtQbHVnaW4sXG4gICAgICAgICAgcG9zaXRpb246ICdub3JtYWwnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgQ29tcG9uZW50OiBBdXRvTGlua1BsdWdpbixcbiAgICAgICAgICBwb3NpdGlvbjogJ25vcm1hbCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBDb21wb25lbnQ6IENsaWNrYWJsZUxpbmtQbHVnaW4sXG4gICAgICAgICAgcG9zaXRpb246ICdub3JtYWwnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgQ29tcG9uZW50OiBGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4sXG4gICAgICAgICAgcG9zaXRpb246ICdmbG9hdGluZ0FuY2hvckVsZW0nLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KSxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgTGlua0ZlYXR1cmVDbGllbnRDb21wb25lbnQgPSBjcmVhdGVDbGllbnRDb21wb25lbnQoTGlua0ZlYXR1cmVDbGllbnQpXG4iXSwibmFtZXMiOlsibGV4aWNhbFV0aWxzSW1wb3J0IiwiJGZpbmRNYXRjaGluZ1BhcmVudCIsImxleGljYWxJbXBvcnQiLCIkZ2V0U2VsZWN0aW9uIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJMaW5rSWNvbiIsImdldFNlbGVjdGVkTm9kZSIsIkZlYXR1cmVzU2VjdGlvbldpdGhFbnRyaWVzIiwiY3JlYXRlQ2xpZW50Q29tcG9uZW50IiwiQXV0b0xpbmtOb2RlIiwiJGlzTGlua05vZGUiLCJMaW5rTm9kZSIsIlRPR0dMRV9MSU5LX0NPTU1BTkQiLCJBdXRvTGlua1BsdWdpbiIsIkNsaWNrYWJsZUxpbmtQbHVnaW4iLCJUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQiLCJGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4iLCJMaW5rUGx1Z2luIiwiTGlua0ZlYXR1cmVDbGllbnQiLCJwcm9wcyIsImNsaWVudEZlYXR1cmVQcm9wcyIsImZlYXR1cmUiLCJmbG9hdGluZ1NlbGVjdFRvb2xiYXIiLCJzZWN0aW9ucyIsIkNoaWxkQ29tcG9uZW50IiwiaXNBY3RpdmUiLCJzZWxlY3Rpb24iLCJzZWxlY3RlZE5vZGUiLCJsaW5rUGFyZW50Iiwia2V5IiwibGFiZWwiLCJvbkNsaWNrIiwiZWRpdG9yIiwic2VsZWN0ZWRUZXh0IiwiZ2V0RWRpdG9yU3RhdGUiLCJyZWFkIiwiZ2V0VGV4dENvbnRlbnQiLCJsaW5rRmllbGRzIiwiZG9jIiwibGlua1R5cGUiLCJuZXdUYWIiLCJ1cmwiLCJkaXNwYXRjaENvbW1hbmQiLCJmaWVsZHMiLCJ0ZXh0Iiwib3JkZXIiLCJub2RlcyIsInBsdWdpbnMiLCJDb21wb25lbnQiLCJwb3NpdGlvbiIsIkxpbmtGZWF0dXJlQ2xpZW50Q29tcG9uZW50Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUVBLE9BQU9BLHdCQUF3QixpQkFBZ0I7QUFDL0MsTUFBTSxFQUFFQyxtQkFBbUIsRUFBRSxHQUFHRDtBQUVoQyxPQUFPRSxtQkFBbUIsVUFBUztBQUNuQyxNQUFNLEVBQUVDLGFBQWEsRUFBRUMsaUJBQWlCLEVBQUUsR0FBR0Y7QUFNN0MsU0FBU0csUUFBUSxRQUFRLHVDQUFzQztBQUMvRCxTQUFTQyxlQUFlLFFBQVEseUNBQXdDO0FBQ3hFLFNBQVNDLDBCQUEwQixRQUFRLGlFQUFnRTtBQUMzRyxTQUFTQyxxQkFBcUIsUUFBUSw4QkFBNkI7QUFDbkUsU0FBU0MsWUFBWSxRQUFRLDBCQUF5QjtBQUN0RCxTQUFTQyxXQUFXLEVBQUVDLFFBQVEsRUFBRUMsbUJBQW1CLFFBQVEsc0JBQXFCO0FBQ2hGLFNBQVNDLGNBQWMsUUFBUSw4QkFBNkI7QUFDNUQsU0FBU0MsbUJBQW1CLFFBQVEsbUNBQWtDO0FBQ3RFLFNBQVNDLDhCQUE4QixRQUFRLHNEQUFxRDtBQUNwRyxTQUFTQyx3QkFBd0IsUUFBUSx3Q0FBdUM7QUFDaEYsU0FBU0MsVUFBVSxRQUFRLDBCQUF5QjtBQUlwRCxNQUFNQyxvQkFBZ0UsQ0FBQ0M7SUFDckUsT0FBTztRQUNMQyxvQkFBb0JEO1FBQ3BCRSxTQUFTLElBQU8sQ0FBQTtnQkFDZEQsb0JBQW9CRDtnQkFDcEJHLHVCQUF1QjtvQkFDckJDLFVBQVU7d0JBQ1JoQiwyQkFBMkI7NEJBQ3pCO2dDQUNFaUIsZ0JBQWdCbkI7Z0NBQ2hCb0IsVUFBVSxDQUFDLEVBQUVDLFNBQVMsRUFBRTtvQ0FDdEIsSUFBSXRCLGtCQUFrQnNCLFlBQVk7d0NBQ2hDLE1BQU1DLGVBQWVyQixnQkFBZ0JvQjt3Q0FDckMsTUFBTUUsYUFBYTNCLG9CQUFvQjBCLGNBQWNqQjt3Q0FDckQsT0FBT2tCLGNBQWM7b0NBQ3ZCO29DQUNBLE9BQU87Z0NBQ1Q7Z0NBQ0FDLEtBQUs7Z0NBQ0xDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0NBQ2JDLFNBQVMsQ0FBQyxFQUFFQyxNQUFNLEVBQUVQLFFBQVEsRUFBRTtvQ0FDNUIsSUFBSSxDQUFDQSxVQUFVO3dDQUNiLElBQUlRLGVBQWU7d0NBQ25CRCxPQUFPRSxjQUFjLEdBQUdDLElBQUksQ0FBQzs0Q0FDM0JGLGVBQWU5QixnQkFBZ0JpQyxjQUFjO3dDQUMvQzt3Q0FDQSxNQUFNQyxhQUF5Qjs0Q0FDN0JDLEtBQUs7NENBQ0xDLFVBQVU7NENBQ1ZDLFFBQVE7NENBQ1JDLEtBQUs7d0NBQ1A7d0NBQ0FULE9BQU9VLGVBQWUsQ0FBQzNCLGdDQUFnQzs0Q0FDckQ0QixRQUFRTjs0Q0FDUk8sTUFBTVg7d0NBQ1I7b0NBQ0YsT0FBTzt3Q0FDTCxjQUFjO3dDQUNkRCxPQUFPVSxlQUFlLENBQUM5QixxQkFBcUI7b0NBQzlDO2dDQUNGO2dDQUNBaUMsT0FBTzs0QkFDVDt5QkFDRDtxQkFDRjtnQkFDSDtnQkFDQUMsT0FBTztvQkFBQ25DO29CQUFVRjtpQkFBYTtnQkFDL0JzQyxTQUFTO29CQUNQO3dCQUNFQyxXQUFXL0I7d0JBQ1hnQyxVQUFVO29CQUNaO29CQUNBO3dCQUNFRCxXQUFXbkM7d0JBQ1hvQyxVQUFVO29CQUNaO29CQUNBO3dCQUNFRCxXQUFXbEM7d0JBQ1htQyxVQUFVO29CQUNaO29CQUNBO3dCQUNFRCxXQUFXaEM7d0JBQ1hpQyxVQUFVO29CQUNaO2lCQUNEO1lBQ0gsQ0FBQTtJQUNGO0FBQ0Y7QUFFQSxPQUFPLE1BQU1DLDZCQUE2QjFDLHNCQUFzQlUsbUJBQWtCIn0=
90
+ //# sourceMappingURL=feature.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/field/features/link/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport lexicalUtilsImport from '@lexical/utils'\nconst { $findMatchingParent } = lexicalUtilsImport\n\nimport lexicalImport from 'lexical'\nconst { $getSelection, $isRangeSelection } = lexicalImport\n\nimport type { FeatureProviderProviderClient } from '../types.js'\nimport type { ExclusiveLinkCollectionsProps } from './feature.server.js'\nimport type { LinkFields } from './nodes/types.js'\n\nimport { LinkIcon } from '../../lexical/ui/icons/Link/index.js'\nimport { getSelectedNode } from '../../lexical/utils/getSelectedNode.js'\nimport { FeaturesSectionWithEntries } from '../common/floatingSelectToolbarFeaturesButtonsSection/index.js'\nimport { createClientComponent } from '../createClientComponent.js'\nimport { AutoLinkNode } from './nodes/AutoLinkNode.js'\nimport { $isLinkNode, LinkNode, TOGGLE_LINK_COMMAND } from './nodes/LinkNode.js'\nimport { AutoLinkPlugin } from './plugins/autoLink/index.js'\nimport { ClickableLinkPlugin } from './plugins/clickableLink/index.js'\nimport { TOGGLE_LINK_WITH_MODAL_COMMAND } from './plugins/floatingLinkEditor/LinkEditor/commands.js'\nimport { FloatingLinkEditorPlugin } from './plugins/floatingLinkEditor/index.js'\nimport { LinkPlugin } from './plugins/link/index.js'\n\nexport type ClientProps = ExclusiveLinkCollectionsProps\n\nconst LinkFeatureClient: FeatureProviderProviderClient<ClientProps> = (props) => {\n return {\n clientFeatureProps: props,\n feature: () => ({\n clientFeatureProps: props,\n floatingSelectToolbar: {\n sections: [\n FeaturesSectionWithEntries([\n {\n ChildComponent: LinkIcon,\n isActive: ({ selection }) => {\n if ($isRangeSelection(selection)) {\n const selectedNode = getSelectedNode(selection)\n const linkParent = $findMatchingParent(selectedNode, $isLinkNode)\n return linkParent != null\n }\n return false\n },\n key: 'link',\n label: `Link`,\n onClick: ({ editor, isActive }) => {\n if (!isActive) {\n let selectedText = null\n editor.getEditorState().read(() => {\n selectedText = $getSelection().getTextContent()\n })\n const linkFields: LinkFields = {\n doc: null,\n linkType: 'custom',\n newTab: false,\n url: 'https://',\n }\n editor.dispatchCommand(TOGGLE_LINK_WITH_MODAL_COMMAND, {\n fields: linkFields,\n text: selectedText,\n })\n } else {\n // remove link\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, null)\n }\n },\n order: 1,\n },\n ]),\n ],\n },\n nodes: [LinkNode, AutoLinkNode],\n plugins: [\n {\n Component: LinkPlugin,\n position: 'normal',\n },\n {\n Component: AutoLinkPlugin,\n position: 'normal',\n },\n {\n Component: ClickableLinkPlugin,\n position: 'normal',\n },\n {\n Component: FloatingLinkEditorPlugin,\n position: 'floatingAnchorElem',\n },\n ],\n }),\n }\n}\n\nexport const LinkFeatureClientComponent = createClientComponent(LinkFeatureClient)\n"],"names":["lexicalUtilsImport","$findMatchingParent","lexicalImport","$getSelection","$isRangeSelection","LinkIcon","getSelectedNode","FeaturesSectionWithEntries","createClientComponent","AutoLinkNode","$isLinkNode","LinkNode","TOGGLE_LINK_COMMAND","AutoLinkPlugin","ClickableLinkPlugin","TOGGLE_LINK_WITH_MODAL_COMMAND","FloatingLinkEditorPlugin","LinkPlugin","LinkFeatureClient","props","clientFeatureProps","feature","floatingSelectToolbar","sections","ChildComponent","isActive","selection","selectedNode","linkParent","key","label","onClick","editor","selectedText","getEditorState","read","getTextContent","linkFields","doc","linkType","newTab","url","dispatchCommand","fields","text","order","nodes","plugins","Component","position","LinkFeatureClientComponent"],"mappings":"AAAA;AAEA,OAAOA,wBAAwB,iBAAgB;AAC/C,MAAM,EAAEC,mBAAmB,EAAE,GAAGD;AAEhC,OAAOE,mBAAmB,UAAS;AACnC,MAAM,EAAEC,aAAa,EAAEC,iBAAiB,EAAE,GAAGF;AAM7C,SAASG,QAAQ,QAAQ,uCAAsC;AAC/D,SAASC,eAAe,QAAQ,yCAAwC;AACxE,SAASC,0BAA0B,QAAQ,iEAAgE;AAC3G,SAASC,qBAAqB,QAAQ,8BAA6B;AACnE,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,WAAW,EAAEC,QAAQ,EAAEC,mBAAmB,QAAQ,sBAAqB;AAChF,SAASC,cAAc,QAAQ,8BAA6B;AAC5D,SAASC,mBAAmB,QAAQ,mCAAkC;AACtE,SAASC,8BAA8B,QAAQ,sDAAqD;AACpG,SAASC,wBAAwB,QAAQ,wCAAuC;AAChF,SAASC,UAAU,QAAQ,0BAAyB;AAIpD,MAAMC,oBAAgE,CAACC;IACrE,OAAO;QACLC,oBAAoBD;QACpBE,SAAS,IAAO,CAAA;gBACdD,oBAAoBD;gBACpBG,uBAAuB;oBACrBC,UAAU;wBACRhB,2BAA2B;4BACzB;gCACEiB,gBAAgBnB;gCAChBoB,UAAU,CAAC,EAAEC,SAAS,EAAE;oCACtB,IAAItB,kBAAkBsB,YAAY;wCAChC,MAAMC,eAAerB,gBAAgBoB;wCACrC,MAAME,aAAa3B,oBAAoB0B,cAAcjB;wCACrD,OAAOkB,cAAc;oCACvB;oCACA,OAAO;gCACT;gCACAC,KAAK;gCACLC,OAAO,CAAC,IAAI,CAAC;gCACbC,SAAS,CAAC,EAAEC,MAAM,EAAEP,QAAQ,EAAE;oCAC5B,IAAI,CAACA,UAAU;wCACb,IAAIQ,eAAe;wCACnBD,OAAOE,cAAc,GAAGC,IAAI,CAAC;4CAC3BF,eAAe9B,gBAAgBiC,cAAc;wCAC/C;wCACA,MAAMC,aAAyB;4CAC7BC,KAAK;4CACLC,UAAU;4CACVC,QAAQ;4CACRC,KAAK;wCACP;wCACAT,OAAOU,eAAe,CAAC3B,gCAAgC;4CACrD4B,QAAQN;4CACRO,MAAMX;wCACR;oCACF,OAAO;wCACL,cAAc;wCACdD,OAAOU,eAAe,CAAC9B,qBAAqB;oCAC9C;gCACF;gCACAiC,OAAO;4BACT;yBACD;qBACF;gBACH;gBACAC,OAAO;oBAACnC;oBAAUF;iBAAa;gBAC/BsC,SAAS;oBACP;wBACEC,WAAW/B;wBACXgC,UAAU;oBACZ;oBACA;wBACED,WAAWnC;wBACXoC,UAAU;oBACZ;oBACA;wBACED,WAAWlC;wBACXmC,UAAU;oBACZ;oBACA;wBACED,WAAWhC;wBACXiC,UAAU;oBACZ;iBACD;YACH,CAAA;IACF;AACF;AAEA,OAAO,MAAMC,6BAA6B1C,sBAAsBU,mBAAkB"}
@@ -95,4 +95,4 @@ export const LinkFeature = (props)=>{
95
95
  };
96
96
  };
97
97
 
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL2ZlYXR1cmUuc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSTE4biB9IGZyb20gJ0BwYXlsb2FkY21zL3RyYW5zbGF0aW9ucydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgaW5pdEkxOG4gfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5pbXBvcnQgeyB0cmFuc2xhdGlvbnMgfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMvY2xpZW50J1xuXG5pbXBvcnQgdHlwZSB7IEhUTUxDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb252ZXJ0ZXJzL2h0bWwvY29udmVydGVyL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlUHJvdmlkZXJQcm92aWRlclNlcnZlciB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBDbGllbnRQcm9wcyB9IGZyb20gJy4vZmVhdHVyZS5jbGllbnQuanMnXG5pbXBvcnQgdHlwZSB7IFNlcmlhbGl6ZWRBdXRvTGlua05vZGUsIFNlcmlhbGl6ZWRMaW5rTm9kZSB9IGZyb20gJy4vbm9kZXMvdHlwZXMuanMnXG5cbmltcG9ydCB7IGNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwgfSBmcm9tICcuLi9jb252ZXJ0ZXJzL2h0bWwvY29udmVydGVyL2luZGV4LmpzJ1xuaW1wb3J0IHsgTGlua0ZlYXR1cmVDbGllbnRDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmUuY2xpZW50LmpzJ1xuaW1wb3J0IHsgQXV0b0xpbmtOb2RlIH0gZnJvbSAnLi9ub2Rlcy9BdXRvTGlua05vZGUuanMnXG5pbXBvcnQgeyBMaW5rTm9kZSB9IGZyb20gJy4vbm9kZXMvTGlua05vZGUuanMnXG5pbXBvcnQgeyB0cmFuc2Zvcm1FeHRyYUZpZWxkcyB9IGZyb20gJy4vcGx1Z2lucy9mbG9hdGluZ0xpbmtFZGl0b3IvdXRpbGl0aWVzLmpzJ1xuaW1wb3J0IHsgbGlua1BvcHVsYXRpb25Qcm9taXNlSE9DIH0gZnJvbSAnLi9wb3B1bGF0aW9uUHJvbWlzZS5qcydcblxuZXhwb3J0IHR5cGUgRXhjbHVzaXZlTGlua0NvbGxlY3Rpb25zUHJvcHMgPVxuICB8IHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIGNvbGxlY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGRpc2FibGVkIGZvciBpbnRlcm5hbCBsaW5raW5nLiBPdmVycmlkZXMgdGhlIGBlbmFibGVSaWNoVGV4dExpbmtgIHByb3BlcnR5IGluIHRoZSBjb2xsZWN0aW9uIGNvbmZpZy5cbiAgICAgICAqIFdoZW4gdGhpcyBwcm9wZXJ0eSBpcyBzZXQsIGBlbmFibGVkQ29sbGVjdGlvbnNgIHdpbGwgbm90IGJlIGF2YWlsYWJsZS5cbiAgICAgICAqKi9cbiAgICAgIGRpc2FibGVkQ29sbGVjdGlvbnM/OiBzdHJpbmdbXVxuXG4gICAgICAvLyBFbnN1cmVzIHRoYXQgZW5hYmxlZENvbGxlY3Rpb25zIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBkaXNhYmxlZENvbGxlY3Rpb25zIGlzIHNldFxuICAgICAgZW5hYmxlZENvbGxlY3Rpb25zPzogbmV2ZXJcbiAgICB9XG4gIHwge1xuICAgICAgLy8gRW5zdXJlcyB0aGF0IGRpc2FibGVkQ29sbGVjdGlvbnMgaXMgbm90IGF2YWlsYWJsZSB3aGVuIGVuYWJsZWRDb2xsZWN0aW9ucyBpcyBzZXRcbiAgICAgIGRpc2FibGVkQ29sbGVjdGlvbnM/OiBuZXZlclxuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSBjb2xsZWN0aW9ucyB0aGF0IHNob3VsZCBiZSBlbmFibGVkIGZvciBpbnRlcm5hbCBsaW5raW5nLiBPdmVycmlkZXMgdGhlIGBlbmFibGVSaWNoVGV4dExpbmtgIHByb3BlcnR5IGluIHRoZSBjb2xsZWN0aW9uIGNvbmZpZ1xuICAgICAgICogV2hlbiB0aGlzIHByb3BlcnR5IGlzIHNldCwgYGRpc2FibGVkQ29sbGVjdGlvbnNgIHdpbGwgbm90IGJlIGF2YWlsYWJsZS5cbiAgICAgICAqKi9cbiAgICAgIGVuYWJsZWRDb2xsZWN0aW9ucz86IHN0cmluZ1tdXG4gICAgfVxuXG5leHBvcnQgdHlwZSBMaW5rRmVhdHVyZVNlcnZlclByb3BzID0gRXhjbHVzaXZlTGlua0NvbGxlY3Rpb25zUHJvcHMgJiB7XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIG9yIGFycmF5IGRlZmluaW5nIGFkZGl0aW9uYWwgZmllbGRzIGZvciB0aGUgbGluayBmZWF0dXJlLiBUaGVzZSB3aWxsIGJlXG4gICAqIGRpc3BsYXllZCBpbiB0aGUgbGluayBlZGl0b3IgZHJhd2VyLlxuICAgKi9cbiAgZmllbGRzPzpcbiAgICB8ICgoYXJnczogeyBjb25maWc6IFNhbml0aXplZENvbmZpZzsgZGVmYXVsdEZpZWxkczogRmllbGRbXTsgaTE4bjogSTE4biB9KSA9PiBGaWVsZFtdKVxuICAgIHwgRmllbGRbXVxufVxuXG5leHBvcnQgY29uc3QgTGlua0ZlYXR1cmU6IEZlYXR1cmVQcm92aWRlclByb3ZpZGVyU2VydmVyPExpbmtGZWF0dXJlU2VydmVyUHJvcHMsIENsaWVudFByb3BzPiA9IChcbiAgcHJvcHMsXG4pID0+IHtcbiAgaWYgKCFwcm9wcykge1xuICAgIHByb3BzID0ge31cbiAgfVxuICByZXR1cm4ge1xuICAgIGZlYXR1cmU6ICgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIENsaWVudENvbXBvbmVudDogTGlua0ZlYXR1cmVDbGllbnRDb21wb25lbnQsXG4gICAgICAgIGNsaWVudEZlYXR1cmVQcm9wczoge1xuICAgICAgICAgIGRpc2FibGVkQ29sbGVjdGlvbnM6IHByb3BzLmRpc2FibGVkQ29sbGVjdGlvbnMsXG4gICAgICAgICAgZW5hYmxlZENvbGxlY3Rpb25zOiBwcm9wcy5lbmFibGVkQ29sbGVjdGlvbnMsXG4gICAgICAgIH0gYXMgRXhjbHVzaXZlTGlua0NvbGxlY3Rpb25zUHJvcHMsXG4gICAgICAgIGdlbmVyYXRlU2NoZW1hTWFwOiAoeyBjb25maWcsIHByb3BzIH0pID0+IHtcbiAgICAgICAgICBjb25zdCBpMThuID0gaW5pdEkxOG4oeyBjb25maWc6IGNvbmZpZy5pMThuLCBjb250ZXh0OiAnY2xpZW50JywgdHJhbnNsYXRpb25zIH0pXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZmllbGRzOiB0cmFuc2Zvcm1FeHRyYUZpZWxkcyhcbiAgICAgICAgICAgICAgcHJvcHMuZmllbGRzLFxuICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgIGkxOG4sXG4gICAgICAgICAgICAgIHByb3BzLmVuYWJsZWRDb2xsZWN0aW9ucyxcbiAgICAgICAgICAgICAgcHJvcHMuZGlzYWJsZWRDb2xsZWN0aW9ucyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBub2RlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbnZlcnRlcnM6IHtcbiAgICAgICAgICAgICAgaHRtbDoge1xuICAgICAgICAgICAgICAgIGNvbnZlcnRlcjogYXN5bmMgKHsgY29udmVydGVycywgbm9kZSwgcGFyZW50LCBwYXlsb2FkIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuVGV4dCA9IGF3YWl0IGNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwoe1xuICAgICAgICAgICAgICAgICAgICBjb252ZXJ0ZXJzLFxuICAgICAgICAgICAgICAgICAgICBsZXhpY2FsTm9kZXM6IG5vZGUuY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDoge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLm5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyZW50LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgICAgY29uc3QgcmVsOiBzdHJpbmcgPSBub2RlLmZpZWxkcy5uZXdUYWIgPyAnIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIicgOiAnJ1xuXG4gICAgICAgICAgICAgICAgICBsZXQgaHJlZjogc3RyaW5nID0gbm9kZS5maWVsZHMudXJsXG4gICAgICAgICAgICAgICAgICBpZiAobm9kZS5maWVsZHMubGlua1R5cGUgPT09ICdpbnRlcm5hbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaHJlZiA9XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIG5vZGUuZmllbGRzLmRvYz8udmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IG5vZGUuZmllbGRzLmRvYz8udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogbm9kZS5maWVsZHMuZG9jPy52YWx1ZT8uaWRcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGA8YSBocmVmPVwiJHtocmVmfVwiJHtyZWx9PiR7Y2hpbGRyZW5UZXh0fTwvYT5gXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBub2RlVHlwZXM6IFtBdXRvTGlua05vZGUuZ2V0VHlwZSgpXSxcbiAgICAgICAgICAgICAgfSBhcyBIVE1MQ29udmVydGVyPFNlcmlhbGl6ZWRBdXRvTGlua05vZGU+LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5vZGU6IEF1dG9MaW5rTm9kZSxcbiAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlczogW2xpbmtQb3B1bGF0aW9uUHJvbWlzZUhPQyhwcm9wcyldLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29udmVydGVyczoge1xuICAgICAgICAgICAgICBodG1sOiB7XG4gICAgICAgICAgICAgICAgY29udmVydGVyOiBhc3luYyAoeyBjb252ZXJ0ZXJzLCBub2RlLCBwYXJlbnQsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW5UZXh0ID0gYXdhaXQgY29udmVydExleGljYWxOb2Rlc1RvSFRNTCh7XG4gICAgICAgICAgICAgICAgICAgIGNvbnZlcnRlcnMsXG4gICAgICAgICAgICAgICAgICAgIGxleGljYWxOb2Rlczogbm9kZS5jaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiB7XG4gICAgICAgICAgICAgICAgICAgICAgLi4ubm9kZSxcbiAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgICBjb25zdCByZWw6IHN0cmluZyA9IG5vZGUuZmllbGRzLm5ld1RhYiA/ICcgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiJyA6ICcnXG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGhyZWY6IHN0cmluZyA9XG4gICAgICAgICAgICAgICAgICAgIG5vZGUuZmllbGRzLmxpbmtUeXBlID09PSAnY3VzdG9tJ1xuICAgICAgICAgICAgICAgICAgICAgID8gbm9kZS5maWVsZHMudXJsXG4gICAgICAgICAgICAgICAgICAgICAgOiAobm9kZS5maWVsZHMuZG9jPy52YWx1ZSBhcyBzdHJpbmcpXG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiBgPGEgaHJlZj1cIiR7aHJlZn1cIiR7cmVsfT4ke2NoaWxkcmVuVGV4dH08L2E+YFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbm9kZVR5cGVzOiBbTGlua05vZGUuZ2V0VHlwZSgpXSxcbiAgICAgICAgICAgICAgfSBhcyBIVE1MQ29udmVydGVyPFNlcmlhbGl6ZWRMaW5rTm9kZT4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbm9kZTogTGlua05vZGUsXG4gICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXM6IFtsaW5rUG9wdWxhdGlvblByb21pc2VIT0MocHJvcHMpXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBzZXJ2ZXJGZWF0dXJlUHJvcHM6IHByb3BzLFxuICAgICAgfVxuICAgIH0sXG4gICAga2V5OiAnbGluaycsXG4gICAgc2VydmVyRmVhdHVyZVByb3BzOiBwcm9wcyxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImluaXRJMThuIiwidHJhbnNsYXRpb25zIiwiY29udmVydExleGljYWxOb2Rlc1RvSFRNTCIsIkxpbmtGZWF0dXJlQ2xpZW50Q29tcG9uZW50IiwiQXV0b0xpbmtOb2RlIiwiTGlua05vZGUiLCJ0cmFuc2Zvcm1FeHRyYUZpZWxkcyIsImxpbmtQb3B1bGF0aW9uUHJvbWlzZUhPQyIsIkxpbmtGZWF0dXJlIiwicHJvcHMiLCJmZWF0dXJlIiwiQ2xpZW50Q29tcG9uZW50IiwiY2xpZW50RmVhdHVyZVByb3BzIiwiZGlzYWJsZWRDb2xsZWN0aW9ucyIsImVuYWJsZWRDb2xsZWN0aW9ucyIsImdlbmVyYXRlU2NoZW1hTWFwIiwiY29uZmlnIiwiaTE4biIsImNvbnRleHQiLCJmaWVsZHMiLCJub2RlcyIsImNvbnZlcnRlcnMiLCJodG1sIiwiY29udmVydGVyIiwibm9kZSIsInBhcmVudCIsInBheWxvYWQiLCJjaGlsZHJlblRleHQiLCJsZXhpY2FsTm9kZXMiLCJjaGlsZHJlbiIsInJlbCIsIm5ld1RhYiIsImhyZWYiLCJ1cmwiLCJsaW5rVHlwZSIsImRvYyIsInZhbHVlIiwiaWQiLCJub2RlVHlwZXMiLCJnZXRUeXBlIiwicG9wdWxhdGlvblByb21pc2VzIiwic2VydmVyRmVhdHVyZVByb3BzIiwia2V5Il0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxRQUFRLFFBQVEsMkJBQTBCO0FBQ25ELFNBQVNDLFlBQVksUUFBUSxrQ0FBaUM7QUFPOUQsU0FBU0MseUJBQXlCLFFB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
98
+ //# sourceMappingURL=feature.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/field/features/link/feature.server.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload/config'\nimport type { Field } from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { translations } from '@payloadcms/translations/client'\n\nimport type { HTMLConverter } from '../converters/html/converter/types.js'\nimport type { FeatureProviderProviderServer } from '../types.js'\nimport type { ClientProps } from './feature.client.js'\nimport type { SerializedAutoLinkNode, SerializedLinkNode } from './nodes/types.js'\n\nimport { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'\nimport { LinkFeatureClientComponent } from './feature.client.js'\nimport { AutoLinkNode } from './nodes/AutoLinkNode.js'\nimport { LinkNode } from './nodes/LinkNode.js'\nimport { transformExtraFields } from './plugins/floatingLinkEditor/utilities.js'\nimport { linkPopulationPromiseHOC } from './populationPromise.js'\n\nexport type ExclusiveLinkCollectionsProps =\n | {\n /**\n * The collections that should be disabled for internal linking. Overrides the `enableRichTextLink` property in the collection config.\n * When this property is set, `enabledCollections` will not be available.\n **/\n disabledCollections?: string[]\n\n // Ensures that enabledCollections is not available when disabledCollections is set\n enabledCollections?: never\n }\n | {\n // Ensures that disabledCollections is not available when enabledCollections is set\n disabledCollections?: never\n\n /**\n * The collections that should be enabled for internal linking. Overrides the `enableRichTextLink` property in the collection config\n * When this property is set, `disabledCollections` will not be available.\n **/\n enabledCollections?: string[]\n }\n\nexport type LinkFeatureServerProps = ExclusiveLinkCollectionsProps & {\n /**\n * A function or array defining additional fields for the link feature. These will be\n * displayed in the link editor drawer.\n */\n fields?:\n | ((args: { config: SanitizedConfig; defaultFields: Field[]; i18n: I18n }) => Field[])\n | Field[]\n}\n\nexport const LinkFeature: FeatureProviderProviderServer<LinkFeatureServerProps, ClientProps> = (\n props,\n) => {\n if (!props) {\n props = {}\n }\n return {\n feature: () => {\n return {\n ClientComponent: LinkFeatureClientComponent,\n clientFeatureProps: {\n disabledCollections: props.disabledCollections,\n enabledCollections: props.enabledCollections,\n } as ExclusiveLinkCollectionsProps,\n generateSchemaMap: ({ config, props }) => {\n const i18n = initI18n({ config: config.i18n, context: 'client', translations })\n\n return {\n fields: transformExtraFields(\n props.fields,\n config,\n i18n,\n props.enabledCollections,\n props.disabledCollections,\n ),\n }\n },\n nodes: [\n {\n converters: {\n html: {\n converter: async ({ converters, node, parent, payload }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n payload,\n })\n\n const rel: string = node.fields.newTab ? ' rel=\"noopener noreferrer\"' : ''\n\n let href: string = node.fields.url\n if (node.fields.linkType === 'internal') {\n href =\n typeof node.fields.doc?.value === 'string'\n ? node.fields.doc?.value\n : node.fields.doc?.value?.id\n }\n\n return `<a href=\"${href}\"${rel}>${childrenText}</a>`\n },\n nodeTypes: [AutoLinkNode.getType()],\n } as HTMLConverter<SerializedAutoLinkNode>,\n },\n node: AutoLinkNode,\n populationPromises: [linkPopulationPromiseHOC(props)],\n },\n {\n converters: {\n html: {\n converter: async ({ converters, node, parent, payload }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n payload,\n })\n\n const rel: string = node.fields.newTab ? ' rel=\"noopener noreferrer\"' : ''\n\n const href: string =\n node.fields.linkType === 'custom'\n ? node.fields.url\n : (node.fields.doc?.value as string)\n\n return `<a href=\"${href}\"${rel}>${childrenText}</a>`\n },\n nodeTypes: [LinkNode.getType()],\n } as HTMLConverter<SerializedLinkNode>,\n },\n node: LinkNode,\n populationPromises: [linkPopulationPromiseHOC(props)],\n },\n ],\n serverFeatureProps: props,\n }\n },\n key: 'link',\n serverFeatureProps: props,\n }\n}\n"],"names":["initI18n","translations","convertLexicalNodesToHTML","LinkFeatureClientComponent","AutoLinkNode","LinkNode","transformExtraFields","linkPopulationPromiseHOC","LinkFeature","props","feature","ClientComponent","clientFeatureProps","disabledCollections","enabledCollections","generateSchemaMap","config","i18n","context","fields","nodes","converters","html","converter","node","parent","payload","childrenText","lexicalNodes","children","rel","newTab","href","url","linkType","doc","value","id","nodeTypes","getType","populationPromises","serverFeatureProps","key"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,YAAY,QAAQ,kCAAiC;AAO9D,SAASC,yBAAyB,QAAQ,wCAAuC;AACjF,SAASC,0BAA0B,QAAQ,sBAAqB;AAChE,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,QAAQ,QAAQ,sBAAqB;AAC9C,SAASC,oBAAoB,QAAQ,4CAA2C;AAChF,SAASC,wBAAwB,QAAQ,yBAAwB;AAkCjE,OAAO,MAAMC,cAAkF,CAC7FC;IAEA,IAAI,CAACA,OAAO;QACVA,QAAQ,CAAC;IACX;IACA,OAAO;QACLC,SAAS;YACP,OAAO;gBACLC,iBAAiBR;gBACjBS,oBAAoB;oBAClBC,qBAAqBJ,MAAMI,mBAAmB;oBAC9CC,oBAAoBL,MAAMK,kBAAkB;gBAC9C;gBACAC,mBAAmB,CAAC,EAAEC,MAAM,EAAEP,KAAK,EAAE;oBACnC,MAAMQ,OAAOjB,SAAS;wBAAEgB,QAAQA,OAAOC,IAAI;wBAAEC,SAAS;wBAAUjB;oBAAa;oBAE7E,OAAO;wBACLkB,QAAQb,qBACNG,MAAMU,MAAM,EACZH,QACAC,MACAR,MAAMK,kBAAkB,EACxBL,MAAMI,mBAAmB;oBAE7B;gBACF;gBACAO,OAAO;oBACL;wBACEC,YAAY;4BACVC,MAAM;gCACJC,WAAW,OAAO,EAAEF,UAAU,EAAEG,IAAI,EAAEC,MAAM,EAAEC,OAAO,EAAE;oCACrD,MAAMC,eAAe,MAAMzB,0BAA0B;wCACnDmB;wCACAO,cAAcJ,KAAKK,QAAQ;wCAC3BJ,QAAQ;4CACN,GAAGD,IAAI;4CACPC;wCACF;wCACAC;oCACF;oCAEA,MAAMI,MAAcN,KAAKL,MAAM,CAACY,MAAM,GAAG,+BAA+B;oCAExE,IAAIC,OAAeR,KAAKL,MAAM,CAACc,GAAG;oCAClC,IAAIT,KAAKL,MAAM,CAACe,QAAQ,KAAK,YAAY;wCACvCF,OACE,OAAOR,KAAKL,MAAM,CAACgB,GAAG,EAAEC,UAAU,WAC9BZ,KAAKL,MAAM,CAACgB,GAAG,EAAEC,QACjBZ,KAAKL,MAAM,CAACgB,GAAG,EAAEC,OAAOC;oCAChC;oCAEA,OAAO,CAAC,SAAS,EAAEL,KAAK,CAAC,EAAEF,IAAI,CAAC,EAAEH,aAAa,IAAI,CAAC;gCACtD;gCACAW,WAAW;oCAAClC,aAAamC,OAAO;iCAAG;4BACrC;wBACF;wBACAf,MAAMpB;wBACNoC,oBAAoB;4BAACjC,yBAAyBE;yBAAO;oBACvD;oBACA;wBACEY,YAAY;4BACVC,MAAM;gCACJC,WAAW,OAAO,EAAEF,UAAU,EAAEG,IAAI,EAAEC,MAAM,EAAEC,OAAO,EAAE;oCACrD,MAAMC,eAAe,MAAMzB,0BAA0B;wCACnDmB;wCACAO,cAAcJ,KAAKK,QAAQ;wCAC3BJ,QAAQ;4CACN,GAAGD,IAAI;4CACPC;wCACF;wCACAC;oCACF;oCAEA,MAAMI,MAAcN,KAAKL,MAAM,CAACY,MAAM,GAAG,+BAA+B;oCAExE,MAAMC,OACJR,KAAKL,MAAM,CAACe,QAAQ,KAAK,WACrBV,KAAKL,MAAM,CAACc,GAAG,GACdT,KAAKL,MAAM,CAACgB,GAAG,EAAEC;oCAExB,OAAO,CAAC,SAAS,EAAEJ,KAAK,CAAC,EAAEF,IAAI,CAAC,EAAEH,aAAa,IAAI,CAAC;gCACtD;gCACAW,WAAW;oCAACjC,SAASkC,OAAO;iCAAG;4BACjC;wBACF;wBACAf,MAAMnB;wBACNmC,oBAAoB;4BAACjC,yBAAyBE;yBAAO;oBACvD;iBACD;gBACDgC,oBAAoBhC;YACtB;QACF;QACAiC,KAAK;QACLD,oBAAoBhC;IACtB;AACF,EAAC"}
@@ -58,4 +58,4 @@ export function $isAutoLinkNode(node) {
58
58
  return node instanceof AutoLinkNode;
59
59
  }
60
60
 
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL0F1dG9MaW5rTm9kZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVsZW1lbnROb2RlLCBMZXhpY2FsTm9kZSwgUmFuZ2VTZWxlY3Rpb24gfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgbGV4aWNhbEltcG9ydCBmcm9tICdsZXhpY2FsJ1xuY29uc3QgeyAkYXBwbHlOb2RlUmVwbGFjZW1lbnQsICRpc0VsZW1lbnROb2RlIH0gPSBsZXhpY2FsSW1wb3J0XG5cbmltcG9ydCB0eXBlIHsgTGlua0ZpZWxkcywgU2VyaWFsaXplZEF1dG9MaW5rTm9kZSB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmltcG9ydCB7IExpbmtOb2RlIH0gZnJvbSAnLi9MaW5rTm9kZS5qcydcblxuLy8gQ3VzdG9tIG5vZGUgdHlwZSB0byBvdmVycmlkZSBgY2FuSW5zZXJ0VGV4dEFmdGVyYCB0aGF0IHdpbGxcbi8vIGFsbG93IHR5cGluZyB3aXRoaW4gdGhlIGxpbmtcblxuZXhwb3J0IGNsYXNzIEF1dG9MaW5rTm9kZSBleHRlbmRzIExpbmtOb2RlIHtcbiAgc3RhdGljIGNsb25lKG5vZGU6IEF1dG9MaW5rTm9kZSk6IEF1dG9MaW5rTm9kZSB7XG4gICAgcmV0dXJuIG5ldyBBdXRvTGlua05vZGUoeyBmaWVsZHM6IG5vZGUuX19maWVsZHMsIGtleTogbm9kZS5fX2tleSB9KVxuICB9XG5cbiAgc3RhdGljIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2F1dG9saW5rJ1xuICB9XG5cbiAgc3RhdGljIGltcG9ydERPTSgpOiBudWxsIHtcbiAgICAvLyBUT0RPOiBTaG91bGQgbGluayBub2RlIHNob3VsZCBoYW5kbGUgdGhlIGltcG9ydCBvdmVyIGF1dG9saW5rP1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBzdGF0aWMgaW1wb3J0SlNPTihzZXJpYWxpemVkTm9kZTogU2VyaWFsaXplZEF1dG9MaW5rTm9kZSk6IEF1dG9MaW5rTm9kZSB7XG4gICAgaWYgKFxuICAgICAgc2VyaWFsaXplZE5vZGUudmVyc2lvbiA9PT0gMSAmJlxuICAgICAgdHlwZW9mIHNlcmlhbGl6ZWROb2RlLmZpZWxkcz8uZG9jPy52YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHNlcmlhbGl6ZWROb2RlLmZpZWxkcz8uZG9jPy52YWx1ZT8uaWRcbiAgICApIHtcbiAgICAgIHNlcmlhbGl6ZWROb2RlLmZpZWxkcy5kb2MudmFsdWUgPSBzZXJpYWxpemVkTm9kZS5maWVsZHMuZG9jLnZhbHVlLmlkXG4gICAgICBzZXJpYWxpemVkTm9kZS52ZXJzaW9uID0gMlxuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSAkY3JlYXRlQXV0b0xpbmtOb2RlKHsgZmllbGRzOiBzZXJpYWxpemVkTm9kZS5maWVsZHMgfSlcblxuICAgIG5vZGUuc2V0Rm9ybWF0KHNlcmlhbGl6ZWROb2RlLmZvcm1hdClcbiAgICBub2RlLnNldEluZGVudChzZXJpYWxpemVkTm9kZS5pbmRlbnQpXG4gICAgbm9kZS5zZXREaXJlY3Rpb24oc2VyaWFsaXplZE5vZGUuZGlyZWN0aW9uKVxuICAgIHJldHVybiBub2RlXG4gIH1cblxuICBleHBvcnRKU09OKCk6IFNlcmlhbGl6ZWRBdXRvTGlua05vZGUge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5leHBvcnRKU09OKCksXG4gICAgICB0eXBlOiAnYXV0b2xpbmsnLFxuICAgICAgdmVyc2lvbjogMixcbiAgICB9XG4gIH1cblxuICBpbnNlcnROZXdBZnRlcihzZWxlY3Rpb246IFJhbmdlU2VsZWN0aW9uLCByZXN0b3JlU2VsZWN0aW9uID0gdHJ1ZSk6IEVsZW1lbnROb2RlIHwgbnVsbCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ2V0UGFyZW50T3JUaHJvdygpLmluc2VydE5ld0FmdGVyKHNlbGVjdGlvbiwgcmVzdG9yZVNlbGVjdGlvbilcbiAgICBpZiAoJGlzRWxlbWVudE5vZGUoZWxlbWVudCkpIHtcbiAgICAgIGNvbnN0IGxpbmtOb2RlID0gJGNyZWF0ZUF1dG9MaW5rTm9kZSh7IGZpZWxkczogdGhpcy5fX2ZpZWxkcyB9KVxuICAgICAgZWxlbWVudC5hcHBlbmQobGlua05vZGUpXG4gICAgICByZXR1cm4gbGlua05vZGVcbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gJGNyZWF0ZUF1dG9MaW5rTm9kZSh7IGZpZWxkcyB9OiB7IGZpZWxkczogTGlua0ZpZWxkcyB9KTogQXV0b0xpbmtOb2RlIHtcbiAgcmV0dXJuICRhcHBseU5vZGVSZXBsYWNlbWVudChuZXcgQXV0b0xpbmtOb2RlKHsgZmllbGRzIH0pKVxufVxuZXhwb3J0IGZ1bmN0aW9uICRpc0F1dG9MaW5rTm9kZShub2RlOiBMZXhpY2FsTm9kZSB8IG51bGwgfCB1bmRlZmluZWQpOiBub2RlIGlzIEF1dG9MaW5rTm9kZSB7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgQXV0b0xpbmtOb2RlXG59XG4iXSwibmFtZXMiOlsibGV4aWNhbEltcG9ydCIsIiRhcHBseU5vZGVSZXBsYWNlbWVudCIsIiRpc0VsZW1lbnROb2RlIiwiTGlua05vZGUiLCJBdXRvTGlua05vZGUiLCJjbG9uZSIsIm5vZGUiLCJmaWVsZHMiLCJfX2ZpZWxkcyIsImtleSIsIl9fa2V5IiwiZ2V0VHlwZSIsImltcG9ydERPTSIsImltcG9ydEpTT04iLCJzZXJpYWxpemVkTm9kZSIsInZlcnNpb24iLCJkb2MiLCJ2YWx1ZSIsImlkIiwiJGNyZWF0ZUF1dG9MaW5rTm9kZSIsInNldEZvcm1hdCIsImZvcm1hdCIsInNldEluZGVudCIsImluZGVudCIsInNldERpcmVjdGlvbiIsImRpcmVjdGlvbiIsImV4cG9ydEpTT04iLCJ0eXBlIiwiaW5zZXJ0TmV3QWZ0ZXIiLCJzZWxlY3Rpb24iLCJyZXN0b3JlU2VsZWN0aW9uIiwiZWxlbWVudCIsImdldFBhcmVudE9yVGhyb3ciLCJsaW5rTm9kZSIsImFwcGVuZCIsIiRpc0F1dG9MaW5rTm9kZSJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBT0EsbUJBQW1CLFVBQVM7QUFDbkMsTUFBTSxFQUFFQyxxQkFBcUIsRUFBRUMsY0FBYyxFQUFFLEdBQUdGO0FBSWxELFNBQVNHLFFBQVEsUUFBUSxnQkFBZTtBQUV4Qyw4REFBOEQ7QUFDOUQsK0JBQStCO0FBRS9CLE9BQU8sTUFBTUMscUJBQXFCRDtJQUNoQyxPQUFPRSxNQUFNQyxJQUFrQixFQUFnQjtRQUM3QyxPQUFPLElBQUlGLGFBQWE7WUFBRUcsUUFBUUQsS0FBS0UsUUFBUTtZQUFFQyxLQUFLSCxLQUFLSSxLQUFLO1FBQUM7SUFDbkU7SUFFQSxPQUFPQyxVQUFrQjtRQUN2QixPQUFPO0lBQ1Q7SUFFQSxPQUFPQyxZQUFrQjtRQUN2QixpRUFBaUU7UUFDakUsT0FBTztJQUNUO0lBRUEsT0FBT0MsV0FBV0MsY0FBc0MsRUFBZ0I7UUFDdEUsSUFDRUEsZUFBZUMsT0FBTyxLQUFLLEtBQzNCLE9BQU9ELGVBQWVQLE1BQU0sRUFBRVMsS0FBS0MsVUFBVSxZQUM3Q0gsZUFBZVAsTUFBTSxFQUFFUyxLQUFLQyxPQUFPQyxJQUNuQztZQUNBSixlQUFlUCxNQUFNLENBQUNTLEdBQUcsQ0FBQ0MsS0FBSyxHQUFHSCxlQUFlUCxNQUFNLENBQUNTLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDQyxFQUFFO1lBQ3BFSixlQUFlQyxPQUFPLEdBQUc7UUFDM0I7UUFFQSxNQUFNVCxPQUFPYSxvQkFBb0I7WUFBRVosUUFBUU8sZUFBZVAsTUFBTTtRQUFDO1FBRWpFRCxLQUFLYyxTQUFTLENBQUNOLGVBQWVPLE1BQU07UUFDcENmLEtBQUtnQixTQUFTLENBQUNSLGVBQWVTLE1BQU07UUFDcENqQixLQUFLa0IsWUFBWSxDQUFDVixlQUFlVyxTQUFTO1FBQzFDLE9BQU9uQjtJQUNUO0lBRUFvQixhQUFxQztRQUNuQyxPQUFPO1lBQ0wsR0FBRyxLQUFLLENBQUNBLFlBQVk7WUFDckJDLE1BQU07WUFDTlosU0FBUztRQUNYO0lBQ0Y7SUFFQWEsZUFBZUMsU0FBeUIsRUFBRUMsbUJBQW1CLElBQUksRUFBc0I7UUFDckYsTUFBTUMsVUFBVSxJQUFJLENBQUNDLGdCQUFnQixHQUFHSixjQUFjLENBQUNDLFdBQVdDO1FBQ2xFLElBQUk1QixlQUFlNkIsVUFBVTtZQUMzQixNQUFNRSxXQUFXZCxvQkFBb0I7Z0JBQUVaLFFBQVEsSUFBSSxDQUFDQyxRQUFRO1lBQUM7WUFDN0R1QixRQUFRRyxNQUFNLENBQUNEO1lBQ2YsT0FBT0E7UUFDVDtRQUNBLE9BQU87SUFDVDtBQUNGO0FBRUEsT0FBTyxTQUFTZCxvQkFBb0IsRUFBRVosTUFBTSxFQUEwQjtJQUNwRSxPQUFPTixzQkFBc0IsSUFBSUcsYUFBYTtRQUFFRztJQUFPO0FBQ3pEO0FBQ0EsT0FBTyxTQUFTNEIsZ0JBQWdCN0IsSUFBb0M7SUFDbEUsT0FBT0EsZ0JBQWdCRjtBQUN6QiJ9
61
+ //# sourceMappingURL=AutoLinkNode.js.map
@@ -0,0 +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"],"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"}
@@ -298,4 +298,4 @@ function manageRel(input, action, value) {
298
298
  return result;
299
299
  }
300
300
 
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL0xpbmtOb2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZVNlbGVjdGlvbiB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCBsZXhpY2FsVXRpbHNJbXBvcnQgZnJvbSAnQGxleGljYWwvdXRpbHMnXG5jb25zdCB7IGFkZENsYXNzTmFtZXNUb0VsZW1lbnQsIGlzSFRNTEFuY2hvckVsZW1lbnQgfSA9IGxleGljYWxVdGlsc0ltcG9ydFxuXG5pbXBvcnQgbGV4aWNhbEltcG9ydCBmcm9tICdsZXhpY2FsJ1xuY29uc3Qge1xuICAkYXBwbHlOb2RlUmVwbGFjZW1lbnQsXG4gICRjcmVhdGVUZXh0Tm9kZSxcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzRWxlbWVudE5vZGUsXG4gICRpc1JhbmdlU2VsZWN0aW9uLFxuICBFbGVtZW50Tm9kZSxcbiAgY3JlYXRlQ29tbWFuZCxcbn0gPSBsZXhpY2FsSW1wb3J0XG5cbmltcG9ydCB0eXBlIHtcbiAgRE9NQ29udmVyc2lvbk1hcCxcbiAgRE9NQ29udmVyc2lvbk91dHB1dCxcbiAgRWRpdG9yQ29uZmlnLFxuICBFbGVtZW50Tm9kZSBhcyBFbGVtZW50Tm9kZVR5cGUsXG4gIExleGljYWxDb21tYW5kLFxuICBMZXhpY2FsTm9kZSxcbiAgTm9kZUtleSxcbiAgUmFuZ2VTZWxlY3Rpb24sXG59IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB0eXBlIHsgTGlua1BheWxvYWQgfSBmcm9tICcuLi9wbHVnaW5zL2Zsb2F0aW5nTGlua0VkaXRvci90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgTGlua0ZpZWxkcywgU2VyaWFsaXplZExpbmtOb2RlIH0gZnJvbSAnLi90eXBlcy5qcydcblxuY29uc3QgU1VQUE9SVEVEX1VSTF9QUk9UT0NPTFMgPSBuZXcgU2V0KFsnaHR0cDonLCAnaHR0cHM6JywgJ21haWx0bzonLCAnc21zOicsICd0ZWw6J10pXG5cbi8qKiBAbm9Jbmhlcml0RG9jICovXG5leHBvcnQgY2xhc3MgTGlua05vZGUgZXh0ZW5kcyBFbGVtZW50Tm9kZSB7XG4gIF9fZmllbGRzOiBMaW5rRmllbGRzXG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGZpZWxkcyA9IHtcbiAgICAgIGRvYzogbnVsbCxcbiAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgIG5ld1RhYjogZmFsc2UsXG4gICAgICB1cmw6IHVuZGVmaW5lZCxcbiAgICB9LFxuICAgIGtleSxcbiAgfToge1xuICAgIGZpZWxkczogTGlua0ZpZWxkc1xuICAgIGtleT86IE5vZGVLZXlcbiAgfSkge1xuICAgIHN1cGVyKGtleSlcbiAgICB0aGlzLl9fZmllbGRzID0gZmllbGRzXG4gIH1cblxuICBzdGF0aWMgY2xvbmUobm9kZTogTGlua05vZGUpOiBMaW5rTm9kZSB7XG4gICAgcmV0dXJuIG5ldyBMaW5rTm9kZSh7XG4gICAgICBmaWVsZHM6IG5vZGUuX19maWVsZHMsXG4gICAgICBrZXk6IG5vZGUuX19rZXksXG4gICAgfSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdsaW5rJ1xuICB9XG5cbiAgc3RhdGljIGltcG9ydERPTSgpOiBET01Db252ZXJzaW9uTWFwIHwgbnVsbCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGE6IChub2RlOiBOb2RlKSA9PiAoe1xuICAgICAgICBjb252ZXJzaW9uOiBjb252ZXJ0QW5jaG9yRWxlbWVudCxcbiAgICAgICAgcHJpb3JpdHk6IDEsXG4gICAgICB9KSxcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgaW1wb3J0SlNPTihzZXJpYWxpemVkTm9kZTogU2VyaWFsaXplZExpbmtOb2RlKTogTGlua05vZGUge1xuICAgIGlmIChcbiAgICAgIHNlcmlhbGl6ZWROb2RlLnZlcnNpb24gPT09IDEgJiZcbiAgICAgIHR5cGVvZiBzZXJpYWxpemVkTm9kZS5maWVsZHM/LmRvYz8udmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICBzZXJpYWxpemVkTm9kZS5maWVsZHM/LmRvYz8udmFsdWU/LmlkXG4gICAgKSB7XG4gICAgICBzZXJpYWxpemVkTm9kZS5maWVsZHMuZG9jLnZhbHVlID0gc2VyaWFsaXplZE5vZGUuZmllbGRzLmRvYy52YWx1ZS5pZFxuICAgICAgc2VyaWFsaXplZE5vZGUudmVyc2lvbiA9IDJcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gJGNyZWF0ZUxpbmtOb2RlKHtcbiAgICAgIGZpZWxkczogc2VyaWFsaXplZE5vZGUuZmllbGRzLFxuICAgIH0pXG4gICAgbm9kZS5zZXRGb3JtYXQoc2VyaWFsaXplZE5vZGUuZm9ybWF0KVxuICAgIG5vZGUuc2V0SW5kZW50KHNlcmlhbGl6ZWROb2RlLmluZGVudClcbiAgICBub2RlLnNldERpcmVjdGlvbihzZXJpYWxpemVkTm9kZS5kaXJlY3Rpb24pXG4gICAgcmV0dXJuIG5vZGVcbiAgfVxuXG4gIGNhbkJlRW1wdHkoKTogZmFsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY2FuSW5zZXJ0VGV4dEFmdGVyKCk6IGZhbHNlIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGNhbkluc2VydFRleHRCZWZvcmUoKTogZmFsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY3JlYXRlRE9NKGNvbmZpZzogRWRpdG9yQ29uZmlnKTogSFRNTEFuY2hvckVsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBlbGVtZW50LmhyZWYgPSB0aGlzLnNhbml0aXplVXJsKHRoaXMuX19maWVsZHMudXJsID8/ICcnKVxuICAgIH1cbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubmV3VGFiID8/IGZhbHNlKSB7XG4gICAgICBlbGVtZW50LnRhcmdldCA9ICdfYmxhbmsnXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX19maWVsZHM/Lm5ld1RhYiA9PT0gdHJ1ZSAmJiB0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIGVsZW1lbnQucmVsID0gbWFuYWdlUmVsKGVsZW1lbnQucmVsLCAnYWRkJywgJ25vb3BlbmVyJylcbiAgICB9XG5cbiAgICBhZGRDbGFzc05hbWVzVG9FbGVtZW50KGVsZW1lbnQsIGNvbmZpZy50aGVtZS5saW5rKVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cblxuICBleHBvcnRKU09OKCk6IFNlcmlhbGl6ZWRMaW5rTm9kZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLmV4cG9ydEpTT04oKSxcbiAgICAgIHR5cGU6IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgZmllbGRzOiB0aGlzLmdldEZpZWxkcygpLFxuICAgICAgdmVyc2lvbjogMixcbiAgICB9XG4gIH1cblxuICBleHRyYWN0V2l0aENoaWxkKFxuICAgIGNoaWxkOiBMZXhpY2FsTm9kZSxcbiAgICBzZWxlY3Rpb246IEJhc2VTZWxlY3Rpb24sXG4gICAgZGVzdGluYXRpb246ICdjbG9uZScgfCAnaHRtbCcsXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgY29uc3QgYW5jaG9yTm9kZSA9IHNlbGVjdGlvbi5hbmNob3IuZ2V0Tm9kZSgpXG4gICAgY29uc3QgZm9jdXNOb2RlID0gc2VsZWN0aW9uLmZvY3VzLmdldE5vZGUoKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNQYXJlbnRPZihhbmNob3JOb2RlKSAmJlxuICAgICAgdGhpcy5pc1BhcmVudE9mKGZvY3VzTm9kZSkgJiZcbiAgICAgIHNlbGVjdGlvbi5nZXRUZXh0Q29udGVudCgpLmxlbmd0aCA+IDBcbiAgICApXG4gIH1cblxuICBnZXRGaWVsZHMoKTogTGlua0ZpZWxkcyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGF0ZXN0KCkuX19maWVsZHNcbiAgfVxuXG4gIGluc2VydE5ld0FmdGVyKHNlbGVjdGlvbjogUmFuZ2VTZWxlY3Rpb24sIHJlc3RvcmVTZWxlY3Rpb24gPSB0cnVlKTogRWxlbWVudE5vZGVUeXBlIHwgbnVsbCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ2V0UGFyZW50T3JUaHJvdygpLmluc2VydE5ld0FmdGVyKHNlbGVjdGlvbiwgcmVzdG9yZVNlbGVjdGlvbilcbiAgICBpZiAoJGlzRWxlbWVudE5vZGUoZWxlbWVudCkpIHtcbiAgICAgIGNvbnN0IGxpbmtOb2RlID0gJGNyZWF0ZUxpbmtOb2RlKHsgZmllbGRzOiB0aGlzLl9fZmllbGRzIH0pXG4gICAgICBlbGVtZW50LmFwcGVuZChsaW5rTm9kZSlcbiAgICAgIHJldHVybiBsaW5rTm9kZVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgaXNJbmxpbmUoKTogdHJ1ZSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHNhbml0aXplVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkVXJsID0gbmV3IFVSTCh1cmwpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2NyaXB0LXVybFxuICAgICAgaWYgKCFTVVBQT1JURURfVVJMX1BST1RPQ09MUy5oYXMocGFyc2VkVXJsLnByb3RvY29sKSkge1xuICAgICAgICByZXR1cm4gJ2Fib3V0OmJsYW5rJ1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAnaHR0cHM6Ly8nXG4gICAgfVxuICAgIHJldHVybiB1cmxcbiAgfVxuXG4gIHNldEZpZWxkcyhmaWVsZHM6IExpbmtGaWVsZHMpOiB2b2lkIHtcbiAgICBjb25zdCB3cml0YWJsZSA9IHRoaXMuZ2V0V3JpdGFibGUoKVxuICAgIHdyaXRhYmxlLl9fZmllbGRzID0gZmllbGRzXG4gIH1cblxuICB1cGRhdGVET00ocHJldk5vZGU6IExpbmtOb2RlLCBhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50LCBjb25maWc6IEVkaXRvckNvbmZpZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuX19maWVsZHM/LnVybFxuICAgIGNvbnN0IG5ld1RhYiA9IHRoaXMuX19maWVsZHM/Lm5ld1RhYlxuICAgIGlmICh1cmwgIT0gbnVsbCAmJiB1cmwgIT09IHByZXZOb2RlLl9fZmllbGRzPy51cmwgJiYgdGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBhbmNob3IuaHJlZiA9IHVybFxuICAgIH1cbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdpbnRlcm5hbCcgJiYgcHJldk5vZGUuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgYW5jaG9yLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpXG4gICAgfVxuXG4gICAgLy8gVE9ETzogbm90IDEwMCUgc3VyZSB3aHkgd2UncmUgc2V0dGlnbiByZWwgdG8gJycgLSByZXZpc2l0XG4gICAgLy8gU3RhcnQgcmVsIGNvbmZpZyBoZXJlLCB0aGVuIGNoZWNrIG5ld1RhYiBiZWxvd1xuICAgIGlmIChhbmNob3IucmVsID09IG51bGwpIHtcbiAgICAgIGFuY2hvci5yZWwgPSAnJ1xuICAgIH1cblxuICAgIGlmIChuZXdUYWIgIT09IHByZXZOb2RlLl9fZmllbGRzPy5uZXdUYWIpIHtcbiAgICAgIGlmIChuZXdUYWIgPz8gZmFsc2UpIHtcbiAgICAgICAgYW5jaG9yLnRhcmdldCA9ICdfYmxhbmsnXG4gICAgICAgIGlmICh0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICBhbmNob3IucmVsID0gbWFuYWdlUmVsKGFuY2hvci5yZWwsICdhZGQnLCAnbm9vcGVuZXInKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmNob3IucmVtb3ZlQXR0cmlidXRlKCd0YXJnZXQnKVxuICAgICAgICBhbmNob3IucmVsID0gbWFuYWdlUmVsKGFuY2hvci5yZWwsICdyZW1vdmUnLCAnbm9vcGVuZXInKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRBbmNob3JFbGVtZW50KGRvbU5vZGU6IE5vZGUpOiBET01Db252ZXJzaW9uT3V0cHV0IHtcbiAgbGV0IG5vZGU6IExpbmtOb2RlIHwgbnVsbCA9IG51bGxcbiAgaWYgKGlzSFRNTEFuY2hvckVsZW1lbnQoZG9tTm9kZSkpIHtcbiAgICBjb25zdCBjb250ZW50ID0gZG9tTm9kZS50ZXh0Q29udGVudFxuICAgIGlmIChjb250ZW50ICE9PSBudWxsICYmIGNvbnRlbnQgIT09ICcnKSB7XG4gICAgICBub2RlID0gJGNyZWF0ZUxpbmtOb2RlKHtcbiAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgZG9jOiBudWxsLFxuICAgICAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICBuZXdUYWI6IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKSA9PT0gJ19ibGFuaycsXG4gICAgICAgICAgdXJsOiBkb21Ob2RlLmdldEF0dHJpYnV0ZSgnaHJlZicpID8/ICcnLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgbm9kZSB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiAkY3JlYXRlTGlua05vZGUoeyBmaWVsZHMgfTogeyBmaWVsZHM6IExpbmtGaWVsZHMgfSk6IExpbmtOb2RlIHtcbiAgcmV0dXJuICRhcHBseU5vZGVSZXBsYWNlbWVudChuZXcgTGlua05vZGUoeyBmaWVsZHMgfSkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiAkaXNMaW5rTm9kZShub2RlOiBMZXhpY2FsTm9kZSB8IG51bGwgfCB1bmRlZmluZWQpOiBub2RlIGlzIExpbmtOb2RlIHtcbiAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBMaW5rTm9kZVxufVxuXG5leHBvcnQgY29uc3QgVE9HR0xFX0xJTktfQ09NTUFORDogTGV4aWNhbENvbW1hbmQ8TGlua1BheWxvYWQgfCBudWxsPiA9XG4gIGNyZWF0ZUNvbW1hbmQoJ1RPR0dMRV9MSU5LX0NPTU1BTkQnKVxuXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlTGluayhwYXlsb2FkOiBMaW5rUGF5bG9hZCk6IHZvaWQge1xuICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcblxuICBpZiAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICByZXR1cm5cbiAgfVxuICBjb25zdCBub2RlcyA9IHNlbGVjdGlvbi5leHRyYWN0KClcblxuICBpZiAocGF5bG9hZCA9PT0gbnVsbCkge1xuICAgIC8vIFJlbW92ZSBMaW5rTm9kZXNcbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBub2RlLmdldFBhcmVudCgpXG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShwYXJlbnQpKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gcGFyZW50LmdldENoaWxkcmVuKClcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShjaGlsZHJlbltpXSlcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcmVudC5yZW1vdmUoKVxuICAgICAgfVxuICAgIH0pXG4gIH0gZWxzZSB7XG4gICAgLy8gQWRkIG9yIG1lcmdlIExpbmtOb2Rlc1xuICAgIGlmIChub2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGZpcnN0Tm9kZSA9IG5vZGVzWzBdXG4gICAgICAvLyBpZiB0aGUgZmlyc3Qgbm9kZSBpcyBhIExpbmtOb2RlIG9yIGlmIGl0c1xuICAgICAgLy8gcGFyZW50IGlzIGEgTGlua05vZGUsIHdlIHVwZGF0ZSB0aGUgVVJMLCB0YXJnZXQgYW5kIHJlbC5cbiAgICAgIGNvbnN0IGxpbmtOb2RlOiBMaW5rTm9kZSB8IG51bGwgPSAkaXNMaW5rTm9kZShmaXJzdE5vZGUpXG4gICAgICAgID8gZmlyc3ROb2RlXG4gICAgICAgIDogJGdldExpbmtBbmNlc3RvcihmaXJzdE5vZGUpXG4gICAgICBpZiAobGlua05vZGUgIT09IG51bGwpIHtcbiAgICAgICAgbGlua05vZGUuc2V0RmllbGRzKHBheWxvYWQuZmllbGRzKVxuXG4gICAgICAgIGlmIChwYXlsb2FkLnRleHQgIT0gbnVsbCAmJiBwYXlsb2FkLnRleHQgIT09IGxpbmtOb2RlLmdldFRleHRDb250ZW50KCkpIHtcbiAgICAgICAgICAvLyByZW1vdmUgYWxsIGNoaWxkcmVuIGFuZCBhZGQgY2hpbGQgd2l0aCBuZXcgdGV4dGNvbnRlbnQ6XG4gICAgICAgICAgbGlua05vZGUuYXBwZW5kKCRjcmVhdGVUZXh0Tm9kZShwYXlsb2FkLnRleHQpKVxuICAgICAgICAgIGxpbmtOb2RlLmdldENoaWxkcmVuKCkuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZCAhPT0gbGlua05vZGUuZ2V0TGFzdENoaWxkKCkpIHtcbiAgICAgICAgICAgICAgY2hpbGQucmVtb3ZlKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBwcmV2UGFyZW50OiBFbGVtZW50Tm9kZVR5cGUgfCBMaW5rTm9kZSB8IG51bGwgPSBudWxsXG4gICAgbGV0IGxpbmtOb2RlOiBMaW5rTm9kZSB8IG51bGwgPSBudWxsXG5cbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBub2RlLmdldFBhcmVudCgpXG5cbiAgICAgIGlmIChwYXJlbnQgPT09IGxpbmtOb2RlIHx8IHBhcmVudCA9PT0gbnVsbCB8fCAoJGlzRWxlbWVudE5vZGUobm9kZSkgJiYgIW5vZGUuaXNJbmxpbmUoKSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShwYXJlbnQpKSB7XG4gICAgICAgIGxpbmtOb2RlID0gcGFyZW50XG4gICAgICAgIHBhcmVudC5zZXRGaWVsZHMocGF5bG9hZC5maWVsZHMpXG4gICAgICAgIGlmIChwYXlsb2FkLnRleHQgIT0gbnVsbCAmJiBwYXlsb2FkLnRleHQgIT09IHBhcmVudC5nZXRUZXh0Q29udGVudCgpKSB7XG4gICAgICAgICAgLy8gcmVtb3ZlIGFsbCBjaGlsZHJlbiBhbmQgYWRkIGNoaWxkIHdpdGggbmV3IHRleHRjb250ZW50OlxuICAgICAgICAgIHBhcmVudC5hcHBlbmQoJGNyZWF0ZVRleHROb2RlKHBheWxvYWQudGV4dCkpXG4gICAgICAgICAgcGFyZW50LmdldENoaWxkcmVuKCkuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZCAhPT0gcGFyZW50LmdldExhc3RDaGlsZCgpKSB7XG4gICAgICAgICAgICAgIGNoaWxkLnJlbW92ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKCFwYXJlbnQuaXMocHJldlBhcmVudCkpIHtcbiAgICAgICAgcHJldlBhcmVudCA9IHBhcmVudFxuICAgICAgICBsaW5rTm9kZSA9ICRjcmVhdGVMaW5rTm9kZSh7IGZpZWxkczogcGF5bG9hZC5maWVsZHMgfSlcblxuICAgICAgICBpZiAoJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgIGlmIChub2RlLmdldFByZXZpb3VzU2libGluZygpID09PSBudWxsKSB7XG4gICAgICAgICAgICBwYXJlbnQuaW5zZXJ0QmVmb3JlKGxpbmtOb2RlKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJlbnQuaW5zZXJ0QWZ0ZXIobGlua05vZGUpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGUuaW5zZXJ0QmVmb3JlKGxpbmtOb2RlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShub2RlKSkge1xuICAgICAgICBpZiAobm9kZS5pcyhsaW5rTm9kZSkpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBpZiAobGlua05vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IG5vZGUuZ2V0Q2hpbGRyZW4oKVxuXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgbGlua05vZGUuYXBwZW5kKGNoaWxkcmVuW2ldKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5vZGUucmVtb3ZlKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChsaW5rTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBsaW5rTm9kZS5hcHBlbmQobm9kZSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uICRnZXRMaW5rQW5jZXN0b3Iobm9kZTogTGV4aWNhbE5vZGUpOiBMaW5rTm9kZSB8IG51bGwge1xuICByZXR1cm4gJGdldEFuY2VzdG9yKG5vZGUsIChhbmNlc3RvcikgPT4gJGlzTGlua05vZGUoYW5jZXN0b3IpKSBhcyBMaW5rTm9kZVxufVxuXG5mdW5jdGlvbiAkZ2V0QW5jZXN0b3IoXG4gIG5vZGU6IExleGljYWxOb2RlLFxuICBwcmVkaWNhdGU6IChhbmNlc3RvcjogTGV4aWNhbE5vZGUpID0+IGJvb2xlYW4sXG4pOiBMZXhpY2FsTm9kZSB8IG51bGwge1xuICBsZXQgcGFyZW50OiBMZXhpY2FsTm9kZSB8IG51bGwgPSBub2RlXG4gIHdoaWxlIChwYXJlbnQgIT09IG51bGwgJiYgKHBhcmVudCA9IHBhcmVudC5nZXRQYXJlbnQoKSkgIT09IG51bGwgJiYgIXByZWRpY2F0ZShwYXJlbnQpKTtcbiAgcmV0dXJuIHBhcmVudFxufVxuXG5mdW5jdGlvbiBtYW5hZ2VSZWwoaW5wdXQ6IHN0cmluZywgYWN0aW9uOiAnYWRkJyB8ICdyZW1vdmUnLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHJlc3VsdDogc3RyaW5nXG4gIGxldCBtdXRhYmxlSW5wdXQgPSBgJHtpbnB1dH1gXG4gIGlmIChhY3Rpb24gPT09ICdhZGQnKSB7XG4gICAgLy8gaWYgd2Ugc29tZWhvdyBnb3Qgb3V0IG9mIHN5bmMgLSBjbGVhbiB1cFxuICAgIGlmIChtdXRhYmxlSW5wdXQuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAodmFsdWUsICdnJylcbiAgICAgIG11dGFibGVJbnB1dCA9IG11dGFibGVJbnB1dC5yZXBsYWNlKHJlLCAnJykudHJpbSgpXG4gICAgfVxuICAgIG11dGFibGVJbnB1dCA9IG11dGFibGVJbnB1dC50cmltKClcbiAgICByZXN1bHQgPSBtdXRhYmxlSW5wdXQubGVuZ3RoID09PSAwID8gYCR7dmFsdWV9YCA6IGAke211dGFibGVJbnB1dH0gJHt2YWx1ZX1gXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKHZhbHVlLCAnZycpXG4gICAgcmVzdWx0ID0gbXV0YWJsZUlucHV0LnJlcGxhY2UocmUsICcnKS50cmltKClcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsibGV4aWNhbFV0aWxzSW1wb3J0IiwiYWRkQ2xhc3NOYW1lc1RvRWxlbWVudCIsImlzSFRNTEFuY2hvckVsZW1lbnQiLCJsZXhpY2FsSW1wb3J0IiwiJGFwcGx5Tm9kZVJlcGxhY2VtZW50IiwiJGNyZWF0ZVRleHROb2RlIiwiJGdldFNlbGVjdGlvbiIsIiRpc0VsZW1lbnROb2RlIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJFbGVtZW50Tm9kZSIsImNyZWF0ZUNvbW1hbmQiLCJTVVBQT1JURURfVVJMX1BST1RPQ09MUyIsIlNldCIsIkxpbmtOb2RlIiwiX19maWVsZHMiLCJjb25zdHJ1Y3RvciIsImZpZWxkcyIsImRvYyIsImxpbmtUeXBlIiwibmV3VGFiIiwidXJsIiwidW5kZWZpbmVkIiwia2V5IiwiY2xvbmUiLCJub2RlIiwiX19rZXkiLCJnZXRUeXBlIiwiaW1wb3J0RE9NIiwiYSIsImNvbnZlcnNpb24iLCJjb252ZXJ0QW5jaG9yRWxlbWVudCIsInByaW9yaXR5IiwiaW1wb3J0SlNPTiIsInNlcmlhbGl6ZWROb2RlIiwidmVyc2lvbiIsInZhbHVlIiwiaWQiLCIkY3JlYXRlTGlua05vZGUiLCJzZXRGb3JtYXQiLCJmb3JtYXQiLCJzZXRJbmRlbnQiLCJpbmRlbnQiLCJzZXREaXJlY3Rpb24iLCJkaXJlY3Rpb24iLCJjYW5CZUVtcHR5IiwiY2FuSW5zZXJ0VGV4dEFmdGVyIiwiY2FuSW5zZXJ0VGV4dEJlZm9yZSIsImNyZWF0ZURPTSIsImNvbmZpZyIsImVsZW1lbnQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJocmVmIiwic2FuaXRpemVVcmwiLCJ0YXJnZXQiLCJyZWwiLCJtYW5hZ2VSZWwiLCJ0aGVtZSIsImxpbmsiLCJleHBvcnRKU09OIiwidHlwZSIsImdldEZpZWxkcyIsImV4dHJhY3RXaXRoQ2hpbGQiLCJjaGlsZCIsInNlbGVjdGlvbiIsImRlc3RpbmF0aW9uIiwiYW5jaG9yTm9kZSIsImFuY2hvciIsImdldE5vZGUiLCJmb2N1c05vZGUiLCJmb2N1cyIsImlzUGFyZW50T2YiLCJnZXRUZXh0Q29udGVudCIsImxlbmd0aCIsImdldExhdGVzdCIsImluc2VydE5ld0FmdGVyIiwicmVzdG9yZVNlbGVjdGlvbiIsImdldFBhcmVudE9yVGhyb3ciLCJsaW5rTm9kZSIsImFwcGVuZCIsImlzSW5saW5lIiwicGFyc2VkVXJsIiwiVVJMIiwiaGFzIiwicHJvdG9jb2wiLCJlIiwic2V0RmllbGRzIiwid3JpdGFibGUiLCJnZXRXcml0YWJsZSIsInVwZGF0ZURPTSIsInByZXZOb2RlIiwicmVtb3ZlQXR0cmlidXRlIiwiZG9tTm9kZSIsImNvbnRlbnQiLCJ0ZXh0Q29udGVudCIsImdldEF0dHJpYnV0ZSIsIiRpc0xpbmtOb2RlIiwiVE9HR0xFX0xJTktfQ09NTUFORCIsInRvZ2dsZUxpbmsiLCJwYXlsb2FkIiwibm9kZXMiLCJleHRyYWN0IiwiZm9yRWFjaCIsInBhcmVudCIsImdldFBhcmVudCIsImNoaWxkcmVuIiwiZ2V0Q2hpbGRyZW4iLCJpIiwiaW5zZXJ0QmVmb3JlIiwicmVtb3ZlIiwiZmlyc3ROb2RlIiwiJGdldExpbmtBbmNlc3RvciIsInRleHQiLCJnZXRMYXN0Q2hpbGQiLCJwcmV2UGFyZW50IiwiaXMiLCJnZXRQcmV2aW91c1NpYmxpbmciLCJpbnNlcnRBZnRlciIsIiRnZXRBbmNlc3RvciIsImFuY2VzdG9yIiwicHJlZGljYXRlIiwiaW5wdXQiLCJhY3Rpb24iLCJyZXN1bHQiLCJtdXRhYmxlSW5wdXQiLCJpbmNsdWRlcyIsInJlIiwiUmVnRXhwIiwicmVwbGFjZSIsInRyaW0iXSwibWFwcGluZ3MiOiJBQUVBLE9BQU9BLHdCQUF3QixpQkFBZ0I7QUFDL0MsTUFBTSxFQUFFQyxzQkFBc0IsRUFBRUMsbUJBQW1CLEVBQUUsR0FBR0Y7QUFFeEQsT0FBT0csbUJBQW1CLFVBQVM7QUFDbkMsTUFBTSxFQUNKQyxxQkFBcUIsRUFDckJDLGVBQWUsRUFDZkMsYUFBYSxFQUNiQyxjQUFjLEVBQ2RDLGlCQUFpQixFQUNqQkMsV0FBVyxFQUNYQyxhQUFhLEVBQ2QsR0FBR1A7QUFnQkosTUFBTVEsMEJBQTBCLElBQUlDLElBQUk7SUFBQztJQUFTO0lBQVU7SUFBVztJQUFRO0NBQU87QUFFdEYsa0JBQWtCLEdBQ2xCLE9BQU8sTUFBTUMsaUJBQWlCSjtJQUM1QkssU0FBb0I7SUFFcEJDLFlBQVksRUFDVkMsU0FBUztRQUNQQyxLQUFLO1FBQ0xDLFVBQVU7UUFDVkMsUUFBUTtRQUNSQyxLQUFLQztJQUNQLENBQUMsRUFDREMsR0FBRyxFQUlKLENBQUU7UUFDRCxLQUFLLENBQUNBO1FBQ04sSUFBSSxD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
301
+ //# sourceMappingURL=LinkNode.js.map
@@ -0,0 +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)) {\n return\n }\n const nodes = selection.extract()\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","nodes","extract","forEach","parent","getParent","children","getChildren","i","insertBefore","remove","firstNode","$getLinkAncestor","text","getLastChild","prevParent","is","getPreviousSibling","insertAfter","$getAncestor","ancestor","predicate","input","action","result","mutableInput","includes","re","RegExp","replace","trim"],"mappings":"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,YAAY;QACjC;IACF;IACA,MAAMoC,QAAQpC,UAAUqC,OAAO;IAE/B,IAAIF,YAAY,MAAM;QACpB,mBAAmB;QACnBC,MAAME,OAAO,CAAC,CAAC9E;YACb,MAAM+E,SAAS/E,KAAKgF,SAAS;YAE7B,IAAIR,YAAYO,SAAS;gBACvB,MAAME,WAAWF,OAAOG,WAAW;gBAEnC,IAAK,IAAIC,IAAI,GAAGA,IAAIF,SAAShC,MAAM,EAAEkC,KAAK,EAAG;oBAC3CJ,OAAOK,YAAY,CAACH,QAAQ,CAACE,EAAE;gBACjC;gBAEAJ,OAAOM,MAAM;YACf;QACF;IACF,OAAO;QACL,yBAAyB;QACzB,IAAIT,MAAM3B,MAAM,KAAK,GAAG;YACtB,MAAMqC,YAAYV,KAAK,CAAC,EAAE;YAC1B,4CAA4C;YAC5C,2DAA2D;YAC3D,MAAMtB,WAA4BkB,YAAYc,aAC1CA,YACAC,iBAAiBD;YACrB,IAAIhC,aAAa,MAAM;gBACrBA,SAASQ,SAAS,CAACa,QAAQnF,MAAM;gBAEjC,IAAImF,QAAQa,IAAI,IAAI,QAAQb,QAAQa,IAAI,KAAKlC,SAASN,cAAc,IAAI;oBACtE,0DAA0D;oBAC1DM,SAASC,MAAM,CAAC1E,gBAAgB8F,QAAQa,IAAI;oBAC5ClC,SAAS4B,WAAW,GAAGJ,OAAO,CAAC,CAACvC;wBAC9B,IAAIA,UAAUe,SAASmC,YAAY,IAAI;4BACrClD,MAAM8C,MAAM;wBACd;oBACF;gBACF;gBACA;YACF;QACF;QAEA,IAAIK,aAAgD;QACpD,IAAIpC,WAA4B;QAEhCsB,MAAME,OAAO,CAAC,CAAC9E;YACb,MAAM+E,SAAS/E,KAAKgF,SAAS;YAE7B,IAAID,WAAWzB,YAAYyB,WAAW,QAAShG,eAAeiB,SAAS,CAACA,KAAKwD,QAAQ,IAAK;gBACxF;YACF;YAEA,IAAIgB,YAAYO,SAAS;gBACvBzB,WAAWyB;gBACXA,OAAOjB,SAAS,CAACa,QAAQnF,MAAM;gBAC/B,IAAImF,QAAQa,IAAI,IAAI,QAAQb,QAAQa,IAAI,KAAKT,OAAO/B,cAAc,IAAI;oBACpE,0DAA0D;oBAC1D+B,OAAOxB,MAAM,CAAC1E,gBAAgB8F,QAAQa,IAAI;oBAC1CT,OAAOG,WAAW,GAAGJ,OAAO,CAAC,CAACvC;wBAC5B,IAAIA,UAAUwC,OAAOU,YAAY,IAAI;4BACnClD,MAAM8C,MAAM;wBACd;oBACF;gBACF;gBACA;YACF;YAEA,IAAI,CAACN,OAAOY,EAAE,CAACD,aAAa;gBAC1BA,aAAaX;gBACbzB,WAAWzC,gBAAgB;oBAAErB,QAAQmF,QAAQnF,MAAM;gBAAC;gBAEpD,IAAIgF,YAAYO,SAAS;oBACvB,IAAI/E,KAAK4F,kBAAkB,OAAO,MAAM;wBACtCb,OAAOK,YAAY,CAAC9B;oBACtB,OAAO;wBACLyB,OAAOc,WAAW,CAACvC;oBACrB;gBACF,OAAO;oBACLtD,KAAKoF,YAAY,CAAC9B;gBACpB;YACF;YAEA,IAAIkB,YAAYxE,OAAO;gBACrB,IAAIA,KAAK2F,EAAE,CAACrC,WAAW;oBACrB;gBACF;gBACA,IAAIA,aAAa,MAAM;oBACrB,MAAM2B,WAAWjF,KAAKkF,WAAW;oBAEjC,IAAK,IAAIC,IAAI,GAAGA,IAAIF,SAAShC,MAAM,EAAEkC,KAAK,EAAG;wBAC3C7B,SAASC,MAAM,CAAC0B,QAAQ,CAACE,EAAE;oBAC7B;gBACF;gBAEAnF,KAAKqF,MAAM;gBACX;YACF;YAEA,IAAI/B,aAAa,MAAM;gBACrBA,SAASC,MAAM,CAACvD;YAClB;QACF;IACF;AACF;AAEA,SAASuF,iBAAiBvF,IAAiB;IACzC,OAAO8F,aAAa9F,MAAM,CAAC+F,WAAavB,YAAYuB;AACtD;AAEA,SAASD,aACP9F,IAAiB,EACjBgG,SAA6C;IAE7C,IAAIjB,SAA6B/E;IACjC,MAAO+E,WAAW,QAAQ,AAACA,CAAAA,SAASA,OAAOC,SAAS,EAAC,MAAO,QAAQ,CAACgB,UAAUjB;IAC/E,OAAOA;AACT;AAEA,SAAS/C,UAAUiE,KAAa,EAAEC,MAAwB,EAAEvF,KAAa;IACvE,IAAIwF;IACJ,IAAIC,eAAe,CAAC,EAAEH,MAAM,CAAC;IAC7B,IAAIC,WAAW,OAAO;QACpB,2CAA2C;QAC3C,IAAIE,aAAaC,QAAQ,CAAC1F,QAAQ;YAChC,MAAM2F,KAAK,IAAIC,OAAO5F,OAAO;YAC7ByF,eAAeA,aAAaI,OAAO,CAACF,IAAI,IAAIG,IAAI;QAClD;QACAL,eAAeA,aAAaK,IAAI;QAChCN,SAASC,aAAanD,MAAM,KAAK,IAAI,CAAC,EAAEtC,MAAM,CAAC,GAAG,CAAC,EAAEyF,aAAa,CAAC,EAAEzF,MAAM,CAAC;IAC9E,OAAO;QACL,MAAM2F,KAAK,IAAIC,OAAO5F,OAAO;QAC7BwF,SAASC,aAAaI,OAAO,CAACF,IAAI,IAAIG,IAAI;IAC5C;IACA,OAAON;AACT"}
@@ -1,3 +1,3 @@
1
1
  export { };
2
2
 
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2VyaWFsaXplZEVsZW1lbnROb2RlLCBTcHJlYWQgfSBmcm9tICdsZXhpY2FsJ1xuXG5leHBvcnQgdHlwZSBMaW5rRmllbGRzID0ge1xuICAvLyB1bmtub3duLCBjdXN0b20gZmllbGRzOlxuICBba2V5OiBzdHJpbmddOiB1bmtub3duXG4gIGRvYzoge1xuICAgIHJlbGF0aW9uVG86IHN0cmluZ1xuICAgIHZhbHVlOlxuICAgICAgfCB7XG4gICAgICAgICAgLy8gQWN0dWFsIGRvYyBkYXRhLCBwb3B1bGF0ZWQgaW4gYWZ0ZXJSZWFkIGhvb2tcbiAgICAgICAgICBba2V5OiBzdHJpbmddOiB1bmtub3duXG4gICAgICAgICAgaWQ6IHN0cmluZ1xuICAgICAgICB9XG4gICAgICB8IHN0cmluZ1xuICB9IHwgbnVsbFxuICBsaW5rVHlwZTogJ2N1c3RvbScgfCAnaW50ZXJuYWwnXG4gIG5ld1RhYjogYm9vbGVhblxuICB1cmw6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTZXJpYWxpemVkTGlua05vZGUgPSBTcHJlYWQ8XG4gIHtcbiAgICBmaWVsZHM6IExpbmtGaWVsZHNcbiAgfSxcbiAgU2VyaWFsaXplZEVsZW1lbnROb2RlXG4+XG5leHBvcnQgdHlwZSBTZXJpYWxpemVkQXV0b0xpbmtOb2RlID0gU2VyaWFsaXplZExpbmtOb2RlXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEJBLFdBQXVEIn0=
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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":[],"mappings":"AA0BA,WAAuD"}
@@ -318,4 +318,4 @@ export function AutoLinkPlugin() {
318
318
  return null;
319
319
  }
320
320
 
321
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvYXV0b0xpbmsvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IGxleGljYWxDb21wb3NlckNvbnRleHRJbXBvcnQgZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dC5qcydcbmNvbnN0IHsgdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCB9ID0gbGV4aWNhbENvbXBvc2VyQ29udGV4dEltcG9ydFxuXG5pbXBvcnQgbGV4aWNhbFV0aWxzSW1wb3J0IGZyb20gJ0BsZXhpY2FsL3V0aWxzJ1xuY29uc3QgeyBtZXJnZVJlZ2lzdGVyIH0gPSBsZXhpY2FsVXRpbHNJbXBvcnRcblxuaW1wb3J0IGxleGljYWxJbXBvcnQgZnJvbSAnbGV4aWNhbCdcbmNvbnN0IHtcbiAgJGNyZWF0ZVRleHROb2RlLFxuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNFbGVtZW50Tm9kZSxcbiAgJGlzTGluZUJyZWFrTm9kZSxcbiAgJGlzTm9kZVNlbGVjdGlvbixcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gICRpc1RleHROb2RlLFxuICBUZXh0Tm9kZTogVGV4dE5vZGVWYWx1ZSxcbn0gPSBsZXhpY2FsSW1wb3J0XG5cbmltcG9ydCB0eXBlIHsgRWxlbWVudE5vZGUsIExleGljYWxFZGl0b3IsIExleGljYWxOb2RlIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHsgdHlwZSBUZXh0Tm9kZSB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBMaW5rRmllbGRzIH0gZnJvbSAnLi4vLi4vbm9kZXMvdHlwZXMuanMnXG5cbmltcG9ydCB7IGludmFyaWFudCB9IGZyb20gJy4uLy4uLy4uLy4uL2xleGljYWwvdXRpbHMvaW52YXJpYW50LmpzJ1xuaW1wb3J0IHsgJGNyZWF0ZUF1dG9MaW5rTm9kZSwgJGlzQXV0b0xpbmtOb2RlLCBBdXRvTGlua05vZGUgfSBmcm9tICcuLi8uLi9ub2Rlcy9BdXRvTGlua05vZGUuanMnXG5pbXBvcnQgeyAkaXNMaW5rTm9kZSB9IGZyb20gJy4uLy4uL25vZGVzL0xpbmtOb2RlLmpzJ1xuXG50eXBlIENoYW5nZUhhbmRsZXIgPSAodXJsOiBudWxsIHwgc3RyaW5nLCBwcmV2VXJsOiBudWxsIHwgc3RyaW5nKSA9PiB2b2lkXG5cbmludGVyZmFjZSBMaW5rTWF0Y2hlclJlc3VsdCB7XG4gIGZpZWxkcz86IExpbmtGaWVsZHNcbiAgaW5kZXg6IG51bWJlclxuICBsZW5ndGg6IG51bWJlclxuICB0ZXh0OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTGlua01hdGNoZXIgPSAodGV4dDogc3RyaW5nKSA9PiBMaW5rTWF0Y2hlclJlc3VsdCB8IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpbmtNYXRjaGVyV2l0aFJlZ0V4cChcbiAgcmVnRXhwOiBSZWdFeHAsXG4gIHVybFRyYW5zZm9ybWVyOiAodGV4dDogc3RyaW5nKSA9PiBzdHJpbmcgPSAodGV4dCkgPT4gdGV4dCxcbikge1xuICByZXR1cm4gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1hdGNoID0gcmVnRXhwLmV4ZWModGV4dClcbiAgICBpZiAobWF0Y2ggPT09IG51bGwpIHJldHVybiBudWxsXG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiBtYXRjaC5pbmRleCxcbiAgICAgIGxlbmd0aDogbWF0Y2hbMF0ubGVuZ3RoLFxuICAgICAgdGV4dDogbWF0Y2hbMF0sXG4gICAgICB1cmw6IHVybFRyYW5zZm9ybWVyKG1hdGNoWzBdKSxcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEZpcnN0TWF0Y2godGV4dDogc3RyaW5nLCBtYXRjaGVyczogTGlua01hdGNoZXJbXSk6IExpbmtNYXRjaGVyUmVzdWx0IHwgbnVsbCB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWF0Y2hlcnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBtYXRjaCA9IG1hdGNoZXJzW2ldKHRleHQpXG5cbiAgICBpZiAobWF0Y2ggIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1hdGNoXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuY29uc3QgUFVOQ1RVQVRJT05fT1JfU1BBQ0UgPSAvWy4sO1xcc10vXG5cbmZ1bmN0aW9uIGlzU2VwYXJhdG9yKGNoYXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gUFVOQ1RVQVRJT05fT1JfU1BBQ0UudGVzdChjaGFyKVxufVxuXG5mdW5jdGlvbiBlbmRzV2l0aFNlcGFyYXRvcih0ZXh0Q29udGVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1NlcGFyYXRvcih0ZXh0Q29udGVudFt0ZXh0Q29udGVudC5sZW5ndGggLSAxXSlcbn1cblxuZnVuY3Rpb24gc3RhcnRzV2l0aFNlcGFyYXRvcih0ZXh0Q29udGVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1NlcGFyYXRvcih0ZXh0Q29udGVudFswXSlcbn1cblxuZnVuY3Rpb24gaXNQcmV2aW91c05vZGVWYWxpZChub2RlOiBMZXhpY2FsTm9kZSk6IGJvb2xlYW4ge1xuICBsZXQgcHJldmlvdXNOb2RlID0gbm9kZS5nZXRQcmV2aW91c1NpYmxpbmcoKVxuICBpZiAoJGlzRWxlbWVudE5vZGUocHJldmlvdXNOb2RlKSkge1xuICAgIHByZXZpb3VzTm9kZSA9IHByZXZpb3VzTm9kZS5nZXRMYXN0RGVzY2VuZGFudCgpXG4gIH1cbiAgcmV0dXJuIChcbiAgICBwcmV2aW91c05vZGUgPT09IG51bGwgfHxcbiAgICAkaXNMaW5lQnJlYWtOb2RlKHByZXZpb3VzTm9kZSkgfHxcbiAgICAoJGlzVGV4dE5vZGUocHJldmlvdXNOb2RlKSAmJiBlbmRzV2l0aFNlcGFyYXRvcihwcmV2aW91c05vZGUuZ2V0VGV4dENvbnRlbnQoKSkpXG4gIClcbn1cblxuZnVuY3Rpb24gaXNOZXh0Tm9kZVZhbGlkKG5vZGU6IExleGljYWxOb2RlKTogYm9vbGVhbiB7XG4gIGxldCBuZXh0Tm9kZSA9IG5vZGUuZ2V0TmV4dFNpYmxpbmcoKVxuICBpZiAoJGlzRWxlbWVudE5vZGUobmV4dE5vZGUpKSB7XG4gICAgbmV4dE5vZGUgPSBuZXh0Tm9kZS5nZXRGaXJzdERlc2NlbmRhbnQoKVxuICB9XG4gIHJldHVybiAoXG4gICAgbmV4dE5vZGUgPT09IG51bGwgfHxcbiAgICAkaXNMaW5lQnJlYWtOb2RlKG5leHROb2RlKSB8fFxuICAgICgkaXNUZXh0Tm9kZShuZXh0Tm9kZSkgJiYgc3RhcnRzV2l0aFNlcGFyYXRvcihuZXh0Tm9kZS5nZXRUZXh0Q29udGVudCgpKSlcbiAgKVxufVxuXG5mdW5jdGlvbiBpc0NvbnRlbnRBcm91bmRJc1ZhbGlkKFxuICBtYXRjaFN0YXJ0OiBudW1iZXIsXG4gIG1hdGNoRW5kOiBudW1iZXIsXG4gIHRleHQ6IHN0cmluZyxcbiAgbm9kZXM6IFRleHROb2RlW10sXG4pOiBib29sZWFuIHtcbiAgY29uc3QgY29udGVudEJlZm9yZUlzVmFsaWQgPVxuICAgIG1hdGNoU3RhcnQgPiAwID8gaXNTZXBhcmF0b3IodGV4dFttYXRjaFN0YXJ0IC0gMV0pIDogaXNQcmV2aW91c05vZGVWYWxpZChub2Rlc1swXSlcbiAgaWYgKCFjb250ZW50QmVmb3JlSXNWYWxpZCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY29uc3QgY29udGVudEFmdGVySXNWYWxpZCA9XG4gICAgbWF0Y2hFbmQgPCB0ZXh0Lmxlbmd0aCA/IGlzU2VwYXJhdG9yKHRleHRbbWF0Y2hFbmRdKSA6IGlzTmV4dE5vZGVWYWxpZChub2Rlc1tub2Rlcy5sZW5ndGggLSAxXSlcbiAgcmV0dXJuIGNvbnRlbnRBZnRlcklzVmFsaWRcbn1cblxuZnVuY3Rpb24gZXh0cmFjdE1hdGNoaW5nTm9kZXMoXG4gIG5vZGVzOiBUZXh0Tm9kZVtdLFxuICBzdGFydEluZGV4OiBudW1iZXIsXG4gIGVuZEluZGV4OiBudW1iZXIsXG4pOiBbXG4gIG1hdGNoaW5nT2Zmc2V0OiBudW1iZXIsXG4gIHVubW9kaWZpZWRCZWZvcmVOb2RlczogVGV4dE5vZGVbXSxcbiAgbWF0Y2hpbmdOb2RlczogVGV4dE5vZGVbXSxcbiAgdW5tb2RpZmllZEFmdGVyTm9kZXM6IFRleHROb2RlW10sXG5dIHtcbiAgY29uc3QgdW5tb2RpZmllZEJlZm9yZU5vZGVzOiBUZXh0Tm9kZVtdID0gW11cbiAgY29uc3QgbWF0Y2hpbmdOb2RlczogVGV4dE5vZGVbXSA9IFtdXG4gIGNvbnN0IHVubW9kaWZpZWRBZnRlck5vZGVzOiBUZXh0Tm9kZVtdID0gW11cbiAgbGV0IG1hdGNoaW5nT2Zmc2V0ID0gMFxuXG4gIGxldCBjdXJyZW50T2Zmc2V0ID0gMFxuICBjb25zdCBjdXJyZW50Tm9kZXMgPSBbLi4ubm9kZXNdXG5cbiAgd2hpbGUgKGN1cnJlbnROb2Rlcy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZXNbMF1cbiAgICBjb25zdCBjdXJyZW50Tm9kZVRleHQgPSBjdXJyZW50Tm9kZS5nZXRUZXh0Q29udGVudCgpXG4gICAgY29uc3QgY3VycmVudE5vZGVMZW5ndGggPSBjdXJyZW50Tm9kZVRleHQubGVuZ3RoXG4gICAgY29uc3QgY3VycmVudE5vZGVTdGFydCA9IGN1cnJlbnRPZmZzZXRcbiAgICBjb25zdCBjdXJyZW50Tm9kZUVuZCA9IGN1cnJlbnRPZmZzZXQgKyBjdXJyZW50Tm9kZUxlbmd0aFxuXG4gICAgaWYgKGN1cnJlbnROb2RlRW5kIDw9IHN0YXJ0SW5kZXgpIHtcbiAgICAgIHVubW9kaWZpZWRCZWZvcmVOb2Rlcy5wdXNoKGN1cnJlbnROb2RlKVxuICAgICAgbWF0Y2hpbmdPZmZzZXQgKz0gY3VycmVudE5vZGVMZW5ndGhcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnROb2RlU3RhcnQgPj0gZW5kSW5kZXgpIHtcbiAgICAgIHVubW9kaWZpZWRBZnRlck5vZGVzLnB1c2goY3VycmVudE5vZGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIG1hdGNoaW5nTm9kZXMucHVzaChjdXJyZW50Tm9kZSlcbiAgICB9XG4gICAgY3VycmVudE9mZnNldCArPSBjdXJyZW50Tm9kZUxlbmd0aFxuICAgIGN1cnJlbnROb2Rlcy5zaGlmdCgpXG4gIH1cbiAgcmV0dXJuIFttYXRjaGluZ09mZnNldCwgdW5tb2RpZmllZEJlZm9yZU5vZGVzLCBtYXRjaGluZ05vZGVzLCB1bm1vZGlmaWVkQWZ0ZXJOb2Rlc11cbn1cblxuZnVuY3Rpb24gY3JlYXRlQXV0b0xpbmtOb2RlKFxuICBub2RlczogVGV4dE5vZGVbXSxcbiAgc3RhcnRJbmRleDogbnVtYmVyLFxuICBlbmRJbmRleDogbnVtYmVyLFxuICBtYXRjaDogTGlua01hdGNoZXJSZXN1bHQsXG4pOiBUZXh0Tm9kZSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGZpZWxkczogTGlua0ZpZWxkcyA9IHtcbiAgICBsaW5rVHlwZTogJ2N1c3RvbScsXG4gICAgdXJsOiBtYXRjaC51cmwsXG4gICAgLi4ubWF0Y2guZmllbGRzLFxuICB9XG5cbiAgY29uc3QgbGlua05vZGUgPSAkY3JlYXRlQXV0b0xpbmtOb2RlKHsgZmllbGRzIH0pXG4gIGlmIChub2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICBsZXQgcmVtYWluaW5nVGV4dE5vZGUgPSBub2Rlc1swXVxuICAgIGxldCBsaW5rVGV4dE5vZGVcbiAgICBpZiAoc3RhcnRJbmRleCA9PT0gMCkge1xuICAgICAgO1tsaW5rVGV4dE5vZGUsIHJlbWFpbmluZ1RleHROb2RlXSA9IHJlbWFpbmluZ1RleHROb2RlLnNwbGl0VGV4dChlbmRJbmRleClcbiAgICB9IGVsc2Uge1xuICAgICAgO1ssIGxpbmtUZXh0Tm9kZSwgcmVtYWluaW5nVGV4dE5vZGVdID0gcmVtYWluaW5nVGV4dE5vZGUuc3BsaXRUZXh0KHN0YXJ0SW5kZXgsIGVuZEluZGV4KVxuICAgIH1cbiAgICBjb25zdCB0ZXh0Tm9kZSA9ICRjcmVhdGVUZXh0Tm9kZShtYXRjaC50ZXh0KVxuICAgIHRleHROb2RlLnNldEZvcm1hdChsaW5rVGV4dE5vZGUuZ2V0Rm9ybWF0KCkpXG4gICAgdGV4dE5vZGUuc2V0RGV0YWlsKGxpbmtUZXh0Tm9kZS5nZXREZXRhaWwoKSlcbiAgICBsaW5rTm9kZS5hcHBlbmQodGV4dE5vZGUpXG4gICAgbGlua1RleHROb2RlLnJlcGxhY2UobGlua05vZGUpXG4gICAgcmV0dXJuIHJlbWFpbmluZ1RleHROb2RlXG4gIH0gZWxzZSBpZiAobm9kZXMubGVuZ3RoID4gMSkge1xuICAgIGNvbnN0IGZpcnN0VGV4dE5vZGUgPSBub2Rlc1swXVxuICAgIGxldCBvZmZzZXQgPSBmaXJzdFRleHROb2RlLmdldFRleHRDb250ZW50KCkubGVuZ3RoXG4gICAgbGV0IGZpcnN0TGlua1RleHROb2RlXG4gICAgaWYgKHN0YXJ0SW5kZXggPT09IDApIHtcbiAgICAgIGZpcnN0TGlua1RleHROb2RlID0gZmlyc3RUZXh0Tm9kZVxuICAgIH0gZWxzZSB7XG4gICAgICA7WywgZmlyc3RMaW5rVGV4dE5vZGVdID0gZmlyc3RUZXh0Tm9kZS5zcGxpdFRleHQoc3RhcnRJbmRleClcbiAgICB9XG4gICAgY29uc3QgbGlua05vZGVzID0gW11cbiAgICBsZXQgcmVtYWluaW5nVGV4dE5vZGVcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjdXJyZW50Tm9kZSA9IG5vZGVzW2ldXG4gICAgICBjb25zdCBjdXJyZW50Tm9kZVRleHQgPSBjdXJyZW50Tm9kZS5nZXRUZXh0Q29udGVudCgpXG4gICAgICBjb25zdCBjdXJyZW50Tm9kZUxlbmd0aCA9IGN1cnJlbnROb2RlVGV4dC5sZW5ndGhcbiAgICAgIGNvbnN0IGN1cnJlbnROb2RlU3RhcnQgPSBvZmZzZXRcbiAgICAgIGNvbnN0IGN1cnJlbnROb2RlRW5kID0gb2Zmc2V0ICsgY3VycmVudE5vZGVMZW5ndGhcbiAgICAgIGlmIChjdXJyZW50Tm9kZVN0YXJ0IDwgZW5kSW5kZXgpIHtcbiAgICAgICAgaWYgKGN1cnJlbnROb2RlRW5kIDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgbGlua05vZGVzLnB1c2goY3VycmVudE5vZGUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgW2xpbmtUZXh0Tm9kZSwgZW5kTm9kZV0gPSBjdXJyZW50Tm9kZS5zcGxpdFRleHQoZW5kSW5kZXggLSBjdXJyZW50Tm9kZVN0YXJ0KVxuICAgICAgICAgIGxpbmtOb2Rlcy5wdXNoKGxpbmtUZXh0Tm9kZSlcbiAgICAgICAgICByZW1haW5pbmdUZXh0Tm9kZSA9IGVuZE5vZGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb2Zmc2V0ICs9IGN1cnJlbnROb2RlTGVuZ3RoXG4gICAgfVxuICAgIGNvbnN0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKVxuICAgIGNvbnN0IHNlbGVjdGVkVGV4dE5vZGUgPSBzZWxlY3Rpb24gPyBzZWxlY3Rpb24uZ2V0Tm9kZXMoKS5maW5kKCRpc1RleHROb2RlKSA6IHVuZGVmaW5lZFxuICAgIGNvbnN0IHRleHROb2RlID0gJGNyZWF0ZVRleHROb2RlKGZpcnN0TGlua1RleHROb2RlLmdldFRleHRDb250ZW50KCkpXG4gICAgdGV4dE5vZGUuc2V0Rm9ybWF0KGZpcnN0TGlua1RleHROb2RlLmdldEZvcm1hdCgpKVxuICAgIHRleHROb2RlLnNldERldGFpbChmaXJzdExpbmtUZXh0Tm9kZS5nZXREZXRhaWwoKSlcbiAgICBsaW5rTm9kZS5hcHBlbmQodGV4dE5vZGUsIC4uLmxpbmtOb2RlcylcbiAgICAvLyBpdCBkb2VzIG5vdCBwcmVzZXJ2ZSBjYXJldCBwb3NpdGlvbiBpZiBjYXJldCB3YXMgYXQgdGhlIGZpcnN0IHRleHQgbm9kZVxuICAgIC8vIHNvIHdlIG5lZWQgdG8gcmVzdG9yZSBjYXJldCBwb3NpdGlvblxuICAgIGlmIChzZWxlY3RlZFRleHROb2RlICYmIHNlbGVjdGVkVGV4dE5vZGUgPT09IGZpcnN0TGlua1RleHROb2RlKSB7XG4gICAgICBpZiAoJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgICB0ZXh0Tm9kZS5zZWxlY3Qoc2VsZWN0aW9uLmFuY2hvci5vZmZzZXQsIHNlbGVjdGlvbi5mb2N1cy5vZmZzZXQpXG4gICAgICB9IGVsc2UgaWYgKCRpc05vZGVTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgICB0ZXh0Tm9kZS5zZWxlY3QoMCwgdGV4dE5vZGUuZ2V0VGV4dENvbnRlbnQoKS5sZW5ndGgpXG4gICAgICB9XG4gICAgfVxuICAgIGZpcnN0TGlua1RleHROb2RlLnJlcGxhY2UobGlua05vZGUpXG4gICAgcmV0dXJuIHJlbWFpbmluZ1RleHROb2RlXG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBoYW5kbGVMaW5rQ3JlYXRpb24oXG4gIG5vZGVzOiBUZXh0Tm9kZVtdLFxuICBtYXRjaGVyczogTGlua01hdGNoZXJbXSxcbiAgb25DaGFuZ2U6IENoYW5nZUhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgbGV0IGN1cnJlbnROb2RlcyA9IFsuLi5ub2Rlc11cbiAgY29uc3QgaW5pdGlhbFRleHQgPSBjdXJyZW50Tm9kZXMubWFwKChub2RlKSA9PiBub2RlLmdldFRleHRDb250ZW50KCkpLmpvaW4oJycpXG4gIGxldCB0ZXh0ID0gaW5pdGlhbFRleHRcblxuICBsZXQgbWF0Y2hcbiAgbGV0IGludmFsaWRNYXRjaEVuZCA9IDBcblxuICB3aGlsZSAoKG1hdGNoID0gZmluZEZpcnN0TWF0Y2godGV4dCwgbWF0Y2hlcnMpKSAhPSBudWxsICYmIG1hdGNoICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWF0Y2hTdGFydDogbnVtYmVyID0gbWF0Y2guaW5kZXhcbiAgICBjb25zdCBtYXRjaExlbmd0aDogbnVtYmVyID0gbWF0Y2gubGVuZ3RoXG4gICAgY29uc3QgbWF0Y2hFbmQgPSBtYXRjaFN0YXJ0ICsgbWF0Y2hMZW5ndGhcbiAgICBjb25zdCBpc1ZhbGlkID0gaXNDb250ZW50QXJvdW5kSXNWYWxpZChcbiAgICAgIGludmFsaWRNYXRjaEVuZCArIG1hdGNoU3RhcnQsXG4gICAgICBpbnZhbGlkTWF0Y2hFbmQgKyBtYXRjaEVuZCxcbiAgICAgIGluaXRpYWxUZXh0LFxuICAgICAgY3VycmVudE5vZGVzLFxuICAgIClcblxuICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICBjb25zdCBbbWF0Y2hpbmdPZmZzZXQsICwgbWF0Y2hpbmdOb2RlcywgdW5tb2RpZmllZEFmdGVyTm9kZXNdID0gZXh0cmFjdE1hdGNoaW5nTm9kZXMoXG4gICAgICAgIGN1cnJlbnROb2RlcyxcbiAgICAgICAgaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hTdGFydCxcbiAgICAgICAgaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hFbmQsXG4gICAgICApXG5cbiAgICAgIGNvbnN0IGFjdHVhbE1hdGNoU3RhcnQgPSBpbnZhbGlkTWF0Y2hFbmQgKyBtYXRjaFN0YXJ0IC0gbWF0Y2hpbmdPZmZzZXRcbiAgICAgIGNvbnN0IGFjdHVhbE1hdGNoRW5kID0gaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hFbmQgLSBtYXRjaGluZ09mZnNldFxuICAgICAgY29uc3QgcmVtYWluaW5nVGV4dE5vZGUgPSBjcmVhdGVBdXRvTGlua05vZGUoXG4gICAgICAgIG1hdGNoaW5nTm9kZXMsXG4gICAgICAgIGFjdHVhbE1hdGNoU3RhcnQsXG4gICAgICAgIGFjdHVhbE1hdGNoRW5kLFxuICAgICAgICBtYXRjaCxcbiAgICAgIClcbiAgICAgIGN1cnJlbnROb2RlcyA9IHJlbWFpbmluZ1RleHROb2RlXG4gICAgICAgID8gW3JlbWFpbmluZ1RleHROb2RlLCAuLi51bm1vZGlmaWVkQWZ0ZXJOb2Rlc11cbiAgICAgICAgOiB1bm1vZGlmaWVkQWZ0ZXJOb2Rlc1xuICAgICAgb25DaGFuZ2UobWF0Y2gudXJsLCBudWxsKVxuICAgICAgaW52YWxpZE1hdGNoRW5kID0gMFxuICAgIH0gZWxzZSB7XG4gICAgICBpbnZhbGlkTWF0Y2hFbmQgKz0gbWF0Y2hFbmRcbiAgICB9XG5cbiAgICB0ZXh0ID0gdGV4dC5zdWJzdHJpbmcobWF0Y2hFbmQpXG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlTGlua0VkaXQoXG4gIGxpbmtOb2RlOiBBdXRvTGlua05vZGUsXG4gIG1hdGNoZXJzOiBMaW5rTWF0Y2hlcltdLFxuICBvbkNoYW5nZTogQ2hhbmdlSGFuZGxlcixcbik6IHZvaWQge1xuICAvLyBDaGVjayBjaGlsZHJlbiBhcmUgc2ltcGxlIHRleHRcbiAgY29uc3QgY2hpbGRyZW4gPSBsaW5rTm9kZS5nZXRDaGlsZHJlbigpXG4gIGNvbnN0IGNoaWxkcmVuTGVuZ3RoID0gY2hpbGRyZW4ubGVuZ3RoXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW5MZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNoaWxkID0gY2hpbGRyZW5baV1cbiAgICBpZiAoISRpc1RleHROb2RlKGNoaWxkKSB8fCAhY2hpbGQuaXNTaW1wbGVUZXh0KCkpIHtcbiAgICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obGlua05vZGUpXG4gICAgICBvbkNoYW5nZShudWxsLCBsaW5rTm9kZS5nZXRGaWVsZHMoKT8udXJsID8/IG51bGwpXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayB0ZXh0IGNvbnRlbnQgZnVsbHkgbWF0Y2hlc1xuICBjb25zdCB0ZXh0ID0gbGlua05vZGUuZ2V0VGV4dENvbnRlbnQoKVxuICBjb25zdCBtYXRjaCA9IGZpbmRGaXJzdE1hdGNoKHRleHQsIG1hdGNoZXJzKVxuICBpZiAobWF0Y2ggPT09IG51bGwgfHwgbWF0Y2gudGV4dCAhPT0gdGV4dCkge1xuICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obGlua05vZGUpXG4gICAgb25DaGFuZ2UobnVsbCwgbGlua05vZGUuZ2V0RmllbGRzKCk/LnVybCA/PyBudWxsKVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gQ2hlY2sgbmVpZ2hib3JzXG4gIGlmICghaXNQcmV2aW91c05vZGVWYWxpZChsaW5rTm9kZSkgfHwgIWlzTmV4dE5vZGVWYWxpZChsaW5rTm9kZSkpIHtcbiAgICByZXBsYWNlV2l0aENoaWxkcmVuKGxpbmtOb2RlKVxuICAgIG9uQ2hhbmdlKG51bGwsIGxpbmtOb2RlLmdldEZpZWxkcygpPy51cmwgPz8gbnVsbClcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHVybCA9IGxpbmtOb2RlLmdldEZpZWxkcygpPy51cmxcbiAgaWYgKHVybCAhPT0gbWF0Y2g/LnVybCkge1xuICAgIGNvbnN0IGZsZHMgPSBsaW5rTm9kZS5nZXRGaWVsZHMoKVxuICAgIGZsZHMudXJsID0gbWF0Y2g/LnVybFxuICAgIGxpbmtOb2RlLnNldEZpZWxkcyhmbGRzKVxuICAgIG9uQ2hhbmdlKG1hdGNoLnVybCwgdXJsID8/IG51bGwpXG4gIH1cbn1cblxuLy8gQmFkIG5laWdoYm9ycyBhcmUgZWRpdHMgaW4gbmVpZ2hib3Igbm9kZXMgdGhhdCBtYWtlIEF1dG9MaW5rcyBpbmNvbXBhdGlibGUuXG4vLyBHaXZlbiB0aGUgY3JlYXRpb24gcHJlY29uZGl0aW9ucywgdGhlc2UgY2FuIG9ubHkgYmUgc2ltcGxlIHRleHQgbm9kZXMuXG5mdW5jdGlvbiBoYW5kbGVCYWROZWlnaGJvcnMoXG4gIHRleHROb2RlOiBUZXh0Tm9kZSxcbiAgbWF0Y2hlcnM6IExpbmtNYXRjaGVyW10sXG4gIG9uQ2hhbmdlOiBDaGFuZ2VIYW5kbGVyLFxuKTogdm9pZCB7XG4gIGNvbnN0IHByZXZpb3VzU2libGluZyA9IHRleHROb2RlLmdldFByZXZpb3VzU2libGluZygpXG4gIGNvbnN0IG5leHRTaWJsaW5nID0gdGV4dE5vZGUuZ2V0TmV4dFNpYmxpbmcoKVxuICBjb25zdCB0ZXh0ID0gdGV4dE5vZGUuZ2V0VGV4dENvbnRlbnQoKVxuXG4gIGlmICgkaXNBdXRvTGlua05vZGUocHJldmlvdXNTaWJsaW5nKSAmJiAhc3RhcnRzV2l0aFNlcGFyYXRvcih0ZXh0KSkge1xuICAgIHByZXZpb3VzU2libGluZy5hcHBlbmQodGV4dE5vZGUpXG4gICAgaGFuZGxlTGlua0VkaXQocHJldmlvdXNTaWJsaW5nLCBtYXRjaGVycywgb25DaGFuZ2UpXG4gICAgb25DaGFuZ2UobnVsbCwgcHJldmlvdXNTaWJsaW5nLmdldEZpZWxkcygpPy51cmwgPz8gbnVsbClcbiAgfVxuXG4gIGlmICgkaXNBdXRvTGlua05vZGUobmV4dFNpYmxpbmcpICYmICFlbmRzV2l0aFNlcGFyYXRvcih0ZXh0KSkge1xuICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obmV4dFNpYmxpbmcpXG4gICAgaGFuZGxlTGlua0VkaXQobmV4dFNpYmxpbmcsIG1hdGNoZXJzLCBvbkNoYW5nZSlcbiAgICBvbkNoYW5nZShudWxsLCBuZXh0U2libGluZy5nZXRGaWVsZHMoKT8udXJsID8/IG51bGwpXG4gIH1cbn1cblxuZnVuY3Rpb24gcmVwbGFjZVdpdGhDaGlsZHJlbihub2RlOiBFbGVtZW50Tm9kZSk6IExleGljYWxOb2RlW10ge1xuICBjb25zdCBjaGlsZHJlbiA9IG5vZGUuZ2V0Q2hpbGRyZW4oKVxuICBjb25zdCBjaGlsZHJlbkxlbmd0aCA9IGNoaWxkcmVuLmxlbmd0aFxuXG4gIGZvciAobGV0IGogPSBjaGlsZHJlbkxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7XG4gICAgbm9kZS5pbnNlcnRBZnRlcihjaGlsZHJlbltqXSlcbiAgfVxuXG4gIG5vZGUucmVtb3ZlKClcbiAgcmV0dXJuIGNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IGNoaWxkLmdldExhdGVzdCgpKVxufVxuXG5mdW5jdGlvbiBnZXRUZXh0Tm9kZXNUb01hdGNoKHRleHROb2RlOiBUZXh0Tm9kZSk6IFRleHROb2RlW10ge1xuICAvLyBjaGVjayBpZiBuZXh0IHNpYmxpbmdzIGFyZSBzaW1wbGUgdGV4dCBub2RlcyB0aWxsIGEgbm9kZSBjb250YWlucyBhIHNwYWNlIHNlcGFyYXRvclxuICBjb25zdCB0ZXh0Tm9kZXNUb01hdGNoID0gW3RleHROb2RlXVxuICBsZXQgbmV4dFNpYmxpbmcgPSB0ZXh0Tm9kZS5nZXROZXh0U2libGluZygpXG4gIHdoaWxlIChuZXh0U2libGluZyAhPT0gbnVsbCAmJiAkaXNUZXh0Tm9kZShuZXh0U2libGluZykgJiYgbmV4dFNpYmxpbmcuaXNTaW1wbGVUZXh0KCkpIHtcbiAgICB0ZXh0Tm9kZXNUb01hdGNoLnB1c2gobmV4dFNpYmxpbmcpXG4gICAgaWYgKC9cXHMvLnRlc3QobmV4dFNpYmxpbmcuZ2V0VGV4dENvbnRlbnQoKSkpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIG5leHRTaWJsaW5nID0gbmV4dFNpYmxpbmcuZ2V0TmV4dFNpYmxpbmcoKVxuICB9XG4gIHJldHVybiB0ZXh0Tm9kZXNUb01hdGNoXG59XG5cbmZ1bmN0aW9uIHVzZUF1dG9MaW5rKFxuICBlZGl0b3I6IExleGljYWxFZGl0b3IsXG4gIG1hdGNoZXJzOiBMaW5rTWF0Y2hlcltdLFxuICBvbkNoYW5nZT86IENoYW5nZUhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVkaXRvci5oYXNOb2RlcyhbQXV0b0xpbmtOb2RlXSkpIHtcbiAgICAgIGludmFyaWFudChmYWxzZSwgJ0xleGljYWxBdXRvTGlua1BsdWdpbjogQXV0b0xpbmtOb2RlIG5vdCByZWdpc3RlcmVkIG9uIGVkaXRvcicpXG4gICAgfVxuXG4gICAgY29uc3Qgb25DaGFuZ2VXcmFwcGVkID0gKHVybDogbnVsbCB8IHN0cmluZywgcHJldlVybDogbnVsbCB8IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgaWYgKG9uQ2hhbmdlICE9IG51bGwpIHtcbiAgICAgICAgb25DaGFuZ2UodXJsLCBwcmV2VXJsKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtZXJnZVJlZ2lzdGVyKFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyTm9kZVRyYW5zZm9ybShUZXh0Tm9kZVZhbHVlLCAodGV4dE5vZGU6IFRleHROb2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRleHROb2RlLmdldFBhcmVudE9yVGhyb3coKVxuICAgICAgICBjb25zdCBwcmV2aW91cyA9IHRleHROb2RlLmdldFByZXZpb3VzU2libGluZygpXG4gICAgICAgIGlmICgkaXNBdXRvTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgIGhhbmRsZUxpbmtFZGl0KHBhcmVudCwgbWF0Y2hlcnMsIG9uQ2hhbmdlV3JhcHBlZClcbiAgICAgICAgfSBlbHNlIGlmICghJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRleHROb2RlLmlzU2ltcGxlVGV4dCgpICYmXG4gICAgICAgICAgICAoc3RhcnRzV2l0aFNlcGFyYXRvcih0ZXh0Tm9kZS5nZXRUZXh0Q29udGVudCgpKSB8fCAhJGlzQXV0b0xpbmtOb2RlKHByZXZpb3VzKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHROb2Rlc1RvTWF0Y2ggPSBnZXRUZXh0Tm9kZXNUb01hdGNoKHRleHROb2RlKVxuICAgICAgICAgICAgaGFuZGxlTGlua0NyZWF0aW9uKHRleHROb2Rlc1RvTWF0Y2gsIG1hdGNoZXJzLCBvbkNoYW5nZVdyYXBwZWQpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaGFuZGxlQmFkTmVpZ2hib3JzKHRleHROb2RlLCBtYXRjaGVycywgb25DaGFuZ2VXcmFwcGVkKVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApXG4gIH0sIFtlZGl0b3IsIG1hdGNoZXJzLCBvbkNoYW5nZV0pXG59XG5cbmNvbnN0IFVSTF9SRUdFWCA9XG4gIC8oKGh0dHBzPzpcXC9cXC8od3d3XFwuKT8pfCh3d3dcXC4pKVstXFx3QDolLit+Iz1dezEsMjU2fVxcLlthLXpBLVpcXGQoKV17MSw2fVxcYihbLVxcdygpQDolKy5+Iz8mLz1dKikvXG5cbmNvbnN0IEVNQUlMX1JFR0VYID1cbiAgLygoW148PigpW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbXFxkezEsM31cXC5cXGR7MSwzfVxcLlxcZHsxLDN9XFwuXFxkezEsM31cXF0pfCgoW2EtekEtWlxcLVxcZF0rXFwuKStbYS16QS1aXXsyLH0pKS9cblxuY29uc3QgTUFUQ0hFUlMgPSBbXG4gIGNyZWF0ZUxpbmtNYXRjaGVyV2l0aFJlZ0V4cChVUkxfUkVHRVgsICh0ZXh0KSA9PiB7XG4gICAgcmV0dXJuIHRleHQuc3RhcnRzV2l0aCgnaHR0cCcpID8gdGV4dCA6IGBodHRwczovLyR7dGV4dH1gXG4gIH0pLFxuICBjcmVhdGVMaW5rTWF0Y2hlcldpdGhSZWdFeHAoRU1BSUxfUkVHRVgsICh0ZXh0KSA9PiB7XG4gICAgcmV0dXJuIGBtYWlsdG86JHt0ZXh0fWBcbiAgfSksXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRvTGlua1BsdWdpbigpOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuXG4gIHVzZUF1dG9MaW5rKGVkaXRvciwgTUFUQ0hFUlMpXG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdLCJuYW1lcyI6WyJsZXhpY2FsQ29tcG9zZXJDb250ZXh0SW1wb3J0IiwidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsImxleGljYWxVdGlsc0ltcG9ydCIsIm1lcmdlUmVnaXN0ZXIiLCJsZXhpY2FsSW1wb3J0IiwiJGNyZWF0ZVRleHROb2RlIiwiJGdldFNlbGVjdGlvbiIsIiRpc0VsZW1lbnROb2RlIiwiJGlzTGluZUJyZWFrTm9kZSIsIiRpc05vZGVTZWxlY3Rpb24iLCIkaXNSYW5nZVNlbGVjdGlvbiIsIiRpc1RleHROb2RlIiwiVGV4dE5vZGUiLCJUZXh0Tm9kZVZhbHVlIiwidXNlRWZmZWN0IiwiaW52YXJpYW50IiwiJGNyZWF0ZUF1dG9MaW5rTm9kZSIsIiRpc0F1dG9MaW5rTm9kZSIsIkF1dG9MaW5rTm9kZSIsIiRpc0xpbmtOb2RlIiwiY3JlYXRlTGlua01hdGNoZXJXaXRoUmVnRXhwIiwicmVnRXhwIiwidXJsVHJhbnNmb3JtZXIiLCJ0ZXh0IiwibWF0Y2giLCJleGVjIiwiaW5kZXgiLCJsZW5ndGgiLCJ1cmwiLCJmaW5kRmlyc3RNYXRjaCIsIm1hdGNoZXJzIiwiaSIsIlBVTkNUVUFUSU9OX09SX1NQQUNFIiwiaXNTZXBhcmF0b3IiLCJjaGFyIiwidGVzdCIsImVuZHNXaXRoU2VwYXJhdG9yIiwidGV4dENvbnRlbnQiLCJzdGFydHNXaXRoU2VwYXJhdG9yIiwiaXNQcmV2aW91c05vZGVWYWxpZCIsIm5vZGUiLCJwcmV2aW91c05vZGUiLCJnZXRQcmV2aW91c1NpYmxpbmciLCJnZXRMYXN0RGVzY2VuZGFudCIsImdldFRleHRDb250ZW50IiwiaXNOZXh0Tm9kZVZhbGlkIiwibmV4dE5vZGUiLCJnZXROZXh0U2libGluZyIsImdldEZpcnN0RGVzY2VuZGFudCIsImlzQ29udGVudEFyb3VuZElzVmFsaWQiLCJtYXRjaFN0YXJ0IiwibWF0Y2hFbmQiLCJub2RlcyIsImNvbnRlbnRCZWZvcmVJc1ZhbGlkIiwiY29udGVudEFmdGVySXNWYWxpZCIsImV4dHJhY3RNYXRjaGluZ05vZGVzIiwic3RhcnRJbmRleCIsImVuZEluZGV4IiwidW5tb2RpZmllZEJlZm9yZU5vZGVzIiwibWF0Y2hpbmdOb2RlcyIsInVubW9kaWZpZWRBZnRlck5vZGVzIiwibWF0Y2hpbmdPZmZzZXQiLCJjdXJyZW50T2Zmc2V0IiwiY3VycmVudE5vZGVzIiwiY3VycmVudE5vZGUiLCJjdXJyZW50Tm9kZVRleHQiLCJjdXJyZW50Tm9kZUxlbmd0aCIsImN1cnJlbnROb2RlU3RhcnQiLCJjdXJyZW50Tm9kZUVuZCIsInB1c2giLCJzaGlmdCIsImNyZWF0ZUF1dG9MaW5rTm9kZSIsImZpZWxkcyIsImxpbmtUeXBlIiwibGlua05vZGUiLCJyZW1haW5pbmdUZXh0Tm9kZSIsImxpbmtUZXh0Tm9kZSIsInNwbGl0VGV4dCIsInRleHROb2RlIiwic2V0Rm9ybWF0IiwiZ2V0Rm9ybWF0Iiwic2V0RGV0YWlsIiwiZ2V0RGV0YWlsIiwiYXBwZW5kIiwicmVwbGFjZSIsImZpcnN0VGV4dE5vZGUiLCJvZmZzZXQiLCJmaXJzdExpbmtUZXh0Tm9kZSIsImxpbmtOb2RlcyIsImVuZE5vZGUiLCJzZWxlY3Rpb24iLCJzZWxlY3RlZFRleHROb2RlIiwiZ2V0Tm9kZXMiLCJmaW5kIiwidW5kZWZpbmVkIiwic2VsZWN0IiwiYW5jaG9yIiwiZm9jdXMiLCJoYW5kbGVMaW5rQ3JlYXRpb24iLCJvbkNoYW5nZSIsImluaXRpYWxUZXh0IiwibWFwIiwiam9pbiIsImludmFsaWRNYXRjaEVuZCIsIm1hdGNoTGVuZ3RoIiwiaXNWYWxpZCIsImFjdHVhbE1hdGNoU3RhcnQiLCJhY3R1YWxNYXRjaEVuZCIsInN1YnN0cmluZyIsImhhbmRsZUxpbmtFZGl0IiwiY2hpbGRyZW4iLCJnZXRDaGlsZHJlbiIsImNoaWxkcmVuTGVuZ3RoIiwiY2hpbGQiLCJpc1NpbXBsZVRleHQiLCJyZXBsYWNlV2l0aENoaWxkcmVuIiwiZ2V0RmllbGRzIiwiZmxkcyIsInNldEZpZWxkcyIsImhhbmRsZUJhZE5laWdoYm9ycyIsInByZXZpb3VzU2libGluZyIsIm5leHRTaWJsaW5nIiwiaiIsImluc2VydEFmdGVyIiwicmVtb3ZlIiwiZ2V0TGF0ZXN0IiwiZ2V0VGV4dE5vZGVzVG9NYXRjaCIsInRleHROb2Rlc1RvTWF0Y2giLCJ1c2VBdXRvTGluayIsImVkaXRvciIsImhhc05vZGVzIiwib25DaGFuZ2VXcmFwcGVkIiwicHJldlVybCIsInJlZ2lzdGVyTm9kZVRyYW5zZm9ybSIsInBhcmVudCIsImdldFBhcmVudE9yVGhyb3ciLCJwcmV2aW91cyIsIlVSTF9SRUdFWCIsIkVNQUlMX1JFR0VYIiwiTUFUQ0hFUlMiLCJzdGFydHNXaXRoIiwiQXV0b0xpbmtQbHVnaW4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBT0Esa0NBQWtDLDJDQUEwQztBQUNuRixNQUFNLEVBQUVDLHlCQUF5QixFQUFFLEdBQUdEO0FBRXRDLE9BQU9FLHdCQUF3QixpQkFBZ0I7QUFDL0MsTUFBTSxFQUFFQyxhQUFhLEVBQUUsR0FBR0Q7QUFF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
321
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/field/features/link/plugins/autoLink/index.tsx"],"sourcesContent":["'use client'\nimport lexicalComposerContextImport from '@lexical/react/LexicalComposerContext.js'\nconst { useLexicalComposerContext } = lexicalComposerContextImport\n\nimport lexicalUtilsImport from '@lexical/utils'\nconst { mergeRegister } = lexicalUtilsImport\n\nimport lexicalImport from 'lexical'\nconst {\n $createTextNode,\n $getSelection,\n $isElementNode,\n $isLineBreakNode,\n $isNodeSelection,\n $isRangeSelection,\n $isTextNode,\n TextNode: TextNodeValue,\n} = lexicalImport\n\nimport type { ElementNode, LexicalEditor, LexicalNode } from 'lexical'\n\nimport { type TextNode } from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { LinkFields } from '../../nodes/types.js'\n\nimport { invariant } from '../../../../lexical/utils/invariant.js'\nimport { $createAutoLinkNode, $isAutoLinkNode, AutoLinkNode } from '../../nodes/AutoLinkNode.js'\nimport { $isLinkNode } from '../../nodes/LinkNode.js'\n\ntype ChangeHandler = (url: null | string, prevUrl: null | string) => void\n\ninterface LinkMatcherResult {\n fields?: LinkFields\n index: number\n length: number\n text: string\n url: string\n}\n\nexport type LinkMatcher = (text: string) => LinkMatcherResult | null\n\nexport function createLinkMatcherWithRegExp(\n regExp: RegExp,\n urlTransformer: (text: string) => string = (text) => text,\n) {\n return (text: string) => {\n const match = regExp.exec(text)\n if (match === null) return null\n return {\n index: match.index,\n length: match[0].length,\n text: match[0],\n url: urlTransformer(match[0]),\n }\n }\n}\n\nfunction findFirstMatch(text: string, matchers: LinkMatcher[]): LinkMatcherResult | null {\n for (let i = 0; i < matchers.length; i++) {\n const match = matchers[i](text)\n\n if (match != null) {\n return match\n }\n }\n\n return null\n}\n\nconst PUNCTUATION_OR_SPACE = /[.,;\\s]/\n\nfunction isSeparator(char: string): boolean {\n return PUNCTUATION_OR_SPACE.test(char)\n}\n\nfunction endsWithSeparator(textContent: string): boolean {\n return isSeparator(textContent[textContent.length - 1])\n}\n\nfunction startsWithSeparator(textContent: string): boolean {\n return isSeparator(textContent[0])\n}\n\nfunction isPreviousNodeValid(node: LexicalNode): boolean {\n let previousNode = node.getPreviousSibling()\n if ($isElementNode(previousNode)) {\n previousNode = previousNode.getLastDescendant()\n }\n return (\n previousNode === null ||\n $isLineBreakNode(previousNode) ||\n ($isTextNode(previousNode) && endsWithSeparator(previousNode.getTextContent()))\n )\n}\n\nfunction isNextNodeValid(node: LexicalNode): boolean {\n let nextNode = node.getNextSibling()\n if ($isElementNode(nextNode)) {\n nextNode = nextNode.getFirstDescendant()\n }\n return (\n nextNode === null ||\n $isLineBreakNode(nextNode) ||\n ($isTextNode(nextNode) && startsWithSeparator(nextNode.getTextContent()))\n )\n}\n\nfunction isContentAroundIsValid(\n matchStart: number,\n matchEnd: number,\n text: string,\n nodes: TextNode[],\n): boolean {\n const contentBeforeIsValid =\n matchStart > 0 ? isSeparator(text[matchStart - 1]) : isPreviousNodeValid(nodes[0])\n if (!contentBeforeIsValid) {\n return false\n }\n\n const contentAfterIsValid =\n matchEnd < text.length ? isSeparator(text[matchEnd]) : isNextNodeValid(nodes[nodes.length - 1])\n return contentAfterIsValid\n}\n\nfunction extractMatchingNodes(\n nodes: TextNode[],\n startIndex: number,\n endIndex: number,\n): [\n matchingOffset: number,\n unmodifiedBeforeNodes: TextNode[],\n matchingNodes: TextNode[],\n unmodifiedAfterNodes: TextNode[],\n] {\n const unmodifiedBeforeNodes: TextNode[] = []\n const matchingNodes: TextNode[] = []\n const unmodifiedAfterNodes: TextNode[] = []\n let matchingOffset = 0\n\n let currentOffset = 0\n const currentNodes = [...nodes]\n\n while (currentNodes.length > 0) {\n const currentNode = currentNodes[0]\n const currentNodeText = currentNode.getTextContent()\n const currentNodeLength = currentNodeText.length\n const currentNodeStart = currentOffset\n const currentNodeEnd = currentOffset + currentNodeLength\n\n if (currentNodeEnd <= startIndex) {\n unmodifiedBeforeNodes.push(currentNode)\n matchingOffset += currentNodeLength\n } else if (currentNodeStart >= endIndex) {\n unmodifiedAfterNodes.push(currentNode)\n } else {\n matchingNodes.push(currentNode)\n }\n currentOffset += currentNodeLength\n currentNodes.shift()\n }\n return [matchingOffset, unmodifiedBeforeNodes, matchingNodes, unmodifiedAfterNodes]\n}\n\nfunction createAutoLinkNode(\n nodes: TextNode[],\n startIndex: number,\n endIndex: number,\n match: LinkMatcherResult,\n): TextNode | undefined {\n const fields: LinkFields = {\n linkType: 'custom',\n url: match.url,\n ...match.fields,\n }\n\n const linkNode = $createAutoLinkNode({ fields })\n if (nodes.length === 1) {\n let remainingTextNode = nodes[0]\n let linkTextNode\n if (startIndex === 0) {\n ;[linkTextNode, remainingTextNode] = remainingTextNode.splitText(endIndex)\n } else {\n ;[, linkTextNode, remainingTextNode] = remainingTextNode.splitText(startIndex, endIndex)\n }\n const textNode = $createTextNode(match.text)\n textNode.setFormat(linkTextNode.getFormat())\n textNode.setDetail(linkTextNode.getDetail())\n linkNode.append(textNode)\n linkTextNode.replace(linkNode)\n return remainingTextNode\n } else if (nodes.length > 1) {\n const firstTextNode = nodes[0]\n let offset = firstTextNode.getTextContent().length\n let firstLinkTextNode\n if (startIndex === 0) {\n firstLinkTextNode = firstTextNode\n } else {\n ;[, firstLinkTextNode] = firstTextNode.splitText(startIndex)\n }\n const linkNodes = []\n let remainingTextNode\n for (let i = 1; i < nodes.length; i++) {\n const currentNode = nodes[i]\n const currentNodeText = currentNode.getTextContent()\n const currentNodeLength = currentNodeText.length\n const currentNodeStart = offset\n const currentNodeEnd = offset + currentNodeLength\n if (currentNodeStart < endIndex) {\n if (currentNodeEnd <= endIndex) {\n linkNodes.push(currentNode)\n } else {\n const [linkTextNode, endNode] = currentNode.splitText(endIndex - currentNodeStart)\n linkNodes.push(linkTextNode)\n remainingTextNode = endNode\n }\n }\n offset += currentNodeLength\n }\n const selection = $getSelection()\n const selectedTextNode = selection ? selection.getNodes().find($isTextNode) : undefined\n const textNode = $createTextNode(firstLinkTextNode.getTextContent())\n textNode.setFormat(firstLinkTextNode.getFormat())\n textNode.setDetail(firstLinkTextNode.getDetail())\n linkNode.append(textNode, ...linkNodes)\n // it does not preserve caret position if caret was at the first text node\n // so we need to restore caret position\n if (selectedTextNode && selectedTextNode === firstLinkTextNode) {\n if ($isRangeSelection(selection)) {\n textNode.select(selection.anchor.offset, selection.focus.offset)\n } else if ($isNodeSelection(selection)) {\n textNode.select(0, textNode.getTextContent().length)\n }\n }\n firstLinkTextNode.replace(linkNode)\n return remainingTextNode\n }\n return undefined\n}\n\nfunction handleLinkCreation(\n nodes: TextNode[],\n matchers: LinkMatcher[],\n onChange: ChangeHandler,\n): void {\n let currentNodes = [...nodes]\n const initialText = currentNodes.map((node) => node.getTextContent()).join('')\n let text = initialText\n\n let match\n let invalidMatchEnd = 0\n\n while ((match = findFirstMatch(text, matchers)) != null && match !== null) {\n const matchStart: number = match.index\n const matchLength: number = match.length\n const matchEnd = matchStart + matchLength\n const isValid = isContentAroundIsValid(\n invalidMatchEnd + matchStart,\n invalidMatchEnd + matchEnd,\n initialText,\n currentNodes,\n )\n\n if (isValid) {\n const [matchingOffset, , matchingNodes, unmodifiedAfterNodes] = extractMatchingNodes(\n currentNodes,\n invalidMatchEnd + matchStart,\n invalidMatchEnd + matchEnd,\n )\n\n const actualMatchStart = invalidMatchEnd + matchStart - matchingOffset\n const actualMatchEnd = invalidMatchEnd + matchEnd - matchingOffset\n const remainingTextNode = createAutoLinkNode(\n matchingNodes,\n actualMatchStart,\n actualMatchEnd,\n match,\n )\n currentNodes = remainingTextNode\n ? [remainingTextNode, ...unmodifiedAfterNodes]\n : unmodifiedAfterNodes\n onChange(match.url, null)\n invalidMatchEnd = 0\n } else {\n invalidMatchEnd += matchEnd\n }\n\n text = text.substring(matchEnd)\n }\n}\n\nfunction handleLinkEdit(\n linkNode: AutoLinkNode,\n matchers: LinkMatcher[],\n onChange: ChangeHandler,\n): void {\n // Check children are simple text\n const children = linkNode.getChildren()\n const childrenLength = children.length\n for (let i = 0; i < childrenLength; i++) {\n const child = children[i]\n if (!$isTextNode(child) || !child.isSimpleText()) {\n replaceWithChildren(linkNode)\n onChange(null, linkNode.getFields()?.url ?? null)\n return\n }\n }\n\n // Check text content fully matches\n const text = linkNode.getTextContent()\n const match = findFirstMatch(text, matchers)\n if (match === null || match.text !== text) {\n replaceWithChildren(linkNode)\n onChange(null, linkNode.getFields()?.url ?? null)\n return\n }\n\n // Check neighbors\n if (!isPreviousNodeValid(linkNode) || !isNextNodeValid(linkNode)) {\n replaceWithChildren(linkNode)\n onChange(null, linkNode.getFields()?.url ?? null)\n return\n }\n\n const url = linkNode.getFields()?.url\n if (url !== match?.url) {\n const flds = linkNode.getFields()\n flds.url = match?.url\n linkNode.setFields(flds)\n onChange(match.url, url ?? null)\n }\n}\n\n// Bad neighbors are edits in neighbor nodes that make AutoLinks incompatible.\n// Given the creation preconditions, these can only be simple text nodes.\nfunction handleBadNeighbors(\n textNode: TextNode,\n matchers: LinkMatcher[],\n onChange: ChangeHandler,\n): void {\n const previousSibling = textNode.getPreviousSibling()\n const nextSibling = textNode.getNextSibling()\n const text = textNode.getTextContent()\n\n if ($isAutoLinkNode(previousSibling) && !startsWithSeparator(text)) {\n previousSibling.append(textNode)\n handleLinkEdit(previousSibling, matchers, onChange)\n onChange(null, previousSibling.getFields()?.url ?? null)\n }\n\n if ($isAutoLinkNode(nextSibling) && !endsWithSeparator(text)) {\n replaceWithChildren(nextSibling)\n handleLinkEdit(nextSibling, matchers, onChange)\n onChange(null, nextSibling.getFields()?.url ?? null)\n }\n}\n\nfunction replaceWithChildren(node: ElementNode): LexicalNode[] {\n const children = node.getChildren()\n const childrenLength = children.length\n\n for (let j = childrenLength - 1; j >= 0; j--) {\n node.insertAfter(children[j])\n }\n\n node.remove()\n return children.map((child) => child.getLatest())\n}\n\nfunction getTextNodesToMatch(textNode: TextNode): TextNode[] {\n // check if next siblings are simple text nodes till a node contains a space separator\n const textNodesToMatch = [textNode]\n let nextSibling = textNode.getNextSibling()\n while (nextSibling !== null && $isTextNode(nextSibling) && nextSibling.isSimpleText()) {\n textNodesToMatch.push(nextSibling)\n if (/\\s/.test(nextSibling.getTextContent())) {\n break\n }\n nextSibling = nextSibling.getNextSibling()\n }\n return textNodesToMatch\n}\n\nfunction useAutoLink(\n editor: LexicalEditor,\n matchers: LinkMatcher[],\n onChange?: ChangeHandler,\n): void {\n useEffect(() => {\n if (!editor.hasNodes([AutoLinkNode])) {\n invariant(false, 'LexicalAutoLinkPlugin: AutoLinkNode not registered on editor')\n }\n\n const onChangeWrapped = (url: null | string, prevUrl: null | string): void => {\n if (onChange != null) {\n onChange(url, prevUrl)\n }\n }\n\n return mergeRegister(\n editor.registerNodeTransform(TextNodeValue, (textNode: TextNode) => {\n const parent = textNode.getParentOrThrow()\n const previous = textNode.getPreviousSibling()\n if ($isAutoLinkNode(parent)) {\n handleLinkEdit(parent, matchers, onChangeWrapped)\n } else if (!$isLinkNode(parent)) {\n if (\n textNode.isSimpleText() &&\n (startsWithSeparator(textNode.getTextContent()) || !$isAutoLinkNode(previous))\n ) {\n const textNodesToMatch = getTextNodesToMatch(textNode)\n handleLinkCreation(textNodesToMatch, matchers, onChangeWrapped)\n }\n\n handleBadNeighbors(textNode, matchers, onChangeWrapped)\n }\n }),\n )\n }, [editor, matchers, onChange])\n}\n\nconst URL_REGEX =\n /((https?:\\/\\/(www\\.)?)|(www\\.))[-\\w@:%.+~#=]{1,256}\\.[a-zA-Z\\d()]{1,6}\\b([-\\w()@:%+.~#?&/=]*)/\n\nconst EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\])|(([a-zA-Z\\-\\d]+\\.)+[a-zA-Z]{2,}))/\n\nconst MATCHERS = [\n createLinkMatcherWithRegExp(URL_REGEX, (text) => {\n return text.startsWith('http') ? text : `https://${text}`\n }),\n createLinkMatcherWithRegExp(EMAIL_REGEX, (text) => {\n return `mailto:${text}`\n }),\n]\n\nexport function AutoLinkPlugin(): JSX.Element | null {\n const [editor] = useLexicalComposerContext()\n\n useAutoLink(editor, MATCHERS)\n\n return null\n}\n"],"names":["lexicalComposerContextImport","useLexicalComposerContext","lexicalUtilsImport","mergeRegister","lexicalImport","$createTextNode","$getSelection","$isElementNode","$isLineBreakNode","$isNodeSelection","$isRangeSelection","$isTextNode","TextNode","TextNodeValue","useEffect","invariant","$createAutoLinkNode","$isAutoLinkNode","AutoLinkNode","$isLinkNode","createLinkMatcherWithRegExp","regExp","urlTransformer","text","match","exec","index","length","url","findFirstMatch","matchers","i","PUNCTUATION_OR_SPACE","isSeparator","char","test","endsWithSeparator","textContent","startsWithSeparator","isPreviousNodeValid","node","previousNode","getPreviousSibling","getLastDescendant","getTextContent","isNextNodeValid","nextNode","getNextSibling","getFirstDescendant","isContentAroundIsValid","matchStart","matchEnd","nodes","contentBeforeIsValid","contentAfterIsValid","extractMatchingNodes","startIndex","endIndex","unmodifiedBeforeNodes","matchingNodes","unmodifiedAfterNodes","matchingOffset","currentOffset","currentNodes","currentNode","currentNodeText","currentNodeLength","currentNodeStart","currentNodeEnd","push","shift","createAutoLinkNode","fields","linkType","linkNode","remainingTextNode","linkTextNode","splitText","textNode","setFormat","getFormat","setDetail","getDetail","append","replace","firstTextNode","offset","firstLinkTextNode","linkNodes","endNode","selection","selectedTextNode","getNodes","find","undefined","select","anchor","focus","handleLinkCreation","onChange","initialText","map","join","invalidMatchEnd","matchLength","isValid","actualMatchStart","actualMatchEnd","substring","handleLinkEdit","children","getChildren","childrenLength","child","isSimpleText","replaceWithChildren","getFields","flds","setFields","handleBadNeighbors","previousSibling","nextSibling","j","insertAfter","remove","getLatest","getTextNodesToMatch","textNodesToMatch","useAutoLink","editor","hasNodes","onChangeWrapped","prevUrl","registerNodeTransform","parent","getParentOrThrow","previous","URL_REGEX","EMAIL_REGEX","MATCHERS","startsWith","AutoLinkPlugin"],"mappings":"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"}
@@ -7,4 +7,4 @@ export function ClickableLinkPlugin() {
7
7
  return /*#__PURE__*/ React.createElement(Component, null);
8
8
  }
9
9
 
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvY2xpY2thYmxlTGluay9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgTGV4aWNhbENsaWNrYWJsZUxpbmtQbHVnaW4gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENsaWNrYWJsZUxpbmtQbHVnaW4uanMnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBmdW5jdGlvbiBDbGlja2FibGVMaW5rUGx1Z2luKCkge1xuICBjb25zdCBDb21wb25lbnQgPSBMZXhpY2FsQ2xpY2thYmxlTGlua1BsdWdpbi5kZWZhdWx0IHx8IExleGljYWxDbGlja2FibGVMaW5rUGx1Z2luXG4gIC8vQHRzLWV4cGVjdC1lcnJvciB0cyBiZWluZyBkdW1iXG4gIHJldHVybiA8Q29tcG9uZW50IC8+XG59XG4iXSwibmFtZXMiOlsiTGV4aWNhbENsaWNrYWJsZUxpbmtQbHVnaW4iLCJSZWFjdCIsIkNsaWNrYWJsZUxpbmtQbHVnaW4iLCJDb21wb25lbnQiLCJkZWZhdWx0Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE9BQU9BLGdDQUFnQywrQ0FBOEM7QUFDckYsT0FBT0MsV0FBVyxRQUFPO0FBRXpCLE9BQU8sU0FBU0M7SUFDZCxNQUFNQyxZQUFZSCwyQkFBMkJJLE9BQU8sSUFBSUo7SUFDeEQsZ0NBQWdDO0lBQ2hDLHFCQUFPLG9CQUFDRztBQUNWIn0=
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/field/features/link/plugins/clickableLink/index.tsx"],"sourcesContent":["'use client'\nimport LexicalClickableLinkPlugin from '@lexical/react/LexicalClickableLinkPlugin.js'\nimport React from 'react'\n\nexport function ClickableLinkPlugin() {\n const Component = LexicalClickableLinkPlugin.default || LexicalClickableLinkPlugin\n //@ts-expect-error ts being dumb\n return <Component />\n}\n"],"names":["LexicalClickableLinkPlugin","React","ClickableLinkPlugin","Component","default"],"mappings":"AAAA;AACA,OAAOA,gCAAgC,+CAA8C;AACrF,OAAOC,WAAW,QAAO;AAEzB,OAAO,SAASC;IACd,MAAMC,YAAYH,2BAA2BI,OAAO,IAAIJ;IACxD,gCAAgC;IAChC,qBAAO,oBAACG;AACV"}
@@ -2,4 +2,4 @@ import lexicalImport from 'lexical';
2
2
  const { createCommand } = lexicalImport;
3
3
  export const TOGGLE_LINK_WITH_MODAL_COMMAND = createCommand('TOGGLE_LINK_WITH_MODAL_COMMAND');
4
4
 
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL0xpbmtFZGl0b3IvY29tbWFuZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMZXhpY2FsQ29tbWFuZCB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCBsZXhpY2FsSW1wb3J0IGZyb20gJ2xleGljYWwnXG5jb25zdCB7IGNyZWF0ZUNvbW1hbmQgfSA9IGxleGljYWxJbXBvcnRcblxuaW1wb3J0IHR5cGUgeyBMaW5rUGF5bG9hZCB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5leHBvcnQgY29uc3QgVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5EOiBMZXhpY2FsQ29tbWFuZDxMaW5rUGF5bG9hZCB8IG51bGw+ID0gY3JlYXRlQ29tbWFuZChcbiAgJ1RPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCcsXG4pXG4iXSwibmFtZXMiOlsibGV4aWNhbEltcG9ydCIsImNyZWF0ZUNvbW1hbmQiLCJUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQiXSwibWFwcGluZ3MiOiJBQUVBLE9BQU9BLG1CQUFtQixVQUFTO0FBQ25DLE1BQU0sRUFBRUMsYUFBYSxFQUFFLEdBQUdEO0FBSTFCLE9BQU8sTUFBTUUsaUNBQXFFRCxjQUNoRixrQ0FDRCJ9
5
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.ts"],"sourcesContent":["import type { LexicalCommand } from 'lexical'\n\nimport lexicalImport from 'lexical'\nconst { createCommand } = lexicalImport\n\nimport type { LinkPayload } from '../types.js'\n\nexport const TOGGLE_LINK_WITH_MODAL_COMMAND: LexicalCommand<LinkPayload | null> = createCommand(\n 'TOGGLE_LINK_WITH_MODAL_COMMAND',\n)\n"],"names":["lexicalImport","createCommand","TOGGLE_LINK_WITH_MODAL_COMMAND"],"mappings":"AAEA,OAAOA,mBAAmB,UAAS;AACnC,MAAM,EAAEC,aAAa,EAAE,GAAGD;AAI1B,OAAO,MAAME,iCAAqED,cAChF,kCACD"}