@payloadcms/richtext-lexical 4.0.0-internal.1f9ae9a → 4.0.0-internal.21664f3

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 (573) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/cell/rscEntry.d.ts.map +1 -1
  3. package/dist/cell/rscEntry.js +5 -5
  4. package/dist/cell/rscEntry.js.map +1 -1
  5. package/dist/exports/client/Field-QGSHF22S.js +2 -0
  6. package/dist/exports/client/Field-QGSHF22S.js.map +7 -0
  7. package/dist/exports/client/{RelationshipComponent-RZL743CS.js → RelationshipComponent-YCPAKOL7.js} +1 -1
  8. package/dist/exports/client/RelationshipComponent-YCPAKOL7.js.map +7 -0
  9. package/dist/exports/client/bundled.css +1 -1
  10. package/dist/exports/client/chunk-5VIL27GI.js +2 -0
  11. package/dist/exports/client/chunk-5VIL27GI.js.map +7 -0
  12. package/dist/exports/client/chunk-ESITTE3C.js +2 -0
  13. package/dist/exports/client/chunk-ESITTE3C.js.map +7 -0
  14. package/dist/exports/client/chunk-UD4DQ4AK.js +2 -0
  15. package/dist/exports/client/chunk-UD4DQ4AK.js.map +7 -0
  16. package/dist/exports/client/chunk-X3D4LZS7.js +2 -0
  17. package/dist/exports/client/chunk-X3D4LZS7.js.map +7 -0
  18. package/dist/exports/client/{component-CVM4OESA.js → component-PHZQBOJE.js} +2 -2
  19. package/dist/exports/client/component-PHZQBOJE.js.map +7 -0
  20. package/dist/exports/client/componentInline-H24N7GUG.js +2 -0
  21. package/dist/exports/client/index.d.ts +0 -1
  22. package/dist/exports/client/index.d.ts.map +1 -1
  23. package/dist/exports/client/index.js +20 -21
  24. package/dist/exports/client/index.js.map +4 -4
  25. package/dist/features/align/client/toolbarAlignGroup.d.ts.map +1 -1
  26. package/dist/features/blockquote/client/index.js +2 -2
  27. package/dist/features/blockquote/client/index.js.map +1 -1
  28. package/dist/features/blockquote/server/index.d.ts +1 -4
  29. package/dist/features/blockquote/server/index.d.ts.map +1 -1
  30. package/dist/features/blockquote/server/index.js +4 -2
  31. package/dist/features/blockquote/server/index.js.map +1 -1
  32. package/dist/features/blockquote/server/schema.d.ts +8 -0
  33. package/dist/features/blockquote/server/schema.d.ts.map +1 -0
  34. package/dist/features/blockquote/server/schema.js +15 -0
  35. package/dist/features/blockquote/server/schema.js.map +1 -0
  36. package/dist/features/blocks/client/component/index.css +2 -2
  37. package/dist/features/blocks/client/component/index.d.ts +2 -1
  38. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  39. package/dist/features/blocks/client/component/index.js +16 -8
  40. package/dist/features/blocks/client/component/index.js.map +1 -1
  41. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts.map +1 -1
  42. package/dist/features/blocks/client/componentInline/index.css +8 -8
  43. package/dist/features/blocks/client/componentInline/index.d.ts +2 -1
  44. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  45. package/dist/features/blocks/client/componentInline/index.js +15 -7
  46. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  47. package/dist/features/blocks/client/getBlockImageComponent.d.ts +1 -1
  48. package/dist/features/blocks/client/index.d.ts.map +1 -1
  49. package/dist/features/blocks/client/index.js +4 -2
  50. package/dist/features/blocks/client/index.js.map +1 -1
  51. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts +1 -1
  52. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts.map +1 -1
  53. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +1 -1
  54. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -1
  55. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts +1 -1
  56. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts.map +1 -1
  57. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +5 -2
  58. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -1
  59. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts +1 -2
  60. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts.map +1 -1
  61. package/dist/features/blocks/client/markdown/markdownTransformer.js +4 -4
  62. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -1
  63. package/dist/features/blocks/client/nodes/BlocksNode.d.ts +1 -1
  64. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  65. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  66. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts +1 -1
  67. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -1
  68. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
  69. package/dist/features/blocks/client/plugin/index.d.ts +1 -1
  70. package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
  71. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  72. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts.map +1 -1
  73. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +1 -0
  74. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
  75. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.css +1 -1
  76. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.css +2 -4
  77. package/dist/features/blocks/premade/CodeBlock/Component/index.css +5 -5
  78. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts +1 -2
  79. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -1
  80. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  81. package/dist/features/blocks/server/index.d.ts +1 -0
  82. package/dist/features/blocks/server/index.d.ts.map +1 -1
  83. package/dist/features/blocks/server/index.js +24 -72
  84. package/dist/features/blocks/server/index.js.map +1 -1
  85. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts +1 -1
  86. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts.map +1 -1
  87. package/dist/features/blocks/server/markdown/markdownTransformer.js +4 -4
  88. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -1
  89. package/dist/features/blocks/server/nodes/BlocksNode.d.ts +1 -18
  90. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  91. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  92. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts +2 -10
  93. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -1
  94. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  95. package/dist/features/blocks/server/schema.d.ts +45 -0
  96. package/dist/features/blocks/server/schema.d.ts.map +1 -0
  97. package/dist/features/blocks/server/schema.js +140 -0
  98. package/dist/features/blocks/server/schema.js.map +1 -0
  99. package/dist/features/blocks/server/validate.d.ts +1 -2
  100. package/dist/features/blocks/server/validate.d.ts.map +1 -1
  101. package/dist/features/blocks/server/validate.js.map +1 -1
  102. package/dist/features/converters/htmlToLexical/index.d.ts.map +1 -1
  103. package/dist/features/converters/lexicalToHtml/async/converters/upload.js.map +1 -1
  104. package/dist/features/converters/lexicalToHtml/async/types.d.ts +14 -15
  105. package/dist/features/converters/lexicalToHtml/async/types.d.ts.map +1 -1
  106. package/dist/features/converters/lexicalToHtml/async/types.js.map +1 -1
  107. package/dist/features/converters/lexicalToHtml/shared/cssColors.d.ts.map +1 -1
  108. package/dist/features/converters/lexicalToHtml/sync/converters/upload.js.map +1 -1
  109. package/dist/features/converters/lexicalToHtml/sync/types.d.ts +14 -15
  110. package/dist/features/converters/lexicalToHtml/sync/types.d.ts.map +1 -1
  111. package/dist/features/converters/lexicalToHtml/sync/types.js.map +1 -1
  112. package/dist/features/converters/lexicalToJSX/Component/index.d.ts +4 -2
  113. package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +1 -1
  114. package/dist/features/converters/lexicalToJSX/Component/index.js +5 -4
  115. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  116. package/dist/features/converters/lexicalToJSX/converter/converters/upload.js.map +1 -1
  117. package/dist/features/converters/lexicalToJSX/converter/types.d.ts +12 -14
  118. package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +1 -1
  119. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  120. package/dist/features/converters/lexicalToMarkdown/index.d.ts.map +1 -1
  121. package/dist/features/converters/lexicalToMarkdown/index.js +1 -1
  122. package/dist/features/converters/lexicalToMarkdown/index.js.map +1 -1
  123. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts +12 -14
  124. package/dist/features/converters/lexicalToPlaintext/sync/types.d.ts.map +1 -1
  125. package/dist/features/converters/lexicalToPlaintext/sync/types.js.map +1 -1
  126. package/dist/features/converters/markdownToLexical/index.d.ts.map +1 -1
  127. package/dist/features/converters/markdownToLexical/index.js +5 -2
  128. package/dist/features/converters/markdownToLexical/index.js.map +1 -1
  129. package/dist/features/debug/jsxConverter/client/plugin/style.css +2 -2
  130. package/dist/features/experimental_table/client/index.js +2 -2
  131. package/dist/features/experimental_table/client/index.js.map +1 -1
  132. package/dist/features/experimental_table/client/utils/debounce.d.ts.map +1 -1
  133. package/dist/features/experimental_table/markdownTransformer.d.ts +2 -2
  134. package/dist/features/experimental_table/markdownTransformer.d.ts.map +1 -1
  135. package/dist/features/experimental_table/markdownTransformer.js +6 -3
  136. package/dist/features/experimental_table/markdownTransformer.js.map +1 -1
  137. package/dist/features/experimental_table/server/index.d.ts +1 -6
  138. package/dist/features/experimental_table/server/index.d.ts.map +1 -1
  139. package/dist/features/experimental_table/server/index.js +6 -2
  140. package/dist/features/experimental_table/server/index.js.map +1 -1
  141. package/dist/features/experimental_table/server/schema.d.ts +27 -0
  142. package/dist/features/experimental_table/server/schema.d.ts.map +1 -0
  143. package/dist/features/experimental_table/server/schema.js +107 -0
  144. package/dist/features/experimental_table/server/schema.js.map +1 -0
  145. package/dist/features/format/bold/feature.client.js +1 -1
  146. package/dist/features/format/bold/feature.client.js.map +1 -1
  147. package/dist/features/format/bold/feature.server.d.ts.map +1 -1
  148. package/dist/features/format/bold/feature.server.js +1 -1
  149. package/dist/features/format/bold/feature.server.js.map +1 -1
  150. package/dist/features/format/inlineCode/feature.client.js +1 -1
  151. package/dist/features/format/inlineCode/feature.client.js.map +1 -1
  152. package/dist/features/format/inlineCode/feature.server.d.ts.map +1 -1
  153. package/dist/features/format/inlineCode/feature.server.js +1 -1
  154. package/dist/features/format/inlineCode/feature.server.js.map +1 -1
  155. package/dist/features/format/italic/feature.client.js +1 -1
  156. package/dist/features/format/italic/feature.client.js.map +1 -1
  157. package/dist/features/format/italic/feature.server.d.ts.map +1 -1
  158. package/dist/features/format/italic/feature.server.js +1 -1
  159. package/dist/features/format/italic/feature.server.js.map +1 -1
  160. package/dist/features/format/shared/toolbarFormatGroup.d.ts.map +1 -1
  161. package/dist/features/format/strikethrough/feature.client.js +1 -1
  162. package/dist/features/format/strikethrough/feature.client.js.map +1 -1
  163. package/dist/features/format/strikethrough/feature.server.d.ts.map +1 -1
  164. package/dist/features/format/strikethrough/feature.server.js +1 -1
  165. package/dist/features/format/strikethrough/feature.server.js.map +1 -1
  166. package/dist/features/heading/client/index.js +2 -2
  167. package/dist/features/heading/client/index.js.map +1 -1
  168. package/dist/features/heading/markdownTransformer.d.ts +2 -2
  169. package/dist/features/heading/markdownTransformer.d.ts.map +1 -1
  170. package/dist/features/heading/markdownTransformer.js +6 -19
  171. package/dist/features/heading/markdownTransformer.js.map +1 -1
  172. package/dist/features/heading/server/index.d.ts +2 -4
  173. package/dist/features/heading/server/index.d.ts.map +1 -1
  174. package/dist/features/heading/server/index.js +4 -2
  175. package/dist/features/heading/server/index.js.map +1 -1
  176. package/dist/features/heading/server/schema.d.ts +10 -0
  177. package/dist/features/heading/server/schema.d.ts.map +1 -0
  178. package/dist/features/heading/server/schema.js +37 -0
  179. package/dist/features/heading/server/schema.js.map +1 -0
  180. package/dist/features/horizontalRule/client/index.js +2 -2
  181. package/dist/features/horizontalRule/client/index.js.map +1 -1
  182. package/dist/features/horizontalRule/client/markdownTransformer.d.ts +2 -2
  183. package/dist/features/horizontalRule/client/markdownTransformer.d.ts.map +1 -1
  184. package/dist/features/horizontalRule/client/markdownTransformer.js +1 -1
  185. package/dist/features/horizontalRule/client/markdownTransformer.js.map +1 -1
  186. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts +1 -1
  187. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.d.ts.map +1 -1
  188. package/dist/features/horizontalRule/client/nodes/HorizontalRuleNode.js.map +1 -1
  189. package/dist/features/horizontalRule/client/plugin/index.css +2 -2
  190. package/dist/features/horizontalRule/server/index.d.ts +1 -0
  191. package/dist/features/horizontalRule/server/index.d.ts.map +1 -1
  192. package/dist/features/horizontalRule/server/index.js +4 -2
  193. package/dist/features/horizontalRule/server/index.js.map +1 -1
  194. package/dist/features/horizontalRule/server/markdownTransformer.d.ts +2 -2
  195. package/dist/features/horizontalRule/server/markdownTransformer.d.ts.map +1 -1
  196. package/dist/features/horizontalRule/server/markdownTransformer.js +1 -1
  197. package/dist/features/horizontalRule/server/markdownTransformer.js.map +1 -1
  198. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +1 -5
  199. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  200. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  201. package/dist/features/horizontalRule/server/schema.d.ts +7 -0
  202. package/dist/features/horizontalRule/server/schema.d.ts.map +1 -0
  203. package/dist/features/horizontalRule/server/schema.js +25 -0
  204. package/dist/features/horizontalRule/server/schema.js.map +1 -0
  205. package/dist/features/indent/client/toolbarIndentGroup.d.ts.map +1 -1
  206. package/dist/features/link/client/index.d.ts.map +1 -1
  207. package/dist/features/link/client/index.js +2 -2
  208. package/dist/features/link/client/index.js.map +1 -1
  209. package/dist/features/link/client/plugins/autoLink/index.d.ts +1 -1
  210. package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -1
  211. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  212. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +3 -3
  213. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  214. package/dist/features/link/client/plugins/floatingLinkEditor/index.css +7 -11
  215. package/dist/features/link/client/plugins/floatingLinkEditor/types.d.ts +1 -1
  216. package/dist/features/link/client/plugins/floatingLinkEditor/types.d.ts.map +1 -1
  217. package/dist/features/link/client/plugins/floatingLinkEditor/types.js.map +1 -1
  218. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  219. package/dist/features/link/markdownTransformer.d.ts +5 -5
  220. package/dist/features/link/markdownTransformer.d.ts.map +1 -1
  221. package/dist/features/link/markdownTransformer.js +2 -2
  222. package/dist/features/link/markdownTransformer.js.map +1 -1
  223. package/dist/features/link/markdownTransformer.spec.js +10 -10
  224. package/dist/features/link/markdownTransformer.spec.js.map +1 -1
  225. package/dist/features/link/nodes/AutoLinkNode.d.ts +3 -3
  226. package/dist/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  227. package/dist/features/link/nodes/AutoLinkNode.js +2 -1
  228. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  229. package/dist/features/link/nodes/LinkNode.d.ts +3 -3
  230. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  231. package/dist/features/link/nodes/LinkNode.js +2 -1
  232. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  233. package/dist/features/link/server/baseFields.d.ts.map +1 -1
  234. package/dist/features/link/server/baseFields.js.map +1 -1
  235. package/dist/features/link/server/graphQLPopulationPromise.d.ts +1 -1
  236. package/dist/features/link/server/graphQLPopulationPromise.d.ts.map +1 -1
  237. package/dist/features/link/server/graphQLPopulationPromise.js.map +1 -1
  238. package/dist/features/link/server/index.d.ts +2 -1
  239. package/dist/features/link/server/index.d.ts.map +1 -1
  240. package/dist/features/link/server/index.js +5 -2
  241. package/dist/features/link/server/index.js.map +1 -1
  242. package/dist/features/link/server/schema.d.ts +32 -0
  243. package/dist/features/link/server/schema.d.ts.map +1 -0
  244. package/dist/features/link/server/schema.js +171 -0
  245. package/dist/features/link/server/schema.js.map +1 -0
  246. package/dist/features/link/server/validate.d.ts +1 -1
  247. package/dist/features/link/server/validate.d.ts.map +1 -1
  248. package/dist/features/link/server/validate.js.map +1 -1
  249. package/dist/features/lists/checklist/client/index.js +1 -1
  250. package/dist/features/lists/checklist/client/index.js.map +1 -1
  251. package/dist/features/lists/checklist/server/index.d.ts.map +1 -1
  252. package/dist/features/lists/checklist/server/index.js +4 -1
  253. package/dist/features/lists/checklist/server/index.js.map +1 -1
  254. package/dist/features/lists/orderedList/client/index.js +1 -1
  255. package/dist/features/lists/orderedList/client/index.js.map +1 -1
  256. package/dist/features/lists/orderedList/server/index.d.ts.map +1 -1
  257. package/dist/features/lists/orderedList/server/index.js +4 -1
  258. package/dist/features/lists/orderedList/server/index.js.map +1 -1
  259. package/dist/features/lists/plugin/index.d.ts +0 -9
  260. package/dist/features/lists/plugin/index.d.ts.map +1 -1
  261. package/dist/features/lists/plugin/index.js.map +1 -1
  262. package/dist/features/lists/shared/schema.d.ts +18 -0
  263. package/dist/features/lists/shared/schema.d.ts.map +1 -0
  264. package/dist/features/lists/shared/schema.js +62 -0
  265. package/dist/features/lists/shared/schema.js.map +1 -0
  266. package/dist/features/lists/unorderedList/client/index.js +1 -1
  267. package/dist/features/lists/unorderedList/client/index.js.map +1 -1
  268. package/dist/features/lists/unorderedList/server/index.d.ts.map +1 -1
  269. package/dist/features/lists/unorderedList/server/index.js +4 -1
  270. package/dist/features/lists/unorderedList/server/index.js.map +1 -1
  271. package/dist/features/relationship/client/components/RelationshipComponent.d.ts +1 -1
  272. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
  273. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  274. package/dist/features/relationship/client/drawer/index.d.ts.map +1 -1
  275. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts +1 -1
  276. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
  277. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  278. package/dist/features/relationship/client/plugins/index.d.ts +1 -1
  279. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  280. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  281. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -1
  282. package/dist/features/relationship/client/utils/useEnabledRelationships.js +9 -40
  283. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -1
  284. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts +1 -1
  285. package/dist/features/relationship/server/graphQLPopulationPromise.d.ts.map +1 -1
  286. package/dist/features/relationship/server/graphQLPopulationPromise.js.map +1 -1
  287. package/dist/features/relationship/server/index.d.ts +1 -0
  288. package/dist/features/relationship/server/index.d.ts.map +1 -1
  289. package/dist/features/relationship/server/index.js +2 -0
  290. package/dist/features/relationship/server/index.js.map +1 -1
  291. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts +1 -10
  292. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  293. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  294. package/dist/features/relationship/server/schema.d.ts +28 -0
  295. package/dist/features/relationship/server/schema.d.ts.map +1 -0
  296. package/dist/features/relationship/server/schema.js +97 -0
  297. package/dist/features/relationship/server/schema.js.map +1 -0
  298. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts +23 -0
  299. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.d.ts.map +1 -0
  300. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js +34 -0
  301. package/dist/features/relationship/shared/filterEnabledRelationshipCollections.js.map +1 -0
  302. package/dist/features/shared/toolbar/addDropdownGroup.d.ts.map +1 -1
  303. package/dist/features/shared/toolbar/featureButtonsGroup.d.ts.map +1 -1
  304. package/dist/features/shared/toolbar/textDropdownGroup.d.ts.map +1 -1
  305. package/dist/features/textState/feature.client.js +1 -1
  306. package/dist/features/textState/feature.client.js.map +1 -1
  307. package/dist/features/toolbars/fixed/client/Toolbar/index.css +2 -2
  308. package/dist/features/toolbars/inline/client/Toolbar/index.css +2 -13
  309. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  310. package/dist/features/toolbars/shared/ToolbarDropdown/index.css +8 -12
  311. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  312. package/dist/features/toolbars/shared/useToolbarStates.d.ts.map +1 -1
  313. package/dist/features/toolbars/shared/useToolbarStates.js +3 -1
  314. package/dist/features/toolbars/shared/useToolbarStates.js.map +1 -1
  315. package/dist/features/typesClient.d.ts +1 -1
  316. package/dist/features/typesClient.d.ts.map +1 -1
  317. package/dist/features/typesClient.js.map +1 -1
  318. package/dist/features/typesServer.d.ts +18 -41
  319. package/dist/features/typesServer.d.ts.map +1 -1
  320. package/dist/features/typesServer.js.map +1 -1
  321. package/dist/features/upload/client/component/index.css +11 -11
  322. package/dist/features/upload/client/component/index.d.ts +1 -1
  323. package/dist/features/upload/client/component/index.d.ts.map +1 -1
  324. package/dist/features/upload/client/component/index.js.map +1 -1
  325. package/dist/features/upload/client/drawer/index.d.ts.map +1 -1
  326. package/dist/features/upload/client/nodes/UploadNode.d.ts +1 -1
  327. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  328. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  329. package/dist/features/upload/client/plugin/index.d.ts +1 -1
  330. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  331. package/dist/features/upload/client/plugin/index.js +5 -5
  332. package/dist/features/upload/client/plugin/index.js.map +1 -1
  333. package/dist/features/upload/server/graphQLPopulationPromise.d.ts +1 -1
  334. package/dist/features/upload/server/graphQLPopulationPromise.d.ts.map +1 -1
  335. package/dist/features/upload/server/graphQLPopulationPromise.js.map +1 -1
  336. package/dist/features/upload/server/index.d.ts +1 -0
  337. package/dist/features/upload/server/index.d.ts.map +1 -1
  338. package/dist/features/upload/server/index.js +5 -4
  339. package/dist/features/upload/server/index.js.map +1 -1
  340. package/dist/features/upload/server/markdownTransformer.d.ts +2 -2
  341. package/dist/features/upload/server/markdownTransformer.d.ts.map +1 -1
  342. package/dist/features/upload/server/markdownTransformer.js +1 -1
  343. package/dist/features/upload/server/markdownTransformer.js.map +1 -1
  344. package/dist/features/upload/server/nodes/UploadNode.d.ts +1 -55
  345. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  346. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  347. package/dist/features/upload/server/nodes/conversions.d.ts.map +1 -1
  348. package/dist/features/upload/server/nodes/conversions.js.map +1 -1
  349. package/dist/features/upload/server/schema.d.ts +52 -0
  350. package/dist/features/upload/server/schema.d.ts.map +1 -0
  351. package/dist/features/upload/server/schema.js +149 -0
  352. package/dist/features/upload/server/schema.js.map +1 -0
  353. package/dist/features/upload/server/validate.d.ts +1 -1
  354. package/dist/features/upload/server/validate.d.ts.map +1 -1
  355. package/dist/features/upload/server/validate.js.map +1 -1
  356. package/dist/field/Diff/converters/unknown/index.css +1 -1
  357. package/dist/field/Diff/converters/upload/index.js.map +1 -1
  358. package/dist/field/Field.d.ts.map +1 -1
  359. package/dist/field/Field.js +18 -15
  360. package/dist/field/Field.js.map +1 -1
  361. package/dist/field/ViewSelector.css +1 -1
  362. package/dist/field/bundled.css +1 -1
  363. package/dist/field/index.css +5 -5
  364. package/dist/field/index.js +1 -1
  365. package/dist/field/index.js.map +1 -1
  366. package/dist/field/rscEntry.d.ts.map +1 -1
  367. package/dist/field/rscEntry.js +2 -0
  368. package/dist/field/rscEntry.js.map +1 -1
  369. package/dist/index.d.ts +10 -7
  370. package/dist/index.d.ts.map +1 -1
  371. package/dist/index.js +3 -3
  372. package/dist/index.js.map +1 -1
  373. package/dist/lexical/LexicalEditor.css +4 -2
  374. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  375. package/dist/lexical/config/client/loader.d.ts.map +1 -1
  376. package/dist/lexical/config/client/loader.js +5 -1
  377. package/dist/lexical/config/client/loader.js.map +1 -1
  378. package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
  379. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  380. package/dist/lexical/config/server/sanitize.js +9 -11
  381. package/dist/lexical/config/server/sanitize.js.map +1 -1
  382. package/dist/lexical/plugins/DecoratorPlugin/index.css +1 -1
  383. package/dist/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  384. package/dist/lexical/plugins/MarkdownShortcut/index.js +1 -1
  385. package/dist/lexical/plugins/MarkdownShortcut/index.js.map +1 -1
  386. package/dist/lexical/plugins/NodeViewOverridePlugin/index.d.ts.map +1 -1
  387. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js +21 -0
  388. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js.map +1 -1
  389. package/dist/lexical/plugins/SlashMenu/index.css +1 -5
  390. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.css +1 -1
  391. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts.map +1 -1
  392. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.css +4 -3
  393. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +1 -1
  394. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  395. package/dist/lexical/plugins/handles/utils/calculateDistanceFromScrollerElem.d.ts.map +1 -1
  396. package/dist/lexical/theme/EditorTheme.css +18 -19
  397. package/dist/lexical/ui/ContentEditable.css +9 -5
  398. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts +17 -0
  399. package/dist/lexical/utils/markdown/convertFromMarkdownString.d.ts.map +1 -0
  400. package/dist/lexical/utils/markdown/convertFromMarkdownString.js +27 -0
  401. package/dist/lexical/utils/markdown/convertFromMarkdownString.js.map +1 -0
  402. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js +88 -0
  403. package/dist/lexical/utils/markdown/convertFromMarkdownString.spec.js.map +1 -0
  404. package/dist/lexical/utils/markdown/createBlockNode.d.ts +2 -2
  405. package/dist/lexical/utils/markdown/createBlockNode.d.ts.map +1 -1
  406. package/dist/lexical/utils/markdown/createBlockNode.js.map +1 -1
  407. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts +25 -0
  408. package/dist/lexical/utils/markdown/normalizeMarkdown.d.ts.map +1 -0
  409. package/dist/lexical/utils/markdown/normalizeMarkdown.js +91 -0
  410. package/dist/lexical/utils/markdown/normalizeMarkdown.js.map +1 -0
  411. package/dist/lexical/utils/nodeFormat.d.ts.map +1 -1
  412. package/dist/lexical/utils/point.d.ts.map +1 -1
  413. package/dist/lexical/utils/rect.d.ts.map +1 -1
  414. package/dist/lexical-proxy/@lexical-markdown.d.ts +1 -1
  415. package/dist/lexical-proxy/@lexical-markdown.d.ts.map +1 -1
  416. package/dist/lexical-proxy/@lexical-markdown.js +1 -1
  417. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -1
  418. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
  419. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.d.ts.map +1 -1
  420. package/dist/types/builtInNodes.d.ts +14 -0
  421. package/dist/types/builtInNodes.d.ts.map +1 -0
  422. package/dist/types/builtInNodes.js +203 -0
  423. package/dist/types/builtInNodes.js.map +1 -0
  424. package/dist/types/index.d.ts +16 -17
  425. package/dist/types/index.d.ts.map +1 -1
  426. package/dist/types/index.js.map +1 -1
  427. package/dist/types/jsonSchemaHelpers.d.ts +30 -0
  428. package/dist/types/jsonSchemaHelpers.d.ts.map +1 -0
  429. package/dist/types/jsonSchemaHelpers.js +58 -0
  430. package/dist/types/jsonSchemaHelpers.js.map +1 -0
  431. package/dist/types/nodeTypes.d.ts +115 -61
  432. package/dist/types/nodeTypes.d.ts.map +1 -1
  433. package/dist/types/nodeTypes.js +3 -2
  434. package/dist/types/nodeTypes.js.map +1 -1
  435. package/dist/types/schema.d.ts.map +1 -1
  436. package/dist/types/schema.js +74 -65
  437. package/dist/types/schema.js.map +1 -1
  438. package/dist/utilities/applyBaseFilterToFields.d.ts.map +1 -1
  439. package/dist/utilities/applyBaseFilterToFields.js +1 -2
  440. package/dist/utilities/applyBaseFilterToFields.js.map +1 -1
  441. package/dist/utilities/buildEditorState.d.ts +17 -3
  442. package/dist/utilities/buildEditorState.d.ts.map +1 -1
  443. package/dist/utilities/buildEditorState.js +8 -0
  444. package/dist/utilities/buildEditorState.js.map +1 -1
  445. package/dist/utilities/buildInitialState.d.ts +2 -1
  446. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  447. package/dist/utilities/buildInitialState.js.map +1 -1
  448. package/dist/utilities/editorConfigFactory.d.ts.map +1 -1
  449. package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -1
  450. package/dist/utilities/fieldsDrawer/Drawer.js +19 -10
  451. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  452. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts +4 -1
  453. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  454. package/dist/utilities/fieldsDrawer/DrawerContent.js +8 -7
  455. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  456. package/dist/utilities/fieldsDrawer/index.css +12 -0
  457. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts +29 -0
  458. package/dist/utilities/fieldsDrawer/useDrawerSubmit.d.ts.map +1 -0
  459. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js +97 -0
  460. package/dist/utilities/fieldsDrawer/useDrawerSubmit.js.map +1 -0
  461. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts.map +1 -1
  462. package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts.map +1 -1
  463. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.d.ts.map +1 -1
  464. package/dist/utilities/generateImportMap.d.ts +1 -1
  465. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  466. package/dist/utilities/generateSchemaMap.d.ts +1 -1
  467. package/dist/utilities/generateSchemaMap.d.ts.map +1 -1
  468. package/dist/utilities/getDefaultSanitizedEditorConfig.d.ts.map +1 -1
  469. package/dist/utilities/recurseNodeTree.d.ts.map +1 -1
  470. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -1
  471. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +1 -1
  472. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  473. package/dist/utilities/useLexicalFeature.d.ts.map +1 -1
  474. package/dist/validate/index.d.ts.map +1 -1
  475. package/package.json +22 -26
  476. package/dist/exports/client/Field-G5Z2HM5Y.js +0 -2
  477. package/dist/exports/client/Field-G5Z2HM5Y.js.map +0 -7
  478. package/dist/exports/client/RelationshipComponent-RZL743CS.js.map +0 -7
  479. package/dist/exports/client/chunk-6QWQ7JV4.js +0 -2
  480. package/dist/exports/client/chunk-6QWQ7JV4.js.map +0 -7
  481. package/dist/exports/client/chunk-FEJXFRL7.js +0 -2
  482. package/dist/exports/client/chunk-FEJXFRL7.js.map +0 -7
  483. package/dist/exports/client/chunk-INBEEENE.js +0 -2
  484. package/dist/exports/client/chunk-INBEEENE.js.map +0 -7
  485. package/dist/exports/client/chunk-LH634DPU.js +0 -12
  486. package/dist/exports/client/chunk-LH634DPU.js.map +0 -7
  487. package/dist/exports/client/component-CVM4OESA.js.map +0 -7
  488. package/dist/exports/client/componentInline-JJZ2NKW2.js +0 -2
  489. package/dist/features/blockquote/markdownTransformer.d.ts +0 -3
  490. package/dist/features/blockquote/markdownTransformer.d.ts.map +0 -1
  491. package/dist/features/blockquote/markdownTransformer.js +0 -33
  492. package/dist/features/blockquote/markdownTransformer.js.map +0 -1
  493. package/dist/features/format/bold/markdownTransformers.d.ts +0 -6
  494. package/dist/features/format/bold/markdownTransformers.d.ts.map +0 -1
  495. package/dist/features/format/bold/markdownTransformers.js +0 -23
  496. package/dist/features/format/bold/markdownTransformers.js.map +0 -1
  497. package/dist/features/format/inlineCode/markdownTransformers.d.ts +0 -3
  498. package/dist/features/format/inlineCode/markdownTransformers.d.ts.map +0 -1
  499. package/dist/features/format/inlineCode/markdownTransformers.js +0 -6
  500. package/dist/features/format/inlineCode/markdownTransformers.js.map +0 -1
  501. package/dist/features/format/italic/markdownTransformers.d.ts +0 -4
  502. package/dist/features/format/italic/markdownTransformers.d.ts.map +0 -1
  503. package/dist/features/format/italic/markdownTransformers.js +0 -12
  504. package/dist/features/format/italic/markdownTransformers.js.map +0 -1
  505. package/dist/features/format/strikethrough/markdownTransformers.d.ts +0 -3
  506. package/dist/features/format/strikethrough/markdownTransformers.d.ts.map +0 -1
  507. package/dist/features/format/strikethrough/markdownTransformers.js +0 -6
  508. package/dist/features/format/strikethrough/markdownTransformers.js.map +0 -1
  509. package/dist/features/link/nodes/types.d.ts +0 -27
  510. package/dist/features/link/nodes/types.d.ts.map +0 -1
  511. package/dist/features/link/nodes/types.js +0 -2
  512. package/dist/features/link/nodes/types.js.map +0 -1
  513. package/dist/features/lists/checklist/markdownTransformers.d.ts +0 -3
  514. package/dist/features/lists/checklist/markdownTransformers.d.ts.map +0 -1
  515. package/dist/features/lists/checklist/markdownTransformers.js +0 -12
  516. package/dist/features/lists/checklist/markdownTransformers.js.map +0 -1
  517. package/dist/features/lists/orderedList/markdownTransformer.d.ts +0 -3
  518. package/dist/features/lists/orderedList/markdownTransformer.d.ts.map +0 -1
  519. package/dist/features/lists/orderedList/markdownTransformer.js +0 -12
  520. package/dist/features/lists/orderedList/markdownTransformer.js.map +0 -1
  521. package/dist/features/lists/shared/markdown.d.ts +0 -6
  522. package/dist/features/lists/shared/markdown.d.ts.map +0 -1
  523. package/dist/features/lists/shared/markdown.js +0 -57
  524. package/dist/features/lists/shared/markdown.js.map +0 -1
  525. package/dist/features/lists/unorderedList/markdownTransformer.d.ts +0 -3
  526. package/dist/features/lists/unorderedList/markdownTransformer.d.ts.map +0 -1
  527. package/dist/features/lists/unorderedList/markdownTransformer.js +0 -12
  528. package/dist/features/lists/unorderedList/markdownTransformer.js.map +0 -1
  529. package/dist/lexical/utils/guard.d.ts +0 -5
  530. package/dist/lexical/utils/guard.d.ts.map +0 -1
  531. package/dist/lexical/utils/guard.js +0 -9
  532. package/dist/lexical/utils/guard.js.map +0 -1
  533. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts +0 -2
  534. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts.map +0 -1
  535. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +0 -2
  536. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +0 -1
  537. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts +0 -14
  538. package/dist/packages/@lexical/markdown/MarkdownExport.d.ts.map +0 -1
  539. package/dist/packages/@lexical/markdown/MarkdownExport.js +0 -213
  540. package/dist/packages/@lexical/markdown/MarkdownExport.js.map +0 -1
  541. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts +0 -19
  542. package/dist/packages/@lexical/markdown/MarkdownImport.d.ts.map +0 -1
  543. package/dist/packages/@lexical/markdown/MarkdownImport.js +0 -198
  544. package/dist/packages/@lexical/markdown/MarkdownImport.js.map +0 -1
  545. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts +0 -11
  546. package/dist/packages/@lexical/markdown/MarkdownShortcuts.d.ts.map +0 -1
  547. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js +0 -304
  548. package/dist/packages/@lexical/markdown/MarkdownShortcuts.js.map +0 -1
  549. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts +0 -147
  550. package/dist/packages/@lexical/markdown/MarkdownTransformers.d.ts.map +0 -1
  551. package/dist/packages/@lexical/markdown/MarkdownTransformers.js +0 -268
  552. package/dist/packages/@lexical/markdown/MarkdownTransformers.js.map +0 -1
  553. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts +0 -22
  554. package/dist/packages/@lexical/markdown/importTextFormatTransformer.d.ts.map +0 -1
  555. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js +0 -91
  556. package/dist/packages/@lexical/markdown/importTextFormatTransformer.js.map +0 -1
  557. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts +0 -21
  558. package/dist/packages/@lexical/markdown/importTextMatchTransformer.d.ts.map +0 -1
  559. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js +0 -54
  560. package/dist/packages/@lexical/markdown/importTextMatchTransformer.js.map +0 -1
  561. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts +0 -18
  562. package/dist/packages/@lexical/markdown/importTextTransformers.d.ts.map +0 -1
  563. package/dist/packages/@lexical/markdown/importTextTransformers.js +0 -54
  564. package/dist/packages/@lexical/markdown/importTextTransformers.js.map +0 -1
  565. package/dist/packages/@lexical/markdown/index.d.ts +0 -29
  566. package/dist/packages/@lexical/markdown/index.d.ts.map +0 -1
  567. package/dist/packages/@lexical/markdown/index.js +0 -39
  568. package/dist/packages/@lexical/markdown/index.js.map +0 -1
  569. package/dist/packages/@lexical/markdown/utils.d.ts +0 -34
  570. package/dist/packages/@lexical/markdown/utils.d.ts.map +0 -1
  571. package/dist/packages/@lexical/markdown/utils.js +0 -267
  572. package/dist/packages/@lexical/markdown/utils.js.map +0 -1
  573. /package/dist/exports/client/{componentInline-JJZ2NKW2.js.map → componentInline-H24N7GUG.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["$isListNode","INSERT_CHECK_LIST_COMMAND","ListItemNode","ListNode","$isRangeSelection","ChecklistIcon","createClientFeature","toolbarTextDropdownGroupWithItems","LexicalListPlugin","shouldRegisterListBaseNodes","slashMenuListGroupWithItems","CHECK_LIST","LexicalCheckListPlugin","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getListType","parent","getParent","parentParent","key","label","i18n","t","onSelect","editor","dispatchCommand","undefined","order","ChecklistFeatureClient","featureProviderMap","plugins","Component","position","shouldRegister","push","markdownTransformers","nodes","slashMenu","groups","Icon","keywords","toolbarFixed","toolbarInline"],"sources":["../../../../../src/features/lists/checklist/client/index.tsx"],"sourcesContent":["'use client'\nimport { $isListNode, INSERT_CHECK_LIST_COMMAND, ListItemNode, ListNode } from '@lexical/list'\nimport { $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../../../toolbars/types.js'\nimport type { ClientFeature } from '../../../typesClient.js'\n\nimport { ChecklistIcon } from '../../../../lexical/ui/icons/Checklist/index.js'\nimport { createClientFeature } from '../../../../utilities/createClientFeature.js'\nimport { toolbarTextDropdownGroupWithItems } from '../../../shared/toolbar/textDropdownGroup.js'\nimport { LexicalListPlugin } from '../../plugin/index.js'\nimport { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js'\nimport { slashMenuListGroupWithItems } from '../../shared/slashMenuListGroup.js'\nimport { CHECK_LIST } from '../markdownTransformers.js'\nimport { LexicalCheckListPlugin } from './plugin/index.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems([\n {\n ChildComponent: ChecklistIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isListNode(node) && node.getListType() === 'check') {\n continue\n }\n\n const parent = node.getParent()\n\n if ($isListNode(parent) && parent.getListType() === 'check') {\n continue\n }\n\n const parentParent = parent?.getParent()\n // Example scenario: Node = textNode, parent = listItemNode, parentParent = listNode\n if ($isListNode(parentParent) && parentParent.getListType() === 'check') {\n continue\n }\n\n return false\n }\n return true\n },\n key: 'checklist',\n label: ({ i18n }) => {\n return i18n.t('lexical:checklist:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_CHECK_LIST_COMMAND, undefined)\n },\n order: 12,\n },\n ]),\n]\n\nexport const ChecklistFeatureClient = createClientFeature(({ featureProviderMap }) => {\n const plugins: ClientFeature<undefined>['plugins'] = [\n {\n Component: LexicalCheckListPlugin,\n position: 'normal',\n },\n ]\n\n const shouldRegister = shouldRegisterListBaseNodes('checklist', featureProviderMap)\n if (shouldRegister) {\n plugins.push({\n Component: LexicalListPlugin,\n position: 'normal',\n })\n }\n\n return {\n markdownTransformers: [CHECK_LIST],\n nodes: shouldRegister ? [ListNode, ListItemNode] : [],\n plugins,\n slashMenu: {\n groups: [\n slashMenuListGroupWithItems([\n {\n Icon: ChecklistIcon,\n key: 'checklist',\n keywords: ['check list', 'check', 'checklist', 'cl'],\n label: ({ i18n }) => {\n return i18n.t('lexical:checklist:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_CHECK_LIST_COMMAND, undefined)\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n }\n})\n"],"mappings":"AAAA;;AACA,SAASA,WAAW,EAAEC,yBAAyB,EAAEC,YAAY,EAAEC,QAAQ,QAAQ;AAC/E,SAASC,iBAAiB,QAAQ;AAKlC,SAASC,aAAa,QAAQ;AAC9B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iCAAiC,QAAQ;AAClD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,UAAU,QAAQ;AAC3B,SAASC,sBAAsB,QAAQ;AAEvC,MAAMC,aAAA,GAAgC,CACpCN,iCAAA,CAAkC,CAChC;EACEO,cAAA,EAAgBT,aAAA;EAChBU,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAI,CAACZ,iBAAA,CAAkBY,SAAA,GAAY;MACjC,OAAO;IACT;IACA,KAAK,MAAMC,IAAA,IAAQD,SAAA,CAAUE,QAAQ,IAAI;MACvC,IAAIlB,WAAA,CAAYiB,IAAA,KAASA,IAAA,CAAKE,WAAW,OAAO,SAAS;QACvD;MACF;MAEA,MAAMC,MAAA,GAASH,IAAA,CAAKI,SAAS;MAE7B,IAAIrB,WAAA,CAAYoB,MAAA,KAAWA,MAAA,CAAOD,WAAW,OAAO,SAAS;QAC3D;MACF;MAEA,MAAMG,YAAA,GAAeF,MAAA,EAAQC,SAAA;MAC7B;MACA,IAAIrB,WAAA,CAAYsB,YAAA,KAAiBA,YAAA,CAAaH,WAAW,OAAO,SAAS;QACvE;MACF;MAEA,OAAO;IACT;IACA,OAAO;EACT;EACAI,GAAA,EAAK;EACLC,KAAA,EAAOA,CAAC;IAAEC;EAAI,CAAE;IACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;EAChB;EACAC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAAC5B,yBAAA,EAA2B6B,SAAA;EACpD;EACAC,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,sBAAA,GAAyB1B,mBAAA,CAAoB,CAAC;EAAE2B;AAAkB,CAAE;EAC/E,MAAMC,OAAA,GAA+C,CACnD;IACEC,SAAA,EAAWvB,sBAAA;IACXwB,QAAA,EAAU;EACZ,EACD;EAED,MAAMC,cAAA,GAAiB5B,2BAAA,CAA4B,aAAawB,kBAAA;EAChE,IAAII,cAAA,EAAgB;IAClBH,OAAA,CAAQI,IAAI,CAAC;MACXH,SAAA,EAAW3B,iBAAA;MACX4B,QAAA,EAAU;IACZ;EACF;EAEA,OAAO;IACLG,oBAAA,EAAsB,CAAC5B,UAAA,CAAW;IAClC6B,KAAA,EAAOH,cAAA,GAAiB,CAAClC,QAAA,EAAUD,YAAA,CAAa,GAAG,EAAE;IACrDgC,OAAA;IACAO,SAAA,EAAW;MACTC,MAAA,EAAQ,CACNhC,2BAAA,CAA4B,CAC1B;QACEiC,IAAA,EAAMtC,aAAA;QACNkB,GAAA,EAAK;QACLqB,QAAA,EAAU,CAAC,cAAc,SAAS,aAAa,KAAK;QACpDpB,KAAA,EAAOA,CAAC;UAAEC;QAAI,CAAE;UACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;QAChB;QACAC,QAAA,EAAUA,CAAC;UAAEC;QAAM,CAAE;UACnBA,MAAA,CAAOC,eAAe,CAAC5B,yBAAA,EAA2B6B,SAAA;QACpD;MACF,EACD;IAEL;IACAe,YAAA,EAAc;MACZH,MAAA,EAAQ7B;IACV;IACAiC,aAAA,EAAe;MACbJ,MAAA,EAAQ7B;IACV;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["$isListNode","INSERT_CHECK_LIST_COMMAND","ListItemNode","ListNode","CHECK_LIST","$isRangeSelection","ChecklistIcon","createClientFeature","toolbarTextDropdownGroupWithItems","LexicalListPlugin","shouldRegisterListBaseNodes","slashMenuListGroupWithItems","LexicalCheckListPlugin","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getListType","parent","getParent","parentParent","key","label","i18n","t","onSelect","editor","dispatchCommand","undefined","order","ChecklistFeatureClient","featureProviderMap","plugins","Component","position","shouldRegister","push","markdownTransformers","nodes","slashMenu","groups","Icon","keywords","toolbarFixed","toolbarInline"],"sources":["../../../../../src/features/lists/checklist/client/index.tsx"],"sourcesContent":["'use client'\nimport { $isListNode, INSERT_CHECK_LIST_COMMAND, ListItemNode, ListNode } from '@lexical/list'\nimport { CHECK_LIST } from '@lexical/markdown'\nimport { $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../../../toolbars/types.js'\nimport type { ClientFeature } from '../../../typesClient.js'\n\nimport { ChecklistIcon } from '../../../../lexical/ui/icons/Checklist/index.js'\nimport { createClientFeature } from '../../../../utilities/createClientFeature.js'\nimport { toolbarTextDropdownGroupWithItems } from '../../../shared/toolbar/textDropdownGroup.js'\nimport { LexicalListPlugin } from '../../plugin/index.js'\nimport { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js'\nimport { slashMenuListGroupWithItems } from '../../shared/slashMenuListGroup.js'\nimport { LexicalCheckListPlugin } from './plugin/index.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems([\n {\n ChildComponent: ChecklistIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isListNode(node) && node.getListType() === 'check') {\n continue\n }\n\n const parent = node.getParent()\n\n if ($isListNode(parent) && parent.getListType() === 'check') {\n continue\n }\n\n const parentParent = parent?.getParent()\n // Example scenario: Node = textNode, parent = listItemNode, parentParent = listNode\n if ($isListNode(parentParent) && parentParent.getListType() === 'check') {\n continue\n }\n\n return false\n }\n return true\n },\n key: 'checklist',\n label: ({ i18n }) => {\n return i18n.t('lexical:checklist:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_CHECK_LIST_COMMAND, undefined)\n },\n order: 12,\n },\n ]),\n]\n\nexport const ChecklistFeatureClient = createClientFeature(({ featureProviderMap }) => {\n const plugins: ClientFeature<undefined>['plugins'] = [\n {\n Component: LexicalCheckListPlugin,\n position: 'normal',\n },\n ]\n\n const shouldRegister = shouldRegisterListBaseNodes('checklist', featureProviderMap)\n if (shouldRegister) {\n plugins.push({\n Component: LexicalListPlugin,\n position: 'normal',\n })\n }\n\n return {\n markdownTransformers: [CHECK_LIST],\n nodes: shouldRegister ? [ListNode, ListItemNode] : [],\n plugins,\n slashMenu: {\n groups: [\n slashMenuListGroupWithItems([\n {\n Icon: ChecklistIcon,\n key: 'checklist',\n keywords: ['check list', 'check', 'checklist', 'cl'],\n label: ({ i18n }) => {\n return i18n.t('lexical:checklist:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_CHECK_LIST_COMMAND, undefined)\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n }\n})\n"],"mappings":"AAAA;;AACA,SAASA,WAAW,EAAEC,yBAAyB,EAAEC,YAAY,EAAEC,QAAQ,QAAQ;AAC/E,SAASC,UAAU,QAAQ;AAC3B,SAASC,iBAAiB,QAAQ;AAKlC,SAASC,aAAa,QAAQ;AAC9B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iCAAiC,QAAQ;AAClD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,sBAAsB,QAAQ;AAEvC,MAAMC,aAAA,GAAgC,CACpCL,iCAAA,CAAkC,CAChC;EACEM,cAAA,EAAgBR,aAAA;EAChBS,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAI,CAACX,iBAAA,CAAkBW,SAAA,GAAY;MACjC,OAAO;IACT;IACA,KAAK,MAAMC,IAAA,IAAQD,SAAA,CAAUE,QAAQ,IAAI;MACvC,IAAIlB,WAAA,CAAYiB,IAAA,KAASA,IAAA,CAAKE,WAAW,OAAO,SAAS;QACvD;MACF;MAEA,MAAMC,MAAA,GAASH,IAAA,CAAKI,SAAS;MAE7B,IAAIrB,WAAA,CAAYoB,MAAA,KAAWA,MAAA,CAAOD,WAAW,OAAO,SAAS;QAC3D;MACF;MAEA,MAAMG,YAAA,GAAeF,MAAA,EAAQC,SAAA;MAC7B;MACA,IAAIrB,WAAA,CAAYsB,YAAA,KAAiBA,YAAA,CAAaH,WAAW,OAAO,SAAS;QACvE;MACF;MAEA,OAAO;IACT;IACA,OAAO;EACT;EACAI,GAAA,EAAK;EACLC,KAAA,EAAOA,CAAC;IAAEC;EAAI,CAAE;IACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;EAChB;EACAC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAAC5B,yBAAA,EAA2B6B,SAAA;EACpD;EACAC,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,sBAAA,GAAyBzB,mBAAA,CAAoB,CAAC;EAAE0B;AAAkB,CAAE;EAC/E,MAAMC,OAAA,GAA+C,CACnD;IACEC,SAAA,EAAWvB,sBAAA;IACXwB,QAAA,EAAU;EACZ,EACD;EAED,MAAMC,cAAA,GAAiB3B,2BAAA,CAA4B,aAAauB,kBAAA;EAChE,IAAII,cAAA,EAAgB;IAClBH,OAAA,CAAQI,IAAI,CAAC;MACXH,SAAA,EAAW1B,iBAAA;MACX2B,QAAA,EAAU;IACZ;EACF;EAEA,OAAO;IACLG,oBAAA,EAAsB,CAACnC,UAAA,CAAW;IAClCoC,KAAA,EAAOH,cAAA,GAAiB,CAAClC,QAAA,EAAUD,YAAA,CAAa,GAAG,EAAE;IACrDgC,OAAA;IACAO,SAAA,EAAW;MACTC,MAAA,EAAQ,CACN/B,2BAAA,CAA4B,CAC1B;QACEgC,IAAA,EAAMrC,aAAA;QACNiB,GAAA,EAAK;QACLqB,QAAA,EAAU,CAAC,cAAc,SAAS,aAAa,KAAK;QACpDpB,KAAA,EAAOA,CAAC;UAAEC;QAAI,CAAE;UACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;QAChB;QACAC,QAAA,EAAUA,CAAC;UAAEC;QAAM,CAAE;UACnBA,MAAA,CAAOC,eAAe,CAAC5B,yBAAA,EAA2B6B,SAAA;QACpD;MACF,EACD;IAEL;IACAe,YAAA,EAAc;MACZH,MAAA,EAAQ7B;IACV;IACAiC,aAAA,EAAe;MACbJ,MAAA,EAAQ7B;IACV;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/lists/checklist/server/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,gBAAgB,kGAmB3B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/lists/checklist/server/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,gBAAgB,kGAqB3B,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { ListItemNode, ListNode } from '@lexical/list';
2
+ import { CHECK_LIST } from '@lexical/markdown';
2
3
  import { createServerFeature } from '../../../../utilities/createServerFeature.js';
3
4
  import { createNode } from '../../../typeUtilities.js';
5
+ import { listItemNodeJSONSchema, listNodeJSONSchema } from '../../shared/schema.js';
4
6
  import { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js';
5
- import { CHECK_LIST } from '../markdownTransformers.js';
6
7
  import { i18n } from './i18n.js';
7
8
  export const ChecklistFeature = createServerFeature({
8
9
  feature: ({
@@ -13,8 +14,10 @@ export const ChecklistFeature = createServerFeature({
13
14
  i18n,
14
15
  markdownTransformers: [CHECK_LIST],
15
16
  nodes: shouldRegisterListBaseNodes('checklist', featureProviderMap) ? [createNode({
17
+ jsonSchema: listNodeJSONSchema,
16
18
  node: ListNode
17
19
  }), createNode({
20
+ jsonSchema: listItemNodeJSONSchema,
18
21
  node: ListItemNode
19
22
  })] : []
20
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ListItemNode","ListNode","createServerFeature","createNode","shouldRegisterListBaseNodes","CHECK_LIST","i18n","ChecklistFeature","feature","featureProviderMap","ClientFeature","markdownTransformers","nodes","node","key"],"sources":["../../../../../src/features/lists/checklist/server/index.ts"],"sourcesContent":["import { ListItemNode, ListNode } from '@lexical/list'\n\nimport { createServerFeature } from '../../../../utilities/createServerFeature.js'\nimport { createNode } from '../../../typeUtilities.js'\nimport { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js'\nimport { CHECK_LIST } from '../markdownTransformers.js'\nimport { i18n } from './i18n.js'\n\nexport const ChecklistFeature = createServerFeature({\n feature: ({ featureProviderMap }) => {\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#ChecklistFeatureClient',\n i18n,\n markdownTransformers: [CHECK_LIST],\n nodes: shouldRegisterListBaseNodes('checklist', featureProviderMap)\n ? [\n createNode({\n node: ListNode,\n }),\n createNode({\n node: ListItemNode,\n }),\n ]\n : [],\n }\n },\n key: 'checklist',\n})\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,QAAQ,QAAQ;AAEvC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,UAAU,QAAQ;AAC3B,SAASC,IAAI,QAAQ;AAErB,OAAO,MAAMC,gBAAA,GAAmBL,mBAAA,CAAoB;EAClDM,OAAA,EAASA,CAAC;IAAEC;EAAkB,CAAE;IAC9B,OAAO;MACLC,aAAA,EAAe;MACfJ,IAAA;MACAK,oBAAA,EAAsB,CAACN,UAAA,CAAW;MAClCO,KAAA,EAAOR,2BAAA,CAA4B,aAAaK,kBAAA,IAC5C,CACEN,UAAA,CAAW;QACTU,IAAA,EAAMZ;MACR,IACAE,UAAA,CAAW;QACTU,IAAA,EAAMb;MACR,GACD,GACD;IACN;EACF;EACAc,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["ListItemNode","ListNode","CHECK_LIST","createServerFeature","createNode","listItemNodeJSONSchema","listNodeJSONSchema","shouldRegisterListBaseNodes","i18n","ChecklistFeature","feature","featureProviderMap","ClientFeature","markdownTransformers","nodes","jsonSchema","node","key"],"sources":["../../../../../src/features/lists/checklist/server/index.ts"],"sourcesContent":["import { ListItemNode, ListNode } from '@lexical/list'\nimport { CHECK_LIST } from '@lexical/markdown'\n\nimport { createServerFeature } from '../../../../utilities/createServerFeature.js'\nimport { createNode } from '../../../typeUtilities.js'\nimport { listItemNodeJSONSchema, listNodeJSONSchema } from '../../shared/schema.js'\nimport { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js'\nimport { i18n } from './i18n.js'\n\nexport const ChecklistFeature = createServerFeature({\n feature: ({ featureProviderMap }) => {\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#ChecklistFeatureClient',\n i18n,\n markdownTransformers: [CHECK_LIST],\n nodes: shouldRegisterListBaseNodes('checklist', featureProviderMap)\n ? [\n createNode({\n jsonSchema: listNodeJSONSchema,\n node: ListNode,\n }),\n createNode({\n jsonSchema: listItemNodeJSONSchema,\n node: ListItemNode,\n }),\n ]\n : [],\n }\n },\n key: 'checklist',\n})\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,QAAQ,QAAQ;AACvC,SAASC,UAAU,QAAQ;AAE3B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,sBAAsB,EAAEC,kBAAkB,QAAQ;AAC3D,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,IAAI,QAAQ;AAErB,OAAO,MAAMC,gBAAA,GAAmBN,mBAAA,CAAoB;EAClDO,OAAA,EAASA,CAAC;IAAEC;EAAkB,CAAE;IAC9B,OAAO;MACLC,aAAA,EAAe;MACfJ,IAAA;MACAK,oBAAA,EAAsB,CAACX,UAAA,CAAW;MAClCY,KAAA,EAAOP,2BAAA,CAA4B,aAAaI,kBAAA,IAC5C,CACEP,UAAA,CAAW;QACTW,UAAA,EAAYT,kBAAA;QACZU,IAAA,EAAMf;MACR,IACAG,UAAA,CAAW;QACTW,UAAA,EAAYV,sBAAA;QACZW,IAAA,EAAMhB;MACR,GACD,GACD;IACN;EACF;EACAiB,GAAA,EAAK;AACP","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { $isListNode, INSERT_ORDERED_LIST_COMMAND, ListItemNode, ListNode } from '@lexical/list';
4
+ import { ORDERED_LIST } from '@lexical/markdown';
4
5
  import { $isRangeSelection } from 'lexical';
5
6
  import { OrderedListIcon } from '../../../../lexical/ui/icons/OrderedList/index.js';
6
7
  import { createClientFeature } from '../../../../utilities/createClientFeature.js';
@@ -8,7 +9,6 @@ import { toolbarTextDropdownGroupWithItems } from '../../../shared/toolbar/textD
8
9
  import { LexicalListPlugin } from '../../plugin/index.js';
9
10
  import { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js';
10
11
  import { slashMenuListGroupWithItems } from '../../shared/slashMenuListGroup.js';
11
- import { ORDERED_LIST } from '../markdownTransformer.js';
12
12
  const toolbarGroups = [toolbarTextDropdownGroupWithItems([{
13
13
  ChildComponent: OrderedListIcon,
14
14
  isActive: ({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["$isListNode","INSERT_ORDERED_LIST_COMMAND","ListItemNode","ListNode","$isRangeSelection","OrderedListIcon","createClientFeature","toolbarTextDropdownGroupWithItems","LexicalListPlugin","shouldRegisterListBaseNodes","slashMenuListGroupWithItems","ORDERED_LIST","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getListType","parent","getParent","parentParent","key","label","i18n","t","onSelect","editor","dispatchCommand","undefined","order","OrderedListFeatureClient","featureProviderMap","shouldRegister","markdownTransformers","nodes","plugins","Component","position","slashMenu","groups","Icon","keywords","toolbarFixed","toolbarInline"],"sources":["../../../../../src/features/lists/orderedList/client/index.tsx"],"sourcesContent":["'use client'\nimport { $isListNode, INSERT_ORDERED_LIST_COMMAND, ListItemNode, ListNode } from '@lexical/list'\nimport { $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../../../toolbars/types.js'\n\nimport { OrderedListIcon } from '../../../../lexical/ui/icons/OrderedList/index.js'\nimport { createClientFeature } from '../../../../utilities/createClientFeature.js'\nimport { toolbarTextDropdownGroupWithItems } from '../../../shared/toolbar/textDropdownGroup.js'\nimport { LexicalListPlugin } from '../../plugin/index.js'\nimport { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js'\nimport { slashMenuListGroupWithItems } from '../../shared/slashMenuListGroup.js'\nimport { ORDERED_LIST } from '../markdownTransformer.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems([\n {\n ChildComponent: OrderedListIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isListNode(node) && node.getListType() === 'number') {\n continue\n }\n\n const parent = node.getParent()\n\n if ($isListNode(parent) && parent.getListType() === 'number') {\n continue\n }\n\n const parentParent = parent?.getParent()\n // Example scenario: Node = textNode, parent = listItemNode, parentParent = listNode\n if ($isListNode(parentParent) && parentParent.getListType() === 'number') {\n continue\n }\n\n return false\n }\n return true\n },\n key: 'orderedList',\n label: ({ i18n }) => {\n return i18n.t('lexical:orderedList:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined)\n },\n order: 10,\n },\n ]),\n]\n\nexport const OrderedListFeatureClient = createClientFeature(({ featureProviderMap }) => {\n const shouldRegister = shouldRegisterListBaseNodes('ordered', featureProviderMap)\n return {\n markdownTransformers: [ORDERED_LIST],\n nodes: shouldRegister ? [ListNode, ListItemNode] : [],\n plugins: shouldRegister\n ? [\n {\n Component: LexicalListPlugin,\n position: 'normal',\n },\n ]\n : [],\n slashMenu: {\n groups: [\n slashMenuListGroupWithItems([\n {\n Icon: OrderedListIcon,\n key: 'orderedList',\n keywords: ['ordered list', 'ol'],\n label: ({ i18n }) => {\n return i18n.t('lexical:orderedList:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined)\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n }\n})\n"],"mappings":"AAAA;;AACA,SAASA,WAAW,EAAEC,2BAA2B,EAAEC,YAAY,EAAEC,QAAQ,QAAQ;AACjF,SAASC,iBAAiB,QAAQ;AAIlC,SAASC,eAAe,QAAQ;AAChC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iCAAiC,QAAQ;AAClD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,YAAY,QAAQ;AAE7B,MAAMC,aAAA,GAAgC,CACpCL,iCAAA,CAAkC,CAChC;EACEM,cAAA,EAAgBR,eAAA;EAChBS,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAI,CAACX,iBAAA,CAAkBW,SAAA,GAAY;MACjC,OAAO;IACT;IACA,KAAK,MAAMC,IAAA,IAAQD,SAAA,CAAUE,QAAQ,IAAI;MACvC,IAAIjB,WAAA,CAAYgB,IAAA,KAASA,IAAA,CAAKE,WAAW,OAAO,UAAU;QACxD;MACF;MAEA,MAAMC,MAAA,GAASH,IAAA,CAAKI,SAAS;MAE7B,IAAIpB,WAAA,CAAYmB,MAAA,KAAWA,MAAA,CAAOD,WAAW,OAAO,UAAU;QAC5D;MACF;MAEA,MAAMG,YAAA,GAAeF,MAAA,EAAQC,SAAA;MAC7B;MACA,IAAIpB,WAAA,CAAYqB,YAAA,KAAiBA,YAAA,CAAaH,WAAW,OAAO,UAAU;QACxE;MACF;MAEA,OAAO;IACT;IACA,OAAO;EACT;EACAI,GAAA,EAAK;EACLC,KAAA,EAAOA,CAAC;IAAEC;EAAI,CAAE;IACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;EAChB;EACAC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAAC3B,2BAAA,EAA6B4B,SAAA;EACtD;EACAC,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,wBAAA,GAA2BzB,mBAAA,CAAoB,CAAC;EAAE0B;AAAkB,CAAE;EACjF,MAAMC,cAAA,GAAiBxB,2BAAA,CAA4B,WAAWuB,kBAAA;EAC9D,OAAO;IACLE,oBAAA,EAAsB,CAACvB,YAAA,CAAa;IACpCwB,KAAA,EAAOF,cAAA,GAAiB,CAAC9B,QAAA,EAAUD,YAAA,CAAa,GAAG,EAAE;IACrDkC,OAAA,EAASH,cAAA,GACL,CACE;MACEI,SAAA,EAAW7B,iBAAA;MACX8B,QAAA,EAAU;IACZ,EACD,GACD,EAAE;IACNC,SAAA,EAAW;MACTC,MAAA,EAAQ,CACN9B,2BAAA,CAA4B,CAC1B;QACE+B,IAAA,EAAMpC,eAAA;QACNiB,GAAA,EAAK;QACLoB,QAAA,EAAU,CAAC,gBAAgB,KAAK;QAChCnB,KAAA,EAAOA,CAAC;UAAEC;QAAI,CAAE;UACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;QAChB;QACAC,QAAA,EAAUA,CAAC;UAAEC;QAAM,CAAE;UACnBA,MAAA,CAAOC,eAAe,CAAC3B,2BAAA,EAA6B4B,SAAA;QACtD;MACF,EACD;IAEL;IACAc,YAAA,EAAc;MACZH,MAAA,EAAQ5B;IACV;IACAgC,aAAA,EAAe;MACbJ,MAAA,EAAQ5B;IACV;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["$isListNode","INSERT_ORDERED_LIST_COMMAND","ListItemNode","ListNode","ORDERED_LIST","$isRangeSelection","OrderedListIcon","createClientFeature","toolbarTextDropdownGroupWithItems","LexicalListPlugin","shouldRegisterListBaseNodes","slashMenuListGroupWithItems","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getListType","parent","getParent","parentParent","key","label","i18n","t","onSelect","editor","dispatchCommand","undefined","order","OrderedListFeatureClient","featureProviderMap","shouldRegister","markdownTransformers","nodes","plugins","Component","position","slashMenu","groups","Icon","keywords","toolbarFixed","toolbarInline"],"sources":["../../../../../src/features/lists/orderedList/client/index.tsx"],"sourcesContent":["'use client'\nimport { $isListNode, INSERT_ORDERED_LIST_COMMAND, ListItemNode, ListNode } from '@lexical/list'\nimport { ORDERED_LIST } from '@lexical/markdown'\nimport { $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../../../toolbars/types.js'\n\nimport { OrderedListIcon } from '../../../../lexical/ui/icons/OrderedList/index.js'\nimport { createClientFeature } from '../../../../utilities/createClientFeature.js'\nimport { toolbarTextDropdownGroupWithItems } from '../../../shared/toolbar/textDropdownGroup.js'\nimport { LexicalListPlugin } from '../../plugin/index.js'\nimport { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js'\nimport { slashMenuListGroupWithItems } from '../../shared/slashMenuListGroup.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems([\n {\n ChildComponent: OrderedListIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isListNode(node) && node.getListType() === 'number') {\n continue\n }\n\n const parent = node.getParent()\n\n if ($isListNode(parent) && parent.getListType() === 'number') {\n continue\n }\n\n const parentParent = parent?.getParent()\n // Example scenario: Node = textNode, parent = listItemNode, parentParent = listNode\n if ($isListNode(parentParent) && parentParent.getListType() === 'number') {\n continue\n }\n\n return false\n }\n return true\n },\n key: 'orderedList',\n label: ({ i18n }) => {\n return i18n.t('lexical:orderedList:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined)\n },\n order: 10,\n },\n ]),\n]\n\nexport const OrderedListFeatureClient = createClientFeature(({ featureProviderMap }) => {\n const shouldRegister = shouldRegisterListBaseNodes('ordered', featureProviderMap)\n return {\n markdownTransformers: [ORDERED_LIST],\n nodes: shouldRegister ? [ListNode, ListItemNode] : [],\n plugins: shouldRegister\n ? [\n {\n Component: LexicalListPlugin,\n position: 'normal',\n },\n ]\n : [],\n slashMenu: {\n groups: [\n slashMenuListGroupWithItems([\n {\n Icon: OrderedListIcon,\n key: 'orderedList',\n keywords: ['ordered list', 'ol'],\n label: ({ i18n }) => {\n return i18n.t('lexical:orderedList:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined)\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n }\n})\n"],"mappings":"AAAA;;AACA,SAASA,WAAW,EAAEC,2BAA2B,EAAEC,YAAY,EAAEC,QAAQ,QAAQ;AACjF,SAASC,YAAY,QAAQ;AAC7B,SAASC,iBAAiB,QAAQ;AAIlC,SAASC,eAAe,QAAQ;AAChC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iCAAiC,QAAQ;AAClD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,2BAA2B,QAAQ;AAE5C,MAAMC,aAAA,GAAgC,CACpCJ,iCAAA,CAAkC,CAChC;EACEK,cAAA,EAAgBP,eAAA;EAChBQ,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAI,CAACV,iBAAA,CAAkBU,SAAA,GAAY;MACjC,OAAO;IACT;IACA,KAAK,MAAMC,IAAA,IAAQD,SAAA,CAAUE,QAAQ,IAAI;MACvC,IAAIjB,WAAA,CAAYgB,IAAA,KAASA,IAAA,CAAKE,WAAW,OAAO,UAAU;QACxD;MACF;MAEA,MAAMC,MAAA,GAASH,IAAA,CAAKI,SAAS;MAE7B,IAAIpB,WAAA,CAAYmB,MAAA,KAAWA,MAAA,CAAOD,WAAW,OAAO,UAAU;QAC5D;MACF;MAEA,MAAMG,YAAA,GAAeF,MAAA,EAAQC,SAAA;MAC7B;MACA,IAAIpB,WAAA,CAAYqB,YAAA,KAAiBA,YAAA,CAAaH,WAAW,OAAO,UAAU;QACxE;MACF;MAEA,OAAO;IACT;IACA,OAAO;EACT;EACAI,GAAA,EAAK;EACLC,KAAA,EAAOA,CAAC;IAAEC;EAAI,CAAE;IACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;EAChB;EACAC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAAC3B,2BAAA,EAA6B4B,SAAA;EACtD;EACAC,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,wBAAA,GAA2BxB,mBAAA,CAAoB,CAAC;EAAEyB;AAAkB,CAAE;EACjF,MAAMC,cAAA,GAAiBvB,2BAAA,CAA4B,WAAWsB,kBAAA;EAC9D,OAAO;IACLE,oBAAA,EAAsB,CAAC9B,YAAA,CAAa;IACpC+B,KAAA,EAAOF,cAAA,GAAiB,CAAC9B,QAAA,EAAUD,YAAA,CAAa,GAAG,EAAE;IACrDkC,OAAA,EAASH,cAAA,GACL,CACE;MACEI,SAAA,EAAW5B,iBAAA;MACX6B,QAAA,EAAU;IACZ,EACD,GACD,EAAE;IACNC,SAAA,EAAW;MACTC,MAAA,EAAQ,CACN7B,2BAAA,CAA4B,CAC1B;QACE8B,IAAA,EAAMnC,eAAA;QACNgB,GAAA,EAAK;QACLoB,QAAA,EAAU,CAAC,gBAAgB,KAAK;QAChCnB,KAAA,EAAOA,CAAC;UAAEC;QAAI,CAAE;UACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;QAChB;QACAC,QAAA,EAAUA,CAAC;UAAEC;QAAM,CAAE;UACnBA,MAAA,CAAOC,eAAe,CAAC3B,2BAAA,EAA6B4B,SAAA;QACtD;MACF,EACD;IAEL;IACAc,YAAA,EAAc;MACZH,MAAA,EAAQ5B;IACV;IACAgC,aAAA,EAAe;MACbJ,MAAA,EAAQ5B;IACV;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/lists/orderedList/server/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,kBAAkB,kGAmB7B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/lists/orderedList/server/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,kBAAkB,kGAqB7B,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { ListItemNode, ListNode } from '@lexical/list';
2
+ import { ORDERED_LIST } from '@lexical/markdown';
2
3
  import { createServerFeature } from '../../../../utilities/createServerFeature.js';
3
4
  import { createNode } from '../../../typeUtilities.js';
5
+ import { listItemNodeJSONSchema, listNodeJSONSchema } from '../../shared/schema.js';
4
6
  import { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js';
5
- import { ORDERED_LIST } from '../markdownTransformer.js';
6
7
  import { i18n } from './i18n.js';
7
8
  export const OrderedListFeature = createServerFeature({
8
9
  feature: ({
@@ -13,8 +14,10 @@ export const OrderedListFeature = createServerFeature({
13
14
  i18n,
14
15
  markdownTransformers: [ORDERED_LIST],
15
16
  nodes: shouldRegisterListBaseNodes('ordered', featureProviderMap) ? [createNode({
17
+ jsonSchema: listNodeJSONSchema,
16
18
  node: ListNode
17
19
  }), createNode({
20
+ jsonSchema: listItemNodeJSONSchema,
18
21
  node: ListItemNode
19
22
  })] : []
20
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ListItemNode","ListNode","createServerFeature","createNode","shouldRegisterListBaseNodes","ORDERED_LIST","i18n","OrderedListFeature","feature","featureProviderMap","ClientFeature","markdownTransformers","nodes","node","key"],"sources":["../../../../../src/features/lists/orderedList/server/index.ts"],"sourcesContent":["import { ListItemNode, ListNode } from '@lexical/list'\n\nimport { createServerFeature } from '../../../../utilities/createServerFeature.js'\nimport { createNode } from '../../../typeUtilities.js'\nimport { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js'\nimport { ORDERED_LIST } from '../markdownTransformer.js'\nimport { i18n } from './i18n.js'\n\nexport const OrderedListFeature = createServerFeature({\n feature: ({ featureProviderMap }) => {\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#OrderedListFeatureClient',\n i18n,\n markdownTransformers: [ORDERED_LIST],\n nodes: shouldRegisterListBaseNodes('ordered', featureProviderMap)\n ? [\n createNode({\n node: ListNode,\n }),\n createNode({\n node: ListItemNode,\n }),\n ]\n : [],\n }\n },\n key: 'orderedList',\n})\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,QAAQ,QAAQ;AAEvC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,YAAY,QAAQ;AAC7B,SAASC,IAAI,QAAQ;AAErB,OAAO,MAAMC,kBAAA,GAAqBL,mBAAA,CAAoB;EACpDM,OAAA,EAASA,CAAC;IAAEC;EAAkB,CAAE;IAC9B,OAAO;MACLC,aAAA,EAAe;MACfJ,IAAA;MACAK,oBAAA,EAAsB,CAACN,YAAA,CAAa;MACpCO,KAAA,EAAOR,2BAAA,CAA4B,WAAWK,kBAAA,IAC1C,CACEN,UAAA,CAAW;QACTU,IAAA,EAAMZ;MACR,IACAE,UAAA,CAAW;QACTU,IAAA,EAAMb;MACR,GACD,GACD;IACN;EACF;EACAc,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["ListItemNode","ListNode","ORDERED_LIST","createServerFeature","createNode","listItemNodeJSONSchema","listNodeJSONSchema","shouldRegisterListBaseNodes","i18n","OrderedListFeature","feature","featureProviderMap","ClientFeature","markdownTransformers","nodes","jsonSchema","node","key"],"sources":["../../../../../src/features/lists/orderedList/server/index.ts"],"sourcesContent":["import { ListItemNode, ListNode } from '@lexical/list'\nimport { ORDERED_LIST } from '@lexical/markdown'\n\nimport { createServerFeature } from '../../../../utilities/createServerFeature.js'\nimport { createNode } from '../../../typeUtilities.js'\nimport { listItemNodeJSONSchema, listNodeJSONSchema } from '../../shared/schema.js'\nimport { shouldRegisterListBaseNodes } from '../../shared/shouldRegisterListBaseNodes.js'\nimport { i18n } from './i18n.js'\n\nexport const OrderedListFeature = createServerFeature({\n feature: ({ featureProviderMap }) => {\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#OrderedListFeatureClient',\n i18n,\n markdownTransformers: [ORDERED_LIST],\n nodes: shouldRegisterListBaseNodes('ordered', featureProviderMap)\n ? [\n createNode({\n jsonSchema: listNodeJSONSchema,\n node: ListNode,\n }),\n createNode({\n jsonSchema: listItemNodeJSONSchema,\n node: ListItemNode,\n }),\n ]\n : [],\n }\n },\n key: 'orderedList',\n})\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,QAAQ,QAAQ;AACvC,SAASC,YAAY,QAAQ;AAE7B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,sBAAsB,EAAEC,kBAAkB,QAAQ;AAC3D,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,IAAI,QAAQ;AAErB,OAAO,MAAMC,kBAAA,GAAqBN,mBAAA,CAAoB;EACpDO,OAAA,EAASA,CAAC;IAAEC;EAAkB,CAAE;IAC9B,OAAO;MACLC,aAAA,EAAe;MACfJ,IAAA;MACAK,oBAAA,EAAsB,CAACX,YAAA,CAAa;MACpCY,KAAA,EAAOP,2BAAA,CAA4B,WAAWI,kBAAA,IAC1C,CACEP,UAAA,CAAW;QACTW,UAAA,EAAYT,kBAAA;QACZU,IAAA,EAAMf;MACR,IACAG,UAAA,CAAW;QACTW,UAAA,EAAYV,sBAAA;QACZW,IAAA,EAAMhB;MACR,GACD,GACD;IACN;EACF;EACAiB,GAAA,EAAK;AACP","ignoreList":[]}
@@ -1,12 +1,3 @@
1
- import type { SerializedListItemNode as _SerializedListItemNode, SerializedListNode as _SerializedListNode } from '@lexical/list';
2
- import type { SerializedLexicalNode } from 'lexical';
3
- import type { StronglyTypedElementNode } from '../../../types/nodeTypes.js';
4
1
  import type { PluginComponent } from '../../typesClient.js';
5
- export type SerializedListItemNode<T extends SerializedLexicalNode = SerializedLexicalNode> = {
6
- checked?: boolean;
7
- } & StronglyTypedElementNode<_SerializedListItemNode, 'listitem', T>;
8
- export type SerializedListNode<T extends SerializedLexicalNode = SerializedLexicalNode> = {
9
- checked?: boolean;
10
- } & StronglyTypedElementNode<_SerializedListNode, 'list', T>;
11
2
  export declare const LexicalListPlugin: PluginComponent<undefined>;
12
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/lists/plugin/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,IAAI,uBAAuB,EACjD,kBAAkB,IAAI,mBAAmB,EAC1C,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAKpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,IAAI;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,GAAG,wBAAwB,CAAC,uBAAuB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;AAEpE,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,IAAI;IACxF,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,GAAG,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AAE5D,eAAO,MAAM,iBAAiB,EAAE,eAAe,CAAC,SAAS,CAExD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/lists/plugin/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,eAAO,MAAM,iBAAiB,EAAE,eAAe,CAAC,SAAS,CAExD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ListPlugin","React","LexicalListPlugin","_jsx"],"sources":["../../../../src/features/lists/plugin/index.tsx"],"sourcesContent":["'use client'\nimport type {\n SerializedListItemNode as _SerializedListItemNode,\n SerializedListNode as _SerializedListNode,\n} from '@lexical/list'\nimport type { SerializedLexicalNode } from 'lexical'\n\nimport { ListPlugin } from '@lexical/react/LexicalListPlugin.js'\nimport React from 'react'\n\nimport type { StronglyTypedElementNode } from '../../../types/nodeTypes.js'\nimport type { PluginComponent } from '../../typesClient.js'\n\nexport type SerializedListItemNode<T extends SerializedLexicalNode = SerializedLexicalNode> = {\n checked?: boolean\n} & StronglyTypedElementNode<_SerializedListItemNode, 'listitem', T>\n\nexport type SerializedListNode<T extends SerializedLexicalNode = SerializedLexicalNode> = {\n checked?: boolean\n} & StronglyTypedElementNode<_SerializedListNode, 'list', T>\n\nexport const LexicalListPlugin: PluginComponent<undefined> = () => {\n return <ListPlugin />\n}\n"],"mappings":"AAAA;;;AAOA,SAASA,UAAU,QAAQ;AAC3B,OAAOC,KAAA,MAAW;AAalB,OAAO,MAAMC,iBAAA,GAAgDA,CAAA;EAC3D,oBAAOC,IAAA,CAACH,UAAA;AACV","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["ListPlugin","React","LexicalListPlugin","_jsx"],"sources":["../../../../src/features/lists/plugin/index.tsx"],"sourcesContent":["'use client'\nimport { ListPlugin } from '@lexical/react/LexicalListPlugin.js'\nimport React from 'react'\n\nimport type { PluginComponent } from '../../typesClient.js'\n\nexport const LexicalListPlugin: PluginComponent<undefined> = () => {\n return <ListPlugin />\n}\n"],"mappings":"AAAA;;;AACA,SAASA,UAAU,QAAQ;AAC3B,OAAOC,KAAA,MAAW;AAIlB,OAAO,MAAMC,iBAAA,GAAgDA,CAAA;EAC3D,oBAAOC,IAAA,CAACH,UAAA;AACV","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import type { SerializedLexicalNode } from 'lexical';
2
+ import type { SerializedLexicalElementBase } from '../../../types/nodeTypes.js';
3
+ import type { JSONSchemaFn } from '../../typesServer.js';
4
+ export interface SerializedListItemNode<TChildren extends SerializedLexicalNode = SerializedLexicalNode> extends SerializedLexicalElementBase<TChildren> {
5
+ checked?: boolean;
6
+ type: 'listitem';
7
+ value: number;
8
+ }
9
+ export interface SerializedListNode<TChildren extends SerializedLexicalNode = SerializedLexicalNode> extends SerializedLexicalElementBase<TChildren> {
10
+ checked?: boolean;
11
+ listType: 'bullet' | 'check' | 'number';
12
+ start: number;
13
+ tag: 'ol' | 'ul';
14
+ type: 'list';
15
+ }
16
+ export declare const listNodeJSONSchema: JSONSchemaFn;
17
+ export declare const listItemNodeJSONSchema: JSONSchemaFn;
18
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/features/lists/shared/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,MAAM,WAAW,sBAAsB,CACrC,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,CAC/D,SAAQ,4BAA4B,CAAC,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,kBAAkB,CAAC,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,CACjG,SAAQ,4BAA4B,CAAC,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,IAAI,GAAG,IAAI,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAkBD,eAAO,MAAM,kBAAkB,EAAE,YAiBhC,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,YAepC,CAAA"}
@@ -0,0 +1,62 @@
1
+ /** MUST stay byte-for-byte in sync with the runtime `SerializedListNode` declared above. */const SERIALIZED_LIST_NODE_TS = `export interface SerializedListNode<TChildren> extends SerializedLexicalElementBase<TChildren> {
2
+ type: 'list';
3
+ checked?: boolean;
4
+ listType: 'number' | 'bullet' | 'check';
5
+ start: number;
6
+ tag: 'ul' | 'ol';
7
+ }`;
8
+ /** MUST stay byte-for-byte in sync with the runtime `SerializedListItemNode` declared above. */
9
+ const SERIALIZED_LIST_ITEM_NODE_TS = `export interface SerializedListItemNode<TChildren> extends SerializedLexicalElementBase<TChildren> {
10
+ type: 'listitem';
11
+ checked?: boolean;
12
+ value: number;
13
+ }`;
14
+ export const listNodeJSONSchema = ({
15
+ elementNodeSchema,
16
+ nodeUnionName,
17
+ typeStringDefinitions
18
+ }) => {
19
+ typeStringDefinitions.add(SERIALIZED_LIST_NODE_TS);
20
+ return elementNodeSchema({
21
+ nodeType: 'list',
22
+ properties: {
23
+ checked: {
24
+ type: 'boolean'
25
+ },
26
+ listType: {
27
+ type: 'string',
28
+ enum: ['number', 'bullet', 'check']
29
+ },
30
+ start: {
31
+ type: 'integer'
32
+ },
33
+ tag: {
34
+ type: 'string',
35
+ enum: ['ul', 'ol']
36
+ }
37
+ },
38
+ required: ['listType', 'start', 'tag'],
39
+ tsType: `SerializedListNode<${nodeUnionName}>`
40
+ });
41
+ };
42
+ export const listItemNodeJSONSchema = ({
43
+ elementNodeSchema,
44
+ nodeUnionName,
45
+ typeStringDefinitions
46
+ }) => {
47
+ typeStringDefinitions.add(SERIALIZED_LIST_ITEM_NODE_TS);
48
+ return elementNodeSchema({
49
+ nodeType: 'listitem',
50
+ properties: {
51
+ checked: {
52
+ type: 'boolean'
53
+ },
54
+ value: {
55
+ type: 'integer'
56
+ }
57
+ },
58
+ required: ['value'],
59
+ tsType: `SerializedListItemNode<${nodeUnionName}>`
60
+ });
61
+ };
62
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","names":["SERIALIZED_LIST_NODE_TS","SERIALIZED_LIST_ITEM_NODE_TS","listNodeJSONSchema","elementNodeSchema","nodeUnionName","typeStringDefinitions","add","nodeType","properties","checked","type","listType","enum","start","tag","required","tsType","listItemNodeJSONSchema","value"],"sources":["../../../../src/features/lists/shared/schema.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\n\nimport type { SerializedLexicalElementBase } from '../../../types/nodeTypes.js'\nimport type { JSONSchemaFn } from '../../typesServer.js'\n\nexport interface SerializedListItemNode<\n TChildren extends SerializedLexicalNode = SerializedLexicalNode,\n> extends SerializedLexicalElementBase<TChildren> {\n checked?: boolean\n type: 'listitem'\n value: number\n}\n\nexport interface SerializedListNode<TChildren extends SerializedLexicalNode = SerializedLexicalNode>\n extends SerializedLexicalElementBase<TChildren> {\n checked?: boolean\n listType: 'bullet' | 'check' | 'number'\n start: number\n tag: 'ol' | 'ul'\n type: 'list'\n}\n\n/** MUST stay byte-for-byte in sync with the runtime `SerializedListNode` declared above. */\nconst SERIALIZED_LIST_NODE_TS = `export interface SerializedListNode<TChildren> extends SerializedLexicalElementBase<TChildren> {\n type: 'list';\n checked?: boolean;\n listType: 'number' | 'bullet' | 'check';\n start: number;\n tag: 'ul' | 'ol';\n}`\n\n/** MUST stay byte-for-byte in sync with the runtime `SerializedListItemNode` declared above. */\nconst SERIALIZED_LIST_ITEM_NODE_TS = `export interface SerializedListItemNode<TChildren> extends SerializedLexicalElementBase<TChildren> {\n type: 'listitem';\n checked?: boolean;\n value: number;\n}`\n\nexport const listNodeJSONSchema: JSONSchemaFn = ({\n elementNodeSchema,\n nodeUnionName,\n typeStringDefinitions,\n}) => {\n typeStringDefinitions.add(SERIALIZED_LIST_NODE_TS)\n return elementNodeSchema({\n nodeType: 'list',\n properties: {\n checked: { type: 'boolean' },\n listType: { type: 'string', enum: ['number', 'bullet', 'check'] },\n start: { type: 'integer' },\n tag: { type: 'string', enum: ['ul', 'ol'] },\n },\n required: ['listType', 'start', 'tag'],\n tsType: `SerializedListNode<${nodeUnionName}>`,\n })\n}\n\nexport const listItemNodeJSONSchema: JSONSchemaFn = ({\n elementNodeSchema,\n nodeUnionName,\n typeStringDefinitions,\n}) => {\n typeStringDefinitions.add(SERIALIZED_LIST_ITEM_NODE_TS)\n return elementNodeSchema({\n nodeType: 'listitem',\n properties: {\n checked: { type: 'boolean' },\n value: { type: 'integer' },\n },\n required: ['value'],\n tsType: `SerializedListItemNode<${nodeUnionName}>`,\n })\n}\n"],"mappings":"AAsBA,4FACA,MAAMA,uBAAA,GAA0B;;;;;;EAM9B;AAEF;AACA,MAAMC,4BAAA,GAA+B;;;;EAInC;AAEF,OAAO,MAAMC,kBAAA,GAAmCA,CAAC;EAC/CC,iBAAiB;EACjBC,aAAa;EACbC;AAAqB,CACtB;EACCA,qBAAA,CAAsBC,GAAG,CAACN,uBAAA;EAC1B,OAAOG,iBAAA,CAAkB;IACvBI,QAAA,EAAU;IACVC,UAAA,EAAY;MACVC,OAAA,EAAS;QAAEC,IAAA,EAAM;MAAU;MAC3BC,QAAA,EAAU;QAAED,IAAA,EAAM;QAAUE,IAAA,EAAM,CAAC,UAAU,UAAU;MAAS;MAChEC,KAAA,EAAO;QAAEH,IAAA,EAAM;MAAU;MACzBI,GAAA,EAAK;QAAEJ,IAAA,EAAM;QAAUE,IAAA,EAAM,CAAC,MAAM;MAAM;IAC5C;IACAG,QAAA,EAAU,CAAC,YAAY,SAAS,MAAM;IACtCC,MAAA,EAAQ,sBAAsBZ,aAAA;EAChC;AACF;AAEA,OAAO,MAAMa,sBAAA,GAAuCA,CAAC;EACnDd,iBAAiB;EACjBC,aAAa;EACbC;AAAqB,CACtB;EACCA,qBAAA,CAAsBC,GAAG,CAACL,4BAAA;EAC1B,OAAOE,iBAAA,CAAkB;IACvBI,QAAA,EAAU;IACVC,UAAA,EAAY;MACVC,OAAA,EAAS;QAAEC,IAAA,EAAM;MAAU;MAC3BQ,KAAA,EAAO;QAAER,IAAA,EAAM;MAAU;IAC3B;IACAK,QAAA,EAAU,CAAC,QAAQ;IACnBC,MAAA,EAAQ,0BAA0BZ,aAAA;EACpC;AACF","ignoreList":[]}
@@ -1,13 +1,13 @@
1
1
  'use client';
2
2
 
3
3
  import { $isListNode, INSERT_UNORDERED_LIST_COMMAND, ListItemNode, ListNode } from '@lexical/list';
4
+ import { UNORDERED_LIST } from '@lexical/markdown';
4
5
  import { $isRangeSelection } from 'lexical';
5
6
  import { UnorderedListIcon } from '../../../../lexical/ui/icons/UnorderedList/index.js';
6
7
  import { createClientFeature } from '../../../../utilities/createClientFeature.js';
7
8
  import { toolbarTextDropdownGroupWithItems } from '../../../shared/toolbar/textDropdownGroup.js';
8
9
  import { LexicalListPlugin } from '../../plugin/index.js';
9
10
  import { slashMenuListGroupWithItems } from '../../shared/slashMenuListGroup.js';
10
- import { UNORDERED_LIST } from '../markdownTransformer.js';
11
11
  const toolbarGroups = [toolbarTextDropdownGroupWithItems([{
12
12
  ChildComponent: UnorderedListIcon,
13
13
  isActive: ({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["$isListNode","INSERT_UNORDERED_LIST_COMMAND","ListItemNode","ListNode","$isRangeSelection","UnorderedListIcon","createClientFeature","toolbarTextDropdownGroupWithItems","LexicalListPlugin","slashMenuListGroupWithItems","UNORDERED_LIST","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getListType","parent","getParent","parentParent","key","label","i18n","t","onSelect","editor","dispatchCommand","undefined","order","UnorderedListFeatureClient","markdownTransformers","nodes","plugins","Component","position","slashMenu","groups","Icon","keywords","toolbarFixed","toolbarInline"],"sources":["../../../../../src/features/lists/unorderedList/client/index.tsx"],"sourcesContent":["'use client'\n\nimport { $isListNode, INSERT_UNORDERED_LIST_COMMAND, ListItemNode, ListNode } from '@lexical/list'\nimport { $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../../../toolbars/types.js'\n\nimport { UnorderedListIcon } from '../../../../lexical/ui/icons/UnorderedList/index.js'\nimport { createClientFeature } from '../../../../utilities/createClientFeature.js'\nimport { toolbarTextDropdownGroupWithItems } from '../../../shared/toolbar/textDropdownGroup.js'\nimport { LexicalListPlugin } from '../../plugin/index.js'\nimport { slashMenuListGroupWithItems } from '../../shared/slashMenuListGroup.js'\nimport { UNORDERED_LIST } from '../markdownTransformer.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems([\n {\n ChildComponent: UnorderedListIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isListNode(node) && node.getListType() === 'bullet') {\n continue\n }\n\n const parent = node.getParent()\n\n if ($isListNode(parent) && parent.getListType() === 'bullet') {\n continue\n }\n\n const parentParent = parent?.getParent()\n // Example scenario: Node = textNode, parent = listItemNode, parentParent = listNode\n if ($isListNode(parentParent) && parentParent.getListType() === 'bullet') {\n continue\n }\n\n return false\n }\n return true\n },\n key: 'unorderedList',\n label: ({ i18n }) => {\n return i18n.t('lexical:unorderedList:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined)\n },\n order: 11,\n },\n ]),\n]\n\nexport const UnorderedListFeatureClient = createClientFeature({\n markdownTransformers: [UNORDERED_LIST],\n nodes: [ListNode, ListItemNode],\n plugins: [\n {\n Component: LexicalListPlugin,\n position: 'normal',\n },\n ],\n slashMenu: {\n groups: [\n slashMenuListGroupWithItems([\n {\n Icon: UnorderedListIcon,\n key: 'unorderedList',\n keywords: ['unordered list', 'ul'],\n label: ({ i18n }) => {\n return i18n.t('lexical:unorderedList:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined)\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,WAAW,EAAEC,6BAA6B,EAAEC,YAAY,EAAEC,QAAQ,QAAQ;AACnF,SAASC,iBAAiB,QAAQ;AAIlC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iCAAiC,QAAQ;AAClD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,cAAc,QAAQ;AAE/B,MAAMC,aAAA,GAAgC,CACpCJ,iCAAA,CAAkC,CAChC;EACEK,cAAA,EAAgBP,iBAAA;EAChBQ,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAI,CAACV,iBAAA,CAAkBU,SAAA,GAAY;MACjC,OAAO;IACT;IACA,KAAK,MAAMC,IAAA,IAAQD,SAAA,CAAUE,QAAQ,IAAI;MACvC,IAAIhB,WAAA,CAAYe,IAAA,KAASA,IAAA,CAAKE,WAAW,OAAO,UAAU;QACxD;MACF;MAEA,MAAMC,MAAA,GAASH,IAAA,CAAKI,SAAS;MAE7B,IAAInB,WAAA,CAAYkB,MAAA,KAAWA,MAAA,CAAOD,WAAW,OAAO,UAAU;QAC5D;MACF;MAEA,MAAMG,YAAA,GAAeF,MAAA,EAAQC,SAAA;MAC7B;MACA,IAAInB,WAAA,CAAYoB,YAAA,KAAiBA,YAAA,CAAaH,WAAW,OAAO,UAAU;QACxE;MACF;MAEA,OAAO;IACT;IACA,OAAO;EACT;EACAI,GAAA,EAAK;EACLC,KAAA,EAAOA,CAAC;IAAEC;EAAI,CAAE;IACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;EAChB;EACAC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAAC1B,6BAAA,EAA+B2B,SAAA;EACxD;EACAC,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,0BAAA,GAA6BxB,mBAAA,CAAoB;EAC5DyB,oBAAA,EAAsB,CAACrB,cAAA,CAAe;EACtCsB,KAAA,EAAO,CAAC7B,QAAA,EAAUD,YAAA,CAAa;EAC/B+B,OAAA,EAAS,CACP;IACEC,SAAA,EAAW1B,iBAAA;IACX2B,QAAA,EAAU;EACZ,EACD;EACDC,SAAA,EAAW;IACTC,MAAA,EAAQ,CACN5B,2BAAA,CAA4B,CAC1B;MACE6B,IAAA,EAAMjC,iBAAA;MACNgB,GAAA,EAAK;MACLkB,QAAA,EAAU,CAAC,kBAAkB,KAAK;MAClCjB,KAAA,EAAOA,CAAC;QAAEC;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;MAChB;MACAC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAAC1B,6BAAA,EAA+B2B,SAAA;MACxD;IACF,EACD;EAEL;EACAY,YAAA,EAAc;IACZH,MAAA,EAAQ1B;EACV;EACA8B,aAAA,EAAe;IACbJ,MAAA,EAAQ1B;EACV;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["$isListNode","INSERT_UNORDERED_LIST_COMMAND","ListItemNode","ListNode","UNORDERED_LIST","$isRangeSelection","UnorderedListIcon","createClientFeature","toolbarTextDropdownGroupWithItems","LexicalListPlugin","slashMenuListGroupWithItems","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getListType","parent","getParent","parentParent","key","label","i18n","t","onSelect","editor","dispatchCommand","undefined","order","UnorderedListFeatureClient","markdownTransformers","nodes","plugins","Component","position","slashMenu","groups","Icon","keywords","toolbarFixed","toolbarInline"],"sources":["../../../../../src/features/lists/unorderedList/client/index.tsx"],"sourcesContent":["'use client'\n\nimport { $isListNode, INSERT_UNORDERED_LIST_COMMAND, ListItemNode, ListNode } from '@lexical/list'\nimport { UNORDERED_LIST } from '@lexical/markdown'\nimport { $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../../../toolbars/types.js'\n\nimport { UnorderedListIcon } from '../../../../lexical/ui/icons/UnorderedList/index.js'\nimport { createClientFeature } from '../../../../utilities/createClientFeature.js'\nimport { toolbarTextDropdownGroupWithItems } from '../../../shared/toolbar/textDropdownGroup.js'\nimport { LexicalListPlugin } from '../../plugin/index.js'\nimport { slashMenuListGroupWithItems } from '../../shared/slashMenuListGroup.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems([\n {\n ChildComponent: UnorderedListIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if ($isListNode(node) && node.getListType() === 'bullet') {\n continue\n }\n\n const parent = node.getParent()\n\n if ($isListNode(parent) && parent.getListType() === 'bullet') {\n continue\n }\n\n const parentParent = parent?.getParent()\n // Example scenario: Node = textNode, parent = listItemNode, parentParent = listNode\n if ($isListNode(parentParent) && parentParent.getListType() === 'bullet') {\n continue\n }\n\n return false\n }\n return true\n },\n key: 'unorderedList',\n label: ({ i18n }) => {\n return i18n.t('lexical:unorderedList:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined)\n },\n order: 11,\n },\n ]),\n]\n\nexport const UnorderedListFeatureClient = createClientFeature({\n markdownTransformers: [UNORDERED_LIST],\n nodes: [ListNode, ListItemNode],\n plugins: [\n {\n Component: LexicalListPlugin,\n position: 'normal',\n },\n ],\n slashMenu: {\n groups: [\n slashMenuListGroupWithItems([\n {\n Icon: UnorderedListIcon,\n key: 'unorderedList',\n keywords: ['unordered list', 'ul'],\n label: ({ i18n }) => {\n return i18n.t('lexical:unorderedList:label')\n },\n onSelect: ({ editor }) => {\n editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined)\n },\n },\n ]),\n ],\n },\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n})\n"],"mappings":"AAAA;;AAEA,SAASA,WAAW,EAAEC,6BAA6B,EAAEC,YAAY,EAAEC,QAAQ,QAAQ;AACnF,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAIlC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iCAAiC,QAAQ;AAClD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,2BAA2B,QAAQ;AAE5C,MAAMC,aAAA,GAAgC,CACpCH,iCAAA,CAAkC,CAChC;EACEI,cAAA,EAAgBN,iBAAA;EAChBO,QAAA,EAAUA,CAAC;IAAEC;EAAS,CAAE;IACtB,IAAI,CAACT,iBAAA,CAAkBS,SAAA,GAAY;MACjC,OAAO;IACT;IACA,KAAK,MAAMC,IAAA,IAAQD,SAAA,CAAUE,QAAQ,IAAI;MACvC,IAAIhB,WAAA,CAAYe,IAAA,KAASA,IAAA,CAAKE,WAAW,OAAO,UAAU;QACxD;MACF;MAEA,MAAMC,MAAA,GAASH,IAAA,CAAKI,SAAS;MAE7B,IAAInB,WAAA,CAAYkB,MAAA,KAAWA,MAAA,CAAOD,WAAW,OAAO,UAAU;QAC5D;MACF;MAEA,MAAMG,YAAA,GAAeF,MAAA,EAAQC,SAAA;MAC7B;MACA,IAAInB,WAAA,CAAYoB,YAAA,KAAiBA,YAAA,CAAaH,WAAW,OAAO,UAAU;QACxE;MACF;MAEA,OAAO;IACT;IACA,OAAO;EACT;EACAI,GAAA,EAAK;EACLC,KAAA,EAAOA,CAAC;IAAEC;EAAI,CAAE;IACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;EAChB;EACAC,QAAA,EAAUA,CAAC;IAAEC;EAAM,CAAE;IACnBA,MAAA,CAAOC,eAAe,CAAC1B,6BAAA,EAA+B2B,SAAA;EACxD;EACAC,KAAA,EAAO;AACT,EACD,EACF;AAED,OAAO,MAAMC,0BAAA,GAA6BvB,mBAAA,CAAoB;EAC5DwB,oBAAA,EAAsB,CAAC3B,cAAA,CAAe;EACtC4B,KAAA,EAAO,CAAC7B,QAAA,EAAUD,YAAA,CAAa;EAC/B+B,OAAA,EAAS,CACP;IACEC,SAAA,EAAWzB,iBAAA;IACX0B,QAAA,EAAU;EACZ,EACD;EACDC,SAAA,EAAW;IACTC,MAAA,EAAQ,CACN3B,2BAAA,CAA4B,CAC1B;MACE4B,IAAA,EAAMhC,iBAAA;MACNe,GAAA,EAAK;MACLkB,QAAA,EAAU,CAAC,kBAAkB,KAAK;MAClCjB,KAAA,EAAOA,CAAC;QAAEC;MAAI,CAAE;QACd,OAAOA,IAAA,CAAKC,CAAC,CAAC;MAChB;MACAC,QAAA,EAAUA,CAAC;QAAEC;MAAM,CAAE;QACnBA,MAAA,CAAOC,eAAe,CAAC1B,6BAAA,EAA+B2B,SAAA;MACxD;IACF,EACD;EAEL;EACAY,YAAA,EAAc;IACZH,MAAA,EAAQ1B;EACV;EACA8B,aAAA,EAAe;IACbJ,MAAA,EAAQ1B;EACV;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/lists/unorderedList/server/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB,kGAe/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/lists/unorderedList/server/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB,kGAiB/B,CAAA"}
@@ -1,7 +1,8 @@
1
1
  import { ListItemNode, ListNode } from '@lexical/list';
2
+ import { UNORDERED_LIST } from '@lexical/markdown';
2
3
  import { createServerFeature } from '../../../../utilities/createServerFeature.js';
3
4
  import { createNode } from '../../../typeUtilities.js';
4
- import { UNORDERED_LIST } from '../markdownTransformer.js';
5
+ import { listItemNodeJSONSchema, listNodeJSONSchema } from '../../shared/schema.js';
5
6
  import { i18n } from './i18n.js';
6
7
  export const UnorderedListFeature = createServerFeature({
7
8
  feature: {
@@ -9,8 +10,10 @@ export const UnorderedListFeature = createServerFeature({
9
10
  i18n,
10
11
  markdownTransformers: [UNORDERED_LIST],
11
12
  nodes: [createNode({
13
+ jsonSchema: listNodeJSONSchema,
12
14
  node: ListNode
13
15
  }), createNode({
16
+ jsonSchema: listItemNodeJSONSchema,
14
17
  node: ListItemNode
15
18
  })]
16
19
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ListItemNode","ListNode","createServerFeature","createNode","UNORDERED_LIST","i18n","UnorderedListFeature","feature","ClientFeature","markdownTransformers","nodes","node","key"],"sources":["../../../../../src/features/lists/unorderedList/server/index.ts"],"sourcesContent":["import { ListItemNode, ListNode } from '@lexical/list'\n\nimport { createServerFeature } from '../../../../utilities/createServerFeature.js'\nimport { createNode } from '../../../typeUtilities.js'\nimport { UNORDERED_LIST } from '../markdownTransformer.js'\nimport { i18n } from './i18n.js'\n\nexport const UnorderedListFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#UnorderedListFeatureClient',\n i18n,\n markdownTransformers: [UNORDERED_LIST],\n nodes: [\n createNode({\n node: ListNode,\n }),\n createNode({\n node: ListItemNode,\n }),\n ],\n },\n key: 'unorderedList',\n})\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,QAAQ,QAAQ;AAEvC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AAErB,OAAO,MAAMC,oBAAA,GAAuBJ,mBAAA,CAAoB;EACtDK,OAAA,EAAS;IACPC,aAAA,EAAe;IACfH,IAAA;IACAI,oBAAA,EAAsB,CAACL,cAAA,CAAe;IACtCM,KAAA,EAAO,CACLP,UAAA,CAAW;MACTQ,IAAA,EAAMV;IACR,IACAE,UAAA,CAAW;MACTQ,IAAA,EAAMX;IACR;EAEJ;EACAY,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["ListItemNode","ListNode","UNORDERED_LIST","createServerFeature","createNode","listItemNodeJSONSchema","listNodeJSONSchema","i18n","UnorderedListFeature","feature","ClientFeature","markdownTransformers","nodes","jsonSchema","node","key"],"sources":["../../../../../src/features/lists/unorderedList/server/index.ts"],"sourcesContent":["import { ListItemNode, ListNode } from '@lexical/list'\nimport { UNORDERED_LIST } from '@lexical/markdown'\n\nimport { createServerFeature } from '../../../../utilities/createServerFeature.js'\nimport { createNode } from '../../../typeUtilities.js'\nimport { listItemNodeJSONSchema, listNodeJSONSchema } from '../../shared/schema.js'\nimport { i18n } from './i18n.js'\n\nexport const UnorderedListFeature = createServerFeature({\n feature: {\n ClientFeature: '@payloadcms/richtext-lexical/client#UnorderedListFeatureClient',\n i18n,\n markdownTransformers: [UNORDERED_LIST],\n nodes: [\n createNode({\n jsonSchema: listNodeJSONSchema,\n node: ListNode,\n }),\n createNode({\n jsonSchema: listItemNodeJSONSchema,\n node: ListItemNode,\n }),\n ],\n },\n key: 'unorderedList',\n})\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,QAAQ,QAAQ;AACvC,SAASC,cAAc,QAAQ;AAE/B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,sBAAsB,EAAEC,kBAAkB,QAAQ;AAC3D,SAASC,IAAI,QAAQ;AAErB,OAAO,MAAMC,oBAAA,GAAuBL,mBAAA,CAAoB;EACtDM,OAAA,EAAS;IACPC,aAAA,EAAe;IACfH,IAAA;IACAI,oBAAA,EAAsB,CAACT,cAAA,CAAe;IACtCU,KAAA,EAAO,CACLR,UAAA,CAAW;MACTS,UAAA,EAAYP,kBAAA;MACZQ,IAAA,EAAMb;IACR,IACAG,UAAA,CAAW;MACTS,UAAA,EAAYR,sBAAA;MACZS,IAAA,EAAMd;IACR;EAEJ;EACAe,GAAA,EAAK;AACP","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import type { ElementFormatType } from 'lexical';
2
2
  import React from 'react';
3
- import type { RelationshipData } from '../../server/nodes/RelationshipNode.js';
3
+ import type { RelationshipData } from '../../server/schema.js';
4
4
  import './index.css';
5
5
  type Props = {
6
6
  className: string;
@@ -1 +1 @@
1
- {"version":3,"file":"RelationshipComponent.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/client/components/RelationshipComponent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAQhD,OAAO,KAA+D,MAAM,OAAO,CAAA;AAEnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAE9E,OAAO,aAAa,CAAA;AAQpB,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,gBAAgB,CAAA;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqIjD,CAAA"}
1
+ {"version":3,"file":"RelationshipComponent.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/client/components/RelationshipComponent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAQhD,OAAO,KAA+D,MAAM,OAAO,CAAA;AAEnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,OAAO,aAAa,CAAA;AAQpB,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,gBAAgB,CAAA;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqIjD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RelationshipComponent.js","names":["useLexicalComposerContext","useLexicalEditable","getTranslation","Button","useConfig","usePayloadAPI","useTranslation","$getNodeByKey","$getSelection","$isNodeSelection","$isRangeSelection","formatAdminURL","React","useCallback","useEffect","useReducer","useRef","useState","useLexicalDocumentDrawer","INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND","initialParams","depth","RelationshipComponent","props","className","baseClass","data","relationTo","value","nodeKey","Error","relationshipElemRef","editor","isEditable","isSelected","setIsSelected","config","routes","api","serverURL","getEntityConfig","relatedCollection","collectionSlug","i18n","t","cacheBust","dispatchCacheBust","state","setParams","apiRoute","path","slug","closeDocumentDrawer","DocumentDrawer","DocumentDrawerToggler","id","registerUpdateListener","editorState","read","selection","has","nodes","getNodes","some","node","getKey","outerEl","current","closest","classList","toggle","removeRelationship","update","remove","updateRelationship","_jsxs","contentEditable","ref","_jsx","label","labels","singular","admin","useAsTitle","buttonStyle","disabled","el","icon","onClick","dispatchCommand","replace","round","tooltip","e","preventDefault","onSave"],"sources":["../../../../../src/features/relationship/client/components/RelationshipComponent.tsx"],"sourcesContent":["'use client'\nimport type { ElementFormatType } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, useConfig, usePayloadAPI, useTranslation } from '@payloadcms/ui'\nimport { $getNodeByKey, $getSelection, $isNodeSelection, $isRangeSelection } from 'lexical'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { RelationshipData } from '../../server/nodes/RelationshipNode.js'\n\nimport './index.css'\nimport { useLexicalDocumentDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDocumentDrawer.js'\nimport { INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND } from '../drawer/commands.js'\n\nconst initialParams = {\n depth: 0,\n}\n\ntype Props = {\n className: string\n data: RelationshipData\n format?: ElementFormatType\n nodeKey?: string\n}\n\nexport const RelationshipComponent: React.FC<Props> = (props) => {\n const {\n className: baseClass,\n data: { relationTo, value },\n nodeKey,\n } = props\n\n if (typeof value === 'object') {\n throw new Error(\n 'Relationship value should be a string or number. The Lexical Relationship component should not receive the populated value object.',\n )\n }\n\n const relationshipElemRef = useRef<HTMLDivElement | null>(null)\n\n const [editor] = useLexicalComposerContext()\n const isEditable = useLexicalEditable()\n const [isSelected, setIsSelected] = useState(false)\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const [relatedCollection] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const { i18n, t } = useTranslation()\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0)\n const [{ data }, { setParams }] = usePayloadAPI(\n formatAdminURL({ apiRoute: api, path: `/${relatedCollection.slug}/${value}`, serverURL }),\n { initialParams },\n )\n\n const { closeDocumentDrawer, DocumentDrawer, DocumentDrawerToggler } = useLexicalDocumentDrawer({\n id: value,\n collectionSlug: relatedCollection.slug,\n })\n\n useEffect(() => {\n return editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n const selection = $getSelection()\n\n if ($isNodeSelection(selection)) {\n setIsSelected(selection.has(nodeKey!))\n } else if ($isRangeSelection(selection)) {\n const nodes = selection.getNodes()\n setIsSelected(nodes.some((node) => node.getKey() === nodeKey))\n } else {\n setIsSelected(false)\n }\n })\n })\n }, [editor, nodeKey])\n\n useEffect(() => {\n const outerEl = relationshipElemRef.current?.closest(`.${baseClass}`)\n\n if (outerEl) {\n outerEl.classList.toggle(`${baseClass}--selected`, isSelected)\n }\n }, [isSelected, baseClass])\n\n const removeRelationship = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey!)?.remove()\n })\n }, [editor, nodeKey])\n\n const updateRelationship = React.useCallback(() => {\n setParams({\n ...initialParams,\n cacheBust, // do this to get the usePayloadAPI to re-fetch the data even though the URL string hasn't changed\n })\n\n closeDocumentDrawer()\n dispatchCacheBust()\n }, [cacheBust, setParams, closeDocumentDrawer])\n\n return (\n <div className={`${baseClass}__contents`} contentEditable={false} ref={relationshipElemRef}>\n <div className={`${baseClass}__wrap`}>\n <p className={`${baseClass}__label`}>\n {t('fields:labelRelationship', {\n label: relatedCollection.labels?.singular\n ? getTranslation(relatedCollection.labels?.singular, i18n)\n : relatedCollection.slug,\n })}\n </p>\n <DocumentDrawerToggler className={`${baseClass}__doc-drawer-toggler`}>\n <p className={`${baseClass}__title`}>\n {data ? data[relatedCollection?.admin?.useAsTitle || 'id'] : value}\n </p>\n </DocumentDrawerToggler>\n </div>\n {isEditable && (\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__swapButton`}\n disabled={!isEditable}\n el=\"button\"\n icon=\"swap\"\n onClick={() => {\n if (nodeKey) {\n editor.dispatchCommand(INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND, {\n replace: { nodeKey },\n })\n }\n }}\n round\n tooltip={t('fields:swapRelationship')}\n />\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__removeButton`}\n disabled={!isEditable}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeRelationship()\n }}\n round\n tooltip={t('fields:removeRelationship')}\n />\n </div>\n )}\n\n {!!value && <DocumentDrawer onSave={updateRelationship} />}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RelationshipComponent.js","names":["useLexicalComposerContext","useLexicalEditable","getTranslation","Button","useConfig","usePayloadAPI","useTranslation","$getNodeByKey","$getSelection","$isNodeSelection","$isRangeSelection","formatAdminURL","React","useCallback","useEffect","useReducer","useRef","useState","useLexicalDocumentDrawer","INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND","initialParams","depth","RelationshipComponent","props","className","baseClass","data","relationTo","value","nodeKey","Error","relationshipElemRef","editor","isEditable","isSelected","setIsSelected","config","routes","api","serverURL","getEntityConfig","relatedCollection","collectionSlug","i18n","t","cacheBust","dispatchCacheBust","state","setParams","apiRoute","path","slug","closeDocumentDrawer","DocumentDrawer","DocumentDrawerToggler","id","registerUpdateListener","editorState","read","selection","has","nodes","getNodes","some","node","getKey","outerEl","current","closest","classList","toggle","removeRelationship","update","remove","updateRelationship","_jsxs","contentEditable","ref","_jsx","label","labels","singular","admin","useAsTitle","buttonStyle","disabled","el","icon","onClick","dispatchCommand","replace","round","tooltip","e","preventDefault","onSave"],"sources":["../../../../../src/features/relationship/client/components/RelationshipComponent.tsx"],"sourcesContent":["'use client'\nimport type { ElementFormatType } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useLexicalEditable } from '@lexical/react/useLexicalEditable'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, useConfig, usePayloadAPI, useTranslation } from '@payloadcms/ui'\nimport { $getNodeByKey, $getSelection, $isNodeSelection, $isRangeSelection } from 'lexical'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { RelationshipData } from '../../server/schema.js'\n\nimport './index.css'\nimport { useLexicalDocumentDrawer } from '../../../../utilities/fieldsDrawer/useLexicalDocumentDrawer.js'\nimport { INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND } from '../drawer/commands.js'\n\nconst initialParams = {\n depth: 0,\n}\n\ntype Props = {\n className: string\n data: RelationshipData\n format?: ElementFormatType\n nodeKey?: string\n}\n\nexport const RelationshipComponent: React.FC<Props> = (props) => {\n const {\n className: baseClass,\n data: { relationTo, value },\n nodeKey,\n } = props\n\n if (typeof value === 'object') {\n throw new Error(\n 'Relationship value should be a string or number. The Lexical Relationship component should not receive the populated value object.',\n )\n }\n\n const relationshipElemRef = useRef<HTMLDivElement | null>(null)\n\n const [editor] = useLexicalComposerContext()\n const isEditable = useLexicalEditable()\n const [isSelected, setIsSelected] = useState(false)\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const [relatedCollection] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const { i18n, t } = useTranslation()\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0)\n const [{ data }, { setParams }] = usePayloadAPI(\n formatAdminURL({ apiRoute: api, path: `/${relatedCollection.slug}/${value}`, serverURL }),\n { initialParams },\n )\n\n const { closeDocumentDrawer, DocumentDrawer, DocumentDrawerToggler } = useLexicalDocumentDrawer({\n id: value,\n collectionSlug: relatedCollection.slug,\n })\n\n useEffect(() => {\n return editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n const selection = $getSelection()\n\n if ($isNodeSelection(selection)) {\n setIsSelected(selection.has(nodeKey!))\n } else if ($isRangeSelection(selection)) {\n const nodes = selection.getNodes()\n setIsSelected(nodes.some((node) => node.getKey() === nodeKey))\n } else {\n setIsSelected(false)\n }\n })\n })\n }, [editor, nodeKey])\n\n useEffect(() => {\n const outerEl = relationshipElemRef.current?.closest(`.${baseClass}`)\n\n if (outerEl) {\n outerEl.classList.toggle(`${baseClass}--selected`, isSelected)\n }\n }, [isSelected, baseClass])\n\n const removeRelationship = useCallback(() => {\n editor.update(() => {\n $getNodeByKey(nodeKey!)?.remove()\n })\n }, [editor, nodeKey])\n\n const updateRelationship = React.useCallback(() => {\n setParams({\n ...initialParams,\n cacheBust, // do this to get the usePayloadAPI to re-fetch the data even though the URL string hasn't changed\n })\n\n closeDocumentDrawer()\n dispatchCacheBust()\n }, [cacheBust, setParams, closeDocumentDrawer])\n\n return (\n <div className={`${baseClass}__contents`} contentEditable={false} ref={relationshipElemRef}>\n <div className={`${baseClass}__wrap`}>\n <p className={`${baseClass}__label`}>\n {t('fields:labelRelationship', {\n label: relatedCollection.labels?.singular\n ? getTranslation(relatedCollection.labels?.singular, i18n)\n : relatedCollection.slug,\n })}\n </p>\n <DocumentDrawerToggler className={`${baseClass}__doc-drawer-toggler`}>\n <p className={`${baseClass}__title`}>\n {data ? data[relatedCollection?.admin?.useAsTitle || 'id'] : value}\n </p>\n </DocumentDrawerToggler>\n </div>\n {isEditable && (\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__swapButton`}\n disabled={!isEditable}\n el=\"button\"\n icon=\"swap\"\n onClick={() => {\n if (nodeKey) {\n editor.dispatchCommand(INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND, {\n replace: { nodeKey },\n })\n }\n }}\n round\n tooltip={t('fields:swapRelationship')}\n />\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__removeButton`}\n disabled={!isEditable}\n icon=\"x\"\n onClick={(e) => {\n e.preventDefault()\n removeRelationship()\n }}\n round\n tooltip={t('fields:removeRelationship')}\n />\n </div>\n )}\n\n {!!value && <DocumentDrawer onSave={updateRelationship} />}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/client/drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAA2C,MAAM,OAAO,CAAA;AAiC/D,KAAK,KAAK,GAAG;IACX,sBAAsB,EAAE,cAAc,EAAE,CAAA;CACzC,CAAA;AA6DD,eAAO,MAAM,kBAAkB,GAAI,4BAA4B,KAAK,KAAG,KAAK,CAAC,SAM5E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/client/drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAA2C,MAAM,OAAO,CAAA;AAiC/D,KAAK,KAAK,GAAG;IACX,sBAAsB,EAAE,cAAc,EAAE,CAAA;CACzC,CAAA;AA6DD,eAAO,MAAM,kBAAkB,+BAAgC,KAAK,KAAG,KAAK,CAAC,SAM5E,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { JSX } from 'react';
2
2
  import { type DOMConversionMap, type EditorConfig, type LexicalEditor, type LexicalNode } from 'lexical';
3
- import type { RelationshipData, SerializedRelationshipNode } from '../../server/nodes/RelationshipNode.js';
3
+ import type { RelationshipData, SerializedRelationshipNode } from '../../server/schema.js';
4
4
  import { RelationshipServerNode } from '../../server/nodes/RelationshipNode.js';
5
5
  export declare class RelationshipNode extends RelationshipServerNode {
6
6
  static clone(node: RelationshipServerNode): RelationshipServerNode;
@@ -1 +1 @@
1
- {"version":3,"file":"RelationshipNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/client/nodes/RelationshipNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EACV,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,wCAAwC,CAAA;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAsB/E,qBAAa,gBAAiB,SAAQ,sBAAsB;WAC1C,KAAK,CAAC,IAAI,EAAE,sBAAsB,GAAG,sBAAsB;WAI3D,OAAO,IAAI,MAAM;WAIjB,SAAS,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;WAiBpD,UAAU,CAAC,cAAc,EAAE,0BAA0B,GAAG,gBAAgB;IAc/E,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO;IAWlE,UAAU,IAAI,0BAA0B;CAGlD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAMhF;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,gBAAgB,GAAG,SAAS,GACtD,IAAI,IAAI,gBAAgB,CAE1B"}
1
+ {"version":3,"file":"RelationshipNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/client/nodes/RelationshipNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAE1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAsB/E,qBAAa,gBAAiB,SAAQ,sBAAsB;IAC1D,OAAgB,KAAK,CAAC,IAAI,EAAE,sBAAsB,GAAG,sBAAsB,CAE1E;IAED,OAAgB,OAAO,IAAI,MAAM,CAEhC;IAED,OAAgB,SAAS,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI,CAenE;IAED,OAAgB,UAAU,CAAC,cAAc,EAAE,0BAA0B,GAAG,gBAAgB,CAYvF;IAEQ,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAS1E;IAEQ,UAAU,IAAI,0BAA0B,CAEhD;CACF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAMhF;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,gBAAgB,GAAG,SAAS,GACtD,IAAI,IAAI,gBAAgB,CAE1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"RelationshipNode.js","names":["$applyNodeReplacement","React","RelationshipServerNode","RelationshipComponent","lazy","then","module","default","$relationshipElementToNode","domNode","id","getAttribute","relationTo","node","$createRelationshipNode","value","RelationshipNode","clone","getType","importDOM","div","hasAttribute","conversion","priority","importJSON","serializedNode","version","importedData","setFormat","format","decorate","editor","config","_jsx","className","theme","relationship","data","__data","__format","nodeKey","getKey","exportJSON","$isRelationshipNode"],"sources":["../../../../../src/features/relationship/client/nodes/RelationshipNode.tsx"],"sourcesContent":["'use client'\nimport type { JSX } from 'react'\n\nimport {\n $applyNodeReplacement,\n type DOMConversionMap,\n type DOMConversionOutput,\n type EditorConfig,\n type LexicalEditor,\n type LexicalNode,\n} from 'lexical'\nimport * as React from 'react'\n\nimport type {\n RelationshipData,\n SerializedRelationshipNode,\n} from '../../server/nodes/RelationshipNode.js'\n\nimport { RelationshipServerNode } from '../../server/nodes/RelationshipNode.js'\n\nconst RelationshipComponent = React.lazy(() =>\n import('../components/RelationshipComponent.js').then((module) => ({\n default: module.RelationshipComponent,\n })),\n)\n\nfunction $relationshipElementToNode(domNode: HTMLDivElement): DOMConversionOutput | null {\n const id = domNode.getAttribute('data-lexical-relationship-id')\n const relationTo = domNode.getAttribute('data-lexical-relationship-relationTo')\n\n if (id != null && relationTo != null) {\n const node = $createRelationshipNode({\n relationTo,\n value: id,\n })\n return { node }\n }\n return null\n}\n\nexport class RelationshipNode extends RelationshipServerNode {\n static override clone(node: RelationshipServerNode): RelationshipServerNode {\n return super.clone(node)\n }\n\n static override getType(): string {\n return super.getType()\n }\n\n static override importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {\n div: (domNode: HTMLDivElement) => {\n if (\n !domNode.hasAttribute('data-lexical-relationship-relationTo') ||\n !domNode.hasAttribute('data-lexical-relationship-id')\n ) {\n return null\n }\n return {\n conversion: $relationshipElementToNode,\n priority: 2,\n }\n },\n }\n }\n\n static override importJSON(serializedNode: SerializedRelationshipNode): RelationshipNode {\n if (serializedNode.version === 1 && (serializedNode?.value as unknown as { id: string })?.id) {\n serializedNode.value = (serializedNode.value as unknown as { id: string }).id\n }\n\n const importedData: RelationshipData = {\n relationTo: serializedNode.relationTo,\n value: serializedNode.value,\n }\n const node = $createRelationshipNode(importedData)\n node.setFormat(serializedNode.format)\n return node\n }\n\n override decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element {\n return (\n <RelationshipComponent\n className={config.theme.relationship ?? 'LexicalEditorTheme__relationship'}\n data={this.__data}\n format={this.__format}\n nodeKey={this.getKey()}\n />\n )\n }\n\n override exportJSON(): SerializedRelationshipNode {\n return super.exportJSON()\n }\n}\n\nexport function $createRelationshipNode(data: RelationshipData): RelationshipNode {\n return $applyNodeReplacement(\n new RelationshipNode({\n data,\n }),\n )\n}\n\nexport function $isRelationshipNode(\n node: LexicalNode | null | RelationshipNode | undefined,\n): node is RelationshipNode {\n return node instanceof RelationshipNode\n}\n"],"mappings":"AAAA;;;AAGA,SACEA,qBAAqB,QAMhB;AACP,YAAYC,KAAA,MAAW;AAOvB,SAASC,sBAAsB,QAAQ;AAEvC,MAAMC,qBAAA,gBAAwBF,KAAA,CAAMG,IAAI,CAAC,MACvC,MAAM,CAAC,0CAA0CC,IAAI,CAAEC,MAAA,KAAY;EACjEC,OAAA,EAASD,MAAA,CAAOH;AAClB;AAGF,SAASK,2BAA2BC,OAAuB;EACzD,MAAMC,EAAA,GAAKD,OAAA,CAAQE,YAAY,CAAC;EAChC,MAAMC,UAAA,GAAaH,OAAA,CAAQE,YAAY,CAAC;EAExC,IAAID,EAAA,IAAM,QAAQE,UAAA,IAAc,MAAM;IACpC,MAAMC,IAAA,GAAOC,uBAAA,CAAwB;MACnCF,UAAA;MACAG,KAAA,EAAOL;IACT;IACA,OAAO;MAAEG;IAAK;EAChB;EACA,OAAO;AACT;AAEA,OAAO,MAAMG,gBAAA,SAAyBd,sBAAA;EACpC,OAAgBe,MAAMJ,IAA4B,EAA0B;IAC1E,OAAO,KAAK,CAACI,KAAA,CAAMJ,IAAA;EACrB;EAEA,OAAgBK,QAAA,EAAkB;IAChC,OAAO,KAAK,CAACA,OAAA;EACf;EAEA,OAAgBC,UAAA,EAAqD;IACnE,OAAO;MACLC,GAAA,EAAMX,OAAA;QACJ,IACE,CAACA,OAAA,CAAQY,YAAY,CAAC,2CACtB,CAACZ,OAAA,CAAQY,YAAY,CAAC,iCACtB;UACA,OAAO;QACT;QACA,OAAO;UACLC,UAAA,EAAYd,0BAAA;UACZe,QAAA,EAAU;QACZ;MACF;IACF;EACF;EAEA,OAAgBC,WAAWC,cAA0C,EAAoB;IACvF,IAAIA,cAAA,CAAeC,OAAO,KAAK,KAAMD,cAAA,EAAgBV,KAAA,EAAqCL,EAAA,EAAI;MAC5Fe,cAAA,CAAeV,KAAK,GAAGU,cAAC,CAAeV,KAAK,CAA+BL,EAAE;IAC/E;IAEA,MAAMiB,YAAA,GAAiC;MACrCf,UAAA,EAAYa,cAAA,CAAeb,UAAU;MACrCG,KAAA,EAAOU,cAAA,CAAeV;IACxB;IACA,MAAMF,IAAA,GAAOC,uBAAA,CAAwBa,YAAA;IACrCd,IAAA,CAAKe,SAAS,CAACH,cAAA,CAAeI,MAAM;IACpC,OAAOhB,IAAA;EACT;EAESiB,SAASC,MAAqB,EAAEC,MAAoB,EAAe;IAC1E,oBACEC,IAAA,CAAC9B,qBAAA;MACC+B,SAAA,EAAWF,MAAA,CAAOG,KAAK,CAACC,YAAY,IAAI;MACxCC,IAAA,EAAM,IAAI,CAACC,MAAM;MACjBT,MAAA,EAAQ,IAAI,CAACU,QAAQ;MACrBC,OAAA,EAAS,IAAI,CAACC,MAAM;;EAG1B;EAESC,WAAA,EAAyC;IAChD,OAAO,KAAK,CAACA,UAAA;EACf;AACF;AAEA,OAAO,SAAS5B,wBAAwBuB,IAAsB;EAC5D,OAAOrC,qBAAA,CACL,IAAIgB,gBAAA,CAAiB;IACnBqB;EACF;AAEJ;AAEA,OAAO,SAASM,oBACd9B,IAAuD;EAEvD,OAAOA,IAAA,YAAgBG,gBAAA;AACzB","ignoreList":[]}
1
+ {"version":3,"file":"RelationshipNode.js","names":["$applyNodeReplacement","React","RelationshipServerNode","RelationshipComponent","lazy","then","module","default","$relationshipElementToNode","domNode","id","getAttribute","relationTo","node","$createRelationshipNode","value","RelationshipNode","clone","getType","importDOM","div","hasAttribute","conversion","priority","importJSON","serializedNode","version","importedData","setFormat","format","decorate","editor","config","_jsx","className","theme","relationship","data","__data","__format","nodeKey","getKey","exportJSON","$isRelationshipNode"],"sources":["../../../../../src/features/relationship/client/nodes/RelationshipNode.tsx"],"sourcesContent":["'use client'\nimport type { JSX } from 'react'\n\nimport {\n $applyNodeReplacement,\n type DOMConversionMap,\n type DOMConversionOutput,\n type EditorConfig,\n type LexicalEditor,\n type LexicalNode,\n} from 'lexical'\nimport * as React from 'react'\n\nimport type { RelationshipData, SerializedRelationshipNode } from '../../server/schema.js'\n\nimport { RelationshipServerNode } from '../../server/nodes/RelationshipNode.js'\n\nconst RelationshipComponent = React.lazy(() =>\n import('../components/RelationshipComponent.js').then((module) => ({\n default: module.RelationshipComponent,\n })),\n)\n\nfunction $relationshipElementToNode(domNode: HTMLDivElement): DOMConversionOutput | null {\n const id = domNode.getAttribute('data-lexical-relationship-id')\n const relationTo = domNode.getAttribute('data-lexical-relationship-relationTo')\n\n if (id != null && relationTo != null) {\n const node = $createRelationshipNode({\n relationTo,\n value: id,\n })\n return { node }\n }\n return null\n}\n\nexport class RelationshipNode extends RelationshipServerNode {\n static override clone(node: RelationshipServerNode): RelationshipServerNode {\n return super.clone(node)\n }\n\n static override getType(): string {\n return super.getType()\n }\n\n static override importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {\n div: (domNode: HTMLDivElement) => {\n if (\n !domNode.hasAttribute('data-lexical-relationship-relationTo') ||\n !domNode.hasAttribute('data-lexical-relationship-id')\n ) {\n return null\n }\n return {\n conversion: $relationshipElementToNode,\n priority: 2,\n }\n },\n }\n }\n\n static override importJSON(serializedNode: SerializedRelationshipNode): RelationshipNode {\n if (serializedNode.version === 1 && (serializedNode?.value as unknown as { id: string })?.id) {\n serializedNode.value = (serializedNode.value as unknown as { id: string }).id\n }\n\n const importedData: RelationshipData = {\n relationTo: serializedNode.relationTo,\n value: serializedNode.value,\n }\n const node = $createRelationshipNode(importedData)\n node.setFormat(serializedNode.format)\n return node\n }\n\n override decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element {\n return (\n <RelationshipComponent\n className={config.theme.relationship ?? 'LexicalEditorTheme__relationship'}\n data={this.__data}\n format={this.__format}\n nodeKey={this.getKey()}\n />\n )\n }\n\n override exportJSON(): SerializedRelationshipNode {\n return super.exportJSON()\n }\n}\n\nexport function $createRelationshipNode(data: RelationshipData): RelationshipNode {\n return $applyNodeReplacement(\n new RelationshipNode({\n data,\n }),\n )\n}\n\nexport function $isRelationshipNode(\n node: LexicalNode | null | RelationshipNode | undefined,\n): node is RelationshipNode {\n return node instanceof RelationshipNode\n}\n"],"mappings":"AAAA;;;AAGA,SACEA,qBAAqB,QAMhB;AACP,YAAYC,KAAA,MAAW;AAIvB,SAASC,sBAAsB,QAAQ;AAEvC,MAAMC,qBAAA,gBAAwBF,KAAA,CAAMG,IAAI,CAAC,MACvC,MAAM,CAAC,0CAA0CC,IAAI,CAAEC,MAAA,KAAY;EACjEC,OAAA,EAASD,MAAA,CAAOH;AAClB;AAGF,SAASK,2BAA2BC,OAAuB;EACzD,MAAMC,EAAA,GAAKD,OAAA,CAAQE,YAAY,CAAC;EAChC,MAAMC,UAAA,GAAaH,OAAA,CAAQE,YAAY,CAAC;EAExC,IAAID,EAAA,IAAM,QAAQE,UAAA,IAAc,MAAM;IACpC,MAAMC,IAAA,GAAOC,uBAAA,CAAwB;MACnCF,UAAA;MACAG,KAAA,EAAOL;IACT;IACA,OAAO;MAAEG;IAAK;EAChB;EACA,OAAO;AACT;AAEA,OAAO,MAAMG,gBAAA,SAAyBd,sBAAA;EACpC,OAAgBe,MAAMJ,IAA4B,EAA0B;IAC1E,OAAO,KAAK,CAACI,KAAA,CAAMJ,IAAA;EACrB;EAEA,OAAgBK,QAAA,EAAkB;IAChC,OAAO,KAAK,CAACA,OAAA;EACf;EAEA,OAAgBC,UAAA,EAAqD;IACnE,OAAO;MACLC,GAAA,EAAMX,OAAA;QACJ,IACE,CAACA,OAAA,CAAQY,YAAY,CAAC,2CACtB,CAACZ,OAAA,CAAQY,YAAY,CAAC,iCACtB;UACA,OAAO;QACT;QACA,OAAO;UACLC,UAAA,EAAYd,0BAAA;UACZe,QAAA,EAAU;QACZ;MACF;IACF;EACF;EAEA,OAAgBC,WAAWC,cAA0C,EAAoB;IACvF,IAAIA,cAAA,CAAeC,OAAO,KAAK,KAAMD,cAAA,EAAgBV,KAAA,EAAqCL,EAAA,EAAI;MAC5Fe,cAAA,CAAeV,KAAK,GAAGU,cAAC,CAAeV,KAAK,CAA+BL,EAAE;IAC/E;IAEA,MAAMiB,YAAA,GAAiC;MACrCf,UAAA,EAAYa,cAAA,CAAeb,UAAU;MACrCG,KAAA,EAAOU,cAAA,CAAeV;IACxB;IACA,MAAMF,IAAA,GAAOC,uBAAA,CAAwBa,YAAA;IACrCd,IAAA,CAAKe,SAAS,CAACH,cAAA,CAAeI,MAAM;IACpC,OAAOhB,IAAA;EACT;EAESiB,SAASC,MAAqB,EAAEC,MAAoB,EAAe;IAC1E,oBACEC,IAAA,CAAC9B,qBAAA;MACC+B,SAAA,EAAWF,MAAA,CAAOG,KAAK,CAACC,YAAY,IAAI;MACxCC,IAAA,EAAM,IAAI,CAACC,MAAM;MACjBT,MAAA,EAAQ,IAAI,CAACU,QAAQ;MACrBC,OAAA,EAAS,IAAI,CAACC,MAAM;;EAG1B;EAESC,WAAA,EAAyC;IAChD,OAAO,KAAK,CAACA,UAAA;EACf;AACF;AAEA,OAAO,SAAS5B,wBAAwBuB,IAAsB;EAC5D,OAAOrC,qBAAA,CACL,IAAIgB,gBAAA,CAAiB;IACnBqB;EACF;AAEJ;AAEA,OAAO,SAASM,oBACd9B,IAAuD;EAEvD,OAAOA,IAAA,YAAgBG,gBAAA;AACzB","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import type { LexicalCommand } from 'lexical';
2
2
  import type { PluginComponent } from '../../../typesClient.js';
3
3
  import type { RelationshipFeatureProps } from '../../server/index.js';
4
- import type { RelationshipData } from '../../server/nodes/RelationshipNode.js';
4
+ import type { RelationshipData } from '../../server/schema.js';
5
5
  export declare const INSERT_RELATIONSHIP_COMMAND: LexicalCommand<RelationshipData>;
6
6
  export declare const RelationshipPlugin: PluginComponent<RelationshipFeatureProps>;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/client/plugins/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAc7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAM9E,eAAO,MAAM,2BAA2B,EAAE,cAAc,CAAC,gBAAgB,CAExE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAAC,wBAAwB,CAuCxE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/client/plugins/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAc7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAM9D,eAAO,MAAM,2BAA2B,EAAE,cAAc,CAAC,gBAAgB,CAExE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAAC,wBAAwB,CAuCxE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$insertNodeToNearestRoot","$getPreviousSelection","$getSelection","$isParagraphNode","$isRangeSelection","COMMAND_PRIORITY_EDITOR","createCommand","useEffect","RelationshipDrawer","$createRelationshipNode","RelationshipNode","useEnabledRelationships","INSERT_RELATIONSHIP_COMMAND","RelationshipPlugin","t0","$","clientProps","editor","t1","disabledCollections","t2","enabledCollections","t3","collectionSlugsBlacklist","collectionSlugsWhitelist","enabledCollectionSlugs","t4","t5","hasNodes","Error","registerCommand","_temp","t6","_jsx","payload","selection","relationshipNode","focus","focusNode","getNode","__first","remove"],"sources":["../../../../../src/features/relationship/client/plugins/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalCommand } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $insertNodeToNearestRoot } from '@lexical/utils'\nimport {\n $getPreviousSelection,\n $getSelection,\n $isParagraphNode,\n $isRangeSelection,\n COMMAND_PRIORITY_EDITOR,\n createCommand,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../../typesClient.js'\nimport type { RelationshipFeatureProps } from '../../server/index.js'\nimport type { RelationshipData } from '../../server/nodes/RelationshipNode.js'\n\nimport { RelationshipDrawer } from '../drawer/index.js'\nimport { $createRelationshipNode, RelationshipNode } from '../nodes/RelationshipNode.js'\nimport { useEnabledRelationships } from '../utils/useEnabledRelationships.js'\n\nexport const INSERT_RELATIONSHIP_COMMAND: LexicalCommand<RelationshipData> = createCommand(\n 'INSERT_RELATIONSHIP_COMMAND',\n)\n\nexport const RelationshipPlugin: PluginComponent<RelationshipFeatureProps> = ({ clientProps }) => {\n const [editor] = useLexicalComposerContext()\n\n const { enabledCollectionSlugs } = useEnabledRelationships({\n collectionSlugsBlacklist: clientProps?.disabledCollections,\n collectionSlugsWhitelist: clientProps?.enabledCollections,\n })\n\n useEffect(() => {\n if (!editor.hasNodes([RelationshipNode])) {\n throw new Error('RelationshipPlugin: RelationshipNode not registered on editor')\n }\n\n return editor.registerCommand<RelationshipData>(\n INSERT_RELATIONSHIP_COMMAND,\n (payload) => {\n const selection = $getSelection() || $getPreviousSelection()\n\n if ($isRangeSelection(selection)) {\n const relationshipNode = $createRelationshipNode(payload)\n // we need to get the focus node before inserting the block node, as $insertNodeToNearestRoot can change the focus node\n const { focus } = selection\n const focusNode = focus.getNode()\n // Insert relationship node BEFORE potentially removing focusNode, as $insertNodeToNearestRoot errors if the focusNode doesn't exist\n $insertNodeToNearestRoot(relationshipNode)\n\n // Delete the node it it's an empty paragraph\n if ($isParagraphNode(focusNode) && !focusNode.__first) {\n focusNode.remove()\n }\n }\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n )\n }, [editor])\n\n return <RelationshipDrawer enabledCollectionSlugs={enabledCollectionSlugs} />\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,wBAAwB,QAAQ;AACzC,SACEC,qBAAqB,EACrBC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,EACjBC,uBAAuB,EACvBC,aAAa,QACR;AACP,SAASC,SAAS,QAAQ;AAM1B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,uBAAuB,EAAEC,gBAAgB,QAAQ;AAC1D,SAASC,uBAAuB,QAAQ;AAExC,OAAO,MAAMC,2BAAA,GAAgEN,aAAA,CAC3E;AAGF,OAAO,MAAMO,kBAAA,GAAgEC,EAAA;EAAA,MAAAC,CAAA,GAAAjB,EAAA;EAAC;IAAAkB;EAAA,IAAAF,EAAe;EAC3F,OAAAG,MAAA,IAAiBlB,yBAAA;EAGW,MAAAmB,EAAA,GAAAF,WAAA,EAAAG,mBAAA;EACA,MAAAC,EAAA,GAAAJ,WAAA,EAAAK,kBAAA;EAAa,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAG,EAAA,IAAAH,CAAA,QAAAK,EAAA;IAFkBE,EAAA;MAAAC,wBAAA,EAC/BL,EAAa;MAAAM,wBAAA,EACbJ;IAAa;IACzCL,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAHA;IAAAU;EAAA,IAAmCd,uBAAA,CAAwBW,EAG3D;EAAA,IAAAI,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAE,MAAA;IAEUS,EAAA,GAAAA,CAAA;MAAA,KACHT,MAAA,CAAAW,QAAA,EAAAlB,gBAAA,CAAkC;QAAA,UAAAmB,KAAA,CACrB;MAAA;MAAA,OAGXZ,MAAA,CAAAa,eAAA,CAAAlB,2BAAA,EAAAmB,KAAA,EAAA1B,uBAqBL;IAAA;IAEDsB,EAAA,IAACV,MAAA;IAAOF,CAAA,MAAAE,MAAA;IAAAF,CAAA,MAAAW,EAAA;IAAAX,CAAA,MAAAY,EAAA;EAAA;IAAAD,EAAA,GAAAX,CAAA;IAAAY,EAAA,GAAAZ,CAAA;EAAA;EA5BXR,SAAA,CAAUmB,EA4BV,EAAGC,EAAQ;EAAA,IAAAK,EAAA;EAAA,IAAAjB,CAAA,QAAAU,sBAAA;IAEJO,EAAA,GAAAC,IAAA,CAAAzB,kBAAA;MAAAiB;IAAA,C;;;;;;SAAAO,E;CACT;AAvC6E,SAAAD,MAAAG,OAAA;EAgBrE,MAAAC,SAAA,GAAkBjC,aAAA,MAAmBD,qBAAA;EAAA,IAEjCG,iBAAA,CAAkB+B,SAAA;IACpB,MAAAC,gBAAA,GAAyB3B,uBAAA,CAAwByB,OAAA;IAEjD;MAAAG;IAAA,IAAkBF,SAAA;IAClB,MAAAG,SAAA,GAAkBD,KAAA,CAAAE,OAAA,CAAa;IAE/BvC,wBAAA,CAAyBoC,gBAAA;IAAA,IAGrBjC,gBAAA,CAAiBmC,SAAA,MAAeA,SAAA,CAAAE,OAAiB;MACnDF,SAAA,CAAAG,MAAA,CAAgB;IAAA;EAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$insertNodeToNearestRoot","$getPreviousSelection","$getSelection","$isParagraphNode","$isRangeSelection","COMMAND_PRIORITY_EDITOR","createCommand","useEffect","RelationshipDrawer","$createRelationshipNode","RelationshipNode","useEnabledRelationships","INSERT_RELATIONSHIP_COMMAND","RelationshipPlugin","t0","$","clientProps","editor","t1","disabledCollections","t2","enabledCollections","t3","collectionSlugsBlacklist","collectionSlugsWhitelist","enabledCollectionSlugs","t4","t5","hasNodes","Error","registerCommand","_temp","t6","_jsx","payload","selection","relationshipNode","focus","focusNode","getNode","__first","remove"],"sources":["../../../../../src/features/relationship/client/plugins/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalCommand } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $insertNodeToNearestRoot } from '@lexical/utils'\nimport {\n $getPreviousSelection,\n $getSelection,\n $isParagraphNode,\n $isRangeSelection,\n COMMAND_PRIORITY_EDITOR,\n createCommand,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../../typesClient.js'\nimport type { RelationshipFeatureProps } from '../../server/index.js'\nimport type { RelationshipData } from '../../server/schema.js'\n\nimport { RelationshipDrawer } from '../drawer/index.js'\nimport { $createRelationshipNode, RelationshipNode } from '../nodes/RelationshipNode.js'\nimport { useEnabledRelationships } from '../utils/useEnabledRelationships.js'\n\nexport const INSERT_RELATIONSHIP_COMMAND: LexicalCommand<RelationshipData> = createCommand(\n 'INSERT_RELATIONSHIP_COMMAND',\n)\n\nexport const RelationshipPlugin: PluginComponent<RelationshipFeatureProps> = ({ clientProps }) => {\n const [editor] = useLexicalComposerContext()\n\n const { enabledCollectionSlugs } = useEnabledRelationships({\n collectionSlugsBlacklist: clientProps?.disabledCollections,\n collectionSlugsWhitelist: clientProps?.enabledCollections,\n })\n\n useEffect(() => {\n if (!editor.hasNodes([RelationshipNode])) {\n throw new Error('RelationshipPlugin: RelationshipNode not registered on editor')\n }\n\n return editor.registerCommand<RelationshipData>(\n INSERT_RELATIONSHIP_COMMAND,\n (payload) => {\n const selection = $getSelection() || $getPreviousSelection()\n\n if ($isRangeSelection(selection)) {\n const relationshipNode = $createRelationshipNode(payload)\n // we need to get the focus node before inserting the block node, as $insertNodeToNearestRoot can change the focus node\n const { focus } = selection\n const focusNode = focus.getNode()\n // Insert relationship node BEFORE potentially removing focusNode, as $insertNodeToNearestRoot errors if the focusNode doesn't exist\n $insertNodeToNearestRoot(relationshipNode)\n\n // Delete the node it it's an empty paragraph\n if ($isParagraphNode(focusNode) && !focusNode.__first) {\n focusNode.remove()\n }\n }\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n )\n }, [editor])\n\n return <RelationshipDrawer enabledCollectionSlugs={enabledCollectionSlugs} />\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,wBAAwB,QAAQ;AACzC,SACEC,qBAAqB,EACrBC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,EACjBC,uBAAuB,EACvBC,aAAa,QACR;AACP,SAASC,SAAS,QAAQ;AAM1B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,uBAAuB,EAAEC,gBAAgB,QAAQ;AAC1D,SAASC,uBAAuB,QAAQ;AAExC,OAAO,MAAMC,2BAAA,GAAgEN,aAAA,CAC3E;AAGF,OAAO,MAAMO,kBAAA,GAAgEC,EAAA;EAAA,MAAAC,CAAA,GAAAjB,EAAA;EAAC;IAAAkB;EAAA,IAAAF,EAAe;EAC3F,OAAAG,MAAA,IAAiBlB,yBAAA;EAGW,MAAAmB,EAAA,GAAAF,WAAA,EAAAG,mBAAA;EACA,MAAAC,EAAA,GAAAJ,WAAA,EAAAK,kBAAA;EAAa,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAG,EAAA,IAAAH,CAAA,QAAAK,EAAA;IAFkBE,EAAA;MAAAC,wBAAA,EAC/BL,EAAa;MAAAM,wBAAA,EACbJ;IAAa;IACzCL,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAHA;IAAAU;EAAA,IAAmCd,uBAAA,CAAwBW,EAG3D;EAAA,IAAAI,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAE,MAAA;IAEUS,EAAA,GAAAA,CAAA;MAAA,KACHT,MAAA,CAAAW,QAAA,EAAAlB,gBAAA,CAAkC;QAAA,UAAAmB,KAAA,CACrB;MAAA;MAAA,OAGXZ,MAAA,CAAAa,eAAA,CAAAlB,2BAAA,EAAAmB,KAAA,EAAA1B,uBAqBL;IAAA;IAEDsB,EAAA,IAACV,MAAA;IAAOF,CAAA,MAAAE,MAAA;IAAAF,CAAA,MAAAW,EAAA;IAAAX,CAAA,MAAAY,EAAA;EAAA;IAAAD,EAAA,GAAAX,CAAA;IAAAY,EAAA,GAAAZ,CAAA;EAAA;EA5BXR,SAAA,CAAUmB,EA4BV,EAAGC,EAAQ;EAAA,IAAAK,EAAA;EAAA,IAAAjB,CAAA,QAAAU,sBAAA;IAEJO,EAAA,GAAAC,IAAA,CAAAzB,kBAAA;MAAAiB;IAAA,C;;;;;;SAAAO,E;CACT;AAvC6E,SAAAD,MAAAG,OAAA;EAgBrE,MAAAC,SAAA,GAAkBjC,aAAA,MAAmBD,qBAAA;EAAA,IAEjCG,iBAAA,CAAkB+B,SAAA;IACpB,MAAAC,gBAAA,GAAyB3B,uBAAA,CAAwByB,OAAA;IAEjD;MAAAG;IAAA,IAAkBF,SAAA;IAClB,MAAAG,SAAA,GAAkBD,KAAA,CAAAE,OAAA,CAAa;IAE/BvC,wBAAA,CAAyBoC,gBAAA;IAAA,IAGrBjC,gBAAA,CAAiBmC,SAAA,MAAeA,SAAA,CAAAE,OAAiB;MACnDF,SAAA,CAAAG,MAAA,CAAgB;IAAA;EAAA;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useEnabledRelationships.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/client/utils/useEnabledRelationships.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAKrE,KAAK,8BAA8B,GAAG;IACpC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,KAAK,6BAA6B,GAAG;IACnC,kBAAkB,EAAE,sBAAsB,EAAE,CAAA;IAC5C,sBAAsB,EAAE,cAAc,EAAE,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,UAAU,8BAA8B,KACvC,6BAsDF,CAAA"}
1
+ {"version":3,"file":"useEnabledRelationships.d.ts","sourceRoot":"","sources":["../../../../../src/features/relationship/client/utils/useEnabledRelationships.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAOrE,KAAK,8BAA8B,GAAG;IACpC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,KAAK,6BAA6B,GAAG;IACnC,kBAAkB,EAAE,sBAAsB,EAAE,CAAA;IAC5C,sBAAsB,EAAE,cAAc,EAAE,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,uBAAuB,aACxB,8BAA8B,KACvC,6BAmBF,CAAA"}