@payloadcms/richtext-slate 3.0.0-beta.126 → 3.0.0-beta.128

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 (77) hide show
  1. package/dist/cell/rscEntry.d.ts +8 -0
  2. package/dist/cell/rscEntry.d.ts.map +1 -0
  3. package/dist/cell/rscEntry.js +51 -0
  4. package/dist/cell/rscEntry.js.map +1 -0
  5. package/dist/exports/client/index.d.ts +0 -1
  6. package/dist/exports/client/index.d.ts.map +1 -1
  7. package/dist/exports/client/index.js +0 -1
  8. package/dist/exports/client/index.js.map +1 -1
  9. package/dist/exports/server/rsc.d.ts +3 -0
  10. package/dist/exports/server/rsc.d.ts.map +1 -0
  11. package/dist/exports/server/rsc.js +4 -0
  12. package/dist/exports/server/rsc.js.map +1 -0
  13. package/dist/field/RichText.d.ts.map +1 -1
  14. package/dist/field/RichText.js +26 -43
  15. package/dist/field/RichText.js.map +1 -1
  16. package/dist/field/createFeatureMap.d.ts +2 -2
  17. package/dist/field/createFeatureMap.d.ts.map +1 -1
  18. package/dist/field/createFeatureMap.js +3 -0
  19. package/dist/field/createFeatureMap.js.map +1 -1
  20. package/dist/field/elements/link/Button/index.d.ts +3 -1
  21. package/dist/field/elements/link/Button/index.d.ts.map +1 -1
  22. package/dist/field/elements/link/Button/index.js +19 -15
  23. package/dist/field/elements/link/Button/index.js.map +1 -1
  24. package/dist/field/elements/link/Element/index.d.ts.map +1 -1
  25. package/dist/field/elements/link/Element/index.js +21 -17
  26. package/dist/field/elements/link/Element/index.js.map +1 -1
  27. package/dist/field/elements/link/LinkDrawer/index.d.ts.map +1 -1
  28. package/dist/field/elements/link/LinkDrawer/index.js +47 -42
  29. package/dist/field/elements/link/LinkDrawer/index.js.map +1 -1
  30. package/dist/field/elements/link/LinkDrawer/types.d.ts +1 -0
  31. package/dist/field/elements/link/LinkDrawer/types.d.ts.map +1 -1
  32. package/dist/field/elements/link/LinkDrawer/types.js.map +1 -1
  33. package/dist/field/elements/relationship/Element/index.d.ts +1 -7
  34. package/dist/field/elements/relationship/Element/index.d.ts.map +1 -1
  35. package/dist/field/elements/relationship/Element/index.js.map +1 -1
  36. package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts.map +1 -1
  37. package/dist/field/elements/upload/Element/UploadDrawer/index.js +64 -55
  38. package/dist/field/elements/upload/Element/UploadDrawer/index.js.map +1 -1
  39. package/dist/field/elements/upload/Element/index.d.ts +1 -7
  40. package/dist/field/elements/upload/Element/index.d.ts.map +1 -1
  41. package/dist/field/elements/upload/Element/index.js +27 -23
  42. package/dist/field/elements/upload/Element/index.js.map +1 -1
  43. package/dist/field/index.d.ts.map +1 -1
  44. package/dist/field/index.js +15 -13
  45. package/dist/field/index.js.map +1 -1
  46. package/dist/field/rscEntry.d.ts +7 -0
  47. package/dist/field/rscEntry.d.ts.map +1 -0
  48. package/dist/field/rscEntry.js +132 -0
  49. package/dist/field/rscEntry.js.map +1 -0
  50. package/dist/field/types.d.ts +5 -6
  51. package/dist/field/types.d.ts.map +1 -1
  52. package/dist/field/types.js.map +1 -1
  53. package/dist/generateSchemaMap.d.ts.map +1 -1
  54. package/dist/generateSchemaMap.js +30 -5
  55. package/dist/generateSchemaMap.js.map +1 -1
  56. package/dist/index.js +8 -8
  57. package/dist/index.js.map +1 -1
  58. package/dist/types.d.ts +6 -2
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/types.js.map +1 -1
  61. package/dist/utilities/SlatePropsProvider.d.ts +11 -0
  62. package/dist/utilities/SlatePropsProvider.d.ts.map +1 -0
  63. package/dist/utilities/SlatePropsProvider.js +21 -0
  64. package/dist/utilities/SlatePropsProvider.js.map +1 -0
  65. package/dist/utilities/useSlatePlugin.d.ts.map +1 -1
  66. package/dist/utilities/useSlatePlugin.js +3 -2
  67. package/dist/utilities/useSlatePlugin.js.map +1 -1
  68. package/license.md +22 -0
  69. package/package.json +17 -10
  70. package/dist/cell/index.d.ts +0 -4
  71. package/dist/cell/index.d.ts.map +0 -1
  72. package/dist/cell/index.js +0 -35
  73. package/dist/cell/index.js.map +0 -1
  74. package/dist/generateComponentMap.d.ts +0 -4
  75. package/dist/generateComponentMap.d.ts.map +0 -1
  76. package/dist/generateComponentMap.js +0 -94
  77. package/dist/generateComponentMap.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/field/rscEntry.tsx"],"sourcesContent":["import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport {\n type ClientComponentProps,\n type ClientField,\n createClientFields,\n deepCopyObjectSimple,\n type Field,\n type RichTextFieldClient,\n type ServerComponentProps,\n} from 'payload'\nimport React from 'react'\n\nimport type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from '../types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { RichTextField } from '../exports/client/index.js'\nimport { elements as elementTypes } from '../field/elements/index.js'\nimport { defaultLeaves as leafTypes } from '../field/leaves/index.js'\nimport { linkFieldsSchemaPath } from './elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './elements/upload/shared.js'\nexport const RscEntrySlateField: React.FC<\n {\n args: AdapterArguments\n } & ClientComponentProps &\n ServerComponentProps\n> = ({\n args,\n clientField,\n forceRender,\n i18n,\n indexPath,\n parentPath,\n parentSchemaPath,\n path,\n payload,\n readOnly,\n renderedBlocks,\n schemaPath,\n}) => {\n const componentMap: Map<string, ClientField[] | React.ReactNode> = new Map()\n\n const clientProps = {\n schemaPath,\n }\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(\n `leaf.button.${leafObject.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={LeafButton}\n importMap={payload.importMap}\n />,\n )\n\n componentMap.set(\n `leaf.component.${leafObject.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={LeafComponent}\n importMap={payload.importMap}\n />,\n )\n\n if (Array.isArray(leafObject.plugins)) {\n leafObject.plugins.forEach((Plugin, i) => {\n componentMap.set(\n `leaf.plugin.${leafObject.name}.${i}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={Plugin}\n importMap={payload.importMap}\n />,\n )\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) {\n componentMap.set(\n `element.button.${element.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={ElementButton}\n importMap={payload.importMap}\n />,\n )\n }\n componentMap.set(\n `element.component.${element.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={ElementComponent}\n importMap={payload.importMap}\n />,\n )\n\n if (Array.isArray(element.plugins)) {\n element.plugins.forEach((Plugin, i) => {\n componentMap.set(\n `element.plugin.${element.name}.${i}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={Plugin}\n importMap={payload.importMap}\n />,\n )\n })\n }\n\n switch (element.name) {\n case 'link': {\n let clientFields = deepCopyObjectSimple(\n args.admin?.link?.fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n defaultIDType: payload.config.db.defaultIDType,\n fields: args.admin?.link?.fields as Field[],\n i18n,\n })\n\n componentMap.set(linkFieldsSchemaPath, clientFields)\n\n break\n }\n\n case 'relationship':\n break\n\n case 'upload': {\n const uploadEnabledCollections = payload.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 let clientFields = deepCopyObjectSimple(\n args?.admin?.upload?.collections[collection.slug]?.fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n defaultIDType: payload.config.db.defaultIDType,\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n i18n,\n })\n\n componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, clientFields)\n }\n })\n\n break\n }\n }\n }\n })\n\n return (\n <RichTextField\n componentMap={Object.fromEntries(componentMap)}\n field={clientField as RichTextFieldClient}\n forceRender={forceRender}\n indexPath={indexPath}\n parentPath={parentPath}\n parentSchemaPath={parentSchemaPath}\n path={path}\n readOnly={readOnly}\n renderedBlocks={renderedBlocks}\n schemaPath={schemaPath}\n />\n )\n}\n"],"names":["RenderServerComponent","createClientFields","deepCopyObjectSimple","React","RichTextField","elements","elementTypes","defaultLeaves","leafTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","RscEntrySlateField","args","clientField","forceRender","i18n","indexPath","parentPath","parentSchemaPath","path","payload","readOnly","renderedBlocks","schemaPath","componentMap","Map","clientProps","admin","leaves","Object","values","forEach","leaf","leafObject","LeafButton","Button","LeafComponent","Leaf","set","name","Component","importMap","Array","isArray","plugins","Plugin","i","el","element","ElementButton","ElementComponent","Element","clientFields","link","fields","defaultIDType","config","db","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug","fromEntries","field"],"mappings":"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"}
