@payloadcms/richtext-slate 3.0.0-alpha.48 → 3.0.0-alpha.49
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.
- package/dist/field/RichText.d.ts +3 -1
- package/dist/field/RichText.d.ts.map +1 -1
- package/dist/field/RichText.js +10 -5
- package/dist/field/RichText.js.map +1 -1
- package/dist/field/elements/Button.js +1 -1
- package/dist/field/elements/Button.js.map +1 -1
- package/dist/field/elements/EnabledRelationshipsCondition.d.ts.map +1 -1
- package/dist/field/elements/EnabledRelationshipsCondition.js +2 -1
- package/dist/field/elements/EnabledRelationshipsCondition.js.map +1 -1
- package/dist/field/elements/isBlockElement.d.ts +1 -1
- package/dist/field/elements/isBlockElement.d.ts.map +1 -1
- package/dist/field/elements/link/Button/index.d.ts.map +1 -1
- package/dist/field/elements/link/Button/index.js +9 -4
- package/dist/field/elements/link/Button/index.js.map +1 -1
- package/dist/field/elements/link/Element/index.d.ts.map +1 -1
- package/dist/field/elements/link/Element/index.js +11 -1
- package/dist/field/elements/link/Element/index.js.map +1 -1
- package/dist/field/elements/link/LinkDrawer/index.d.ts.map +1 -1
- package/dist/field/elements/link/LinkDrawer/index.js +18 -10
- package/dist/field/elements/link/LinkDrawer/index.js.map +1 -1
- package/dist/field/elements/link/LinkDrawer/types.d.ts +1 -1
- package/dist/field/elements/link/LinkDrawer/types.d.ts.map +1 -1
- package/dist/field/elements/link/LinkDrawer/types.js.map +1 -1
- package/dist/field/elements/relationship/Button/index.d.ts.map +1 -1
- package/dist/field/elements/relationship/Button/index.js +2 -1
- package/dist/field/elements/relationship/Button/index.js.map +1 -1
- package/dist/field/elements/relationship/Element/index.d.ts +1 -1
- package/dist/field/elements/relationship/Element/index.d.ts.map +1 -1
- package/dist/field/elements/relationship/Element/index.js +6 -1
- package/dist/field/elements/relationship/Element/index.js.map +1 -1
- package/dist/field/elements/upload/Button/index.d.ts.map +1 -1
- package/dist/field/elements/upload/Button/index.js +2 -1
- package/dist/field/elements/upload/Button/index.js.map +1 -1
- package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts +3 -3
- package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts.map +1 -1
- package/dist/field/elements/upload/Element/UploadDrawer/index.js +15 -7
- package/dist/field/elements/upload/Element/UploadDrawer/index.js.map +1 -1
- package/dist/field/elements/upload/Element/index.d.ts +1 -1
- package/dist/field/elements/upload/Element/index.d.ts.map +1 -1
- package/dist/field/elements/upload/Element/index.js +10 -2
- package/dist/field/elements/upload/Element/index.js.map +1 -1
- package/dist/field/index.d.ts +1 -1
- package/dist/field/index.d.ts.map +1 -1
- package/dist/field/index.js +4 -4
- package/dist/field/index.js.map +1 -1
- package/dist/field/providers/ElementButtonProvider.d.ts +1 -1
- package/dist/field/providers/ElementButtonProvider.d.ts.map +1 -1
- package/dist/field/providers/ElementButtonProvider.js.map +1 -1
- package/dist/field/providers/ElementProvider.d.ts +1 -1
- package/dist/field/providers/ElementProvider.d.ts.map +1 -1
- package/dist/field/providers/ElementProvider.js.map +1 -1
- package/dist/field/providers/LeafButtonProvider.d.ts +1 -1
- package/dist/field/providers/LeafButtonProvider.d.ts.map +1 -1
- package/dist/field/providers/LeafButtonProvider.js.map +1 -1
- package/dist/field/providers/LeafProvider.d.ts +1 -1
- package/dist/field/providers/LeafProvider.d.ts.map +1 -1
- package/dist/field/providers/LeafProvider.js.map +1 -1
- package/dist/generateComponentMap.d.ts.map +1 -1
- package/dist/generateComponentMap.js +1 -3
- package/dist/generateComponentMap.js.map +1 -1
- package/dist/utilities/useSlatePlugin.js +3 -3
- package/dist/utilities/useSlatePlugin.js.map +1 -1
- package/package.json +7 -13
- package/src/index.tsx +82 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generateComponentMap.tsx"],"sourcesContent":["import type { RichTextAdapter } from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { translations } from '@payloadcms/translations/client'\nimport { mapFields } from '@payloadcms/ui/utilities'\nimport { sanitizeFields } from 'payload/config'\nimport React from 'react'\n\nimport type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from './types.js'\n\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { linkFieldsSchemaPath } from './field/elements/link/shared.js'\nimport { transformExtraFields } from './field/elements/link/utilities.js'\nimport { uploadFieldsSchemaPath } from './field/elements/upload/shared.js'\nimport { defaultLeaves as leafTypes } from './field/leaves/index.js'\n\nexport const getGenerateComponentMap =\n (args: AdapterArguments): RichTextAdapter['generateComponentMap'] =>\n ({ config }) => {\n const componentMap = new Map()\n\n const i18n = initI18n({ config: config.i18n, context: 'client', translations })\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n ;(args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf) => {\n let leafObject: RichTextCustomLeaf\n\n if (typeof leaf === 'object' && leaf !== null) {\n leafObject = leaf\n } else if (typeof leaf === 'string' && leafTypes[leaf]) {\n leafObject = leafTypes[leaf]\n }\n\n if (leafObject) {\n const LeafButton = leafObject.Button\n const LeafComponent = leafObject.Leaf\n\n componentMap.set(`leaf.button.${leafObject.name}`, <LeafButton />)\n componentMap.set(`leaf.component.${leafObject.name}`, <LeafComponent />)\n\n if (Array.isArray(leafObject.plugins)) {\n leafObject.plugins.forEach((Plugin, i) => {\n componentMap.set(`leaf.plugin.${leafObject.name}.${i}`, <Plugin />)\n })\n }\n }\n })\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n const ElementButton = element.Button\n const ElementComponent = element.Element\n\n if (ElementButton) componentMap.set(`element.button.${element.name}`, <ElementButton />)\n componentMap.set(`element.component.${element.name}`, <ElementComponent />)\n\n if (Array.isArray(element.plugins)) {\n element.plugins.forEach((Plugin, i) => {\n componentMap.set(`element.plugin.${element.name}.${i}`, <Plugin />)\n })\n }\n\n switch (element.name) {\n case 'link': {\n const linkFields = sanitizeFields({\n config,\n fields: transformExtraFields(args.admin?.link?.fields, config, i18n),\n validRelationships,\n })\n\n const mappedFields = mapFields({\n config,\n fieldSchema: linkFields,\n
|
|
1
|
+
{"version":3,"sources":["../src/generateComponentMap.tsx"],"sourcesContent":["import type { RichTextAdapter } from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { translations } from '@payloadcms/translations/client'\nimport { mapFields } from '@payloadcms/ui/utilities/buildComponentMap'\nimport { sanitizeFields } from 'payload/config'\nimport React from 'react'\n\nimport type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from './types.js'\n\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { linkFieldsSchemaPath } from './field/elements/link/shared.js'\nimport { transformExtraFields } from './field/elements/link/utilities.js'\nimport { uploadFieldsSchemaPath } from './field/elements/upload/shared.js'\nimport { defaultLeaves as leafTypes } from './field/leaves/index.js'\n\nexport const getGenerateComponentMap =\n (args: AdapterArguments): RichTextAdapter['generateComponentMap'] =>\n ({ config }) => {\n const componentMap = new Map()\n\n const i18n = initI18n({ config: config.i18n, context: 'client', translations })\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n ;(args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf) => {\n let leafObject: RichTextCustomLeaf\n\n if (typeof leaf === 'object' && leaf !== null) {\n leafObject = leaf\n } else if (typeof leaf === 'string' && leafTypes[leaf]) {\n leafObject = leafTypes[leaf]\n }\n\n if (leafObject) {\n const LeafButton = leafObject.Button\n const LeafComponent = leafObject.Leaf\n\n componentMap.set(`leaf.button.${leafObject.name}`, <LeafButton />)\n componentMap.set(`leaf.component.${leafObject.name}`, <LeafComponent />)\n\n if (Array.isArray(leafObject.plugins)) {\n leafObject.plugins.forEach((Plugin, i) => {\n componentMap.set(`leaf.plugin.${leafObject.name}.${i}`, <Plugin />)\n })\n }\n }\n })\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n const ElementButton = element.Button\n const ElementComponent = element.Element\n\n if (ElementButton) componentMap.set(`element.button.${element.name}`, <ElementButton />)\n componentMap.set(`element.component.${element.name}`, <ElementComponent />)\n\n if (Array.isArray(element.plugins)) {\n element.plugins.forEach((Plugin, i) => {\n componentMap.set(`element.plugin.${element.name}.${i}`, <Plugin />)\n })\n }\n\n switch (element.name) {\n case 'link': {\n const linkFields = sanitizeFields({\n config,\n fields: transformExtraFields(args.admin?.link?.fields, config, i18n),\n validRelationships,\n })\n\n const mappedFields = mapFields({\n config,\n fieldSchema: linkFields,\n readOnly: false,\n })\n\n componentMap.set(linkFieldsSchemaPath, mappedFields)\n\n break\n }\n\n case 'upload': {\n const uploadEnabledCollections = config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n const uploadFields = sanitizeFields({\n config,\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n validRelationships,\n })\n\n const mappedFields = mapFields({\n config,\n fieldSchema: uploadFields,\n readOnly: false,\n })\n\n componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, mappedFields)\n }\n })\n\n break\n }\n\n case 'relationship':\n break\n }\n }\n })\n\n return componentMap\n }\n"],"names":["initI18n","translations","mapFields","sanitizeFields","React","elements","elementTypes","linkFieldsSchemaPath","transformExtraFields","uploadFieldsSchemaPath","defaultLeaves","leafTypes","getGenerateComponentMap","args","config","componentMap","Map","i18n","context","validRelationships","collections","map","c","slug","admin","leaves","Object","values","forEach","leaf","leafObject","LeafButton","Button","LeafComponent","Leaf","set","name","Array","isArray","plugins","Plugin","i","el","element","ElementButton","ElementComponent","Element","linkFields","fields","link","mappedFields","fieldSchema","readOnly","uploadEnabledCollections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","uploadFields"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useAddClientFunction } from '@payloadcms/ui/providers';
|
|
1
|
+
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
|
|
2
|
+
import { useAddClientFunction } from '@payloadcms/ui/providers/ClientFunction';
|
|
3
3
|
export const useSlatePlugin = (key, plugin)=>{
|
|
4
|
-
const { schemaPath } =
|
|
4
|
+
const { schemaPath } = useFieldProps();
|
|
5
5
|
useAddClientFunction(`slatePlugin.${schemaPath}.${key}`, plugin);
|
|
6
6
|
};
|
|
7
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/useSlatePlugin.tsx"],"sourcesContent":["import type { Editor } from 'slate'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/useSlatePlugin.tsx"],"sourcesContent":["import type { Editor } from 'slate'\n\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { useAddClientFunction } from '@payloadcms/ui/providers/ClientFunction'\n\ntype Plugin = (editor: Editor) => Editor\n\nexport const useSlatePlugin = (key: string, plugin: Plugin) => {\n const { schemaPath } = useFieldProps()\n\n useAddClientFunction(`slatePlugin.${schemaPath}.${key}`, plugin)\n}\n"],"names":["useFieldProps","useAddClientFunction","useSlatePlugin","key","plugin","schemaPath"],"mappings":"AAEA,SAASA,aAAa,QAAQ,0CAAyC;AACvE,SAASC,oBAAoB,QAAQ,0CAAyC;AAI9E,OAAO,MAAMC,iBAAiB,CAACC,KAAaC;IAC1C,MAAM,EAAEC,UAAU,EAAE,GAAGL;IAEvBC,qBAAqB,CAAC,YAAY,EAAEI,WAAW,CAAC,EAAEF,IAAI,CAAC,EAAEC;AAC3D,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/richtext-slate",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.49",
|
|
4
4
|
"description": "The officially supported Slate richtext adapter for Payload",
|
|
5
5
|
"repository": "https://github.com/payloadcms/payload",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,22 +21,16 @@
|
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/node": "20.5.7",
|
|
23
23
|
"@types/react": "18.2.15",
|
|
24
|
+
"@payloadcms/ui": "3.0.0-alpha.49",
|
|
24
25
|
"@payloadcms/eslint-config": "1.1.1",
|
|
25
|
-
"
|
|
26
|
-
"payload": "3.0.0-alpha.48"
|
|
26
|
+
"payload": "3.0.0-alpha.49"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"@payloadcms/ui": "3.0.0-alpha.
|
|
32
|
-
},
|
|
33
|
-
"exports": {
|
|
34
|
-
".": {
|
|
35
|
-
"import": "./dist/index.js",
|
|
36
|
-
"require": "./dist/index.js",
|
|
37
|
-
"types": "./dist/index.d.ts"
|
|
38
|
-
}
|
|
29
|
+
"@payloadcms/translations": "3.0.0-alpha.49",
|
|
30
|
+
"payload": "3.0.0-alpha.49",
|
|
31
|
+
"@payloadcms/ui": "3.0.0-alpha.49"
|
|
39
32
|
},
|
|
33
|
+
"exports": null,
|
|
40
34
|
"publishConfig": {
|
|
41
35
|
"registry": "https://registry.npmjs.org/"
|
|
42
36
|
},
|
package/src/index.tsx
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { RichTextAdapter } from 'payload/types'
|
|
2
|
+
|
|
3
|
+
import { withNullableJSONSchemaType } from 'payload/utilities'
|
|
4
|
+
|
|
5
|
+
import type { AdapterArguments } from './types.js'
|
|
6
|
+
|
|
7
|
+
import { RichTextCell } from './cell/index.js'
|
|
8
|
+
import { richTextRelationshipPromise } from './data/richTextRelationshipPromise.js'
|
|
9
|
+
import { richTextValidate } from './data/validation.js'
|
|
10
|
+
import { RichTextField } from './field/index.js'
|
|
11
|
+
import { getGenerateComponentMap } from './generateComponentMap.js'
|
|
12
|
+
import { getGenerateSchemaMap } from './generateSchemaMap.js'
|
|
13
|
+
|
|
14
|
+
export function slateEditor(args: AdapterArguments): RichTextAdapter<any[], AdapterArguments, any> {
|
|
15
|
+
return {
|
|
16
|
+
CellComponent: RichTextCell,
|
|
17
|
+
FieldComponent: RichTextField,
|
|
18
|
+
generateComponentMap: getGenerateComponentMap(args),
|
|
19
|
+
generateSchemaMap: getGenerateSchemaMap(args),
|
|
20
|
+
outputSchema: ({ isRequired }) => {
|
|
21
|
+
return {
|
|
22
|
+
type: withNullableJSONSchemaType('array', isRequired),
|
|
23
|
+
items: {
|
|
24
|
+
type: 'object',
|
|
25
|
+
},
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
populationPromise({
|
|
29
|
+
context,
|
|
30
|
+
currentDepth,
|
|
31
|
+
depth,
|
|
32
|
+
field,
|
|
33
|
+
findMany,
|
|
34
|
+
flattenLocales,
|
|
35
|
+
overrideAccess,
|
|
36
|
+
populationPromises,
|
|
37
|
+
req,
|
|
38
|
+
showHiddenFields,
|
|
39
|
+
siblingDoc,
|
|
40
|
+
}) {
|
|
41
|
+
if (
|
|
42
|
+
field.admin?.elements?.includes('relationship') ||
|
|
43
|
+
field.admin?.elements?.includes('upload') ||
|
|
44
|
+
field.admin?.elements?.includes('link') ||
|
|
45
|
+
!field?.admin?.elements
|
|
46
|
+
) {
|
|
47
|
+
return richTextRelationshipPromise({
|
|
48
|
+
context,
|
|
49
|
+
currentDepth,
|
|
50
|
+
depth,
|
|
51
|
+
field,
|
|
52
|
+
findMany,
|
|
53
|
+
flattenLocales,
|
|
54
|
+
overrideAccess,
|
|
55
|
+
populationPromises,
|
|
56
|
+
req,
|
|
57
|
+
showHiddenFields,
|
|
58
|
+
siblingDoc,
|
|
59
|
+
})
|
|
60
|
+
}
|
|
61
|
+
return null
|
|
62
|
+
},
|
|
63
|
+
validate: richTextValidate,
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export { ElementButton } from './field/elements/Button.js'
|
|
68
|
+
|
|
69
|
+
export { toggleElement } from './field/elements/toggle.js'
|
|
70
|
+
export { LeafButton } from './field/leaves/Button.js'
|
|
71
|
+
export type {
|
|
72
|
+
AdapterArguments,
|
|
73
|
+
ElementNode,
|
|
74
|
+
FieldProps,
|
|
75
|
+
RichTextCustomElement,
|
|
76
|
+
RichTextCustomLeaf,
|
|
77
|
+
RichTextElement,
|
|
78
|
+
RichTextLeaf,
|
|
79
|
+
TextNode,
|
|
80
|
+
} from './types.js'
|
|
81
|
+
|
|
82
|
+
export { nodeIsTextNode } from './types.js'
|