@payloadcms/richtext-lexical 3.2.3-canary.2d2e7d5 → 3.2.3-canary.673b4b5

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 (171) hide show
  1. package/dist/exports/client/bundled.css +1 -1
  2. package/dist/exports/client/{chunk-YSJURFKK.js → chunk-H6YVKFZN.js} +2 -2
  3. package/dist/exports/client/chunk-H6YVKFZN.js.map +7 -0
  4. package/dist/exports/client/componentInline-WMS3WMBA.js +2 -0
  5. package/dist/exports/client/index.d.ts +4 -0
  6. package/dist/exports/client/index.d.ts.map +1 -1
  7. package/dist/exports/client/index.js +11 -11
  8. package/dist/exports/client/index.js.map +4 -4
  9. package/dist/features/align/server/i18n.d.ts.map +1 -1
  10. package/dist/features/align/server/i18n.js +6 -0
  11. package/dist/features/align/server/i18n.js.map +1 -1
  12. package/dist/features/blockquote/server/i18n.d.ts.map +1 -1
  13. package/dist/features/blockquote/server/i18n.js +3 -0
  14. package/dist/features/blockquote/server/i18n.js.map +1 -1
  15. package/dist/features/blocks/WrapperBlockNode.d.ts +1151 -0
  16. package/dist/features/blocks/WrapperBlockNode.d.ts.map +1 -0
  17. package/dist/features/blocks/WrapperBlockNode.js +113 -0
  18. package/dist/features/blocks/WrapperBlockNode.js.map +1 -0
  19. package/dist/features/blocks/client/component/index.d.ts +1 -1
  20. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  21. package/dist/features/blocks/client/component/index.js.map +1 -1
  22. package/dist/features/blocks/client/componentInline/index.d.ts +1 -1
  23. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  24. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  25. package/dist/features/blocks/client/index.d.ts.map +1 -1
  26. package/dist/features/blocks/client/index.js +65 -4
  27. package/dist/features/blocks/client/index.js.map +1 -1
  28. package/dist/features/blocks/client/nodes/BlocksNode.d.ts +2 -2
  29. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  30. package/dist/features/blocks/client/nodes/BlocksNode.js +1 -1
  31. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  32. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts +2 -2
  33. package/dist/features/blocks/client/nodes/InlineBlocksNode.d.ts.map +1 -1
  34. package/dist/features/blocks/client/nodes/InlineBlocksNode.js +1 -1
  35. package/dist/features/blocks/client/nodes/InlineBlocksNode.js.map +1 -1
  36. package/dist/features/blocks/client/plugin/commands.d.ts +12 -1
  37. package/dist/features/blocks/client/plugin/commands.d.ts.map +1 -1
  38. package/dist/features/blocks/client/plugin/commands.js +2 -0
  39. package/dist/features/blocks/client/plugin/commands.js.map +1 -1
  40. package/dist/features/blocks/client/plugin/index.d.ts +1 -1
  41. package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
  42. package/dist/features/blocks/client/plugin/index.js +30 -35
  43. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  44. package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/index.d.ts +23 -0
  45. package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/index.d.ts.map +1 -0
  46. package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/index.js +330 -0
  47. package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/index.js.map +1 -0
  48. package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.d.ts +22 -0
  49. package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.d.ts.map +1 -0
  50. package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.js +169 -0
  51. package/dist/features/blocks/client/plugin/wrapperBlocks/BlockEditor/useLexicalFormState.js.map +1 -0
  52. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockContainer.d.ts +5 -0
  53. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockContainer.d.ts.map +1 -0
  54. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockContainer.js +28 -0
  55. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockContainer.js.map +1 -0
  56. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockEditButton.d.ts +3 -0
  57. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockEditButton.d.ts.map +1 -0
  58. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockEditButton.js +22 -0
  59. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockEditButton.js.map +1 -0
  60. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockLabel.d.ts +3 -0
  61. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockLabel.d.ts.map +1 -0
  62. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockLabel.js +22 -0
  63. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockLabel.js.map +1 -0
  64. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockRemoveButton.d.ts +3 -0
  65. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockRemoveButton.d.ts.map +1 -0
  66. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockRemoveButton.js +22 -0
  67. package/dist/features/blocks/client/plugin/wrapperBlocks/components/WrapperBlockRemoveButton.js.map +1 -0
  68. package/dist/features/blocks/client/plugin/wrapperBlocks/index.d.ts +9 -0
  69. package/dist/features/blocks/client/plugin/wrapperBlocks/index.d.ts.map +1 -0
  70. package/dist/features/blocks/client/plugin/wrapperBlocks/index.js +111 -0
  71. package/dist/features/blocks/client/plugin/wrapperBlocks/index.js.map +1 -0
  72. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts +4 -3
  73. package/dist/features/blocks/server/graphQLPopulationPromise.d.ts.map +1 -1
  74. package/dist/features/blocks/server/graphQLPopulationPromise.js.map +1 -1
  75. package/dist/features/blocks/server/i18n.d.ts.map +1 -1
  76. package/dist/features/blocks/server/i18n.js +144 -33
  77. package/dist/features/blocks/server/i18n.js.map +1 -1
  78. package/dist/features/blocks/server/index.d.ts +5 -1
  79. package/dist/features/blocks/server/index.d.ts.map +1 -1
  80. package/dist/features/blocks/server/index.js +82 -2
  81. package/dist/features/blocks/server/index.js.map +1 -1
  82. package/dist/features/blocks/server/markdownTransformer.js +2 -2
  83. package/dist/features/blocks/server/markdownTransformer.js.map +1 -1
  84. package/dist/features/blocks/server/nodes/{BlocksNode.d.ts → BlockNode.d.ts} +2 -2
  85. package/dist/features/blocks/server/nodes/BlockNode.d.ts.map +1 -0
  86. package/dist/features/blocks/server/nodes/{BlocksNode.js → BlockNode.js} +1 -1
  87. package/dist/features/blocks/server/nodes/BlockNode.js.map +1 -0
  88. package/dist/features/blocks/server/nodes/{InlineBlocksNode.d.ts → InlineBlockNode.d.ts} +1 -1
  89. package/dist/features/blocks/server/nodes/InlineBlockNode.d.ts.map +1 -0
  90. package/dist/features/blocks/server/nodes/{InlineBlocksNode.js → InlineBlockNode.js} +1 -1
  91. package/dist/features/blocks/server/nodes/InlineBlockNode.js.map +1 -0
  92. package/dist/features/blocks/server/validate.d.ts +4 -3
  93. package/dist/features/blocks/server/validate.d.ts.map +1 -1
  94. package/dist/features/blocks/server/validate.js.map +1 -1
  95. package/dist/features/heading/server/i18n.d.ts.map +1 -1
  96. package/dist/features/heading/server/i18n.js +3 -0
  97. package/dist/features/heading/server/i18n.js.map +1 -1
  98. package/dist/features/horizontalRule/server/i18n.d.ts.map +1 -1
  99. package/dist/features/horizontalRule/server/i18n.js +3 -0
  100. package/dist/features/horizontalRule/server/i18n.js.map +1 -1
  101. package/dist/features/indent/server/i18n.d.ts.map +1 -1
  102. package/dist/features/indent/server/i18n.js +4 -0
  103. package/dist/features/indent/server/i18n.js.map +1 -1
  104. package/dist/features/link/server/i18n.d.ts.map +1 -1
  105. package/dist/features/link/server/i18n.js +4 -0
  106. package/dist/features/link/server/i18n.js.map +1 -1
  107. package/dist/features/lists/checklist/server/i18n.d.ts.map +1 -1
  108. package/dist/features/lists/checklist/server/i18n.js +3 -0
  109. package/dist/features/lists/checklist/server/i18n.js.map +1 -1
  110. package/dist/features/lists/orderedList/server/i18n.d.ts.map +1 -1
  111. package/dist/features/lists/orderedList/server/i18n.js +3 -0
  112. package/dist/features/lists/orderedList/server/i18n.js.map +1 -1
  113. package/dist/features/lists/unorderedList/server/i18n.d.ts.map +1 -1
  114. package/dist/features/lists/unorderedList/server/i18n.js +3 -0
  115. package/dist/features/lists/unorderedList/server/i18n.js.map +1 -1
  116. package/dist/features/paragraph/server/i18n.d.ts.map +1 -1
  117. package/dist/features/paragraph/server/i18n.js +4 -0
  118. package/dist/features/paragraph/server/i18n.js.map +1 -1
  119. package/dist/features/relationship/server/i18n.d.ts.map +1 -1
  120. package/dist/features/relationship/server/i18n.js +3 -0
  121. package/dist/features/relationship/server/i18n.js.map +1 -1
  122. package/dist/features/typesClient.d.ts +3 -2
  123. package/dist/features/typesClient.d.ts.map +1 -1
  124. package/dist/features/typesClient.js.map +1 -1
  125. package/dist/features/typesServer.d.ts +8 -1
  126. package/dist/features/typesServer.d.ts.map +1 -1
  127. package/dist/features/typesServer.js.map +1 -1
  128. package/dist/features/upload/server/i18n.d.ts.map +1 -1
  129. package/dist/features/upload/server/i18n.js +3 -0
  130. package/dist/features/upload/server/i18n.js.map +1 -1
  131. package/dist/field/bundled.css +1 -1
  132. package/dist/field/index.d.ts.map +1 -1
  133. package/dist/field/index.js +19 -16
  134. package/dist/field/index.js.map +1 -1
  135. package/dist/field/rscEntry.js +2 -0
  136. package/dist/field/rscEntry.js.map +1 -1
  137. package/dist/i18n.d.ts.map +1 -1
  138. package/dist/i18n.js +6 -0
  139. package/dist/i18n.js.map +1 -1
  140. package/dist/index.d.ts +3 -2
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.js.map +1 -1
  143. package/dist/lexical/config/client/loader.d.ts +2 -1
  144. package/dist/lexical/config/client/loader.d.ts.map +1 -1
  145. package/dist/lexical/config/client/loader.js +2 -0
  146. package/dist/lexical/config/client/loader.js.map +1 -1
  147. package/dist/nodeTypes.d.ts +2 -2
  148. package/dist/nodeTypes.d.ts.map +1 -1
  149. package/dist/nodeTypes.js.map +1 -1
  150. package/dist/types.d.ts +1 -0
  151. package/dist/types.d.ts.map +1 -1
  152. package/dist/types.js.map +1 -1
  153. package/dist/utilities/createClientFeature.d.ts +1 -0
  154. package/dist/utilities/createClientFeature.d.ts.map +1 -1
  155. package/dist/utilities/createClientFeature.js +2 -0
  156. package/dist/utilities/createClientFeature.js.map +1 -1
  157. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  158. package/dist/utilities/generateImportMap.js +5 -2
  159. package/dist/utilities/generateImportMap.js.map +1 -1
  160. package/dist/utilities/initLexicalFeatures.d.ts +1 -0
  161. package/dist/utilities/initLexicalFeatures.d.ts.map +1 -1
  162. package/dist/utilities/initLexicalFeatures.js +18 -1
  163. package/dist/utilities/initLexicalFeatures.js.map +1 -1
  164. package/package.json +6 -6
  165. package/dist/exports/client/chunk-YSJURFKK.js.map +0 -7
  166. package/dist/exports/client/componentInline-OK3ZQ6YQ.js +0 -2
  167. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +0 -1
  168. package/dist/features/blocks/server/nodes/BlocksNode.js.map +0 -1
  169. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +0 -1
  170. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +0 -1
  171. /package/dist/exports/client/{componentInline-OK3ZQ6YQ.js.map → componentInline-WMS3WMBA.js.map} +0 -0
