@payloadcms/richtext-lexical 3.0.0-beta.133 → 3.0.0-beta.135

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 (406) hide show
  1. package/dist/exports/client/Field-KKSJXHR7.js +2 -0
  2. package/dist/exports/client/Field-KKSJXHR7.js.map +7 -0
  3. package/dist/exports/client/bundled.css +1 -1
  4. package/dist/exports/client/chunk-2CYU43GM.js +2 -0
  5. package/dist/exports/client/chunk-2CYU43GM.js.map +7 -0
  6. package/dist/exports/client/chunk-C7S3V4EB.js +2 -0
  7. package/dist/exports/client/chunk-C7S3V4EB.js.map +7 -0
  8. package/dist/exports/client/chunk-QPPOQTHD.js +2 -0
  9. package/dist/exports/client/{chunk-OOBB5GCO.js.map → chunk-QPPOQTHD.js.map} +3 -3
  10. package/dist/exports/client/chunk-U7O7EYCP.js +2 -0
  11. package/dist/exports/client/chunk-U7O7EYCP.js.map +7 -0
  12. package/dist/exports/client/component-H3EYQ5KG.js +2 -0
  13. package/dist/exports/client/{component-YICNYPTU.js.map → component-H3EYQ5KG.js.map} +1 -1
  14. package/dist/exports/client/componentInline-ZGO3K4TA.js +2 -0
  15. package/dist/exports/client/componentInline-ZGO3K4TA.js.map +7 -0
  16. package/dist/exports/client/index.d.ts +7 -0
  17. package/dist/exports/client/index.d.ts.map +1 -1
  18. package/dist/exports/client/index.js +15 -13
  19. package/dist/exports/client/index.js.map +4 -4
  20. package/dist/exports/server/ast/mdx.d.ts +7 -0
  21. package/dist/exports/server/ast/mdx.d.ts.map +1 -0
  22. package/dist/exports/server/ast/mdx.js +37 -0
  23. package/dist/exports/server/ast/mdx.js.map +1 -0
  24. package/dist/exports/shared.d.ts +4 -0
  25. package/dist/exports/shared.d.ts.map +1 -0
  26. package/dist/exports/shared.js +4 -0
  27. package/dist/exports/shared.js.map +1 -0
  28. package/dist/features/blocks/client/component/BlockContent.d.ts +34 -9
  29. package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
  30. package/dist/features/blocks/client/component/BlockContent.js +63 -158
  31. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  32. package/dist/features/blocks/client/component/components/BlockCollapsible.d.ts +11 -0
  33. package/dist/features/blocks/client/component/components/BlockCollapsible.d.ts.map +1 -0
  34. package/dist/features/blocks/client/component/components/BlockCollapsible.js +37 -0
  35. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -0
  36. package/dist/features/blocks/client/component/components/BlockEditButton.d.ts +3 -0
  37. package/dist/features/blocks/client/component/components/BlockEditButton.d.ts.map +1 -0
  38. package/dist/features/blocks/client/component/components/BlockEditButton.js +22 -0
  39. package/dist/features/blocks/client/component/components/BlockEditButton.js.map +1 -0
  40. package/dist/features/blocks/client/component/components/BlockRemoveButton.d.ts +3 -0
  41. package/dist/features/blocks/client/component/components/BlockRemoveButton.d.ts.map +1 -0
  42. package/dist/features/blocks/client/component/components/BlockRemoveButton.js +22 -0
  43. package/dist/features/blocks/client/component/components/BlockRemoveButton.js.map +1 -0
  44. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  45. package/dist/features/blocks/client/component/index.js +242 -63
  46. package/dist/features/blocks/client/component/index.js.map +1 -1
  47. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts +5 -0
  48. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.d.ts.map +1 -0
  49. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js +28 -0
  50. package/dist/features/blocks/client/componentInline/components/InlineBlockContainer.js.map +1 -0
  51. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.d.ts +3 -0
  52. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.d.ts.map +1 -0
  53. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js +22 -0
  54. package/dist/features/blocks/client/componentInline/components/InlineBlockEditButton.js.map +1 -0
  55. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.d.ts +3 -0
  56. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.d.ts.map +1 -0
  57. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js +22 -0
  58. package/dist/features/blocks/client/componentInline/components/InlineBlockLabel.js.map +1 -0
  59. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.d.ts +3 -0
  60. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.d.ts.map +1 -0
  61. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js +22 -0
  62. package/dist/features/blocks/client/componentInline/components/InlineBlockRemoveButton.js.map +1 -0
  63. package/dist/features/blocks/client/componentInline/index.d.ts +13 -1
  64. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  65. package/dist/features/blocks/client/componentInline/index.js +219 -43
  66. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  67. package/dist/features/blocks/client/index.d.ts +1 -5
  68. package/dist/features/blocks/client/index.d.ts.map +1 -1
  69. package/dist/features/blocks/client/index.js +138 -157
  70. package/dist/features/blocks/client/index.js.map +1 -1
  71. package/dist/features/blocks/client/markdownTransformer.d.ts +16 -0
  72. package/dist/features/blocks/client/markdownTransformer.d.ts.map +1 -0
  73. package/dist/features/blocks/client/markdownTransformer.js +144 -0
  74. package/dist/features/blocks/client/markdownTransformer.js.map +1 -0
  75. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  76. package/dist/features/blocks/client/nodes/BlocksNode.js +1 -3
  77. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  78. package/dist/features/blocks/client/plugin/commands.d.ts +0 -4
  79. package/dist/features/blocks/client/plugin/commands.d.ts.map +1 -1
  80. package/dist/features/blocks/client/plugin/commands.js +0 -1
  81. package/dist/features/blocks/client/plugin/commands.js.map +1 -1
  82. package/dist/features/blocks/client/plugin/index.d.ts +1 -2
  83. package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
  84. package/dist/features/blocks/client/plugin/index.js +28 -135
  85. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  86. package/dist/features/blocks/server/index.d.ts +1 -2
  87. package/dist/features/blocks/server/index.d.ts.map +1 -1
  88. package/dist/features/blocks/server/index.js +33 -10
  89. package/dist/features/blocks/server/index.js.map +1 -1
  90. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.d.ts +22 -0
  91. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.d.ts.map +1 -0
  92. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js +136 -0
  93. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js.map +1 -0
  94. package/dist/features/blocks/server/markdownTransformer.d.ts +22 -0
  95. package/dist/features/blocks/server/markdownTransformer.d.ts.map +1 -0
  96. package/dist/features/blocks/server/markdownTransformer.js +400 -0
  97. package/dist/features/blocks/server/markdownTransformer.js.map +1 -0
  98. package/dist/features/experimental_table/client/index.d.ts.map +1 -1
  99. package/dist/features/experimental_table/client/index.js +2 -0
  100. package/dist/features/experimental_table/client/index.js.map +1 -1
  101. package/dist/features/experimental_table/markdownTransformer.d.ts +5 -0
  102. package/dist/features/experimental_table/markdownTransformer.d.ts.map +1 -0
  103. package/dist/features/experimental_table/markdownTransformer.js +127 -0
  104. package/dist/features/experimental_table/markdownTransformer.js.map +1 -0
  105. package/dist/features/experimental_table/server/index.d.ts.map +1 -1
  106. package/dist/features/experimental_table/server/index.js +2 -0
  107. package/dist/features/experimental_table/server/index.js.map +1 -1
  108. package/dist/features/typesClient.d.ts +12 -19
  109. package/dist/features/typesClient.d.ts.map +1 -1
  110. package/dist/features/typesClient.js.map +1 -1
  111. package/dist/features/typesServer.d.ts +6 -2
  112. package/dist/features/typesServer.d.ts.map +1 -1
  113. package/dist/features/typesServer.js.map +1 -1
  114. package/dist/field/Field.d.ts.map +1 -1
  115. package/dist/field/Field.js +10 -21
  116. package/dist/field/Field.js.map +1 -1
  117. package/dist/field/bundled.css +1 -1
  118. package/dist/field/index.d.ts.map +1 -1
  119. package/dist/field/index.js +23 -14
  120. package/dist/field/index.js.map +1 -1
  121. package/dist/field/rscEntry.d.ts.map +1 -1
  122. package/dist/field/rscEntry.js +23 -1
  123. package/dist/field/rscEntry.js.map +1 -1
  124. package/dist/index.d.ts +4 -1
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +4 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  129. package/dist/lexical/LexicalProvider.js +9 -18
  130. package/dist/lexical/LexicalProvider.js.map +1 -1
  131. package/dist/lexical/config/client/loader.d.ts +6 -1
  132. package/dist/lexical/config/client/loader.d.ts.map +1 -1
  133. package/dist/lexical/config/client/loader.js +6 -0
  134. package/dist/lexical/config/client/loader.js.map +1 -1
  135. package/dist/lexical/config/client/sanitize.js +15 -14
  136. package/dist/lexical/config/client/sanitize.js.map +1 -1
  137. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  138. package/dist/lexical/config/server/sanitize.js +15 -2
  139. package/dist/lexical/config/server/sanitize.js.map +1 -1
  140. package/dist/lexical/nodes/index.d.ts +4 -0
  141. package/dist/lexical/nodes/index.d.ts.map +1 -1
  142. package/dist/lexical/nodes/index.js +8 -1
  143. package/dist/lexical/nodes/index.js.map +1 -1
  144. package/dist/lexical-proxy/@lexical-headless.d.ts +2 -0
  145. package/dist/lexical-proxy/@lexical-headless.d.ts.map +1 -0
  146. package/dist/lexical-proxy/@lexical-headless.js +2 -0
  147. package/dist/lexical-proxy/@lexical-headless.js.map +1 -0
  148. package/dist/lexical-proxy/@lexical-link.d.ts +2 -0
  149. package/dist/lexical-proxy/@lexical-link.d.ts.map +1 -0
  150. package/dist/lexical-proxy/@lexical-link.js +2 -0
  151. package/dist/lexical-proxy/@lexical-link.js.map +1 -0
  152. package/dist/lexical-proxy/@lexical-list.d.ts +2 -0
  153. package/dist/lexical-proxy/@lexical-list.d.ts.map +1 -0
  154. package/dist/lexical-proxy/@lexical-list.js +2 -0
  155. package/dist/lexical-proxy/@lexical-list.js.map +1 -0
  156. package/dist/lexical-proxy/@lexical-mark.d.ts +2 -0
  157. package/dist/lexical-proxy/@lexical-mark.d.ts.map +1 -0
  158. package/dist/lexical-proxy/@lexical-mark.js +2 -0
  159. package/dist/lexical-proxy/@lexical-mark.js.map +1 -0
  160. package/dist/lexical-proxy/@lexical-markdown.d.ts +2 -0
  161. package/dist/lexical-proxy/@lexical-markdown.d.ts.map +1 -0
  162. package/dist/lexical-proxy/@lexical-markdown.js +2 -0
  163. package/dist/lexical-proxy/@lexical-markdown.js.map +1 -0
  164. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.d.ts +2 -0
  165. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.d.ts.map +1 -0
  166. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js +2 -0
  167. package/dist/lexical-proxy/@lexical-react/LexicalAutoEmbedPlugin.js.map +1 -0
  168. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.d.ts +2 -0
  169. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.d.ts.map +1 -0
  170. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js +2 -0
  171. package/dist/lexical-proxy/@lexical-react/LexicalAutoFocusPlugin.js.map +1 -0
  172. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.d.ts +2 -0
  173. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.d.ts.map +1 -0
  174. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js +2 -0
  175. package/dist/lexical-proxy/@lexical-react/LexicalAutoLinkPlugin.js.map +1 -0
  176. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.d.ts +2 -0
  177. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.d.ts.map +1 -0
  178. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js +2 -0
  179. package/dist/lexical-proxy/@lexical-react/LexicalBlockWithAlignableContents.js.map +1 -0
  180. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.d.ts +2 -0
  181. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.d.ts.map +1 -0
  182. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js +2 -0
  183. package/dist/lexical-proxy/@lexical-react/LexicalCharacterLimitPlugin.js.map +1 -0
  184. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.d.ts +2 -0
  185. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.d.ts.map +1 -0
  186. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js +2 -0
  187. package/dist/lexical-proxy/@lexical-react/LexicalCheckListPlugin.js.map +1 -0
  188. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.d.ts +2 -0
  189. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.d.ts.map +1 -0
  190. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js +2 -0
  191. package/dist/lexical-proxy/@lexical-react/LexicalClearEditorPlugin.js.map +1 -0
  192. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.d.ts +2 -0
  193. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.d.ts.map +1 -0
  194. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js +2 -0
  195. package/dist/lexical-proxy/@lexical-react/LexicalClickableLinkPlugin.js.map +1 -0
  196. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.d.ts +2 -0
  197. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.d.ts.map +1 -0
  198. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js +2 -0
  199. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationContext.js.map +1 -0
  200. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.d.ts +2 -0
  201. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.d.ts.map +1 -0
  202. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js +2 -0
  203. package/dist/lexical-proxy/@lexical-react/LexicalCollaborationPlugin.js.map +1 -0
  204. package/dist/lexical-proxy/@lexical-react/LexicalComposer.d.ts +2 -0
  205. package/dist/lexical-proxy/@lexical-react/LexicalComposer.d.ts.map +1 -0
  206. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js +2 -0
  207. package/dist/lexical-proxy/@lexical-react/LexicalComposer.js.map +1 -0
  208. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.d.ts +2 -0
  209. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.d.ts.map +1 -0
  210. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js +2 -0
  211. package/dist/lexical-proxy/@lexical-react/LexicalComposerContext.js.map +1 -0
  212. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.d.ts +2 -0
  213. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.d.ts.map +1 -0
  214. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js +2 -0
  215. package/dist/lexical-proxy/@lexical-react/LexicalContentEditable.js.map +1 -0
  216. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts +2 -0
  217. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.d.ts.map +1 -0
  218. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js +2 -0
  219. package/dist/lexical-proxy/@lexical-react/LexicalContextMenuPlugin.js.map +1 -0
  220. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.d.ts +2 -0
  221. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.d.ts.map +1 -0
  222. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js +2 -0
  223. package/dist/lexical-proxy/@lexical-react/LexicalDecoratorBlockNode.js.map +1 -0
  224. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.d.ts +2 -0
  225. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.d.ts.map +1 -0
  226. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js +2 -0
  227. package/dist/lexical-proxy/@lexical-react/LexicalDraggableBlockPlugin.js.map +1 -0
  228. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.d.ts +2 -0
  229. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.d.ts.map +1 -0
  230. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js +2 -0
  231. package/dist/lexical-proxy/@lexical-react/LexicalEditorRefPlugin.js.map +1 -0
  232. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.d.ts +2 -0
  233. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.d.ts.map +1 -0
  234. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js +2 -0
  235. package/dist/lexical-proxy/@lexical-react/LexicalErrorBoundary.js.map +1 -0
  236. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.d.ts +2 -0
  237. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.d.ts.map +1 -0
  238. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js +2 -0
  239. package/dist/lexical-proxy/@lexical-react/LexicalHashtagPlugin.js.map +1 -0
  240. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.d.ts +2 -0
  241. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.d.ts.map +1 -0
  242. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js +2 -0
  243. package/dist/lexical-proxy/@lexical-react/LexicalHistoryPlugin.js.map +1 -0
  244. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.d.ts +2 -0
  245. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.d.ts.map +1 -0
  246. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js +2 -0
  247. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRuleNode.js.map +1 -0
  248. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.d.ts +2 -0
  249. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.d.ts.map +1 -0
  250. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js +2 -0
  251. package/dist/lexical-proxy/@lexical-react/LexicalHorizontalRulePlugin.js.map +1 -0
  252. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.d.ts +2 -0
  253. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.d.ts.map +1 -0
  254. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js +2 -0
  255. package/dist/lexical-proxy/@lexical-react/LexicalLinkPlugin.js.map +1 -0
  256. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.d.ts +2 -0
  257. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.d.ts.map +1 -0
  258. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js +2 -0
  259. package/dist/lexical-proxy/@lexical-react/LexicalListPlugin.js.map +1 -0
  260. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.d.ts +2 -0
  261. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.d.ts.map +1 -0
  262. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js +2 -0
  263. package/dist/lexical-proxy/@lexical-react/LexicalMarkdownShortcutPlugin.js.map +1 -0
  264. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.d.ts +2 -0
  265. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.d.ts.map +1 -0
  266. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js +2 -0
  267. package/dist/lexical-proxy/@lexical-react/LexicalNestedComposer.js.map +1 -0
  268. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.d.ts +2 -0
  269. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.d.ts.map +1 -0
  270. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js +2 -0
  271. package/dist/lexical-proxy/@lexical-react/LexicalNodeEventPlugin.js.map +1 -0
  272. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.d.ts +2 -0
  273. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.d.ts.map +1 -0
  274. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js +2 -0
  275. package/dist/lexical-proxy/@lexical-react/LexicalNodeMenuPlugin.js.map +1 -0
  276. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.d.ts +2 -0
  277. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.d.ts.map +1 -0
  278. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js +2 -0
  279. package/dist/lexical-proxy/@lexical-react/LexicalOnChangePlugin.js.map +1 -0
  280. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.d.ts +2 -0
  281. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.d.ts.map +1 -0
  282. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js +2 -0
  283. package/dist/lexical-proxy/@lexical-react/LexicalPlainTextPlugin.js.map +1 -0
  284. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.d.ts +2 -0
  285. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.d.ts.map +1 -0
  286. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js +2 -0
  287. package/dist/lexical-proxy/@lexical-react/LexicalRichTextPlugin.js.map +1 -0
  288. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.d.ts +2 -0
  289. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.d.ts.map +1 -0
  290. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js +2 -0
  291. package/dist/lexical-proxy/@lexical-react/LexicalTabIndentationPlugin.js.map +1 -0
  292. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.d.ts +2 -0
  293. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.d.ts.map +1 -0
  294. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.js +2 -0
  295. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContents.js.map +1 -0
  296. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.d.ts +2 -0
  297. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.d.ts.map +1 -0
  298. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js +2 -0
  299. package/dist/lexical-proxy/@lexical-react/LexicalTableOfContentsPlugin.js.map +1 -0
  300. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.d.ts +2 -0
  301. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.d.ts.map +1 -0
  302. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js +2 -0
  303. package/dist/lexical-proxy/@lexical-react/LexicalTablePlugin.js.map +1 -0
  304. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.d.ts +2 -0
  305. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.d.ts.map +1 -0
  306. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js +2 -0
  307. package/dist/lexical-proxy/@lexical-react/LexicalTreeView.js.map +1 -0
  308. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.d.ts +2 -0
  309. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.d.ts.map +1 -0
  310. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js +2 -0
  311. package/dist/lexical-proxy/@lexical-react/LexicalTypeaheadMenuPlugin.js.map +1 -0
  312. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.d.ts +2 -0
  313. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.d.ts.map +1 -0
  314. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js +2 -0
  315. package/dist/lexical-proxy/@lexical-react/useLexicalEditable.js.map +1 -0
  316. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.d.ts +2 -0
  317. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.d.ts.map +1 -0
  318. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js +2 -0
  319. package/dist/lexical-proxy/@lexical-react/useLexicalIsTextContentEmpty.js.map +1 -0
  320. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.d.ts +2 -0
  321. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.d.ts.map +1 -0
  322. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js +2 -0
  323. package/dist/lexical-proxy/@lexical-react/useLexicalNodeSelection.js.map +1 -0
  324. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.d.ts +2 -0
  325. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.d.ts.map +1 -0
  326. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js +2 -0
  327. package/dist/lexical-proxy/@lexical-react/useLexicalSubscription.js.map +1 -0
  328. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.d.ts +2 -0
  329. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.d.ts.map +1 -0
  330. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js +2 -0
  331. package/dist/lexical-proxy/@lexical-react/useLexicalTextEntity.js.map +1 -0
  332. package/dist/lexical-proxy/@lexical-rich-text.d.ts +2 -0
  333. package/dist/lexical-proxy/@lexical-rich-text.d.ts.map +1 -0
  334. package/dist/lexical-proxy/@lexical-rich-text.js +2 -0
  335. package/dist/lexical-proxy/@lexical-rich-text.js.map +1 -0
  336. package/dist/lexical-proxy/@lexical-selection.d.ts +2 -0
  337. package/dist/lexical-proxy/@lexical-selection.d.ts.map +1 -0
  338. package/dist/lexical-proxy/@lexical-selection.js +2 -0
  339. package/dist/lexical-proxy/@lexical-selection.js.map +1 -0
  340. package/dist/lexical-proxy/@lexical-utils.d.ts +2 -0
  341. package/dist/lexical-proxy/@lexical-utils.d.ts.map +1 -0
  342. package/dist/lexical-proxy/@lexical-utils.js +2 -0
  343. package/dist/lexical-proxy/@lexical-utils.js.map +1 -0
  344. package/dist/lexical-proxy/lexical.d.ts +2 -0
  345. package/dist/lexical-proxy/lexical.d.ts.map +1 -0
  346. package/dist/lexical-proxy/lexical.js +2 -0
  347. package/dist/lexical-proxy/lexical.js.map +1 -0
  348. package/dist/types.d.ts +2 -0
  349. package/dist/types.d.ts.map +1 -1
  350. package/dist/types.js.map +1 -1
  351. package/dist/utilities/buildInitialState.d.ts +27 -0
  352. package/dist/utilities/buildInitialState.d.ts.map +1 -0
  353. package/dist/utilities/buildInitialState.js +53 -0
  354. package/dist/utilities/buildInitialState.js.map +1 -0
  355. package/dist/utilities/createClientFeature.d.ts +5 -0
  356. package/dist/utilities/createClientFeature.d.ts.map +1 -1
  357. package/dist/utilities/createClientFeature.js +6 -0
  358. package/dist/utilities/createClientFeature.js.map +1 -1
  359. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  360. package/dist/utilities/fieldsDrawer/DrawerContent.js +8 -5
  361. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  362. package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts.map +1 -1
  363. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +8 -8
  364. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  365. package/dist/utilities/initLexicalFeatures.d.ts.map +1 -1
  366. package/dist/utilities/initLexicalFeatures.js +3 -2
  367. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  368. package/dist/utilities/jsx/collectTopLevelJSXInLines.d.ts +52 -0
  369. package/dist/utilities/jsx/collectTopLevelJSXInLines.d.ts.map +1 -0
  370. package/dist/utilities/jsx/collectTopLevelJSXInLines.js +79 -0
  371. package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -0
  372. package/dist/utilities/jsx/extractPropsFromJSXPropsString.d.ts +12 -0
  373. package/dist/utilities/jsx/extractPropsFromJSXPropsString.d.ts.map +1 -0
  374. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js +125 -0
  375. package/dist/utilities/jsx/extractPropsFromJSXPropsString.js.map +1 -0
  376. package/dist/utilities/jsx/jsx.d.ts +26 -0
  377. package/dist/utilities/jsx/jsx.d.ts.map +1 -0
  378. package/dist/utilities/jsx/jsx.js +105 -0
  379. package/dist/utilities/jsx/jsx.js.map +1 -0
  380. package/dist/utilities/jsx/jsx.spec.d.ts +2 -0
  381. package/dist/utilities/jsx/jsx.spec.d.ts.map +1 -0
  382. package/dist/utilities/jsx/jsx.spec.js +142 -0
  383. package/dist/utilities/jsx/jsx.spec.js.map +1 -0
  384. package/dist/utilities/jsx/lexicalMarkdownCopy.d.ts +11 -0
  385. package/dist/utilities/jsx/lexicalMarkdownCopy.d.ts.map +1 -0
  386. package/dist/utilities/jsx/lexicalMarkdownCopy.js +61 -0
  387. package/dist/utilities/jsx/lexicalMarkdownCopy.js.map +1 -0
  388. package/package.json +284 -7
  389. package/dist/exports/client/Field-GWJ72IYP.js +0 -2
  390. package/dist/exports/client/Field-GWJ72IYP.js.map +0 -7
  391. package/dist/exports/client/chunk-D7PD5DUW.js +0 -2
  392. package/dist/exports/client/chunk-D7PD5DUW.js.map +0 -7
  393. package/dist/exports/client/chunk-OOBB5GCO.js +0 -2
  394. package/dist/exports/client/chunk-XDEGE6I5.js +0 -2
  395. package/dist/exports/client/chunk-XDEGE6I5.js.map +0 -7
  396. package/dist/exports/client/chunk-YGRKYSDC.js +0 -2
  397. package/dist/exports/client/chunk-YGRKYSDC.js.map +0 -7
  398. package/dist/exports/client/component-KLNTKKNE.js +0 -2
  399. package/dist/exports/client/component-KLNTKKNE.js.map +0 -7
  400. package/dist/exports/client/component-YICNYPTU.js +0 -2
  401. package/dist/exports/client/componentInline-6RPSMLNJ.js +0 -2
  402. package/dist/exports/client/componentInline-6RPSMLNJ.js.map +0 -7
  403. package/dist/features/blocks/client/component/FormSavePlugin.d.ts +0 -11
  404. package/dist/features/blocks/client/component/FormSavePlugin.d.ts.map +0 -1
  405. package/dist/features/blocks/client/component/FormSavePlugin.js +0 -53
  406. package/dist/features/blocks/client/component/FormSavePlugin.js.map +0 -1
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Helpful utility for parsing out all matching top-level JSX tags in a given string.
3
+ * This will collect them in a list, that contains the content of the JSX tag and the props string.
4
+ *
5
+ * While this is not used within payload, this can be used for certain payload blocks that need to
6
+ * be serializable and deserializable to and from JSX.
7
+ *
8
+ * @example:
9
+ *
10
+ * Say you have Steps block that contains a steps array. Its JSX representation may look like this:
11
+ *
12
+ * <Steps>
13
+ * <Step title="Step1">
14
+ * <h1>Step 1</h1>
15
+ * </Step>
16
+ * <Step title="Step2">
17
+ * <h1>Step 2</h1>
18
+ * </Step>
19
+ * </Steps>
20
+ *
21
+ * In this case, the Steps block would have the following content as its children string:
22
+ * <Step title="Step1">
23
+ * <h1>Step 1</h1>
24
+ * </Step>
25
+ * <Step title="Step2">
26
+ * <h1>Step 2</h1>
27
+ * </Step>
28
+ *
29
+ * It could then use this function to collect all the top-level JSX tags (= the steps):
30
+ *
31
+ * collectTopLevelJSXInLines(children.split('\n'), 'Step')
32
+ *
33
+ * This will return:
34
+ *
35
+ * [
36
+ * {
37
+ * content: '<h1>Step 1</h1>',
38
+ * propsString: 'title="Step1"',
39
+ * },
40
+ * {
41
+ * content: '<h1>Step 2</h1>',
42
+ * propsString: 'title="Step2"',
43
+ * },
44
+ * ]
45
+ *
46
+ * You can then map this data to construct the data for this blocks array field.
47
+ */
48
+ export declare function collectTopLevelJSXInLines(lines: Array<string>, jsxToMatch: string): {
49
+ content: string;
50
+ propsString: string;
51
+ }[];
52
+ //# sourceMappingURL=collectTopLevelJSXInLines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectTopLevelJSXInLines.d.ts","sourceRoot":"","sources":["../../../src/utilities/jsx/collectTopLevelJSXInLines.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,UAAU,EAAE,MAAM,GACjB;IACD,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACpB,EAAE,CAiCF"}
@@ -0,0 +1,79 @@
1
+ import { linesFromStartToContentAndPropsString } from '../../features/blocks/server/linesFromMatchToContentAndPropsString.js';
2
+ import { createTagRegexes } from '../../features/blocks/server/markdownTransformer.js';
3
+ /**
4
+ * Helpful utility for parsing out all matching top-level JSX tags in a given string.
5
+ * This will collect them in a list, that contains the content of the JSX tag and the props string.
6
+ *
7
+ * While this is not used within payload, this can be used for certain payload blocks that need to
8
+ * be serializable and deserializable to and from JSX.
9
+ *
10
+ * @example:
11
+ *
12
+ * Say you have Steps block that contains a steps array. Its JSX representation may look like this:
13
+ *
14
+ * <Steps>
15
+ * <Step title="Step1">
16
+ * <h1>Step 1</h1>
17
+ * </Step>
18
+ * <Step title="Step2">
19
+ * <h1>Step 2</h1>
20
+ * </Step>
21
+ * </Steps>
22
+ *
23
+ * In this case, the Steps block would have the following content as its children string:
24
+ * <Step title="Step1">
25
+ * <h1>Step 1</h1>
26
+ * </Step>
27
+ * <Step title="Step2">
28
+ * <h1>Step 2</h1>
29
+ * </Step>
30
+ *
31
+ * It could then use this function to collect all the top-level JSX tags (= the steps):
32
+ *
33
+ * collectTopLevelJSXInLines(children.split('\n'), 'Step')
34
+ *
35
+ * This will return:
36
+ *
37
+ * [
38
+ * {
39
+ * content: '<h1>Step 1</h1>',
40
+ * propsString: 'title="Step1"',
41
+ * },
42
+ * {
43
+ * content: '<h1>Step 2</h1>',
44
+ * propsString: 'title="Step2"',
45
+ * },
46
+ * ]
47
+ *
48
+ * You can then map this data to construct the data for this blocks array field.
49
+ */
50
+ export function collectTopLevelJSXInLines(lines, jsxToMatch) {
51
+ const finds = [];
52
+ const regex = createTagRegexes(jsxToMatch);
53
+ const linesLength = lines.length;
54
+ for (let i = 0; i < linesLength; i++) {
55
+ const startMatch = lines[i].match(regex.regExpStart);
56
+ if (!startMatch) {
57
+ continue; // Try next transformer
58
+ }
59
+ const {
60
+ content,
61
+ endLineIndex,
62
+ propsString
63
+ } = linesFromStartToContentAndPropsString({
64
+ isEndOptional: false,
65
+ lines,
66
+ regexpEndRegex: regex.regExpEnd,
67
+ startLineIndex: i,
68
+ startMatch
69
+ });
70
+ finds.push({
71
+ content,
72
+ propsString
73
+ });
74
+ i = endLineIndex;
75
+ continue;
76
+ }
77
+ return finds;
78
+ }
79
+ //# sourceMappingURL=collectTopLevelJSXInLines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectTopLevelJSXInLines.js","names":["linesFromStartToContentAndPropsString","createTagRegexes","collectTopLevelJSXInLines","lines","jsxToMatch","finds","regex","linesLength","length","i","startMatch","match","regExpStart","content","endLineIndex","propsString","isEndOptional","regexpEndRegex","regExpEnd","startLineIndex","push"],"sources":["../../../src/utilities/jsx/collectTopLevelJSXInLines.ts"],"sourcesContent":["import { linesFromStartToContentAndPropsString } from '../../features/blocks/server/linesFromMatchToContentAndPropsString.js'\nimport { createTagRegexes } from '../../features/blocks/server/markdownTransformer.js'\n\n/**\n * Helpful utility for parsing out all matching top-level JSX tags in a given string.\n * This will collect them in a list, that contains the content of the JSX tag and the props string.\n *\n * While this is not used within payload, this can be used for certain payload blocks that need to\n * be serializable and deserializable to and from JSX.\n *\n * @example:\n *\n * Say you have Steps block that contains a steps array. Its JSX representation may look like this:\n *\n * <Steps>\n * <Step title=\"Step1\">\n * <h1>Step 1</h1>\n * </Step>\n * <Step title=\"Step2\">\n * <h1>Step 2</h1>\n * </Step>\n * </Steps>\n *\n * In this case, the Steps block would have the following content as its children string:\n * <Step title=\"Step1\">\n * <h1>Step 1</h1>\n * </Step>\n * <Step title=\"Step2\">\n * <h1>Step 2</h1>\n * </Step>\n *\n * It could then use this function to collect all the top-level JSX tags (= the steps):\n *\n * collectTopLevelJSXInLines(children.split('\\n'), 'Step')\n *\n * This will return:\n *\n * [\n * {\n * content: '<h1>Step 1</h1>',\n * propsString: 'title=\"Step1\"',\n * },\n * {\n * content: '<h1>Step 2</h1>',\n * propsString: 'title=\"Step2\"',\n * },\n * ]\n *\n * You can then map this data to construct the data for this blocks array field.\n */\nexport function collectTopLevelJSXInLines(\n lines: Array<string>,\n jsxToMatch: string,\n): {\n content: string\n propsString: string\n}[] {\n const finds: {\n content: string\n propsString: string\n }[] = []\n const regex = createTagRegexes(jsxToMatch)\n\n const linesLength = lines.length\n\n for (let i = 0; i < linesLength; i++) {\n const startMatch = lines[i].match(regex.regExpStart)\n if (!startMatch) {\n continue // Try next transformer\n }\n\n const { content, endLineIndex, propsString } = linesFromStartToContentAndPropsString({\n isEndOptional: false,\n lines,\n regexpEndRegex: regex.regExpEnd,\n startLineIndex: i,\n startMatch,\n })\n\n finds.push({\n content,\n propsString,\n })\n\n i = endLineIndex\n continue\n }\n\n return finds\n}\n"],"mappings":"AAAA,SAASA,qCAAqC,QAAQ;AACtD,SAASC,gBAAgB,QAAQ;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,OAAO,SAASC,0BACdC,KAAoB,EACpBC,UAAkB;EAKlB,MAAMC,KAAA,GAGA,EAAE;EACR,MAAMC,KAAA,GAAQL,gBAAA,CAAiBG,UAAA;EAE/B,MAAMG,WAAA,GAAcJ,KAAA,CAAMK,MAAM;EAEhC,KAAK,IAAIC,CAAA,GAAI,GAAGA,CAAA,GAAIF,WAAA,EAAaE,CAAA,IAAK;IACpC,MAAMC,UAAA,GAAaP,KAAK,CAACM,CAAA,CAAE,CAACE,KAAK,CAACL,KAAA,CAAMM,WAAW;IACnD,IAAI,CAACF,UAAA,EAAY;MACf,UAAS;IACX;IAEA,MAAM;MAAEG,OAAO;MAAEC,YAAY;MAAEC;IAAW,CAAE,GAAGf,qCAAA,CAAsC;MACnFgB,aAAA,EAAe;MACfb,KAAA;MACAc,cAAA,EAAgBX,KAAA,CAAMY,SAAS;MAC/BC,cAAA,EAAgBV,CAAA;MAChBC;IACF;IAEAL,KAAA,CAAMe,IAAI,CAAC;MACTP,OAAA;MACAE;IACF;IAEAN,CAAA,GAAIK,YAAA;IACJ;EACF;EAEA,OAAOT,KAAA;AACT","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Turns a JSX props string into an object.
3
+ *
4
+ * @example
5
+ *
6
+ * Input: type="info" hello={{heyyy: 'test', someNumber: 2}}
7
+ * Output: { type: 'info', hello: { heyyy: 'test', someNumber: 2 } }
8
+ */
9
+ export declare function extractPropsFromJSXPropsString({ propsString, }: {
10
+ propsString: string;
11
+ }): Record<string, any>;
12
+ //# sourceMappingURL=extractPropsFromJSXPropsString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractPropsFromJSXPropsString.d.ts","sourceRoot":"","sources":["../../../src/utilities/jsx/extractPropsFromJSXPropsString.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAmCtB"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Turns a JSX props string into an object.
3
+ *
4
+ * @example
5
+ *
6
+ * Input: type="info" hello={{heyyy: 'test', someNumber: 2}}
7
+ * Output: { type: 'info', hello: { heyyy: 'test', someNumber: 2 } }
8
+ */export function extractPropsFromJSXPropsString({
9
+ propsString
10
+ }) {
11
+ const props = {};
12
+ let key = '';
13
+ let collectingKey = true;
14
+ for (let i = 0; i < propsString.length; i++) {
15
+ const char = propsString[i];
16
+ if (collectingKey) {
17
+ if (char === '=' || char === ' ') {
18
+ if (key) {
19
+ if (char === ' ') {
20
+ props[key] = true;
21
+ key = '';
22
+ } else {
23
+ collectingKey = false;
24
+ }
25
+ }
26
+ } else {
27
+ key += char;
28
+ }
29
+ } else {
30
+ const result = handleValue(propsString, i);
31
+ props[key] = result.value;
32
+ i = result.newIndex;
33
+ key = '';
34
+ collectingKey = true;
35
+ }
36
+ }
37
+ if (key) {
38
+ props[key] = true;
39
+ }
40
+ return props;
41
+ }
42
+ function handleValue(propsString, startIndex) {
43
+ const char = propsString[startIndex];
44
+ if (char === '"') {
45
+ return handleQuotedString(propsString, startIndex);
46
+ } else if (char === '{') {
47
+ return handleObject(propsString, startIndex);
48
+ } else if (char === '[') {
49
+ return handleArray(propsString, startIndex);
50
+ } else {
51
+ return handleUnquotedString(propsString, startIndex);
52
+ }
53
+ }
54
+ function handleArray(propsString, startIndex) {
55
+ let bracketCount = 1;
56
+ let value = '';
57
+ let i = startIndex + 1;
58
+ while (i < propsString.length && bracketCount > 0) {
59
+ if (propsString[i] === '[') {
60
+ bracketCount++;
61
+ } else if (propsString[i] === ']') {
62
+ bracketCount--;
63
+ }
64
+ if (bracketCount > 0) {
65
+ value += propsString[i];
66
+ }
67
+ i++;
68
+ }
69
+ return {
70
+ newIndex: i,
71
+ value: JSON.parse(`[${value}]`)
72
+ };
73
+ }
74
+ function handleQuotedString(propsString, startIndex) {
75
+ let value = '';
76
+ let i = startIndex + 1;
77
+ while (i < propsString.length && (propsString[i] !== '"' || propsString[i - 1] === '\\')) {
78
+ value += propsString[i];
79
+ i++;
80
+ }
81
+ return {
82
+ newIndex: i,
83
+ value
84
+ };
85
+ }
86
+ function handleObject(propsString, startIndex) {
87
+ let bracketCount = 1;
88
+ let value = '';
89
+ let i = startIndex + 1;
90
+ while (i < propsString.length && bracketCount > 0) {
91
+ if (propsString[i] === '{') {
92
+ bracketCount++;
93
+ } else if (propsString[i] === '}') {
94
+ bracketCount--;
95
+ }
96
+ if (bracketCount > 0) {
97
+ value += propsString[i];
98
+ }
99
+ i++;
100
+ }
101
+ return {
102
+ newIndex: i,
103
+ value: parseObject(value)
104
+ };
105
+ }
106
+ function parseObject(objString) {
107
+ if (objString[0] !== '{') {
108
+ return JSON.parse(objString);
109
+ }
110
+ const result = JSON.parse(objString.replace(/(\w+):/g, '"$1":'));
111
+ return result;
112
+ }
113
+ function handleUnquotedString(propsString, startIndex) {
114
+ let value = '';
115
+ let i = startIndex;
116
+ while (i < propsString.length && propsString[i] !== ' ') {
117
+ value += propsString[i];
118
+ i++;
119
+ }
120
+ return {
121
+ newIndex: i - 1,
122
+ value
123
+ };
124
+ }
125
+ //# sourceMappingURL=extractPropsFromJSXPropsString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractPropsFromJSXPropsString.js","names":["extractPropsFromJSXPropsString","propsString","props","key","collectingKey","i","length","char","result","handleValue","value","newIndex","startIndex","handleQuotedString","handleObject","handleArray","handleUnquotedString","bracketCount","JSON","parse","parseObject","objString","replace"],"sources":["../../../src/utilities/jsx/extractPropsFromJSXPropsString.ts"],"sourcesContent":["/**\n * Turns a JSX props string into an object.\n *\n * @example\n *\n * Input: type=\"info\" hello={{heyyy: 'test', someNumber: 2}}\n * Output: { type: 'info', hello: { heyyy: 'test', someNumber: 2 } }\n */\nexport function extractPropsFromJSXPropsString({\n propsString,\n}: {\n propsString: string\n}): Record<string, any> {\n const props: Record<string, any> = {}\n let key = ''\n let collectingKey = true\n\n for (let i = 0; i < propsString.length; i++) {\n const char = propsString[i]\n\n if (collectingKey) {\n if (char === '=' || char === ' ') {\n if (key) {\n if (char === ' ') {\n props[key] = true\n key = ''\n } else {\n collectingKey = false\n }\n }\n } else {\n key += char\n }\n } else {\n const result = handleValue(propsString, i)\n props[key] = result.value\n i = result.newIndex\n key = ''\n collectingKey = true\n }\n }\n\n if (key) {\n props[key] = true\n }\n\n return props\n}\n\nfunction handleValue(propsString: string, startIndex: number): { newIndex: number; value: any } {\n const char = propsString[startIndex]\n\n if (char === '\"') {\n return handleQuotedString(propsString, startIndex)\n } else if (char === '{') {\n return handleObject(propsString, startIndex)\n } else if (char === '[') {\n return handleArray(propsString, startIndex)\n } else {\n return handleUnquotedString(propsString, startIndex)\n }\n}\n\nfunction handleArray(propsString: string, startIndex: number): { newIndex: number; value: any } {\n let bracketCount = 1\n let value = ''\n let i = startIndex + 1\n\n while (i < propsString.length && bracketCount > 0) {\n if (propsString[i] === '[') {\n bracketCount++\n } else if (propsString[i] === ']') {\n bracketCount--\n }\n if (bracketCount > 0) {\n value += propsString[i]\n }\n i++\n }\n\n return { newIndex: i, value: JSON.parse(`[${value}]`) }\n}\n\nfunction handleQuotedString(\n propsString: string,\n startIndex: number,\n): { newIndex: number; value: string } {\n let value = ''\n let i = startIndex + 1\n while (i < propsString.length && (propsString[i] !== '\"' || propsString[i - 1] === '\\\\')) {\n value += propsString[i]\n i++\n }\n return { newIndex: i, value }\n}\n\nfunction handleObject(propsString: string, startIndex: number): { newIndex: number; value: any } {\n let bracketCount = 1\n let value = ''\n let i = startIndex + 1\n\n while (i < propsString.length && bracketCount > 0) {\n if (propsString[i] === '{') {\n bracketCount++\n } else if (propsString[i] === '}') {\n bracketCount--\n }\n if (bracketCount > 0) {\n value += propsString[i]\n }\n i++\n }\n\n return { newIndex: i, value: parseObject(value) }\n}\n\nfunction parseObject(objString: string): Record<string, any> {\n if (objString[0] !== '{') {\n return JSON.parse(objString)\n }\n\n const result = JSON.parse(objString.replace(/(\\w+):/g, '\"$1\":'))\n\n return result\n}\n\nfunction handleUnquotedString(\n propsString: string,\n startIndex: number,\n): { newIndex: number; value: string } {\n let value = ''\n let i = startIndex\n while (i < propsString.length && propsString[i] !== ' ') {\n value += propsString[i]\n i++\n }\n return { newIndex: i - 1, value }\n}\n"],"mappings":"AAAA;;;;;;;GAQA,OAAO,SAASA,+BAA+B;EAC7CC;AAAW,CAGZ;EACC,MAAMC,KAAA,GAA6B,CAAC;EACpC,IAAIC,GAAA,GAAM;EACV,IAAIC,aAAA,GAAgB;EAEpB,KAAK,IAAIC,CAAA,GAAI,GAAGA,CAAA,GAAIJ,WAAA,CAAYK,MAAM,EAAED,CAAA,IAAK;IAC3C,MAAME,IAAA,GAAON,WAAW,CAACI,CAAA,CAAE;IAE3B,IAAID,aAAA,EAAe;MACjB,IAAIG,IAAA,KAAS,OAAOA,IAAA,KAAS,KAAK;QAChC,IAAIJ,GAAA,EAAK;UACP,IAAII,IAAA,KAAS,KAAK;YAChBL,KAAK,CAACC,GAAA,CAAI,GAAG;YACbA,GAAA,GAAM;UACR,OAAO;YACLC,aAAA,GAAgB;UAClB;QACF;MACF,OAAO;QACLD,GAAA,IAAOI,IAAA;MACT;IACF,OAAO;MACL,MAAMC,MAAA,GAASC,WAAA,CAAYR,WAAA,EAAaI,CAAA;MACxCH,KAAK,CAACC,GAAA,CAAI,GAAGK,MAAA,CAAOE,KAAK;MACzBL,CAAA,GAAIG,MAAA,CAAOG,QAAQ;MACnBR,GAAA,GAAM;MACNC,aAAA,GAAgB;IAClB;EACF;EAEA,IAAID,GAAA,EAAK;IACPD,KAAK,CAACC,GAAA,CAAI,GAAG;EACf;EAEA,OAAOD,KAAA;AACT;AAEA,SAASO,YAAYR,WAAmB,EAAEW,UAAkB;EAC1D,MAAML,IAAA,GAAON,WAAW,CAACW,UAAA,CAAW;EAEpC,IAAIL,IAAA,KAAS,KAAK;IAChB,OAAOM,kBAAA,CAAmBZ,WAAA,EAAaW,UAAA;EACzC,OAAO,IAAIL,IAAA,KAAS,KAAK;IACvB,OAAOO,YAAA,CAAab,WAAA,EAAaW,UAAA;EACnC,OAAO,IAAIL,IAAA,KAAS,KAAK;IACvB,OAAOQ,WAAA,CAAYd,WAAA,EAAaW,UAAA;EAClC,OAAO;IACL,OAAOI,oBAAA,CAAqBf,WAAA,EAAaW,UAAA;EAC3C;AACF;AAEA,SAASG,YAAYd,WAAmB,EAAEW,UAAkB;EAC1D,IAAIK,YAAA,GAAe;EACnB,IAAIP,KAAA,GAAQ;EACZ,IAAIL,CAAA,GAAIO,UAAA,GAAa;EAErB,OAAOP,CAAA,GAAIJ,WAAA,CAAYK,MAAM,IAAIW,YAAA,GAAe,GAAG;IACjD,IAAIhB,WAAW,CAACI,CAAA,CAAE,KAAK,KAAK;MAC1BY,YAAA;IACF,OAAO,IAAIhB,WAAW,CAACI,CAAA,CAAE,KAAK,KAAK;MACjCY,YAAA;IACF;IACA,IAAIA,YAAA,GAAe,GAAG;MACpBP,KAAA,IAAST,WAAW,CAACI,CAAA,CAAE;IACzB;IACAA,CAAA;EACF;EAEA,OAAO;IAAEM,QAAA,EAAUN,CAAA;IAAGK,KAAA,EAAOQ,IAAA,CAAKC,KAAK,CAAC,IAAIT,KAAA,GAAQ;EAAE;AACxD;AAEA,SAASG,mBACPZ,WAAmB,EACnBW,UAAkB;EAElB,IAAIF,KAAA,GAAQ;EACZ,IAAIL,CAAA,GAAIO,UAAA,GAAa;EACrB,OAAOP,CAAA,GAAIJ,WAAA,CAAYK,MAAM,KAAKL,WAAW,CAACI,CAAA,CAAE,KAAK,OAAOJ,WAAW,CAACI,CAAA,GAAI,EAAE,KAAK,IAAG,GAAI;IACxFK,KAAA,IAAST,WAAW,CAACI,CAAA,CAAE;IACvBA,CAAA;EACF;EACA,OAAO;IAAEM,QAAA,EAAUN,CAAA;IAAGK;EAAM;AAC9B;AAEA,SAASI,aAAab,WAAmB,EAAEW,UAAkB;EAC3D,IAAIK,YAAA,GAAe;EACnB,IAAIP,KAAA,GAAQ;EACZ,IAAIL,CAAA,GAAIO,UAAA,GAAa;EAErB,OAAOP,CAAA,GAAIJ,WAAA,CAAYK,MAAM,IAAIW,YAAA,GAAe,GAAG;IACjD,IAAIhB,WAAW,CAACI,CAAA,CAAE,KAAK,KAAK;MAC1BY,YAAA;IACF,OAAO,IAAIhB,WAAW,CAACI,CAAA,CAAE,KAAK,KAAK;MACjCY,YAAA;IACF;IACA,IAAIA,YAAA,GAAe,GAAG;MACpBP,KAAA,IAAST,WAAW,CAACI,CAAA,CAAE;IACzB;IACAA,CAAA;EACF;EAEA,OAAO;IAAEM,QAAA,EAAUN,CAAA;IAAGK,KAAA,EAAOU,WAAA,CAAYV,KAAA;EAAO;AAClD;AAEA,SAASU,YAAYC,SAAiB;EACpC,IAAIA,SAAS,CAAC,EAAE,KAAK,KAAK;IACxB,OAAOH,IAAA,CAAKC,KAAK,CAACE,SAAA;EACpB;EAEA,MAAMb,MAAA,GAASU,IAAA,CAAKC,KAAK,CAACE,SAAA,CAAUC,OAAO,CAAC,WAAW;EAEvD,OAAOd,MAAA;AACT;AAEA,SAASQ,qBACPf,WAAmB,EACnBW,UAAkB;EAElB,IAAIF,KAAA,GAAQ;EACZ,IAAIL,CAAA,GAAIO,UAAA;EACR,OAAOP,CAAA,GAAIJ,WAAA,CAAYK,MAAM,IAAIL,WAAW,CAACI,CAAA,CAAE,KAAK,KAAK;IACvDK,KAAA,IAAST,WAAW,CAACI,CAAA,CAAE;IACvBA,CAAA;EACF;EACA,OAAO;IAAEM,QAAA,EAAUN,CAAA,GAAI;IAAGK;EAAM;AAClC","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Converts an object of props to a JSX props string.
3
+ *
4
+ * This function is the inverse of `extractPropsFromJSXPropsString`.
5
+ */
6
+ export declare function propsToJSXString({ props }: {
7
+ props: Record<string, any>;
8
+ }): string;
9
+ /**
10
+ * Converts a frontmatter string to an object.
11
+ */
12
+ export declare function frontmatterToObject(frontmatter: string): Record<string, any>;
13
+ /**
14
+ * Converts an object to a frontmatter string.
15
+ */
16
+ export declare function objectToFrontmatter(obj: Record<string, any>): null | string;
17
+ /**
18
+ * Takes an MDX content string and extracts the frontmatter and content.
19
+ *
20
+ * The resulting object contains the mdx content without the frontmatter and the frontmatter itself.
21
+ */
22
+ export declare function extractFrontmatter(mdxContent: string): {
23
+ content: string;
24
+ frontmatter: string;
25
+ };
26
+ //# sourceMappingURL=jsx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../../src/utilities/jsx/jsx.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,MAAM,CA0BlF;AAeD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAoB5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,MAAM,CAgB3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM;;;EAmBpD"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Converts an object of props to a JSX props string.
3
+ *
4
+ * This function is the inverse of `extractPropsFromJSXPropsString`.
5
+ */export function propsToJSXString({
6
+ props
7
+ }) {
8
+ const propsArray = [];
9
+ for (const [key, value] of Object.entries(props)) {
10
+ if (typeof value === 'string') {
11
+ // Handle simple string props
12
+ propsArray.push(`${key}="${escapeQuotes(value)}"`);
13
+ } else if (typeof value === 'number') {
14
+ // Handle number and boolean props
15
+ propsArray.push(`${key}={${value}}`);
16
+ } else if (typeof value === 'boolean') {
17
+ if (value) {
18
+ propsArray.push(`${key}`);
19
+ }
20
+ } else if (value !== null && typeof value === 'object') {
21
+ if (Array.isArray(value)) {
22
+ // Handle array props
23
+ propsArray.push(`${key}={[${value.map(v => JSON.stringify(v, replacer)).join(', ')}]}`);
24
+ } else {
25
+ // Handle complex object props
26
+ propsArray.push(`${key}={${JSON.stringify(value, replacer)}}`);
27
+ }
28
+ }
29
+ }
30
+ return propsArray.join(' ');
31
+ }
32
+ // Helper function to escape quotes in string values
33
+ function escapeQuotes(str) {
34
+ return str.replace(/"/g, '&quot;');
35
+ }
36
+ // Custom replacer function for JSON.stringify to handle single quotes
37
+ function replacer(key, value) {
38
+ if (typeof value === 'string') {
39
+ return value.replace(/'/g, "\\'");
40
+ }
41
+ return value;
42
+ }
43
+ /**
44
+ * Converts a frontmatter string to an object.
45
+ */
46
+ export function frontmatterToObject(frontmatter) {
47
+ const lines = frontmatter.trim().split('\n');
48
+ const result = {};
49
+ let inFrontmatter = false;
50
+ for (const line of lines) {
51
+ if (line.trim() === '---') {
52
+ inFrontmatter = !inFrontmatter;
53
+ continue;
54
+ }
55
+ if (inFrontmatter) {
56
+ const [key, ...valueParts] = line.split(':');
57
+ const value = valueParts.join(':').trim();
58
+ result[key.trim()] = value;
59
+ }
60
+ }
61
+ return result;
62
+ }
63
+ /**
64
+ * Converts an object to a frontmatter string.
65
+ */
66
+ export function objectToFrontmatter(obj) {
67
+ if (!Object.entries(obj)?.length) {
68
+ return null;
69
+ }
70
+ let frontmatter = '---\n';
71
+ for (const [key, value] of Object.entries(obj)) {
72
+ if (Array.isArray(value)) {
73
+ frontmatter += `${key}: ${value.join(', ')}\n`;
74
+ } else {
75
+ frontmatter += `${key}: ${value}\n`;
76
+ }
77
+ }
78
+ frontmatter += '---\n';
79
+ return frontmatter;
80
+ }
81
+ /**
82
+ * Takes an MDX content string and extracts the frontmatter and content.
83
+ *
84
+ * The resulting object contains the mdx content without the frontmatter and the frontmatter itself.
85
+ */
86
+ export function extractFrontmatter(mdxContent) {
87
+ // eslint-disable-next-line regexp/no-super-linear-backtracking
88
+ const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
89
+ const match = mdxContent.match(frontmatterRegex);
90
+ if (match) {
91
+ const frontmatter = match[0];
92
+ const contentWithoutFrontmatter = mdxContent.slice(frontmatter.length).trim();
93
+ return {
94
+ content: contentWithoutFrontmatter,
95
+ frontmatter: frontmatter.trim()
96
+ };
97
+ } else {
98
+ // If no frontmatter is found, return the original content
99
+ return {
100
+ content: mdxContent.trim(),
101
+ frontmatter: ''
102
+ };
103
+ }
104
+ }
105
+ //# sourceMappingURL=jsx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx.js","names":["propsToJSXString","props","propsArray","key","value","Object","entries","push","escapeQuotes","Array","isArray","map","v","JSON","stringify","replacer","join","str","replace","frontmatterToObject","frontmatter","lines","trim","split","result","inFrontmatter","line","valueParts","objectToFrontmatter","obj","length","extractFrontmatter","mdxContent","frontmatterRegex","match","contentWithoutFrontmatter","slice","content"],"sources":["../../../src/utilities/jsx/jsx.ts"],"sourcesContent":["/**\n * Converts an object of props to a JSX props string.\n *\n * This function is the inverse of `extractPropsFromJSXPropsString`.\n */\nexport function propsToJSXString({ props }: { props: Record<string, any> }): string {\n const propsArray: string[] = []\n\n for (const [key, value] of Object.entries(props)) {\n if (typeof value === 'string') {\n // Handle simple string props\n propsArray.push(`${key}=\"${escapeQuotes(value)}\"`)\n } else if (typeof value === 'number') {\n // Handle number and boolean props\n propsArray.push(`${key}={${value}}`)\n } else if (typeof value === 'boolean') {\n if (value) {\n propsArray.push(`${key}`)\n }\n } else if (value !== null && typeof value === 'object') {\n if (Array.isArray(value)) {\n // Handle array props\n propsArray.push(`${key}={[${value.map((v) => JSON.stringify(v, replacer)).join(', ')}]}`)\n } else {\n // Handle complex object props\n propsArray.push(`${key}={${JSON.stringify(value, replacer)}}`)\n }\n }\n }\n\n return propsArray.join(' ')\n}\n\n// Helper function to escape quotes in string values\nfunction escapeQuotes(str: string): string {\n return str.replace(/\"/g, '&quot;')\n}\n\n// Custom replacer function for JSON.stringify to handle single quotes\nfunction replacer(key: string, value: any): any {\n if (typeof value === 'string') {\n return value.replace(/'/g, \"\\\\'\")\n }\n return value\n}\n\n/**\n * Converts a frontmatter string to an object.\n */\nexport function frontmatterToObject(frontmatter: string): Record<string, any> {\n const lines = frontmatter.trim().split('\\n')\n const result = {}\n let inFrontmatter = false\n\n for (const line of lines) {\n if (line.trim() === '---') {\n inFrontmatter = !inFrontmatter\n continue\n }\n\n if (inFrontmatter) {\n const [key, ...valueParts] = line.split(':')\n const value = valueParts.join(':').trim()\n\n result[key.trim()] = value\n }\n }\n\n return result\n}\n\n/**\n * Converts an object to a frontmatter string.\n */\nexport function objectToFrontmatter(obj: Record<string, any>): null | string {\n if (!Object.entries(obj)?.length) {\n return null\n }\n let frontmatter = '---\\n'\n\n for (const [key, value] of Object.entries(obj)) {\n if (Array.isArray(value)) {\n frontmatter += `${key}: ${value.join(', ')}\\n`\n } else {\n frontmatter += `${key}: ${value}\\n`\n }\n }\n\n frontmatter += '---\\n'\n return frontmatter\n}\n\n/**\n * Takes an MDX content string and extracts the frontmatter and content.\n *\n * The resulting object contains the mdx content without the frontmatter and the frontmatter itself.\n */\nexport function extractFrontmatter(mdxContent: string) {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n const frontmatterRegex = /^---\\s*\\n[\\s\\S]*?\\n---\\s*\\n/\n const match = mdxContent.match(frontmatterRegex)\n\n if (match) {\n const frontmatter = match[0]\n const contentWithoutFrontmatter = mdxContent.slice(frontmatter.length).trim()\n return {\n content: contentWithoutFrontmatter,\n frontmatter: frontmatter.trim(),\n }\n } else {\n // If no frontmatter is found, return the original content\n return {\n content: mdxContent.trim(),\n frontmatter: '',\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jsx.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx.spec.d.ts","sourceRoot":"","sources":["../../../src/utilities/jsx/jsx.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,142 @@
1
+ import { extractPropsFromJSXPropsString } from './extractPropsFromJSXPropsString.js';
2
+ import { propsToJSXString } from './jsx.js';
3
+ describe('jsx', () => {
4
+ describe('prop string to object', () => {
5
+ const INPUT_AND_OUTPUT = [{
6
+ input: 'key="value"',
7
+ output: {
8
+ key: 'value'
9
+ }
10
+ }, {
11
+ input: 'key={[1, 2, 3]}',
12
+ output: {
13
+ key: [1, 2, 3]
14
+ }
15
+ }, {
16
+ input: 'key={[1, 2, 3, [1, 2]]}',
17
+ output: {
18
+ key: [1, 2, 3, [1, 2]]
19
+ }
20
+ }, {
21
+ input: 'object={4}',
22
+ output: {
23
+ object: 4
24
+ }
25
+ }, {
26
+ input: 'object={{"test": 1}}',
27
+ output: {
28
+ object: {
29
+ test: 1
30
+ }
31
+ }
32
+ }, {
33
+ input: 'object={[1, 2, 3, [1, 2]]}',
34
+ output: {
35
+ object: [1, 2, 3, [1, 2]]
36
+ }
37
+ }, {
38
+ input: 'object={[1, 2]}',
39
+ output: {
40
+ object: [1, 2]
41
+ }
42
+ }, {
43
+ input: 'key="value" object={{key: "value"}}',
44
+ inputFromOutput: 'key="value" object={{"key": "value"}}',
45
+ output: {
46
+ key: 'value',
47
+ object: {
48
+ key: 'value'
49
+ }
50
+ }
51
+ }, {
52
+ input: 'global packageId="myId" uniqueId="some unique id!" update',
53
+ output: {
54
+ global: true,
55
+ packageId: 'myId',
56
+ uniqueId: 'some unique id!',
57
+ update: true
58
+ }
59
+ }, {
60
+ input: 'global key="value" object={{key: "value", something: "test", hello: 1}} packageId="myId" uniqueId="some unique id!" update',
61
+ inputFromOutput: 'global key="value" object={{"hello": 1, "key": "value", "something": "test"}} packageId="myId" uniqueId="some unique id!" update',
62
+ output: {
63
+ global: true,
64
+ key: 'value',
65
+ object: {
66
+ hello: 1,
67
+ key: 'value',
68
+ something: 'test'
69
+ },
70
+ packageId: 'myId',
71
+ uniqueId: 'some unique id!',
72
+ update: true
73
+ }
74
+ }, {
75
+ input: 'object={{hello: 1, key: "value", nested: { key: "value" }, something: "test", test: [1, 2, 3]}}',
76
+ inputFromOutput: 'object={{"hello": 1, "key": "value", "nested": {"key": "value"}, "something": "test", "test": [1, 2, 3]}}',
77
+ output: {
78
+ object: {
79
+ hello: 1,
80
+ key: 'value',
81
+ nested: {
82
+ key: 'value'
83
+ },
84
+ something: 'test',
85
+ test: [1, 2, 3]
86
+ }
87
+ }
88
+ }, {
89
+ input: 'global key="value" object={{hello: 1, key: "value", nested: { key: "value" }, something: "test", test: [1, 2, 3]}} packageId="myId" uniqueId="some unique id!" update',
90
+ inputFromOutput: 'global key="value" object={{"hello": 1, "key": "value", "nested": { "key": "value" }, "something": "test", "test": [1, 2, 3]}} packageId="myId" uniqueId="some unique id!" update',
91
+ output: {
92
+ global: true,
93
+ key: 'value',
94
+ object: {
95
+ hello: 1,
96
+ key: 'value',
97
+ nested: {
98
+ key: 'value'
99
+ },
100
+ something: 'test',
101
+ test: [1, 2, 3]
102
+ },
103
+ packageId: 'myId',
104
+ uniqueId: 'some unique id!',
105
+ update: true
106
+ }
107
+ }];
108
+ for (const {
109
+ input,
110
+ output
111
+ } of INPUT_AND_OUTPUT) {
112
+ it(`can correctly convert to object: "${input.replace(/\n/g, '\\n')}"`, () => {
113
+ const propsObject = extractPropsFromJSXPropsString({
114
+ propsString: input
115
+ });
116
+ console.log({
117
+ output,
118
+ propsObject
119
+ });
120
+ expect(propsObject).toStrictEqual(output);
121
+ });
122
+ }
123
+ for (const {
124
+ input: originalInput,
125
+ inputFromOutput,
126
+ output
127
+ } of INPUT_AND_OUTPUT) {
128
+ const input = inputFromOutput || originalInput;
129
+ it(`can correctly convert from object: "${input.replace(/\n/g, '\\n')}"`, () => {
130
+ const propsString = propsToJSXString({
131
+ props: output
132
+ });
133
+ console.log({
134
+ input,
135
+ propsString
136
+ });
137
+ expect(propsString.replaceAll(' ', '')).toBe(input.replaceAll(' ', ''));
138
+ });
139
+ }
140
+ });
141
+ });
142
+ //# sourceMappingURL=jsx.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx.spec.js","names":["extractPropsFromJSXPropsString","propsToJSXString","describe","INPUT_AND_OUTPUT","input","output","key","object","test","inputFromOutput","global","packageId","uniqueId","update","hello","something","nested","it","replace","propsObject","propsString","console","log","expect","toStrictEqual","originalInput","props","replaceAll","toBe"],"sources":["../../../src/utilities/jsx/jsx.spec.ts"],"sourcesContent":["import { extractPropsFromJSXPropsString } from './extractPropsFromJSXPropsString.js'\nimport { propsToJSXString } from './jsx.js'\n\ndescribe('jsx', () => {\n describe('prop string to object', () => {\n const INPUT_AND_OUTPUT = [\n {\n input: 'key=\"value\"',\n output: {\n key: 'value',\n },\n },\n {\n input: 'key={[1, 2, 3]}',\n output: {\n key: [1, 2, 3],\n },\n },\n {\n input: 'key={[1, 2, 3, [1, 2]]}',\n output: {\n key: [1, 2, 3, [1, 2]],\n },\n },\n {\n input: 'object={4}',\n output: {\n object: 4,\n },\n },\n {\n input: 'object={{\"test\": 1}}',\n output: {\n object: { test: 1 },\n },\n },\n {\n input: 'object={[1, 2, 3, [1, 2]]}',\n output: {\n object: [1, 2, 3, [1, 2]],\n },\n },\n {\n input: 'object={[1, 2]}',\n output: {\n object: [1, 2],\n },\n },\n {\n input: 'key=\"value\" object={{key: \"value\"}}',\n inputFromOutput: 'key=\"value\" object={{\"key\": \"value\"}}',\n output: {\n key: 'value',\n object: { key: 'value' },\n },\n },\n {\n input: 'global packageId=\"myId\" uniqueId=\"some unique id!\" update',\n output: {\n global: true,\n packageId: 'myId',\n uniqueId: 'some unique id!',\n update: true,\n },\n },\n {\n input:\n 'global key=\"value\" object={{key: \"value\", something: \"test\", hello: 1}} packageId=\"myId\" uniqueId=\"some unique id!\" update',\n inputFromOutput:\n 'global key=\"value\" object={{\"hello\": 1, \"key\": \"value\", \"something\": \"test\"}} packageId=\"myId\" uniqueId=\"some unique id!\" update',\n output: {\n global: true,\n key: 'value',\n object: { hello: 1, key: 'value', something: 'test' },\n packageId: 'myId',\n uniqueId: 'some unique id!',\n update: true,\n },\n },\n {\n input:\n 'object={{hello: 1, key: \"value\", nested: { key: \"value\" }, something: \"test\", test: [1, 2, 3]}}',\n inputFromOutput:\n 'object={{\"hello\": 1, \"key\": \"value\", \"nested\": {\"key\": \"value\"}, \"something\": \"test\", \"test\": [1, 2, 3]}}',\n output: {\n object: {\n hello: 1,\n key: 'value',\n nested: { key: 'value' },\n something: 'test',\n test: [1, 2, 3],\n },\n },\n },\n {\n input:\n 'global key=\"value\" object={{hello: 1, key: \"value\", nested: { key: \"value\" }, something: \"test\", test: [1, 2, 3]}} packageId=\"myId\" uniqueId=\"some unique id!\" update',\n inputFromOutput:\n 'global key=\"value\" object={{\"hello\": 1, \"key\": \"value\", \"nested\": { \"key\": \"value\" }, \"something\": \"test\", \"test\": [1, 2, 3]}} packageId=\"myId\" uniqueId=\"some unique id!\" update',\n output: {\n global: true,\n key: 'value',\n object: {\n hello: 1,\n key: 'value',\n nested: { key: 'value' },\n something: 'test',\n test: [1, 2, 3],\n },\n packageId: 'myId',\n uniqueId: 'some unique id!',\n update: true,\n },\n },\n ]\n\n for (const { input, output } of INPUT_AND_OUTPUT) {\n it(`can correctly convert to object: \"${input.replace(/\\n/g, '\\\\n')}\"`, () => {\n const propsObject = extractPropsFromJSXPropsString({ propsString: input })\n console.log({ output, propsObject })\n\n expect(propsObject).toStrictEqual(output)\n })\n }\n\n for (const { input: originalInput, inputFromOutput, output } of INPUT_AND_OUTPUT) {\n const input = inputFromOutput || originalInput\n it(`can correctly convert from object: \"${input.replace(/\\n/g, '\\\\n')}\"`, () => {\n const propsString = propsToJSXString({ props: output })\n console.log({ input, propsString })\n\n expect(propsString.replaceAll(' ', '')).toBe(input.replaceAll(' ', ''))\n })\n }\n })\n})\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { Transformer } from '@lexical/markdown';
2
+ import type { ElementNode } from 'lexical';
3
+ export declare function normalizeMarkdown(input: string, shouldMergeAdjacentLines?: boolean): string;
4
+ /**
5
+ * Renders markdown from a string. The selection is moved to the start after the operation.
6
+ *
7
+ * @param {boolean} [shouldPreserveNewLines] By setting this to true, new lines will be preserved between conversions
8
+ * @param {boolean} [shouldMergeAdjacentLines] By setting this to true, adjacent non empty lines will be merged according to commonmark spec: https://spec.commonmark.org/0.24/#example-177. Not applicable if shouldPreserveNewLines = true.
9
+ */
10
+ export declare function $convertFromMarkdownString(markdown: string, transformers?: Array<Transformer>, node?: ElementNode, shouldPreserveNewLines?: boolean, shouldMergeAdjacentLines?: boolean): void;
11
+ //# sourceMappingURL=lexicalMarkdownCopy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexicalMarkdownCopy.d.ts","sourceRoot":"","sources":["../../../src/utilities/jsx/lexicalMarkdownCopy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAqB1C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,wBAAwB,UAAQ,GAAG,MAAM,CA6DzF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,KAAK,CAAC,WAAW,CAAgB,EAC/C,IAAI,CAAC,EAAE,WAAW,EAClB,sBAAsB,UAAQ,EAC9B,wBAAwB,UAAO,GAC9B,IAAI,CAMN"}