@@ -1,21 +1,20 @@
1
- import type { MappedComponent } from 'payload';
2
1
  import type { RichTextPlugin, SlateFieldProps } from '../types.js';
3
2
  export type EnabledFeatures = {
4
3
  elements: {
5
4
  [name: string]: {
6
- Button: MappedComponent;
7
- Element: MappedComponent;
5
+ Button: React.ReactNode;
6
+ Element: React.ReactNode;
8
7
  name: string;
9
8
  };
10
9
  };
11
10
  leaves: {
12
11
  [name: string]: {
13
- Button: MappedComponent;
14
- Leaf: MappedComponent;
12
+ Button: React.ReactNode;
13
+ Leaf: React.ReactNode;
15
14
  name: string;
16
15
  };
17
16
  };
18
- plugins: MappedComponent[];
17
+ plugins: React.ReactNode[];
19
18
  };
20
19
  export type LoadedSlateFieldProps = {
21
20
  elements: EnabledFeatures['elements'];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,eAAe,CAAA;YACvB,OAAO,EAAE,eAAe,CAAA;YACxB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,MAAM,EAAE;QACN,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,eAAe,CAAA;YACvB,IAAI,EAAE,eAAe,CAAA;YACrB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACrC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,EAAE,cAAc,EAAE,CAAA;CAC1B,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;YACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;YACxB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,MAAM,EAAE;QACN,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;YACvB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;YACrB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACrC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,EAAE,cAAc,EAAE,CAAA;CAC1B,GAAG,eAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/field/types.ts"],"sourcesContent":["import type { MappedComponent } from 'payload'\n\nimport type { RichTextPlugin, SlateFieldProps } from '../types.js'\n\nexport type EnabledFeatures = {\n elements: {\n [name: string]: {\n Button: MappedComponent\n Element: MappedComponent\n name: string\n }\n }\n leaves: {\n [name: string]: {\n Button: MappedComponent\n Leaf: MappedComponent\n name: string\n }\n }\n plugins: MappedComponent[]\n}\n\nexport type LoadedSlateFieldProps = {\n elements: EnabledFeatures['elements']\n leaves: EnabledFeatures['leaves']\n plugins: RichTextPlugin[]\n} & SlateFieldProps\n"],"names":[],"mappings":"AAsBA,WAImB"}
1
+ {"version":3,"sources":["../../src/field/types.ts"],"sourcesContent":["import type { RichTextPlugin, SlateFieldProps } from '../types.js'\n\nexport type EnabledFeatures = {\n elements: {\n [name: string]: {\n Button: React.ReactNode\n Element: React.ReactNode\n name: string\n }\n }\n leaves: {\n [name: string]: {\n Button: React.ReactNode\n Leaf: React.ReactNode\n name: string\n }\n }\n plugins: React.ReactNode[]\n}\n\nexport type LoadedSlateFieldProps = {\n elements: EnabledFeatures['elements']\n leaves: EnabledFeatures['leaves']\n plugins: RichTextPlugin[]\n} & SlateFieldProps\n"],"names":[],"mappings":"AAoBA,WAImB"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateSchemaMap.d.ts","sourceRoot":"","sources":["../src/generateSchemaMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,eAAe,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,YAAY,CAAA;AAMzE,eAAO,MAAM,oBAAoB,SACxB,gBAAgB,KAAG,eAAe,CAAC,mBAAmB,CAoD5D,CAAA"}
1
+ {"version":3,"file":"generateSchemaMap.d.ts","sourceRoot":"","sources":["../src/generateSchemaMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,eAAe,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,YAAY,CAAA;AAMzE,eAAO,MAAM,oBAAoB,SACxB,gBAAgB,KAAG,eAAe,CAAC,mBAAmB,CAwE5D,CAAA"}
@@ -1,7 +1,8 @@
1
+ import { traverseFields } from '@payloadcms/ui/utilities/buildFieldSchemaMap/traverseFields';
1
2
  import { elements as elementTypes } from './field/elements/index.js';
2
3
  import { linkFieldsSchemaPath } from './field/elements/link/shared.js';
3
4
  import { uploadFieldsSchemaPath } from './field/elements/upload/shared.js';
4
- export const getGenerateSchemaMap = (args)=>({ config, schemaMap, schemaPath })=>{
5
+ export const getGenerateSchemaMap = (args)=>({ config, i18n, schemaMap, schemaPath })=>{
5
6
  (args?.admin?.elements || Object.values(elementTypes)).forEach((el)=>{
6
7
  let element;
7
8
  if (typeof el === 'object' && el !== null) {
@@ -13,9 +14,24 @@ export const getGenerateSchemaMap = (args)=>({ config, schemaMap, schemaPath })=
13
14
  switch(element.name){
14
15
  case 'link':
15
16
  {
16
- schemaMap.set(`${schemaPath}.${linkFieldsSchemaPath}`, args.admin?.link?.fields);
17
+ if (args.admin?.link?.fields) {
18
+ schemaMap.set(`${schemaPath}.${linkFieldsSchemaPath}`, {
19
+ fields: args.admin?.link?.fields
20
+ });
21
+ // generate schema map entries for sub-fields using traverseFields
22
+ traverseFields({
23
+ config,
24
+ fields: args.admin?.link?.fields,
25
+ i18n,
26
+ parentIndexPath: '',
27
+ parentSchemaPath: `${schemaPath}.${linkFieldsSchemaPath}`,
28
+ schemaMap
29
+ });
30
+ }
17
31
  break;
18
32
  }
33
+ case 'relationship':
34
+ break;
19
35
  case 'upload':
20
36
  {
21
37
  const uploadEnabledCollections = config.collections.filter(({ admin: { enableRichTextRelationship, hidden }, upload })=>{
@@ -26,13 +42,22 @@ export const getGenerateSchemaMap = (args)=>({ config, schemaMap, schemaPath })=
26
42
  });
27
43
  uploadEnabledCollections.forEach((collection)=>{
28
44
  if (args?.admin?.upload?.collections[collection.slug]?.fields) {
29
- schemaMap.set(`${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`, args?.admin?.upload?.collections[collection.slug]?.fields);
45
+ schemaMap.set(`${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`, {
46
+ fields: args?.admin?.upload?.collections[collection.slug]?.fields
47
+ });
48
+ // generate schema map entries for sub-fields using traverseFields
49
+ traverseFields({
50
+ config,
51
+ fields: args?.admin?.upload?.collections[collection.slug]?.fields,
52
+ i18n,
53
+ parentIndexPath: '',
54
+ parentSchemaPath: `${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,
55
+ schemaMap
56
+ });
30
57
  }
31
58
  });
32
59
  break;
33
60
  }
34
- case 'relationship':
35
- break;
36
61
  }
37
62
  }
38
63
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/generateSchemaMap.ts"],"sourcesContent":["import type { Field, RichTextAdapter } from 'payload'\n\nimport type { AdapterArguments, RichTextCustomElement } from './types.js'\n\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { linkFieldsSchemaPath } from './field/elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './field/elements/upload/shared.js'\n\nexport const getGenerateSchemaMap =\n (args: AdapterArguments): RichTextAdapter['generateSchemaMap'] =>\n ({ config, schemaMap, schemaPath }) => {\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 switch (element.name) {\n case 'link': {\n schemaMap.set(\n `${schemaPath}.${linkFieldsSchemaPath}`,\n args.admin?.link?.fields as Field[],\n )\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 schemaMap.set(\n `${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,\n args?.admin?.upload?.collections[collection.slug]?.fields,\n )\n }\n })\n\n break\n }\n\n case 'relationship':\n break\n }\n }\n })\n\n return schemaMap\n }\n"],"names":["elements","elementTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","getGenerateSchemaMap","args","config","schemaMap","schemaPath","admin","Object","values","forEach","el","element","name","set","link","fields","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug"],"mappings":"AAIA,SAASA,YAAYC,YAAY,QAAQ,4BAA2B;AACpE,SAASC,oBAAoB,QAAQ,kCAAiC;AACtE,SAASC,sBAAsB,QAAQ,oCAAmC;AAE1E,OAAO,MAAMC,uBACX,CAACC,OACD,CAAC,EAAEC,MAAM,EAAEC,SAAS,EAAEC,UAAU,EAAE;QAC9BH,CAAAA,MAAMI,OAAOT,YAAYU,OAAOC,MAAM,CAACV,aAAY,EAAGW,OAAO,CAAC,CAACC;YAC/D,IAAIC;YAEJ,IAAI,OAAOD,OAAO,YAAYA,OAAO,MAAM;gBACzCC,UAAUD;YACZ,OAAO,IAAI,OAAOA,OAAO,YAAYZ,YAAY,CAACY,GAAG,EAAE;gBACrDC,UAAUb,YAAY,CAACY,GAAG;YAC5B;YAEA,IAAIC,SAAS;gBACX,OAAQA,QAAQC,IAAI;oBAClB,KAAK;wBAAQ;4BACXR,UAAUS,GAAG,CACX,CAAC,EAAER,WAAW,CAAC,EAAEN,qBAAqB,CAAC,EACvCG,KAAKI,KAAK,EAAEQ,MAAMC;4BAGpB;wBACF;oBAEA,KAAK;wBAAU;4BACb,MAAMC,2BAA2Bb,OAAOc,WAAW,CAACC,MAAM,CACxD,CAAC,EAAEZ,OAAO,EAAEa,0BAA0B,EAAEC,MAAM,EAAE,EAAEC,MAAM,EAAE;gCACxD,IAAID,WAAW,MAAM;oCACnB,OAAO;gCACT;gCAEA,OAAOD,8BAA8BG,QAAQD,YAAY;4BAC3D;4BAGFL,yBAAyBP,OAAO,CAAC,CAACc;gCAChC,IAAIrB,MAAMI,OAAOe,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAET,QAAQ;oCAC7DX,UAAUS,GAAG,CACX,CAAC,EAAER,WAAW,CAAC,EAAEL,uBAAuB,CAAC,EAAEuB,WAAWC,IAAI,CAAC,CAAC,EAC5DtB,MAAMI,OAAOe,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAET;gCAEvD;4BACF;4BAEA;wBACF;oBAEA,KAAK;wBACH;gBACJ;YACF;QACF;QAEA,OAAOX;IACT,EAAC"}
1
+ {"version":3,"sources":["../src/generateSchemaMap.ts"],"sourcesContent":["import type { Field, RichTextAdapter } from 'payload'\n\nimport { traverseFields } from '@payloadcms/ui/utilities/buildFieldSchemaMap/traverseFields'\n\nimport type { AdapterArguments, RichTextCustomElement } from './types.js'\n\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { linkFieldsSchemaPath } from './field/elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './field/elements/upload/shared.js'\n\nexport const getGenerateSchemaMap =\n (args: AdapterArguments): RichTextAdapter['generateSchemaMap'] =>\n ({ config, i18n, schemaMap, schemaPath }) => {\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 switch (element.name) {\n case 'link': {\n if (args.admin?.link?.fields) {\n schemaMap.set(`${schemaPath}.${linkFieldsSchemaPath}`, {\n fields: args.admin?.link?.fields as Field[],\n })\n\n // generate schema map entries for sub-fields using traverseFields\n traverseFields({\n config,\n fields: args.admin?.link?.fields as Field[],\n i18n,\n parentIndexPath: '',\n parentSchemaPath: `${schemaPath}.${linkFieldsSchemaPath}`,\n schemaMap,\n })\n }\n\n break\n }\n\n case 'relationship':\n break\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 schemaMap.set(`${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`, {\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n })\n\n // generate schema map entries for sub-fields using traverseFields\n traverseFields({\n config,\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: `${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,\n schemaMap,\n })\n }\n })\n\n break\n }\n }\n }\n })\n\n return schemaMap\n }\n"],"names":["traverseFields","elements","elementTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","getGenerateSchemaMap","args","config","i18n","schemaMap","schemaPath","admin","Object","values","forEach","el","element","name","link","fields","set","parentIndexPath","parentSchemaPath","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug"],"mappings":"AAEA,SAASA,cAAc,QAAQ,8DAA6D;AAI5F,SAASC,YAAYC,YAAY,QAAQ,4BAA2B;AACpE,SAASC,oBAAoB,QAAQ,kCAAiC;AACtE,SAASC,sBAAsB,QAAQ,oCAAmC;AAE1E,OAAO,MAAMC,uBACX,CAACC,OACD,CAAC,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,UAAU,EAAE;QACpCJ,CAAAA,MAAMK,OAAOV,YAAYW,OAAOC,MAAM,CAACX,aAAY,EAAGY,OAAO,CAAC,CAACC;YAC/D,IAAIC;YAEJ,IAAI,OAAOD,OAAO,YAAYA,OAAO,MAAM;gBACzCC,UAAUD;YACZ,OAAO,IAAI,OAAOA,OAAO,YAAYb,YAAY,CAACa,GAAG,EAAE;gBACrDC,UAAUd,YAAY,CAACa,GAAG;YAC5B;YAEA,IAAIC,SAAS;gBACX,OAAQA,QAAQC,IAAI;oBAClB,KAAK;wBAAQ;4BACX,IAAIX,KAAKK,KAAK,EAAEO,MAAMC,QAAQ;gCAC5BV,UAAUW,GAAG,CAAC,CAAC,EAAEV,WAAW,CAAC,EAAEP,qBAAqB,CAAC,EAAE;oCACrDgB,QAAQb,KAAKK,KAAK,EAAEO,MAAMC;gCAC5B;gCAEA,kEAAkE;gCAClEnB,eAAe;oCACbO;oCACAY,QAAQb,KAAKK,KAAK,EAAEO,MAAMC;oCAC1BX;oCACAa,iBAAiB;oCACjBC,kBAAkB,CAAC,EAAEZ,WAAW,CAAC,EAAEP,qBAAqB,CAAC;oCACzDM;gCACF;4BACF;4BAEA;wBACF;oBAEA,KAAK;wBACH;oBAEF,KAAK;wBAAU;4BACb,MAAMc,2BAA2BhB,OAAOiB,WAAW,CAACC,MAAM,CACxD,CAAC,EAAEd,OAAO,EAAEe,0BAA0B,EAAEC,MAAM,EAAE,EAAEC,MAAM,EAAE;gCACxD,IAAID,WAAW,MAAM;oCACnB,OAAO;gCACT;gCAEA,OAAOD,8BAA8BG,QAAQD,YAAY;4BAC3D;4BAGFL,yBAAyBT,OAAO,CAAC,CAACgB;gCAChC,IAAIxB,MAAMK,OAAOiB,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAEZ,QAAQ;oCAC7DV,UAAUW,GAAG,CAAC,CAAC,EAAEV,WAAW,CAAC,EAAEN,uBAAuB,CAAC,EAAE0B,WAAWC,IAAI,CAAC,CAAC,EAAE;wCAC1EZ,QAAQb,MAAMK,OAAOiB,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAEZ;oCAC7D;oCAEA,kEAAkE;oCAClEnB,eAAe;wCACbO;wCACAY,QAAQb,MAAMK,OAAOiB,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAEZ;wCAC3DX;wCACAa,iBAAiB;wCACjBC,kBAAkB,CAAC,EAAEZ,WAAW,CAAC,EAAEN,uBAAuB,CAAC,EAAE0B,WAAWC,IAAI,CAAC,CAAC;wCAC9EtB;oCACF;gCACF;4BACF;4BAEA;wBACF;gBACF;YACF;QACF;QAEA,OAAOA;IACT,EAAC"}
package/dist/index.js CHANGED
@@ -36,16 +36,16 @@ export function slateEditor(args) {
36
36
  }
37
37
  }
38
38
  return {
39
- CellComponent: '@payloadcms/richtext-slate/client#RichTextCell',
40
- FieldComponent: '@payloadcms/richtext-slate/client#RichTextField',
41
- generateComponentMap: {
42
- path: '@payloadcms/richtext-slate/generateComponentMap#getGenerateComponentMap',
43
- serverProps: args
39
+ CellComponent: '@payloadcms/richtext-slate/rsc#RscEntrySlateCell',
40
+ FieldComponent: {
41
+ path: '@payloadcms/richtext-slate/rsc#RscEntrySlateField',
42
+ serverProps: {
43
+ args
44
+ }
44
45
  },
45
46
  generateImportMap: ({ addToImportMap })=>{
46
- addToImportMap('@payloadcms/richtext-slate/client#RichTextCell');
47
- addToImportMap('@payloadcms/richtext-slate/client#RichTextField');
48
- addToImportMap('@payloadcms/richtext-slate/generateComponentMap#getGenerateComponentMap');
47
+ addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateCell');
48
+ addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateField');
49
49
  Object.values(leafTypes).forEach((leaf)=>{
50
50
  if (leaf.Button) {
51
51
  addToImportMap(leaf.Button);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { Config, RichTextAdapterProvider } from 'payload'\n\nimport { sanitizeFields, withNullableJSONSchemaType } from 'payload'\n\nimport type { AdapterArguments } from './types.js'\n\nimport { richTextRelationshipPromise } from './data/richTextRelationshipPromise.js'\nimport { richTextValidate } from './data/validation.js'\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { transformExtraFields } from './field/elements/link/utilities.js'\nimport { defaultLeaves as leafTypes } from './field/leaves/index.js'\nimport { getGenerateSchemaMap } from './generateSchemaMap.js'\n\nexport function slateEditor(\n args: AdapterArguments,\n): RichTextAdapterProvider<any[], AdapterArguments, any> {\n return async ({ config }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n if (!args.admin) {\n args.admin = {}\n }\n if (!args.admin.link) {\n args.admin.link = {}\n }\n if (!args.admin.link.fields) {\n args.admin.link.fields = []\n }\n args.admin.link.fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: transformExtraFields(args.admin?.link?.fields, config),\n parentIsLocalized: false,\n validRelationships,\n })\n\n if (args?.admin?.upload?.collections) {\n for (const collection of Object.keys(args.admin.upload.collections)) {\n if (args?.admin?.upload?.collections[collection]?.fields) {\n args.admin.upload.collections[collection].fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: args.admin?.upload?.collections[collection]?.fields,\n parentIsLocalized: false,\n validRelationships,\n })\n }\n }\n }\n\n return {\n CellComponent: '@payloadcms/richtext-slate/client#RichTextCell',\n FieldComponent: '@payloadcms/richtext-slate/client#RichTextField',\n generateComponentMap: {\n path: '@payloadcms/richtext-slate/generateComponentMap#getGenerateComponentMap',\n serverProps: args,\n },\n generateImportMap: ({ addToImportMap }) => {\n addToImportMap('@payloadcms/richtext-slate/client#RichTextCell')\n addToImportMap('@payloadcms/richtext-slate/client#RichTextField')\n addToImportMap('@payloadcms/richtext-slate/generateComponentMap#getGenerateComponentMap')\n Object.values(leafTypes).forEach((leaf) => {\n if (leaf.Button) {\n addToImportMap(leaf.Button)\n }\n if (leaf.Leaf) {\n addToImportMap(leaf.Leaf)\n }\n if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {\n addToImportMap(leaf.plugins)\n }\n })\n args?.admin?.leaves?.forEach((leaf) => {\n if (typeof leaf === 'object') {\n if (leaf.Button) {\n addToImportMap(leaf.Button)\n }\n if (leaf.Leaf) {\n addToImportMap(leaf.Leaf)\n }\n if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {\n addToImportMap(leaf.plugins)\n }\n }\n })\n\n Object.values(elementTypes).forEach((element) => {\n if (element.Button) {\n addToImportMap(element.Button)\n }\n if (element.Element) {\n addToImportMap(element.Element)\n }\n if (Array.isArray(element.plugins) && element.plugins?.length) {\n addToImportMap(element.plugins)\n }\n })\n\n args?.admin?.elements?.forEach((element) => {\n if (typeof element === 'object') {\n if (element.Button) {\n addToImportMap(element.Button)\n }\n if (element.Element) {\n addToImportMap(element.Element)\n }\n if (Array.isArray(element.plugins) && element.plugins?.length) {\n addToImportMap(element.plugins)\n }\n }\n })\n },\n generateSchemaMap: getGenerateSchemaMap(args),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: {\n afterRead: [\n ({\n context: _context,\n currentDepth,\n depth,\n draft,\n field: _field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populate,\n populationPromises,\n req,\n showHiddenFields,\n siblingData,\n }) => {\n const context: any = _context\n const field = _field as any\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populateArg: populate,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc: siblingData,\n })\n }\n },\n ],\n },\n outputSchema: ({ isRequired }) => {\n return {\n type: withNullableJSONSchemaType('array', isRequired),\n items: {\n type: 'object',\n },\n }\n },\n validate: richTextValidate,\n }\n }\n}\n\nexport type {\n AdapterArguments,\n ElementNode,\n RichTextCustomElement,\n RichTextCustomLeaf,\n RichTextElement,\n RichTextLeaf,\n RichTextPlugin,\n RichTextPluginComponent,\n SlateFieldProps,\n TextNode,\n} from './types.js'\n\nexport { nodeIsTextNode } from './types.js'\n"],"names":["sanitizeFields","withNullableJSONSchemaType","richTextRelationshipPromise","richTextValidate","elements","elementTypes","transformExtraFields","defaultLeaves","leafTypes","getGenerateSchemaMap","slateEditor","args","config","validRelationships","collections","map","c","slug","admin","link","fields","parentIsLocalized","upload","collection","Object","keys","CellComponent","FieldComponent","generateComponentMap","path","serverProps","generateImportMap","addToImportMap","values","forEach","leaf","Button","Leaf","Array","isArray","plugins","length","leaves","element","Element","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","includes","hooks","afterRead","_context","_field","populate","siblingData","populateArg","outputSchema","isRequired","type","items","validate","nodeIsTextNode"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { Config, RichTextAdapterProvider } from 'payload'\n\nimport { sanitizeFields, withNullableJSONSchemaType } from 'payload'\n\nimport type { AdapterArguments } from './types.js'\n\nimport { richTextRelationshipPromise } from './data/richTextRelationshipPromise.js'\nimport { richTextValidate } from './data/validation.js'\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { transformExtraFields } from './field/elements/link/utilities.js'\nimport { defaultLeaves as leafTypes } from './field/leaves/index.js'\nimport { getGenerateSchemaMap } from './generateSchemaMap.js'\n\nexport function slateEditor(\n args: AdapterArguments,\n): RichTextAdapterProvider<any[], AdapterArguments, any> {\n return async ({ config }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n if (!args.admin) {\n args.admin = {}\n }\n if (!args.admin.link) {\n args.admin.link = {}\n }\n if (!args.admin.link.fields) {\n args.admin.link.fields = []\n }\n args.admin.link.fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: transformExtraFields(args.admin?.link?.fields, config),\n parentIsLocalized: false,\n validRelationships,\n })\n\n if (args?.admin?.upload?.collections) {\n for (const collection of Object.keys(args.admin.upload.collections)) {\n if (args?.admin?.upload?.collections[collection]?.fields) {\n args.admin.upload.collections[collection].fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: args.admin?.upload?.collections[collection]?.fields,\n parentIsLocalized: false,\n validRelationships,\n })\n }\n }\n }\n\n return {\n CellComponent: '@payloadcms/richtext-slate/rsc#RscEntrySlateCell',\n FieldComponent: {\n path: '@payloadcms/richtext-slate/rsc#RscEntrySlateField',\n serverProps: {\n args,\n },\n },\n generateImportMap: ({ addToImportMap }) => {\n addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateCell')\n addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateField')\n Object.values(leafTypes).forEach((leaf) => {\n if (leaf.Button) {\n addToImportMap(leaf.Button)\n }\n if (leaf.Leaf) {\n addToImportMap(leaf.Leaf)\n }\n if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {\n addToImportMap(leaf.plugins)\n }\n })\n args?.admin?.leaves?.forEach((leaf) => {\n if (typeof leaf === 'object') {\n if (leaf.Button) {\n addToImportMap(leaf.Button)\n }\n if (leaf.Leaf) {\n addToImportMap(leaf.Leaf)\n }\n if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {\n addToImportMap(leaf.plugins)\n }\n }\n })\n\n Object.values(elementTypes).forEach((element) => {\n if (element.Button) {\n addToImportMap(element.Button)\n }\n if (element.Element) {\n addToImportMap(element.Element)\n }\n if (Array.isArray(element.plugins) && element.plugins?.length) {\n addToImportMap(element.plugins)\n }\n })\n\n args?.admin?.elements?.forEach((element) => {\n if (typeof element === 'object') {\n if (element.Button) {\n addToImportMap(element.Button)\n }\n if (element.Element) {\n addToImportMap(element.Element)\n }\n if (Array.isArray(element.plugins) && element.plugins?.length) {\n addToImportMap(element.plugins)\n }\n }\n })\n },\n generateSchemaMap: getGenerateSchemaMap(args),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: {\n afterRead: [\n ({\n context: _context,\n currentDepth,\n depth,\n draft,\n field: _field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populate,\n populationPromises,\n req,\n showHiddenFields,\n siblingData,\n }) => {\n const context: any = _context\n const field = _field as any\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populateArg: populate,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc: siblingData,\n })\n }\n },\n ],\n },\n outputSchema: ({ isRequired }) => {\n return {\n type: withNullableJSONSchemaType('array', isRequired),\n items: {\n type: 'object',\n },\n }\n },\n validate: richTextValidate,\n }\n }\n}\n\nexport type {\n AdapterArguments,\n ElementNode,\n RichTextCustomElement,\n RichTextCustomLeaf,\n RichTextElement,\n RichTextLeaf,\n RichTextPlugin,\n RichTextPluginComponent,\n SlateFieldProps,\n TextNode,\n} from './types.js'\n\nexport { nodeIsTextNode } from './types.js'\n"],"names":["sanitizeFields","withNullableJSONSchemaType","richTextRelationshipPromise","richTextValidate","elements","elementTypes","transformExtraFields","defaultLeaves","leafTypes","getGenerateSchemaMap","slateEditor","args","config","validRelationships","collections","map","c","slug","admin","link","fields","parentIsLocalized","upload","collection","Object","keys","CellComponent","FieldComponent","path","serverProps","generateImportMap","addToImportMap","values","forEach","leaf","Button","Leaf","Array","isArray","plugins","length","leaves","element","Element","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","includes","hooks","afterRead","_context","_field","populate","siblingData","populateArg","outputSchema","isRequired","type","items","validate","nodeIsTextNode"],"mappings":"AAEA,SAASA,cAAc,EAAEC,0BAA0B,QAAQ,UAAS;AAIpE,SAASC,2BAA2B,QAAQ,wCAAuC;AACnF,SAASC,gBAAgB,QAAQ,uBAAsB;AACvD,SAASC,YAAYC,YAAY,QAAQ,4BAA2B;AACpE,SAASC,oBAAoB,QAAQ,qCAAoC;AACzE,SAASC,iBAAiBC,SAAS,QAAQ,0BAAyB;AACpE,SAASC,oBAAoB,QAAQ,yBAAwB;AAE7D,OAAO,SAASC,YACdC,IAAsB;IAEtB,OAAO,OAAO,EAAEC,MAAM,EAAE;QACtB,MAAMC,qBAAqBD,OAAOE,WAAW,CAACC,GAAG,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAK,EAAE;QAEtE,IAAI,CAACN,KAAKO,KAAK,EAAE;YACfP,KAAKO,KAAK,GAAG,CAAC;QAChB;QACA,IAAI,CAACP,KAAKO,KAAK,CAACC,IAAI,EAAE;YACpBR,KAAKO,KAAK,CAACC,IAAI,GAAG,CAAC;QACrB;QACA,IAAI,CAACR,KAAKO,KAAK,CAACC,IAAI,CAACC,MAAM,EAAE;YAC3BT,KAAKO,KAAK,CAACC,IAAI,CAACC,MAAM,GAAG,EAAE;QAC7B;QACAT,KAAKO,KAAK,CAACC,IAAI,CAACC,MAAM,GAAG,MAAMpB,eAAe;YAC5CY,QAAQA;YACRQ,QAAQd,qBAAqBK,KAAKO,KAAK,EAAEC,MAAMC,QAAQR;YACvDS,mBAAmB;YACnBR;QACF;QAEA,IAAIF,MAAMO,OAAOI,QAAQR,aAAa;YACpC,KAAK,MAAMS,cAAcC,OAAOC,IAAI,CAACd,KAAKO,KAAK,CAACI,MAAM,CAACR,WAAW,EAAG;gBACnE,IAAIH,MAAMO,OAAOI,QAAQR,WAAW,CAACS,WAAW,EAAEH,QAAQ;oBACxDT,KAAKO,KAAK,CAACI,MAAM,CAACR,WAAW,CAACS,WAAW,CAACH,MAAM,GAAG,MAAMpB,eAAe;wBACtEY,QAAQA;wBACRQ,QAAQT,KAAKO,KAAK,EAAEI,QAAQR,WAAW,CAACS,WAAW,EAAEH;wBACrDC,mBAAmB;wBACnBR;oBACF;gBACF;YACF;QACF;QAEA,OAAO;YACLa,eAAe;YACfC,gBAAgB;gBACdC,MAAM;gBACNC,aAAa;oBACXlB;gBACF;YACF;YACAmB,mBAAmB,CAAC,EAAEC,cAAc,EAAE;gBACpCA,eAAe;gBACfA,eAAe;gBACfP,OAAOQ,MAAM,CAACxB,WAAWyB,OAAO,CAAC,CAACC;oBAChC,IAAIA,KAAKC,MAAM,EAAE;wBACfJ,eAAeG,KAAKC,MAAM;oBAC5B;oBACA,IAAID,KAAKE,IAAI,EAAE;wBACbL,eAAeG,KAAKE,IAAI;oBAC1B;oBACA,IAAIC,MAAMC,OAAO,CAACJ,KAAKK,OAAO,KAAKL,KAAKK,OAAO,EAAEC,QAAQ;wBACvDT,eAAeG,KAAKK,OAAO;oBAC7B;gBACF;gBACA5B,MAAMO,OAAOuB,QAAQR,QAAQ,CAACC;oBAC5B,IAAI,OAAOA,SAAS,UAAU;wBAC5B,IAAIA,KAAKC,MAAM,EAAE;4BACfJ,eAAeG,KAAKC,MAAM;wBAC5B;wBACA,IAAID,KAAKE,IAAI,EAAE;4BACbL,eAAeG,KAAKE,IAAI;wBAC1B;wBACA,IAAIC,MAAMC,OAAO,CAACJ,KAAKK,OAAO,KAAKL,KAAKK,OAAO,EAAEC,QAAQ;4BACvDT,eAAeG,KAAKK,OAAO;wBAC7B;oBACF;gBACF;gBAEAf,OAAOQ,MAAM,CAAC3B,cAAc4B,OAAO,CAAC,CAACS;oBACnC,IAAIA,QAAQP,MAAM,EAAE;wBAClBJ,eAAeW,QAAQP,MAAM;oBAC/B;oBACA,IAAIO,QAAQC,OAAO,EAAE;wBACnBZ,eAAeW,QAAQC,OAAO;oBAChC;oBACA,IAAIN,MAAMC,OAAO,CAACI,QAAQH,OAAO,KAAKG,QAAQH,OAAO,EAAEC,QAAQ;wBAC7DT,eAAeW,QAAQH,OAAO;oBAChC;gBACF;gBAEA5B,MAAMO,OAAOd,UAAU6B,QAAQ,CAACS;oBAC9B,IAAI,OAAOA,YAAY,UAAU;wBAC/B,IAAIA,QAAQP,MAAM,EAAE;4BAClBJ,eAAeW,QAAQP,MAAM;wBAC/B;wBACA,IAAIO,QAAQC,OAAO,EAAE;4BACnBZ,eAAeW,QAAQC,OAAO;wBAChC;wBACA,IAAIN,MAAMC,OAAO,CAACI,QAAQH,OAAO,KAAKG,QAAQH,OAAO,EAAEC,QAAQ;4BAC7DT,eAAeW,QAAQH,OAAO;wBAChC;oBACF;gBACF;YACF;YACAK,mBAAmBnC,qBAAqBE;YACxCkC,2BAA0B,EACxBC,OAAO,EACPC,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,aAAa,EACbC,QAAQ,EACRC,cAAc,EACdC,cAAc,EACdC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EAChBC,UAAU,EACX;gBACC,IACER,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,mBAChCT,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,aAChCT,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,WAChC,CAACT,OAAOhC,OAAOd,UACf;oBACAF,4BAA4B;wBAC1B4C;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;oBACF;gBACF;YACF;YACAE,OAAO;gBACLC,WAAW;oBACT,CAAC,EACCf,SAASgB,QAAQ,EACjBf,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,OAAOa,MAAM,EACbZ,aAAa,EACbC,QAAQ,EACRC,cAAc,EACdC,cAAc,EACdU,QAAQ,EACRT,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EAChBQ,WAAW,EACZ;wBACC,MAAMnB,UAAegB;wBACrB,MAAMZ,QAAQa;wBACd,IACEb,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,mBAChCT,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,aAChCT,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,WAChC,CAACT,OAAOhC,OAAOd,UACf;4BACAF,4BAA4B;gCAC1B4C;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAY,aAAaF;gCACbT;gCACAC;gCACAC;gCACAC,YAAYO;4BACd;wBACF;oBACF;iBACD;YACH;YACAE,cAAc,CAAC,EAAEC,UAAU,EAAE;gBAC3B,OAAO;oBACLC,MAAMpE,2BAA2B,SAASmE;oBAC1CE,OAAO;wBACLD,MAAM;oBACR;gBACF;YACF;YACAE,UAAUpE;QACZ;IACF;AACF;AAeA,SAASqE,cAAc,QAAQ,aAAY"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Field, PayloadComponent, RichTextFieldClientProps, SanitizedConfig } from 'payload';
1
+ import type { ClientField, Field, PayloadComponent, RichTextFieldClientProps, SanitizedConfig } from 'payload';
2
2
  import type { Editor } from 'slate';
3
3
  export type TextNode = {
4
4
  [x: string]: unknown;
@@ -47,5 +47,9 @@ export type AdapterArguments = {
47
47
  };
48
48
  };
49
49
  };
50
- export type SlateFieldProps = RichTextFieldClientProps<any[], AdapterArguments, AdapterArguments>;
50
+ export type SlateFieldProps = {
51
+ componentMap: {
52
+ [x: string]: ClientField[] | React.ReactNode;
53
+ };
54
+ } & RichTextFieldClientProps<any[], AdapterArguments, AdapterArguments>;
51
55
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACjG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEnC,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7D,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,EAAE,CAAC,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI,IAAI,QAAQ,CAE7E;AAED,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAA;AACtD,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;AAEvD,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,OAAO,EAAE,gBAAgB,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,gBAAgB,CAAA;IACxB,IAAI,EAAE,gBAAgB,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,cAAc,GACd,WAAW,GACX,IAAI,GACJ,QAAQ,GACR,qBAAqB,CAAA;AACzB,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,QAAQ,GACR,eAAe,GACf,WAAW,GACX,kBAAkB,CAAA;AAEtB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;QAC5B,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE;YACL,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;gBAAE,MAAM,EAAE,eAAe,CAAC;gBAAC,aAAa,EAAE,KAAK,EAAE,CAAA;aAAE,KAAK,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAA;SAC5F,CAAA;QACD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;QAC7C,GAAG,CAAC,EAAE,OAAO,CAAA;QACb,MAAM,CAAC,EAAE;YACP,WAAW,EAAE;gBACX,CAAC,UAAU,EAAE,MAAM,GAAG;oBACpB,MAAM,EAAE,KAAK,EAAE,CAAA;iBAChB,CAAA;aACF,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,wBAAwB,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEnC,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7D,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,EAAE,CAAC,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI,IAAI,QAAQ,CAE7E;AAED,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAA;AACtD,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;AAEvD,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,OAAO,EAAE,gBAAgB,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,gBAAgB,CAAA;IACxB,IAAI,EAAE,gBAAgB,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,cAAc,GACd,WAAW,GACX,IAAI,GACJ,QAAQ,GACR,qBAAqB,CAAA;AACzB,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,QAAQ,GACR,eAAe,GACf,WAAW,GACX,kBAAkB,CAAA;AAEtB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;QAC5B,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE;YACL,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;gBAAE,MAAM,EAAE,eAAe,CAAC;gBAAC,aAAa,EAAE,KAAK,EAAE,CAAA;aAAE,KAAK,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAA;SAC5F,CAAA;QACD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;QAC7C,GAAG,CAAC,EAAE,OAAO,CAAA;QACb,MAAM,CAAC,EAAE;YACP,WAAW,EAAE;gBACX,CAAC,UAAU,EAAE,MAAM,GAAG;oBACpB,MAAM,EAAE,KAAK,EAAE,CAAA;iBAChB,CAAA;aACF,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE;QACZ,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;KAC7C,CAAA;CACF,GAAG,wBAAwB,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAA"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Field, PayloadComponent, RichTextFieldClientProps, SanitizedConfig } from 'payload'\nimport type { Editor } from 'slate'\n\nexport type TextNode = { [x: string]: unknown; text: string }\n\nexport type ElementNode = { children: (ElementNode | TextNode)[]; type?: string }\n\nexport function nodeIsTextNode(node: ElementNode | TextNode): node is TextNode {\n return 'text' in node\n}\n\nexport type RichTextPluginComponent = PayloadComponent\nexport type RichTextPlugin = (editor: Editor) => Editor\n\nexport type RichTextCustomElement = {\n Button?: PayloadComponent\n Element: PayloadComponent\n name: string\n plugins?: RichTextPluginComponent[]\n}\n\nexport type RichTextCustomLeaf = {\n Button: PayloadComponent\n Leaf: PayloadComponent\n name: string\n plugins?: RichTextPluginComponent[]\n}\n\nexport type RichTextElement =\n | 'blockquote'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'indent'\n | 'link'\n | 'ol'\n | 'relationship'\n | 'textAlign'\n | 'ul'\n | 'upload'\n | RichTextCustomElement\nexport type RichTextLeaf =\n | 'bold'\n | 'code'\n | 'italic'\n | 'strikethrough'\n | 'underline'\n | RichTextCustomLeaf\n\nexport type AdapterArguments = {\n admin?: {\n elements?: RichTextElement[]\n hideGutter?: boolean\n leaves?: RichTextLeaf[]\n link?: {\n fields?: ((args: { config: SanitizedConfig; defaultFields: Field[] }) => Field[]) | Field[]\n }\n placeholder?: Record<string, string> | string\n rtl?: boolean\n upload?: {\n collections: {\n [collection: string]: {\n fields: Field[]\n }\n }\n }\n }\n}\n\nexport type SlateFieldProps = RichTextFieldClientProps<any[], AdapterArguments, AdapterArguments>\n"],"names":["nodeIsTextNode","node"],"mappings":"AAOA,OAAO,SAASA,eAAeC,IAA4B;IACzD,OAAO,UAAUA;AACnB"}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type {\n ClientField,\n Field,\n PayloadComponent,\n RichTextFieldClientProps,\n SanitizedConfig,\n} from 'payload'\nimport type { Editor } from 'slate'\n\nexport type TextNode = { [x: string]: unknown; text: string }\n\nexport type ElementNode = { children: (ElementNode | TextNode)[]; type?: string }\n\nexport function nodeIsTextNode(node: ElementNode | TextNode): node is TextNode {\n return 'text' in node\n}\n\nexport type RichTextPluginComponent = PayloadComponent\nexport type RichTextPlugin = (editor: Editor) => Editor\n\nexport type RichTextCustomElement = {\n Button?: PayloadComponent\n Element: PayloadComponent\n name: string\n plugins?: RichTextPluginComponent[]\n}\n\nexport type RichTextCustomLeaf = {\n Button: PayloadComponent\n Leaf: PayloadComponent\n name: string\n plugins?: RichTextPluginComponent[]\n}\n\nexport type RichTextElement =\n | 'blockquote'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'indent'\n | 'link'\n | 'ol'\n | 'relationship'\n | 'textAlign'\n | 'ul'\n | 'upload'\n | RichTextCustomElement\nexport type RichTextLeaf =\n | 'bold'\n | 'code'\n | 'italic'\n | 'strikethrough'\n | 'underline'\n | RichTextCustomLeaf\n\nexport type AdapterArguments = {\n admin?: {\n elements?: RichTextElement[]\n hideGutter?: boolean\n leaves?: RichTextLeaf[]\n link?: {\n fields?: ((args: { config: SanitizedConfig; defaultFields: Field[] }) => Field[]) | Field[]\n }\n placeholder?: Record<string, string> | string\n rtl?: boolean\n upload?: {\n collections: {\n [collection: string]: {\n fields: Field[]\n }\n }\n }\n }\n}\n\nexport type SlateFieldProps = {\n componentMap: {\n [x: string]: ClientField[] | React.ReactNode\n }\n} & RichTextFieldClientProps<any[], AdapterArguments, AdapterArguments>\n"],"names":["nodeIsTextNode","node"],"mappings":"AAaA,OAAO,SAASA,eAAeC,IAA4B;IACzD,OAAO,UAAUA;AACnB"}
@@ -0,0 +1,11 @@
1
+ import { type ReactNode } from 'react';
2
+ interface SlateProps {
3
+ schemaPath: string;
4
+ }
5
+ export declare function SlatePropsProvider({ children, schemaPath, }: {
6
+ children: ReactNode;
7
+ schemaPath: string;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export declare function useSlateProps(): SlateProps;
10
+ export {};
11
+ //# sourceMappingURL=SlatePropsProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlatePropsProvider.d.ts","sourceRoot":"","sources":["../../src/utilities/SlatePropsProvider.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAExE,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAID,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,2CAEA;AAED,wBAAgB,aAAa,eAM5B"}
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React, { createContext, useContext } from 'react';
4
+ const SlatePropsContext = /*#__PURE__*/ createContext(undefined);
5
+ export function SlatePropsProvider({ children, schemaPath }) {
6
+ return /*#__PURE__*/ _jsx(SlatePropsContext.Provider, {
7
+ value: {
8
+ schemaPath
9
+ },
10
+ children: children
11
+ });
12
+ }
13
+ export function useSlateProps() {
14
+ const context = useContext(SlatePropsContext);
15
+ if (!context) {
16
+ throw new Error('useSlateProps must be used within SlatePropsProvider');
17
+ }
18
+ return context;
19
+ }
20
+
21
+ //# sourceMappingURL=SlatePropsProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/SlatePropsProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { createContext, type ReactNode, useContext } from 'react'\n\ninterface SlateProps {\n schemaPath: string\n}\n\nconst SlatePropsContext = createContext<SlateProps | undefined>(undefined)\n\nexport function SlatePropsProvider({\n children,\n schemaPath,\n}: {\n children: ReactNode\n schemaPath: string\n}) {\n return <SlatePropsContext.Provider value={{ schemaPath }}>{children}</SlatePropsContext.Provider>\n}\n\nexport function useSlateProps() {\n const context = useContext(SlatePropsContext)\n if (!context) {\n throw new Error('useSlateProps must be used within SlatePropsProvider')\n }\n return context\n}\n"],"names":["React","createContext","useContext","SlatePropsContext","undefined","SlatePropsProvider","children","schemaPath","Provider","value","useSlateProps","context","Error"],"mappings":"AAAA;;AAEA,OAAOA,SAASC,aAAa,EAAkBC,UAAU,QAAQ,QAAO;AAMxE,MAAMC,kCAAoBF,cAAsCG;AAEhE,OAAO,SAASC,mBAAmB,EACjCC,QAAQ,EACRC,UAAU,EAIX;IACC,qBAAO,KAACJ,kBAAkBK,QAAQ;QAACC,OAAO;YAAEF;QAAW;kBAAID;;AAC7D;AAEA,OAAO,SAASI;IACd,MAAMC,UAAUT,WAAWC;IAC3B,IAAI,CAACQ,SAAS;QACZ,MAAM,IAAIC,MAAM;IAClB;IACA,OAAOD;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSlatePlugin.d.ts","sourceRoot":"","sources":["../../src/utilities/useSlatePlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAInC,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;AAExC,eAAO,MAAM,cAAc,QAAS,MAAM,UAAU,MAAM,SAIzD,CAAA"}
1
+ {"version":3,"file":"useSlatePlugin.d.ts","sourceRoot":"","sources":["../../src/utilities/useSlatePlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAMnC,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;AAExC,eAAO,MAAM,cAAc,QAAS,MAAM,UAAU,MAAM,SAIzD,CAAA"}
@@ -1,6 +1,7 @@
1
- import { useAddClientFunction, useFieldProps } from '@payloadcms/ui';
1
+ import { useAddClientFunction } from '@payloadcms/ui';
2
+ import { useSlateProps } from './SlatePropsProvider.js';
2
3
  export const useSlatePlugin = (key, plugin)=>{
3
- const { schemaPath } = useFieldProps();
4
+ const { schemaPath } = useSlateProps();
4
5
  useAddClientFunction(`slatePlugin.${schemaPath}.${key}`, plugin);
5
6
  };
6
7
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/useSlatePlugin.tsx"],"sourcesContent":["import type { Editor } from 'slate'\n\nimport { useAddClientFunction, useFieldProps } from '@payloadcms/ui'\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":["useAddClientFunction","useFieldProps","useSlatePlugin","key","plugin","schemaPath"],"mappings":"AAEA,SAASA,oBAAoB,EAAEC,aAAa,QAAQ,iBAAgB;AAIpE,OAAO,MAAMC,iBAAiB,CAACC,KAAaC;IAC1C,MAAM,EAAEC,UAAU,EAAE,GAAGJ;IAEvBD,qBAAqB,CAAC,YAAY,EAAEK,WAAW,CAAC,EAAEF,IAAI,CAAC,EAAEC;AAC3D,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/useSlatePlugin.tsx"],"sourcesContent":["import type { Editor } from 'slate'\n\nimport { useAddClientFunction } from '@payloadcms/ui'\n\nimport { useSlateProps } from './SlatePropsProvider.js'\n\ntype Plugin = (editor: Editor) => Editor\n\nexport const useSlatePlugin = (key: string, plugin: Plugin) => {\n const { schemaPath } = useSlateProps()\n\n useAddClientFunction(`slatePlugin.${schemaPath}.${key}`, plugin)\n}\n"],"names":["useAddClientFunction","useSlateProps","useSlatePlugin","key","plugin","schemaPath"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ,iBAAgB;AAErD,SAASC,aAAa,QAAQ,0BAAyB;AAIvD,OAAO,MAAMC,iBAAiB,CAACC,KAAaC;IAC1C,MAAM,EAAEC,UAAU,EAAE,GAAGJ;IAEvBD,qBAAqB,CAAC,YAAY,EAAEK,WAAW,CAAC,EAAEF,IAAI,CAAC,EAAEC;AAC3D,EAAC"}
package/license.md ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018-2024 Payload CMS, Inc. <info@payloadcms.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ 'Software'), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/richtext-slate",
3
- "version": "3.0.0-beta.126",
3
+ "version": "3.0.0-beta.128",
4
4
  "description": "The officially supported Slate richtext adapter for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -10,6 +10,13 @@
10
10
  },
