@payloadcms/richtext-lexical 3.0.0-beta.74 → 3.0.0-beta.76

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 (41) hide show
  1. package/dist/features/blockquote/feature.server.d.ts.map +1 -1
  2. package/dist/features/blockquote/feature.server.js +5 -2
  3. package/dist/features/blockquote/feature.server.js.map +1 -1
  4. package/dist/features/converters/html/converter/converters/paragraph.d.ts.map +1 -1
  5. package/dist/features/converters/html/converter/converters/paragraph.js +5 -2
  6. package/dist/features/converters/html/converter/converters/paragraph.js.map +1 -1
  7. package/dist/features/converters/html/converter/index.d.ts +8 -2
  8. package/dist/features/converters/html/converter/index.d.ts.map +1 -1
  9. package/dist/features/converters/html/converter/index.js +14 -5
  10. package/dist/features/converters/html/converter/index.js.map +1 -1
  11. package/dist/features/converters/html/converter/types.d.ts +5 -2
  12. package/dist/features/converters/html/converter/types.d.ts.map +1 -1
  13. package/dist/features/converters/html/converter/types.js.map +1 -1
  14. package/dist/features/converters/html/feature.server.d.ts +2 -2
  15. package/dist/features/converters/html/feature.server.d.ts.map +1 -1
  16. package/dist/features/converters/html/feature.server.js.map +1 -1
  17. package/dist/features/converters/html/field/index.d.ts.map +1 -1
  18. package/dist/features/converters/html/field/index.js +5 -2
  19. package/dist/features/converters/html/field/index.js.map +1 -1
  20. package/dist/features/experimental_table/feature.server.d.ts +11 -0
  21. package/dist/features/experimental_table/feature.server.d.ts.map +1 -1
  22. package/dist/features/experimental_table/feature.server.js +15 -6
  23. package/dist/features/experimental_table/feature.server.js.map +1 -1
  24. package/dist/features/heading/feature.server.d.ts.map +1 -1
  25. package/dist/features/heading/feature.server.js +5 -2
  26. package/dist/features/heading/feature.server.js.map +1 -1
  27. package/dist/features/link/feature.server.d.ts.map +1 -1
  28. package/dist/features/link/feature.server.js +10 -4
  29. package/dist/features/link/feature.server.js.map +1 -1
  30. package/dist/features/lists/htmlConverter.d.ts.map +1 -1
  31. package/dist/features/lists/htmlConverter.js +10 -4
  32. package/dist/features/lists/htmlConverter.js.map +1 -1
  33. package/dist/features/upload/feature.server.js +4 -4
  34. package/dist/features/upload/feature.server.js.map +1 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +3 -3
  37. package/dist/index.js.map +1 -1
  38. package/dist/nodeTypes.d.ts +3 -1
  39. package/dist/nodeTypes.d.ts.map +1 -1
  40. package/dist/nodeTypes.js.map +1 -1
  41. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/blockquote/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAYrC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,IAAI,EAAE,OAAO,CAAA;CACd,EACD,oBAAoB,CACrB,CAAA;AAED,eAAO,MAAM,iBAAiB,sFA+B5B,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/blockquote/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAYrC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,IAAI,EAAE,OAAO,CAAA;CACd,EACD,oBAAoB,CACrB,CAAA;AAED,eAAO,MAAM,iBAAiB,sFA0C5B,CAAA"}
