@payloadcms/richtext-lexical 3.59.1 → 3.60.0-canary.1

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 (187) hide show
  1. package/dist/exports/client/Field-CJFETHA3.js +2 -0
  2. package/dist/exports/client/Field-CJFETHA3.js.map +7 -0
  3. package/dist/exports/client/RelationshipComponent-JXQOFHXF.js +2 -0
  4. package/dist/exports/client/RelationshipComponent-JXQOFHXF.js.map +7 -0
  5. package/dist/exports/client/bundled.css +1 -1
  6. package/dist/exports/client/chunk-O6XRT2H3.js +2 -0
  7. package/dist/exports/client/chunk-O6XRT2H3.js.map +7 -0
  8. package/dist/exports/client/{chunk-2Y72RT72.js → chunk-TLQLXR6Q.js} +2 -2
  9. package/dist/exports/client/chunk-XNERFY6G.js +2 -0
  10. package/dist/exports/client/chunk-XNERFY6G.js.map +7 -0
  11. package/dist/exports/client/component-WT25HAJA.js +2 -0
  12. package/dist/exports/client/component-WT25HAJA.js.map +7 -0
  13. package/dist/exports/client/componentInline-NGTRUSGB.js +2 -0
  14. package/dist/exports/client/index.d.ts +3 -0
  15. package/dist/exports/client/index.d.ts.map +1 -1
  16. package/dist/exports/client/index.js +35 -10
  17. package/dist/exports/client/index.js.map +4 -4
  18. package/dist/features/blocks/client/component/BlockContent.d.ts +52 -27
  19. package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
  20. package/dist/features/blocks/client/component/BlockContent.js +48 -51
  21. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  22. package/dist/features/blocks/client/component/components/BlockCollapsible.d.ts +2 -9
  23. package/dist/features/blocks/client/component/components/BlockCollapsible.d.ts.map +1 -1
  24. package/dist/features/blocks/client/component/components/BlockCollapsible.js +7 -25
  25. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -1
  26. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  27. package/dist/features/blocks/client/component/index.js +71 -56
  28. package/dist/features/blocks/client/component/index.js.map +1 -1
  29. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  30. package/dist/features/blocks/client/componentInline/index.js +13 -11
  31. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  32. package/dist/features/blocks/client/index.d.ts.map +1 -1
  33. package/dist/features/blocks/client/index.js +5 -0
  34. package/dist/features/blocks/client/index.js.map +1 -1
  35. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts +6 -0
  36. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts.map +1 -0
  37. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +24 -0
  38. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -0
  39. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts +6 -0
  40. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts.map +1 -0
  41. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +20 -0
  42. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -0
  43. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts +12 -0
  44. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts.map +1 -0
  45. package/dist/features/blocks/client/markdown/markdownTransformer.js +348 -0
  46. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -0
  47. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts +5 -0
  48. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts.map +1 -0
  49. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +114 -0
  50. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -0
  51. package/dist/features/blocks/premade/CodeBlock/Component/Code.d.ts +56 -0
  52. package/dist/features/blocks/premade/CodeBlock/Component/Code.d.ts.map +1 -0
  53. package/dist/features/blocks/premade/CodeBlock/Component/Code.js +96 -0
  54. package/dist/features/blocks/premade/CodeBlock/Component/Code.js.map +1 -0
  55. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.d.ts +4 -0
  56. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.d.ts.map +1 -0
  57. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js +17 -0
  58. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js.map +1 -0
  59. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.d.ts +4 -0
  60. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.d.ts.map +1 -0
  61. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js +26 -0
  62. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js.map +1 -0
  63. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.d.ts +5 -0
  64. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.d.ts.map +1 -0
  65. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js +87 -0
  66. package/dist/features/blocks/premade/CodeBlock/Component/defaultLanguages.js.map +1 -0
  67. package/dist/features/blocks/premade/CodeBlock/converter.d.ts +7 -0
  68. package/dist/features/blocks/premade/CodeBlock/converter.d.ts.map +1 -0
  69. package/dist/features/blocks/premade/CodeBlock/converter.js +46 -0
  70. package/dist/features/blocks/premade/CodeBlock/converter.js.map +1 -0
  71. package/dist/features/blocks/premade/CodeBlock/converterClient.d.ts +2 -0
  72. package/dist/features/blocks/premade/CodeBlock/converterClient.d.ts.map +1 -0
  73. package/dist/features/blocks/premade/CodeBlock/converterClient.js +4 -0
  74. package/dist/features/blocks/premade/CodeBlock/converterClient.js.map +1 -0
  75. package/dist/features/blocks/premade/CodeBlock/index.d.ts +7 -0
  76. package/dist/features/blocks/premade/CodeBlock/index.d.ts.map +1 -0
  77. package/dist/features/blocks/premade/CodeBlock/index.js +50 -0
  78. package/dist/features/blocks/premade/CodeBlock/index.js.map +1 -0
  79. package/dist/features/blocks/server/index.js +1 -1
  80. package/dist/features/blocks/server/index.js.map +1 -1
  81. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.d.ts.map +1 -0
  82. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js.map +1 -0
  83. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts +15 -0
  84. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts.map +1 -0
  85. package/dist/features/blocks/server/{markdownTransformer.js → markdown/markdownTransformer.js} +22 -53
  86. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -0
  87. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -1
  88. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +5 -3
  89. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  90. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  91. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +3 -1
  92. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  93. package/dist/features/relationship/client/components/RelationshipComponent.d.ts +1 -1
  94. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
  95. package/dist/features/relationship/client/components/RelationshipComponent.js +6 -15
  96. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  97. package/dist/features/relationship/client/drawer/index.d.ts +3 -2
  98. package/dist/features/relationship/client/drawer/index.d.ts.map +1 -1
  99. package/dist/features/relationship/client/drawer/index.js +72 -59
  100. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  101. package/dist/features/relationship/client/plugins/index.d.ts.map +1 -1
  102. package/dist/features/relationship/client/plugins/index.js +41 -49
  103. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  104. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts +13 -0
  105. package/dist/features/relationship/client/utils/useEnabledRelationships.d.ts.map +1 -0
  106. package/dist/features/relationship/client/utils/useEnabledRelationships.js +64 -0
  107. package/dist/features/relationship/client/utils/useEnabledRelationships.js.map +1 -0
  108. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  109. package/dist/features/toolbars/fixed/client/Toolbar/index.js +7 -1
  110. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  111. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -1
  112. package/dist/features/toolbars/inline/client/Toolbar/index.js +3 -1
  113. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  114. package/dist/features/upload/client/component/index.d.ts +1 -1
  115. package/dist/features/upload/client/component/index.d.ts.map +1 -1
  116. package/dist/features/upload/client/component/index.js +7 -16
  117. package/dist/features/upload/client/component/index.js.map +1 -1
  118. package/dist/features/upload/client/drawer/index.d.ts +3 -2
  119. package/dist/features/upload/client/drawer/index.d.ts.map +1 -1
  120. package/dist/features/upload/client/drawer/index.js +8 -9
  121. package/dist/features/upload/client/drawer/index.js.map +1 -1
  122. package/dist/features/upload/client/index.d.ts +2 -1
  123. package/dist/features/upload/client/index.d.ts.map +1 -1
  124. package/dist/features/upload/client/index.js.map +1 -1
  125. package/dist/features/upload/client/plugin/index.d.ts.map +1 -1
  126. package/dist/features/upload/client/plugin/index.js +72 -75
  127. package/dist/features/upload/client/plugin/index.js.map +1 -1
  128. package/dist/features/upload/server/index.d.ts +18 -3
  129. package/dist/features/upload/server/index.d.ts.map +1 -1
  130. package/dist/features/upload/server/index.js +6 -0
  131. package/dist/features/upload/server/index.js.map +1 -1
  132. package/dist/field/bundled.css +1 -1
  133. package/dist/field/rscEntry.d.ts.map +1 -1
  134. package/dist/field/rscEntry.js +2 -0
  135. package/dist/field/rscEntry.js.map +1 -1
  136. package/dist/index.d.ts +1 -0
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +1 -0
  139. package/dist/index.js.map +1 -1
  140. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  141. package/dist/lexical/LexicalEditor.js +20 -26
  142. package/dist/lexical/LexicalEditor.js.map +1 -1
  143. package/dist/lexical/ui/icons/CodeBlock/index.d.ts.map +1 -1
  144. package/dist/lexical/ui/icons/CodeBlock/index.js +10 -15
  145. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  146. package/dist/lexical/ui/icons/Collapse/index.d.ts +3 -0
  147. package/dist/lexical/ui/icons/Collapse/index.d.ts.map +1 -0
  148. package/dist/lexical/ui/icons/Collapse/index.js +18 -0
  149. package/dist/lexical/ui/icons/Collapse/index.js.map +1 -0
  150. package/dist/utilities/buildInitialState.d.ts +1 -0
  151. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  152. package/dist/utilities/buildInitialState.js +1 -0
  153. package/dist/utilities/buildInitialState.js.map +1 -1
  154. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  155. package/dist/utilities/fieldsDrawer/DrawerContent.js +7 -3
  156. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  157. package/dist/utilities/jsx/collectTopLevelJSXInLines.js +2 -2
  158. package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -1
  159. package/package.json +7 -7
  160. package/dist/exports/client/Field-EHRBYNHO.js +0 -2
  161. package/dist/exports/client/Field-EHRBYNHO.js.map +0 -7
  162. package/dist/exports/client/RelationshipComponent-APF3CN47.js +0 -2
  163. package/dist/exports/client/RelationshipComponent-APF3CN47.js.map +0 -7
  164. package/dist/exports/client/chunk-3BY5IZJD.js +0 -2
  165. package/dist/exports/client/chunk-3BY5IZJD.js.map +0 -7
  166. package/dist/exports/client/chunk-CYLMY5ZJ.js +0 -2
  167. package/dist/exports/client/chunk-CYLMY5ZJ.js.map +0 -7
  168. package/dist/exports/client/component-VDJI45F2.js +0 -2
  169. package/dist/exports/client/component-VDJI45F2.js.map +0 -7
  170. package/dist/exports/client/componentInline-7TPI7ZBC.js +0 -2
  171. package/dist/features/blocks/client/markdownTransformer.d.ts +0 -17
  172. package/dist/features/blocks/client/markdownTransformer.d.ts.map +0 -1
  173. package/dist/features/blocks/client/markdownTransformer.js +0 -144
  174. package/dist/features/blocks/client/markdownTransformer.js.map +0 -1
  175. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.d.ts.map +0 -1
  176. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js.map +0 -1
  177. package/dist/features/blocks/server/markdownTransformer.d.ts +0 -22
  178. package/dist/features/blocks/server/markdownTransformer.d.ts.map +0 -1
  179. package/dist/features/blocks/server/markdownTransformer.js.map +0 -1
  180. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.d.ts +0 -7
  181. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.d.ts.map +0 -1
  182. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js +0 -96
  183. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js.map +0 -1
  184. /package/dist/exports/client/{chunk-2Y72RT72.js.map → chunk-TLQLXR6Q.js.map} +0 -0
  185. /package/dist/exports/client/{componentInline-7TPI7ZBC.js.map → componentInline-NGTRUSGB.js.map} +0 -0
  186. /package/dist/features/blocks/server/{linesFromMatchToContentAndPropsString.d.ts → markdown/linesFromMatchToContentAndPropsString.d.ts} +0 -0
  187. /package/dist/features/blocks/server/{linesFromMatchToContentAndPropsString.js → markdown/linesFromMatchToContentAndPropsString.js} +0 -0
