@payloadcms/richtext-lexical 3.59.0-internal.fae0e05 → 3.59.0-internal.ff6711a

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 (208) 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-TSIENULZ.js +2 -0
  4. package/dist/exports/client/RelationshipComponent-TSIENULZ.js.map +7 -0
  5. package/dist/exports/client/bundled.css +1 -1
  6. package/dist/exports/client/chunk-BQCXN3B4.js +2 -0
  7. package/dist/exports/client/chunk-BQCXN3B4.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-CYFKY3IL.js +2 -0
  12. package/dist/exports/client/component-CYFKY3IL.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/align/server/i18n.d.ts.map +1 -1
  19. package/dist/features/align/server/i18n.js +6 -0
  20. package/dist/features/align/server/i18n.js.map +1 -1
  21. package/dist/features/blockquote/server/i18n.d.ts.map +1 -1
  22. package/dist/features/blockquote/server/i18n.js +3 -0
  23. package/dist/features/blockquote/server/i18n.js.map +1 -1
  24. package/dist/features/blocks/client/component/BlockContent.d.ts +52 -27
  25. package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
  26. package/dist/features/blocks/client/component/BlockContent.js +48 -51
  27. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  28. package/dist/features/blocks/client/component/components/BlockCollapsible.d.ts +2 -9
  29. package/dist/features/blocks/client/component/components/BlockCollapsible.d.ts.map +1 -1
  30. package/dist/features/blocks/client/component/components/BlockCollapsible.js +7 -25
  31. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -1
  32. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  33. package/dist/features/blocks/client/component/index.js +71 -56
  34. package/dist/features/blocks/client/component/index.js.map +1 -1
  35. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  36. package/dist/features/blocks/client/componentInline/index.js +13 -11
  37. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  38. package/dist/features/blocks/client/index.d.ts.map +1 -1
  39. package/dist/features/blocks/client/index.js +5 -0
  40. package/dist/features/blocks/client/index.js.map +1 -1
  41. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts +6 -0
  42. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.d.ts.map +1 -0
  43. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js +24 -0
  44. package/dist/features/blocks/client/markdown/getLexicalToMarkdown.js.map +1 -0
  45. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts +6 -0
  46. package/dist/features/blocks/client/markdown/getMarkdownToLexical.d.ts.map +1 -0
  47. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js +20 -0
  48. package/dist/features/blocks/client/markdown/getMarkdownToLexical.js.map +1 -0
  49. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts +12 -0
  50. package/dist/features/blocks/client/markdown/markdownTransformer.d.ts.map +1 -0
  51. package/dist/features/blocks/client/markdown/markdownTransformer.js +348 -0
  52. package/dist/features/blocks/client/markdown/markdownTransformer.js.map +1 -0
  53. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts +5 -0
  54. package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts.map +1 -0
  55. package/dist/features/blocks/premade/CodeBlock/Component/Block.js +156 -0
  56. package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -0
  57. package/dist/features/blocks/premade/CodeBlock/Component/Code.d.ts +61 -0
  58. package/dist/features/blocks/premade/CodeBlock/Component/Code.d.ts.map +1 -0
  59. package/dist/features/blocks/premade/CodeBlock/Component/Code.js +99 -0
  60. package/dist/features/blocks/premade/CodeBlock/Component/Code.js.map +1 -0
  61. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.d.ts +4 -0
  62. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.d.ts.map +1 -0
  63. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js +17 -0
  64. package/dist/features/blocks/premade/CodeBlock/Component/Collapse/index.js.map +1 -0
  65. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.d.ts +4 -0
  66. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.d.ts.map +1 -0
  67. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js +26 -0
  68. package/dist/features/blocks/premade/CodeBlock/Component/FloatingCollapse/index.js.map +1 -0
  69. package/dist/features/blocks/premade/CodeBlock/converter.d.ts +7 -0
  70. package/dist/features/blocks/premade/CodeBlock/converter.d.ts.map +1 -0
  71. package/dist/features/blocks/premade/CodeBlock/converter.js +46 -0
  72. package/dist/features/blocks/premade/CodeBlock/converter.js.map +1 -0
  73. package/dist/features/blocks/premade/CodeBlock/converterClient.d.ts +2 -0
  74. package/dist/features/blocks/premade/CodeBlock/converterClient.d.ts.map +1 -0
  75. package/dist/features/blocks/premade/CodeBlock/converterClient.js +4 -0
  76. package/dist/features/blocks/premade/CodeBlock/converterClient.js.map +1 -0
  77. package/dist/features/blocks/premade/CodeBlock/index.d.ts +7 -0
  78. package/dist/features/blocks/premade/CodeBlock/index.d.ts.map +1 -0
  79. package/dist/features/blocks/premade/CodeBlock/index.js +52 -0
  80. package/dist/features/blocks/premade/CodeBlock/index.js.map +1 -0
  81. package/dist/features/blocks/server/i18n.d.ts.map +1 -1
  82. package/dist/features/blocks/server/i18n.js +47 -38
  83. package/dist/features/blocks/server/i18n.js.map +1 -1
  84. package/dist/features/blocks/server/index.js +1 -1
  85. package/dist/features/blocks/server/index.js.map +1 -1
  86. package/dist/features/blocks/server/markdown/getLexicalToMarkdown.d.ts +6 -0
  87. package/dist/features/blocks/server/markdown/getLexicalToMarkdown.d.ts.map +1 -0
  88. package/dist/features/blocks/server/markdown/getLexicalToMarkdown.js +27 -0
  89. package/dist/features/blocks/server/markdown/getLexicalToMarkdown.js.map +1 -0
  90. package/dist/features/blocks/server/markdown/getMarkdownToLexical.d.ts +7 -0
  91. package/dist/features/blocks/server/markdown/getMarkdownToLexical.d.ts.map +1 -0
  92. package/dist/features/blocks/server/markdown/getMarkdownToLexical.js +22 -0
  93. package/dist/features/blocks/server/markdown/getMarkdownToLexical.js.map +1 -0
  94. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.d.ts.map +1 -0
  95. package/dist/features/blocks/server/markdown/linesFromMatchToContentAndPropsString.js.map +1 -0
  96. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts +15 -0
  97. package/dist/features/blocks/server/markdown/markdownTransformer.d.ts.map +1 -0
  98. package/dist/features/blocks/server/{markdownTransformer.js → markdown/markdownTransformer.js} +6 -48
  99. package/dist/features/blocks/server/markdown/markdownTransformer.js.map +1 -0
  100. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -1
  101. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +5 -3
  102. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  103. package/dist/features/heading/server/i18n.d.ts.map +1 -1
  104. package/dist/features/heading/server/i18n.js +3 -0
  105. package/dist/features/heading/server/i18n.js.map +1 -1
  106. package/dist/features/horizontalRule/server/i18n.d.ts.map +1 -1
  107. package/dist/features/horizontalRule/server/i18n.js +3 -0
  108. package/dist/features/horizontalRule/server/i18n.js.map +1 -1
  109. package/dist/features/indent/server/i18n.d.ts.map +1 -1
  110. package/dist/features/indent/server/i18n.js +4 -0
  111. package/dist/features/indent/server/i18n.js.map +1 -1
  112. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  113. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +3 -1
  114. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  115. package/dist/features/link/server/i18n.d.ts.map +1 -1
  116. package/dist/features/link/server/i18n.js +4 -0
  117. package/dist/features/link/server/i18n.js.map +1 -1
  118. package/dist/features/lists/checklist/server/i18n.d.ts.map +1 -1
  119. package/dist/features/lists/checklist/server/i18n.js +3 -0
  120. package/dist/features/lists/checklist/server/i18n.js.map +1 -1
  121. package/dist/features/lists/orderedList/server/i18n.d.ts.map +1 -1
  122. package/dist/features/lists/orderedList/server/i18n.js +3 -0
  123. package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
  124. package/dist/features/lists/unorderedList/server/i18n.d.ts.map +1 -1
  125. package/dist/features/lists/unorderedList/server/i18n.js +3 -0
  126. package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
  127. package/dist/features/paragraph/server/i18n.d.ts.map +1 -1
  128. package/dist/features/paragraph/server/i18n.js +4 -0
  129. package/dist/features/paragraph/server/i18n.js.map +1 -1
  130. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
  131. package/dist/features/relationship/client/components/RelationshipComponent.js +5 -9
  132. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  133. package/dist/features/relationship/server/i18n.d.ts.map +1 -1
  134. package/dist/features/relationship/server/i18n.js +3 -0
  135. package/dist/features/relationship/server/i18n.js.map +1 -1
  136. package/dist/features/textState/i18n.d.ts.map +1 -1
  137. package/dist/features/textState/i18n.js +3 -0
  138. package/dist/features/textState/i18n.js.map +1 -1
  139. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  140. package/dist/features/toolbars/fixed/client/Toolbar/index.js +7 -1
  141. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  142. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -1
  143. package/dist/features/toolbars/inline/client/Toolbar/index.js +3 -1
  144. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  145. package/dist/features/upload/client/component/index.d.ts.map +1 -1
  146. package/dist/features/upload/client/component/index.js +6 -5
  147. package/dist/features/upload/client/component/index.js.map +1 -1
  148. package/dist/features/upload/server/i18n.d.ts.map +1 -1
  149. package/dist/features/upload/server/i18n.js +3 -0
  150. package/dist/features/upload/server/i18n.js.map +1 -1
  151. package/dist/field/RenderLexical/index.d.ts.map +1 -1
  152. package/dist/field/RenderLexical/index.js +1 -0
  153. package/dist/field/RenderLexical/index.js.map +1 -1
  154. package/dist/field/bundled.css +1 -1
  155. package/dist/field/rscEntry.d.ts.map +1 -1
  156. package/dist/field/rscEntry.js +2 -0
  157. package/dist/field/rscEntry.js.map +1 -1
  158. package/dist/i18n.d.ts.map +1 -1
  159. package/dist/i18n.js +6 -0
  160. package/dist/i18n.js.map +1 -1
  161. package/dist/index.d.ts +1 -0
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js +1 -0
  164. package/dist/index.js.map +1 -1
  165. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  166. package/dist/lexical/LexicalEditor.js +20 -26
  167. package/dist/lexical/LexicalEditor.js.map +1 -1
  168. package/dist/lexical/ui/icons/CodeBlock/index.d.ts.map +1 -1
  169. package/dist/lexical/ui/icons/CodeBlock/index.js +10 -15
  170. package/dist/lexical/ui/icons/CodeBlock/index.js.map +1 -1
  171. package/dist/lexical/ui/icons/Collapse/index.d.ts +3 -0
  172. package/dist/lexical/ui/icons/Collapse/index.d.ts.map +1 -0
  173. package/dist/lexical/ui/icons/Collapse/index.js +18 -0
  174. package/dist/lexical/ui/icons/Collapse/index.js.map +1 -0
  175. package/dist/utilities/buildInitialState.d.ts +1 -0
  176. package/dist/utilities/buildInitialState.d.ts.map +1 -1
  177. package/dist/utilities/buildInitialState.js +1 -0
  178. package/dist/utilities/buildInitialState.js.map +1 -1
  179. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  180. package/dist/utilities/fieldsDrawer/DrawerContent.js +7 -3
  181. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  182. package/dist/utilities/jsx/collectTopLevelJSXInLines.js +2 -2
  183. package/dist/utilities/jsx/collectTopLevelJSXInLines.js.map +1 -1
  184. package/package.json +7 -7
  185. package/dist/exports/client/Field-EHRBYNHO.js +0 -2
  186. package/dist/exports/client/Field-EHRBYNHO.js.map +0 -7
  187. package/dist/exports/client/RelationshipComponent-APF3CN47.js +0 -2
  188. package/dist/exports/client/RelationshipComponent-APF3CN47.js.map +0 -7
  189. package/dist/exports/client/chunk-3BY5IZJD.js +0 -2
  190. package/dist/exports/client/chunk-3BY5IZJD.js.map +0 -7
  191. package/dist/exports/client/chunk-CYLMY5ZJ.js +0 -2
  192. package/dist/exports/client/chunk-CYLMY5ZJ.js.map +0 -7
  193. package/dist/exports/client/component-VDJI45F2.js +0 -2
  194. package/dist/exports/client/component-VDJI45F2.js.map +0 -7
  195. package/dist/exports/client/componentInline-7TPI7ZBC.js +0 -2
  196. package/dist/features/blocks/client/markdownTransformer.d.ts +0 -17
  197. package/dist/features/blocks/client/markdownTransformer.d.ts.map +0 -1
  198. package/dist/features/blocks/client/markdownTransformer.js +0 -144
  199. package/dist/features/blocks/client/markdownTransformer.js.map +0 -1
  200. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.d.ts.map +0 -1
  201. package/dist/features/blocks/server/linesFromMatchToContentAndPropsString.js.map +0 -1
  202. package/dist/features/blocks/server/markdownTransformer.d.ts +0 -22
  203. package/dist/features/blocks/server/markdownTransformer.d.ts.map +0 -1
  204. package/dist/features/blocks/server/markdownTransformer.js.map +0 -1
  205. /package/dist/exports/client/{chunk-2Y72RT72.js.map → chunk-TLQLXR6Q.js.map} +0 -0
  206. /package/dist/exports/client/{componentInline-7TPI7ZBC.js.map → componentInline-NGTRUSGB.js.map} +0 -0
  207. /package/dist/features/blocks/server/{linesFromMatchToContentAndPropsString.d.ts → markdown/linesFromMatchToContentAndPropsString.d.ts} +0 -0
  208. /package/dist/features/blocks/server/{linesFromMatchToContentAndPropsString.js → markdown/linesFromMatchToContentAndPropsString.js} +0 -0