@@ -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","validRelationships","collections","map","c","slug","sanitized","fields","name","type","blocks","inlineBlocks","requireFieldLevelRichTextEditor","ClientFeature","generatedTypes","modifyOutputSchema","collectionIDFieldTypes","currentSchema","field","interfaceNameDefinitions","length","push","block","flattenedFields","generateSchemaMap","schemaMap","Map","blockFields","admin","components","unshift","Block","BlockLabel","Label","set","markdownTransformers","nodes","getSubFields","node","blockType","find","getSubFieldsData","graphQLPopulationPromises","validations","sanitizedServerFeatureProps","key"],"sources":["../../../../src/features/blocks/server/index.ts"],"sourcesContent":["import type { Block, BlocksField, Config, FieldSchemaMap, FlattenedBlocksField } 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[]\n inlineBlocks?: Block[]\n}\n\nexport const BlocksFeature = createServerFeature<BlocksFeatureProps, BlocksFeatureProps>({\n feature: async ({ config: _config, isRoot, parentIsLocalized, 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 blocks: props.blocks ?? [],\n },\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blocks: props.inlineBlocks ?? [],\n },\n ],\n parentIsLocalized,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n\n props.blocks = (sanitized[0] as BlocksField).blocks\n props.inlineBlocks = (sanitized[1] as BlocksField).blocks\n\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#BlocksFeatureClient',\n generatedTypes: {\n modifyOutputSchema: ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n interfaceNameDefinitions,\n }) => {\n if (!props?.blocks?.length && !props?.inlineBlocks?.length) {\n return currentSchema\n }\n\n const fields: FlattenedBlocksField[] = []\n\n if (props?.blocks?.length) {\n fields.push({\n name: field?.name + '_lexical_blocks',\n type: 'blocks',\n blocks: props.blocks.map((block) => ({\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n })),\n })\n }\n if (props?.inlineBlocks?.length) {\n fields.push({\n name: field?.name + '_lexical_inline_blocks',\n type: 'blocks',\n blocks: props.inlineBlocks.map((block) => ({\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\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(collectionIDFieldTypes, fields, interfaceNameDefinitions, config)\n }\n\n return currentSchema\n },\n },\n generateSchemaMap: ({ props }) => {\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 (props?.blocks?.length) {\n for (const block of props.blocks) {\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 (props?.inlineBlocks?.length) {\n // To generate block schemaMap which generates things like the componentMap for admin.Label\n for (const block of props.inlineBlocks) {\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: props.blocks,\n inlineBlocks: props.inlineBlocks,\n }),\n\n nodes: [\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (props?.blocks?.length) {\n return [\n {\n name: 'lexical_blocks',\n type: 'blocks',\n blocks: props.blocks,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = props.blocks?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(props.blocks)],\n node: ServerBlockNode,\n validations: [blockValidationHOC(props.blocks)],\n }),\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (props?.inlineBlocks?.length) {\n return [\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blocks: props.inlineBlocks,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = props.inlineBlocks?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(props.inlineBlocks)],\n node: ServerInlineBlockNode,\n validations: [blockValidationHOC(props.inlineBlocks)],\n }),\n ],\n sanitizedServerFeatureProps: props,\n }\n },\n key: 'blocks',\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldsToJSONSchema","flattenAllFields","sanitizeFields","createServerFeature","createNode","getWrapperBlockNode","blockPopulationPromiseHOC","i18n","getBlockMarkdownTransformers","ServerBlockNode","ServerInlineBlockNode","blockValidationHOC","BlocksFeature","feature","config","_config","isRoot","parentIsLocalized","props","validRelationships","collections","map","c","slug","sanitized","fields","name","type","blocks","inlineBlocks","wrapperBlocks","wrapperBlock","block","requireFieldLevelRichTextEditor","domMap","wrappedBlockSlugsAndCreateDOMs","index","createDOM","ClientFeature","componentImports","generatedTypes","modifyOutputSchema","collectionIDFieldTypes","currentSchema","field","interfaceNameDefinitions","length","push","flattenedFields","generateSchemaMap","schemaMap","Map","blockFields","admin","components","unshift","Block","BlockLabel","Label","set","markdownTransformers","nodes","getSubFields","node","blockType","find","getSubFieldsData","graphQLPopulationPromises","validations","WrapperBlockNode","sanitizedServerFeatureProps","key"],"sources":["../../../../src/features/blocks/server/index.ts"],"sourcesContent":["import type {\n Block,\n BlocksField,\n Config,\n FieldSchemaMap,\n FlattenedBlocksField,\n PayloadComponent,\n} from 'payload'\n\nimport { fieldsToJSONSchema, flattenAllFields, sanitizeFields } from 'payload'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\nimport { createNode } from '../../typeUtilities.js'\nimport { type DOMMap, getWrapperBlockNode } from '../WrapperBlockNode.js'\nimport { blockPopulationPromiseHOC } from './graphQLPopulationPromise.js'\nimport { i18n } from './i18n.js'\nimport { getBlockMarkdownTransformers } from './markdownTransformer.js'\nimport { ServerBlockNode } from './nodes/BlockNode.js'\nimport { ServerInlineBlockNode } from './nodes/InlineBlockNode.js'\nimport { blockValidationHOC } from './validate.js'\n\nexport type BlocksFeatureProps = {\n blocks?: Block[]\n inlineBlocks?: Block[]\n wrapperBlocks?: Array<{\n block: Block\n createDOM: PayloadComponent\n }>\n}\n\nexport const BlocksFeature = createServerFeature<BlocksFeatureProps, BlocksFeatureProps>({\n feature: async ({ config: _config, isRoot, parentIsLocalized, 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 blocks: props.blocks ?? [],\n },\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blocks: props.inlineBlocks ?? [],\n },\n {\n name: 'lexical_wrapper_blocks',\n type: 'blocks',\n blocks: props.wrapperBlocks\n ? props.wrapperBlocks.map((wrapperBlock) => wrapperBlock.block)\n : [],\n },\n ],\n parentIsLocalized,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n\n props.blocks = (sanitized[0] as BlocksField).blocks\n props.inlineBlocks = (sanitized[1] as BlocksField).blocks\n\n const domMap: DOMMap = {}\n\n const wrappedBlockSlugsAndCreateDOMs: {\n [blockSlug: string]: PayloadComponent\n } = {}\n\n props.wrapperBlocks = props.wrapperBlocks?.map((wrapperBlock, index) => {\n wrappedBlockSlugsAndCreateDOMs[wrapperBlock.block.slug] = wrapperBlock.createDOM\n return {\n block: (sanitized[2] as BlocksField).blocks[index],\n createDOM: wrapperBlock.createDOM,\n }\n })\n\n return {\n ClientFeature: '@payloadcms/richtext-lexical/client#BlocksFeatureClient',\n componentImports: wrappedBlockSlugsAndCreateDOMs,\n generatedTypes: {\n modifyOutputSchema: ({\n collectionIDFieldTypes,\n config,\n currentSchema,\n field,\n interfaceNameDefinitions,\n }) => {\n if (!props?.blocks?.length && !props?.inlineBlocks?.length) {\n return currentSchema\n }\n\n const fields: FlattenedBlocksField[] = []\n\n if (props?.blocks?.length) {\n fields.push({\n name: field?.name + '_lexical_blocks',\n type: 'blocks',\n blocks: props.blocks.map((block) => ({\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n })),\n })\n }\n if (props?.inlineBlocks?.length) {\n fields.push({\n name: field?.name + '_lexical_inline_blocks',\n type: 'blocks',\n blocks: props.inlineBlocks.map((block) => ({\n ...block,\n flattenedFields: flattenAllFields({ fields: block.fields }),\n })),\n })\n }\n\n if (props?.wrapperBlocks?.length) {\n fields.push({\n name: field?.name + '_lexical_wrapper_blocks',\n type: 'blocks',\n blocks: props.wrapperBlocks.map((wrapperBlock) => ({\n ...wrapperBlock.block,\n flattenedFields: flattenAllFields({ fields: wrapperBlock.block.fields }),\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(collectionIDFieldTypes, fields, interfaceNameDefinitions, config)\n }\n\n return currentSchema\n },\n },\n generateSchemaMap: ({ props }) => {\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 (props?.blocks?.length) {\n for (const block of props.blocks) {\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 (props?.inlineBlocks?.length) {\n // To generate block schemaMap which generates things like the componentMap for admin.Label\n for (const block of props.inlineBlocks) {\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 if (props?.wrapperBlocks?.length) {\n for (const wrapperBlock of props.wrapperBlocks) {\n const block = wrapperBlock.block\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_wrapper_blocks.${block.slug}.fields`, {\n fields: blockFields,\n })\n schemaMap.set(`lexical_wrapper_blocks.${block.slug}`, {\n name: `lexical_wrapper_blocks_${block.slug}`,\n type: 'blocks',\n blocks: [block],\n })\n }\n }\n\n return schemaMap\n },\n i18n,\n markdownTransformers: getBlockMarkdownTransformers({\n blocks: props.blocks,\n inlineBlocks: props.inlineBlocks,\n }),\n\n nodes: [\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (props?.blocks?.length) {\n return [\n {\n name: 'lexical_blocks',\n type: 'blocks',\n blocks: props.blocks,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = props.blocks?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(props.blocks)],\n node: ServerBlockNode,\n validations: [blockValidationHOC(props.blocks)],\n }),\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (props?.inlineBlocks?.length) {\n return [\n {\n name: 'lexical_inline_blocks',\n type: 'blocks',\n blocks: props.inlineBlocks,\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = props.inlineBlocks?.find((block) => block.slug === blockType)\n return block?.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [blockPopulationPromiseHOC(props.inlineBlocks)],\n node: ServerInlineBlockNode,\n validations: [blockValidationHOC(props.inlineBlocks)],\n }),\n createNode({\n // @ts-expect-error - TODO: fix this\n getSubFields: ({ node }) => {\n if (!node) {\n if (props?.wrapperBlocks?.length) {\n return [\n {\n name: 'lexical_wrapper_blocks',\n type: 'blocks',\n blocks: props.wrapperBlocks.map((wrapperBlock) => wrapperBlock.block),\n },\n ]\n }\n return []\n }\n\n const blockType = node.fields.blockType\n\n const block = props.wrapperBlocks?.find(\n (wrapperBlock) => wrapperBlock.block.slug === blockType,\n )\n return block?.block.fields\n },\n getSubFieldsData: ({ node }) => {\n return node?.fields\n },\n graphQLPopulationPromises: [\n blockPopulationPromiseHOC(\n props.wrapperBlocks\n ? props.wrapperBlocks.map((wrapperBlock) => wrapperBlock.block)\n : [],\n ),\n ],\n node: getWrapperBlockNode(domMap).WrapperBlockNode,\n validations: [\n blockValidationHOC(\n props.wrapperBlocks\n ? props.wrapperBlocks.map((wrapperBlock) => wrapperBlock.block)\n : [],\n ),\n ],\n }),\n ],\n sanitizedServerFeatureProps: props,\n }\n },\n key: 'blocks',\n})\n"],"mappings":"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","ignoreList":[]}
@@ -6,8 +6,8 @@ import { extractPropsFromJSXPropsString } from '../../../utilities/jsx/extractPr
6
6
  import { propsToJSXString } from '../../../utilities/jsx/jsx.js';
7
7
  import { $convertFromMarkdownString } from '../../../utilities/jsx/lexicalMarkdownCopy.js';
8
8
  import { linesFromStartToContentAndPropsString } from './linesFromMatchToContentAndPropsString.js';
9
- import { $createServerBlockNode, $isServerBlockNode, ServerBlockNode } from './nodes/BlocksNode.js';
10
- import { $createServerInlineBlockNode, $isServerInlineBlockNode, ServerInlineBlockNode } from './nodes/InlineBlocksNode.js';
9
+ import { $createServerBlockNode, $isServerBlockNode, ServerBlockNode } from './nodes/BlockNode.js';
10
+ import { $createServerInlineBlockNode, $isServerInlineBlockNode, ServerInlineBlockNode } from './nodes/InlineBlockNode.js';
11
11
  export function createTagRegexes(tagName) {
12
12
  const escapedTagName = tagName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
13
13
  // Regex components
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.js","names":["createHeadlessEditor","$parseSerializedNode","getEnabledNodesFromServerNodes","$convertToMarkdownString","extractPropsFromJSXPropsString","propsToJSXString","$convertFromMarkdownString","linesFromStartToContentAndPropsString","$createServerBlockNode","$isServerBlockNode","ServerBlockNode","$createServerInlineBlockNode","$isServerInlineBlockNode","ServerInlineBlockNode","createTagRegexes","tagName","escapedTagName","replace","openingTag","closingTag","optionalWhitespace","mandatoryClosingBracket","startPattern","endPattern","regExpEnd","RegExp","regExpStart","getBlockMarkdownTransformers","blocks","inlineBlocks","length","transformers","block","transformer","getMarkdownTransformerForBlock","concat","isInlineBlock","jsx","regex","slug","toReturn","push","allNodes","allTransformers","type","dependencies","export","node","getFields","blockType","toLowerCase","nodeFields","lexicalToMarkdown","getLexicalToMarkdown","exportResult","fields","hasProps","props","Object","keys","children","getEndIndex","match","endlineLastCharIndex","isEndOptional","lines","getTextContent","regexpEndRegex","startLineIndex","startMatch","trimChildren","importRegExp","customStartRegex","regExp","content","propsString","index","import","markdownToLexical","getMarkdownToLexical","blockFields","closeMatch","htmlToLexical","openMatch","inlineBlockNode","sanitizedChildren","includes","child","split","sanitizedChild","doNotTrimChildren","handleImportAfterStartMatch","customEndRegex","undefined","rootNode","optional","afterEndLine","beforeStartLine","unsanitizedContent","endLineIndex","endsWith","slice","startsWith","prevNodes","nextNodes","markdown","root","append","lastChild","getChildren","linesInBetween","line","childrenString","filter","trim","join","headlessEditor","nodes","update","discrete","getEditorState","toJSON","editorState","setEditorState","parseEditorState","e","console","error","read"],"sources":["../../../../src/features/blocks/server/markdownTransformer.ts"],"sourcesContent":["import type { ElementNode, SerializedEditorState, SerializedLexicalNode } from 'lexical'\nimport type { Block } from 'payload'\n\nimport { createHeadlessEditor } from '@lexical/headless'\nimport { $parseSerializedNode } from 'lexical'\n\nimport type { NodeWithHooks } from '../../typesServer.js'\n\nimport { getEnabledNodesFromServerNodes } from '../../../lexical/nodes/index.js'\nimport {\n $convertToMarkdownString,\n type MultilineElementTransformer,\n type TextMatchTransformer,\n type Transformer,\n} from '../../../packages/@lexical/markdown/index.js'\nimport { extractPropsFromJSXPropsString } from '../../../utilities/jsx/extractPropsFromJSXPropsString.js'\nimport { propsToJSXString } from '../../../utilities/jsx/jsx.js'\nimport { $convertFromMarkdownString } from '../../../utilities/jsx/lexicalMarkdownCopy.js'\nimport { linesFromStartToContentAndPropsString } from './linesFromMatchToContentAndPropsString.js'\nimport { $createServerBlockNode, $isServerBlockNode, ServerBlockNode } from './nodes/BlocksNode.js'\nimport {\n $createServerInlineBlockNode,\n $isServerInlineBlockNode,\n ServerInlineBlockNode,\n} from './nodes/InlineBlocksNode.js'\n\nexport function createTagRegexes(tagName: string) {\n const escapedTagName = tagName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\n // Regex components\n const openingTag = `<${escapedTagName}`\n const closingTag = `</${escapedTagName}`\n const optionalWhitespace = `\\\\s*`\n const mandatoryClosingBracket = `>`\n\n // Assembled regex patterns\n const startPattern = `${openingTag}(?=\\\\s|>|$)` // Only match the tag name\n const endPattern = `${closingTag}${optionalWhitespace}${mandatoryClosingBracket}`\n\n return {\n regExpEnd: new RegExp(endPattern, 'i'),\n regExpStart: new RegExp(startPattern, 'i'),\n }\n}\nexport const getBlockMarkdownTransformers = ({\n blocks,\n inlineBlocks,\n}: {\n blocks: Block[]\n inlineBlocks: Block[]\n}): ((props: {\n allNodes: Array<NodeWithHooks>\n allTransformers: Transformer[]\n}) => MultilineElementTransformer | TextMatchTransformer)[] => {\n if (!blocks?.length && !inlineBlocks?.length) {\n return []\n }\n\n let transformers: ((props: {\n allNodes: Array<NodeWithHooks>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer)[] = []\n\n if (blocks?.length) {\n for (const block of blocks) {\n const transformer = getMarkdownTransformerForBlock(block, false)\n\n if (transformer) {\n transformers = transformers.concat(transformer)\n }\n }\n }\n\n if (inlineBlocks?.length) {\n for (const block of inlineBlocks) {\n const transformer = getMarkdownTransformerForBlock(block, true)\n\n if (transformer) {\n transformers = transformers.concat(transformer)\n }\n }\n }\n\n return transformers\n}\n\nfunction getMarkdownTransformerForBlock(\n block: Block,\n isInlineBlock: boolean,\n): Array<\n (props: {\n allNodes: Array<NodeWithHooks>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer\n> | null {\n if (!block.jsx) {\n return null\n }\n const regex = createTagRegexes(block.slug)\n const toReturn: Array<\n (props: {\n allNodes: Array<NodeWithHooks>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer\n > = []\n\n if (isInlineBlock) {\n toReturn.push(({ allNodes, allTransformers }) => ({\n type: 'text-match',\n dependencies: [ServerInlineBlockNode],\n export: (node) => {\n if (!$isServerInlineBlockNode(node)) {\n return null\n }\n\n if (node.getFields()?.blockType?.toLowerCase() !== block.slug.toLowerCase()) {\n return null\n }\n\n const nodeFields = node.getFields()\n const lexicalToMarkdown = getLexicalToMarkdown(allNodes, allTransformers)\n\n const exportResult = block.jsx!.export({\n fields: nodeFields,\n lexicalToMarkdown,\n })\n if (exportResult === false) {\n return null\n }\n if (typeof exportResult === 'string') {\n return exportResult\n }\n\n const hasProps = exportResult.props && Object.keys(exportResult.props)?.length > 0\n const props = exportResult.props ?? {}\n\n if (exportResult?.children?.length) {\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}>${exportResult.children}</${nodeFields.blockType}>`\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}/>`\n },\n getEndIndex: (node, match) => {\n const { endlineLastCharIndex } = linesFromStartToContentAndPropsString({\n isEndOptional: false,\n lines: [node.getTextContent()],\n regexpEndRegex: regex.regExpEnd,\n startLineIndex: 0,\n startMatch: match,\n trimChildren: false,\n })\n\n return endlineLastCharIndex\n },\n importRegExp: block.jsx?.customStartRegex ?? regex.regExpStart,\n regExp: /___ignoreignoreignore___/g,\n replace(node, match) {\n const { content, propsString } = linesFromStartToContentAndPropsString({\n isEndOptional: false,\n lines: [node.getTextContent()],\n regexpEndRegex: regex.regExpEnd,\n startLineIndex: 0,\n startMatch: {\n ...match,\n index: 0,\n },\n trimChildren: false,\n })\n\n if (!block?.jsx?.import) {\n // No multiline transformer handled this line successfully\n return\n }\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: content,\n closeMatch: null,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: match,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return\n }\n\n const inlineBlockNode = $createServerInlineBlockNode({\n blockType: block.slug,\n ...(blockFields as any),\n })\n\n node.replace(inlineBlockNode)\n },\n }))\n\n return toReturn\n }\n\n toReturn.push(({ allNodes, allTransformers }) => ({\n dependencies: [ServerBlockNode],\n export: (node) => {\n if (!$isServerBlockNode(node)) {\n return null\n }\n\n if (node.getFields()?.blockType?.toLowerCase() !== block.slug.toLowerCase()) {\n return null\n }\n\n const nodeFields = node.getFields()\n const lexicalToMarkdown = getLexicalToMarkdown(allNodes, allTransformers)\n\n const exportResult = block.jsx!.export({\n fields: nodeFields,\n lexicalToMarkdown,\n })\n if (exportResult === false) {\n return null\n }\n if (typeof exportResult === 'string') {\n return exportResult\n }\n\n const hasProps = exportResult.props && Object.keys(exportResult.props)?.length > 0\n const props = exportResult.props ?? {}\n\n if (exportResult?.children?.length) {\n const children = exportResult.children\n let sanitizedChildren = ''\n\n // Ensure it has a leftpad of at least 2 spaces. The data is saved without those spaces, so we can just blindly add it to every child\n if (children.includes('\\n')) {\n for (const child of children.split('\\n')) {\n let sanitizedChild = ''\n if (!block?.jsx?.doNotTrimChildren && child !== '') {\n sanitizedChild = ' '\n }\n sanitizedChild += child + '\\n'\n\n sanitizedChildren += sanitizedChild\n }\n } else {\n sanitizedChildren = (block?.jsx?.doNotTrimChildren ? '' : ' ') + children + '\\n'\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}>\\n${sanitizedChildren}</${nodeFields.blockType}>`\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}/>`\n },\n handleImportAfterStartMatch: block.jsx?.customEndRegex\n ? undefined\n : ({ lines, rootNode, startLineIndex, startMatch, transformer }) => {\n const regexpEndRegex: RegExp | undefined =\n typeof transformer.regExpEnd === 'object' && 'regExp' in transformer.regExpEnd\n ? transformer.regExpEnd.regExp\n : transformer.regExpEnd\n\n const isEndOptional =\n transformer.regExpEnd &&\n typeof transformer.regExpEnd === 'object' &&\n 'optional' in transformer.regExpEnd\n ? transformer.regExpEnd.optional\n : !transformer.regExpEnd\n\n const {\n afterEndLine,\n beforeStartLine,\n content: unsanitizedContent,\n endLineIndex,\n propsString,\n } = linesFromStartToContentAndPropsString({\n isEndOptional,\n lines,\n regexpEndRegex,\n startLineIndex,\n startMatch,\n trimChildren: false,\n })\n\n let content = ''\n\n if (block?.jsx?.doNotTrimChildren) {\n content = unsanitizedContent.endsWith('\\n')\n ? unsanitizedContent.slice(0, -1)\n : unsanitizedContent\n } else {\n // Ensure it has a leftpad of at least 2 spaces. The data is saved without those spaces, so we can just blindly add it to every child\n if (unsanitizedContent.includes('\\n')) {\n const split = unsanitizedContent.split('\\n')\n let index = 0\n for (const child of split) {\n index++\n\n if (child.startsWith(' ')) {\n content += child.slice(2)\n } else {\n // If one child is misaligned, skip aligning completely, unless it's just empty\n if (child === '') {\n content += child\n } else {\n content = unsanitizedContent.endsWith('\\n')\n ? unsanitizedContent.slice(0, -1)\n : unsanitizedContent\n break\n }\n }\n\n content += index === split.length ? '' : '\\n'\n }\n } else {\n content =\n (!unsanitizedContent.startsWith(' ')\n ? unsanitizedContent\n : unsanitizedContent.slice(2)) + '\\n'\n }\n }\n\n if (!block?.jsx?.import) {\n // No multiline transformer handled this line successfully\n return [false, startLineIndex]\n }\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: content,\n closeMatch: null,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: startMatch,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return [false, startLineIndex]\n }\n\n const node = $createServerBlockNode({\n blockType: block.slug,\n ...blockFields,\n } as any)\n\n if (node) {\n // Now handle beforeStartLine and afterEndLine. If those are not empty, we need to add them as text nodes before and after the block node.\n // However, those themselves can contain other markdown matches, so we need to parse them as well.\n // Example where this is needed: \"Hello <InlineCode>inline code</InlineCode> test.\"\n let prevNodes: null | SerializedLexicalNode[] = null\n let nextNodes: null | SerializedLexicalNode[] = null\n // TODO: Might not need this prevNodes and nextNodes handling if inline nodes are handled by textmatch transformers\n\n if (beforeStartLine?.length) {\n prevNodes = markdownToLexical({ markdown: beforeStartLine })?.root?.children ?? []\n\n if (prevNodes?.length) {\n rootNode.append($parseSerializedNode(prevNodes[0]))\n }\n }\n\n rootNode.append(node)\n\n if (afterEndLine?.length) {\n nextNodes = markdownToLexical({ markdown: afterEndLine })?.root?.children ?? []\n const lastChild = rootNode.getChildren()[rootNode.getChildren().length - 1]\n\n const children = ($parseSerializedNode(nextNodes[0]) as ElementNode)?.getChildren()\n if (children?.length) {\n for (const child of children) {\n ;(lastChild as ElementNode).append(child)\n }\n }\n }\n }\n\n return [true, endLineIndex]\n },\n regExpEnd: block.jsx?.customEndRegex ?? regex.regExpEnd,\n regExpStart: block.jsx?.customStartRegex ?? regex.regExpStart,\n // This replace is ONLY run for ``` code blocks (so any blocks with custom start and end regexes). For others, we use the special JSX handling above:\n type: 'multiline-element',\n replace: (rootNode, children, openMatch, closeMatch, linesInBetween) => {\n if (block?.jsx?.import) {\n if (!linesInBetween) {\n // convert children to linesInBetween\n let line = ''\n if (children) {\n for (const child of children) {\n line += child.getTextContent()\n }\n }\n\n linesInBetween = [line]\n }\n\n let childrenString = ''\n if (block?.jsx?.doNotTrimChildren) {\n // Do not trim, but remove empty lines\n childrenString = linesInBetween.filter((line) => line.trim().length > 0).join('\\n')\n } else {\n childrenString = linesInBetween.join('\\n').trim()\n }\n\n const propsString: null | string = openMatch?.length > 1 ? openMatch[1]?.trim() : null\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: childrenString,\n closeMatch: closeMatch as RegExpMatchArray,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: openMatch as RegExpMatchArray,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return false\n }\n\n const node = $createServerBlockNode({\n blockType: block.slug,\n ...blockFields,\n } as any)\n\n if (node) {\n rootNode.append(node)\n }\n\n return\n }\n return false // Run next transformer\n },\n }))\n\n return toReturn\n}\n\nexport function getMarkdownToLexical(\n allNodes: Array<NodeWithHooks>,\n allTransformers: Transformer[],\n): (args: { markdown: string }) => SerializedEditorState {\n const markdownToLexical = ({ markdown }: { markdown: string }): SerializedEditorState => {\n const headlessEditor = createHeadlessEditor({\n nodes: getEnabledNodesFromServerNodes({\n nodes: allNodes,\n }),\n })\n\n headlessEditor.update(\n () => {\n $convertFromMarkdownString(markdown, allTransformers)\n },\n { discrete: true },\n )\n\n return headlessEditor.getEditorState().toJSON()\n }\n return markdownToLexical\n}\n\nexport function getLexicalToMarkdown(\n allNodes: Array<NodeWithHooks>,\n allTransformers: Transformer[],\n): (args: { editorState: Record<string, any> }) => string {\n const lexicalToMarkdown = ({ editorState }: { editorState: Record<string, any> }): string => {\n const headlessEditor = createHeadlessEditor({\n nodes: getEnabledNodesFromServerNodes({\n nodes: allNodes,\n }),\n })\n\n try {\n headlessEditor.setEditorState(headlessEditor.parseEditorState(editorState as any)) // This should commit the editor state immediately\n } catch (e) {\n console.error('getLexicalToMarkdown: ERROR parsing editor state', e)\n }\n\n let markdown: string = ''\n headlessEditor.getEditorState().read(() => {\n markdown = $convertToMarkdownString(allTransformers)\n })\n\n return markdown\n }\n return lexicalToMarkdown\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"markdownTransformer.js","names":["createHeadlessEditor","$parseSerializedNode","getEnabledNodesFromServerNodes","$convertToMarkdownString","extractPropsFromJSXPropsString","propsToJSXString","$convertFromMarkdownString","linesFromStartToContentAndPropsString","$createServerBlockNode","$isServerBlockNode","ServerBlockNode","$createServerInlineBlockNode","$isServerInlineBlockNode","ServerInlineBlockNode","createTagRegexes","tagName","escapedTagName","replace","openingTag","closingTag","optionalWhitespace","mandatoryClosingBracket","startPattern","endPattern","regExpEnd","RegExp","regExpStart","getBlockMarkdownTransformers","blocks","inlineBlocks","length","transformers","block","transformer","getMarkdownTransformerForBlock","concat","isInlineBlock","jsx","regex","slug","toReturn","push","allNodes","allTransformers","type","dependencies","export","node","getFields","blockType","toLowerCase","nodeFields","lexicalToMarkdown","getLexicalToMarkdown","exportResult","fields","hasProps","props","Object","keys","children","getEndIndex","match","endlineLastCharIndex","isEndOptional","lines","getTextContent","regexpEndRegex","startLineIndex","startMatch","trimChildren","importRegExp","customStartRegex","regExp","content","propsString","index","import","markdownToLexical","getMarkdownToLexical","blockFields","closeMatch","htmlToLexical","openMatch","inlineBlockNode","sanitizedChildren","includes","child","split","sanitizedChild","doNotTrimChildren","handleImportAfterStartMatch","customEndRegex","undefined","rootNode","optional","afterEndLine","beforeStartLine","unsanitizedContent","endLineIndex","endsWith","slice","startsWith","prevNodes","nextNodes","markdown","root","append","lastChild","getChildren","linesInBetween","line","childrenString","filter","trim","join","headlessEditor","nodes","update","discrete","getEditorState","toJSON","editorState","setEditorState","parseEditorState","e","console","error","read"],"sources":["../../../../src/features/blocks/server/markdownTransformer.ts"],"sourcesContent":["import type { ElementNode, SerializedEditorState, SerializedLexicalNode } from 'lexical'\nimport type { Block } from 'payload'\n\nimport { createHeadlessEditor } from '@lexical/headless'\nimport { $parseSerializedNode } from 'lexical'\n\nimport type { NodeWithHooks } from '../../typesServer.js'\n\nimport { getEnabledNodesFromServerNodes } from '../../../lexical/nodes/index.js'\nimport {\n $convertToMarkdownString,\n type MultilineElementTransformer,\n type TextMatchTransformer,\n type Transformer,\n} from '../../../packages/@lexical/markdown/index.js'\nimport { extractPropsFromJSXPropsString } from '../../../utilities/jsx/extractPropsFromJSXPropsString.js'\nimport { propsToJSXString } from '../../../utilities/jsx/jsx.js'\nimport { $convertFromMarkdownString } from '../../../utilities/jsx/lexicalMarkdownCopy.js'\nimport { linesFromStartToContentAndPropsString } from './linesFromMatchToContentAndPropsString.js'\nimport { $createServerBlockNode, $isServerBlockNode, ServerBlockNode } from './nodes/BlockNode.js'\nimport {\n $createServerInlineBlockNode,\n $isServerInlineBlockNode,\n ServerInlineBlockNode,\n} from './nodes/InlineBlockNode.js'\n\nexport function createTagRegexes(tagName: string) {\n const escapedTagName = tagName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\n // Regex components\n const openingTag = `<${escapedTagName}`\n const closingTag = `</${escapedTagName}`\n const optionalWhitespace = `\\\\s*`\n const mandatoryClosingBracket = `>`\n\n // Assembled regex patterns\n const startPattern = `${openingTag}(?=\\\\s|>|$)` // Only match the tag name\n const endPattern = `${closingTag}${optionalWhitespace}${mandatoryClosingBracket}`\n\n return {\n regExpEnd: new RegExp(endPattern, 'i'),\n regExpStart: new RegExp(startPattern, 'i'),\n }\n}\nexport const getBlockMarkdownTransformers = ({\n blocks,\n inlineBlocks,\n}: {\n blocks: Block[]\n inlineBlocks: Block[]\n}): ((props: {\n allNodes: Array<NodeWithHooks>\n allTransformers: Transformer[]\n}) => MultilineElementTransformer | TextMatchTransformer)[] => {\n if (!blocks?.length && !inlineBlocks?.length) {\n return []\n }\n\n let transformers: ((props: {\n allNodes: Array<NodeWithHooks>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer)[] = []\n\n if (blocks?.length) {\n for (const block of blocks) {\n const transformer = getMarkdownTransformerForBlock(block, false)\n\n if (transformer) {\n transformers = transformers.concat(transformer)\n }\n }\n }\n\n if (inlineBlocks?.length) {\n for (const block of inlineBlocks) {\n const transformer = getMarkdownTransformerForBlock(block, true)\n\n if (transformer) {\n transformers = transformers.concat(transformer)\n }\n }\n }\n\n return transformers\n}\n\nfunction getMarkdownTransformerForBlock(\n block: Block,\n isInlineBlock: boolean,\n): Array<\n (props: {\n allNodes: Array<NodeWithHooks>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer\n> | null {\n if (!block.jsx) {\n return null\n }\n const regex = createTagRegexes(block.slug)\n const toReturn: Array<\n (props: {\n allNodes: Array<NodeWithHooks>\n allTransformers: Transformer[]\n }) => MultilineElementTransformer | TextMatchTransformer\n > = []\n\n if (isInlineBlock) {\n toReturn.push(({ allNodes, allTransformers }) => ({\n type: 'text-match',\n dependencies: [ServerInlineBlockNode],\n export: (node) => {\n if (!$isServerInlineBlockNode(node)) {\n return null\n }\n\n if (node.getFields()?.blockType?.toLowerCase() !== block.slug.toLowerCase()) {\n return null\n }\n\n const nodeFields = node.getFields()\n const lexicalToMarkdown = getLexicalToMarkdown(allNodes, allTransformers)\n\n const exportResult = block.jsx!.export({\n fields: nodeFields,\n lexicalToMarkdown,\n })\n if (exportResult === false) {\n return null\n }\n if (typeof exportResult === 'string') {\n return exportResult\n }\n\n const hasProps = exportResult.props && Object.keys(exportResult.props)?.length > 0\n const props = exportResult.props ?? {}\n\n if (exportResult?.children?.length) {\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}>${exportResult.children}</${nodeFields.blockType}>`\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}/>`\n },\n getEndIndex: (node, match) => {\n const { endlineLastCharIndex } = linesFromStartToContentAndPropsString({\n isEndOptional: false,\n lines: [node.getTextContent()],\n regexpEndRegex: regex.regExpEnd,\n startLineIndex: 0,\n startMatch: match,\n trimChildren: false,\n })\n\n return endlineLastCharIndex\n },\n importRegExp: block.jsx?.customStartRegex ?? regex.regExpStart,\n regExp: /___ignoreignoreignore___/g,\n replace(node, match) {\n const { content, propsString } = linesFromStartToContentAndPropsString({\n isEndOptional: false,\n lines: [node.getTextContent()],\n regexpEndRegex: regex.regExpEnd,\n startLineIndex: 0,\n startMatch: {\n ...match,\n index: 0,\n },\n trimChildren: false,\n })\n\n if (!block?.jsx?.import) {\n // No multiline transformer handled this line successfully\n return\n }\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: content,\n closeMatch: null,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: match,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return\n }\n\n const inlineBlockNode = $createServerInlineBlockNode({\n blockType: block.slug,\n ...(blockFields as any),\n })\n\n node.replace(inlineBlockNode)\n },\n }))\n\n return toReturn\n }\n\n toReturn.push(({ allNodes, allTransformers }) => ({\n dependencies: [ServerBlockNode],\n export: (node) => {\n if (!$isServerBlockNode(node)) {\n return null\n }\n\n if (node.getFields()?.blockType?.toLowerCase() !== block.slug.toLowerCase()) {\n return null\n }\n\n const nodeFields = node.getFields()\n const lexicalToMarkdown = getLexicalToMarkdown(allNodes, allTransformers)\n\n const exportResult = block.jsx!.export({\n fields: nodeFields,\n lexicalToMarkdown,\n })\n if (exportResult === false) {\n return null\n }\n if (typeof exportResult === 'string') {\n return exportResult\n }\n\n const hasProps = exportResult.props && Object.keys(exportResult.props)?.length > 0\n const props = exportResult.props ?? {}\n\n if (exportResult?.children?.length) {\n const children = exportResult.children\n let sanitizedChildren = ''\n\n // Ensure it has a leftpad of at least 2 spaces. The data is saved without those spaces, so we can just blindly add it to every child\n if (children.includes('\\n')) {\n for (const child of children.split('\\n')) {\n let sanitizedChild = ''\n if (!block?.jsx?.doNotTrimChildren && child !== '') {\n sanitizedChild = ' '\n }\n sanitizedChild += child + '\\n'\n\n sanitizedChildren += sanitizedChild\n }\n } else {\n sanitizedChildren = (block?.jsx?.doNotTrimChildren ? '' : ' ') + children + '\\n'\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}>\\n${sanitizedChildren}</${nodeFields.blockType}>`\n }\n\n return `<${nodeFields.blockType}${hasProps ? ' ' + propsToJSXString({ props }) : ''}/>`\n },\n handleImportAfterStartMatch: block.jsx?.customEndRegex\n ? undefined\n : ({ lines, rootNode, startLineIndex, startMatch, transformer }) => {\n const regexpEndRegex: RegExp | undefined =\n typeof transformer.regExpEnd === 'object' && 'regExp' in transformer.regExpEnd\n ? transformer.regExpEnd.regExp\n : transformer.regExpEnd\n\n const isEndOptional =\n transformer.regExpEnd &&\n typeof transformer.regExpEnd === 'object' &&\n 'optional' in transformer.regExpEnd\n ? transformer.regExpEnd.optional\n : !transformer.regExpEnd\n\n const {\n afterEndLine,\n beforeStartLine,\n content: unsanitizedContent,\n endLineIndex,\n propsString,\n } = linesFromStartToContentAndPropsString({\n isEndOptional,\n lines,\n regexpEndRegex,\n startLineIndex,\n startMatch,\n trimChildren: false,\n })\n\n let content = ''\n\n if (block?.jsx?.doNotTrimChildren) {\n content = unsanitizedContent.endsWith('\\n')\n ? unsanitizedContent.slice(0, -1)\n : unsanitizedContent\n } else {\n // Ensure it has a leftpad of at least 2 spaces. The data is saved without those spaces, so we can just blindly add it to every child\n if (unsanitizedContent.includes('\\n')) {\n const split = unsanitizedContent.split('\\n')\n let index = 0\n for (const child of split) {\n index++\n\n if (child.startsWith(' ')) {\n content += child.slice(2)\n } else {\n // If one child is misaligned, skip aligning completely, unless it's just empty\n if (child === '') {\n content += child\n } else {\n content = unsanitizedContent.endsWith('\\n')\n ? unsanitizedContent.slice(0, -1)\n : unsanitizedContent\n break\n }\n }\n\n content += index === split.length ? '' : '\\n'\n }\n } else {\n content =\n (!unsanitizedContent.startsWith(' ')\n ? unsanitizedContent\n : unsanitizedContent.slice(2)) + '\\n'\n }\n }\n\n if (!block?.jsx?.import) {\n // No multiline transformer handled this line successfully\n return [false, startLineIndex]\n }\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: content,\n closeMatch: null,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: startMatch,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return [false, startLineIndex]\n }\n\n const node = $createServerBlockNode({\n blockType: block.slug,\n ...blockFields,\n })\n\n if (node) {\n // Now handle beforeStartLine and afterEndLine. If those are not empty, we need to add them as text nodes before and after the block node.\n // However, those themselves can contain other markdown matches, so we need to parse them as well.\n // Example where this is needed: \"Hello <InlineCode>inline code</InlineCode> test.\"\n let prevNodes: null | SerializedLexicalNode[] = null\n let nextNodes: null | SerializedLexicalNode[] = null\n // TODO: Might not need this prevNodes and nextNodes handling if inline nodes are handled by textmatch transformers\n\n if (beforeStartLine?.length) {\n prevNodes = markdownToLexical({ markdown: beforeStartLine })?.root?.children ?? []\n\n if (prevNodes?.length) {\n rootNode.append($parseSerializedNode(prevNodes[0]))\n }\n }\n\n rootNode.append(node)\n\n if (afterEndLine?.length) {\n nextNodes = markdownToLexical({ markdown: afterEndLine })?.root?.children ?? []\n const lastChild = rootNode.getChildren()[rootNode.getChildren().length - 1]\n\n const children = ($parseSerializedNode(nextNodes[0]) as ElementNode)?.getChildren()\n if (children?.length) {\n for (const child of children) {\n ;(lastChild as ElementNode).append(child)\n }\n }\n }\n }\n\n return [true, endLineIndex]\n },\n regExpEnd: block.jsx?.customEndRegex ?? regex.regExpEnd,\n regExpStart: block.jsx?.customStartRegex ?? regex.regExpStart,\n // This replace is ONLY run for ``` code blocks (so any blocks with custom start and end regexes). For others, we use the special JSX handling above:\n type: 'multiline-element',\n replace: (rootNode, children, openMatch, closeMatch, linesInBetween) => {\n if (block?.jsx?.import) {\n if (!linesInBetween) {\n // convert children to linesInBetween\n let line = ''\n if (children) {\n for (const child of children) {\n line += child.getTextContent()\n }\n }\n\n linesInBetween = [line]\n }\n\n let childrenString = ''\n if (block?.jsx?.doNotTrimChildren) {\n // Do not trim, but remove empty lines\n childrenString = linesInBetween.filter((line) => line.trim().length > 0).join('\\n')\n } else {\n childrenString = linesInBetween.join('\\n').trim()\n }\n\n const propsString: null | string = openMatch?.length > 1 ? openMatch[1]?.trim() : null\n\n const markdownToLexical = getMarkdownToLexical(allNodes, allTransformers)\n\n const blockFields = block.jsx.import({\n children: childrenString,\n closeMatch: closeMatch as RegExpMatchArray,\n htmlToLexical: null, // TODO\n markdownToLexical,\n openMatch: openMatch as RegExpMatchArray,\n props: propsString\n ? extractPropsFromJSXPropsString({\n propsString,\n })\n : {},\n })\n if (blockFields === false) {\n return false\n }\n\n const node = $createServerBlockNode({\n blockType: block.slug,\n ...blockFields,\n })\n\n if (node) {\n rootNode.append(node)\n }\n\n return\n }\n return false // Run next transformer\n },\n }))\n\n return toReturn\n}\n\nexport function getMarkdownToLexical(\n allNodes: Array<NodeWithHooks>,\n allTransformers: Transformer[],\n): (args: { markdown: string }) => SerializedEditorState {\n const markdownToLexical = ({ markdown }: { markdown: string }): SerializedEditorState => {\n const headlessEditor = createHeadlessEditor({\n nodes: getEnabledNodesFromServerNodes({\n nodes: allNodes,\n }),\n })\n\n headlessEditor.update(\n () => {\n $convertFromMarkdownString(markdown, allTransformers)\n },\n { discrete: true },\n )\n\n return headlessEditor.getEditorState().toJSON()\n }\n return markdownToLexical\n}\n\nexport function getLexicalToMarkdown(\n allNodes: Array<NodeWithHooks>,\n allTransformers: Transformer[],\n): (args: { editorState: Record<string, any> }) => string {\n const lexicalToMarkdown = ({ editorState }: { editorState: Record<string, any> }): string => {\n const headlessEditor = createHeadlessEditor({\n nodes: getEnabledNodesFromServerNodes({\n nodes: allNodes,\n }),\n })\n\n try {\n headlessEditor.setEditorState(headlessEditor.parseEditorState(editorState as any)) // This should commit the editor state immediately\n } catch (e) {\n console.error('getLexicalToMarkdown: ERROR parsing editor state', e)\n }\n\n let markdown: string = ''\n headlessEditor.getEditorState().read(() => {\n markdown = $convertToMarkdownString(allTransformers)\n })\n\n return markdown\n }\n return lexicalToMarkdown\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import type { JSX } from 'react';
5
5
  import { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js';
6
6
  type BaseBlockFields<TBlockFields extends JsonObject = JsonObject> = {
7
7
  /** Block form data */
8
- blockName: string;
8
+ blockName?: string;
9
9
  blockType: string;
10
10
  } & TBlockFields;
11
11
  export type BlockFields<TBlockFields extends JsonObject = JsonObject> = {
@@ -41,4 +41,4 @@ export declare class ServerBlockNode extends DecoratorBlockNode {
41
41
  export declare function $createServerBlockNode(fields: BlockFieldsOptionalID): ServerBlockNode;
42
42
  export declare function $isServerBlockNode(node: LexicalNode | null | ServerBlockNode | undefined): node is ServerBlockNode;
43
43
  export {};
44
- //# sourceMappingURL=BlocksNode.d.ts.map
44
+ //# sourceMappingURL=BlockNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/server/nodes/BlockNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAC/F,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,OAAO,EACP,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAGhF,KAAK,eAAe,CAAC,YAAY,SAAS,UAAU,GAAG,UAAU,IAAI;IACnE,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,YAAY,CAAA;AAEhB,MAAM,MAAM,WAAW,CAAC,YAAY,SAAS,UAAU,GAAG,UAAU,IAAI;IACtE,EAAE,EAAE,MAAM,CAAA;CACX,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;AAEjC,MAAM,MAAM,qBAAqB,CAAC,YAAY,SAAS,UAAU,GAAG,UAAU,IAAI;IAChF,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;AAEjC,MAAM,MAAM,mBAAmB,CAAC,YAAY,SAAS,UAAU,GAAG,UAAU,IAAI,MAAM,CACpF;IACE,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;IACjC,IAAI,EAAE,OAAO,CAAA;CACd,EACD,4BAA4B,CAC7B,CAAA;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,QAAQ,EAAE,WAAW,CAAA;gBAET,EACV,MAAM,EACN,MAAM,EACN,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,WAAW,CAAA;QACnB,MAAM,CAAC,EAAE,iBAAiB,CAAA;QAC1B,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe;IAQpD,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;IAI3D,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,eAAe;IAgBvE,MAAM,CAAC,QAAQ,IAAI,KAAK;IAIxB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI;IAIzE,SAAS,IAAI,eAAe;IAQ5B,UAAU,IAAI,mBAAmB;IASjC,SAAS,IAAI,WAAW;IAIxB,cAAc,IAAI,MAAM;IAIxB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAIrC;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,eAAe,CAOrF;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,eAAe,GAAG,SAAS,GACrD,IAAI,IAAI,eAAe,CAEzB"}
@@ -82,4 +82,4 @@ export function $createServerBlockNode(fields) {
82
82
  export function $isServerBlockNode(node) {
83
83
  return node instanceof ServerBlockNode;
84
84
  }
85
- //# sourceMappingURL=BlocksNode.js.map
85
+ //# sourceMappingURL=BlockNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockNode.js","names":["DecoratorBlockNode","ObjectID","ServerBlockNode","__fields","constructor","fields","format","key","clone","node","__format","__key","getType","importDOM","importJSON","serializedNode","version","data","$createServerBlockNode","setFormat","isInline","decorate","editor","config","exportDOM","element","document","createElement","text","createTextNode","getTextContent","append","exportJSON","type","getFields","getLatest","setFields","writable","getWritable","id","default","toHexString","$isServerBlockNode"],"sources":["../../../../../src/features/blocks/server/nodes/BlockNode.tsx"],"sourcesContent":["import type { SerializedDecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport type {\n DOMConversionMap,\n DOMExportOutput,\n EditorConfig,\n ElementFormatType,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n Spread,\n} from 'lexical'\nimport type { JsonObject } from 'payload'\nimport type { JSX } from 'react'\n\nimport { DecoratorBlockNode } from '@lexical/react/LexicalDecoratorBlockNode.js'\nimport ObjectID from 'bson-objectid'\n\ntype BaseBlockFields<TBlockFields extends JsonObject = JsonObject> = {\n /** Block form data */\n blockName?: string\n blockType: string\n} & TBlockFields\n\nexport type BlockFields<TBlockFields extends JsonObject = JsonObject> = {\n id: string\n} & BaseBlockFields<TBlockFields>\n\nexport type BlockFieldsOptionalID<TBlockFields extends JsonObject = JsonObject> = {\n id?: string\n} & BaseBlockFields<TBlockFields>\n\nexport type SerializedBlockNode<TBlockFields extends JsonObject = JsonObject> = Spread<\n {\n children?: never // required so that our typed editor state doesn't automatically add children\n fields: BlockFields<TBlockFields>\n type: 'block'\n },\n SerializedDecoratorBlockNode\n>\n\nexport class ServerBlockNode extends DecoratorBlockNode {\n __fields: BlockFields\n\n constructor({\n fields,\n format,\n key,\n }: {\n fields: BlockFields\n format?: ElementFormatType\n key?: NodeKey\n }) {\n super(format, key)\n this.__fields = fields\n }\n\n static clone(node: ServerBlockNode): ServerBlockNode {\n return new this({\n fields: node.__fields,\n format: node.__format,\n key: node.__key,\n })\n }\n\n static getType(): string {\n return 'block'\n }\n\n static importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {}\n }\n\n static importJSON(serializedNode: SerializedBlockNode): ServerBlockNode {\n if (serializedNode.version === 1) {\n // Convert (version 1 had the fields wrapped in another, unnecessary data property)\n serializedNode = {\n ...serializedNode,\n fields: {\n ...(serializedNode as any).fields.data,\n },\n version: 2,\n }\n }\n const node = $createServerBlockNode(serializedNode.fields)\n node.setFormat(serializedNode.format)\n return node\n }\n\n static isInline(): false {\n return false\n }\n\n decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element | null {\n return null\n }\n\n exportDOM(): DOMExportOutput {\n const element = document.createElement('div')\n\n const text = document.createTextNode(this.getTextContent())\n element.append(text)\n return { element }\n }\n\n exportJSON(): SerializedBlockNode {\n return {\n ...super.exportJSON(),\n type: 'block',\n fields: this.getFields(),\n version: 2,\n }\n }\n\n getFields(): BlockFields {\n return this.getLatest().__fields\n }\n\n getTextContent(): string {\n return `Block Field`\n }\n\n setFields(fields: BlockFields): void {\n const writable = this.getWritable()\n writable.__fields = fields\n }\n}\n\nexport function $createServerBlockNode(fields: BlockFieldsOptionalID): ServerBlockNode {\n return new ServerBlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n })\n}\n\nexport function $isServerBlockNode(\n node: LexicalNode | null | ServerBlockNode | undefined,\n): node is ServerBlockNode {\n return node instanceof ServerBlockNode\n}\n"],"mappings":"AAcA,SAASA,kBAAkB,QAAQ;AACnC,OAAOC,QAAA,MAAc;AAyBrB,OAAO,MAAMC,eAAA,SAAwBF,kBAAA;EACnCG,QAAA;EAEAC,YAAY;IACVC,MAAM;IACNC,MAAM;IACNC;EAAG,CAKJ,EAAE;IACD,KAAK,CAACD,MAAA,EAAQC,GAAA;IACd,IAAI,CAACJ,QAAQ,GAAGE,MAAA;EAClB;EAEA,OAAOG,MAAMC,IAAqB,EAAmB;IACnD,OAAO,IAAI,IAAI,CAAC;MACdJ,MAAA,EAAQI,IAAA,CAAKN,QAAQ;MACrBG,MAAA,EAAQG,IAAA,CAAKC,QAAQ;MACrBH,GAAA,EAAKE,IAAA,CAAKE;IACZ;EACF;EAEA,OAAOC,QAAA,EAAkB;IACvB,OAAO;EACT;EAEA,OAAOC,UAAA,EAAqD;IAC1D,OAAO,CAAC;EACV;EAEA,OAAOC,WAAWC,cAAmC,EAAmB;IACtE,IAAIA,cAAA,CAAeC,OAAO,KAAK,GAAG;MAChC;MACAD,cAAA,GAAiB;QACf,GAAGA,cAAc;QACjBV,MAAA,EAAQ;UACN,GAAGU,cAAC,CAAuBV,MAAM,CAACY;QACpC;QACAD,OAAA,EAAS;MACX;IACF;IACA,MAAMP,IAAA,GAAOS,sBAAA,CAAuBH,cAAA,CAAeV,MAAM;IACzDI,IAAA,CAAKU,SAAS,CAACJ,cAAA,CAAeT,MAAM;IACpC,OAAOG,IAAA;EACT;EAEA,OAAOW,SAAA,EAAkB;IACvB,OAAO;EACT;EAEAC,SAASC,MAAqB,EAAEC,MAAoB,EAAsB;IACxE,OAAO;EACT;EAEAC,UAAA,EAA6B;IAC3B,MAAMC,OAAA,GAAUC,QAAA,CAASC,aAAa,CAAC;IAEvC,MAAMC,IAAA,GAAOF,QAAA,CAASG,cAAc,CAAC,IAAI,CAACC,cAAc;IACxDL,OAAA,CAAQM,MAAM,CAACH,IAAA;IACf,OAAO;MAAEH;IAAQ;EACnB;EAEAO,WAAA,EAAkC;IAChC,OAAO;MACL,GAAG,KAAK,CAACA,UAAA,EAAY;MACrBC,IAAA,EAAM;MACN5B,MAAA,EAAQ,IAAI,CAAC6B,SAAS;MACtBlB,OAAA,EAAS;IACX;EACF;EAEAkB,UAAA,EAAyB;IACvB,OAAO,IAAI,CAACC,SAAS,GAAGhC,QAAQ;EAClC;EAEA2B,eAAA,EAAyB;IACvB,OAAO,aAAa;EACtB;EAEAM,UAAU/B,MAAmB,EAAQ;IACnC,MAAMgC,QAAA,GAAW,IAAI,CAACC,WAAW;IACjCD,QAAA,CAASlC,QAAQ,GAAGE,MAAA;EACtB;AACF;AAEA,OAAO,SAASa,uBAAuBb,MAA6B;EAClE,OAAO,IAAIH,eAAA,CAAgB;IACzBG,MAAA,EAAQ;MACN,GAAGA,MAAM;MACTkC,EAAA,EAAIlC,MAAA,EAAQkC,EAAA,IAAM,IAAItC,QAAA,CAASuC,OAAO,GAAGC,WAAW;IACtD;EACF;AACF;AAEA,OAAO,SAASC,mBACdjC,IAAsD;EAEtD,OAAOA,IAAA,YAAgBP,eAAA;AACzB","ignoreList":[]}
@@ -36,4 +36,4 @@ export declare class ServerInlineBlockNode extends DecoratorNode<null | React.Re
36
36
  }
37
37
  export declare function $createServerInlineBlockNode(fields: Exclude<InlineBlockFields, 'id'>): ServerInlineBlockNode;
38
38
  export declare function $isServerInlineBlockNode(node: LexicalNode | null | ServerInlineBlockNode | undefined): node is ServerInlineBlockNode;
39
- //# sourceMappingURL=InlineBlocksNode.d.ts.map
39
+ //# sourceMappingURL=InlineBlockNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineBlockNode.d.ts","sourceRoot":"","sources":["../../../../../src/features/blocks/server/nodes/InlineBlockNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,MAAM,iBAAiB,CAAC,kBAAkB,SAAS,UAAU,GAAG,UAAU,IAAI;IAClF,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;CACX,GAAG,kBAAkB,CAAA;AAEtB,MAAM,MAAM,yBAAyB,CAAC,YAAY,SAAS,UAAU,GAAG,UAAU,IAAI,MAAM,CAC1F;IACE,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,MAAM,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAA;IACvC,IAAI,EAAE,aAAa,CAAA;CACpB,EACD,qBAAqB,CACtB,CAAA;AAED,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC;IACjF,QAAQ,EAAE,iBAAiB,CAAA;gBAEf,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE;IAKzE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,GAAG,qBAAqB;IAOhE,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,IAAI;IAI3D,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,yBAAyB,GAAG,qBAAqB;IAKnF,MAAM,CAAC,QAAQ,IAAI,KAAK;IAIxB,SAAS;IAGT,SAAS;IAOT,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI;IAIzE,SAAS,IAAI,eAAe;IAS5B,UAAU,IAAI,yBAAyB;IAQvC,SAAS,IAAI,iBAAiB;IAI9B,cAAc,IAAI,MAAM;IAIxB,QAAQ;IAIR,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAK1C,SAAS,IAAI,OAAO;CAGrB;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,GACvC,qBAAqB,CAOvB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,qBAAqB,GAAG,SAAS,GAC3D,IAAI,IAAI,qBAAqB,CAE/B"}
@@ -83,4 +83,4 @@ export function $createServerInlineBlockNode(fields) {
83
83
  export function $isServerInlineBlockNode(node) {
84
84
  return node instanceof ServerInlineBlockNode;
85
85
  }
86
- //# sourceMappingURL=InlineBlocksNode.js.map
86
+ //# sourceMappingURL=InlineBlockNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineBlockNode.js","names":["ObjectID","DecoratorNode","ServerInlineBlockNode","__fields","constructor","fields","key","clone","node","__key","getType","importDOM","importJSON","serializedNode","$createServerInlineBlockNode","isInline","canIndent","createDOM","element","document","createElement","classList","add","decorate","editor","config","exportDOM","text","createTextNode","getTextContent","append","exportJSON","type","getFields","version","getLatest","setFields","writable","getWritable","updateDOM","id","default","toHexString","$isServerInlineBlockNode"],"sources":["../../../../../src/features/blocks/server/nodes/InlineBlockNode.tsx"],"sourcesContent":["import type {\n DOMConversionMap,\n DOMExportOutput,\n EditorConfig,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n SerializedLexicalNode,\n Spread,\n} from 'lexical'\nimport type { JsonObject } from 'payload'\nimport type React from 'react'\nimport type { JSX } from 'react'\n\nimport ObjectID from 'bson-objectid'\nimport { DecoratorNode } from 'lexical'\n\nexport type InlineBlockFields<TInlineBlockFields extends JsonObject = JsonObject> = {\n blockType: string\n id: string\n} & TInlineBlockFields\n\nexport type SerializedInlineBlockNode<TBlockFields extends JsonObject = JsonObject> = Spread<\n {\n children?: never // required so that our typed editor state doesn't automatically add children\n fields: InlineBlockFields<TBlockFields>\n type: 'inlineBlock'\n },\n SerializedLexicalNode\n>\n\nexport class ServerInlineBlockNode extends DecoratorNode<null | React.ReactElement> {\n __fields: InlineBlockFields\n\n constructor({ fields, key }: { fields: InlineBlockFields; key?: NodeKey }) {\n super(key)\n this.__fields = fields\n }\n\n static clone(node: ServerInlineBlockNode): ServerInlineBlockNode {\n return new this({\n fields: node.__fields,\n key: node.__key,\n })\n }\n\n static getType(): string {\n return 'inlineBlock'\n }\n\n static importDOM(): DOMConversionMap<HTMLDivElement> | null {\n return {}\n }\n\n static importJSON(serializedNode: SerializedInlineBlockNode): ServerInlineBlockNode {\n const node = $createServerInlineBlockNode(serializedNode.fields)\n return node\n }\n\n static isInline(): false {\n return false\n }\n\n canIndent() {\n return true\n }\n createDOM() {\n const element = document.createElement('span')\n element.classList.add('inline-block-container')\n\n return element\n }\n\n decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element | null {\n return null\n }\n\n exportDOM(): DOMExportOutput {\n const element = document.createElement('span')\n element.classList.add('inline-block-container')\n\n const text = document.createTextNode(this.getTextContent())\n element.append(text)\n return { element }\n }\n\n exportJSON(): SerializedInlineBlockNode {\n return {\n type: 'inlineBlock',\n fields: this.getFields(),\n version: 1,\n }\n }\n\n getFields(): InlineBlockFields {\n return this.getLatest().__fields\n }\n\n getTextContent(): string {\n return `Block Field`\n }\n\n isInline() {\n return true\n }\n\n setFields(fields: InlineBlockFields): void {\n const writable = this.getWritable()\n writable.__fields = fields\n }\n\n updateDOM(): boolean {\n return false\n }\n}\n\nexport function $createServerInlineBlockNode(\n fields: Exclude<InlineBlockFields, 'id'>,\n): ServerInlineBlockNode {\n return new ServerInlineBlockNode({\n fields: {\n ...fields,\n id: fields?.id || new ObjectID.default().toHexString(),\n },\n })\n}\n\nexport function $isServerInlineBlockNode(\n node: LexicalNode | null | ServerInlineBlockNode | undefined,\n): node is ServerInlineBlockNode {\n return node instanceof ServerInlineBlockNode\n}\n"],"mappings":"AAcA,OAAOA,QAAA,MAAc;AACrB,SAASC,aAAa,QAAQ;AAgB9B,OAAO,MAAMC,qBAAA,SAA8BD,aAAA;EACzCE,QAAA;EAEAC,YAAY;IAAEC,MAAM;IAAEC;EAAG,CAAgD,EAAE;IACzE,KAAK,CAACA,GAAA;IACN,IAAI,CAACH,QAAQ,GAAGE,MAAA;EAClB;EAEA,OAAOE,MAAMC,IAA2B,EAAyB;IAC/D,OAAO,IAAI,IAAI,CAAC;MACdH,MAAA,EAAQG,IAAA,CAAKL,QAAQ;MACrBG,GAAA,EAAKE,IAAA,CAAKC;IACZ;EACF;EAEA,OAAOC,QAAA,EAAkB;IACvB,OAAO;EACT;EAEA,OAAOC,UAAA,EAAqD;IAC1D,OAAO,CAAC;EACV;EAEA,OAAOC,WAAWC,cAAyC,EAAyB;IAClF,MAAML,IAAA,GAAOM,4BAAA,CAA6BD,cAAA,CAAeR,MAAM;IAC/D,OAAOG,IAAA;EACT;EAEA,OAAOO,SAAA,EAAkB;IACvB,OAAO;EACT;EAEAC,UAAA,EAAY;IACV,OAAO;EACT;EACAC,UAAA,EAAY;IACV,MAAMC,OAAA,GAAUC,QAAA,CAASC,aAAa,CAAC;IACvCF,OAAA,CAAQG,SAAS,CAACC,GAAG,CAAC;IAEtB,OAAOJ,OAAA;EACT;EAEAK,SAASC,MAAqB,EAAEC,MAAoB,EAAsB;IACxE,OAAO;EACT;EAEAC,UAAA,EAA6B;IAC3B,MAAMR,OAAA,GAAUC,QAAA,CAASC,aAAa,CAAC;IACvCF,OAAA,CAAQG,SAAS,CAACC,GAAG,CAAC;IAEtB,MAAMK,IAAA,GAAOR,QAAA,CAASS,cAAc,CAAC,IAAI,CAACC,cAAc;IACxDX,OAAA,CAAQY,MAAM,CAACH,IAAA;IACf,OAAO;MAAET;IAAQ;EACnB;EAEAa,WAAA,EAAwC;IACtC,OAAO;MACLC,IAAA,EAAM;MACN3B,MAAA,EAAQ,IAAI,CAAC4B,SAAS;MACtBC,OAAA,EAAS;IACX;EACF;EAEAD,UAAA,EAA+B;IAC7B,OAAO,IAAI,CAACE,SAAS,GAAGhC,QAAQ;EAClC;EAEA0B,eAAA,EAAyB;IACvB,OAAO,aAAa;EACtB;EAEAd,SAAA,EAAW;IACT,OAAO;EACT;EAEAqB,UAAU/B,MAAyB,EAAQ;IACzC,MAAMgC,QAAA,GAAW,IAAI,CAACC,WAAW;IACjCD,QAAA,CAASlC,QAAQ,GAAGE,MAAA;EACtB;EAEAkC,UAAA,EAAqB;IACnB,OAAO;EACT;AACF;AAEA,OAAO,SAASzB,6BACdT,MAAwC;EAExC,OAAO,IAAIH,qBAAA,CAAsB;IAC/BG,MAAA,EAAQ;MACN,GAAGA,MAAM;MACTmC,EAAA,EAAInC,MAAA,EAAQmC,EAAA,IAAM,IAAIxC,QAAA,CAASyC,OAAO,GAAGC,WAAW;IACtD;EACF;AACF;AAEA,OAAO,SAASC,yBACdnC,IAA4D;EAE5D,OAAOA,IAAA,YAAgBN,qBAAA;AACzB","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { Block } from 'payload';
2
2
  import type { NodeValidation } from '../../typesServer.js';
3
- import type { SerializedBlockNode } from './nodes/BlocksNode.js';
4
- import type { SerializedInlineBlockNode } from './nodes/InlineBlocksNode.js';
5
- export declare const blockValidationHOC: (blocks: Block[]) => NodeValidation<SerializedBlockNode | SerializedInlineBlockNode>;
3
+ import type { SerializedWrapperBlockNode } from '../WrapperBlockNode.js';
4
+ import type { SerializedBlockNode } from './nodes/BlockNode.js';
5
+ import type { SerializedInlineBlockNode } from './nodes/InlineBlockNode.js';
6
+ export declare const blockValidationHOC: (blocks: Block[]) => NodeValidation<SerializedBlockNode | SerializedInlineBlockNode | SerializedWrapperBlockNode>;
6
7
  //# sourceMappingURL=validate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/server/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAE5E,eAAO,MAAM,kBAAkB,WACrB,KAAK,EAAE,KACd,cAAc,CAAC,mBAAmB,GAAG,yBAAyB,CA+ChE,CAAA"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/features/blocks/server/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAE3E,eAAO,MAAM,kBAAkB,WACrB,KAAK,EAAE,KACd,cAAc,CAAC,mBAAmB,GAAG,yBAAyB,GAAG,0BAA0B,CA+C7F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","names":["fieldSchemasToFormState","blockValidationHOC","blocks","node","validation","blockFieldData","fields","options","id","collectionSlug","operation","preferences","req","block","find","slug","blockType","result","data","fieldSchemaMap","undefined","permissions","renderAllFields","schemaPath","errorPaths","fieldKey","concat","length","join"],"sources":["../../../../src/features/blocks/server/validate.ts"],"sourcesContent":["import type { Block } from 'payload'\n\nimport { fieldSchemasToFormState } from '@payloadcms/ui/forms/fieldSchemasToFormState'\n\nimport type { NodeValidation } from '../../typesServer.js'\nimport type { BlockFields, SerializedBlockNode } from './nodes/BlocksNode.js'\nimport type { SerializedInlineBlockNode } from './nodes/InlineBlocksNode.js'\n\nexport const blockValidationHOC = (\n blocks: Block[],\n): NodeValidation<SerializedBlockNode | SerializedInlineBlockNode> => {\n return async ({ node, validation }) => {\n const blockFieldData = node.fields ?? ({} as BlockFields)\n\n const {\n options: { id, collectionSlug, operation, preferences, req },\n } = validation\n\n // find block\n const block = blocks.find((block) => block.slug === blockFieldData.blockType)\n\n // validate block\n if (!block) {\n return 'Block not found'\n }\n\n /**\n * Run fieldSchemasToFormState as that properly validates block and block sub-fields\n */\n\n const result = await fieldSchemasToFormState({\n id,\n collectionSlug,\n data: blockFieldData,\n fields: block.fields,\n fieldSchemaMap: undefined,\n operation: operation === 'create' || operation === 'update' ? operation : 'update',\n permissions: {},\n preferences,\n renderAllFields: false,\n req,\n schemaPath: '',\n })\n\n let errorPaths: string[] = []\n for (const fieldKey in result) {\n if (result[fieldKey].errorPaths) {\n errorPaths = errorPaths.concat(result[fieldKey].errorPaths)\n }\n }\n\n if (errorPaths.length) {\n return 'The following fields are invalid: ' + errorPaths.join(', ')\n }\n\n return true\n }\n}\n"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ;AAMxC,OAAO,MAAMC,kBAAA,GACXC,MAAA;EAEA,OAAO,OAAO;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAChC,MAAMC,cAAA,GAAiBF,IAAA,CAAKG,MAAM,IAAK,CAAC;IAExC,MAAM;MACJC,OAAA,EAAS;QAAEC,EAAE;QAAEC,cAAc;QAAEC,SAAS;QAAEC,WAAW;QAAEC;MAAG;IAAE,CAC7D,GAAGR,UAAA;IAEJ;IACA,MAAMS,KAAA,GAAQX,MAAA,CAAOY,IAAI,CAAED,KAAA,IAAUA,KAAA,CAAME,IAAI,KAAKV,cAAA,CAAeW,SAAS;IAE5E;IACA,IAAI,CAACH,KAAA,EAAO;MACV,OAAO;IACT;IAEA;;;IAIA,MAAMI,MAAA,GAAS,MAAMjB,uBAAA,CAAwB;MAC3CQ,EAAA;MACAC,cAAA;MACAS,IAAA,EAAMb,cAAA;MACNC,MAAA,EAAQO,KAAA,CAAMP,MAAM;MACpBa,cAAA,EAAgBC,SAAA;MAChBV,SAAA,EAAWA,SAAA,KAAc,YAAYA,SAAA,KAAc,WAAWA,SAAA,GAAY;MAC1EW,WAAA,EAAa,CAAC;MACdV,WAAA;MACAW,eAAA,EAAiB;MACjBV,GAAA;MACAW,UAAA,EAAY;IACd;IAEA,IAAIC,UAAA,GAAuB,EAAE;IAC7B,KAAK,MAAMC,QAAA,IAAYR,MAAA,EAAQ;MAC7B,IAAIA,MAAM,CAACQ,QAAA,CAAS,CAACD,UAAU,EAAE;QAC/BA,UAAA,GAAaA,UAAA,CAAWE,MAAM,CAACT,MAAM,CAACQ,QAAA,CAAS,CAACD,UAAU;MAC5D;IACF;IAEA,IAAIA,UAAA,CAAWG,MAAM,EAAE;MACrB,OAAO,uCAAuCH,UAAA,CAAWI,IAAI,CAAC;IAChE;IAEA,OAAO;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"file":"validate.js","names":["fieldSchemasToFormState","blockValidationHOC","blocks","node","validation","blockFieldData","fields","options","id","collectionSlug","operation","preferences","req","block","find","slug","blockType","result","data","fieldSchemaMap","undefined","permissions","renderAllFields","schemaPath","errorPaths","fieldKey","concat","length","join"],"sources":["../../../../src/features/blocks/server/validate.ts"],"sourcesContent":["import type { Block } from 'payload'\n\nimport { fieldSchemasToFormState } from '@payloadcms/ui/forms/fieldSchemasToFormState'\n\nimport type { NodeValidation } from '../../typesServer.js'\nimport type { SerializedWrapperBlockNode } from '../WrapperBlockNode.js'\nimport type { BlockFields, SerializedBlockNode } from './nodes/BlockNode.js'\nimport type { SerializedInlineBlockNode } from './nodes/InlineBlockNode.js'\n\nexport const blockValidationHOC = (\n blocks: Block[],\n): NodeValidation<SerializedBlockNode | SerializedInlineBlockNode | SerializedWrapperBlockNode> => {\n return async ({ node, validation }) => {\n const blockFieldData = node.fields ?? ({} as BlockFields)\n\n const {\n options: { id, collectionSlug, operation, preferences, req },\n } = validation\n\n // find block\n const block = blocks.find((block) => block.slug === blockFieldData.blockType)\n\n // validate block\n if (!block) {\n return 'Block not found'\n }\n\n /**\n * Run fieldSchemasToFormState as that properly validates block and block sub-fields\n */\n\n const result = await fieldSchemasToFormState({\n id,\n collectionSlug,\n data: blockFieldData,\n fields: block.fields,\n fieldSchemaMap: undefined,\n operation: operation === 'create' || operation === 'update' ? operation : 'update',\n permissions: {},\n preferences,\n renderAllFields: false,\n req,\n schemaPath: '',\n })\n\n let errorPaths: string[] = []\n for (const fieldKey in result) {\n if (result[fieldKey].errorPaths) {\n errorPaths = errorPaths.concat(result[fieldKey].errorPaths)\n }\n }\n\n if (errorPaths.length) {\n return 'The following fields are invalid: ' + errorPaths.join(', ')\n }\n\n return true\n }\n}\n"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ;AAOxC,OAAO,MAAMC,kBAAA,GACXC,MAAA;EAEA,OAAO,OAAO;IAAEC,IAAI;IAAEC;EAAU,CAAE;IAChC,MAAMC,cAAA,GAAiBF,IAAA,CAAKG,MAAM,IAAK,CAAC;IAExC,MAAM;MACJC,OAAA,EAAS;QAAEC,EAAE;QAAEC,cAAc;QAAEC,SAAS;QAAEC,WAAW;QAAEC;MAAG;IAAE,CAC7D,GAAGR,UAAA;IAEJ;IACA,MAAMS,KAAA,GAAQX,MAAA,CAAOY,IAAI,CAAED,KAAA,IAAUA,KAAA,CAAME,IAAI,KAAKV,cAAA,CAAeW,SAAS;IAE5E;IACA,IAAI,CAACH,KAAA,EAAO;MACV,OAAO;IACT;IAEA;;;IAIA,MAAMI,MAAA,GAAS,MAAMjB,uBAAA,CAAwB;MAC3CQ,EAAA;MACAC,cAAA;MACAS,IAAA,EAAMb,cAAA;MACNC,MAAA,EAAQO,KAAA,CAAMP,MAAM;MACpBa,cAAA,EAAgBC,SAAA;MAChBV,SAAA,EAAWA,SAAA,KAAc,YAAYA,SAAA,KAAc,WAAWA,SAAA,GAAY;MAC1EW,WAAA,EAAa,CAAC;MACdV,WAAA;MACAW,eAAA,EAAiB;MACjBV,GAAA;MACAW,UAAA,EAAY;IACd;IAEA,IAAIC,UAAA,GAAuB,EAAE;IAC7B,KAAK,MAAMC,QAAA,IAAYR,MAAA,EAAQ;MAC7B,IAAIA,MAAM,CAACQ,QAAA,CAAS,CAACD,UAAU,EAAE;QAC/BA,UAAA,GAAaA,UAAA,CAAWE,MAAM,CAACT,MAAM,CAACQ,QAAA,CAAS,CAACD,UAAU;MAC5D;IACF;IAEA,IAAIA,UAAA,CAAWG,MAAM,EAAE;MACrB,OAAO,uCAAuCH,UAAA,CAAWI,IAAI,CAAC;IAChE;IAEA,OAAO;EACT;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/heading/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAoG1C,CAAA"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/heading/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAuG1C,CAAA"}
@@ -77,6 +77,9 @@ export const i18n = {
77
77
  sk: {
78
78
  label: 'Nadpis {{headingLevel}}'
79
79
  },
80
+ sl: {
81
+ label: 'Naslov {{headingLevel}}'
82
+ },
80
83
  sv: {
81
84
  label: 'Rubrik {{headingLevel}}'
82
85
  },
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","names":["i18n","ar","label","az","bg","cs","da","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/heading/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'العنوان {{headingLevel}}',\n },\n az: {\n label: 'Başlıq {{headingLevel}}',\n },\n bg: {\n label: 'Заглавие {{headingLevel}}',\n },\n cs: {\n label: 'Nadpis {{headingLevel}}',\n },\n da: {\n label: 'Overskrift {{overskriftNiveau}}',\n },\n de: {\n label: 'Überschrift {{headingLevel}}',\n },\n en: {\n label: 'Heading {{headingLevel}}',\n },\n es: {\n label: 'Encabezado {{headingLevel}}',\n },\n fa: {\n label: '[SKIPPED]',\n },\n fr: {\n label: 'En-tête {{headingLevel}}',\n },\n he: {\n label: 'כותרת {{רמת כותרת}}',\n },\n hr: {\n label: 'Naslov {{headingLevel}}',\n },\n hu: {\n label: 'Címsor {{headingLevel}}',\n },\n it: {\n label: 'Intestazione {{headingLevel}}',\n },\n ja: {\n label: '見出し{{headingLevel}}',\n },\n ko: {\n label: '제목 {{headingLevel}}',\n },\n my: {\n label: '[SURAT]\\n\\nKepala {{headingLevel}}',\n },\n nb: {\n label: 'Overskrift {{headingLevel}}',\n },\n nl: {\n label: 'Kop {{headingLevel}}',\n },\n pl: {\n label: 'Nagłówek {{headingLevel}}',\n },\n pt: {\n label: 'Cabeçalho {{headingLevel}}',\n },\n ro: {\n label: 'Titlu {{headingLevel}}',\n },\n rs: {\n label: 'Naslov {{headingLevel}}',\n },\n 'rs-latin': {\n label: 'Naslov {{headingLevel}}',\n },\n ru: {\n label: 'Заголовок {{headingLevel}}',\n },\n sk: {\n label: 'Nadpis {{headingLevel}}',\n },\n sv: {\n label: 'Rubrik {{headingLevel}}',\n },\n th: {\n label: 'หัวข้อ {{headingLevel}}',\n },\n tr: {\n label: 'Başlık {{headingLevel}}',\n },\n uk: {\n label: 'Заголовок {{headingLevel}}',\n },\n vi: {\n label: 'Tiêu đề {{headingLevel}}',\n },\n zh: {\n label: '标题 {{headingLevel}}',\n },\n 'zh-TW': {\n label: '標題 {{headingLevel}}',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,KAAA,EAAO;EACT;EACAC,EAAA,EAAI;IACFD,KAAA,EAAO;EACT;EACAE,EAAA,EAAI;IACFF,KAAA,EAAO;EACT;EACAG,EAAA,EAAI;IACFH,KAAA,EAAO;EACT;EACAI,EAAA,EAAI;IACFJ,KAAA,EAAO;EACT;EACAK,EAAA,EAAI;IACFL,KAAA,EAAO;EACT;EACAM,EAAA,EAAI;IACFN,KAAA,EAAO;EACT;EACAO,EAAA,EAAI;IACFP,KAAA,EAAO;EACT;EACAQ,EAAA,EAAI;IACFR,KAAA,EAAO;EACT;EACAS,EAAA,EAAI;IACFT,KAAA,EAAO;EACT;EACAU,EAAA,EAAI;IACFV,KAAA,EAAO;EACT;EACAW,EAAA,EAAI;IACFX,KAAA,EAAO;EACT;EACAY,EAAA,EAAI;IACFZ,KAAA,EAAO;EACT;EACAa,EAAA,EAAI;IACFb,KAAA,EAAO;EACT;EACAc,EAAA,EAAI;IACFd,KAAA,EAAO;EACT;EACAe,EAAA,EAAI;IACFf,KAAA,EAAO;EACT;EACAgB,EAAA,EAAI;IACFhB,KAAA,EAAO;EACT;EACAiB,EAAA,EAAI;IACFjB,KAAA,EAAO;EACT;EACAkB,EAAA,EAAI;IACFlB,KAAA,EAAO;EACT;EACAmB,EAAA,EAAI;IACFnB,KAAA,EAAO;EACT;EACAoB,EAAA,EAAI;IACFpB,KAAA,EAAO;EACT;EACAqB,EAAA,EAAI;IACFrB,KAAA,EAAO;EACT;EACAsB,EAAA,EAAI;IACFtB,KAAA,EAAO;EACT;EACA,YAAY;IACVA,KAAA,EAAO;EACT;EACAuB,EAAA,EAAI;IACFvB,KAAA,EAAO;EACT;EACAwB,EAAA,EAAI;IACFxB,KAAA,EAAO;EACT;EACAyB,EAAA,EAAI;IACFzB,KAAA,EAAO;EACT;EACA0B,EAAA,EAAI;IACF1B,KAAA,EAAO;EACT;EACA2B,EAAA,EAAI;IACF3B,KAAA,EAAO;EACT;EACA4B,EAAA,EAAI;IACF5B,KAAA,EAAO;EACT;EACA6B,EAAA,EAAI;IACF7B,KAAA,EAAO;EACT;EACA8B,EAAA,EAAI;IACF9B,KAAA,EAAO;EACT;EACA,SAAS;IACPA,KAAA,EAAO;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"file":"i18n.js","names":["i18n","ar","label","az","bg","cs","da","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sl","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/heading/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'العنوان {{headingLevel}}',\n },\n az: {\n label: 'Başlıq {{headingLevel}}',\n },\n bg: {\n label: 'Заглавие {{headingLevel}}',\n },\n cs: {\n label: 'Nadpis {{headingLevel}}',\n },\n da: {\n label: 'Overskrift {{overskriftNiveau}}',\n },\n de: {\n label: 'Überschrift {{headingLevel}}',\n },\n en: {\n label: 'Heading {{headingLevel}}',\n },\n es: {\n label: 'Encabezado {{headingLevel}}',\n },\n fa: {\n label: '[SKIPPED]',\n },\n fr: {\n label: 'En-tête {{headingLevel}}',\n },\n he: {\n label: 'כותרת {{רמת כותרת}}',\n },\n hr: {\n label: 'Naslov {{headingLevel}}',\n },\n hu: {\n label: 'Címsor {{headingLevel}}',\n },\n it: {\n label: 'Intestazione {{headingLevel}}',\n },\n ja: {\n label: '見出し{{headingLevel}}',\n },\n ko: {\n label: '제목 {{headingLevel}}',\n },\n my: {\n label: '[SURAT]\\n\\nKepala {{headingLevel}}',\n },\n nb: {\n label: 'Overskrift {{headingLevel}}',\n },\n nl: {\n label: 'Kop {{headingLevel}}',\n },\n pl: {\n label: 'Nagłówek {{headingLevel}}',\n },\n pt: {\n label: 'Cabeçalho {{headingLevel}}',\n },\n ro: {\n label: 'Titlu {{headingLevel}}',\n },\n rs: {\n label: 'Naslov {{headingLevel}}',\n },\n 'rs-latin': {\n label: 'Naslov {{headingLevel}}',\n },\n ru: {\n label: 'Заголовок {{headingLevel}}',\n },\n sk: {\n label: 'Nadpis {{headingLevel}}',\n },\n sl: {\n label: 'Naslov {{headingLevel}}',\n },\n sv: {\n label: 'Rubrik {{headingLevel}}',\n },\n th: {\n label: 'หัวข้อ {{headingLevel}}',\n },\n tr: {\n label: 'Başlık {{headingLevel}}',\n },\n uk: {\n label: 'Заголовок {{headingLevel}}',\n },\n vi: {\n label: 'Tiêu đề {{headingLevel}}',\n },\n zh: {\n label: '标题 {{headingLevel}}',\n },\n 'zh-TW': {\n label: '標題 {{headingLevel}}',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,KAAA,EAAO;EACT;EACAC,EAAA,EAAI;IACFD,KAAA,EAAO;EACT;EACAE,EAAA,EAAI;IACFF,KAAA,EAAO;EACT;EACAG,EAAA,EAAI;IACFH,KAAA,EAAO;EACT;EACAI,EAAA,EAAI;IACFJ,KAAA,EAAO;EACT;EACAK,EAAA,EAAI;IACFL,KAAA,EAAO;EACT;EACAM,EAAA,EAAI;IACFN,KAAA,EAAO;EACT;EACAO,EAAA,EAAI;IACFP,KAAA,EAAO;EACT;EACAQ,EAAA,EAAI;IACFR,KAAA,EAAO;EACT;EACAS,EAAA,EAAI;IACFT,KAAA,EAAO;EACT;EACAU,EAAA,EAAI;IACFV,KAAA,EAAO;EACT;EACAW,EAAA,EAAI;IACFX,KAAA,EAAO;EACT;EACAY,EAAA,EAAI;IACFZ,KAAA,EAAO;EACT;EACAa,EAAA,EAAI;IACFb,KAAA,EAAO;EACT;EACAc,EAAA,EAAI;IACFd,KAAA,EAAO;EACT;EACAe,EAAA,EAAI;IACFf,KAAA,EAAO;EACT;EACAgB,EAAA,EAAI;IACFhB,KAAA,EAAO;EACT;EACAiB,EAAA,EAAI;IACFjB,KAAA,EAAO;EACT;EACAkB,EAAA,EAAI;IACFlB,KAAA,EAAO;EACT;EACAmB,EAAA,EAAI;IACFnB,KAAA,EAAO;EACT;EACAoB,EAAA,EAAI;IACFpB,KAAA,EAAO;EACT;EACAqB,EAAA,EAAI;IACFrB,KAAA,EAAO;EACT;EACAsB,EAAA,EAAI;IACFtB,KAAA,EAAO;EACT;EACA,YAAY;IACVA,KAAA,EAAO;EACT;EACAuB,EAAA,EAAI;IACFvB,KAAA,EAAO;EACT;EACAwB,EAAA,EAAI;IACFxB,KAAA,EAAO;EACT;EACAyB,EAAA,EAAI;IACFzB,KAAA,EAAO;EACT;EACA0B,EAAA,EAAI;IACF1B,KAAA,EAAO;EACT;EACA2B,EAAA,EAAI;IACF3B,KAAA,EAAO;EACT;EACA4B,EAAA,EAAI;IACF5B,KAAA,EAAO;EACT;EACA6B,EAAA,EAAI;IACF7B,KAAA,EAAO;EACT;EACA8B,EAAA,EAAI;IACF9B,KAAA,EAAO;EACT;EACA+B,EAAA,EAAI;IACF/B,KAAA,EAAO;EACT;EACA,SAAS;IACPA,KAAA,EAAO;EACT;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/horizontalRule/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAoG1C,CAAA"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/horizontalRule/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAuG1C,CAAA"}
@@ -77,6 +77,9 @@ export const i18n = {
77
77
  sk: {
78
78
  label: 'Vodorovná čiara'
79
79
  },
80
+ sl: {
81
+ label: 'Vodoravna črta'
82
+ },
80
83
  sv: {
81
84
  label: 'Horisontell linje'
82
85
  },
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","names":["i18n","ar","label","az","bg","cs","da","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/horizontalRule/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'القاعدة الأفقية',\n },\n az: {\n label: 'Üfüqi Xətt',\n },\n bg: {\n label: 'Хоризонтална линия',\n },\n cs: {\n label: 'Vodorovný pravítko',\n },\n da: {\n label: 'Horisontal Regel',\n },\n de: {\n label: 'Trennlinie',\n },\n en: {\n label: 'Horizontal Rule',\n },\n es: {\n label: 'Regla Horizontal',\n },\n fa: {\n label: 'قاعده افقی',\n },\n fr: {\n label: 'Règle horizontale',\n },\n he: {\n label: 'קו אופקי',\n },\n hr: {\n label: 'Vodoravna linija',\n },\n hu: {\n label: 'Vízszintes vonal',\n },\n it: {\n label: 'Regola Orizzontale',\n },\n ja: {\n label: '水平線',\n },\n ko: {\n label: '수평 규칙',\n },\n my: {\n label: 'Peraturan Mendatar',\n },\n nb: {\n label: 'Horisontal Regel',\n },\n nl: {\n label: 'Horizontale Regel',\n },\n pl: {\n label: 'Pozioma Linia',\n },\n pt: {\n label: 'Regra Horizontal',\n },\n ro: {\n label: 'Linie orizontală',\n },\n rs: {\n label: 'Horizontalna linija',\n },\n 'rs-latin': {\n label: 'Horizontalna linija',\n },\n ru: {\n label: 'Горизонтальная линия',\n },\n sk: {\n label: 'Vodorovná čiara',\n },\n sv: {\n label: 'Horisontell linje',\n },\n th: {\n label: 'กฎขีดตรง',\n },\n tr: {\n label: 'Yatay Çizgi',\n },\n uk: {\n label: 'Горизонтальна лінія',\n },\n vi: {\n label: 'Quy tắc ngang',\n },\n zh: {\n label: '水平线',\n },\n 'zh-TW': {\n label: '水平線',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,KAAA,EAAO;EACT;EACAC,EAAA,EAAI;IACFD,KAAA,EAAO;EACT;EACAE,EAAA,EAAI;IACFF,KAAA,EAAO;EACT;EACAG,EAAA,EAAI;IACFH,KAAA,EAAO;EACT;EACAI,EAAA,EAAI;IACFJ,KAAA,EAAO;EACT;EACAK,EAAA,EAAI;IACFL,KAAA,EAAO;EACT;EACAM,EAAA,EAAI;IACFN,KAAA,EAAO;EACT;EACAO,EAAA,EAAI;IACFP,KAAA,EAAO;EACT;EACAQ,EAAA,EAAI;IACFR,KAAA,EAAO;EACT;EACAS,EAAA,EAAI;IACFT,KAAA,EAAO;EACT;EACAU,EAAA,EAAI;IACFV,KAAA,EAAO;EACT;EACAW,EAAA,EAAI;IACFX,KAAA,EAAO;EACT;EACAY,EAAA,EAAI;IACFZ,KAAA,EAAO;EACT;EACAa,EAAA,EAAI;IACFb,KAAA,EAAO;EACT;EACAc,EAAA,EAAI;IACFd,KAAA,EAAO;EACT;EACAe,EAAA,EAAI;IACFf,KAAA,EAAO;EACT;EACAgB,EAAA,EAAI;IACFhB,KAAA,EAAO;EACT;EACAiB,EAAA,EAAI;IACFjB,KAAA,EAAO;EACT;EACAkB,EAAA,EAAI;IACFlB,KAAA,EAAO;EACT;EACAmB,EAAA,EAAI;IACFnB,KAAA,EAAO;EACT;EACAoB,EAAA,EAAI;IACFpB,KAAA,EAAO;EACT;EACAqB,EAAA,EAAI;IACFrB,KAAA,EAAO;EACT;EACAsB,EAAA,EAAI;IACFtB,KAAA,EAAO;EACT;EACA,YAAY;IACVA,KAAA,EAAO;EACT;EACAuB,EAAA,EAAI;IACFvB,KAAA,EAAO;EACT;EACAwB,EAAA,EAAI;IACFxB,KAAA,EAAO;EACT;EACAyB,EAAA,EAAI;IACFzB,KAAA,EAAO;EACT;EACA0B,EAAA,EAAI;IACF1B,KAAA,EAAO;EACT;EACA2B,EAAA,EAAI;IACF3B,KAAA,EAAO;EACT;EACA4B,EAAA,EAAI;IACF5B,KAAA,EAAO;EACT;EACA6B,EAAA,EAAI;IACF7B,KAAA,EAAO;EACT;EACA8B,EAAA,EAAI;IACF9B,KAAA,EAAO;EACT;EACA,SAAS;IACPA,KAAA,EAAO;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"file":"i18n.js","names":["i18n","ar","label","az","bg","cs","da","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sl","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/horizontalRule/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'القاعدة الأفقية',\n },\n az: {\n label: 'Üfüqi Xətt',\n },\n bg: {\n label: 'Хоризонтална линия',\n },\n cs: {\n label: 'Vodorovný pravítko',\n },\n da: {\n label: 'Horisontal Regel',\n },\n de: {\n label: 'Trennlinie',\n },\n en: {\n label: 'Horizontal Rule',\n },\n es: {\n label: 'Regla Horizontal',\n },\n fa: {\n label: 'قاعده افقی',\n },\n fr: {\n label: 'Règle horizontale',\n },\n he: {\n label: 'קו אופקי',\n },\n hr: {\n label: 'Vodoravna linija',\n },\n hu: {\n label: 'Vízszintes vonal',\n },\n it: {\n label: 'Regola Orizzontale',\n },\n ja: {\n label: '水平線',\n },\n ko: {\n label: '수평 규칙',\n },\n my: {\n label: 'Peraturan Mendatar',\n },\n nb: {\n label: 'Horisontal Regel',\n },\n nl: {\n label: 'Horizontale Regel',\n },\n pl: {\n label: 'Pozioma Linia',\n },\n pt: {\n label: 'Regra Horizontal',\n },\n ro: {\n label: 'Linie orizontală',\n },\n rs: {\n label: 'Horizontalna linija',\n },\n 'rs-latin': {\n label: 'Horizontalna linija',\n },\n ru: {\n label: 'Горизонтальная линия',\n },\n sk: {\n label: 'Vodorovná čiara',\n },\n sl: {\n label: 'Vodoravna črta',\n },\n sv: {\n label: 'Horisontell linje',\n },\n th: {\n label: 'กฎขีดตรง',\n },\n tr: {\n label: 'Yatay Çizgi',\n },\n uk: {\n label: 'Горизонтальна лінія',\n },\n vi: {\n label: 'Quy tắc ngang',\n },\n zh: {\n label: '水平线',\n },\n 'zh-TW': {\n label: '水平線',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,KAAA,EAAO;EACT;EACAC,EAAA,EAAI;IACFD,KAAA,EAAO;EACT;EACAE,EAAA,EAAI;IACFF,KAAA,EAAO;EACT;EACAG,EAAA,EAAI;IACFH,KAAA,EAAO;EACT;EACAI,EAAA,EAAI;IACFJ,KAAA,EAAO;EACT;EACAK,EAAA,EAAI;IACFL,KAAA,EAAO;EACT;EACAM,EAAA,EAAI;IACFN,KAAA,EAAO;EACT;EACAO,EAAA,EAAI;IACFP,KAAA,EAAO;EACT;EACAQ,EAAA,EAAI;IACFR,KAAA,EAAO;EACT;EACAS,EAAA,EAAI;IACFT,KAAA,EAAO;EACT;EACAU,EAAA,EAAI;IACFV,KAAA,EAAO;EACT;EACAW,EAAA,EAAI;IACFX,KAAA,EAAO;EACT;EACAY,EAAA,EAAI;IACFZ,KAAA,EAAO;EACT;EACAa,EAAA,EAAI;IACFb,KAAA,EAAO;EACT;EACAc,EAAA,EAAI;IACFd,KAAA,EAAO;EACT;EACAe,EAAA,EAAI;IACFf,KAAA,EAAO;EACT;EACAgB,EAAA,EAAI;IACFhB,KAAA,EAAO;EACT;EACAiB,EAAA,EAAI;IACFjB,KAAA,EAAO;EACT;EACAkB,EAAA,EAAI;IACFlB,KAAA,EAAO;EACT;EACAmB,EAAA,EAAI;IACFnB,KAAA,EAAO;EACT;EACAoB,EAAA,EAAI;IACFpB,KAAA,EAAO;EACT;EACAqB,EAAA,EAAI;IACFrB,KAAA,EAAO;EACT;EACAsB,EAAA,EAAI;IACFtB,KAAA,EAAO;EACT;EACA,YAAY;IACVA,KAAA,EAAO;EACT;EACAuB,EAAA,EAAI;IACFvB,KAAA,EAAO;EACT;EACAwB,EAAA,EAAI;IACFxB,KAAA,EAAO;EACT;EACAyB,EAAA,EAAI;IACFzB,KAAA,EAAO;EACT;EACA0B,EAAA,EAAI;IACF1B,KAAA,EAAO;EACT;EACA2B,EAAA,EAAI;IACF3B,KAAA,EAAO;EACT;EACA4B,EAAA,EAAI;IACF5B,KAAA,EAAO;EACT;EACA6B,EAAA,EAAI;IACF7B,KAAA,EAAO;EACT;EACA8B,EAAA,EAAI;IACF9B,KAAA,EAAO;EACT;EACA+B,EAAA,EAAI;IACF/B,KAAA,EAAO;EACT;EACA,SAAS;IACPA,KAAA,EAAO;EACT;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/indent/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAqI1C,CAAA"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/indent/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAyI1C,CAAA"}
@@ -103,6 +103,10 @@ export const i18n = {
103
103
  decreaseLabel: 'Znížiť odsadenie',
104
104
  increaseLabel: 'Zväčšiť odsadenie'
105
105
  },
106
+ sl: {
107
+ decreaseLabel: 'Zmanjšaj zamik',
108
+ increaseLabel: 'Povečaj zamik'
109
+ },
106
110
  sv: {
107
111
  decreaseLabel: 'Minska indrag',
108
112
  increaseLabel: 'Öka indrag'
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","names":["i18n","ar","decreaseLabel","increaseLabel","az","bg","cs","da","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/indent/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n decreaseLabel: 'تقليل المسافة البادئة',\n increaseLabel: 'زيادة المسافة البادئة',\n },\n az: {\n decreaseLabel: 'İntervalı Azaltın',\n increaseLabel: 'Girintiyi Artırın',\n },\n bg: {\n decreaseLabel: 'Намали отстоянието',\n increaseLabel: 'Увеличете отстоянието',\n },\n cs: {\n decreaseLabel: 'Zmenšit odsazení',\n increaseLabel: 'Zvětšit odsazení',\n },\n da: {\n decreaseLabel: 'Reducer Indrykning',\n increaseLabel: 'Forøg indrykning',\n },\n de: {\n decreaseLabel: 'Einzug verkleinern',\n increaseLabel: 'Einzug erhöhen',\n },\n en: {\n decreaseLabel: 'Decrease Indent',\n increaseLabel: 'Increase Indent',\n },\n es: {\n decreaseLabel: 'Disminuir Sangría',\n increaseLabel: 'Aumentar Sangría',\n },\n fa: {\n decreaseLabel: 'کاهش تورفتگی',\n increaseLabel: 'افزایش تورفتگی',\n },\n fr: {\n decreaseLabel: \"Diminuer l'indentation\",\n increaseLabel: \"Augmenter l'indentation\",\n },\n he: {\n decreaseLabel: 'הקטן הזחה',\n increaseLabel: 'הגדל כניסה',\n },\n hr: {\n decreaseLabel: 'Smanji uvlačenje',\n increaseLabel: 'Povećaj uvlačenje',\n },\n hu: {\n decreaseLabel: 'Csökkentse a behúzást',\n increaseLabel: 'Behúzás növelése',\n },\n it: {\n decreaseLabel: 'Diminuisci rientro',\n increaseLabel: 'Aumenta Rientro',\n },\n ja: {\n decreaseLabel: 'インデントを減らす',\n increaseLabel: 'インデントを増やす',\n },\n ko: {\n decreaseLabel: '들여쓰기 줄이기',\n increaseLabel: '들여쓰기 늘리기',\n },\n my: {\n decreaseLabel: 'Kurangkan Inden',\n increaseLabel: 'Tingkatkan Inden',\n },\n nb: {\n decreaseLabel: 'Reduser innrykk',\n increaseLabel: 'Øke innrykk',\n },\n nl: {\n decreaseLabel: 'Verminder Inspringing',\n increaseLabel: 'Inspring verhogen',\n },\n pl: {\n decreaseLabel: 'Zmniejsz wcięcie',\n increaseLabel: 'Zwiększ wcięcie',\n },\n pt: {\n decreaseLabel: 'Diminuir recuo',\n increaseLabel: 'Aumentar Indentação',\n },\n ro: {\n decreaseLabel: 'Reducere indentare',\n increaseLabel: 'Crește indentarea',\n },\n rs: {\n decreaseLabel: 'Smanji uvlačenje',\n increaseLabel: 'Povećaj uvlačenje',\n },\n 'rs-latin': {\n decreaseLabel: 'Smanji uvlačenje',\n increaseLabel: 'Povećaj uvlačenje',\n },\n ru: {\n decreaseLabel: 'Уменьшить отступ',\n increaseLabel: 'Увеличить отступ',\n },\n sk: {\n decreaseLabel: 'Znížiť odsadenie',\n increaseLabel: 'Zväčšiť odsadenie',\n },\n sv: {\n decreaseLabel: 'Minska indrag',\n increaseLabel: 'Öka indrag',\n },\n th: {\n decreaseLabel: 'ลดการเยื้อง',\n increaseLabel: 'เพิ่มการเยื้อง',\n },\n tr: {\n decreaseLabel: 'Girintiyi Azalt',\n increaseLabel: 'Girintiyi Artır',\n },\n uk: {\n decreaseLabel: 'Зменшити відступ',\n increaseLabel: 'Збільшити відступ',\n },\n vi: {\n decreaseLabel: 'Giảm lề',\n increaseLabel: 'Tăng lề',\n },\n zh: {\n decreaseLabel: '减少缩进',\n increaseLabel: '增加缩进',\n },\n 'zh-TW': {\n decreaseLabel: '減少縮排',\n increaseLabel: '增加縮排',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAC,EAAA,EAAI;IACFF,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAE,EAAA,EAAI;IACFH,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAG,EAAA,EAAI;IACFJ,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAI,EAAA,EAAI;IACFL,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAK,EAAA,EAAI;IACFN,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAM,EAAA,EAAI;IACFP,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAO,EAAA,EAAI;IACFR,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAQ,EAAA,EAAI;IACFT,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAS,EAAA,EAAI;IACFV,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAU,EAAA,EAAI;IACFX,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAW,EAAA,EAAI;IACFZ,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAY,EAAA,EAAI;IACFb,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAa,EAAA,EAAI;IACFd,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAc,EAAA,EAAI;IACFf,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAe,EAAA,EAAI;IACFhB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAgB,EAAA,EAAI;IACFjB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAiB,EAAA,EAAI;IACFlB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAkB,EAAA,EAAI;IACFnB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAmB,EAAA,EAAI;IACFpB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAoB,EAAA,EAAI;IACFrB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAqB,EAAA,EAAI;IACFtB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAsB,EAAA,EAAI;IACFvB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA,YAAY;IACVD,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAuB,EAAA,EAAI;IACFxB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAwB,EAAA,EAAI;IACFzB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAyB,EAAA,EAAI;IACF1B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA0B,EAAA,EAAI;IACF3B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA2B,EAAA,EAAI;IACF5B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA4B,EAAA,EAAI;IACF7B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA6B,EAAA,EAAI;IACF9B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA8B,EAAA,EAAI;IACF/B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA,SAAS;IACPD,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"i18n.js","names":["i18n","ar","decreaseLabel","increaseLabel","az","bg","cs","da","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sl","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/indent/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n decreaseLabel: 'تقليل المسافة البادئة',\n increaseLabel: 'زيادة المسافة البادئة',\n },\n az: {\n decreaseLabel: 'İntervalı Azaltın',\n increaseLabel: 'Girintiyi Artırın',\n },\n bg: {\n decreaseLabel: 'Намали отстоянието',\n increaseLabel: 'Увеличете отстоянието',\n },\n cs: {\n decreaseLabel: 'Zmenšit odsazení',\n increaseLabel: 'Zvětšit odsazení',\n },\n da: {\n decreaseLabel: 'Reducer Indrykning',\n increaseLabel: 'Forøg indrykning',\n },\n de: {\n decreaseLabel: 'Einzug verkleinern',\n increaseLabel: 'Einzug erhöhen',\n },\n en: {\n decreaseLabel: 'Decrease Indent',\n increaseLabel: 'Increase Indent',\n },\n es: {\n decreaseLabel: 'Disminuir Sangría',\n increaseLabel: 'Aumentar Sangría',\n },\n fa: {\n decreaseLabel: 'کاهش تورفتگی',\n increaseLabel: 'افزایش تورفتگی',\n },\n fr: {\n decreaseLabel: \"Diminuer l'indentation\",\n increaseLabel: \"Augmenter l'indentation\",\n },\n he: {\n decreaseLabel: 'הקטן הזחה',\n increaseLabel: 'הגדל כניסה',\n },\n hr: {\n decreaseLabel: 'Smanji uvlačenje',\n increaseLabel: 'Povećaj uvlačenje',\n },\n hu: {\n decreaseLabel: 'Csökkentse a behúzást',\n increaseLabel: 'Behúzás növelése',\n },\n it: {\n decreaseLabel: 'Diminuisci rientro',\n increaseLabel: 'Aumenta Rientro',\n },\n ja: {\n decreaseLabel: 'インデントを減らす',\n increaseLabel: 'インデントを増やす',\n },\n ko: {\n decreaseLabel: '들여쓰기 줄이기',\n increaseLabel: '들여쓰기 늘리기',\n },\n my: {\n decreaseLabel: 'Kurangkan Inden',\n increaseLabel: 'Tingkatkan Inden',\n },\n nb: {\n decreaseLabel: 'Reduser innrykk',\n increaseLabel: 'Øke innrykk',\n },\n nl: {\n decreaseLabel: 'Verminder Inspringing',\n increaseLabel: 'Inspring verhogen',\n },\n pl: {\n decreaseLabel: 'Zmniejsz wcięcie',\n increaseLabel: 'Zwiększ wcięcie',\n },\n pt: {\n decreaseLabel: 'Diminuir recuo',\n increaseLabel: 'Aumentar Indentação',\n },\n ro: {\n decreaseLabel: 'Reducere indentare',\n increaseLabel: 'Crește indentarea',\n },\n rs: {\n decreaseLabel: 'Smanji uvlačenje',\n increaseLabel: 'Povećaj uvlačenje',\n },\n 'rs-latin': {\n decreaseLabel: 'Smanji uvlačenje',\n increaseLabel: 'Povećaj uvlačenje',\n },\n ru: {\n decreaseLabel: 'Уменьшить отступ',\n increaseLabel: 'Увеличить отступ',\n },\n sk: {\n decreaseLabel: 'Znížiť odsadenie',\n increaseLabel: 'Zväčšiť odsadenie',\n },\n sl: {\n decreaseLabel: 'Zmanjšaj zamik',\n increaseLabel: 'Povečaj zamik',\n },\n sv: {\n decreaseLabel: 'Minska indrag',\n increaseLabel: 'Öka indrag',\n },\n th: {\n decreaseLabel: 'ลดการเยื้อง',\n increaseLabel: 'เพิ่มการเยื้อง',\n },\n tr: {\n decreaseLabel: 'Girintiyi Azalt',\n increaseLabel: 'Girintiyi Artır',\n },\n uk: {\n decreaseLabel: 'Зменшити відступ',\n increaseLabel: 'Збільшити відступ',\n },\n vi: {\n decreaseLabel: 'Giảm lề',\n increaseLabel: 'Tăng lề',\n },\n zh: {\n decreaseLabel: '减少缩进',\n increaseLabel: '增加缩进',\n },\n 'zh-TW': {\n decreaseLabel: '減少縮排',\n increaseLabel: '增加縮排',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAC,EAAA,EAAI;IACFF,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAE,EAAA,EAAI;IACFH,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAG,EAAA,EAAI;IACFJ,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAI,EAAA,EAAI;IACFL,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAK,EAAA,EAAI;IACFN,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAM,EAAA,EAAI;IACFP,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAO,EAAA,EAAI;IACFR,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAQ,EAAA,EAAI;IACFT,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAS,EAAA,EAAI;IACFV,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAU,EAAA,EAAI;IACFX,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAW,EAAA,EAAI;IACFZ,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAY,EAAA,EAAI;IACFb,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAa,EAAA,EAAI;IACFd,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAc,EAAA,EAAI;IACFf,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAe,EAAA,EAAI;IACFhB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAgB,EAAA,EAAI;IACFjB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAiB,EAAA,EAAI;IACFlB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAkB,EAAA,EAAI;IACFnB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAmB,EAAA,EAAI;IACFpB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAoB,EAAA,EAAI;IACFrB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAqB,EAAA,EAAI;IACFtB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAsB,EAAA,EAAI;IACFvB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA,YAAY;IACVD,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAuB,EAAA,EAAI;IACFxB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAwB,EAAA,EAAI;IACFzB,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACAyB,EAAA,EAAI;IACF1B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA0B,EAAA,EAAI;IACF3B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA2B,EAAA,EAAI;IACF5B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA4B,EAAA,EAAI;IACF7B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA6B,EAAA,EAAI;IACF9B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA8B,EAAA,EAAI;IACF/B,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA+B,EAAA,EAAI;IACFhC,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;EACA,SAAS;IACPD,aAAA,EAAe;IACfC,aAAA,EAAe;EACjB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/link/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAqI1C,CAAA"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/features/link/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAyI1C,CAAA"}
@@ -103,6 +103,10 @@ export const i18n = {
103
103
  label: 'Odkaz',
104
104
  loadingWithEllipsis: 'Načítava sa...'
105
105
  },
106
+ sl: {
107
+ label: 'Povezava',
108
+ loadingWithEllipsis: 'Nalaganje...'
109
+ },
106
110
  sv: {
107
111
  label: 'Länk',
108
112
  loadingWithEllipsis: 'Laddar...'
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","names":["i18n","ar","label","loadingWithEllipsis","az","bg","cs","da","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/link/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'رابط',\n loadingWithEllipsis: 'جار التحميل...',\n },\n az: {\n label: 'Keçid',\n loadingWithEllipsis: 'Yüklənir...',\n },\n bg: {\n label: 'Връзка',\n loadingWithEllipsis: 'Зарежда се...',\n },\n cs: {\n label: 'Odkaz',\n loadingWithEllipsis: 'Načítání...',\n },\n da: {\n label: 'Link',\n loadingWithEllipsis: 'Indlæser...',\n },\n de: {\n label: 'Verknüpfung',\n loadingWithEllipsis: 'Laden...',\n },\n en: {\n label: 'Link',\n loadingWithEllipsis: 'Loading...',\n },\n es: {\n label: 'Enlace',\n loadingWithEllipsis: 'Cargando...',\n },\n fa: {\n label: 'پیوند',\n loadingWithEllipsis: 'در حال بارگذاری...',\n },\n fr: {\n label: 'Lien',\n loadingWithEllipsis: 'Chargement...',\n },\n he: {\n label: 'קישור',\n loadingWithEllipsis: 'טוען...',\n },\n hr: {\n label: 'Poveznica',\n loadingWithEllipsis: 'Učitavanje...',\n },\n hu: {\n label: 'Hivatkozás',\n loadingWithEllipsis: 'Betöltés...',\n },\n it: {\n label: 'Collegamento',\n loadingWithEllipsis: 'Caricamento...',\n },\n ja: {\n label: 'リンク',\n loadingWithEllipsis: '読み込み中...',\n },\n ko: {\n label: '링크',\n loadingWithEllipsis: '로딩 중...',\n },\n my: {\n label: 'လင့်',\n loadingWithEllipsis: 'ဖွင့်နေသည်...',\n },\n nb: {\n label: 'Lenke',\n loadingWithEllipsis: 'Laster...',\n },\n nl: {\n label: 'Link',\n loadingWithEllipsis: 'Laden...',\n },\n pl: {\n label: 'Łącze',\n loadingWithEllipsis: 'Ładowanie...',\n },\n pt: {\n label: 'Ligação',\n loadingWithEllipsis: 'Carregando...',\n },\n ro: {\n label: 'Legătură',\n loadingWithEllipsis: 'Se încarcă...',\n },\n rs: {\n label: 'Veza',\n loadingWithEllipsis: 'Учитавање...',\n },\n 'rs-latin': {\n label: 'Veza',\n loadingWithEllipsis: 'Učitavanje...',\n },\n ru: {\n label: 'Ссылка',\n loadingWithEllipsis: 'Загрузка...',\n },\n sk: {\n label: 'Odkaz',\n loadingWithEllipsis: 'Načítava sa...',\n },\n sv: {\n label: 'Länk',\n loadingWithEllipsis: 'Laddar...',\n },\n th: {\n label: 'ลิงค์',\n loadingWithEllipsis: 'กำลังโหลด...',\n },\n tr: {\n label: 'Bağlantı',\n loadingWithEllipsis: 'Yükleniyor...',\n },\n uk: {\n label: 'Посилання',\n loadingWithEllipsis: 'Завантаження...',\n },\n vi: {\n label: 'Liên kết',\n loadingWithEllipsis: 'Đang tải...',\n },\n zh: {\n label: '链接',\n loadingWithEllipsis: '加载中...',\n },\n 'zh-TW': {\n label: '連結',\n loadingWithEllipsis: '載入中...',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAC,EAAA,EAAI;IACFF,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAE,EAAA,EAAI;IACFH,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAG,EAAA,EAAI;IACFJ,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAI,EAAA,EAAI;IACFL,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAK,EAAA,EAAI;IACFN,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAM,EAAA,EAAI;IACFP,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAO,EAAA,EAAI;IACFR,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAQ,EAAA,EAAI;IACFT,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAS,EAAA,EAAI;IACFV,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAU,EAAA,EAAI;IACFX,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAW,EAAA,EAAI;IACFZ,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAY,EAAA,EAAI;IACFb,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAa,EAAA,EAAI;IACFd,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAc,EAAA,EAAI;IACFf,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAe,EAAA,EAAI;IACFhB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAgB,EAAA,EAAI;IACFjB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAiB,EAAA,EAAI;IACFlB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAkB,EAAA,EAAI;IACFnB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAmB,EAAA,EAAI;IACFpB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAoB,EAAA,EAAI;IACFrB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAqB,EAAA,EAAI;IACFtB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAsB,EAAA,EAAI;IACFvB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA,YAAY;IACVD,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAuB,EAAA,EAAI;IACFxB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAwB,EAAA,EAAI;IACFzB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAyB,EAAA,EAAI;IACF1B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA0B,EAAA,EAAI;IACF3B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA2B,EAAA,EAAI;IACF5B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA4B,EAAA,EAAI;IACF7B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA6B,EAAA,EAAI;IACF9B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA8B,EAAA,EAAI;IACF/B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA,SAAS;IACPD,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"i18n.js","names":["i18n","ar","label","loadingWithEllipsis","az","bg","cs","da","de","en","es","fa","fr","he","hr","hu","it","ja","ko","my","nb","nl","pl","pt","ro","rs","ru","sk","sl","sv","th","tr","uk","vi","zh"],"sources":["../../../../src/features/link/server/i18n.ts"],"sourcesContent":["import type { GenericLanguages } from '@payloadcms/translations'\n\nexport const i18n: Partial<GenericLanguages> = {\n ar: {\n label: 'رابط',\n loadingWithEllipsis: 'جار التحميل...',\n },\n az: {\n label: 'Keçid',\n loadingWithEllipsis: 'Yüklənir...',\n },\n bg: {\n label: 'Връзка',\n loadingWithEllipsis: 'Зарежда се...',\n },\n cs: {\n label: 'Odkaz',\n loadingWithEllipsis: 'Načítání...',\n },\n da: {\n label: 'Link',\n loadingWithEllipsis: 'Indlæser...',\n },\n de: {\n label: 'Verknüpfung',\n loadingWithEllipsis: 'Laden...',\n },\n en: {\n label: 'Link',\n loadingWithEllipsis: 'Loading...',\n },\n es: {\n label: 'Enlace',\n loadingWithEllipsis: 'Cargando...',\n },\n fa: {\n label: 'پیوند',\n loadingWithEllipsis: 'در حال بارگذاری...',\n },\n fr: {\n label: 'Lien',\n loadingWithEllipsis: 'Chargement...',\n },\n he: {\n label: 'קישור',\n loadingWithEllipsis: 'טוען...',\n },\n hr: {\n label: 'Poveznica',\n loadingWithEllipsis: 'Učitavanje...',\n },\n hu: {\n label: 'Hivatkozás',\n loadingWithEllipsis: 'Betöltés...',\n },\n it: {\n label: 'Collegamento',\n loadingWithEllipsis: 'Caricamento...',\n },\n ja: {\n label: 'リンク',\n loadingWithEllipsis: '読み込み中...',\n },\n ko: {\n label: '링크',\n loadingWithEllipsis: '로딩 중...',\n },\n my: {\n label: 'လင့်',\n loadingWithEllipsis: 'ဖွင့်နေသည်...',\n },\n nb: {\n label: 'Lenke',\n loadingWithEllipsis: 'Laster...',\n },\n nl: {\n label: 'Link',\n loadingWithEllipsis: 'Laden...',\n },\n pl: {\n label: 'Łącze',\n loadingWithEllipsis: 'Ładowanie...',\n },\n pt: {\n label: 'Ligação',\n loadingWithEllipsis: 'Carregando...',\n },\n ro: {\n label: 'Legătură',\n loadingWithEllipsis: 'Se încarcă...',\n },\n rs: {\n label: 'Veza',\n loadingWithEllipsis: 'Учитавање...',\n },\n 'rs-latin': {\n label: 'Veza',\n loadingWithEllipsis: 'Učitavanje...',\n },\n ru: {\n label: 'Ссылка',\n loadingWithEllipsis: 'Загрузка...',\n },\n sk: {\n label: 'Odkaz',\n loadingWithEllipsis: 'Načítava sa...',\n },\n sl: {\n label: 'Povezava',\n loadingWithEllipsis: 'Nalaganje...',\n },\n sv: {\n label: 'Länk',\n loadingWithEllipsis: 'Laddar...',\n },\n th: {\n label: 'ลิงค์',\n loadingWithEllipsis: 'กำลังโหลด...',\n },\n tr: {\n label: 'Bağlantı',\n loadingWithEllipsis: 'Yükleniyor...',\n },\n uk: {\n label: 'Посилання',\n loadingWithEllipsis: 'Завантаження...',\n },\n vi: {\n label: 'Liên kết',\n loadingWithEllipsis: 'Đang tải...',\n },\n zh: {\n label: '链接',\n loadingWithEllipsis: '加载中...',\n },\n 'zh-TW': {\n label: '連結',\n loadingWithEllipsis: '載入中...',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,IAAA,GAAkC;EAC7CC,EAAA,EAAI;IACFC,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAC,EAAA,EAAI;IACFF,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAE,EAAA,EAAI;IACFH,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAG,EAAA,EAAI;IACFJ,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAI,EAAA,EAAI;IACFL,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAK,EAAA,EAAI;IACFN,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAM,EAAA,EAAI;IACFP,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAO,EAAA,EAAI;IACFR,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAQ,EAAA,EAAI;IACFT,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAS,EAAA,EAAI;IACFV,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAU,EAAA,EAAI;IACFX,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAW,EAAA,EAAI;IACFZ,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAY,EAAA,EAAI;IACFb,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAa,EAAA,EAAI;IACFd,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAc,EAAA,EAAI;IACFf,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAe,EAAA,EAAI;IACFhB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAgB,EAAA,EAAI;IACFjB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAiB,EAAA,EAAI;IACFlB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAkB,EAAA,EAAI;IACFnB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAmB,EAAA,EAAI;IACFpB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAoB,EAAA,EAAI;IACFrB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAqB,EAAA,EAAI;IACFtB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAsB,EAAA,EAAI;IACFvB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA,YAAY;IACVD,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAuB,EAAA,EAAI;IACFxB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAwB,EAAA,EAAI;IACFzB,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACAyB,EAAA,EAAI;IACF1B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA0B,EAAA,EAAI;IACF3B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA2B,EAAA,EAAI;IACF5B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA4B,EAAA,EAAI;IACF7B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA6B,EAAA,EAAI;IACF9B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA8B,EAAA,EAAI;IACF/B,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA+B,EAAA,EAAI;IACFhC,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;EACA,SAAS;IACPD,KAAA,EAAO;IACPC,mBAAA,EAAqB;EACvB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/features/lists/checklist/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAoG1C,CAAA"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/features/lists/checklist/server/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,eAAO,MAAM,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAuG1C,CAAA"}
@@ -77,6 +77,9 @@ export const i18n = {
77
77
  sk: {
78
78
  label: 'Kontrolný zoznam'
79
79
  },
80
+ sl: {
81
+ label: 'Seznam preverjanja'
82
+ },
80
83
  sv: {
81
84
  label: 'Kontrollista'
82
85
  },