@@ -0,0 +1,96 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { CodeField, useFormFields } from '@payloadcms/ui';
5
+ import React, { useMemo } from 'react';
6
+ import { defaultLanguages } from './defaultLanguages.js';
7
+ export const CodeComponent = ({
8
+ autoComplete,
9
+ field,
10
+ forceRender,
11
+ languages = defaultLanguages,
12
+ path,
13
+ permissions,
14
+ readOnly,
15
+ renderedBlocks,
16
+ schemaPath,
17
+ typescript,
18
+ validate
19
+ }) => {
20
+ const languageField = useFormFields(([fields]) => fields['language']);
21
+ const language = languageField?.value || languageField?.initialValue || 'typescript';
22
+ const label = languages[language];
23
+ const props = useMemo(() => ({
24
+ ...field,
25
+ type: 'code',
26
+ admin: {
27
+ ...field.admin,
28
+ editorOptions: {},
29
+ editorProps: {
30
+ // If typescript is set, @monaco-editor/react needs to set the URI to a .ts or .tsx file when it calls createModel().
31
+ // This is done through the `defaultPath` prop.
32
+ defaultPath: language === 'ts' ? 'file.tsx' : undefined
33
+ },
34
+ language
35
+ }
36
+ }), [field, language]);
37
+ const key = `${field.name}-${language}-${label}`;
38
+ return props && /*#__PURE__*/_jsx(CodeField, {
39
+ autoComplete: autoComplete,
40
+ field: props,
41
+ forceRender: forceRender,
42
+ onMount: (_editor, monaco) => {
43
+ monaco.editor.defineTheme('vs-dark', {
44
+ base: 'vs-dark',
45
+ colors: {
46
+ 'editor.background': '#222222'
47
+ },
48
+ inherit: true,
49
+ rules: []
50
+ });
51
+ monaco.editor.defineTheme('vs', {
52
+ base: 'vs',
53
+ colors: {
54
+ 'editor.background': '#f5f5f5'
55
+ },
56
+ inherit: true,
57
+ rules: []
58
+ });
59
+ monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
60
+ allowNonTsExtensions: true,
61
+ // Set module resolution to NodeJs to enable autocompletion
62
+ allowJs: true,
63
+ allowSyntheticDefaultImports: true,
64
+ esModuleInterop: true,
65
+ jsx: monaco.languages.typescript.JsxEmit.React,
66
+ moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,
67
+ noEmit: true,
68
+ paths: typescript?.paths,
69
+ reactNamespace: 'React',
70
+ target: monaco.languages.typescript.ScriptTarget[typescript?.target ?? 'ESNext'],
71
+ typeRoots: typescript?.typeRoots ?? ['node_modules/@types']
72
+ });
73
+ monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
74
+ noSemanticValidation: typescript?.enableSemanticValidation ? false : true,
75
+ noSyntaxValidation: false
76
+ });
77
+ const run = async () => {
78
+ if (typescript?.fetchTypes && Array.isArray(typescript.fetchTypes) && typescript.fetchTypes.length > 0) {
79
+ await Promise.all(typescript.fetchTypes.map(async type => {
80
+ const types = await fetch(type.url);
81
+ const typesText = await types.text();
82
+ monaco.languages.typescript.typescriptDefaults.addExtraLib(typesText, type.filePath);
83
+ }));
84
+ }
85
+ };
86
+ void run();
87
+ },
88
+ path: path,
89
+ permissions: permissions,
90
+ readOnly: readOnly,
91
+ renderedBlocks: renderedBlocks,
92
+ schemaPath: schemaPath,
93
+ validate: validate
94
+ }, key);
95
+ };
96
+ //# sourceMappingURL=Code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Code.js","names":["CodeField","useFormFields","React","useMemo","defaultLanguages","CodeComponent","autoComplete","field","forceRender","languages","path","permissions","readOnly","renderedBlocks","schemaPath","typescript","validate","languageField","fields","language","value","initialValue","label","props","type","admin","editorOptions","editorProps","defaultPath","undefined","key","name","_jsx","onMount","_editor","monaco","editor","defineTheme","base","colors","inherit","rules","typescriptDefaults","setCompilerOptions","allowNonTsExtensions","allowJs","allowSyntheticDefaultImports","esModuleInterop","jsx","JsxEmit","moduleResolution","ModuleResolutionKind","NodeJs","noEmit","paths","reactNamespace","target","ScriptTarget","typeRoots","setDiagnosticsOptions","noSemanticValidation","enableSemanticValidation","noSyntaxValidation","run","fetchTypes","Array","isArray","length","Promise","all","map","types","fetch","url","typesText","text","addExtraLib","filePath"],"sources":["../../../../../../src/features/blocks/premade/CodeBlock/Component/Code.tsx"],"sourcesContent":["'use client'\n\nimport type { CodeFieldClient, CodeFieldClientProps } from 'payload'\n\nimport { CodeField, useFormFields } from '@payloadcms/ui'\nimport React, { useMemo } from 'react'\n\nimport { defaultLanguages } from './defaultLanguages.js'\n\nexport type AdditionalCodeComponentProps = {\n /**\n * @default first key of the `languages` prop\n */\n defaultLanguage?: string\n /**\n * @default all languages supported by Monaco Editor\n */\n languages?: Record<string, string>\n /**\n * Override the name of the block.\n *\n * @default 'Code'\n */\n slug?: string\n /**\n * Configure typescript settings for the editor\n */\n typescript?: {\n /**\n * By default, the editor will not perform semantic validation. This means that\n * while syntax errors will be highlighted, other issues like missing imports or incorrect\n * types will not be.\n *\n * @default false\n */\n enableSemanticValidation?: boolean\n /**\n * Additional types to fetch and include in the editor for autocompletion.\n *\n * For example, to include types for payload, you would set this to\n *\n * [{ url: 'https://unpkg.com/payload@latest/dist/index.d.ts', filePath: 'file:///node_modules/payload/index.d.ts' }]\n */\n fetchTypes?: Array<{\n filePath: string\n url: string\n }>\n /**\n * @default undefined\n */\n paths?: Record<string, string[]>\n /**\n * @default \"ESNext\"\n */\n target?: string\n /**\n * @default ['node_modules/@types']\n */\n typeRoots?: string[]\n }\n}\n\nexport const CodeComponent: React.FC<AdditionalCodeComponentProps & CodeFieldClientProps> = ({\n autoComplete,\n field,\n forceRender,\n languages = defaultLanguages,\n path,\n permissions,\n readOnly,\n renderedBlocks,\n schemaPath,\n typescript,\n validate,\n}) => {\n const languageField = useFormFields(([fields]) => fields['language'])\n\n const language: string =\n (languageField?.value as string) || (languageField?.initialValue as string) || 'typescript'\n\n const label = languages[language]\n\n const props: CodeFieldClient = useMemo<CodeFieldClient>(\n () => ({\n ...field,\n type: 'code',\n admin: {\n ...field.admin,\n editorOptions: {},\n editorProps: {\n // If typescript is set, @monaco-editor/react needs to set the URI to a .ts or .tsx file when it calls createModel().\n // This is done through the `defaultPath` prop.\n defaultPath: language === 'ts' ? 'file.tsx' : undefined,\n },\n language,\n },\n }),\n [field, language],\n )\n\n const key = `${field.name}-${language}-${label}`\n\n return (\n props && (\n <CodeField\n autoComplete={autoComplete}\n field={props}\n forceRender={forceRender}\n key={key}\n onMount={(_editor, monaco) => {\n monaco.editor.defineTheme('vs-dark', {\n base: 'vs-dark',\n colors: {\n 'editor.background': '#222222',\n },\n inherit: true,\n rules: [],\n })\n\n monaco.editor.defineTheme('vs', {\n base: 'vs',\n colors: {\n 'editor.background': '#f5f5f5',\n },\n inherit: true,\n rules: [],\n })\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n allowNonTsExtensions: true,\n // Set module resolution to NodeJs to enable autocompletion\n allowJs: true,\n allowSyntheticDefaultImports: true,\n esModuleInterop: true,\n jsx: monaco.languages.typescript.JsxEmit.React,\n moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n noEmit: true,\n paths: typescript?.paths,\n reactNamespace: 'React',\n target: monaco.languages.typescript.ScriptTarget[\n typescript?.target ?? ('ESNext' as any)\n ] as any,\n typeRoots: typescript?.typeRoots ?? ['node_modules/@types'],\n })\n\n monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: typescript?.enableSemanticValidation ? false : true,\n noSyntaxValidation: false,\n })\n\n const run = async () => {\n if (\n typescript?.fetchTypes &&\n Array.isArray(typescript.fetchTypes) &&\n typescript.fetchTypes.length > 0\n ) {\n await Promise.all(\n typescript.fetchTypes.map(async (type) => {\n const types = await fetch(type.url)\n const typesText = await types.text()\n monaco.languages.typescript.typescriptDefaults.addExtraLib(\n typesText,\n type.filePath,\n )\n }),\n )\n }\n }\n void run()\n }}\n path={path}\n permissions={permissions}\n readOnly={readOnly}\n renderedBlocks={renderedBlocks}\n schemaPath={schemaPath}\n validate={validate}\n />\n )\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ export declare const Collapse: React.FC;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/blocks/premade/CodeBlock/Component/Collapse/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAO5B,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ const baseClass = 'code-block-collapse-button';
4
+ import { useCollapsible } from '@payloadcms/ui';
5
+ import { CollapseIcon } from '../../../../../../lexical/ui/icons/Collapse/index.js';
6
+ export const Collapse = () => {
7
+ const {
8
+ toggle
9
+ } = useCollapsible();
10
+ return /*#__PURE__*/_jsx("button", {
11
+ className: baseClass,
12
+ onClick: toggle,
13
+ type: "button",
14
+ children: /*#__PURE__*/_jsx(CollapseIcon, {})
15
+ });
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","baseClass","useCollapsible","CollapseIcon","Collapse","toggle","_jsx","className","onClick","type"],"sources":["../../../../../../../src/features/blocks/premade/CodeBlock/Component/Collapse/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'code-block-collapse-button'\nimport { useCollapsible } from '@payloadcms/ui'\n\nimport { CollapseIcon } from '../../../../../../lexical/ui/icons/Collapse/index.js'\n\nexport const Collapse: React.FC = () => {\n const { toggle } = useCollapsible()\n return (\n <button className={baseClass} onClick={toggle} type=\"button\">\n <CollapseIcon />\n </button>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAIlB,MAAMC,SAAA,GAAY;AAClB,SAASC,cAAc,QAAQ;AAE/B,SAASC,YAAY,QAAQ;AAE7B,OAAO,MAAMC,QAAA,GAAqBA,CAAA;EAChC,MAAM;IAAEC;EAAM,CAAE,GAAGH,cAAA;EACnB,oBACEI,IAAA,CAAC;IAAOC,SAAA,EAAWN,SAAA;IAAWO,OAAA,EAASH,MAAA;IAAQI,IAAA,EAAK;cAClD,aAAAH,IAAA,CAACH,YAAA;;AAGP","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ export declare const FloatingCollapse: React.FC;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAcpC,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ const baseClass = 'code-block-floating-collapse-button';
4
+ import { useCollapsible, useTranslation } from '@payloadcms/ui';
5
+ import { CollapseIcon } from '../../../../../../lexical/ui/icons/Collapse/index.js';
6
+ export const FloatingCollapse = () => {
7
+ const {
8
+ isCollapsed,
9
+ toggle
10
+ } = useCollapsible();
11
+ const {
12
+ t
13
+ } = useTranslation();
14
+ if (!isCollapsed) {
15
+ return null;
16
+ }
17
+ return /*#__PURE__*/_jsxs("button", {
18
+ className: baseClass,
19
+ onClick: toggle,
20
+ type: "button",
21
+ children: [/*#__PURE__*/_jsx("span", {
22
+ children: t('general:collapse')
23
+ }), /*#__PURE__*/_jsx(CollapseIcon, {})]
24
+ });
25
+ };
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","baseClass","useCollapsible","useTranslation","CollapseIcon","FloatingCollapse","isCollapsed","toggle","t","_jsxs","className","onClick","type","_jsx"],"sources":["../../../../../../../src/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'code-block-floating-collapse-button'\nimport { useCollapsible, useTranslation } from '@payloadcms/ui'\n\nimport { CollapseIcon } from '../../../../../../lexical/ui/icons/Collapse/index.js'\n\nexport const FloatingCollapse: React.FC = () => {\n const { isCollapsed, toggle } = useCollapsible()\n const { t } = useTranslation()\n\n if (!isCollapsed) {\n return null\n }\n\n return (\n <button className={baseClass} onClick={toggle} type=\"button\">\n <span>{t('general:collapse')}</span>\n <CollapseIcon />\n </button>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAIlB,MAAMC,SAAA,GAAY;AAClB,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAE/C,SAASC,YAAY,QAAQ;AAE7B,OAAO,MAAMC,gBAAA,GAA6BA,CAAA;EACxC,MAAM;IAAEC,WAAW;IAAEC;EAAM,CAAE,GAAGL,cAAA;EAChC,MAAM;IAAEM;EAAC,CAAE,GAAGL,cAAA;EAEd,IAAI,CAACG,WAAA,EAAa;IAChB,OAAO;EACT;EAEA,oBACEG,KAAA,CAAC;IAAOC,SAAA,EAAWT,SAAA;IAAWU,OAAA,EAASJ,MAAA;IAAQK,IAAA,EAAK;4BAClDC,IAAA,CAAC;gBAAML,CAAA,CAAE;qBACTK,IAAA,CAACT,YAAA;;AAGP","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Source: https://github.com/microsoft/monaco-editor/tree/main/src/basic-languages
3
+ */
4
+ export declare const defaultLanguages: Record<string, string>;
5
+ //# sourceMappingURL=defaultLanguages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultLanguages.d.ts","sourceRoot":"","sources":["../../../../../../src/features/blocks/premade/CodeBlock/Component/defaultLanguages.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmFnD,CAAA"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Source: https://github.com/microsoft/monaco-editor/tree/main/src/basic-languages
3
+ */export const defaultLanguages = {
4
+ abap: 'ABAP',
5
+ apex: 'Apex',
6
+ azcli: 'Azure CLI',
7
+ bat: 'Batch',
8
+ bicep: 'Bicep',
9
+ cameligo: 'CameLIGO',
10
+ clojure: 'Clojure',
11
+ coffee: 'CoffeeScript',
12
+ cpp: 'C++',
13
+ csharp: 'C#',
14
+ csp: 'CSP',
15
+ css: 'CSS',
16
+ cypher: 'Cypher',
17
+ dart: 'Dart',
18
+ dockerfile: 'Dockerfile',
19
+ ecl: 'ECL',
20
+ elixir: 'Elixir',
21
+ flow9: 'Flow9',
22
+ freemarker2: 'FreeMarker 2',
23
+ fsharp: 'F#',
24
+ go: 'Go',
25
+ graphql: 'GraphQL',
26
+ handlebars: 'Handlebars',
27
+ hcl: 'HCL',
28
+ html: 'HTML',
29
+ ini: 'INI',
30
+ java: 'Java',
31
+ javascript: 'JavaScript',
32
+ julia: 'Julia',
33
+ kotlin: 'Kotlin',
34
+ less: 'Less',
35
+ lexon: 'Lexon',
36
+ liquid: 'Liquid',
37
+ lua: 'Lua',
38
+ m3: 'M3',
39
+ markdown: 'Markdown',
40
+ mdx: 'MDX',
41
+ mips: 'MIPS',
42
+ msdax: 'DAX',
43
+ mysql: 'MySQL',
44
+ 'objective-c': 'Objective-C',
45
+ pascal: 'Pascal',
46
+ pascaligo: 'PascaLIGO',
47
+ perl: 'Perl',
48
+ pgsql: 'PostgreSQL',
49
+ php: 'PHP',
50
+ pla: 'PLA',
51
+ plaintext: 'Plain Text',
52
+ postiats: 'Postiats',
53
+ powerquery: 'Power Query',
54
+ powershell: 'PowerShell',
55
+ protobuf: 'Protobuf',
56
+ pug: 'Pug',
57
+ python: 'Python',
58
+ qsharp: 'Q#',
59
+ r: 'R',
60
+ razor: 'Razor',
61
+ redis: 'Redis',
62
+ redshift: 'Amazon Redshift',
63
+ restructuredtext: 'reStructuredText',
64
+ ruby: 'Ruby',
65
+ rust: 'Rust',
66
+ sb: 'Small Basic',
67
+ scala: 'Scala',
68
+ scheme: 'Scheme',
69
+ scss: 'SCSS',
70
+ shell: 'Shell',
71
+ solidity: 'Solidity',
72
+ sophia: 'Sophia',
73
+ sparql: 'SPARQL',
74
+ sql: 'SQL',
75
+ st: 'Structured Text',
76
+ swift: 'Swift',
77
+ systemverilog: 'SystemVerilog',
78
+ tcl: 'Tcl',
79
+ twig: 'Twig',
80
+ typescript: 'TypeScript',
81
+ typespec: 'TypeSpec',
82
+ vb: 'Visual Basic',
83
+ wgsl: 'WGSL',
84
+ xml: 'XML',
85
+ yaml: 'YAML'
86
+ };
87
+ //# sourceMappingURL=defaultLanguages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultLanguages.js","names":["defaultLanguages","abap","apex","azcli","bat","bicep","cameligo","clojure","coffee","cpp","csharp","csp","css","cypher","dart","dockerfile","ecl","elixir","flow9","freemarker2","fsharp","go","graphql","handlebars","hcl","html","ini","java","javascript","julia","kotlin","less","lexon","liquid","lua","m3","markdown","mdx","mips","msdax","mysql","pascal","pascaligo","perl","pgsql","php","pla","plaintext","postiats","powerquery","powershell","protobuf","pug","python","qsharp","r","razor","redis","redshift","restructuredtext","ruby","rust","sb","scala","scheme","scss","shell","solidity","sophia","sparql","sql","st","swift","systemverilog","tcl","twig","typescript","typespec","vb","wgsl","xml","yaml"],"sources":["../../../../../../src/features/blocks/premade/CodeBlock/Component/defaultLanguages.ts"],"sourcesContent":["/**\n * Source: https://github.com/microsoft/monaco-editor/tree/main/src/basic-languages\n */\nexport const defaultLanguages: Record<string, string> = {\n abap: 'ABAP',\n apex: 'Apex',\n azcli: 'Azure CLI',\n bat: 'Batch',\n bicep: 'Bicep',\n cameligo: 'CameLIGO',\n clojure: 'Clojure',\n coffee: 'CoffeeScript',\n cpp: 'C++',\n csharp: 'C#',\n csp: 'CSP',\n css: 'CSS',\n cypher: 'Cypher',\n dart: 'Dart',\n dockerfile: 'Dockerfile',\n ecl: 'ECL',\n elixir: 'Elixir',\n flow9: 'Flow9',\n freemarker2: 'FreeMarker 2',\n fsharp: 'F#',\n go: 'Go',\n graphql: 'GraphQL',\n handlebars: 'Handlebars',\n hcl: 'HCL',\n html: 'HTML',\n ini: 'INI',\n java: 'Java',\n javascript: 'JavaScript',\n julia: 'Julia',\n kotlin: 'Kotlin',\n less: 'Less',\n lexon: 'Lexon',\n liquid: 'Liquid',\n lua: 'Lua',\n m3: 'M3',\n markdown: 'Markdown',\n mdx: 'MDX',\n mips: 'MIPS',\n msdax: 'DAX',\n mysql: 'MySQL',\n 'objective-c': 'Objective-C',\n pascal: 'Pascal',\n pascaligo: 'PascaLIGO',\n perl: 'Perl',\n pgsql: 'PostgreSQL',\n php: 'PHP',\n pla: 'PLA',\n plaintext: 'Plain Text',\n postiats: 'Postiats',\n powerquery: 'Power Query',\n powershell: 'PowerShell',\n protobuf: 'Protobuf',\n pug: 'Pug',\n python: 'Python',\n qsharp: 'Q#',\n r: 'R',\n razor: 'Razor',\n redis: 'Redis',\n redshift: 'Amazon Redshift',\n restructuredtext: 'reStructuredText',\n ruby: 'Ruby',\n rust: 'Rust',\n sb: 'Small Basic',\n scala: 'Scala',\n scheme: 'Scheme',\n scss: 'SCSS',\n shell: 'Shell',\n solidity: 'Solidity',\n sophia: 'Sophia',\n sparql: 'SPARQL',\n sql: 'SQL',\n st: 'Structured Text',\n swift: 'Swift',\n systemverilog: 'SystemVerilog',\n tcl: 'Tcl',\n twig: 'Twig',\n typescript: 'TypeScript',\n typespec: 'TypeSpec',\n vb: 'Visual Basic',\n wgsl: 'WGSL',\n xml: 'XML',\n yaml: 'YAML',\n}\n"],"mappings":"AAAA;;GAGA,OAAO,MAAMA,gBAAA,GAA2C;EACtDC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,KAAA,EAAO;EACPC,GAAA,EAAK;EACLC,KAAA,EAAO;EACPC,QAAA,EAAU;EACVC,OAAA,EAAS;EACTC,MAAA,EAAQ;EACRC,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,GAAA,EAAK;EACLC,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,IAAA,EAAM;EACNC,UAAA,EAAY;EACZC,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,WAAA,EAAa;EACbC,MAAA,EAAQ;EACRC,EAAA,EAAI;EACJC,OAAA,EAAS;EACTC,UAAA,EAAY;EACZC,GAAA,EAAK;EACLC,IAAA,EAAM;EACNC,GAAA,EAAK;EACLC,IAAA,EAAM;EACNC,UAAA,EAAY;EACZC,KAAA,EAAO;EACPC,MAAA,EAAQ;EACRC,IAAA,EAAM;EACNC,KAAA,EAAO;EACPC,MAAA,EAAQ;EACRC,GAAA,EAAK;EACLC,EAAA,EAAI;EACJC,QAAA,EAAU;EACVC,GAAA,EAAK;EACLC,IAAA,EAAM;EACNC,KAAA,EAAO;EACPC,KAAA,EAAO;EACP,eAAe;EACfC,MAAA,EAAQ;EACRC,SAAA,EAAW;EACXC,IAAA,EAAM;EACNC,KAAA,EAAO;EACPC,GAAA,EAAK;EACLC,GAAA,EAAK;EACLC,SAAA,EAAW;EACXC,QAAA,EAAU;EACVC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,QAAA,EAAU;EACVC,GAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,MAAA,EAAQ;EACRC,CAAA,EAAG;EACHC,KAAA,EAAO;EACPC,KAAA,EAAO;EACPC,QAAA,EAAU;EACVC,gBAAA,EAAkB;EAClBC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,EAAA,EAAI;EACJC,KAAA,EAAO;EACPC,MAAA,EAAQ;EACRC,IAAA,EAAM;EACNC,KAAA,EAAO;EACPC,QAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,MAAA,EAAQ;EACRC,GAAA,EAAK;EACLC,EAAA,EAAI;EACJC,KAAA,EAAO;EACPC,aAAA,EAAe;EACfC,GAAA,EAAK;EACLC,IAAA,EAAM;EACNC,UAAA,EAAY;EACZC,QAAA,EAAU;EACVC,EAAA,EAAI;EACJC,IAAA,EAAM;EACNC,GAAA,EAAK;EACLC,IAAA,EAAM;AACR","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { BlockJSX } from 'payload';
2
+ /**
3
+ * @internal
4
+ * @experimental - API may change in minor releases
5
+ */
6
+ export declare const codeConverter: BlockJSX;
7
+ //# sourceMappingURL=converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/premade/CodeBlock/converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,QAyC3B,CAAA"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @internal
3
+ * @experimental - API may change in minor releases
4
+ */export const codeConverter = {
5
+ customEndRegex: {
6
+ optional: true,
7
+ regExp: /[ \t]*```$/
8
+ },
9
+ customStartRegex: /^[ \t]*```(\w+)?/,
10
+ doNotTrimChildren: true,
11
+ export: ({
12
+ fields
13
+ }) => {
14
+ const isSingleLine = !fields.code.includes('\n') && !fields.language?.length;
15
+ if (isSingleLine) {
16
+ return '```' + fields.code + '```';
17
+ }
18
+ return '```' + (fields.language || '') + (fields.code ? '\n' + fields.code : '') + '\n' + '```';
19
+ },
20
+ import: ({
21
+ children,
22
+ closeMatch,
23
+ openMatch
24
+ }) => {
25
+ const language = openMatch?.[1];
26
+ // Removed first and last \n from children if present
27
+ if (children.startsWith('\n')) {
28
+ children = children.slice(1);
29
+ }
30
+ if (children.endsWith('\n')) {
31
+ children = children.slice(0, -1);
32
+ }
33
+ const isSingleLineAndComplete = !!closeMatch && !children.includes('\n') && openMatch?.input?.trim() !== '```' + language;
34
+ if (isSingleLineAndComplete) {
35
+ return {
36
+ code: language + (children?.length ? children : ''),
37
+ language: ''
38
+ };
39
+ }
40
+ return {
41
+ code: children,
42
+ language
43
+ };
44
+ }
45
+ };
46
+ //# sourceMappingURL=converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converter.js","names":["codeConverter","customEndRegex","optional","regExp","customStartRegex","doNotTrimChildren","export","fields","isSingleLine","code","includes","language","length","import","children","closeMatch","openMatch","startsWith","slice","endsWith","isSingleLineAndComplete","input","trim"],"sources":["../../../../../src/features/blocks/premade/CodeBlock/converter.ts"],"sourcesContent":["import type { BlockJSX } from 'payload'\n\n/**\n * @internal\n * @experimental - API may change in minor releases\n */\nexport const codeConverter: BlockJSX = {\n customEndRegex: {\n optional: true,\n regExp: /[ \\t]*```$/,\n },\n customStartRegex: /^[ \\t]*```(\\w+)?/,\n doNotTrimChildren: true,\n export: ({ fields }) => {\n const isSingleLine = !fields.code.includes('\\n') && !fields.language?.length\n if (isSingleLine) {\n return '```' + fields.code + '```'\n }\n\n return '```' + (fields.language || '') + (fields.code ? '\\n' + fields.code : '') + '\\n' + '```'\n },\n import: ({ children, closeMatch, openMatch }) => {\n const language = openMatch?.[1]\n\n // Removed first and last \\n from children if present\n if (children.startsWith('\\n')) {\n children = children.slice(1)\n }\n if (children.endsWith('\\n')) {\n children = children.slice(0, -1)\n }\n\n const isSingleLineAndComplete =\n !!closeMatch && !children.includes('\\n') && openMatch?.input?.trim() !== '```' + language\n\n if (isSingleLineAndComplete) {\n return {\n code: language + (children?.length ? children : ''), // No need to add space to children as they are not trimmed\n language: '',\n }\n }\n\n return {\n code: children,\n language,\n }\n },\n}\n"],"mappings":"AAEA;;;GAIA,OAAO,MAAMA,aAAA,GAA0B;EACrCC,cAAA,EAAgB;IACdC,QAAA,EAAU;IACVC,MAAA,EAAQ;EACV;EACAC,gBAAA,EAAkB;EAClBC,iBAAA,EAAmB;EACnBC,MAAA,EAAQA,CAAC;IAAEC;EAAM,CAAE;IACjB,MAAMC,YAAA,GAAe,CAACD,MAAA,CAAOE,IAAI,CAACC,QAAQ,CAAC,SAAS,CAACH,MAAA,CAAOI,QAAQ,EAAEC,MAAA;IACtE,IAAIJ,YAAA,EAAc;MAChB,OAAO,QAAQD,MAAA,CAAOE,IAAI,GAAG;IAC/B;IAEA,OAAO,SAASF,MAAA,CAAOI,QAAQ,IAAI,EAAC,KAAMJ,MAAA,CAAOE,IAAI,GAAG,OAAOF,MAAA,CAAOE,IAAI,GAAG,EAAC,IAAK,OAAO;EAC5F;EACAI,MAAA,EAAQA,CAAC;IAAEC,QAAQ;IAAEC,UAAU;IAAEC;EAAS,CAAE;IAC1C,MAAML,QAAA,GAAWK,SAAA,GAAY,EAAE;IAE/B;IACA,IAAIF,QAAA,CAASG,UAAU,CAAC,OAAO;MAC7BH,QAAA,GAAWA,QAAA,CAASI,KAAK,CAAC;IAC5B;IACA,IAAIJ,QAAA,CAASK,QAAQ,CAAC,OAAO;MAC3BL,QAAA,GAAWA,QAAA,CAASI,KAAK,CAAC,GAAG,CAAC;IAChC;IAEA,MAAME,uBAAA,GACJ,CAAC,CAACL,UAAA,IAAc,CAACD,QAAA,CAASJ,QAAQ,CAAC,SAASM,SAAA,EAAWK,KAAA,EAAOC,IAAA,OAAW,QAAQX,QAAA;IAEnF,IAAIS,uBAAA,EAAyB;MAC3B,OAAO;QACLX,IAAA,EAAME,QAAA,IAAYG,QAAA,EAAUF,MAAA,GAASE,QAAA,GAAW,EAAC;QACjDH,QAAA,EAAU;MACZ;IACF;IAEA,OAAO;MACLF,IAAA,EAAMK,QAAA;MACNH;IACF;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { codeConverter as codeConverterClient } from './converter.js';
2
+ //# sourceMappingURL=converterClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converterClient.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/premade/CodeBlock/converterClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+
3
+ export { codeConverter as codeConverterClient } from './converter.js';
4
+ //# sourceMappingURL=converterClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converterClient.js","names":["codeConverter","codeConverterClient"],"sources":["../../../../../src/features/blocks/premade/CodeBlock/converterClient.ts"],"sourcesContent":["'use client'\n\nexport { codeConverter as codeConverterClient } from './converter.js'\n"],"mappings":"AAAA;;AAEA,SAASA,aAAA,IAAiBC,mBAAmB,QAAQ","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { Block } from 'payload';
2
+ import type { AdditionalCodeComponentProps } from './Component/Code.js';
3
+ /**
4
+ * @experimental - this API may change in future, minor releases
5
+ */
6
+ export declare const CodeBlock: (args?: AdditionalCodeComponentProps) => Block;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/premade/CodeBlock/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAKvE;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,4BAA4B,KAAK,KA+ChE,CAAA"}
@@ -0,0 +1,50 @@
1
+ import { defaultLanguages } from './Component/defaultLanguages.js';
2
+ import { codeConverter } from './converter.js';
3
+ /**
4
+ * @experimental - this API may change in future, minor releases
5
+ */
6
+ export const CodeBlock = args => {
7
+ const languages = args?.languages || defaultLanguages;
8
+ return {
9
+ slug: args?.slug || 'Code',
10
+ admin: {
11
+ components: {
12
+ Block: {
13
+ clientProps: {
14
+ // If default languages are used, return undefined (=> do not pass `languages` variable) in order to reduce data sent to the client
15
+ languages: args?.languages
16
+ },
17
+ path: '@payloadcms/richtext-lexical/client#CodeBlockBlockComponent'
18
+ }
19
+ },
20
+ jsx: '@payloadcms/richtext-lexical/client#codeConverterClient'
21
+ },
22
+ fields: [{
23
+ name: 'language',
24
+ type: 'select',
25
+ admin: {
26
+ // We'll manually render this field into the block component header
27
+ hidden: true
28
+ },
29
+ defaultValue: args?.defaultLanguage || Object.keys(languages)[0],
30
+ options: Object.entries(languages).map(([key, value]) => ({
31
+ label: value,
32
+ value: key
33
+ }))
34
+ }, {
35
+ name: 'code',
36
+ type: 'code',
37
+ admin: {
38
+ components: {
39
+ Field: {
40
+ clientProps: args,
41
+ path: '@payloadcms/richtext-lexical/client#CodeComponent'
42
+ }
43
+ }
44
+ },
45
+ label: ''
46
+ }],
47
+ jsx: codeConverter
48
+ };
49
+ };
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["defaultLanguages","codeConverter","CodeBlock","args","languages","slug","admin","components","Block","clientProps","path","jsx","fields","name","type","hidden","defaultValue","defaultLanguage","Object","keys","options","entries","map","key","value","label","Field"],"sources":["../../../../../src/features/blocks/premade/CodeBlock/index.ts"],"sourcesContent":["import type { Block } from 'payload'\n\nimport type { AdditionalCodeComponentProps } from './Component/Code.js'\n\nimport { defaultLanguages } from './Component/defaultLanguages.js'\nimport { codeConverter } from './converter.js'\n\n/**\n * @experimental - this API may change in future, minor releases\n */\nexport const CodeBlock: (args?: AdditionalCodeComponentProps) => Block = (args) => {\n const languages = args?.languages || defaultLanguages\n\n return {\n slug: args?.slug || 'Code',\n admin: {\n components: {\n Block: {\n clientProps: {\n // If default languages are used, return undefined (=> do not pass `languages` variable) in order to reduce data sent to the client\n languages: args?.languages,\n },\n path: '@payloadcms/richtext-lexical/client#CodeBlockBlockComponent',\n },\n },\n jsx: '@payloadcms/richtext-lexical/client#codeConverterClient',\n },\n fields: [\n {\n name: 'language',\n type: 'select',\n admin: {\n // We'll manually render this field into the block component header\n hidden: true,\n },\n defaultValue: args?.defaultLanguage || Object.keys(languages)[0],\n options: Object.entries(languages).map(([key, value]) => ({\n label: value,\n value: key,\n })),\n },\n {\n name: 'code',\n type: 'code',\n admin: {\n components: {\n Field: {\n clientProps: args,\n path: '@payloadcms/richtext-lexical/client#CodeComponent',\n },\n },\n },\n label: '',\n },\n ],\n jsx: codeConverter,\n }\n}\n"],"mappings":"AAIA,SAASA,gBAAgB,QAAQ;AACjC,SAASC,aAAa,QAAQ;AAE9B;;;AAGA,OAAO,MAAMC,SAAA,GAA6DC,IAAA;EACxE,MAAMC,SAAA,GAAYD,IAAA,EAAMC,SAAA,IAAaJ,gBAAA;EAErC,OAAO;IACLK,IAAA,EAAMF,IAAA,EAAME,IAAA,IAAQ;IACpBC,KAAA,EAAO;MACLC,UAAA,EAAY;QACVC,KAAA,EAAO;UACLC,WAAA,EAAa;YACX;YACAL,SAAA,EAAWD,IAAA,EAAMC;UACnB;UACAM,IAAA,EAAM;QACR;MACF;MACAC,GAAA,EAAK;IACP;IACAC,MAAA,EAAQ,CACN;MACEC,IAAA,EAAM;MACNC,IAAA,EAAM;MACNR,KAAA,EAAO;QACL;QACAS,MAAA,EAAQ;MACV;MACAC,YAAA,EAAcb,IAAA,EAAMc,eAAA,IAAmBC,MAAA,CAAOC,IAAI,CAACf,SAAA,CAAU,CAAC,EAAE;MAChEgB,OAAA,EAASF,MAAA,CAAOG,OAAO,CAACjB,SAAA,EAAWkB,GAAG,CAAC,CAAC,CAACC,GAAA,EAAKC,KAAA,CAAM,MAAM;QACxDC,KAAA,EAAOD,KAAA;QACPA,KAAA,EAAOD;MACT;IACF,GACA;MACEV,IAAA,EAAM;MACNC,IAAA,EAAM;MACNR,KAAA,EAAO;QACLC,UAAA,EAAY;UACVmB,KAAA,EAAO;YACLjB,WAAA,EAAaN,IAAA;YACbO,IAAA,EAAM;UACR;QACF;MACF;MACAe,KAAA,EAAO;IACT,EACD;IACDd,GAAA,EAAKV;EACP;AACF","ignoreList":[]}
@@ -3,7 +3,7 @@ import { createServerFeature } from '../../../utilities/createServerFeature.js';
3
3
  import { createNode } from '../../typeUtilities.js';
4
4
  import { blockPopulationPromiseHOC } from './graphQLPopulationPromise.js';
5
5
  import { i18n } from './i18n.js';
6
- import { getBlockMarkdownTransformers } from './markdownTransformer.js';
6
+ import { getBlockMarkdownTransformers } from './markdown/markdownTransformer.js';
7
7
  import { ServerBlockNode } from './nodes/BlocksNode.js';
8
8
  import { ServerInlineBlockNode } from './nodes/InlineBlocksNode.js';
9
9
  import { blockValidationHOC } from './validate.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fieldsToJSONSchema","flattenAllFields","sanitizeFields","createServerFeature","createNode","blockPopulationPromiseHOC","i18n","getBlockMarkdownTransformers","ServerBlockNode","ServerInlineBlockNode","blockValidationHOC","BlocksFeature","feature","config","_config","isRoot","parentIsLocalized","props","_props","validRelationships","collections","map","c","slug","sanitized","fields","name","type","blockReferences","blocks","inlineBlocks","requireFieldLevelRichTextEditor","blockConfigs","_block","block","find","b","Error","push","inlineBlockConfigs","ClientFeature","generatedTypes","modifyOutputSchema","collectionIDFieldTypes","currentSchema","field","interfaceNameDefinitions","length","flattenedFields","generateSchemaMap","schemaMap","Map","blockFields","admin","components","unshift","Block","BlockLabel","Label","set","markdownTransformers","nodes","getSubFields","node","blockType","getSubFieldsData","graphQLPopulationPromises","validations","sanitizedServerFeatureProps","key"],"sources":["../../../../src/features/blocks/server/index.ts"],"sourcesContent":["import type {\n Block,\n BlocksField,\n BlockSlug,\n Config,\n FieldSchemaMap,\n FlattenedBlocksField,\n} from 'payload'\n\nimport { fieldsToJSONSchema, flattenAllFields, sanitizeFields } from 'payload'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { blockPopulationPromiseHOC } from './graphQLPopulationPromise.js'\nimport { i18n } from './i18n.js'\nimport { getBlockMarkdownTransformers } from './markdownTransformer.js'\nimport { ServerBlockNode } from './nodes/BlocksNode.js'\nimport { ServerInlineBlockNode } from './nodes/InlineBlocksNode.js'\nimport { blockValidationHOC } from './validate.js'\n\nexport type BlocksFeatureProps = {\n blocks?: (Block | BlockSlug)[] | Block[]\n inlineBlocks?: (Block | BlockSlug)[] | Block[]\n}\n\nexport const BlocksFeature = createServerFeature<BlocksFeatureProps, BlocksFeatureProps>({\n feature: async ({ config: _config, isRoot, parentIsLocalized, props: _props }) => {\n const validRelationships = _config.collections.map((c) => c.slug) || []\n\n const sanitized = await sanitizeFields({\n config: _config as unknown as Config,\n fields: [\n {\n name: 'lexical_blocks',\n type: 'blocks',\n blockReferences: _props.blocks ?? [],\n blocks: [],\n },\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blockReferences: _props.inlineBlocks ?? [],\n blocks: [],\n },\n ],\n parentIsLocalized,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n\n const blockConfigs: Block[] = []\n for (const _block of (sanitized[0] as BlocksField).blockReferences ??\n (sanitized[0] as BlocksField).blocks) {\n const block =\n typeof _block === 'string' ? _config?.blocks?.find((b) => b.slug === _block) : _block\n if (!block) {\n throw new Error(\n `Block not found for slug: ${typeof _block === 'string' ? _block : _block?.slug}`,\n )\n }\n blockConfigs.push(block)\n }\n\n const inlineBlockConfigs: Block[] = []\n for (const _block of (sanitized[1] as BlocksField).blockReferences ??\n (sanitized[1] as BlocksField).blocks) {\n const block =\n typeof _block === 'string' ? _config?.blocks?.find((b) => b.slug === _block) : _block\n if (!block) {\n throw new Error(\n `Block not found for slug: ${typeof _block === 'string' ? _block : _block?.slug}`,\n )\n }\n inlineBlockConfigs.push(block)\n }\n\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#BlocksFeatureClient',\n generatedTypes: {\n modifyOutputSchema: ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n i18n,\n interfaceNameDefinitions,\n }) => {\n if (!blockConfigs?.length && !inlineBlockConfigs?.length) {\n return currentSchema\n }\n\n const fields: FlattenedBlocksField[] = []\n\n if (blockConfigs?.length) {\n fields.push({\n name: field?.name + '_lexical_blocks',\n type: 'blocks',\n blocks: blockConfigs.map((block) => {\n return {\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n }\n }),\n })\n }\n if (inlineBlockConfigs?.length) {\n fields.push({\n name: field?.name + '_lexical_inline_blocks',\n type: 'blocks',\n blocks: inlineBlockConfigs.map((block) => {\n return {\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n }\n }),\n })\n }\n\n if (fields.length) {\n // This is only done so that interfaceNameDefinitions sets those block's interfaceNames.\n // we don't actually use the JSON Schema itself in the generated types yet.\n fieldsToJSONSchema(\n collectionIDFieldTypes,\n fields,\n interfaceNameDefinitions,\n config,\n i18n,\n )\n }\n\n return currentSchema\n },\n },\n generateSchemaMap: ({ config }) => {\n /**\n * Add sub-fields to the schemaMap. E.g. if you have an array field as part of the block, and it runs addRow, it will request these\n * sub-fields from the component map. Thus, we need to put them in the component map here.\n */\n const schemaMap: FieldSchemaMap = new Map()\n\n if (blockConfigs?.length) {\n for (const block of blockConfigs) {\n const blockFields = [...block.fields]\n\n if (block?.admin?.components) {\n blockFields.unshift({\n name: `_components`,\n type: 'ui',\n admin: {\n components: {\n Block: block.admin?.components?.Block,\n BlockLabel: block.admin?.components?.Label,\n },\n },\n })\n }\n schemaMap.set(`lexical_blocks.${block.slug}.fields`, {\n fields: blockFields,\n })\n schemaMap.set(`lexical_blocks.${block.slug}`, {\n name: `lexical_blocks_${block.slug}`,\n type: 'blocks',\n blocks: [block],\n })\n }\n }\n\n if (inlineBlockConfigs?.length) {\n // To generate block schemaMap which generates things like the componentMap for admin.Label\n for (const block of inlineBlockConfigs) {\n const blockFields = [...block.fields]\n\n if (block?.admin?.components) {\n blockFields.unshift({\n name: `_components`,\n type: 'ui',\n admin: {\n components: {\n Block: block.admin?.components?.Block,\n BlockLabel: block.admin?.components?.Label,\n },\n },\n })\n }\n\n schemaMap.set(`lexical_inline_blocks.${block.slug}.fields`, {\n fields: blockFields,\n })\n\n schemaMap.set(`lexical_inline_blocks.${block.slug}`, {\n name: `lexical_inline_blocks_${block.slug}`,\n type: 'blocks',\n blocks: [block],\n })\n }\n }\n\n return schemaMap\n },\n i18n,\n markdownTransformers: getBlockMarkdownTransformers({\n blocks: blockConfigs,\n inlineBlocks: inlineBlockConfigs,\n }),\n\n nodes: [\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (blockConfigs?.length) {\n return [\n {\n name: 'lexical_blocks',\n type: 'blocks',\n blocks: blockConfigs,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = blockConfigs?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(blockConfigs)],\n node: ServerBlockNode,\n validations: [blockValidationHOC(blockConfigs)],\n }),\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (inlineBlockConfigs?.length) {\n return [\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blocks: inlineBlockConfigs,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = inlineBlockConfigs?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(inlineBlockConfigs)],\n node: ServerInlineBlockNode,\n validations: [blockValidationHOC(inlineBlockConfigs)],\n }),\n ],\n sanitizedServerFeatureProps: _props,\n }\n },\n key: 'blocks',\n})\n"],"mappings":"AASA,SAASA,kBAAkB,EAAEC,gBAAgB,EAAEC,cAAc,QAAQ;AAErE,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,IAAI,QAAQ;AACrB,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,eAAe,QAAQ;AAChC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,kBAAkB,QAAQ;AAOnC,OAAO,MAAMC,aAAA,GAAgBR,mBAAA,CAA4D;EACvFS,OAAA,EAAS,MAAAA,CAAO;IAAEC,MAAA,EAAQC,OAAO;IAAEC,MAAM;IAAEC,iBAAiB;IAAEC,KAAA,EAAOC;EAAM,CAAE;IAC3E,MAAMC,kBAAA,GAAqBL,OAAA,CAAQM,WAAW,CAACC,GAAG,CAAEC,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAK,EAAE;IAEvE,MAAMC,SAAA,GAAY,MAAMtB,cAAA,CAAe;MACrCW,MAAA,EAAQC,OAAA;MACRW,MAAA,EAAQ,CACN;QACEC,IAAA,EAAM;QACNC,IAAA,EAAM;QACNC,eAAA,EAAiBV,MAAA,CAAOW,MAAM,IAAI,EAAE;QACpCA,MAAA,EAAQ;MACV,GACA;QACEH,IAAA,EAAM;QACNC,IAAA,EAAM;QACNC,eAAA,EAAiBV,MAAA,CAAOY,YAAY,IAAI,EAAE;QAC1CD,MAAA,EAAQ;MACV,EACD;MACDb,iBAAA;MACAe,+BAAA,EAAiChB,MAAA;MACjCI;IACF;IAEA,MAAMa,YAAA,GAAwB,EAAE;IAChC,KAAK,MAAMC,MAAA,IAAUT,SAAU,CAAC,EAAE,CAAiBI,eAAe,IAChEJ,SAAU,CAAC,EAAE,CAAiBK,MAAM,EAAE;MACtC,MAAMK,KAAA,GACJ,OAAOD,MAAA,KAAW,WAAWnB,OAAA,EAASe,MAAA,EAAQM,IAAA,CAAMC,CAAA,IAAMA,CAAA,CAAEb,IAAI,KAAKU,MAAA,IAAUA,MAAA;MACjF,IAAI,CAACC,KAAA,EAAO;QACV,MAAM,IAAIG,KAAA,CACR,6BAA6B,OAAOJ,MAAA,KAAW,WAAWA,MAAA,GAASA,MAAA,EAAQV,IAAA,EAAM;MAErF;MACAS,YAAA,CAAaM,IAAI,CAACJ,KAAA;IACpB;IAEA,MAAMK,kBAAA,GAA8B,EAAE;IACtC,KAAK,MAAMN,MAAA,IAAUT,SAAU,CAAC,EAAE,CAAiBI,eAAe,IAChEJ,SAAU,CAAC,EAAE,CAAiBK,MAAM,EAAE;MACtC,MAAMK,KAAA,GACJ,OAAOD,MAAA,KAAW,WAAWnB,OAAA,EAASe,MAAA,EAAQM,IAAA,CAAMC,CAAA,IAAMA,CAAA,CAAEb,IAAI,KAAKU,MAAA,IAAUA,MAAA;MACjF,IAAI,CAACC,KAAA,EAAO;QACV,MAAM,IAAIG,KAAA,CACR,6BAA6B,OAAOJ,MAAA,KAAW,WAAWA,MAAA,GAASA,MAAA,EAAQV,IAAA,EAAM;MAErF;MACAgB,kBAAA,CAAmBD,IAAI,CAACJ,KAAA;IAC1B;IAEA,OAAO;MACLM,aAAA,EAAe;MACfC,cAAA,EAAgB;QACdC,kBAAA,EAAoBA,CAAC;UACnBC,sBAAsB;UACtB9B,MAAM;UACN+B,aAAa;UACbC,KAAK;UACLvC,IAAI;UACJwC;QAAwB,CACzB;UACC,IAAI,CAACd,YAAA,EAAce,MAAA,IAAU,CAACR,kBAAA,EAAoBQ,MAAA,EAAQ;YACxD,OAAOH,aAAA;UACT;UAEA,MAAMnB,MAAA,GAAiC,EAAE;UAEzC,IAAIO,YAAA,EAAce,MAAA,EAAQ;YACxBtB,MAAA,CAAOa,IAAI,CAAC;cACVZ,IAAA,EAAMmB,KAAA,EAAOnB,IAAA,GAAO;cACpBC,IAAA,EAAM;cACNE,MAAA,EAAQG,YAAA,CAAaX,GAAG,CAAEa,KAAA;gBACxB,OAAO;kBACL,GAAGA,KAAK;kBACRc,eAAA,EAAiB/C,gBAAA,CAAiB;oBAAEwB,MAAA,EAAQS,KAAA,CAAMT;kBAAO;gBAC3D;cACF;YACF;UACF;UACA,IAAIc,kBAAA,EAAoBQ,MAAA,EAAQ;YAC9BtB,MAAA,CAAOa,IAAI,CAAC;cACVZ,IAAA,EAAMmB,KAAA,EAAOnB,IAAA,GAAO;cACpBC,IAAA,EAAM;cACNE,MAAA,EAAQU,kBAAA,CAAmBlB,GAAG,CAAEa,KAAA;gBAC9B,OAAO;kBACL,GAAGA,KAAK;kBACRc,eAAA,EAAiB/C,gBAAA,CAAiB;oBAAEwB,MAAA,EAAQS,KAAA,CAAMT;kBAAO;gBAC3D;cACF;YACF;UACF;UAEA,IAAIA,MAAA,CAAOsB,MAAM,EAAE;YACjB;YACA;YACA/C,kBAAA,CACE2C,sBAAA,EACAlB,MAAA,EACAqB,wBAAA,EACAjC,MAAA,EACAP,IAAA;UAEJ;UAEA,OAAOsC,aAAA;QACT;MACF;MACAK,iBAAA,EAAmBA,CAAC;QAAEpC;MAAM,CAAE;QAC5B;;;;QAIA,MAAMqC,SAAA,GAA4B,IAAIC,GAAA;QAEtC,IAAInB,YAAA,EAAce,MAAA,EAAQ;UACxB,KAAK,MAAMb,KAAA,IAASF,YAAA,EAAc;YAChC,MAAMoB,WAAA,GAAc,C,GAAIlB,KAAA,CAAMT,MAAM,CAAC;YAErC,IAAIS,KAAA,EAAOmB,KAAA,EAAOC,UAAA,EAAY;cAC5BF,WAAA,CAAYG,OAAO,CAAC;gBAClB7B,IAAA,EAAM,aAAa;gBACnBC,IAAA,EAAM;gBACN0B,KAAA,EAAO;kBACLC,UAAA,EAAY;oBACVE,KAAA,EAAOtB,KAAA,CAAMmB,KAAK,EAAEC,UAAA,EAAYE,KAAA;oBAChCC,UAAA,EAAYvB,KAAA,CAAMmB,KAAK,EAAEC,UAAA,EAAYI;kBACvC;gBACF;cACF;YACF;YACAR,SAAA,CAAUS,GAAG,CAAC,kBAAkBzB,KAAA,CAAMX,IAAI,SAAS,EAAE;cACnDE,MAAA,EAAQ2B;YACV;YACAF,SAAA,CAAUS,GAAG,CAAC,kBAAkBzB,KAAA,CAAMX,IAAI,EAAE,EAAE;cAC5CG,IAAA,EAAM,kBAAkBQ,KAAA,CAAMX,IAAI,EAAE;cACpCI,IAAA,EAAM;cACNE,MAAA,EAAQ,CAACK,KAAA;YACX;UACF;QACF;QAEA,IAAIK,kBAAA,EAAoBQ,MAAA,EAAQ;UAC9B;UACA,KAAK,MAAMb,KAAA,IAASK,kBAAA,EAAoB;YACtC,MAAMa,WAAA,GAAc,C,GAAIlB,KAAA,CAAMT,MAAM,CAAC;YAErC,IAAIS,KAAA,EAAOmB,KAAA,EAAOC,UAAA,EAAY;cAC5BF,WAAA,CAAYG,OAAO,CAAC;gBAClB7B,IAAA,EAAM,aAAa;gBACnBC,IAAA,EAAM;gBACN0B,KAAA,EAAO;kBACLC,UAAA,EAAY;oBACVE,KAAA,EAAOtB,KAAA,CAAMmB,KAAK,EAAEC,UAAA,EAAYE,KAAA;oBAChCC,UAAA,EAAYvB,KAAA,CAAMmB,KAAK,EAAEC,UAAA,EAAYI;kBACvC;gBACF;cACF;YACF;YAEAR,SAAA,CAAUS,GAAG,CAAC,yBAAyBzB,KAAA,CAAMX,IAAI,SAAS,EAAE;cAC1DE,MAAA,EAAQ2B;YACV;YAEAF,SAAA,CAAUS,GAAG,CAAC,yBAAyBzB,KAAA,CAAMX,IAAI,EAAE,EAAE;cACnDG,IAAA,EAAM,yBAAyBQ,KAAA,CAAMX,IAAI,EAAE;cAC3CI,IAAA,EAAM;cACNE,MAAA,EAAQ,CAACK,KAAA;YACX;UACF;QACF;QAEA,OAAOgB,SAAA;MACT;MACA5C,IAAA;MACAsD,oBAAA,EAAsBrD,4BAAA,CAA6B;QACjDsB,MAAA,EAAQG,YAAA;QACRF,YAAA,EAAcS;MAChB;MAEAsB,KAAA,EAAO,CACLzD,UAAA,CAAW;QACT;QACA0D,YAAA,EAAcA,CAAC;UAAEC;QAAI,CAAE;UACrB,IAAI,CAACA,IAAA,EAAM;YACT,IAAI/B,YAAA,EAAce,MAAA,EAAQ;cACxB,OAAO,CACL;gBACErB,IAAA,EAAM;gBACNC,IAAA,EAAM;gBACNE,MAAA,EAAQG;cACV,EACD;YACH;YACA,OAAO,EAAE;UACX;UAEA,MAAMgC,SAAA,GAAYD,IAAA,CAAKtC,MAAM,CAACuC,SAAS;UAEvC,MAAM9B,KAAA,GAAQF,YAAA,EAAcG,IAAA,CAAMD,KAAA,IAAUA,KAAA,CAAMX,IAAI,KAAKyC,SAAA;UAC3D,OAAO9B,KAAA,EAAOT,MAAA;QAChB;QACAwC,gBAAA,EAAkBA,CAAC;UAAEF;QAAI,CAAE;UACzB,OAAOA,IAAA,EAAMtC,MAAA;QACf;QACAyC,yBAAA,EAA2B,CAAC7D,yBAAA,CAA0B2B,YAAA,EAAc;QACpE+B,IAAA,EAAMvD,eAAA;QACN2D,WAAA,EAAa,CAACzD,kBAAA,CAAmBsB,YAAA;MACnC,IACA5B,UAAA,CAAW;QACT;QACA0D,YAAA,EAAcA,CAAC;UAAEC;QAAI,CAAE;UACrB,IAAI,CAACA,IAAA,EAAM;YACT,IAAIxB,kBAAA,EAAoBQ,MAAA,EAAQ;cAC9B,OAAO,CACL;gBACErB,IAAA,EAAM;gBACNC,IAAA,EAAM;gBACNE,MAAA,EAAQU;cACV,EACD;YACH;YACA,OAAO,EAAE;UACX;UAEA,MAAMyB,SAAA,GAAYD,IAAA,CAAKtC,MAAM,CAACuC,SAAS;UAEvC,MAAM9B,KAAA,GAAQK,kBAAA,EAAoBJ,IAAA,CAAMD,KAAA,IAAUA,KAAA,CAAMX,IAAI,KAAKyC,SAAA;UACjE,OAAO9B,KAAA,EAAOT,MAAA;QAChB;QACAwC,gBAAA,EAAkBA,CAAC;UAAEF;QAAI,CAAE;UACzB,OAAOA,IAAA,EAAMtC,MAAA;QACf;QACAyC,yBAAA,EAA2B,CAAC7D,yBAAA,CAA0BkC,kBAAA,EAAoB;QAC1EwB,IAAA,EAAMtD,qBAAA;QACN0D,WAAA,EAAa,CAACzD,kBAAA,CAAmB6B,kBAAA;MACnC,GACD;MACD6B,2BAAA,EAA6BlD;IAC/B;EACF;EACAmD,GAAA,EAAK;AACP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldsToJSONSchema","flattenAllFields","sanitizeFields","createServerFeature","createNode","blockPopulationPromiseHOC","i18n","getBlockMarkdownTransformers","ServerBlockNode","ServerInlineBlockNode","blockValidationHOC","BlocksFeature","feature","config","_config","isRoot","parentIsLocalized","props","_props","validRelationships","collections","map","c","slug","sanitized","fields","name","type","blockReferences","blocks","inlineBlocks","requireFieldLevelRichTextEditor","blockConfigs","_block","block","find","b","Error","push","inlineBlockConfigs","ClientFeature","generatedTypes","modifyOutputSchema","collectionIDFieldTypes","currentSchema","field","interfaceNameDefinitions","length","flattenedFields","generateSchemaMap","schemaMap","Map","blockFields","admin","components","unshift","Block","BlockLabel","Label","set","markdownTransformers","nodes","getSubFields","node","blockType","getSubFieldsData","graphQLPopulationPromises","validations","sanitizedServerFeatureProps","key"],"sources":["../../../../src/features/blocks/server/index.ts"],"sourcesContent":["import type {\n Block,\n BlocksField,\n BlockSlug,\n Config,\n FieldSchemaMap,\n FlattenedBlocksField,\n} from 'payload'\n\nimport { fieldsToJSONSchema, flattenAllFields, sanitizeFields } from 'payload'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { blockPopulationPromiseHOC } from './graphQLPopulationPromise.js'\nimport { i18n } from './i18n.js'\nimport { getBlockMarkdownTransformers } from './markdown/markdownTransformer.js'\nimport { ServerBlockNode } from './nodes/BlocksNode.js'\nimport { ServerInlineBlockNode } from './nodes/InlineBlocksNode.js'\nimport { blockValidationHOC } from './validate.js'\n\nexport type BlocksFeatureProps = {\n blocks?: (Block | BlockSlug)[] | Block[]\n inlineBlocks?: (Block | BlockSlug)[] | Block[]\n}\n\nexport const BlocksFeature = createServerFeature<BlocksFeatureProps, BlocksFeatureProps>({\n feature: async ({ config: _config, isRoot, parentIsLocalized, props: _props }) => {\n const validRelationships = _config.collections.map((c) => c.slug) || []\n\n const sanitized = await sanitizeFields({\n config: _config as unknown as Config,\n fields: [\n {\n name: 'lexical_blocks',\n type: 'blocks',\n blockReferences: _props.blocks ?? [],\n blocks: [],\n },\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blockReferences: _props.inlineBlocks ?? [],\n blocks: [],\n },\n ],\n parentIsLocalized,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n\n const blockConfigs: Block[] = []\n for (const _block of (sanitized[0] as BlocksField).blockReferences ??\n (sanitized[0] as BlocksField).blocks) {\n const block =\n typeof _block === 'string' ? _config?.blocks?.find((b) => b.slug === _block) : _block\n if (!block) {\n throw new Error(\n `Block not found for slug: ${typeof _block === 'string' ? _block : _block?.slug}`,\n )\n }\n blockConfigs.push(block)\n }\n\n const inlineBlockConfigs: Block[] = []\n for (const _block of (sanitized[1] as BlocksField).blockReferences ??\n (sanitized[1] as BlocksField).blocks) {\n const block =\n typeof _block === 'string' ? _config?.blocks?.find((b) => b.slug === _block) : _block\n if (!block) {\n throw new Error(\n `Block not found for slug: ${typeof _block === 'string' ? _block : _block?.slug}`,\n )\n }\n inlineBlockConfigs.push(block)\n }\n\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#BlocksFeatureClient',\n generatedTypes: {\n modifyOutputSchema: ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n i18n,\n interfaceNameDefinitions,\n }) => {\n if (!blockConfigs?.length && !inlineBlockConfigs?.length) {\n return currentSchema\n }\n\n const fields: FlattenedBlocksField[] = []\n\n if (blockConfigs?.length) {\n fields.push({\n name: field?.name + '_lexical_blocks',\n type: 'blocks',\n blocks: blockConfigs.map((block) => {\n return {\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n }\n }),\n })\n }\n if (inlineBlockConfigs?.length) {\n fields.push({\n name: field?.name + '_lexical_inline_blocks',\n type: 'blocks',\n blocks: inlineBlockConfigs.map((block) => {\n return {\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n }\n }),\n })\n }\n\n if (fields.length) {\n // This is only done so that interfaceNameDefinitions sets those block's interfaceNames.\n // we don't actually use the JSON Schema itself in the generated types yet.\n fieldsToJSONSchema(\n collectionIDFieldTypes,\n fields,\n interfaceNameDefinitions,\n config,\n i18n,\n )\n }\n\n return currentSchema\n },\n },\n generateSchemaMap: ({ config }) => {\n /**\n * Add sub-fields to the schemaMap. E.g. if you have an array field as part of the block, and it runs addRow, it will request these\n * sub-fields from the component map. Thus, we need to put them in the component map here.\n */\n const schemaMap: FieldSchemaMap = new Map()\n\n if (blockConfigs?.length) {\n for (const block of blockConfigs) {\n const blockFields = [...block.fields]\n\n if (block?.admin?.components) {\n blockFields.unshift({\n name: `_components`,\n type: 'ui',\n admin: {\n components: {\n Block: block.admin?.components?.Block,\n BlockLabel: block.admin?.components?.Label,\n },\n },\n })\n }\n schemaMap.set(`lexical_blocks.${block.slug}.fields`, {\n fields: blockFields,\n })\n schemaMap.set(`lexical_blocks.${block.slug}`, {\n name: `lexical_blocks_${block.slug}`,\n type: 'blocks',\n blocks: [block],\n })\n }\n }\n\n if (inlineBlockConfigs?.length) {\n // To generate block schemaMap which generates things like the componentMap for admin.Label\n for (const block of inlineBlockConfigs) {\n const blockFields = [...block.fields]\n\n if (block?.admin?.components) {\n blockFields.unshift({\n name: `_components`,\n type: 'ui',\n admin: {\n components: {\n Block: block.admin?.components?.Block,\n BlockLabel: block.admin?.components?.Label,\n },\n },\n })\n }\n\n schemaMap.set(`lexical_inline_blocks.${block.slug}.fields`, {\n fields: blockFields,\n })\n\n schemaMap.set(`lexical_inline_blocks.${block.slug}`, {\n name: `lexical_inline_blocks_${block.slug}`,\n type: 'blocks',\n blocks: [block],\n })\n }\n }\n\n return schemaMap\n },\n i18n,\n markdownTransformers: getBlockMarkdownTransformers({\n blocks: blockConfigs,\n inlineBlocks: inlineBlockConfigs,\n }),\n\n nodes: [\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (blockConfigs?.length) {\n return [\n {\n name: 'lexical_blocks',\n type: 'blocks',\n blocks: blockConfigs,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = blockConfigs?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(blockConfigs)],\n node: ServerBlockNode,\n validations: [blockValidationHOC(blockConfigs)],\n }),\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (inlineBlockConfigs?.length) {\n return [\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blocks: inlineBlockConfigs,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = inlineBlockConfigs?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(inlineBlockConfigs)],\n node: ServerInlineBlockNode,\n validations: [blockValidationHOC(inlineBlockConfigs)],\n }),\n ],\n sanitizedServerFeatureProps: _props,\n }\n },\n key: 'blocks',\n})\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linesFromMatchToContentAndPropsString.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.ts"],"names":[],"mappings":"AAAA,wBAAgB,qCAAqC,CAAC,EACpD,aAAa,EACb,KAAK,EACL,cAAc,EACd,cAAc,EACd,UAAU,EACV,YAAY,GACb,EAAE;IACD,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG;IACF;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;CACpB,CAqJA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linesFromMatchToContentAndPropsString.js","names":["linesFromStartToContentAndPropsString","isEndOptional","lines","regexpEndRegex","startLineIndex","startMatch","trimChildren","propsString","content","linesCopy","slice","isWithinContent","contentSubTagStartAmount","bracketCount","quoteChar","isSelfClosing","isWithinCodeBlockAmount","beforeStartLine","index","endlineLastCharIndex","endLineIndex","mainLoop","lineIndex","lineCopy","entries","line","trim","amountOfBeginningSpacesRemoved","i","length","charIndex","char","nextChar","match","undefined","Error","join","JSON","stringify","afterEndLine"],"sources":["../../../../../src/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.ts"],"sourcesContent":["export function linesFromStartToContentAndPropsString({\n isEndOptional,\n lines,\n regexpEndRegex,\n startLineIndex,\n startMatch,\n trimChildren,\n}: {\n isEndOptional?: boolean\n lines: string[]\n regexpEndRegex?: RegExp\n startLineIndex: number\n startMatch: RegExpMatchArray\n trimChildren?: boolean\n}): {\n /**\n * The matched string after the end match, in the same line as the end match. Useful for inline matches.\n */\n afterEndLine: string\n /**\n * The matched string before the start match, in the same line as the start match. Useful for inline matches.\n */\n beforeStartLine: string\n content: string\n endLineIndex: number\n endlineLastCharIndex: number\n propsString: string\n} {\n let propsString = ''\n let content = ''\n const linesCopy = lines.slice(startLineIndex)\n\n let isWithinContent = false // If false => is within prop\n let contentSubTagStartAmount = 0\n\n let bracketCount = 0\n let quoteChar: null | string = null\n let isSelfClosing = false\n let isWithinCodeBlockAmount = 0\n\n const beforeStartLine = linesCopy[0]!.slice(0, startMatch.index)\n let endlineLastCharIndex = 0\n\n let endLineIndex = startLineIndex\n\n mainLoop: for (const [lineIndex, lineCopy] of linesCopy.entries()) {\n const line = trimChildren ? lineCopy.trim() : lineCopy\n let amountOfBeginningSpacesRemoved = 0\n if (trimChildren) {\n for (let i = 0; i < lineCopy.length; i++) {\n if (lineCopy[i] === ' ') {\n amountOfBeginningSpacesRemoved++\n } else {\n break\n }\n }\n }\n\n let charIndex = 0\n\n if (lineIndex === 0) {\n charIndex = (startMatch.index ?? 0) + startMatch[0].length - amountOfBeginningSpacesRemoved // We need to also loop over the \">\" in something like \"<InlineCode>\" in order to later set isWithinContent to true\n }\n\n while (charIndex < line.length) {\n const char = line[charIndex]\n const nextChar = line[charIndex + 1]\n\n if (!isWithinContent) {\n if (char === '{' && !quoteChar) {\n bracketCount++\n } else if (char === '}' && !quoteChar) {\n bracketCount--\n } else if ((char === '\"' || char === \"'\") && !quoteChar) {\n quoteChar = char\n } else if (char === quoteChar) {\n quoteChar = null\n }\n\n if (char === '/' && nextChar === '>' && bracketCount === 0 && !quoteChar) {\n isSelfClosing = true\n endLineIndex = lineIndex\n endlineLastCharIndex = charIndex + 2\n\n break mainLoop\n } else if (char === '>' && bracketCount === 0 && !quoteChar) {\n isWithinContent = true\n charIndex++\n continue\n }\n\n propsString += char\n } else {\n if (char === '`') {\n isWithinCodeBlockAmount++\n }\n\n if (isWithinCodeBlockAmount % 2 === 0) {\n if (char === '<' && nextChar === '/') {\n contentSubTagStartAmount--\n\n if (contentSubTagStartAmount < 0) {\n if (content[content.length - 1] === '\\n') {\n content = content.slice(0, -1) // Remove the last newline\n }\n endLineIndex = lineIndex\n // Calculate endlineLastCharIndex by finding \">\" in line\n for (let i = charIndex; i < line.length; i++) {\n if (line[i] === '>') {\n endlineLastCharIndex = i + 1\n\n break\n }\n }\n break mainLoop\n }\n } else if (char === '/' && nextChar === '>') {\n contentSubTagStartAmount--\n\n if (contentSubTagStartAmount < 0) {\n if (content[content.length - 1] === '\\n') {\n content = content.slice(0, -1) // Remove the last newline\n }\n endLineIndex = lineIndex\n endlineLastCharIndex = charIndex + 2\n break mainLoop\n }\n } else if (char === '<' && nextChar !== '/') {\n contentSubTagStartAmount++\n }\n }\n\n content += char\n }\n\n charIndex++\n }\n\n if (isWithinContent) {\n if (content?.length > 0 && lineIndex > 0) {\n content += '\\n'\n }\n } else {\n propsString += '\\n'\n }\n\n if (regexpEndRegex && contentSubTagStartAmount < 0) {\n // If 0 and in same line where it got lowered to 0 then this is not the match we are looking for\n const match = line.match(regexpEndRegex)\n if (match?.index !== undefined) {\n endLineIndex = lineIndex\n endlineLastCharIndex = match.index + match[0].length - 1\n break\n }\n }\n\n if (lineIndex === linesCopy.length - 1 && !isEndOptional && !isSelfClosing) {\n throw new Error(\n 'End match not found for lines ' +\n lines.join('\\n') +\n '\\n\\n. Start match: ' +\n JSON.stringify(startMatch),\n )\n }\n }\n\n const afterEndLine = linesCopy[endLineIndex]!.trim().slice(endlineLastCharIndex)\n\n return {\n afterEndLine,\n beforeStartLine,\n content,\n endLineIndex: startLineIndex + endLineIndex,\n endlineLastCharIndex,\n propsString,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import type { Block } from 'payload';
2
+ import type { NodeWithHooks } from '../../../typesServer.js';
3
+ import { type MultilineElementTransformer, type TextMatchTransformer, type Transformer } from '../../../../packages/@lexical/markdown/index.js';
4
+ export declare function createTagRegexes(tagName: string): {
5
+ regExpEnd: RegExp;
6
+ regExpStart: RegExp;
7
+ };
8
+ export declare const getBlockMarkdownTransformers: ({ blocks, inlineBlocks, }: {
9
+ blocks: Block[];
10
+ inlineBlocks: Block[];
11
+ }) => ((props: {
12
+ allNodes: Array<NodeWithHooks>;
13
+ allTransformers: Transformer[];
14
+ }) => MultilineElementTransformer | TextMatchTransformer)[];
15
+ //# sourceMappingURL=markdownTransformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/server/markdown/markdownTransformer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAG5D,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,iDAAiD,CAAA;AAaxD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM;;;EAiB/C;AACD,eAAO,MAAM,4BAA4B,8BAGtC;IACD,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,YAAY,EAAE,KAAK,EAAE,CAAA;CACtB,KAAG,CAAC,CAAC,KAAK,EAAE;IACX,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC9B,eAAe,EAAE,WAAW,EAAE,CAAA;CAC/B,KAAK,2BAA2B,GAAG,oBAAoB,CAAC,EA+BxD,CAAA"}