@@ -0,0 +1,99 @@
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
+ export const CodeComponent = ({
7
+ autoComplete,
8
+ field,
9
+ forceRender,
10
+ languages = {
11
+ js: 'JavaScript',
12
+ plaintext: 'Plain Text',
13
+ ts: 'TypeScript'
14
+ },
15
+ path,
16
+ permissions,
17
+ readOnly,
18
+ renderedBlocks,
19
+ schemaPath,
20
+ typescript,
21
+ validate
22
+ }) => {
23
+ const languageField = useFormFields(([fields]) => fields['language']);
24
+ const language = languageField?.value || languageField?.initialValue || 'typescript';
25
+ const label = languages[language];
26
+ const props = useMemo(() => ({
27
+ ...field,
28
+ type: 'code',
29
+ admin: {
30
+ ...field.admin,
31
+ editorOptions: {},
32
+ editorProps: {
33
+ // If typescript is set, @monaco-editor/react needs to set the URI to a .ts or .tsx file when it calls createModel().
34
+ // This is done through the `defaultPath` prop.
35
+ defaultPath: language === 'ts' ? 'file.tsx' : undefined
36
+ },
37
+ language
38
+ }
39
+ }), [field, language]);
40
+ const key = `${field.name}-${language}-${label}`;
41
+ return props && /*#__PURE__*/_jsx(CodeField, {
42
+ autoComplete: autoComplete,
43
+ field: props,
44
+ forceRender: forceRender,
45
+ onMount: (_editor, monaco) => {
46
+ monaco.editor.defineTheme('vs-dark', {
47
+ base: 'vs-dark',
48
+ colors: {
49
+ 'editor.background': '#222222'
50
+ },
51
+ inherit: true,
52
+ rules: []
53
+ });
54
+ monaco.editor.defineTheme('vs', {
55
+ base: 'vs',
56
+ colors: {
57
+ 'editor.background': '#f5f5f5'
58
+ },
59
+ inherit: true,
60
+ rules: []
61
+ });
62
+ monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
63
+ allowNonTsExtensions: true,
64
+ // Set module resolution to NodeJs to enable autocompletion
65
+ allowJs: true,
66
+ allowSyntheticDefaultImports: true,
67
+ esModuleInterop: true,
68
+ jsx: monaco.languages.typescript.JsxEmit.React,
69
+ moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,
70
+ noEmit: true,
71
+ paths: typescript?.paths,
72
+ reactNamespace: 'React',
73
+ target: monaco.languages.typescript.ScriptTarget[typescript?.target ?? 'ESNext'],
74
+ typeRoots: typescript?.typeRoots ?? ['node_modules/@types']
75
+ });
76
+ monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
77
+ noSemanticValidation: typescript?.enableSemanticValidation ? false : true,
78
+ noSyntaxValidation: false
79
+ });
80
+ const run = async () => {
81
+ if (typescript?.fetchTypes && Array.isArray(typescript.fetchTypes) && typescript.fetchTypes.length > 0) {
82
+ await Promise.all(typescript.fetchTypes.map(async type => {
83
+ const types = await fetch(type.url);
84
+ const typesText = await types.text();
85
+ monaco.languages.typescript.typescriptDefaults.addExtraLib(typesText, type.filePath);
86
+ }));
87
+ }
88
+ };
89
+ void run();
90
+ },
91
+ path: path,
92
+ permissions: permissions,
93
+ readOnly: readOnly,
94
+ renderedBlocks: renderedBlocks,
95
+ schemaPath: schemaPath,
96
+ validate: validate
97
+ }, key);
98
+ };
99
+ //# sourceMappingURL=Code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Code.js","names":["CodeField","useFormFields","React","useMemo","CodeComponent","autoComplete","field","forceRender","languages","js","plaintext","ts","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\nexport type AdditionalCodeComponentProps = {\n /**\n * @default first key of the `languages` prop\n */\n defaultLanguage?: string\n /**\n * @default\n * {\n * js: 'JavaScript',\n * plaintext: 'Plain Text',\n * ts: 'TypeScript',\n * }\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 = {\n js: 'JavaScript',\n plaintext: 'Plain Text',\n ts: 'TypeScript',\n },\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,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;AAIvE;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,4BAA4B,KAAK,KAkDhE,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { codeConverter } from './converter.js';
2
+ /**
3
+ * @experimental - this API may change in future, minor releases
4
+ */
5
+ export const CodeBlock = args => {
6
+ const languages = args?.languages || {
7
+ js: 'JavaScript',
8
+ plaintext: 'Plain Text',
9
+ ts: 'TypeScript'
10
+ };
11
+ return {
12
+ slug: args?.slug || 'Code',
13
+ admin: {
14
+ components: {
15
+ Block: {
16
+ clientProps: {
17
+ languages
18
+ },
19
+ path: '@payloadcms/richtext-lexical/client#CodeBlockBlockComponent'
20
+ }
21
+ },
22
+ jsx: '@payloadcms/richtext-lexical/client#codeConverterClient'
23
+ },
24
+ fields: [{
25
+ name: 'language',
26
+ type: 'select',
27
+ admin: {
28
+ // We'll manually render this field into the block component header
29
+ hidden: true
30
+ },
31
+ defaultValue: args?.defaultLanguage || Object.keys(languages)[0],
32
+ options: Object.entries(languages).map(([key, value]) => ({
33
+ label: value,
34
+ value: key
35
+ }))
36
+ }, {
37
+ name: 'code',
38
+ type: 'code',
39
+ admin: {
40
+ components: {
41
+ Field: {
42
+ clientProps: args,
43
+ path: '@payloadcms/richtext-lexical/client#CodeComponent'
44
+ }
45
+ }
46
+ },
47
+ label: ''
48
+ }],
49
+ jsx: codeConverter
50
+ };
51
+ };
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["codeConverter","CodeBlock","args","languages","js","plaintext","ts","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 { 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 || {\n js: 'JavaScript',\n plaintext: 'Plain Text',\n ts: 'TypeScript',\n }\n\n return {\n slug: args?.slug || 'Code',\n admin: {\n components: {\n Block: {\n clientProps: {\n 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,aAAa,QAAQ;AAE9B;;;AAGA,OAAO,MAAMC,SAAA,GAA6DC,IAAA;EACxE,MAAMC,SAAA,GAAYD,IAAA,EAAMC,SAAA,IAAa;IACnCC,EAAA,EAAI;IACJC,SAAA,EAAW;IACXC,EAAA,EAAI;EACN;EAEA,OAAO;IACLC,IAAA,EAAML,IAAA,EAAMK,IAAA,IAAQ;IACpBC,KAAA,EAAO;MACLC,UAAA,EAAY;QACVC,KAAA,EAAO;UACLC,WAAA,EAAa;YACXR;UACF;UACAS,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,EAAchB,IAAA,EAAMiB,eAAA,IAAmBC,MAAA,CAAOC,IAAI,CAAClB,SAAA,CAAU,CAAC,EAAE;MAChEmB,OAAA,EAASF,MAAA,CAAOG,OAAO,CAACpB,SAAA,EAAWqB,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,EAAaT,IAAA;YACbU,IAAA,EAAM;UACR;QACF;MACF;MACAe,KAAA,EAAO;IACT,EACD;IACDd,GAAA,EAAKb;EACP;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAqU1C,CAAA"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CA8U1C,CAAA"}
@@ -2,9 +2,9 @@ export const i18n = {
2
2
  ar: {
3
3
  inlineBlocks: {
4
4
  create: 'أنشئ {{label}}',
5
- edit: 'تحرير {{التسمية}}',
5
+ edit: 'تحرير {{label}}',
6
6
  label: 'الكتل الداخلية',
7
- remove: 'إزالة {{التسمية}}'
7
+ remove: 'إزالة {{label}}'
8
8
  },
9
9
  label: 'كتل'
10
10
  },
@@ -19,16 +19,16 @@ export const i18n = {
19
19
  },
20
20
  bg: {
21
21
  inlineBlocks: {
22
- create: 'Създайте {{етикет}}',
23
- edit: 'Редактирай {{етикет}}',
22
+ create: 'Създайте {{label}}',
23
+ edit: 'Редактирай {{label}}',
24
24
  label: 'Вградени блокове',
25
- remove: 'Премахнете {{етикет}}'
25
+ remove: 'Премахнете {{label}}'
26
26
  },
27
27
  label: 'Блокове'
28
28
  },
29
29
  cs: {
30
30
  inlineBlocks: {
31
- create: 'Vytvořte {{štítek}}',
31
+ create: 'Vytvořte {{label}}',
32
32
  edit: 'Upravit {{label}}',
33
33
  label: 'Inline bloky',
34
34
  remove: 'Odstraňte {{label}}'
@@ -64,8 +64,8 @@ export const i18n = {
64
64
  },
65
65
  es: {
66
66
  inlineBlocks: {
67
- create: 'Crear {{etiqueta}}',
68
- edit: 'Editar {{etiqueta}}',
67
+ create: 'Crear {{label}}',
68
+ edit: 'Editar {{label}}',
69
69
  label: 'Bloques en línea',
70
70
  remove: 'Eliminar {{label}}'
71
71
  },
@@ -82,10 +82,10 @@ export const i18n = {
82
82
  },
83
83
  fa: {
84
84
  inlineBlocks: {
85
- create: 'ایجاد {{برچسب}}',
86
- edit: 'ویرایش {{برچسب}}',
85
+ create: 'ایجاد {{label}}',
86
+ edit: 'ویرایش {{label}}',
87
87
  label: 'بلوک‌های درون خطی',
88
- remove: 'حذف {{برچسب}}'
88
+ remove: 'حذف {{label}}'
89
89
  },
90
90
  label: 'بلوک ها'
91
91
  },
@@ -100,34 +100,43 @@ export const i18n = {
100
100
  },
101
101
  he: {
102
102
  inlineBlocks: {
103
- create: 'צור {{תווית}}',
104
- edit: 'ערוך {{תווית}}',
103
+ create: 'צור {{label}}',
104
+ edit: 'ערוך {{label}}',
105
105
  label: 'בלוקים משורשרים',
106
- remove: 'הסר {{תווית}}'
106
+ remove: 'הסר {{label}}'
107
107
  },
108
108
  label: 'חסימות'
109
109
  },
110
110
  hr: {
111
111
  inlineBlocks: {
112
- create: 'Stvori {{oznaka}}',
112
+ create: 'Stvori {{label}}',
113
113
  edit: 'Uredi {{label}}',
114
114
  label: 'Unutrašnji blokovi',
115
- remove: 'Ukloni {{oznaka}}'
115
+ remove: 'Ukloni {{label}}'
116
116
  },
117
117
  label: 'Blokovi'
118
118
  },
119
119
  hu: {
120
120
  inlineBlocks: {
121
- create: 'Hozzon létre {{címke}}',
122
- edit: 'Szerkesztés {{címke}}',
121
+ create: 'Hozzon létre {{label}}',
122
+ edit: 'Szerkesztés {{label}}',
123
123
  label: 'Beágyazott blokkok',
124
124
  remove: 'Távolítsa el a {{label}}'
125
125
  },
126
126
  label: 'Blokkok'
127
127
  },
128
+ is: {
129
+ inlineBlocks: {
130
+ create: 'Skrá {{label}}',
131
+ edit: 'Breyta {{label}}',
132
+ label: 'Línublokkir',
133
+ remove: 'Fjarlægja {{label}}'
134
+ },
135
+ label: 'Blokkir'
136
+ },
128
137
  it: {
129
138
  inlineBlocks: {
130
- create: 'Crea {{etichetta}}',
139
+ create: 'Crea {{label}}',
131
140
  edit: 'Modifica {{label}}',
132
141
  label: 'Blocchi in linea',
133
142
  remove: 'Rimuovi {{label}}'
@@ -139,7 +148,7 @@ export const i18n = {
139
148
  create: '{{label}}を作成する',
140
149
  edit: '{{label}}を編集する',
141
150
  label: 'インラインブロック',
142
- remove: '{{ラベル}}を削除します'
151
+ remove: '{{label}}を削除します'
143
152
  },
144
153
  label: 'ブロック'
145
154
  },
@@ -182,9 +191,9 @@ export const i18n = {
182
191
  pl: {
183
192
  inlineBlocks: {
184
193
  create: 'Utwórz {{label}}',
185
- edit: 'Edytuj {{etykieta}}',
194
+ edit: 'Edytuj {{label}}',
186
195
  label: 'Blokowanie w linii',
187
- remove: 'Usuń {{etykieta}}'
196
+ remove: 'Usuń {{label}}'
188
197
  },
189
198
  label: 'Bloki'
190
199
  },
@@ -199,10 +208,10 @@ export const i18n = {
199
208
  },
200
209
  ro: {
201
210
  inlineBlocks: {
202
- create: 'Creează {{eticheta}}',
203
- edit: 'Editați {{eticheta}}',
211
+ create: 'Creează {{label}}',
212
+ edit: 'Editați {{label}}',
204
213
  label: 'Blocuri in linie',
205
- remove: 'Ștergeți {{etichetă}}'
214
+ remove: 'Ștergeți {{label}}'
206
215
  },
207
216
  label: 'Blocuri'
208
217
  },
@@ -220,22 +229,22 @@ export const i18n = {
220
229
  create: 'Kreiraj {{label}}',
221
230
  edit: 'Izmeni {{label}}',
222
231
  label: 'Umetnuti blokovi',
223
- remove: 'Ukloni {{oznaka}}'
232
+ remove: 'Ukloni {{label}}'
224
233
  },
225
234
  label: 'Blokovi'
226
235
  },
227
236
  ru: {
228
237
  inlineBlocks: {
229
238
  create: 'Создать {{label}}',
230
- edit: 'Изменить {{метка}}',
239
+ edit: 'Изменить {{label}}',
231
240
  label: 'Встроенные блоки',
232
- remove: 'Удалить {{метка}}'
241
+ remove: 'Удалить {{label}}'
233
242
  },
234
243
  label: 'Блоки'
235
244
  },
236
245
  sk: {
237
246
  inlineBlocks: {
238
- create: 'Vytvorte {{označenie}}',
247
+ create: 'Vytvorte {{label}}',
239
248
  edit: 'Upraviť {{label}}',
240
249
  label: 'Inline bloky',
241
250
  remove: 'Odstráňte {{label}}'
@@ -244,7 +253,7 @@ export const i18n = {
244
253
  },
245
254
  sl: {
246
255
  inlineBlocks: {
247
- create: 'Ustvari {{oznaka}}',
256
+ create: 'Ustvari {{label}}',
248
257
  edit: 'Uredi {{label}}',
249
258
  label: 'Vrstični bloki',
250
259
  remove: 'Odstrani {{label}}'
@@ -254,9 +263,9 @@ export const i18n = {
254
263
  sv: {
255
264
  inlineBlocks: {
256
265
  create: 'Skapa {{label}}',
257
- edit: 'Redigera {{etikett}}',
266
+ edit: 'Redigera {{label}}',
258
267
  label: 'Inline-blockar',
259
- remove: 'Ta bort {{etikett}}'
268
+ remove: 'Ta bort {{label}}'
260
269
  },
261
270
  label: 'Block'
262
271
  },
@@ -280,10 +289,10 @@ export const i18n = {
280
289
  },
281
290
  tr: {
282
291
  inlineBlocks: {
283
- create: '{{Etiketi}} oluşturun',
284
- edit: "{{Etiket}}'i düzenleyin",
292
+ create: '{{label}} oluşturun',
293
+ edit: "{{label}}'i düzenleyin",
285
294
  label: 'Satır İçi Bloklar',
286
- remove: '{{Etiketi}} kaldırın'
295
+ remove: '{{label}} kaldırın'
287
296
  },
288
297
  label: 'Bloklar'
289
298
  },
@@ -292,16 +301,16 @@ export const i18n = {
292
301
  create: 'Створити {{label}}',
293
302
  edit: 'Редагувати {{label}}',
294
303
  label: 'Вбудовані блоки',
295
- remove: 'Видалити {{мітку}}'
304
+ remove: 'Видалити {{label}}'
296
305
  },
297
306
  label: 'Блоки'
298
307
  },
299
308
  vi: {
300
309
  inlineBlocks: {
301
310
  create: 'Tạo {{label}}',
302
- edit: 'Chỉnh sửa {{nhãn}}',
311
+ edit: 'Chỉnh sửa {{label}}',
303
312
  label: 'Khối nội tuyến',
304
- remove: 'Xóa {{nhãn}}'
313
+ remove: 'Xóa {{label}}'
305
314
  },
306
315
  label: 'Khối'
307
316
  },