11
11
  "license": "MIT",
12
12
  "author": "Payload <dev@payloadcms.com> (https://payloadcms.com)",
13
+ "maintainers": [
14
+ {
15
+ "name": "Payload",
16
+ "email": "info@payloadcms.com",
17
+ "url": "https://payloadcms.com"
18
+ }
19
+ ],
13
20
  "type": "module",
14
21
  "exports": {
15
22
  ".": {
@@ -17,10 +24,10 @@
17
24
  "types": "./dist/index.d.ts",
18
25
  "default": "./dist/index.js"
19
26
  },
20
- "./generateComponentMap": {
21
- "import": "./dist/generateComponentMap.js",
22
- "types": "./dist/generateComponentMap.d.ts",
23
- "default": "./dist/generateComponentMap.js"
27
+ "./rsc": {
28
+ "import": "./dist/exports/server/rsc.js",
29
+ "types": "./dist/exports/server/rsc.d.ts",
30
+ "default": "./dist/exports/server/rsc.js"
24
31
  },
25
32
  "./client": {
26
33
  "import": "./dist/exports/client/index.js",
@@ -39,20 +46,20 @@
39
46
  "slate-history": "0.86.0",
40
47
  "slate-hyperscript": "0.81.3",
41
48
  "slate-react": "0.92.0",
42
- "@payloadcms/ui": "3.0.0-beta.126",
43
- "@payloadcms/translations": "3.0.0-beta.126"
49
+ "@payloadcms/translations": "3.0.0-beta.128",
50
+ "@payloadcms/ui": "3.0.0-beta.128"
44
51
  },
45
52
  "devDependencies": {
46
53
  "@types/is-hotkey": "^0.1.10",
47
54
  "@types/node": "22.5.4",
48
55
  "@types/react": "npm:types-react@19.0.0-rc.1",
49
56
  "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1",
50
- "@payloadcms/eslint-config": "3.0.0-beta.112",
51
- "payload": "3.0.0-beta.126"
57
+ "payload": "3.0.0-beta.128",
58
+ "@payloadcms/eslint-config": "3.0.0-beta.112"
52
59
  },
53
60
  "peerDependencies": {
54
61
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
55
- "payload": "3.0.0-beta.126"
62
+ "payload": "3.0.0-beta.128"
56
63
  },
57
64
  "engines": {
58
65
  "node": "^18.20.2 || >=20.9.0"
@@ -1,4 +0,0 @@
1
- import type { DefaultCellComponentProps } from 'payload';
2
- import React from 'react';
3
- export declare const RichTextCell: React.FC<DefaultCellComponentProps<any[]>>;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cell/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAKxD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAAC,GAAG,EAAE,CAAC,CAqCnE,CAAA"}
@@ -1,35 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useConfig, useTableCell } from '@payloadcms/ui';
4
- import { formatAdminURL } from '@payloadcms/ui/shared';
5
- import LinkImport from 'next/link.js';
6
- import React from 'react';
7
- const Link = LinkImport.default || LinkImport;
8
- export const RichTextCell = ()=>{
9
- const { cellData, cellProps, columnIndex, customCellContext, rowData } = useTableCell();
10
- const flattenedText = cellData?.map((i)=>i?.children?.map((c)=>c.text)).join(' ');
11
- const { config: { routes: { admin: adminRoute } } } = useConfig();
12
- const { link } = cellProps || {};
13
- let WrapElement = 'span';
14
- const wrapElementProps = {};
15
- const isLink = link !== undefined ? link : columnIndex === 0;
16
- if (isLink) {
17
- WrapElement = Link;
18
- wrapElementProps.href = customCellContext?.collectionSlug ? formatAdminURL({
19
- adminRoute,
20
- path: `/collections/${customCellContext?.collectionSlug}/${rowData.id}`
21
- }) : '';
22
- }
23
- if (isLink) {
24
- return /*#__PURE__*/ _jsx(WrapElement, {
25
- ...wrapElementProps,
26
- children: flattenedText
27
- });
28
- }
29
- // Limiting the number of characters shown is done in a CSS rule
30
- return /*#__PURE__*/ _jsx("span", {
31
- children: flattenedText
32
- });
33
- };
34
-
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/cell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport { useConfig, useTableCell } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const RichTextCell: React.FC<DefaultCellComponentProps<any[]>> = () => {\n const { cellData, cellProps, columnIndex, customCellContext, rowData } = useTableCell()\n const flattenedText = cellData?.map((i) => i?.children?.map((c) => c.text)).join(' ')\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { link } = cellProps || {}\n let WrapElement: React.ComponentType<any> | string = 'span'\n\n const wrapElementProps: {\n className?: string\n href?: string\n onClick?: () => void\n type?: 'button'\n } = {}\n\n const isLink = link !== undefined ? link : columnIndex === 0\n\n if (isLink) {\n WrapElement = Link\n wrapElementProps.href = customCellContext?.collectionSlug\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${customCellContext?.collectionSlug}/${rowData.id}`,\n })\n : ''\n }\n\n if (isLink) {\n return <WrapElement {...wrapElementProps}>{flattenedText}</WrapElement>\n }\n // Limiting the number of characters shown is done in a CSS rule\n return <span>{flattenedText}</span>\n}\n"],"names":["useConfig","useTableCell","formatAdminURL","LinkImport","React","Link","default","RichTextCell","cellData","cellProps","columnIndex","customCellContext","rowData","flattenedText","map","i","children","c","text","join","config","routes","admin","adminRoute","link","WrapElement","wrapElementProps","isLink","undefined","href","collectionSlug","path","id","span"],"mappings":"AAAA;;AAGA,SAASA,SAAS,EAAEC,YAAY,QAAQ,iBAAgB;AACxD,SAASC,cAAc,QAAQ,wBAAuB;AACtD,OAAOC,gBAAgB,eAAc;AACrC,OAAOC,WAAW,QAAO;AAEzB,MAAMC,OAAQF,WAAWG,OAAO,IAAIH;AAEpC,OAAO,MAAMI,eAA2D;IACtE,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,EAAEC,iBAAiB,EAAEC,OAAO,EAAE,GAAGX;IACzE,MAAMY,gBAAgBL,UAAUM,IAAI,CAACC,IAAMA,GAAGC,UAAUF,IAAI,CAACG,IAAMA,EAAEC,IAAI,GAAGC,KAAK;IAEjF,MAAM,EACJC,QAAQ,EACNC,QAAQ,EAAEC,OAAOC,UAAU,EAAE,EAC9B,EACF,GAAGvB;IAEJ,MAAM,EAAEwB,IAAI,EAAE,GAAGf,aAAa,CAAC;IAC/B,IAAIgB,cAAiD;IAErD,MAAMC,mBAKF,CAAC;IAEL,MAAMC,SAASH,SAASI,YAAYJ,OAAOd,gBAAgB;IAE3D,IAAIiB,QAAQ;QACVF,cAAcpB;QACdqB,iBAAiBG,IAAI,GAAGlB,mBAAmBmB,iBACvC5B,eAAe;YACbqB;YACAQ,MAAM,CAAC,aAAa,EAAEpB,mBAAmBmB,eAAe,CAAC,EAAElB,QAAQoB,EAAE,CAAC,CAAC;QACzE,KACA;IACN;IAEA,IAAIL,QAAQ;QACV,qBAAO,KAACF;YAAa,GAAGC,gBAAgB;sBAAGb;;IAC7C;IACA,gEAAgE;IAChE,qBAAO,KAACoB;kBAAMpB;;AAChB,EAAC"}
@@ -1,4 +0,0 @@
1
- import type { RichTextGenerateComponentMap } from 'payload';
2
- import type { AdapterArguments } from './types.js';
3
- export declare const getGenerateComponentMap: (args: AdapterArguments) => RichTextGenerateComponentMap;
4
- //# sourceMappingURL=generateComponentMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateComponentMap.d.ts","sourceRoot":"","sources":["../src/generateComponentMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuC,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAKhG,OAAO,KAAK,EAAE,gBAAgB,EAA6C,MAAM,YAAY,CAAA;AAO7F,eAAO,MAAM,uBAAuB,SAC3B,gBAAgB,KAAG,4BAgIzB,CAAA"}
@@ -1,94 +0,0 @@
1
- import { createClientFields } from '@payloadcms/ui/utilities/createClientConfig';
2
- import { deepCopyObjectSimple } from 'payload';
3
- import { elements as elementTypes } from './field/elements/index.js';
4
- import { linkFieldsSchemaPath } from './field/elements/link/shared.js';
5
- import { uploadFieldsSchemaPath } from './field/elements/upload/shared.js';
6
- import { defaultLeaves as leafTypes } from './field/leaves/index.js';
7
- export const getGenerateComponentMap = (args)=>({ createMappedComponent, i18n, importMap, payload })=>{
8
- const componentMap = new Map();
9
- (args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf)=>{
10
- let leafObject;
11
- if (typeof leaf === 'object' && leaf !== null) {
12
- leafObject = leaf;
13
- } else if (typeof leaf === 'string' && leafTypes[leaf]) {
14
- leafObject = leafTypes[leaf];
15
- }
16
- if (leafObject) {
17
- const LeafButton = leafObject.Button;
18
- const LeafComponent = leafObject.Leaf;
19
- componentMap.set(`leaf.button.${leafObject.name}`, createMappedComponent(LeafButton, undefined, undefined, 'slate-LeafButton'));
20
- componentMap.set(`leaf.component.${leafObject.name}`, createMappedComponent(LeafComponent, undefined, undefined, 'slate-LeafComponent'));
21
- if (Array.isArray(leafObject.plugins)) {
22
- leafObject.plugins.forEach((Plugin, i)=>{
23
- componentMap.set(`leaf.plugin.${leafObject.name}.${i}`, createMappedComponent(Plugin, undefined, undefined, 'slate-LeafPlugin'));
24
- });
25
- }
26
- }
27
- });
28
- (args?.admin?.elements || Object.values(elementTypes)).forEach((el)=>{
29
- let element;
30
- if (typeof el === 'object' && el !== null) {
31
- element = el;
32
- } else if (typeof el === 'string' && elementTypes[el]) {
33
- element = elementTypes[el];
34
- }
35
- if (element) {
36
- const ElementButton = element.Button;
37
- const ElementComponent = element.Element;
38
- if (ElementButton) {
39
- componentMap.set(`element.button.${element.name}`, createMappedComponent(ElementButton, undefined, undefined, 'slate-ElementButton'));
40
- }
41
- componentMap.set(`element.component.${element.name}`, createMappedComponent(ElementComponent, undefined, undefined, 'slate-ElementComponent'));
42
- if (Array.isArray(element.plugins)) {
43
- element.plugins.forEach((Plugin, i)=>{
44
- componentMap.set(`element.plugin.${element.name}.${i}`, createMappedComponent(Plugin, undefined, undefined, 'slate-ElementPlugin'));
45
- });
46
- }
47
- switch(element.name){
48
- case 'link':
49
- {
50
- let clientFields = deepCopyObjectSimple(args.admin?.link?.fields);
51
- clientFields = createClientFields({
52
- clientFields,
53
- createMappedComponent,
54
- fields: args.admin?.link?.fields,
55
- i18n,
56
- importMap,
57
- payload
58
- });
59
- componentMap.set(linkFieldsSchemaPath, clientFields);
60
- break;
61
- }
62
- case 'upload':
63
- {
64
- const uploadEnabledCollections = payload.config.collections.filter(({ admin: { enableRichTextRelationship, hidden }, upload })=>{
65
- if (hidden === true) {
66
- return false;
67
- }
68
- return enableRichTextRelationship && Boolean(upload) === true;
69
- });
70
- uploadEnabledCollections.forEach((collection)=>{
71
- if (args?.admin?.upload?.collections[collection.slug]?.fields) {
72
- let clientFields = deepCopyObjectSimple(args?.admin?.upload?.collections[collection.slug]?.fields);
73
- clientFields = createClientFields({
74
- clientFields,
75
- createMappedComponent,
76
- fields: args?.admin?.upload?.collections[collection.slug]?.fields,
77
- i18n,
78
- importMap,
79
- payload
80
- });
81
- componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, clientFields);
82
- }
83
- });
84
- break;
85
- }
86
- case 'relationship':
87
- break;
88
- }
89
- }
90
- });
91
- return componentMap;
92
- };
93
-
94
- //# sourceMappingURL=generateComponentMap.js.map