@payloadcms/richtext-lexical 3.0.0-canary.aceaf5d → 3.0.0-canary.af2bebe

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/field/Field.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAG5D,OAAO,eAAe,CAAA;AACtB,OAAO,cAAc,CAAA;AACrB,OAAO,mCAAmC,CAAA;AAI1C,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAC/B;IACE,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAA;CACnD,GAAG,yBAAyB,CAkG9B,CAAA;AAaD,eAAO,MAAM,QAAQ,EAAE,OAAO,iBAAoD,CAAA"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/field/Field.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAG5D,OAAO,eAAe,CAAA;AACtB,OAAO,cAAc,CAAA;AACrB,OAAO,mCAAmC,CAAA;AAI1C,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAC/B;IACE,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAA;CACnD,GAAG,yBAAyB,CA8G9B,CAAA;AAaD,eAAO,MAAM,QAAQ,EAAE,OAAO,iBAAoD,CAAA"}
@@ -75,11 +75,13 @@ const RichTextComponent = props => {
75
75
  },
76
76
  children: [/*#__PURE__*/_jsx(FieldError, {
77
77
  CustomError: Error,
78
+ field: field,
78
79
  path: path,
79
80
  ...(errorProps || {}),
80
81
  alignCaret: "left"
81
82
  }), /*#__PURE__*/_jsx(FieldLabel, {
82
83
  Label: Label,
84
+ field: field,
83
85
  label: label,
84
86
  required: required,
85
87
  ...(labelProps || {})
@@ -112,6 +114,7 @@ const RichTextComponent = props => {
112
114
  }))
113
115
  }), /*#__PURE__*/_jsx(FieldDescription, {
114
116
  Description: Description,
117
+ field: field,
115
118
  ...(descriptionProps || {})
116
119
  })]