@@ -18,15 +18,18 @@ export const BlockquoteFeature = createServerFeature({
18
18
  createNode({
19
19
  converters: {
20
20
  html: {
21
- converter: async ({ converters, node, parent, req })=>{
21
+ converter: async ({ converters, draft, node, overrideAccess, parent, req, showHiddenFields })=>{
22
22
  const childrenText = await convertLexicalNodesToHTML({
23
23
  converters,
24
+ draft,
24
25
  lexicalNodes: node.children,
26
+ overrideAccess,
25
27
  parent: {
26
28
  ...node,
27
29
  parent
28
30
  },
29
- req
31
+ req,
32
+ showHiddenFields
30
33
  });
31
34
  return `<blockquote>${childrenText}</blockquote>`;
32
35
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/blockquote/feature.server.ts"],"sourcesContent":["import type { SerializedQuoteNode as _SerializedQuoteNode } from '@lexical/rich-text'\nimport type { Spread } from 'lexical'\n\nimport { QuoteNode } from '@lexical/rich-text'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { BlockquoteFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'\nimport { createNode } from '../typeUtilities.js'\nimport { i18n } from './i18n.js'\nimport { MarkdownTransformer } from './markdownTransformer.js'\n\nexport type SerializedQuoteNode = Spread<\n {\n type: 'quote'\n },\n _SerializedQuoteNode\n>\n\nexport const BlockquoteFeature = createServerFeature({\n feature: {\n ClientFeature: BlockquoteFeatureClient,\n clientFeatureProps: null,\n i18n,\n markdownTransformers: [MarkdownTransformer],\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({ converters, node, parent, req }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n req,\n })\n\n return `<blockquote>${childrenText}</blockquote>`\n },\n nodeTypes: [QuoteNode.getType()],\n },\n },\n node: QuoteNode,\n }),\n ],\n },\n key: 'blockquote',\n})\n"],"names":["QuoteNode","BlockquoteFeatureClient","createServerFeature","convertLexicalNodesToHTML","createNode","i18n","MarkdownTransformer","BlockquoteFeature","feature","ClientFeature","clientFeatureProps","markdownTransformers","nodes","converters","html","converter","node","parent","req","childrenText","lexicalNodes","children","nodeTypes","getType","key"],"mappings":"AAGA,SAASA,SAAS,QAAQ,qBAAoB;AAE9C,+DAA+D;AAC/D,SAASC,uBAAuB,QAAQ,gCAA+B;AACvE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,yBAAyB,QAAQ,wCAAuC;AACjF,SAASC,UAAU,QAAQ,sBAAqB;AAChD,SAASC,IAAI,QAAQ,YAAW;AAChC,SAASC,mBAAmB,QAAQ,2BAA0B;AAS9D,OAAO,MAAMC,oBAAoBL,oBAAoB;IACnDM,SAAS;QACPC,eAAeR;QACfS,oBAAoB;QACpBL;QACAM,sBAAsB;YAACL;SAAoB;QAC3CM,OAAO;YACLR,WAAW;gBACTS,YAAY;oBACVC,MAAM;wBACJC,WAAW,OAAO,EAAEF,UAAU,EAAEG,IAAI,EAAEC,MAAM,EAAEC,GAAG,EAAE;4BACjD,MAAMC,eAAe,MAAMhB,0BAA0B;gCACnDU;gCACAO,cAAcJ,KAAKK,QAAQ;gCAC3BJ,QAAQ;oCACN,GAAGD,IAAI;oCACPC;gCACF;gCACAC;4BACF;4BAEA,OAAO,CAAC,YAAY,EAAEC,aAAa,aAAa,CAAC;wBACnD;wBACAG,WAAW;4BAACtB,UAAUuB,OAAO;yBAAG;oBAClC;gBACF;gBACAP,MAAMhB;YACR;SACD;IACH;IACAwB,KAAK;AACP,GAAE"}
1
+ {"version":3,"sources":["../../../src/features/blockquote/feature.server.ts"],"sourcesContent":["import type { SerializedQuoteNode as _SerializedQuoteNode } from '@lexical/rich-text'\nimport type { Spread } from 'lexical'\n\nimport { QuoteNode } from '@lexical/rich-text'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { BlockquoteFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'\nimport { createNode } from '../typeUtilities.js'\nimport { i18n } from './i18n.js'\nimport { MarkdownTransformer } from './markdownTransformer.js'\n\nexport type SerializedQuoteNode = Spread<\n {\n type: 'quote'\n },\n _SerializedQuoteNode\n>\n\nexport const BlockquoteFeature = createServerFeature({\n feature: {\n ClientFeature: BlockquoteFeatureClient,\n clientFeatureProps: null,\n i18n,\n markdownTransformers: [MarkdownTransformer],\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n\n return `<blockquote>${childrenText}</blockquote>`\n },\n nodeTypes: [QuoteNode.getType()],\n },\n },\n node: QuoteNode,\n }),\n ],\n },\n key: 'blockquote',\n})\n"],"names":["QuoteNode","BlockquoteFeatureClient","createServerFeature","convertLexicalNodesToHTML","createNode","i18n","MarkdownTransformer","BlockquoteFeature","feature","ClientFeature","clientFeatureProps","markdownTransformers","nodes","converters","html","converter","draft","node","overrideAccess","parent","req","showHiddenFields","childrenText","lexicalNodes","children","nodeTypes","getType","key"],"mappings":"AAGA,SAASA,SAAS,QAAQ,qBAAoB;AAE9C,+DAA+D;AAC/D,SAASC,uBAAuB,QAAQ,gCAA+B;AACvE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,yBAAyB,QAAQ,wCAAuC;AACjF,SAASC,UAAU,QAAQ,sBAAqB;AAChD,SAASC,IAAI,QAAQ,YAAW;AAChC,SAASC,mBAAmB,QAAQ,2BAA0B;AAS9D,OAAO,MAAMC,oBAAoBL,oBAAoB;IACnDM,SAAS;QACPC,eAAeR;QACfS,oBAAoB;QACpBL;QACAM,sBAAsB;YAACL;SAAoB;QAC3CM,OAAO;YACLR,WAAW;gBACTS,YAAY;oBACVC,MAAM;wBACJC,WAAW,OAAO,EAChBF,UAAU,EACVG,KAAK,EACLC,IAAI,EACJC,cAAc,EACdC,MAAM,EACNC,GAAG,EACHC,gBAAgB,EACjB;4BACC,MAAMC,eAAe,MAAMnB,0BAA0B;gCACnDU;gCACAG;gCACAO,cAAcN,KAAKO,QAAQ;gCAC3BN;gCACAC,QAAQ;oCACN,GAAGF,IAAI;oCACPE;gCACF;gCACAC;gCACAC;4BACF;4BAEA,OAAO,CAAC,YAAY,EAAEC,aAAa,aAAa,CAAC;wBACnD;wBACAG,WAAW;4BAACzB,UAAU0B,OAAO;yBAAG;oBAClC;gBACF;gBACAT,MAAMjB;YACR;SACD;IACH;IACA2B,KAAK;AACP,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/html/converter/converters/paragraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIhD,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,uBAAuB,CAczE,CAAA"}
1
+ {"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../../../../../src/features/converters/html/converter/converters/paragraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIhD,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,uBAAuB,CAiBzE,CAAA"}
@@ -1,14 +1,17 @@
1
1
  import { convertLexicalNodesToHTML } from '../index.js';
2
2
  export const ParagraphHTMLConverter = {
3
- async converter ({ converters, node, parent, req }) {
3
+ async converter ({ converters, draft, node, overrideAccess, parent, req, showHiddenFields }) {
4
4
  const childrenText = await convertLexicalNodesToHTML({
5
5
  converters,
6
+ draft,
6
7
  lexicalNodes: node.children,
8
+ overrideAccess,
7
9
  parent: {
8
10
  ...node,
9
11
  parent
10
12
  },
11
- req
13
+ req,
14
+ showHiddenFields
12
15
  });
13
16
  return `<p>${childrenText}</p>`;
14
17
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/features/converters/html/converter/converters/paragraph.ts"],"sourcesContent":["import type { SerializedParagraphNode } from 'lexical'\n\nimport type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../index.js'\n\nexport const ParagraphHTMLConverter: HTMLConverter<SerializedParagraphNode> = {\n async converter({ converters, node, parent, req }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n req,\n })\n return `<p>${childrenText}</p>`\n },\n nodeTypes: ['paragraph'],\n}\n"],"names":["convertLexicalNodesToHTML","ParagraphHTMLConverter","converter","converters","node","parent","req","childrenText","lexicalNodes","children","nodeTypes"],"mappings":"AAIA,SAASA,yBAAyB,QAAQ,cAAa;AAEvD,OAAO,MAAMC,yBAAiE;IAC5E,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,GAAG,EAAE;QAC/C,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QACA,OAAO,CAAC,GAAG,EAAEC,aAAa,IAAI,CAAC;IACjC;IACAG,WAAW;QAAC;KAAY;AAC1B,EAAC"}
1
+ {"version":3,"sources":["../../../../../../src/features/converters/html/converter/converters/paragraph.ts"],"sourcesContent":["import type { SerializedParagraphNode } from 'lexical'\n\nimport type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../index.js'\n\nexport const ParagraphHTMLConverter: HTMLConverter<SerializedParagraphNode> = {\n async converter({ converters, draft, node, overrideAccess, parent, req, showHiddenFields }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n return `<p>${childrenText}</p>`\n },\n nodeTypes: ['paragraph'],\n}\n"],"names":["convertLexicalNodesToHTML","ParagraphHTMLConverter","converter","converters","draft","node","overrideAccess","parent","req","showHiddenFields","childrenText","lexicalNodes","children","nodeTypes"],"mappings":"AAIA,SAASA,yBAAyB,QAAQ,cAAa;AAEvD,OAAO,MAAMC,yBAAiE;IAC5E,MAAMC,WAAU,EAAEC,UAAU,EAAEC,KAAK,EAAEC,IAAI,EAAEC,cAAc,EAAEC,MAAM,EAAEC,GAAG,EAAEC,gBAAgB,EAAE;QACxF,MAAMC,eAAe,MAAMV,0BAA0B;YACnDG;YACAC;YACAO,cAAcN,KAAKO,QAAQ;YAC3BN;YACAC,QAAQ;gBACN,GAAGF,IAAI;gBACPE;YACF;YACAC;YACAC;QACF;QACA,OAAO,CAAC,GAAG,EAAEC,aAAa,IAAI,CAAC;IACjC;IACAG,WAAW;QAAC;KAAY;AAC1B,EAAC"}
@@ -4,6 +4,9 @@ import type { HTMLConverter, SerializedLexicalNodeWithParent } from './types.js'
4
4
  export type ConvertLexicalToHTMLArgs = {
5
5
  converters: HTMLConverter[];
6
6
  data: SerializedEditorState;
7
+ draft?: boolean;
8
+ overrideAccess?: boolean;
9
+ showHiddenFields?: boolean;
7
10
  } & ({
8
11
  /**
9
12
  * This payload property will only be used if req is undefined.
@@ -29,14 +32,17 @@ export type ConvertLexicalToHTMLArgs = {
29
32
  */
30
33
  req: PayloadRequest;
31
34
  });
32
- export declare function convertLexicalToHTML({ converters, data, payload, req, }: ConvertLexicalToHTMLArgs): Promise<string>;
33
- export declare function convertLexicalNodesToHTML({ converters, lexicalNodes, parent, req, }: {
35
+ export declare function convertLexicalToHTML({ converters, data, draft, overrideAccess, payload, req, showHiddenFields, }: ConvertLexicalToHTMLArgs): Promise<string>;
36
+ export declare function convertLexicalNodesToHTML({ converters, draft, lexicalNodes, overrideAccess, parent, req, showHiddenFields, }: {
34
37
  converters: HTMLConverter[];
38
+ draft: boolean;
35
39
  lexicalNodes: SerializedLexicalNode[];
40
+ overrideAccess: boolean;
36
41
  parent: SerializedLexicalNodeWithParent;
37
42
  /**
38
43
  * When the converter is called, req CAN be passed in depending on where it's run.
39
44
  */
40
45
  req: PayloadRequest | null;
46
+ showHiddenFields: boolean;
41
47
  }): Promise<string>;
42
48
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/html/converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAItD,OAAO,KAAK,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAEhF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,IAAI,EAAE,qBAAqB,CAAA;CAC5B,GAAG,CACA;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CACvB,GACD;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAA;IACf;;;;;OAKG;IACH,GAAG,EAAE,cAAc,CAAA;CACpB,CACJ,CAAA;AAED,wBAAsB,oBAAoB,CAAC,EACzC,UAAU,EACV,IAAI,EACJ,OAAO,EACP,GAAG,GACJ,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAc5C;AAED,wBAAsB,yBAAyB,CAAC,EAC9C,UAAU,EACV,YAAY,EACZ,MAAM,EACN,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,YAAY,EAAE,qBAAqB,EAAE,CAAA;IACrC,MAAM,EAAE,+BAA+B,CAAA;IACvC;;OAEG;IACH,GAAG,EAAE,cAAc,GAAG,IAAI,CAAA;CAC3B,GAAG,OAAO,CAAC,MAAM,CAAC,CAoClB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/html/converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAItD,OAAO,KAAK,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAEhF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,IAAI,EAAE,qBAAqB,CAAA;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,GAAG,CACA;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CACvB,GACD;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAA;IACf;;;;;OAKG;IACH,GAAG,EAAE,cAAc,CAAA;CACpB,CACJ,CAAA;AAED,wBAAsB,oBAAoB,CAAC,EACzC,UAAU,EACV,IAAI,EACJ,KAAK,EACL,cAAc,EACd,OAAO,EACP,GAAG,EACH,gBAAgB,GACjB,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB5C;AAED,wBAAsB,yBAAyB,CAAC,EAC9C,UAAU,EACV,KAAK,EACL,YAAY,EACZ,cAAc,EACd,MAAM,EACN,GAAG,EACH,gBAAgB,GACjB,EAAE;IACD,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,qBAAqB,EAAE,CAAA;IACrC,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,+BAA+B,CAAA;IACvC;;OAEG;IACH,GAAG,EAAE,cAAc,GAAG,IAAI,CAAA;IAC1B,gBAAgB,EAAE,OAAO,CAAA;CAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,CA0ClB"}
@@ -1,19 +1,22 @@
1
1
  import { createLocalReq } from 'payload';
2
- export async function convertLexicalToHTML({ converters, data, payload, req }) {
2
+ export async function convertLexicalToHTML({ converters, data, draft, overrideAccess, payload, req, showHiddenFields }) {
3
3
  if (data?.root?.children?.length) {
4
4
  if (req === undefined && payload) {
5
5
  req = await createLocalReq({}, payload);
6
6
  }
7
7
  return await convertLexicalNodesToHTML({
8
8
  converters,
9
+ draft: draft === undefined ? false : draft,
9
10
  lexicalNodes: data?.root?.children,
11
+ overrideAccess: overrideAccess === undefined ? false : overrideAccess,
10
12
  parent: data?.root,
11
- req
13
+ req,
14
+ showHiddenFields: showHiddenFields === undefined ? false : showHiddenFields
12
15
  });
13
16
  }
14
17
  return '';
15
18
  }
16
- export async function convertLexicalNodesToHTML({ converters, lexicalNodes, parent, req }) {
19
+ export async function convertLexicalNodesToHTML({ converters, draft, lexicalNodes, overrideAccess, parent, req, showHiddenFields }) {
17
20
  const unknownConverter = converters.find((converter)=>converter.nodeTypes.includes('unknown'));
18
21
  const htmlArray = await Promise.all(lexicalNodes.map(async (node, i)=>{
19
22
  const converterForNode = converters.find((converter)=>converter.nodeTypes.includes(node.type));
@@ -23,9 +26,12 @@ export async function convertLexicalNodesToHTML({ converters, lexicalNodes, pare
23
26
  return await unknownConverter.converter({
24
27
  childIndex: i,
25
28
  converters,
29
+ draft,
26
30
  node,
31
+ overrideAccess,
27
32
  parent,
28
- req
33
+ req,
34
+ showHiddenFields
29
35
  });
30
36
  }
31
37
  return '<span>unknown node</span>';
@@ -33,9 +39,12 @@ export async function convertLexicalNodesToHTML({ converters, lexicalNodes, pare
33
39
  return await converterForNode.converter({
34
40
  childIndex: i,
35
41
  converters,
42
+ draft,
36
43
  node,
44
+ overrideAccess,
37
45
  parent,
38
- req
46
+ req,
47
+ showHiddenFields
39
48
  });
40
49
  } catch (error) {
41
50
  console.error('Error converting lexical node to HTML:', error, 'node:', node);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/features/converters/html/converter/index.ts"],"sourcesContent":["import type { SerializedEditorState, SerializedLexicalNode } from 'lexical'\nimport type { Payload, PayloadRequest } from 'payload'\n\nimport { createLocalReq } from 'payload'\n\nimport type { HTMLConverter, SerializedLexicalNodeWithParent } from './types.js'\n\nexport type ConvertLexicalToHTMLArgs = {\n converters: HTMLConverter[]\n data: SerializedEditorState\n} & (\n | {\n /**\n * This payload property will only be used if req is undefined.\n */\n payload?: Payload\n /**\n * When the converter is called, req CAN be passed in depending on where it's run.\n * If this is undefined and config is passed through, lexical will create a new req object for you. If this is null or\n * config is undefined, lexical will not create a new req object for you and local API / server-side-only\n * functionality will be disabled.\n */\n req?: null | undefined\n }\n | {\n /**\n * This payload property will only be used if req is undefined.\n */\n payload?: never\n /**\n * When the converter is called, req CAN be passed in depending on where it's run.\n * If this is undefined and config is passed through, lexical will create a new req object for you. If this is null or\n * config is undefined, lexical will not create a new req object for you and local API / server-side-only\n * functionality will be disabled.\n */\n req: PayloadRequest\n }\n)\n\nexport async function convertLexicalToHTML({\n converters,\n data,\n payload,\n req,\n}: ConvertLexicalToHTMLArgs): Promise<string> {\n if (data?.root?.children?.length) {\n if (req === undefined && payload) {\n req = await createLocalReq({}, payload)\n }\n\n return await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: data?.root?.children,\n parent: data?.root,\n req,\n })\n }\n return ''\n}\n\nexport async function convertLexicalNodesToHTML({\n converters,\n lexicalNodes,\n parent,\n req,\n}: {\n converters: HTMLConverter[]\n lexicalNodes: SerializedLexicalNode[]\n parent: SerializedLexicalNodeWithParent\n /**\n * When the converter is called, req CAN be passed in depending on where it's run.\n */\n req: PayloadRequest | null\n}): Promise<string> {\n const unknownConverter = converters.find((converter) => converter.nodeTypes.includes('unknown'))\n\n const htmlArray = await Promise.all(\n lexicalNodes.map(async (node, i) => {\n const converterForNode = converters.find((converter) =>\n converter.nodeTypes.includes(node.type),\n )\n try {\n if (!converterForNode) {\n if (unknownConverter) {\n return await unknownConverter.converter({\n childIndex: i,\n converters,\n node,\n parent,\n req,\n })\n }\n return '<span>unknown node</span>'\n }\n return await converterForNode.converter({\n childIndex: i,\n converters,\n node,\n parent,\n req,\n })\n } catch (error) {\n console.error('Error converting lexical node to HTML:', error, 'node:', node)\n return ''\n }\n }),\n )\n\n return htmlArray.join('') || ''\n}\n"],"names":["createLocalReq","convertLexicalToHTML","converters","data","payload","req","root","children","length","undefined","convertLexicalNodesToHTML","lexicalNodes","parent","unknownConverter","find","converter","nodeTypes","includes","htmlArray","Promise","all","map","node","i","converterForNode","type","childIndex","error","console","join"],"mappings":"AAGA,SAASA,cAAc,QAAQ,UAAS;AAoCxC,OAAO,eAAeC,qBAAqB,EACzCC,UAAU,EACVC,IAAI,EACJC,OAAO,EACPC,GAAG,EACsB;IACzB,IAAIF,MAAMG,MAAMC,UAAUC,QAAQ;QAChC,IAAIH,QAAQI,aAAaL,SAAS;YAChCC,MAAM,MAAML,eAAe,CAAC,GAAGI;QACjC;QAEA,OAAO,MAAMM,0BAA0B;YACrCR;YACAS,cAAcR,MAAMG,MAAMC;YAC1BK,QAAQT,MAAMG;YACdD;QACF;IACF;IACA,OAAO;AACT;AAEA,OAAO,eAAeK,0BAA0B,EAC9CR,UAAU,EACVS,YAAY,EACZC,MAAM,EACNP,GAAG,EASJ;IACC,MAAMQ,mBAAmBX,WAAWY,IAAI,CAAC,CAACC,YAAcA,UAAUC,SAAS,CAACC,QAAQ,CAAC;IAErF,MAAMC,YAAY,MAAMC,QAAQC,GAAG,CACjCT,aAAaU,GAAG,CAAC,OAAOC,MAAMC;QAC5B,MAAMC,mBAAmBtB,WAAWY,IAAI,CAAC,CAACC,YACxCA,UAAUC,SAAS,CAACC,QAAQ,CAACK,KAAKG,IAAI;QAExC,IAAI;YACF,IAAI,CAACD,kBAAkB;gBACrB,IAAIX,kBAAkB;oBACpB,OAAO,MAAMA,iBAAiBE,SAAS,CAAC;wBACtCW,YAAYH;wBACZrB;wBACAoB;wBACAV;wBACAP;oBACF;gBACF;gBACA,OAAO;YACT;YACA,OAAO,MAAMmB,iBAAiBT,SAAS,CAAC;gBACtCW,YAAYH;gBACZrB;gBACAoB;gBACAV;gBACAP;YACF;QACF,EAAE,OAAOsB,OAAO;YACdC,QAAQD,KAAK,CAAC,0CAA0CA,OAAO,SAASL;YACxE,OAAO;QACT;IACF;IAGF,OAAOJ,UAAUW,IAAI,CAAC,OAAO;AAC/B"}
1
+ {"version":3,"sources":["../../../../../src/features/converters/html/converter/index.ts"],"sourcesContent":["import type { SerializedEditorState, SerializedLexicalNode } from 'lexical'\nimport type { Payload, PayloadRequest } from 'payload'\n\nimport { createLocalReq } from 'payload'\n\nimport type { HTMLConverter, SerializedLexicalNodeWithParent } from './types.js'\n\nexport type ConvertLexicalToHTMLArgs = {\n converters: HTMLConverter[]\n data: SerializedEditorState\n draft?: boolean // default false\n overrideAccess?: boolean // default false\n showHiddenFields?: boolean // default false\n} & (\n | {\n /**\n * This payload property will only be used if req is undefined.\n */\n payload?: Payload\n /**\n * When the converter is called, req CAN be passed in depending on where it's run.\n * If this is undefined and config is passed through, lexical will create a new req object for you. If this is null or\n * config is undefined, lexical will not create a new req object for you and local API / server-side-only\n * functionality will be disabled.\n */\n req?: null | undefined\n }\n | {\n /**\n * This payload property will only be used if req is undefined.\n */\n payload?: never\n /**\n * When the converter is called, req CAN be passed in depending on where it's run.\n * If this is undefined and config is passed through, lexical will create a new req object for you. If this is null or\n * config is undefined, lexical will not create a new req object for you and local API / server-side-only\n * functionality will be disabled.\n */\n req: PayloadRequest\n }\n)\n\nexport async function convertLexicalToHTML({\n converters,\n data,\n draft,\n overrideAccess,\n payload,\n req,\n showHiddenFields,\n}: ConvertLexicalToHTMLArgs): Promise<string> {\n if (data?.root?.children?.length) {\n if (req === undefined && payload) {\n req = await createLocalReq({}, payload)\n }\n\n return await convertLexicalNodesToHTML({\n converters,\n draft: draft === undefined ? false : draft,\n lexicalNodes: data?.root?.children,\n overrideAccess: overrideAccess === undefined ? false : overrideAccess,\n parent: data?.root,\n req,\n showHiddenFields: showHiddenFields === undefined ? false : showHiddenFields,\n })\n }\n return ''\n}\n\nexport async function convertLexicalNodesToHTML({\n converters,\n draft,\n lexicalNodes,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n}: {\n converters: HTMLConverter[]\n draft: boolean\n lexicalNodes: SerializedLexicalNode[]\n overrideAccess: boolean\n parent: SerializedLexicalNodeWithParent\n /**\n * When the converter is called, req CAN be passed in depending on where it's run.\n */\n req: PayloadRequest | null\n showHiddenFields: boolean\n}): Promise<string> {\n const unknownConverter = converters.find((converter) => converter.nodeTypes.includes('unknown'))\n\n const htmlArray = await Promise.all(\n lexicalNodes.map(async (node, i) => {\n const converterForNode = converters.find((converter) =>\n converter.nodeTypes.includes(node.type),\n )\n try {\n if (!converterForNode) {\n if (unknownConverter) {\n return await unknownConverter.converter({\n childIndex: i,\n converters,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n })\n }\n return '<span>unknown node</span>'\n }\n return await converterForNode.converter({\n childIndex: i,\n converters,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n })\n } catch (error) {\n console.error('Error converting lexical node to HTML:', error, 'node:', node)\n return ''\n }\n }),\n )\n\n return htmlArray.join('') || ''\n}\n"],"names":["createLocalReq","convertLexicalToHTML","converters","data","draft","overrideAccess","payload","req","showHiddenFields","root","children","length","undefined","convertLexicalNodesToHTML","lexicalNodes","parent","unknownConverter","find","converter","nodeTypes","includes","htmlArray","Promise","all","map","node","i","converterForNode","type","childIndex","error","console","join"],"mappings":"AAGA,SAASA,cAAc,QAAQ,UAAS;AAuCxC,OAAO,eAAeC,qBAAqB,EACzCC,UAAU,EACVC,IAAI,EACJC,KAAK,EACLC,cAAc,EACdC,OAAO,EACPC,GAAG,EACHC,gBAAgB,EACS;IACzB,IAAIL,MAAMM,MAAMC,UAAUC,QAAQ;QAChC,IAAIJ,QAAQK,aAAaN,SAAS;YAChCC,MAAM,MAAMP,eAAe,CAAC,GAAGM;QACjC;QAEA,OAAO,MAAMO,0BAA0B;YACrCX;YACAE,OAAOA,UAAUQ,YAAY,QAAQR;YACrCU,cAAcX,MAAMM,MAAMC;YAC1BL,gBAAgBA,mBAAmBO,YAAY,QAAQP;YACvDU,QAAQZ,MAAMM;YACdF;YACAC,kBAAkBA,qBAAqBI,YAAY,QAAQJ;QAC7D;IACF;IACA,OAAO;AACT;AAEA,OAAO,eAAeK,0BAA0B,EAC9CX,UAAU,EACVE,KAAK,EACLU,YAAY,EACZT,cAAc,EACdU,MAAM,EACNR,GAAG,EACHC,gBAAgB,EAYjB;IACC,MAAMQ,mBAAmBd,WAAWe,IAAI,CAAC,CAACC,YAAcA,UAAUC,SAAS,CAACC,QAAQ,CAAC;IAErF,MAAMC,YAAY,MAAMC,QAAQC,GAAG,CACjCT,aAAaU,GAAG,CAAC,OAAOC,MAAMC;QAC5B,MAAMC,mBAAmBzB,WAAWe,IAAI,CAAC,CAACC,YACxCA,UAAUC,SAAS,CAACC,QAAQ,CAACK,KAAKG,IAAI;QAExC,IAAI;YACF,IAAI,CAACD,kBAAkB;gBACrB,IAAIX,kBAAkB;oBACpB,OAAO,MAAMA,iBAAiBE,SAAS,CAAC;wBACtCW,YAAYH;wBACZxB;wBACAE;wBACAqB;wBACApB;wBACAU;wBACAR;wBACAC;oBACF;gBACF;gBACA,OAAO;YACT;YACA,OAAO,MAAMmB,iBAAiBT,SAAS,CAAC;gBACtCW,YAAYH;gBACZxB;gBACAE;gBACAqB;gBACApB;gBACAU;gBACAR;gBACAC;YACF;QACF,EAAE,OAAOsB,OAAO;YACdC,QAAQD,KAAK,CAAC,0CAA0CA,OAAO,SAASL;YACxE,OAAO;QACT;IACF;IAGF,OAAOJ,UAAUW,IAAI,CAAC,OAAO;AAC/B"}
@@ -1,15 +1,18 @@
1
1
  import type { SerializedLexicalNode } from 'lexical';
2
2
  import type { PayloadRequest } from 'payload';
3
3
  export type HTMLConverter<T extends SerializedLexicalNode = SerializedLexicalNode> = {
4
- converter: ({ childIndex, converters, node, parent, req, }: {
4
+ converter: (args: {
5
5
  childIndex: number;
6
- converters: HTMLConverter[];
6
+ converters: HTMLConverter<any>[];
7
+ draft: boolean;
7
8
  node: T;
9
+ overrideAccess: boolean;
8
10
  parent: SerializedLexicalNodeWithParent;
9
11
  /**
10
12
  * When the converter is called, req CAN be passed in depending on where it's run.
11
13
  */
12
14
  req: PayloadRequest | null;
15
+ showHiddenFields: boolean;
13
16
  }) => Promise<string> | string;
14
17
  nodeTypes: string[];
15
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/html/converter/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,SAAS,CAAA;AAEtD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,IAAI;IACnF,SAAS,EAAE,CAAC,EACV,UAAU,EACV,UAAU,EACV,IAAI,EACJ,MAAM,EACN,GAAG,GACJ,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,aAAa,EAAE,CAAA;QAC3B,IAAI,EAAE,CAAC,CAAA;QACP,MAAM,EAAE,+BAA+B,CAAA;QACvC;;WAEG;QACH,GAAG,EAAE,cAAc,GAAG,IAAI,CAAA;KAC3B,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,CAAC,EAAE,qBAAqB,CAAA;CAC/B,GAAG,qBAAqB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/html/converter/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,IAAI;IACnF,SAAS,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;QAChC,KAAK,EAAE,OAAO,CAAA;QACd,IAAI,EAAE,CAAC,CAAA;QACP,cAAc,EAAE,OAAO,CAAA;QACvB,MAAM,EAAE,+BAA+B,CAAA;QACvC;;WAEG;QACH,GAAG,EAAE,cAAc,GAAG,IAAI,CAAA;QAC1B,gBAAgB,EAAE,OAAO,CAAA;KAC1B,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,CAAC,EAAE,qBAAqB,CAAA;CAC/B,GAAG,qBAAqB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/features/converters/html/converter/types.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type { Payload, PayloadRequest } from 'payload'\n\nexport type HTMLConverter<T extends SerializedLexicalNode = SerializedLexicalNode> = {\n converter: ({\n childIndex,\n converters,\n node,\n parent,\n req,\n }: {\n childIndex: number\n converters: HTMLConverter[]\n node: T\n parent: SerializedLexicalNodeWithParent\n /**\n * When the converter is called, req CAN be passed in depending on where it's run.\n */\n req: PayloadRequest | null\n }) => Promise<string> | string\n nodeTypes: string[]\n}\n\nexport type SerializedLexicalNodeWithParent = {\n parent?: SerializedLexicalNode\n} & SerializedLexicalNode\n"],"names":[],"mappings":"AAuBA,WAEyB"}
1
+ {"version":3,"sources":["../../../../../src/features/converters/html/converter/types.ts"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type { PayloadRequest } from 'payload'\n\nexport type HTMLConverter<T extends SerializedLexicalNode = SerializedLexicalNode> = {\n converter: (args: {\n childIndex: number\n converters: HTMLConverter<any>[]\n draft: boolean\n node: T\n overrideAccess: boolean\n parent: SerializedLexicalNodeWithParent\n /**\n * When the converter is called, req CAN be passed in depending on where it's run.\n */\n req: PayloadRequest | null\n showHiddenFields: boolean\n }) => Promise<string> | string\n nodeTypes: string[]\n}\n\nexport type SerializedLexicalNodeWithParent = {\n parent?: SerializedLexicalNode\n} & SerializedLexicalNode\n"],"names":[],"mappings":"AAoBA,WAEyB"}
@@ -1,8 +1,8 @@
1
1
  import type { HTMLConverter } from './converter/types.js';
2
2
  export type HTMLConverterFeatureProps = {
3
3
  converters?: (({ defaultConverters }: {
4
- defaultConverters: HTMLConverter[];
5
- }) => HTMLConverter[]) | HTMLConverter[];
4
+ defaultConverters: HTMLConverter<any>[];
5
+ }) => HTMLConverter<any>[]) | HTMLConverter<any>[];
6
6
  };
7
7
  export declare const HTMLConverterFeature: import("../../typesServer.js").FeatureProviderProviderServer<HTMLConverterFeatureProps, HTMLConverterFeatureProps, undefined>;
8
8
  //# sourceMappingURL=feature.server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/converters/html/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAIzD,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EACP,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE;QAAE,iBAAiB,EAAE,aAAa,EAAE,CAAA;KAAE,KAAK,aAAa,EAAE,CAAC,GACpF,aAAa,EAAE,CAAA;CACpB,CAAA;AAGD,eAAO,MAAM,oBAAoB,+HAG/B,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../../src/features/converters/html/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAIzD,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EACP,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE;QAAE,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;KAAE,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,GAC9F,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;CACzB,CAAA;AAGD,eAAO,MAAM,oBAAoB,+HAG/B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/converters/html/feature.server.ts"],"sourcesContent":["import type { HTMLConverter } from './converter/types.js'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\n\nexport type HTMLConverterFeatureProps = {\n converters?:\n | (({ defaultConverters }: { defaultConverters: HTMLConverter[] }) => HTMLConverter[])\n | HTMLConverter[]\n}\n\n// This is just used to save the props on the richText field\nexport const HTMLConverterFeature = createServerFeature<HTMLConverterFeatureProps>({\n feature: {},\n key: 'htmlConverter',\n})\n"],"names":["createServerFeature","HTMLConverterFeature","feature","key"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,4CAA2C;AAQ/E,4DAA4D;AAC5D,OAAO,MAAMC,uBAAuBD,oBAA+C;IACjFE,SAAS,CAAC;IACVC,KAAK;AACP,GAAE"}
1
+ {"version":3,"sources":["../../../../src/features/converters/html/feature.server.ts"],"sourcesContent":["import type { HTMLConverter } from './converter/types.js'\n\nimport { createServerFeature } from '../../../utilities/createServerFeature.js'\n\nexport type HTMLConverterFeatureProps = {\n converters?:\n | (({ defaultConverters }: { defaultConverters: HTMLConverter<any>[] }) => HTMLConverter<any>[])\n | HTMLConverter<any>[]\n}\n\n// This is just used to save the props on the richText field\nexport const HTMLConverterFeature = createServerFeature<HTMLConverterFeatureProps>({\n feature: {},\n key: 'htmlConverter',\n})\n"],"names":["createServerFeature","HTMLConverterFeature","feature","key"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,4CAA2C;AAQ/E,4DAA4D;AAC5D,OAAO,MAAMC,uBAAuBD,oBAA+C;IACjFE,SAAS,CAAC;IACVC,KAAK;AACP,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/html/field/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAqC,MAAM,SAAS,CAAA;AAEvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAA;AAEtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAM1D,KAAK,KAAK,GAAG;IACX;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,sBAEnC;IACD,YAAY,EAAE,2BAA2B,CAAA;CAC1C,KAAG,aAAa,EA+ChB,CAAA;AA0DD,eAAO,MAAM,WAAW,EAAE;AACxB;;;;IAII;AACJ,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,KAAK,KACT,KA6EJ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/converters/html/field/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAqC,MAAM,SAAS,CAAA;AAEvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAA;AAEtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAM1D,KAAK,KAAK,GAAG;IACX;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,sBAEnC;IACD,YAAY,EAAE,2BAA2B,CAAA;CAC1C,KAAG,aAAa,EA+ChB,CAAA;AA0DD,eAAO,MAAM,WAAW,EAAE;AACxB;;;;IAII;AACJ,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,KAAK,KACT,KAyFJ,CAAA"}
@@ -108,7 +108,7 @@ export const lexicalHTML = (lexicalFieldName, props)=>{
108
108
  },
109
109
  hooks: {
110
110
  afterRead: [
111
- async ({ collection, field, global, req, siblingData })=>{
111
+ async ({ collection, draft, field, global, overrideAccess, req, showHiddenFields, siblingData })=>{
112
112
  const fields = collection ? collection.fields : global.fields;
113
113
  const foundSiblingFields = findFieldPathAndSiblingFields(fields, [], field);
114
114
  if (!foundSiblingFields) throw new Error(`Could not find sibling fields of current lexicalHTML field with name ${field?.name}`);
@@ -134,7 +134,10 @@ export const lexicalHTML = (lexicalFieldName, props)=>{
134
134
  return await convertLexicalToHTML({
135
135
  converters: finalConverters,
136
136
  data: lexicalFieldData,
137
- req
137
+ draft,
138
+ overrideAccess,
139
+ req,
140
+ showHiddenFields
138
141
  });
139
142
  }
140
143
  ],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/features/converters/html/field/index.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { Field, FieldAffectingData, RichTextField } from 'payload'\n\nimport type { SanitizedServerEditorConfig } from '../../../../lexical/config/types.js'\nimport type { AdapterProps, LexicalRichTextAdapter } from '../../../../types.js'\nimport type { HTMLConverter } from '../converter/types.js'\nimport type { HTMLConverterFeatureProps } from '../feature.server.js'\n\nimport { defaultHTMLConverters } from '../converter/defaultConverters.js'\nimport { convertLexicalToHTML } from '../converter/index.js'\n\ntype Props = {\n /**\n * Whether the lexicalHTML field should be hidden in the admin panel\n *\n * @default true\n */\n hidden?: boolean\n name: string\n /**\n * Whether the HTML should be stored in the database\n *\n * @default false\n */\n storeInDB?: boolean\n}\n\n/**\n * Combines the default HTML converters with HTML converters found in the features, and with HTML converters configured in the htmlConverter feature.\n *\n * @param editorConfig\n */\nexport const consolidateHTMLConverters = ({\n editorConfig,\n}: {\n editorConfig: SanitizedServerEditorConfig\n}): HTMLConverter[] => {\n const htmlConverterFeature = editorConfig.resolvedFeatureMap.get('htmlConverter')\n const htmlConverterFeatureProps: HTMLConverterFeatureProps =\n htmlConverterFeature?.sanitizedServerFeatureProps\n\n const defaultConvertersWithConvertersFromFeatures = [...defaultHTMLConverters]\n\n for (const converter of editorConfig.features.converters.html) {\n defaultConvertersWithConvertersFromFeatures.push(converter)\n }\n\n const finalConverters =\n htmlConverterFeatureProps?.converters &&\n typeof htmlConverterFeatureProps?.converters === 'function'\n ? htmlConverterFeatureProps.converters({\n defaultConverters: defaultConvertersWithConvertersFromFeatures,\n })\n : (htmlConverterFeatureProps?.converters as HTMLConverter[]) ||\n defaultConvertersWithConvertersFromFeatures\n\n // filter converters by nodeTypes. The last converter in the list wins. If there are multiple converters for the same nodeType, the last one will be used and the node types will be removed from\n // previous converters. If previous converters do not have any nodeTypes left, they will be removed from the list.\n // This guarantees that user-added converters which are added after the default ones will always have precedence\n const foundNodeTypes: string[] = []\n const filteredConverters: HTMLConverter[] = []\n for (const converter of finalConverters.reverse()) {\n if (!converter.nodeTypes?.length) {\n continue\n }\n const newConverter: HTMLConverter = {\n converter: converter.converter,\n nodeTypes: [...converter.nodeTypes],\n }\n newConverter.nodeTypes = newConverter.nodeTypes.filter((nodeType) => {\n if (foundNodeTypes.includes(nodeType)) {\n return false\n }\n foundNodeTypes.push(nodeType)\n return true\n })\n\n if (newConverter.nodeTypes.length) {\n filteredConverters.push(newConverter)\n }\n }\n\n return filteredConverters\n}\n\n// find the path of this field, as well as its sibling fields, by looking for this `field` in fields and traversing it recursively\nfunction findFieldPathAndSiblingFields(\n fields: Field[],\n path: string[],\n field: FieldAffectingData,\n): {\n path: string[]\n siblingFields: Field[]\n} {\n for (const curField of fields) {\n if (curField === field) {\n return {\n path: [...path, curField.name],\n siblingFields: fields,\n }\n }\n\n if ('fields' in curField) {\n const result = findFieldPathAndSiblingFields(\n curField.fields,\n 'name' in curField ? [...path, curField.name] : [...path],\n field,\n )\n if (result) {\n return result\n }\n } else if ('tabs' in curField) {\n for (const tab of curField.tabs) {\n const result = findFieldPathAndSiblingFields(\n tab.fields,\n 'name' in tab ? [...path, tab.name] : [...path],\n field,\n )\n if (result) {\n return result\n }\n }\n } else if ('blocks' in curField) {\n for (const block of curField.blocks) {\n if (block?.fields?.length) {\n const result = findFieldPathAndSiblingFields(\n block.fields,\n [...path, curField.name, block.slug],\n field,\n )\n if (result) {\n return result\n }\n }\n }\n }\n }\n\n return null\n}\n\nexport const lexicalHTML: (\n /**\n * A string which matches the lexical field name you want to convert to HTML.\n *\n * This has to be a SIBLING field of this lexicalHTML field - otherwise, it won't be able to find the lexical field.\n **/\n lexicalFieldName: string,\n props: Props,\n) => Field = (lexicalFieldName, props) => {\n const { name = 'lexicalHTML', hidden = true, storeInDB = false } = props\n return {\n name,\n type: 'code',\n admin: {\n editorOptions: {\n language: 'html',\n },\n hidden,\n },\n hooks: {\n afterRead: [\n async ({ collection, field, global, req, siblingData }) => {\n const fields = collection ? collection.fields : global.fields\n\n const foundSiblingFields = findFieldPathAndSiblingFields(fields, [], field)\n\n if (!foundSiblingFields)\n throw new Error(\n `Could not find sibling fields of current lexicalHTML field with name ${field?.name}`,\n )\n\n const { siblingFields } = foundSiblingFields\n const lexicalField: RichTextField<SerializedEditorState, AdapterProps> =\n siblingFields.find(\n (field) => 'name' in field && field.name === lexicalFieldName,\n ) as RichTextField<SerializedEditorState, AdapterProps>\n\n const lexicalFieldData: SerializedEditorState = siblingData[lexicalFieldName]\n\n if (!lexicalFieldData) {\n return ''\n }\n\n if (!lexicalField) {\n throw new Error(\n 'You cannot use the lexicalHTML field because the referenced lexical field was not found',\n )\n }\n\n const config = (lexicalField?.editor as LexicalRichTextAdapter)?.editorConfig\n\n if (!config) {\n throw new Error(\n 'The linked lexical field does not have an editorConfig. This is needed for the lexicalHTML field.',\n )\n }\n\n if (!config?.resolvedFeatureMap?.has('htmlConverter')) {\n throw new Error(\n 'You cannot use the lexicalHTML field because the linked lexical field does not have a HTMLConverterFeature',\n )\n }\n\n const finalConverters = consolidateHTMLConverters({\n editorConfig: config,\n })\n\n return await convertLexicalToHTML({\n converters: finalConverters,\n data: lexicalFieldData,\n req,\n })\n },\n ],\n beforeChange: [\n ({ siblingData, value }) => {\n if (storeInDB) {\n return value\n }\n delete siblingData[name]\n return null\n },\n ],\n },\n }\n}\n"],"names":["defaultHTMLConverters","convertLexicalToHTML","consolidateHTMLConverters","editorConfig","htmlConverterFeature","resolvedFeatureMap","get","htmlConverterFeatureProps","sanitizedServerFeatureProps","defaultConvertersWithConvertersFromFeatures","converter","features","converters","html","push","finalConverters","defaultConverters","foundNodeTypes","filteredConverters","reverse","nodeTypes","length","newConverter","filter","nodeType","includes","findFieldPathAndSiblingFields","fields","path","field","curField","name","siblingFields","result","tab","tabs","block","blocks","slug","lexicalHTML","lexicalFieldName","props","hidden","storeInDB","type","admin","editorOptions","language","hooks","afterRead","collection","global","req","siblingData","foundSiblingFields","Error","lexicalField","find","lexicalFieldData","config","editor","has","data","beforeChange","value"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/features/converters/html/field/index.ts"],"sourcesContent":["import type { SerializedEditorState } from 'lexical'\nimport type { Field, FieldAffectingData, RichTextField } from 'payload'\n\nimport type { SanitizedServerEditorConfig } from '../../../../lexical/config/types.js'\nimport type { AdapterProps, LexicalRichTextAdapter } from '../../../../types.js'\nimport type { HTMLConverter } from '../converter/types.js'\nimport type { HTMLConverterFeatureProps } from '../feature.server.js'\n\nimport { defaultHTMLConverters } from '../converter/defaultConverters.js'\nimport { convertLexicalToHTML } from '../converter/index.js'\n\ntype Props = {\n /**\n * Whether the lexicalHTML field should be hidden in the admin panel\n *\n * @default true\n */\n hidden?: boolean\n name: string\n /**\n * Whether the HTML should be stored in the database\n *\n * @default false\n */\n storeInDB?: boolean\n}\n\n/**\n * Combines the default HTML converters with HTML converters found in the features, and with HTML converters configured in the htmlConverter feature.\n *\n * @param editorConfig\n */\nexport const consolidateHTMLConverters = ({\n editorConfig,\n}: {\n editorConfig: SanitizedServerEditorConfig\n}): HTMLConverter[] => {\n const htmlConverterFeature = editorConfig.resolvedFeatureMap.get('htmlConverter')\n const htmlConverterFeatureProps: HTMLConverterFeatureProps =\n htmlConverterFeature?.sanitizedServerFeatureProps\n\n const defaultConvertersWithConvertersFromFeatures = [...defaultHTMLConverters]\n\n for (const converter of editorConfig.features.converters.html) {\n defaultConvertersWithConvertersFromFeatures.push(converter)\n }\n\n const finalConverters =\n htmlConverterFeatureProps?.converters &&\n typeof htmlConverterFeatureProps?.converters === 'function'\n ? htmlConverterFeatureProps.converters({\n defaultConverters: defaultConvertersWithConvertersFromFeatures,\n })\n : (htmlConverterFeatureProps?.converters as HTMLConverter[]) ||\n defaultConvertersWithConvertersFromFeatures\n\n // filter converters by nodeTypes. The last converter in the list wins. If there are multiple converters for the same nodeType, the last one will be used and the node types will be removed from\n // previous converters. If previous converters do not have any nodeTypes left, they will be removed from the list.\n // This guarantees that user-added converters which are added after the default ones will always have precedence\n const foundNodeTypes: string[] = []\n const filteredConverters: HTMLConverter[] = []\n for (const converter of finalConverters.reverse()) {\n if (!converter.nodeTypes?.length) {\n continue\n }\n const newConverter: HTMLConverter = {\n converter: converter.converter,\n nodeTypes: [...converter.nodeTypes],\n }\n newConverter.nodeTypes = newConverter.nodeTypes.filter((nodeType) => {\n if (foundNodeTypes.includes(nodeType)) {\n return false\n }\n foundNodeTypes.push(nodeType)\n return true\n })\n\n if (newConverter.nodeTypes.length) {\n filteredConverters.push(newConverter)\n }\n }\n\n return filteredConverters\n}\n\n// find the path of this field, as well as its sibling fields, by looking for this `field` in fields and traversing it recursively\nfunction findFieldPathAndSiblingFields(\n fields: Field[],\n path: string[],\n field: FieldAffectingData,\n): {\n path: string[]\n siblingFields: Field[]\n} {\n for (const curField of fields) {\n if (curField === field) {\n return {\n path: [...path, curField.name],\n siblingFields: fields,\n }\n }\n\n if ('fields' in curField) {\n const result = findFieldPathAndSiblingFields(\n curField.fields,\n 'name' in curField ? [...path, curField.name] : [...path],\n field,\n )\n if (result) {\n return result\n }\n } else if ('tabs' in curField) {\n for (const tab of curField.tabs) {\n const result = findFieldPathAndSiblingFields(\n tab.fields,\n 'name' in tab ? [...path, tab.name] : [...path],\n field,\n )\n if (result) {\n return result\n }\n }\n } else if ('blocks' in curField) {\n for (const block of curField.blocks) {\n if (block?.fields?.length) {\n const result = findFieldPathAndSiblingFields(\n block.fields,\n [...path, curField.name, block.slug],\n field,\n )\n if (result) {\n return result\n }\n }\n }\n }\n }\n\n return null\n}\n\nexport const lexicalHTML: (\n /**\n * A string which matches the lexical field name you want to convert to HTML.\n *\n * This has to be a SIBLING field of this lexicalHTML field - otherwise, it won't be able to find the lexical field.\n **/\n lexicalFieldName: string,\n props: Props,\n) => Field = (lexicalFieldName, props) => {\n const { name = 'lexicalHTML', hidden = true, storeInDB = false } = props\n return {\n name,\n type: 'code',\n admin: {\n editorOptions: {\n language: 'html',\n },\n hidden,\n },\n hooks: {\n afterRead: [\n async ({\n collection,\n draft,\n field,\n global,\n overrideAccess,\n req,\n showHiddenFields,\n siblingData,\n }) => {\n const fields = collection ? collection.fields : global.fields\n\n const foundSiblingFields = findFieldPathAndSiblingFields(fields, [], field)\n\n if (!foundSiblingFields)\n throw new Error(\n `Could not find sibling fields of current lexicalHTML field with name ${field?.name}`,\n )\n\n const { siblingFields } = foundSiblingFields\n const lexicalField: RichTextField<SerializedEditorState, AdapterProps> =\n siblingFields.find(\n (field) => 'name' in field && field.name === lexicalFieldName,\n ) as RichTextField<SerializedEditorState, AdapterProps>\n\n const lexicalFieldData: SerializedEditorState = siblingData[lexicalFieldName]\n\n if (!lexicalFieldData) {\n return ''\n }\n\n if (!lexicalField) {\n throw new Error(\n 'You cannot use the lexicalHTML field because the referenced lexical field was not found',\n )\n }\n\n const config = (lexicalField?.editor as LexicalRichTextAdapter)?.editorConfig\n\n if (!config) {\n throw new Error(\n 'The linked lexical field does not have an editorConfig. This is needed for the lexicalHTML field.',\n )\n }\n\n if (!config?.resolvedFeatureMap?.has('htmlConverter')) {\n throw new Error(\n 'You cannot use the lexicalHTML field because the linked lexical field does not have a HTMLConverterFeature',\n )\n }\n\n const finalConverters = consolidateHTMLConverters({\n editorConfig: config,\n })\n\n return await convertLexicalToHTML({\n converters: finalConverters,\n data: lexicalFieldData,\n draft,\n overrideAccess,\n req,\n showHiddenFields,\n })\n },\n ],\n beforeChange: [\n ({ siblingData, value }) => {\n if (storeInDB) {\n return value\n }\n delete siblingData[name]\n return null\n },\n ],\n },\n }\n}\n"],"names":["defaultHTMLConverters","convertLexicalToHTML","consolidateHTMLConverters","editorConfig","htmlConverterFeature","resolvedFeatureMap","get","htmlConverterFeatureProps","sanitizedServerFeatureProps","defaultConvertersWithConvertersFromFeatures","converter","features","converters","html","push","finalConverters","defaultConverters","foundNodeTypes","filteredConverters","reverse","nodeTypes","length","newConverter","filter","nodeType","includes","findFieldPathAndSiblingFields","fields","path","field","curField","name","siblingFields","result","tab","tabs","block","blocks","slug","lexicalHTML","lexicalFieldName","props","hidden","storeInDB","type","admin","editorOptions","language","hooks","afterRead","collection","draft","global","overrideAccess","req","showHiddenFields","siblingData","foundSiblingFields","Error","lexicalField","find","lexicalFieldData","config","editor","has","data","beforeChange","value"],"mappings":"AAQA,SAASA,qBAAqB,QAAQ,oCAAmC;AACzE,SAASC,oBAAoB,QAAQ,wBAAuB;AAkB5D;;;;CAIC,GACD,OAAO,MAAMC,4BAA4B,CAAC,EACxCC,YAAY,EAGb;IACC,MAAMC,uBAAuBD,aAAaE,kBAAkB,CAACC,GAAG,CAAC;IACjE,MAAMC,4BACJH,sBAAsBI;IAExB,MAAMC,8CAA8C;WAAIT;KAAsB;IAE9E,KAAK,MAAMU,aAAaP,aAAaQ,QAAQ,CAACC,UAAU,CAACC,IAAI,CAAE;QAC7DJ,4CAA4CK,IAAI,CAACJ;IACnD;IAEA,MAAMK,kBACJR,2BAA2BK,cAC3B,OAAOL,2BAA2BK,eAAe,aAC7CL,0BAA0BK,UAAU,CAAC;QACnCI,mBAAmBP;IACrB,KACA,AAACF,2BAA2BK,cAC5BH;IAEN,iMAAiM;IACjM,kHAAkH;IAClH,gHAAgH;IAChH,MAAMQ,iBAA2B,EAAE;IACnC,MAAMC,qBAAsC,EAAE;IAC9C,KAAK,MAAMR,aAAaK,gBAAgBI,OAAO,GAAI;QACjD,IAAI,CAACT,UAAUU,SAAS,EAAEC,QAAQ;YAChC;QACF;QACA,MAAMC,eAA8B;YAClCZ,WAAWA,UAAUA,SAAS;YAC9BU,WAAW;mBAAIV,UAAUU,SAAS;aAAC;QACrC;QACAE,aAAaF,SAAS,GAAGE,aAAaF,SAAS,CAACG,MAAM,CAAC,CAACC;YACtD,IAAIP,eAAeQ,QAAQ,CAACD,WAAW;gBACrC,OAAO;YACT;YACAP,eAAeH,IAAI,CAACU;YACpB,OAAO;QACT;QAEA,IAAIF,aAAaF,SAAS,CAACC,MAAM,EAAE;YACjCH,mBAAmBJ,IAAI,CAACQ;QAC1B;IACF;IAEA,OAAOJ;AACT,EAAC;AAED,kIAAkI;AAClI,SAASQ,8BACPC,MAAe,EACfC,IAAc,EACdC,KAAyB;IAKzB,KAAK,MAAMC,YAAYH,OAAQ;QAC7B,IAAIG,aAAaD,OAAO;YACtB,OAAO;gBACLD,MAAM;uBAAIA;oBAAME,SAASC,IAAI;iBAAC;gBAC9BC,eAAeL;YACjB;QACF;QAEA,IAAI,YAAYG,UAAU;YACxB,MAAMG,SAASP,8BACbI,SAASH,MAAM,EACf,UAAUG,WAAW;mBAAIF;gBAAME,SAASC,IAAI;aAAC,GAAG;mBAAIH;aAAK,EACzDC;YAEF,IAAII,QAAQ;gBACV,OAAOA;YACT;QACF,OAAO,IAAI,UAAUH,UAAU;YAC7B,KAAK,MAAMI,OAAOJ,SAASK,IAAI,CAAE;gBAC/B,MAAMF,SAASP,8BACbQ,IAAIP,MAAM,EACV,UAAUO,MAAM;uBAAIN;oBAAMM,IAAIH,IAAI;iBAAC,GAAG;uBAAIH;iBAAK,EAC/CC;gBAEF,IAAII,QAAQ;oBACV,OAAOA;gBACT;YACF;QACF,OAAO,IAAI,YAAYH,UAAU;YAC/B,KAAK,MAAMM,SAASN,SAASO,MAAM,CAAE;gBACnC,IAAID,OAAOT,QAAQN,QAAQ;oBACzB,MAAMY,SAASP,8BACbU,MAAMT,MAAM,EACZ;2BAAIC;wBAAME,SAASC,IAAI;wBAAEK,MAAME,IAAI;qBAAC,EACpCT;oBAEF,IAAII,QAAQ;wBACV,OAAOA;oBACT;gBACF;YACF;QACF;IACF;IAEA,OAAO;AACT;AAEA,OAAO,MAAMM,cAQA,CAACC,kBAAkBC;IAC9B,MAAM,EAAEV,OAAO,aAAa,EAAEW,SAAS,IAAI,EAAEC,YAAY,KAAK,EAAE,GAAGF;IACnE,OAAO;QACLV;QACAa,MAAM;QACNC,OAAO;YACLC,eAAe;gBACbC,UAAU;YACZ;YACAL;QACF;QACAM,OAAO;YACLC,WAAW;gBACT,OAAO,EACLC,UAAU,EACVC,KAAK,EACLtB,KAAK,EACLuB,MAAM,EACNC,cAAc,EACdC,GAAG,EACHC,gBAAgB,EAChBC,WAAW,EACZ;oBACC,MAAM7B,SAASuB,aAAaA,WAAWvB,MAAM,GAAGyB,OAAOzB,MAAM;oBAE7D,MAAM8B,qBAAqB/B,8BAA8BC,QAAQ,EAAE,EAAEE;oBAErE,IAAI,CAAC4B,oBACH,MAAM,IAAIC,MACR,CAAC,qEAAqE,EAAE7B,OAAOE,KAAK,CAAC;oBAGzF,MAAM,EAAEC,aAAa,EAAE,GAAGyB;oBAC1B,MAAME,eACJ3B,cAAc4B,IAAI,CAChB,CAAC/B,QAAU,UAAUA,SAASA,MAAME,IAAI,KAAKS;oBAGjD,MAAMqB,mBAA0CL,WAAW,CAAChB,iBAAiB;oBAE7E,IAAI,CAACqB,kBAAkB;wBACrB,OAAO;oBACT;oBAEA,IAAI,CAACF,cAAc;wBACjB,MAAM,IAAID,MACR;oBAEJ;oBAEA,MAAMI,SAAUH,cAAcI,QAAmC5D;oBAEjE,IAAI,CAAC2D,QAAQ;wBACX,MAAM,IAAIJ,MACR;oBAEJ;oBAEA,IAAI,CAACI,QAAQzD,oBAAoB2D,IAAI,kBAAkB;wBACrD,MAAM,IAAIN,MACR;oBAEJ;oBAEA,MAAM3C,kBAAkBb,0BAA0B;wBAChDC,cAAc2D;oBAChB;oBAEA,OAAO,MAAM7D,qBAAqB;wBAChCW,YAAYG;wBACZkD,MAAMJ;wBACNV;wBACAE;wBACAC;wBACAC;oBACF;gBACF;aACD;YACDW,cAAc;gBACZ,CAAC,EAAEV,WAAW,EAAEW,KAAK,EAAE;oBACrB,IAAIxB,WAAW;wBACb,OAAOwB;oBACT;oBACA,OAAOX,WAAW,CAACzB,KAAK;oBACxB,OAAO;gBACT;aACD;QACH;IACF;AACF,EAAC"}
@@ -1,2 +1,13 @@
1
+ import type { SerializedTableCellNode as _SerializedTableCellNode, SerializedTableNode as _SerializedTableNode, SerializedTableRowNode as _SerializedTableRowNode } from '@lexical/table';
2
+ import type { Spread } from 'lexical';
3
+ export type SerializedTableCellNode = Spread<{
4
+ type: 'tablecell';
5
+ }, _SerializedTableCellNode>;
6
+ export type SerializedTableNode = Spread<{
7
+ type: 'table';
8
+ }, _SerializedTableNode>;
9
+ export type SerializedTableRowNode = Spread<{
10
+ type: 'tablerow';
11
+ }, _SerializedTableRowNode>;
1
12
  export declare const EXPERIMENTAL_TableFeature: import("../typesServer.js").FeatureProviderProviderServer<undefined, undefined, any>;
2
13
  //# sourceMappingURL=feature.server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/experimental_table/feature.server.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,yBAAyB,sFA6FpC,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/experimental_table/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,IAAI,wBAAwB,EACnD,mBAAmB,IAAI,oBAAoB,EAC3C,sBAAsB,IAAI,uBAAuB,EAClD,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AA2BrC,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C;IACE,IAAI,EAAE,WAAW,CAAA;CAClB,EACD,wBAAwB,CACzB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,IAAI,EAAE,OAAO,CAAA;CACd,EACD,oBAAoB,CACrB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC;IACE,IAAI,EAAE,UAAU,CAAA;CACjB,EACD,uBAAuB,CACxB,CAAA;AACD,eAAO,MAAM,yBAAyB,sFA8HpC,CAAA"}
@@ -39,15 +39,18 @@ export const EXPERIMENTAL_TableFeature = createServerFeature({
39
39
  createNode({
40
40
  converters: {
41
41
  html: {
42
- converter: async ({ converters, node, parent, req })=>{
42
+ converter: async ({ converters, draft, node, overrideAccess, parent, req, showHiddenFields })=>{
43
43
  const childrenText = await convertLexicalNodesToHTML({
44
44
  converters,
45
+ draft,
45
46
  lexicalNodes: node.children,
47
+ overrideAccess,
46
48
  parent: {
47
49
  ...node,
48
50
  parent
49
51
  },
50
- req
52
+ req,
53
+ showHiddenFields
51
54
  });
52
55
  return `<table class="lexical-table" style="border-collapse: collapse;">${childrenText}</table>`;
53
56
  },
@@ -61,15 +64,18 @@ export const EXPERIMENTAL_TableFeature = createServerFeature({
61
64
  createNode({
62
65
  converters: {
63
66
  html: {
64
- converter: async ({ converters, node, parent, req })=>{
67
+ converter: async ({ converters, draft, node, overrideAccess, parent, req, showHiddenFields })=>{
65
68
  const childrenText = await convertLexicalNodesToHTML({
66
69
  converters,
70
+ draft,
67
71
  lexicalNodes: node.children,
72
+ overrideAccess,
68
73
  parent: {
69
74
  ...node,
70
75
  parent
71
76
  },
72
- req
77
+ req,
78
+ showHiddenFields
73
79
  });
74
80
  const tagName = node.headerState > 0 ? 'th' : 'td';
75
81
  const headerStateClass = `lexical-table-cell-header-${node.headerState}`;
@@ -88,15 +94,18 @@ export const EXPERIMENTAL_TableFeature = createServerFeature({
88
94
  createNode({
89
95
  converters: {
90
96
  html: {
91
- converter: async ({ converters, node, parent, req })=>{
97
+ converter: async ({ converters, draft, node, overrideAccess, parent, req, showHiddenFields })=>{
92
98
  const childrenText = await convertLexicalNodesToHTML({
93
99
  converters,
100
+ draft,
94
101
  lexicalNodes: node.children,
102
+ overrideAccess,
95
103
  parent: {
96
104
  ...node,
97
105
  parent
98
106
  },
99
- req
107
+ req,
108
+ showHiddenFields
100
109
  });
101
110
  return `<tr class="lexical-table-row">${childrenText}</tr>`;
102
111
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/experimental_table/feature.server.ts"],"sourcesContent":["import type { Config, Field } from 'payload'\n\nimport { TableCellNode, TableNode, TableRowNode } from '@lexical/table'\nimport { sanitizeFields } from 'payload'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { TableFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'\nimport { createNode } from '../typeUtilities.js'\n\nconst fields: Field[] = [\n {\n name: 'rows',\n type: 'number',\n defaultValue: 5,\n required: true,\n },\n {\n name: 'columns',\n type: 'number',\n defaultValue: 5,\n required: true,\n },\n]\nexport const EXPERIMENTAL_TableFeature = createServerFeature({\n feature: async ({ config, isRoot }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n const sanitizedFields = await sanitizeFields({\n config: config as unknown as Config,\n fields,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n return {\n ClientFeature: TableFeatureClient,\n generateSchemaMap: () => {\n const schemaMap = new Map<string, Field[]>()\n\n schemaMap.set('fields', sanitizedFields)\n\n return schemaMap\n },\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({ converters, node, parent, req }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n req,\n })\n return `<table class=\"lexical-table\" style=\"border-collapse: collapse;\">${childrenText}</table>`\n },\n nodeTypes: [TableNode.getType()],\n },\n },\n node: TableNode,\n }),\n createNode({\n converters: {\n html: {\n converter: async ({ converters, node, parent, req }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n req,\n })\n\n const tagName = node.headerState > 0 ? 'th' : 'td'\n const headerStateClass = `lexical-table-cell-header-${node.headerState}`\n const backgroundColor = node.backgroundColor\n ? `background-color: ${node.backgroundColor};`\n : ''\n const colSpan = node.colSpan > 1 ? `colspan=\"${node.colSpan}\"` : ''\n const rowSpan = node.rowSpan > 1 ? `rowspan=\"${node.rowSpan}\"` : ''\n\n return `<${tagName} class=\"lexical-table-cell ${headerStateClass}\" style=\"border: 1px solid #ccc; padding: 8px; ${backgroundColor}\" ${colSpan} ${rowSpan}>${childrenText}</${tagName}>`\n },\n nodeTypes: [TableCellNode.getType()],\n },\n },\n node: TableCellNode,\n }),\n createNode({\n converters: {\n html: {\n converter: async ({ converters, node, parent, req }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n req,\n })\n return `<tr class=\"lexical-table-row\">${childrenText}</tr>`\n },\n nodeTypes: [TableRowNode.getType()],\n },\n },\n node: TableRowNode,\n }),\n ],\n }\n },\n key: 'experimental_table',\n})\n"],"names":["TableCellNode","TableNode","TableRowNode","sanitizeFields","TableFeatureClient","createServerFeature","convertLexicalNodesToHTML","createNode","fields","name","type","defaultValue","required","EXPERIMENTAL_TableFeature","feature","config","isRoot","validRelationships","collections","map","c","slug","sanitizedFields","requireFieldLevelRichTextEditor","ClientFeature","generateSchemaMap","schemaMap","Map","set","nodes","converters","html","converter","node","parent","req","childrenText","lexicalNodes","children","nodeTypes","getType","tagName","headerState","headerStateClass","backgroundColor","colSpan","rowSpan","key"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/features/experimental_table/feature.server.ts"],"sourcesContent":["import type {\n SerializedTableCellNode as _SerializedTableCellNode,\n SerializedTableNode as _SerializedTableNode,\n SerializedTableRowNode as _SerializedTableRowNode,\n} from '@lexical/table'\nimport type { Spread } from 'lexical'\nimport type { Config, Field } from 'payload'\n\nimport { TableCellNode, TableNode, TableRowNode } from '@lexical/table'\nimport { sanitizeFields } from 'payload'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { TableFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'\nimport { createNode } from '../typeUtilities.js'\n\nconst fields: Field[] = [\n {\n name: 'rows',\n type: 'number',\n defaultValue: 5,\n required: true,\n },\n {\n name: 'columns',\n type: 'number',\n defaultValue: 5,\n required: true,\n },\n]\n\nexport type SerializedTableCellNode = Spread<\n {\n type: 'tablecell'\n },\n _SerializedTableCellNode\n>\n\nexport type SerializedTableNode = Spread<\n {\n type: 'table'\n },\n _SerializedTableNode\n>\n\nexport type SerializedTableRowNode = Spread<\n {\n type: 'tablerow'\n },\n _SerializedTableRowNode\n>\nexport const EXPERIMENTAL_TableFeature = createServerFeature({\n feature: async ({ config, isRoot }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n const sanitizedFields = await sanitizeFields({\n config: config as unknown as Config,\n fields,\n requireFieldLevelRichTextEditor: isRoot,\n validRelationships,\n })\n return {\n ClientFeature: TableFeatureClient,\n generateSchemaMap: () => {\n const schemaMap = new Map<string, Field[]>()\n\n schemaMap.set('fields', sanitizedFields)\n\n return schemaMap\n },\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n return `<table class=\"lexical-table\" style=\"border-collapse: collapse;\">${childrenText}</table>`\n },\n nodeTypes: [TableNode.getType()],\n },\n },\n node: TableNode,\n }),\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n\n const tagName = node.headerState > 0 ? 'th' : 'td'\n const headerStateClass = `lexical-table-cell-header-${node.headerState}`\n const backgroundColor = node.backgroundColor\n ? `background-color: ${node.backgroundColor};`\n : ''\n const colSpan = node.colSpan > 1 ? `colspan=\"${node.colSpan}\"` : ''\n const rowSpan = node.rowSpan > 1 ? `rowspan=\"${node.rowSpan}\"` : ''\n\n return `<${tagName} class=\"lexical-table-cell ${headerStateClass}\" style=\"border: 1px solid #ccc; padding: 8px; ${backgroundColor}\" ${colSpan} ${rowSpan}>${childrenText}</${tagName}>`\n },\n nodeTypes: [TableCellNode.getType()],\n },\n },\n node: TableCellNode,\n }),\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n return `<tr class=\"lexical-table-row\">${childrenText}</tr>`\n },\n nodeTypes: [TableRowNode.getType()],\n },\n },\n node: TableRowNode,\n }),\n ],\n }\n },\n key: 'experimental_table',\n})\n"],"names":["TableCellNode","TableNode","TableRowNode","sanitizeFields","TableFeatureClient","createServerFeature","convertLexicalNodesToHTML","createNode","fields","name","type","defaultValue","required","EXPERIMENTAL_TableFeature","feature","config","isRoot","validRelationships","collections","map","c","slug","sanitizedFields","requireFieldLevelRichTextEditor","ClientFeature","generateSchemaMap","schemaMap","Map","set","nodes","converters","html","converter","draft","node","overrideAccess","parent","req","showHiddenFields","childrenText","lexicalNodes","children","nodeTypes","getType","tagName","headerState","headerStateClass","backgroundColor","colSpan","rowSpan","key"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/heading/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,IAAI,sBAAsB,EAC/C,cAAc,EACf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAYrC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC;IACE,IAAI,EAAE,SAAS,CAAA;CAChB,EACD,sBAAsB,CACvB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,cAAc,0HA4CzB,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/heading/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,IAAI,sBAAsB,EAC/C,cAAc,EACf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAYrC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC;IACE,IAAI,EAAE,SAAS,CAAA;CAChB,EACD,sBAAsB,CACvB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,cAAc,0HAuDzB,CAAA"}
@@ -30,15 +30,18 @@ export const HeadingFeature = createServerFeature({
30
30
  createNode({
31
31
  converters: {
32
32
  html: {
33
- converter: async ({ converters, node, parent, req })=>{
33
+ converter: async ({ converters, draft, node, overrideAccess, parent, req, showHiddenFields })=>{
34
34
  const childrenText = await convertLexicalNodesToHTML({
35
35
  converters,
36
+ draft,
36
37
  lexicalNodes: node.children,
38
+ overrideAccess,
37
39
  parent: {
38
40
  ...node,
39
41
  parent
40
42
  },
41
- req
43
+ req,
44
+ showHiddenFields
42
45
  });
43
46
  return '<' + node?.tag + '>' + childrenText + '</' + node?.tag + '>';
44
47
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/heading/feature.server.ts"],"sourcesContent":["import type {\n SerializedHeadingNode as _SerializedHeadingNode,\n HeadingTagType,\n} from '@lexical/rich-text'\nimport type { Spread } from 'lexical'\n\nimport { HeadingNode } from '@lexical/rich-text'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { HeadingFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'\nimport { createNode } from '../typeUtilities.js'\nimport { i18n } from './i18n.js'\nimport { MarkdownTransformer } from './markdownTransformer.js'\n\nexport type SerializedHeadingNode = Spread<\n {\n type: 'heading'\n },\n _SerializedHeadingNode\n>\n\nexport type HeadingFeatureProps = {\n enabledHeadingSizes?: HeadingTagType[]\n}\n\nexport const HeadingFeature = createServerFeature<\n HeadingFeatureProps,\n HeadingFeatureProps,\n HeadingFeatureProps\n>({\n feature: ({ props }) => {\n if (!props) {\n props = {}\n }\n\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = props\n\n return {\n ClientFeature: HeadingFeatureClient,\n clientFeatureProps: props,\n i18n,\n markdownTransformers: [MarkdownTransformer(enabledHeadingSizes)],\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({ converters, node, parent, req }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n req,\n })\n\n return '<' + node?.tag + '>' + childrenText + '</' + node?.tag + '>'\n },\n nodeTypes: [HeadingNode.getType()],\n },\n },\n node: HeadingNode,\n }),\n ],\n sanitizedServerFeatureProps: props,\n }\n },\n key: 'heading',\n})\n"],"names":["HeadingNode","HeadingFeatureClient","createServerFeature","convertLexicalNodesToHTML","createNode","i18n","MarkdownTransformer","HeadingFeature","feature","props","enabledHeadingSizes","ClientFeature","clientFeatureProps","markdownTransformers","nodes","converters","html","converter","node","parent","req","childrenText","lexicalNodes","children","tag","nodeTypes","getType","sanitizedServerFeatureProps","key"],"mappings":"AAMA,SAASA,WAAW,QAAQ,qBAAoB;AAEhD,+DAA+D;AAC/D,SAASC,oBAAoB,QAAQ,gCAA+B;AACpE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,yBAAyB,QAAQ,wCAAuC;AACjF,SAASC,UAAU,QAAQ,sBAAqB;AAChD,SAASC,IAAI,QAAQ,YAAW;AAChC,SAASC,mBAAmB,QAAQ,2BAA0B;AAa9D,OAAO,MAAMC,iBAAiBL,oBAI5B;IACAM,SAAS,CAAC,EAAEC,KAAK,EAAE;QACjB,IAAI,CAACA,OAAO;YACVA,QAAQ,CAAC;QACX;QAEA,MAAM,EAAEC,sBAAsB;YAAC;YAAM;YAAM;YAAM;YAAM;YAAM;SAAK,EAAE,GAAGD;QAEvE,OAAO;YACLE,eAAeV;YACfW,oBAAoBH;YACpBJ;YACAQ,sBAAsB;gBAACP,oBAAoBI;aAAqB;YAChEI,OAAO;gBACLV,WAAW;oBACTW,YAAY;wBACVC,MAAM;4BACJC,WAAW,OAAO,EAAEF,UAAU,EAAEG,IAAI,EAAEC,MAAM,EAAEC,GAAG,EAAE;gCACjD,MAAMC,eAAe,MAAMlB,0BAA0B;oCACnDY;oCACAO,cAAcJ,KAAKK,QAAQ;oCAC3BJ,QAAQ;wCACN,GAAGD,IAAI;wCACPC;oCACF;oCACAC;gCACF;gCAEA,OAAO,MAAMF,MAAMM,MAAM,MAAMH,eAAe,OAAOH,MAAMM,MAAM;4BACnE;4BACAC,WAAW;gCAACzB,YAAY0B,OAAO;6BAAG;wBACpC;oBACF;oBACAR,MAAMlB;gBACR;aACD;YACD2B,6BAA6BlB;QAC/B;IACF;IACAmB,KAAK;AACP,GAAE"}
1
+ {"version":3,"sources":["../../../src/features/heading/feature.server.ts"],"sourcesContent":["import type {\n SerializedHeadingNode as _SerializedHeadingNode,\n HeadingTagType,\n} from '@lexical/rich-text'\nimport type { Spread } from 'lexical'\n\nimport { HeadingNode } from '@lexical/rich-text'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { HeadingFeatureClient } from '../../exports/client/index.js'\nimport { createServerFeature } from '../../utilities/createServerFeature.js'\nimport { convertLexicalNodesToHTML } from '../converters/html/converter/index.js'\nimport { createNode } from '../typeUtilities.js'\nimport { i18n } from './i18n.js'\nimport { MarkdownTransformer } from './markdownTransformer.js'\n\nexport type SerializedHeadingNode = Spread<\n {\n type: 'heading'\n },\n _SerializedHeadingNode\n>\n\nexport type HeadingFeatureProps = {\n enabledHeadingSizes?: HeadingTagType[]\n}\n\nexport const HeadingFeature = createServerFeature<\n HeadingFeatureProps,\n HeadingFeatureProps,\n HeadingFeatureProps\n>({\n feature: ({ props }) => {\n if (!props) {\n props = {}\n }\n\n const { enabledHeadingSizes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] } = props\n\n return {\n ClientFeature: HeadingFeatureClient,\n clientFeatureProps: props,\n i18n,\n markdownTransformers: [MarkdownTransformer(enabledHeadingSizes)],\n nodes: [\n createNode({\n converters: {\n html: {\n converter: async ({\n converters,\n draft,\n node,\n overrideAccess,\n parent,\n req,\n showHiddenFields,\n }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n draft,\n lexicalNodes: node.children,\n overrideAccess,\n parent: {\n ...node,\n parent,\n },\n req,\n showHiddenFields,\n })\n\n return '<' + node?.tag + '>' + childrenText + '</' + node?.tag + '>'\n },\n nodeTypes: [HeadingNode.getType()],\n },\n },\n node: HeadingNode,\n }),\n ],\n sanitizedServerFeatureProps: props,\n }\n },\n key: 'heading',\n})\n"],"names":["HeadingNode","HeadingFeatureClient","createServerFeature","convertLexicalNodesToHTML","createNode","i18n","MarkdownTransformer","HeadingFeature","feature","props","enabledHeadingSizes","ClientFeature","clientFeatureProps","markdownTransformers","nodes","converters","html","converter","draft","node","overrideAccess","parent","req","showHiddenFields","childrenText","lexicalNodes","children","tag","nodeTypes","getType","sanitizedServerFeatureProps","key"],"mappings":"AAMA,SAASA,WAAW,QAAQ,qBAAoB;AAEhD,+DAA+D;AAC/D,SAASC,oBAAoB,QAAQ,gCAA+B;AACpE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,yBAAyB,QAAQ,wCAAuC;AACjF,SAASC,UAAU,QAAQ,sBAAqB;AAChD,SAASC,IAAI,QAAQ,YAAW;AAChC,SAASC,mBAAmB,QAAQ,2BAA0B;AAa9D,OAAO,MAAMC,iBAAiBL,oBAI5B;IACAM,SAAS,CAAC,EAAEC,KAAK,EAAE;QACjB,IAAI,CAACA,OAAO;YACVA,QAAQ,CAAC;QACX;QAEA,MAAM,EAAEC,sBAAsB;YAAC;YAAM;YAAM;YAAM;YAAM;YAAM;SAAK,EAAE,GAAGD;QAEvE,OAAO;YACLE,eAAeV;YACfW,oBAAoBH;YACpBJ;YACAQ,sBAAsB;gBAACP,oBAAoBI;aAAqB;YAChEI,OAAO;gBACLV,WAAW;oBACTW,YAAY;wBACVC,MAAM;4BACJC,WAAW,OAAO,EAChBF,UAAU,EACVG,KAAK,EACLC,IAAI,EACJC,cAAc,EACdC,MAAM,EACNC,GAAG,EACHC,gBAAgB,EACjB;gCACC,MAAMC,eAAe,MAAMrB,0BAA0B;oCACnDY;oCACAG;oCACAO,cAAcN,KAAKO,QAAQ;oCAC3BN;oCACAC,QAAQ;wCACN,GAAGF,IAAI;wCACPE;oCACF;oCACAC;oCACAC;gCACF;gCAEA,OAAO,MAAMJ,MAAMQ,MAAM,MAAMH,eAAe,OAAOL,MAAMQ,MAAM;4BACnE;4BACAC,WAAW;gCAAC5B,YAAY6B,OAAO;6BAAG;wBACpC;oBACF;oBACAV,MAAMnB;gBACR;aACD;YACD8B,6BAA6BrB;QAC/B;IACF;IACAsB,KAAK;AACP,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/link/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAU,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAoBjG,MAAM,MAAM,6BAA6B,GACrC;IACE;;;QAGI;IACJ,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;IAGtC,kBAAkB,CAAC,EAAE,KAAK,CAAA;CAC3B,GACD;IAEE,mBAAmB,CAAC,EAAE,KAAK,CAAA;IAE3B;;;QAGI;IACJ,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;CACtC,CAAA;AAEL,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,MAAM,CAAC,EACH,CAAC,CAAC,IAAI,EAAE;QACN,MAAM,EAAE,eAAe,CAAA;QACvB,aAAa,EAAE,kBAAkB,EAAE,CAAA;KACpC,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,EAAE,CAAC,GACrC,KAAK,EAAE,CAAA;IACX;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,6BAA6B,CAAA;AAEjC,eAAO,MAAM,WAAW,0IAiItB,CAAA"}
1
+ {"version":3,"file":"feature.server.d.ts","sourceRoot":"","sources":["../../../src/features/link/feature.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAU,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAoBjG,MAAM,MAAM,6BAA6B,GACrC;IACE;;;QAGI;IACJ,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;IAGtC,kBAAkB,CAAC,EAAE,KAAK,CAAA;CAC3B,GACD;IAEE,mBAAmB,CAAC,EAAE,KAAK,CAAA;IAE3B;;;QAGI;IACJ,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;CACtC,CAAA;AAEL,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,MAAM,CAAC,EACH,CAAC,CAAC,IAAI,EAAE;QACN,MAAM,EAAE,eAAe,CAAA;QACvB,aAAa,EAAE,kBAAkB,EAAE,CAAA;KACpC,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,EAAE,CAAC,GACrC,KAAK,EAAE,CAAA;IACX;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,6BAA6B,CAAA;AAEjC,eAAO,MAAM,WAAW,0IAuJtB,CAAA"}
@@ -52,15 +52,18 @@ export const LinkFeature = createServerFeature({
52
52
  createNode({
53
53
  converters: {
54
54
  html: {
55
- converter: async ({ converters, node, parent, req })=>{
55
+ converter: async ({ converters, draft, node, overrideAccess, parent, req, showHiddenFields })=>{
56
56
  const childrenText = await convertLexicalNodesToHTML({
57
57
  converters,
58
+ draft,
58
59
  lexicalNodes: node.children,
60
+ overrideAccess,
59
61
  parent: {
60
62
  ...node,
61
63
  parent
62
64
  },
63
- req
65
+ req,
66
+ showHiddenFields
64
67
  });
65
68
  const rel = node.fields.newTab ? ' rel="noopener noreferrer"' : '';
66
69
  const target = node.fields.newTab ? ' target="_blank"' : '';
@@ -84,15 +87,18 @@ export const LinkFeature = createServerFeature({
84
87
  createNode({
85
88
  converters: {
86
89
  html: {
87
- converter: async ({ converters, node, parent, req })=>{
90
+ converter: async ({ converters, draft, node, overrideAccess, parent, req, showHiddenFields })=>{
88
91
  const childrenText = await convertLexicalNodesToHTML({
89
92
  converters,
93
+ draft,
90
94
  lexicalNodes: node.children,
95
+ overrideAccess,
91
96
  parent: {
92
97
  ...node,
93
98
  parent
94
99
  },
95
- req
100
+ req,
101
+ showHiddenFields
96
102
  });
97
103
  const rel = node.fields.newTab ? ' rel="noopener noreferrer"' : '';
98
104
  const target = node.fields.newTab ? ' target="_blank"' : '';