117
120
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","names":["FieldDescription","FieldError","FieldLabel","useField","useFieldProps","withCondition","React","useCallback","ErrorBoundary","LexicalProvider","baseClass","RichTextComponent","props","descriptionProps","editorConfig","errorProps","field","name","_path","pathFromProps","admin","className","components","Description","Error","Label","readOnly","readOnlyFromAdmin","style","width","label","required","labelProps","readOnlyFromTopLevelProps","validate","readOnlyFromProps","memoizedValidate","value","validationOptions","path","pathFromContext","readOnlyFromContext","fieldType","formInitializing","formProcessing","initialValue","setValue","showError","disabled","classes","hideGutter","filter","Boolean","join","_jsxs","_jsx","CustomError","alignCaret","fallbackRender","onReset","onChange","editorState","serializedEditorState","toJSON","features","hooks","save","length","forEach","hook","incomingEditorState","JSON","stringify","error","role","color","message","RichText"],"sources":["../../src/field/Field.tsx"],"sourcesContent":["'use client'\nimport type { SerializedEditorState } from 'lexical'\n\nimport {\n FieldDescription,\n FieldError,\n FieldLabel,\n useField,\n useFieldProps,\n withCondition,\n} from '@payloadcms/ui'\nimport React, { useCallback } from 'react'\nimport { ErrorBoundary } from 'react-error-boundary'\n\nimport type { SanitizedClientEditorConfig } from '../lexical/config/types.js'\nimport type { LexicalRichTextFieldProps } from '../types.js'\n\nimport { LexicalProvider } from '../lexical/LexicalProvider.js'\nimport './bundled.css'\nimport './index.scss'\nimport '../lexical/theme/EditorTheme.scss'\n\nconst baseClass = 'rich-text-lexical'\n\nconst RichTextComponent: React.FC<\n {\n readonly editorConfig: SanitizedClientEditorConfig // With rendered features n stuff\n } & LexicalRichTextFieldProps\n> = (props) => {\n const {\n descriptionProps,\n editorConfig,\n errorProps,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n components: { Description, Error, Label },\n readOnly: readOnlyFromAdmin,\n style,\n width,\n } = {},\n label,\n required,\n },\n field,\n labelProps,\n readOnly: readOnlyFromTopLevelProps,\n validate, // Users can pass in client side validation if they WANT to, but it's not required anymore\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, props, required })\n }\n },\n // Important: do not add props to the dependencies array.\n // This would cause an infinite loop and endless re-rendering.\n // Removing props from the dependencies array fixed this issue: https://github.com/payloadcms/payload/issues/3709\n [validate, required],\n )\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const fieldType = useField<SerializedEditorState>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const { formInitializing, formProcessing, initialValue, path, setValue, showError, value } =\n fieldType\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const classes = [\n baseClass,\n 'field-type',\n className,\n showError && 'error',\n disabled && `${baseClass}--read-only`,\n editorConfig?.admin?.hideGutter !== true ? `${baseClass}--show-gutter` : null,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div\n className={classes}\n key={path}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={Error} path={path} {...(errorProps || {})} alignCaret=\"left\" />\n <FieldLabel Label={Label} label={label} required={required} {...(labelProps || {})} />\n <div className={`${baseClass}__wrap`}>\n <ErrorBoundary fallbackRender={fallbackRender} onReset={() => {}}>\n <LexicalProvider\n editorConfig={editorConfig}\n field={field}\n key={JSON.stringify({ initialValue, path })} // makes sure lexical is completely re-rendered when initialValue changes, bypassing the lexical-internal value memoization. That way, external changes to the form will update the editor. More infos in PR description (https://github.com/payloadcms/payload/pull/5010)\n onChange={(editorState) => {\n let serializedEditorState = editorState.toJSON()\n\n // Transform state through save hooks\n if (editorConfig?.features?.hooks?.save?.length) {\n editorConfig.features.hooks.save.forEach((hook) => {\n serializedEditorState = hook({ incomingEditorState: serializedEditorState })\n })\n }\n\n setValue(serializedEditorState)\n }}\n path={path}\n readOnly={disabled}\n value={value}\n />\n </ErrorBoundary>\n <FieldDescription Description={Description} {...(descriptionProps || {})} />\n </div>\n </div>\n )\n}\n\nfunction fallbackRender({ error }): React.ReactElement {\n // Call resetErrorBoundary() to reset the error boundary and retry the render.\n\n return (\n <div className=\"errorBoundary\" role=\"alert\">\n <p>Something went wrong:</p>\n <pre style={{ color: 'red' }}>{error.message}</pre>\n </div>\n )\n}\n\nexport const RichText: typeof RichTextComponent = withCondition(RichTextComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Field.js","names":["FieldDescription","FieldError","FieldLabel","useField","useFieldProps","withCondition","React","useCallback","ErrorBoundary","LexicalProvider","baseClass","RichTextComponent","props","descriptionProps","editorConfig","errorProps","field","name","_path","pathFromProps","admin","className","components","Description","Error","Label","readOnly","readOnlyFromAdmin","style","width","label","required","labelProps","readOnlyFromTopLevelProps","validate","readOnlyFromProps","memoizedValidate","value","validationOptions","path","pathFromContext","readOnlyFromContext","fieldType","formInitializing","formProcessing","initialValue","setValue","showError","disabled","classes","hideGutter","filter","Boolean","join","_jsxs","_jsx","CustomError","alignCaret","fallbackRender","onReset","onChange","editorState","serializedEditorState","toJSON","features","hooks","save","length","forEach","hook","incomingEditorState","JSON","stringify","error","role","color","message","RichText"],"sources":["../../src/field/Field.tsx"],"sourcesContent":["'use client'\nimport type { SerializedEditorState } from 'lexical'\n\nimport {\n FieldDescription,\n FieldError,\n FieldLabel,\n useField,\n useFieldProps,\n withCondition,\n} from '@payloadcms/ui'\nimport React, { useCallback } from 'react'\nimport { ErrorBoundary } from 'react-error-boundary'\n\nimport type { SanitizedClientEditorConfig } from '../lexical/config/types.js'\nimport type { LexicalRichTextFieldProps } from '../types.js'\n\nimport { LexicalProvider } from '../lexical/LexicalProvider.js'\nimport './bundled.css'\nimport './index.scss'\nimport '../lexical/theme/EditorTheme.scss'\n\nconst baseClass = 'rich-text-lexical'\n\nconst RichTextComponent: React.FC<\n {\n readonly editorConfig: SanitizedClientEditorConfig // With rendered features n stuff\n } & LexicalRichTextFieldProps\n> = (props) => {\n const {\n descriptionProps,\n editorConfig,\n errorProps,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n components: { Description, Error, Label },\n readOnly: readOnlyFromAdmin,\n style,\n width,\n } = {},\n label,\n required,\n },\n field,\n labelProps,\n readOnly: readOnlyFromTopLevelProps,\n validate, // Users can pass in client side validation if they WANT to, but it's not required anymore\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, props, required })\n }\n },\n // Important: do not add props to the dependencies array.\n // This would cause an infinite loop and endless re-rendering.\n // Removing props from the dependencies array fixed this issue: https://github.com/payloadcms/payload/issues/3709\n [validate, required],\n )\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const fieldType = useField<SerializedEditorState>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const { formInitializing, formProcessing, initialValue, path, setValue, showError, value } =\n fieldType\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const classes = [\n baseClass,\n 'field-type',\n className,\n showError && 'error',\n disabled && `${baseClass}--read-only`,\n editorConfig?.admin?.hideGutter !== true ? `${baseClass}--show-gutter` : null,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div\n className={classes}\n key={path}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError\n CustomError={Error}\n field={field}\n path={path}\n {...(errorProps || {})}\n alignCaret=\"left\"\n />\n <FieldLabel\n Label={Label}\n field={field}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${baseClass}__wrap`}>\n <ErrorBoundary fallbackRender={fallbackRender} onReset={() => {}}>\n <LexicalProvider\n editorConfig={editorConfig}\n field={field}\n key={JSON.stringify({ initialValue, path })} // makes sure lexical is completely re-rendered when initialValue changes, bypassing the lexical-internal value memoization. That way, external changes to the form will update the editor. More infos in PR description (https://github.com/payloadcms/payload/pull/5010)\n onChange={(editorState) => {\n let serializedEditorState = editorState.toJSON()\n\n // Transform state through save hooks\n if (editorConfig?.features?.hooks?.save?.length) {\n editorConfig.features.hooks.save.forEach((hook) => {\n serializedEditorState = hook({ incomingEditorState: serializedEditorState })\n })\n }\n\n setValue(serializedEditorState)\n }}\n path={path}\n readOnly={disabled}\n value={value}\n />\n </ErrorBoundary>\n <FieldDescription Description={Description} field={field} {...(descriptionProps || {})} />\n </div>\n </div>\n )\n}\n\nfunction fallbackRender({ error }): React.ReactElement {\n // Call resetErrorBoundary() to reset the error boundary and retry the render.\n\n return (\n <div className=\"errorBoundary\" role=\"alert\">\n <p>Something went wrong:</p>\n <pre style={{ color: 'red' }}>{error.message}</pre>\n </div>\n )\n}\n\nexport const RichText: typeof RichTextComponent = withCondition(RichTextComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createClientFeature.d.ts","sourceRoot":"","sources":["../../src/utilities/createClientFeature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EAGxB,wBAAwB,EACzB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAIpE,MAAM,MAAM,uBAAuB,CAAC,sBAAsB,EAAE,WAAW,IACnE,CAAC,CAAC,KAAK,EAAE;IACP,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpC,mDAAmD;IACnD,kBAAkB,EAAE,wBAAwB,CAAA;IAC5C,KAAK,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAA;IAEnD,gBAAgB,EAAE,wBAAwB,CAAA;IAE1C,uBAAuB,EAAE,kBAAkB,CAAA;CAC5C,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC,GACjC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAA;AAEnE,eAAO,MAAM,mBAAmB,EAAE,CAChC,sBAAsB,GAAG,SAAS,EAClC,WAAW,GAAG,sBAAsB,EAEpC,IAAI,EAAE,uBAAuB,CAAC,sBAAsB,EAAE,WAAW,CAAC,KAC/D,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAmC9C,CAAA"}
1
+ {"version":3,"file":"createClientFeature.d.ts","sourceRoot":"","sources":["../../src/utilities/createClientFeature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EAGxB,wBAAwB,EACzB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAIpE,MAAM,MAAM,uBAAuB,CAAC,sBAAsB,EAAE,WAAW,IACnE,CAAC,CAAC,KAAK,EAAE;IACP,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpC,mDAAmD;IACnD,kBAAkB,EAAE,wBAAwB,CAAA;IAC5C,KAAK,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAA;IAEnD,gBAAgB,EAAE,wBAAwB,CAAA;IAE1C,uBAAuB,EAAE,kBAAkB,CAAA;CAC5C,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC,GACjC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAA;AAEnE,eAAO,MAAM,mBAAmB,EAAE,CAChC,sBAAsB,GAAG,SAAS,EAClC,WAAW,GAAG,sBAAsB,EAEpC,IAAI,EAAE,uBAAuB,CAAC,sBAAsB,EAAE,WAAW,CAAC,KAC/D,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,CA2C9C,CAAA"}
@@ -24,8 +24,18 @@ export const createClientFeature = feature => {
24
24
  return toReturn;
25
25
  };
26
26
  } else {
27
- feature.sanitizedClientFeatureProps = props;
28
- featureProviderClient.feature = feature;
27
+ // We have to spread feature here! Otherwise, if the arg of createClientFeature is not a function, and 2
28
+ // richText editors have the same feature (even if both call it, e.g. both call UploadFeature()),
29
+ // the second richText editor here will override sanitizedClientFeatureProps of the first feature, as both richText
30
+ // editor features share the same reference to the feature object.
31
+ // Example: richText editor 1 and 2 both have UploadFeature. richText editor 1 calls UploadFeature() with custom fields,
32
+ // richText editor 2 calls UploadFeature() with NO custom fields. If we don't spread feature here, richText editor 1
33
+ // will not have any custom fields, as richText editor 2 will override the feature object.
34
+ const newFeature = {
35
+ ...feature
36
+ };
37
+ newFeature.sanitizedClientFeatureProps = props;
38
+ featureProviderClient.feature = newFeature;
29
39
  }
30
40
  return featureProviderClient;
31
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createClientFeature.js","names":["createClientComponent","createClientFeature","feature","featureProviderProvideClient","props","featureProviderClient","clientFeatureProps","clientFunctions","featureProviderMap","resolvedFeatures","unSanitizedEditorConfig","toReturn","sanitizedClientFeatureProps"],"sources":["../../src/utilities/createClientFeature.ts"],"sourcesContent":["import type React from 'react'\n\nimport type {\n ClientComponentProps,\n ClientFeature,\n ClientFeatureProviderMap,\n FeatureProviderClient,\n FeatureProviderProviderClient,\n ResolvedClientFeatureMap,\n} from '../features/typesClient.js'\nimport type { ClientEditorConfig } from '../lexical/config/types.js'\n\nimport { createClientComponent } from '../features/createClientComponent.js'\n\nexport type CreateClientFeatureArgs<UnSanitizedClientProps, ClientProps> =\n | ((props: {\n clientFunctions: Record<string, any>\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ClientFeatureProviderMap\n props: ClientComponentProps<UnSanitizedClientProps>\n // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here\n resolvedFeatures: ResolvedClientFeatureMap\n // unSanitized EditorConfig,\n unSanitizedEditorConfig: ClientEditorConfig\n }) => ClientFeature<ClientProps>)\n | Omit<ClientFeature<ClientProps>, 'sanitizedClientFeatureProps'>\n\nexport const createClientFeature: <\n UnSanitizedClientProps = undefined,\n ClientProps = UnSanitizedClientProps,\n>(\n args: CreateClientFeatureArgs<UnSanitizedClientProps, ClientProps>,\n) => React.FC<ClientComponentProps<ClientProps>> = (feature) => {\n const featureProviderProvideClient: FeatureProviderProviderClient<any, any> = (props) => {\n const featureProviderClient: Partial<FeatureProviderClient<any, any>> = {\n clientFeatureProps: props,\n }\n\n if (typeof feature === 'function') {\n featureProviderClient.feature = ({\n clientFunctions,\n featureProviderMap,\n resolvedFeatures,\n unSanitizedEditorConfig,\n }) => {\n const toReturn = feature({\n clientFunctions,\n featureProviderMap,\n props,\n resolvedFeatures,\n unSanitizedEditorConfig,\n })\n\n if (toReturn.sanitizedClientFeatureProps === null) {\n toReturn.sanitizedClientFeatureProps = props\n }\n\n return toReturn\n }\n } else {\n ;(feature as ClientFeature<any>).sanitizedClientFeatureProps = props\n featureProviderClient.feature = feature as ClientFeature<any>\n }\n return featureProviderClient as FeatureProviderClient<any, any>\n }\n\n return createClientComponent(featureProviderProvideClient)\n}\n"],"mappings":"AAYA,SAASA,qBAAqB,QAAQ;AAetC,OAAO,MAAMC,mBAAA,GAKuCC,OAAA;EAClD,MAAMC,4BAAA,GAAyEC,KAAA;IAC7E,MAAMC,qBAAA,GAAkE;MACtEC,kBAAA,EAAoBF;IACtB;IAEA,IAAI,OAAOF,OAAA,KAAY,YAAY;MACjCG,qBAAA,CAAsBH,OAAO,GAAG,CAAC;QAC/BK,eAAe;QACfC,kBAAkB;QAClBC,gBAAgB;QAChBC;MAAuB,CACxB;QACC,MAAMC,QAAA,GAAWT,OAAA,CAAQ;UACvBK,eAAA;UACAC,kBAAA;UACAJ,KAAA;UACAK,gBAAA;UACAC;QACF;QAEA,IAAIC,QAAA,CAASC,2BAA2B,KAAK,MAAM;UACjDD,QAAA,CAASC,2BAA2B,GAAGR,KAAA;QACzC;QAEA,OAAOO,QAAA;MACT;IACF,OAAO;MACHT,OAAA,CAA+BU,2BAA2B,GAAGR,KAAA;MAC/DC,qBAAA,CAAsBH,OAAO,GAAGA,OAAA;IAClC;IACA,OAAOG,qBAAA;EACT;EAEA,OAAOL,qBAAA,CAAsBG,4BAAA;AAC/B","ignoreList":[]}
1
+ {"version":3,"file":"createClientFeature.js","names":["createClientComponent","createClientFeature","feature","featureProviderProvideClient","props","featureProviderClient","clientFeatureProps","clientFunctions","featureProviderMap","resolvedFeatures","unSanitizedEditorConfig","toReturn","sanitizedClientFeatureProps","newFeature"],"sources":["../../src/utilities/createClientFeature.ts"],"sourcesContent":["import type React from 'react'\n\nimport type {\n ClientComponentProps,\n ClientFeature,\n ClientFeatureProviderMap,\n FeatureProviderClient,\n FeatureProviderProviderClient,\n ResolvedClientFeatureMap,\n} from '../features/typesClient.js'\nimport type { ClientEditorConfig } from '../lexical/config/types.js'\n\nimport { createClientComponent } from '../features/createClientComponent.js'\n\nexport type CreateClientFeatureArgs<UnSanitizedClientProps, ClientProps> =\n | ((props: {\n clientFunctions: Record<string, any>\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ClientFeatureProviderMap\n props: ClientComponentProps<UnSanitizedClientProps>\n // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here\n resolvedFeatures: ResolvedClientFeatureMap\n // unSanitized EditorConfig,\n unSanitizedEditorConfig: ClientEditorConfig\n }) => ClientFeature<ClientProps>)\n | Omit<ClientFeature<ClientProps>, 'sanitizedClientFeatureProps'>\n\nexport const createClientFeature: <\n UnSanitizedClientProps = undefined,\n ClientProps = UnSanitizedClientProps,\n>(\n args: CreateClientFeatureArgs<UnSanitizedClientProps, ClientProps>,\n) => React.FC<ClientComponentProps<ClientProps>> = (feature) => {\n const featureProviderProvideClient: FeatureProviderProviderClient<any, any> = (props) => {\n const featureProviderClient: Partial<FeatureProviderClient<any, any>> = {\n clientFeatureProps: props,\n }\n\n if (typeof feature === 'function') {\n featureProviderClient.feature = ({\n clientFunctions,\n featureProviderMap,\n resolvedFeatures,\n unSanitizedEditorConfig,\n }) => {\n const toReturn = feature({\n clientFunctions,\n featureProviderMap,\n props,\n resolvedFeatures,\n unSanitizedEditorConfig,\n })\n\n if (toReturn.sanitizedClientFeatureProps === null) {\n toReturn.sanitizedClientFeatureProps = props\n }\n\n return toReturn\n }\n } else {\n // We have to spread feature here! Otherwise, if the arg of createClientFeature is not a function, and 2\n // richText editors have the same feature (even if both call it, e.g. both call UploadFeature()),\n // the second richText editor here will override sanitizedClientFeatureProps of the first feature, as both richText\n // editor features share the same reference to the feature object.\n // Example: richText editor 1 and 2 both have UploadFeature. richText editor 1 calls UploadFeature() with custom fields,\n // richText editor 2 calls UploadFeature() with NO custom fields. If we don't spread feature here, richText editor 1\n // will not have any custom fields, as richText editor 2 will override the feature object.\n const newFeature: ClientFeature<any> = { ...feature }\n newFeature.sanitizedClientFeatureProps = props\n featureProviderClient.feature = newFeature\n }\n return featureProviderClient as FeatureProviderClient<any, any>\n }\n\n return createClientComponent(featureProviderProvideClient)\n}\n"],"mappings":"AAYA,SAASA,qBAAqB,QAAQ;AAetC,OAAO,MAAMC,mBAAA,GAKuCC,OAAA;EAClD,MAAMC,4BAAA,GAAyEC,KAAA;IAC7E,MAAMC,qBAAA,GAAkE;MACtEC,kBAAA,EAAoBF;IACtB;IAEA,IAAI,OAAOF,OAAA,KAAY,YAAY;MACjCG,qBAAA,CAAsBH,OAAO,GAAG,CAAC;QAC/BK,eAAe;QACfC,kBAAkB;QAClBC,gBAAgB;QAChBC;MAAuB,CACxB;QACC,MAAMC,QAAA,GAAWT,OAAA,CAAQ;UACvBK,eAAA;UACAC,kBAAA;UACAJ,KAAA;UACAK,gBAAA;UACAC;QACF;QAEA,IAAIC,QAAA,CAASC,2BAA2B,KAAK,MAAM;UACjDD,QAAA,CAASC,2BAA2B,GAAGR,KAAA;QACzC;QAEA,OAAOO,QAAA;MACT;IACF,OAAO;MACL;MACA;MACA;MACA;MACA;MACA;MACA;MACA,MAAME,UAAA,GAAiC;QAAE,GAAGX;MAAQ;MACpDW,UAAA,CAAWD,2BAA2B,GAAGR,KAAA;MACzCC,qBAAA,CAAsBH,OAAO,GAAGW,UAAA;IAClC;IACA,OAAOR,qBAAA;EACT;EAEA,OAAOL,qBAAA,CAAsBG,4BAAA;AAC/B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createServerFeature.d.ts","sourceRoot":"","sources":["../../src/utilities/createServerFeature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EACV,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACb,wBAAwB,EACzB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,MAAM,MAAM,uBAAuB,CAAC,gBAAgB,EAAE,cAAc,EAAE,WAAW,IAAI;IACnF,OAAO,EACH,CAAC,CAAC,KAAK,EAAE;QACP,MAAM,EAAE,eAAe,CAAA;QACvB,mDAAmD;QACnD,kBAAkB,EAAE,wBAAwB,CAAA;QAC5C,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,KAAK,EAAE,gBAAgB,CAAA;QAEvB,gBAAgB,EAAE,wBAAwB,CAAA;QAE1C,uBAAuB,EAAE,kBAAkB,CAAA;KAC5C,KACG,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,GACnD,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,GAC/C,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAA;CACpF,GAAG,IAAI,CACN,qBAAqB,CAAC,gBAAgB,EAAE,WAAW,CAAC,EACpD,cAAc,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,KAAK,CACrE,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,CAChC,gBAAgB,GAAG,SAAS,EAC5B,cAAc,GAAG,gBAAgB,EACjC,WAAW,GAAG,SAAS,EAEvB,IAAI,EAAE,uBAAuB,CAAC,gBAAgB,EAAE,cAAc,EAAE,WAAW,CAAC,KACzE,6BAA6B,CAAC,gBAAgB,EAAE,cAAc,EAAE,WAAW,CA8C/E,CAAA"}
1
+ {"version":3,"file":"createServerFeature.d.ts","sourceRoot":"","sources":["../../src/utilities/createServerFeature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EACV,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACb,wBAAwB,EACzB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,MAAM,MAAM,uBAAuB,CAAC,gBAAgB,EAAE,cAAc,EAAE,WAAW,IAAI;IACnF,OAAO,EACH,CAAC,CAAC,KAAK,EAAE;QACP,MAAM,EAAE,eAAe,CAAA;QACvB,mDAAmD;QACnD,kBAAkB,EAAE,wBAAwB,CAAA;QAC5C,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,KAAK,EAAE,gBAAgB,CAAA;QAEvB,gBAAgB,EAAE,wBAAwB,CAAA;QAE1C,uBAAuB,EAAE,kBAAkB,CAAA;KAC5C,KACG,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,GACnD,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,GAC/C,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAA;CACpF,GAAG,IAAI,CACN,qBAAqB,CAAC,gBAAgB,EAAE,WAAW,CAAC,EACpD,cAAc,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,KAAK,CACrE,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,CAChC,gBAAgB,GAAG,SAAS,EAC5B,cAAc,GAAG,gBAAgB,EACjC,WAAW,GAAG,SAAS,EAEvB,IAAI,EAAE,uBAAuB,CAAC,gBAAgB,EAAE,cAAc,EAAE,WAAW,CAAC,KACzE,6BAA6B,CAAC,gBAAgB,EAAE,cAAc,EAAE,WAAW,CAiD/E,CAAA"}
@@ -35,8 +35,12 @@ export const createServerFeature = ({
35
35
  return toReturn;
36
36
  };
37
37
  } else {
38
- feature.sanitizedServerFeatureProps = props;
39
- featureProviderServer.feature = feature;
38
+ // For explanation why we have to spread feature, see createClientFeature.ts
39
+ const newFeature = {
40
+ ...feature
41
+ };
42
+ newFeature.sanitizedServerFeatureProps = props;
43
+ featureProviderServer.feature = newFeature;
40
44
  }
41
45
  return featureProviderServer;
42
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createServerFeature.js","names":["createServerFeature","dependencies","dependenciesPriority","dependenciesSoft","feature","key","featureProviderProviderServer","props","featureProviderServer","serverFeatureProps","config","featureProviderMap","isRoot","resolvedFeatures","unSanitizedEditorConfig","toReturn","sanitizedServerFeatureProps"],"sources":["../../src/utilities/createServerFeature.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport type {\n FeatureProviderProviderServer,\n FeatureProviderServer,\n ResolvedServerFeatureMap,\n ServerFeature,\n ServerFeatureProviderMap,\n} from '../features/typesServer.js'\nimport type { ServerEditorConfig } from '../lexical/config/types.js'\n\nexport type CreateServerFeatureArgs<UnSanitizedProps, SanitizedProps, ClientProps> = {\n feature:\n | ((props: {\n config: SanitizedConfig\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ServerFeatureProviderMap\n isRoot?: boolean\n props: UnSanitizedProps\n // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here\n resolvedFeatures: ResolvedServerFeatureMap\n // unSanitized EditorConfig,\n unSanitizedEditorConfig: ServerEditorConfig\n }) =>\n | Promise<ServerFeature<SanitizedProps, ClientProps>>\n | ServerFeature<SanitizedProps, ClientProps>)\n | Omit<ServerFeature<SanitizedProps, ClientProps>, 'sanitizedServerFeatureProps'>\n} & Pick<\n FeatureProviderServer<UnSanitizedProps, ClientProps>,\n 'dependencies' | 'dependenciesPriority' | 'dependenciesSoft' | 'key'\n>\n\nexport const createServerFeature: <\n UnSanitizedProps = undefined,\n SanitizedProps = UnSanitizedProps,\n ClientProps = undefined,\n>(\n args: CreateServerFeatureArgs<UnSanitizedProps, SanitizedProps, ClientProps>,\n) => FeatureProviderProviderServer<UnSanitizedProps, SanitizedProps, ClientProps> = ({\n dependencies,\n dependenciesPriority,\n dependenciesSoft,\n feature,\n key,\n}) => {\n const featureProviderProviderServer: FeatureProviderProviderServer<any, any, any> = (props) => {\n const featureProviderServer: Partial<FeatureProviderServer<any, any, any>> = {\n dependencies,\n dependenciesPriority,\n dependenciesSoft,\n key,\n serverFeatureProps: props,\n }\n\n if (typeof feature === 'function') {\n featureProviderServer.feature = async ({\n config,\n featureProviderMap,\n isRoot,\n resolvedFeatures,\n unSanitizedEditorConfig,\n }) => {\n const toReturn = await feature({\n config,\n featureProviderMap,\n isRoot,\n props,\n resolvedFeatures,\n unSanitizedEditorConfig,\n })\n\n if (toReturn.sanitizedServerFeatureProps === null) {\n toReturn.sanitizedServerFeatureProps = props\n }\n return toReturn\n }\n } else {\n ;(feature as ServerFeature<any, any>).sanitizedServerFeatureProps = props\n featureProviderServer.feature = feature as ServerFeature<any, any>\n }\n return featureProviderServer as FeatureProviderServer<any, any, any>\n }\n\n return featureProviderProviderServer\n}\n"],"mappings":"AAgCA,OAAO,MAAMA,mBAAA,GAMuEA,CAAC;EACnFC,YAAY;EACZC,oBAAoB;EACpBC,gBAAgB;EAChBC,OAAO;EACPC;AAAG,CACJ;EACC,MAAMC,6BAAA,GAA+EC,KAAA;IACnF,MAAMC,qBAAA,GAAuE;MAC3EP,YAAA;MACAC,oBAAA;MACAC,gBAAA;MACAE,GAAA;MACAI,kBAAA,EAAoBF;IACtB;IAEA,IAAI,OAAOH,OAAA,KAAY,YAAY;MACjCI,qBAAA,CAAsBJ,OAAO,GAAG,OAAO;QACrCM,MAAM;QACNC,kBAAkB;QAClBC,MAAM;QACNC,gBAAgB;QAChBC;MAAuB,CACxB;QACC,MAAMC,QAAA,GAAW,MAAMX,OAAA,CAAQ;UAC7BM,MAAA;UACAC,kBAAA;UACAC,MAAA;UACAL,KAAA;UACAM,gBAAA;UACAC;QACF;QAEA,IAAIC,QAAA,CAASC,2BAA2B,KAAK,MAAM;UACjDD,QAAA,CAASC,2BAA2B,GAAGT,KAAA;QACzC;QACA,OAAOQ,QAAA;MACT;IACF,OAAO;MACHX,OAAA,CAAoCY,2BAA2B,GAAGT,KAAA;MACpEC,qBAAA,CAAsBJ,OAAO,GAAGA,OAAA;IAClC;IACA,OAAOI,qBAAA;EACT;EAEA,OAAOF,6BAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"createServerFeature.js","names":["createServerFeature","dependencies","dependenciesPriority","dependenciesSoft","feature","key","featureProviderProviderServer","props","featureProviderServer","serverFeatureProps","config","featureProviderMap","isRoot","resolvedFeatures","unSanitizedEditorConfig","toReturn","sanitizedServerFeatureProps","newFeature"],"sources":["../../src/utilities/createServerFeature.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nimport type {\n FeatureProviderProviderServer,\n FeatureProviderServer,\n ResolvedServerFeatureMap,\n ServerFeature,\n ServerFeatureProviderMap,\n} from '../features/typesServer.js'\nimport type { ServerEditorConfig } from '../lexical/config/types.js'\n\nexport type CreateServerFeatureArgs<UnSanitizedProps, SanitizedProps, ClientProps> = {\n feature:\n | ((props: {\n config: SanitizedConfig\n /** unSanitizedEditorConfig.features, but mapped */\n featureProviderMap: ServerFeatureProviderMap\n isRoot?: boolean\n props: UnSanitizedProps\n // other resolved features, which have been loaded before this one. All features declared in 'dependencies' should be available here\n resolvedFeatures: ResolvedServerFeatureMap\n // unSanitized EditorConfig,\n unSanitizedEditorConfig: ServerEditorConfig\n }) =>\n | Promise<ServerFeature<SanitizedProps, ClientProps>>\n | ServerFeature<SanitizedProps, ClientProps>)\n | Omit<ServerFeature<SanitizedProps, ClientProps>, 'sanitizedServerFeatureProps'>\n} & Pick<\n FeatureProviderServer<UnSanitizedProps, ClientProps>,\n 'dependencies' | 'dependenciesPriority' | 'dependenciesSoft' | 'key'\n>\n\nexport const createServerFeature: <\n UnSanitizedProps = undefined,\n SanitizedProps = UnSanitizedProps,\n ClientProps = undefined,\n>(\n args: CreateServerFeatureArgs<UnSanitizedProps, SanitizedProps, ClientProps>,\n) => FeatureProviderProviderServer<UnSanitizedProps, SanitizedProps, ClientProps> = ({\n dependencies,\n dependenciesPriority,\n dependenciesSoft,\n feature,\n key,\n}) => {\n const featureProviderProviderServer: FeatureProviderProviderServer<any, any, any> = (props) => {\n const featureProviderServer: Partial<FeatureProviderServer<any, any, any>> = {\n dependencies,\n dependenciesPriority,\n dependenciesSoft,\n key,\n serverFeatureProps: props,\n }\n\n if (typeof feature === 'function') {\n featureProviderServer.feature = async ({\n config,\n featureProviderMap,\n isRoot,\n resolvedFeatures,\n unSanitizedEditorConfig,\n }) => {\n const toReturn = await feature({\n config,\n featureProviderMap,\n isRoot,\n props,\n resolvedFeatures,\n unSanitizedEditorConfig,\n })\n\n if (toReturn.sanitizedServerFeatureProps === null) {\n toReturn.sanitizedServerFeatureProps = props\n }\n return toReturn\n }\n } else {\n // For explanation why we have to spread feature, see createClientFeature.ts\n const newFeature: ServerFeature<any, any> = { ...feature }\n\n newFeature.sanitizedServerFeatureProps = props\n featureProviderServer.feature = newFeature\n }\n return featureProviderServer as FeatureProviderServer<any, any, any>\n }\n\n return featureProviderProviderServer\n}\n"],"mappings":"AAgCA,OAAO,MAAMA,mBAAA,GAMuEA,CAAC;EACnFC,YAAY;EACZC,oBAAoB;EACpBC,gBAAgB;EAChBC,OAAO;EACPC;AAAG,CACJ;EACC,MAAMC,6BAAA,GAA+EC,KAAA;IACnF,MAAMC,qBAAA,GAAuE;MAC3EP,YAAA;MACAC,oBAAA;MACAC,gBAAA;MACAE,GAAA;MACAI,kBAAA,EAAoBF;IACtB;IAEA,IAAI,OAAOH,OAAA,KAAY,YAAY;MACjCI,qBAAA,CAAsBJ,OAAO,GAAG,OAAO;QACrCM,MAAM;QACNC,kBAAkB;QAClBC,MAAM;QACNC,gBAAgB;QAChBC;MAAuB,CACxB;QACC,MAAMC,QAAA,GAAW,MAAMX,OAAA,CAAQ;UAC7BM,MAAA;UACAC,kBAAA;UACAC,MAAA;UACAL,KAAA;UACAM,gBAAA;UACAC;QACF;QAEA,IAAIC,QAAA,CAASC,2BAA2B,KAAK,MAAM;UACjDD,QAAA,CAASC,2BAA2B,GAAGT,KAAA;QACzC;QACA,OAAOQ,QAAA;MACT;IACF,OAAO;MACL;MACA,MAAME,UAAA,GAAsC;QAAE,GAAGb;MAAQ;MAEzDa,UAAA,CAAWD,2BAA2B,GAAGT,KAAA;MACzCC,qBAAA,CAAsBJ,OAAO,GAAGa,UAAA;IAClC;IACA,OAAOT,qBAAA;EACT;EAEA,OAAOF,6BAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"generateComponentMap.d.ts","sourceRoot":"","sources":["../../src/utilities/generateComponentMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAMzF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAG1E,eAAO,MAAM,uBAAuB,SAC3B;IAAE,kBAAkB,EAAE,wBAAwB,CAAA;CAAE,KAAG,4BAmIzD,CAAA"}
1
+ {"version":3,"file":"generateComponentMap.d.ts","sourceRoot":"","sources":["../../src/utilities/generateComponentMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAMzF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAG1E,eAAO,MAAM,uBAAuB,SAC3B;IAAE,kBAAkB,EAAE,wBAAwB,CAAA;CAAE,KAAG,4BAqIzD,CAAA"}
@@ -28,9 +28,11 @@ export const getGenerateComponentMap = args => ({
28
28
  for (const componentKey in components) {
29
29
  const payloadComponent = components[componentKey];
30
30
  const mappedComponent = createMappedComponent(payloadComponent, {
31
- componentKey,
32
- featureKey: resolvedFeature.key,
33
- key: `${resolvedFeature.key}-${componentKey}`
31
+ clientProps: {
32
+ componentKey,
33
+ featureKey: resolvedFeature.key,
34
+ key: `${resolvedFeature.key}-${componentKey}`
35
+ }
34
36
  }, undefined, 'lexical-from-resolvedFeature');
35
37
  if (mappedComponent) {
36
38
  componentMap.set(`lexical_internal_feature.${featureKey}.lexical_internal_components.${componentKey}`, mappedComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"generateComponentMap.js","names":["getComponent","createClientFields","deepCopyObjectSimple","getGenerateComponentMap","args","createMappedComponent","field","i18n","importMap","payload","schemaPath","componentMap","Map","resolvedFeatureMapArray","Array","from","resolvedFeatureMap","entries","sort","a","b","order","set","map","featureKey","resolvedFeature","components","props","sanitizedServerFeatureProps","componentKey","payloadComponent","mappedComponent","key","undefined","generateSchemaMap","schemas","config","schemaMap","schemaKey","fields","clientFields","disableAddingID","parentPath","ClientComponent","ClientFeature","ResolvedClientComponent","identifier","clientComponentProps","clientFeatureProps","_createElement","Component","clientProps","_jsx","filter","feature"],"sources":["../../src/utilities/generateComponentMap.tsx"],"sourcesContent":["import type { ClientField, MappedComponent, RichTextGenerateComponentMap } from 'payload'\n\nimport { getComponent } from '@payloadcms/ui/shared'\nimport { createClientFields } from '@payloadcms/ui/utilities/createClientConfig'\nimport { deepCopyObjectSimple } from 'payload'\n\nimport type { ResolvedServerFeatureMap } from '../features/typesServer.js'\nimport type { GeneratedFeatureProviderComponent } from '../types.js'\n\nexport const getGenerateComponentMap =\n (args: { resolvedFeatureMap: ResolvedServerFeatureMap }): RichTextGenerateComponentMap =>\n ({ createMappedComponent, field, i18n, importMap, payload, schemaPath }) => {\n const componentMap: Map<\n string,\n ClientField[] | GeneratedFeatureProviderComponent[] | MappedComponent\n > = new Map()\n\n // turn args.resolvedFeatureMap into an array of [key, value] pairs, ordered by value.order, lowest order first:\n const resolvedFeatureMapArray = Array.from(args.resolvedFeatureMap.entries()).sort(\n (a, b) => a[1].order - b[1].order,\n )\n\n componentMap.set(\n `features`,\n resolvedFeatureMapArray\n .map(([featureKey, resolvedFeature]) => {\n /**\n * Handle Feature Component Maps\n */\n if ('componentMap' in resolvedFeature) {\n const components =\n typeof resolvedFeature.componentMap === 'function'\n ? resolvedFeature.componentMap({\n i18n,\n payload,\n props: resolvedFeature.sanitizedServerFeatureProps,\n schemaPath,\n })\n : resolvedFeature.componentMap\n\n for (const componentKey in components) {\n const payloadComponent = components[componentKey]\n\n const mappedComponent: MappedComponent = createMappedComponent(\n payloadComponent,\n {\n componentKey,\n featureKey: resolvedFeature.key,\n key: `${resolvedFeature.key}-${componentKey}`,\n },\n undefined,\n 'lexical-from-resolvedFeature',\n )\n\n if (mappedComponent) {\n componentMap.set(\n `lexical_internal_feature.${featureKey}.lexical_internal_components.${componentKey}`,\n mappedComponent,\n )\n }\n }\n }\n\n /**\n * Handle Feature Schema Maps (rendered fields)\n */\n if (\n 'generateSchemaMap' in resolvedFeature &&\n typeof resolvedFeature.generateSchemaMap === 'function'\n ) {\n const schemas = resolvedFeature.generateSchemaMap({\n config: payload.config,\n field,\n i18n,\n props: resolvedFeature.sanitizedServerFeatureProps,\n schemaMap: new Map(),\n schemaPath,\n })\n\n if (schemas) {\n for (const [schemaKey, fields] of schemas.entries()) {\n let clientFields: ClientField[] = deepCopyObjectSimple(\n fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n createMappedComponent,\n disableAddingID: true,\n fields,\n i18n,\n importMap,\n parentPath: `${schemaPath}.lexical_internal_feature.${featureKey}.fields.${schemaKey}`,\n payload,\n })\n\n componentMap.set(\n `lexical_internal_feature.${featureKey}.fields.${schemaKey}`,\n clientFields,\n )\n }\n }\n }\n\n const ClientComponent = resolvedFeature.ClientFeature\n const ResolvedClientComponent = getComponent({\n identifier: 'lexical-clientComponent',\n importMap,\n payloadComponent: ClientComponent,\n })\n const clientComponentProps = resolvedFeature.clientFeatureProps\n\n if (!ClientComponent) {\n return null\n }\n\n return {\n ClientFeature:\n clientComponentProps && typeof clientComponentProps === 'object' ? (\n <ResolvedClientComponent.Component\n {...clientComponentProps}\n featureKey={resolvedFeature.key}\n key={resolvedFeature.key}\n order={resolvedFeature.order}\n {...(ResolvedClientComponent?.clientProps || {})}\n />\n ) : (\n <ResolvedClientComponent.Component\n featureKey={resolvedFeature.key}\n key={resolvedFeature.key}\n order={resolvedFeature.order}\n {...(ResolvedClientComponent?.clientProps || {})}\n />\n ),\n key: resolvedFeature.key,\n order: resolvedFeature.order,\n } as GeneratedFeatureProviderComponent\n })\n .filter((feature) => feature !== null),\n )\n\n return componentMap\n }\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"generateComponentMap.js","names":["getComponent","createClientFields","deepCopyObjectSimple","getGenerateComponentMap","args","createMappedComponent","field","i18n","importMap","payload","schemaPath","componentMap","Map","resolvedFeatureMapArray","Array","from","resolvedFeatureMap","entries","sort","a","b","order","set","map","featureKey","resolvedFeature","components","props","sanitizedServerFeatureProps","componentKey","payloadComponent","mappedComponent","clientProps","key","undefined","generateSchemaMap","schemas","config","schemaMap","schemaKey","fields","clientFields","disableAddingID","parentPath","ClientComponent","ClientFeature","ResolvedClientComponent","identifier","clientComponentProps","clientFeatureProps","_createElement","Component","_jsx","filter","feature"],"sources":["../../src/utilities/generateComponentMap.tsx"],"sourcesContent":["import type { ClientField, MappedComponent, RichTextGenerateComponentMap } from 'payload'\n\nimport { getComponent } from '@payloadcms/ui/shared'\nimport { createClientFields } from '@payloadcms/ui/utilities/createClientConfig'\nimport { deepCopyObjectSimple } from 'payload'\n\nimport type { ResolvedServerFeatureMap } from '../features/typesServer.js'\nimport type { GeneratedFeatureProviderComponent } from '../types.js'\n\nexport const getGenerateComponentMap =\n (args: { resolvedFeatureMap: ResolvedServerFeatureMap }): RichTextGenerateComponentMap =>\n ({ createMappedComponent, field, i18n, importMap, payload, schemaPath }) => {\n const componentMap: Map<\n string,\n ClientField[] | GeneratedFeatureProviderComponent[] | MappedComponent\n > = new Map()\n\n // turn args.resolvedFeatureMap into an array of [key, value] pairs, ordered by value.order, lowest order first:\n const resolvedFeatureMapArray = Array.from(args.resolvedFeatureMap.entries()).sort(\n (a, b) => a[1].order - b[1].order,\n )\n\n componentMap.set(\n `features`,\n resolvedFeatureMapArray\n .map(([featureKey, resolvedFeature]) => {\n /**\n * Handle Feature Component Maps\n */\n if ('componentMap' in resolvedFeature) {\n const components =\n typeof resolvedFeature.componentMap === 'function'\n ? resolvedFeature.componentMap({\n i18n,\n payload,\n props: resolvedFeature.sanitizedServerFeatureProps,\n schemaPath,\n })\n : resolvedFeature.componentMap\n\n for (const componentKey in components) {\n const payloadComponent = components[componentKey]\n\n const mappedComponent: MappedComponent = createMappedComponent(\n payloadComponent,\n {\n clientProps: {\n componentKey,\n featureKey: resolvedFeature.key,\n key: `${resolvedFeature.key}-${componentKey}`,\n },\n },\n undefined,\n 'lexical-from-resolvedFeature',\n )\n\n if (mappedComponent) {\n componentMap.set(\n `lexical_internal_feature.${featureKey}.lexical_internal_components.${componentKey}`,\n mappedComponent,\n )\n }\n }\n }\n\n /**\n * Handle Feature Schema Maps (rendered fields)\n */\n if (\n 'generateSchemaMap' in resolvedFeature &&\n typeof resolvedFeature.generateSchemaMap === 'function'\n ) {\n const schemas = resolvedFeature.generateSchemaMap({\n config: payload.config,\n field,\n i18n,\n props: resolvedFeature.sanitizedServerFeatureProps,\n schemaMap: new Map(),\n schemaPath,\n })\n\n if (schemas) {\n for (const [schemaKey, fields] of schemas.entries()) {\n let clientFields: ClientField[] = deepCopyObjectSimple(\n fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n createMappedComponent,\n disableAddingID: true,\n fields,\n i18n,\n importMap,\n parentPath: `${schemaPath}.lexical_internal_feature.${featureKey}.fields.${schemaKey}`,\n payload,\n })\n\n componentMap.set(\n `lexical_internal_feature.${featureKey}.fields.${schemaKey}`,\n clientFields,\n )\n }\n }\n }\n\n const ClientComponent = resolvedFeature.ClientFeature\n const ResolvedClientComponent = getComponent({\n identifier: 'lexical-clientComponent',\n importMap,\n payloadComponent: ClientComponent,\n })\n const clientComponentProps = resolvedFeature.clientFeatureProps\n\n if (!ClientComponent) {\n return null\n }\n\n return {\n ClientFeature:\n clientComponentProps && typeof clientComponentProps === 'object' ? (\n <ResolvedClientComponent.Component\n {...clientComponentProps}\n featureKey={resolvedFeature.key}\n key={resolvedFeature.key}\n order={resolvedFeature.order}\n {...(ResolvedClientComponent?.clientProps || {})}\n />\n ) : (\n <ResolvedClientComponent.Component\n featureKey={resolvedFeature.key}\n key={resolvedFeature.key}\n order={resolvedFeature.order}\n {...(ResolvedClientComponent?.clientProps || {})}\n />\n ),\n key: resolvedFeature.key,\n order: resolvedFeature.order,\n } as GeneratedFeatureProviderComponent\n })\n .filter((feature) => feature !== null),\n )\n\n return componentMap\n }\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/richtext-lexical",
3
- "version": "3.0.0-canary.aceaf5d",
3
+ "version": "3.0.0-canary.af2bebe",
4
4
  "description": "The officially supported Lexical richtext adapter for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -73,11 +73,11 @@
73
73
  "esbuild-sass-plugin": "3.3.1",
74
74
  "eslint-plugin-react-compiler": "0.0.0-experimental-d0e920e-20240815",
75
75
  "swc-plugin-transform-remove-imports": "1.15.0",
76
+ "@payloadcms/next": "3.0.0-canary.af2bebe",
77
+ "@payloadcms/translations": "3.0.0-canary.af2bebe",
78
+ "payload": "3.0.0-canary.af2bebe",
76
79
  "@payloadcms/eslint-config": "3.0.0-beta.59",
77
- "@payloadcms/translations": "3.0.0-canary.aceaf5d",
78
- "@payloadcms/next": "3.0.0-canary.aceaf5d",
79
- "payload": "3.0.0-canary.aceaf5d",
80
- "@payloadcms/ui": "3.0.0-canary.aceaf5d"
80
+ "@payloadcms/ui": "3.0.0-canary.af2bebe"
81
81
  },
82
82
  "peerDependencies": {
83
83
  "@faceless-ui/modal": "3.0.0-beta.2",
@@ -95,10 +95,10 @@
95
95
  "lexical": "0.17.0",
96
96
  "react": "^19.0.0 || ^19.0.0-rc-06d0b89e-20240801",
97
97
  "react-dom": "^19.0.0 || ^19.0.0-rc-06d0b89e-20240801",
98
- "@payloadcms/next": "3.0.0-canary.aceaf5d",
99
- "@payloadcms/translations": "3.0.0-canary.aceaf5d",
100
- "@payloadcms/ui": "3.0.0-canary.aceaf5d",
101
- "payload": "3.0.0-canary.aceaf5d"
98
+ "@payloadcms/next": "3.0.0-canary.af2bebe",
99
+ "payload": "3.0.0-canary.af2bebe",
100
+ "@payloadcms/translations": "3.0.0-canary.af2bebe",
101
+ "@payloadcms/ui": "3.0.0-canary.af2bebe"
102
102
  },
103
103
  "engines": {
104
104
  "node": "^18.20.2 || >=20.9.0"
@@ -112,13 +112,13 @@
112
112
  },
113
113
  "scripts": {
114
114
  "build": "pnpm build:reactcompiler",
115
- "build2": "rm -rf dist && rm -rf tsconfig.tsbuildinfo && pnpm copyfiles && pnpm build:types && pnpm build:swc && pnpm build:esbuild && rm -rf dist/exports/client && mv dist/exports/client_unoptimized dist/exports/client",
116
115
  "build:babel": "rm -rf dist_optimized && babel dist --out-dir dist_optimized --source-maps --extensions .ts,.js,.tsx,.jsx,.cjs,.mjs && rm -rf dist && mv dist_optimized dist",
117
116
  "build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
118
- "build:esbuild": "node bundle.js && mv dist/exports/client dist/exports/client2 && mv dist/exports/client_optimized dist/exports/client",
117
+ "build:esbuild": "node bundle.js && rm -rf dist/exports/client && mv dist/exports/client_optimized dist/exports/client",
119
118
  "build:reactcompiler": "rm -rf dist && rm -rf tsconfig.tsbuildinfo && pnpm build:swc && pnpm build:babel && pnpm copyfiles && pnpm build:esbuild && pnpm build:types",
120
119
  "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
121
120
  "build:types": "tsc --emitDeclarationOnly --outDir dist",
121
+ "build_without_reactcompiler": "rm -rf dist && rm -rf tsconfig.tsbuildinfo && pnpm copyfiles && pnpm build:types && pnpm build:swc && pnpm build:esbuild && rm -rf dist/exports/client && mv dist/exports/client_unoptimized dist/exports/client",
122
122
  "clean": "rimraf {dist,*.tsbuildinfo}",
123
123
  "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
124
124
  "translateNewKeys": "node --no-deprecation --import @swc-node/register/esm-register scripts/translateNewKeys.ts"