@payloadcms/richtext-lexical 3.0.0-beta.59 → 3.0.0-beta.60

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,"sources":["../../src/field/index.tsx"],"sourcesContent":["'use client'\nimport type { FormFieldBase } from '@payloadcms/ui'\nimport type { EditorConfig as LexicalEditorConfig } from 'lexical'\n\nimport { ShimmerEffect, useClientFunctions, useFieldProps } from '@payloadcms/ui'\nimport React, { Suspense, lazy, useEffect, useState } from 'react'\n\nimport type { FeatureProviderClient } from '../features/typesClient.js'\nimport type { SanitizedClientEditorConfig } from '../lexical/config/types.js'\nimport type { GeneratedFeatureProviderComponent, LexicalFieldAdminProps } from '../types.js'\n\nimport { defaultEditorLexicalConfig } from '../lexical/config/client/default.js'\nimport { loadClientFeatures } from '../lexical/config/client/loader.js'\nimport { sanitizeClientEditorConfig } from '../lexical/config/client/sanitize.js'\n\nconst RichTextEditor = lazy(() =>\n import('./Field.js').then((module) => ({ default: module.RichText })),\n)\n\nexport const RichTextField: React.FC<\n FormFieldBase & {\n admin?: LexicalFieldAdminProps\n lexicalEditorConfig: LexicalEditorConfig\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n }\n> = (props) => {\n const { admin, lexicalEditorConfig, richTextComponentMap } = props\n const { schemaPath } = useFieldProps()\n const clientFunctions = useClientFunctions()\n const [hasLoadedFeatures, setHasLoadedFeatures] = useState(false)\n\n const [featureProviders, setFeatureProviders] = useState<\n FeatureProviderClient<unknown, unknown>[]\n >([])\n\n const [finalSanitizedEditorConfig, setFinalSanitizedEditorConfig] =\n useState<SanitizedClientEditorConfig>(null)\n\n let featureProviderComponents: GeneratedFeatureProviderComponent[] = richTextComponentMap.get(\n 'features',\n ) as GeneratedFeatureProviderComponent[]\n // order by order\n featureProviderComponents = featureProviderComponents.sort((a, b) => a.order - b.order)\n\n let featureProvidersAndComponentsToLoad = 0 // feature providers and components\n for (const featureProvider of featureProviderComponents) {\n const featureComponentKeys = Array.from(richTextComponentMap.keys()).filter((key) =>\n key.startsWith(\n `lexical_internal_feature.${featureProvider.key}.lexical_internal_components.`,\n ),\n )\n\n featureProvidersAndComponentsToLoad += 1\n featureProvidersAndComponentsToLoad += featureComponentKeys.length\n }\n\n useEffect(() => {\n if (!hasLoadedFeatures) {\n const featureProvidersLocal: FeatureProviderClient<unknown, unknown>[] = []\n let featureProvidersAndComponentsLoaded = 0\n\n Object.entries(clientFunctions).forEach(([key, plugin]) => {\n if (key.startsWith(`lexicalFeature.${schemaPath}.`)) {\n if (!key.includes('.lexical_internal_components.')) {\n featureProvidersLocal.push(plugin)\n }\n\n featureProvidersAndComponentsLoaded++\n }\n })\n\n if (featureProvidersAndComponentsLoaded === featureProvidersAndComponentsToLoad) {\n setFeatureProviders(featureProvidersLocal)\n setHasLoadedFeatures(true)\n\n /**\n * Loaded feature provided => create the final sanitized editor config\n */\n\n const resolvedClientFeatures = loadClientFeatures({\n clientFunctions,\n schemaPath,\n unSanitizedEditorConfig: {\n features: featureProvidersLocal,\n lexical: lexicalEditorConfig,\n },\n })\n\n setFinalSanitizedEditorConfig(\n sanitizeClientEditorConfig(\n lexicalEditorConfig ? lexicalEditorConfig : defaultEditorLexicalConfig,\n resolvedClientFeatures,\n admin,\n ),\n )\n }\n }\n }, [\n admin,\n hasLoadedFeatures,\n clientFunctions,\n schemaPath,\n featureProviderComponents.length,\n featureProviders,\n finalSanitizedEditorConfig,\n lexicalEditorConfig,\n featureProvidersAndComponentsToLoad,\n ])\n\n if (!hasLoadedFeatures) {\n return (\n <React.Fragment>\n {Array.isArray(featureProviderComponents) &&\n featureProviderComponents.map((featureProvider) => {\n // get all components starting with key feature.${FeatureProvider.key}.components.{featureComponentKey}\n const featureComponentKeys = Array.from(richTextComponentMap.keys()).filter((key) =>\n key.startsWith(\n `lexical_internal_feature.${featureProvider.key}.lexical_internal_components.`,\n ),\n )\n const featureComponents: React.ReactNode[] = featureComponentKeys.map((key) => {\n return richTextComponentMap.get(key)\n }) // TODO: Type better\n\n return (\n <React.Fragment key={featureProvider.key}>\n {featureComponents?.length\n ? featureComponents.map((FeatureComponent) => {\n return FeatureComponent\n })\n : null}\n {featureProvider.ClientFeature}\n </React.Fragment>\n )\n })}\n </React.Fragment>\n )\n }\n\n return (\n <Suspense fallback={<ShimmerEffect height=\"35vh\" />}>\n {finalSanitizedEditorConfig && (\n <RichTextEditor {...props} editorConfig={finalSanitizedEditorConfig} />\n )}\n </Suspense>\n )\n}\n"],"names":["ShimmerEffect","useClientFunctions","useFieldProps","React","Suspense","lazy","useEffect","useState","defaultEditorLexicalConfig","loadClientFeatures","sanitizeClientEditorConfig","RichTextEditor","then","module","default","RichText","RichTextField","props","admin","lexicalEditorConfig","richTextComponentMap","schemaPath","clientFunctions","hasLoadedFeatures","setHasLoadedFeatures","featureProviders","setFeatureProviders","finalSanitizedEditorConfig","setFinalSanitizedEditorConfig","featureProviderComponents","get","sort","a","b","order","featureProvidersAndComponentsToLoad","featureProvider","featureComponentKeys","Array","from","keys","filter","key","startsWith","length","featureProvidersLocal","featureProvidersAndComponentsLoaded","Object","entries","forEach","plugin","includes","push","resolvedClientFeatures","unSanitizedEditorConfig","features","lexical","Fragment","isArray","map","featureComponents","FeatureComponent","ClientFeature","fallback","height","editorConfig"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/field/index.tsx"],"sourcesContent":["'use client'\nimport type { FormFieldBase } from '@payloadcms/ui'\nimport type { EditorConfig as LexicalEditorConfig } from 'lexical'\n\nimport { ShimmerEffect, useClientFunctions, useFieldProps } from '@payloadcms/ui'\nimport React, { Suspense, lazy, useEffect, useState } from 'react'\n\nimport type { FeatureProviderClient } from '../features/typesClient.js'\nimport type { SanitizedClientEditorConfig } from '../lexical/config/types.js'\nimport type { GeneratedFeatureProviderComponent, LexicalFieldAdminProps } from '../types.js'\n\nimport { defaultEditorLexicalConfig } from '../lexical/config/client/default.js'\nimport { loadClientFeatures } from '../lexical/config/client/loader.js'\nimport { sanitizeClientEditorConfig } from '../lexical/config/client/sanitize.js'\n\nconst RichTextEditor = lazy(() =>\n import('./Field.js').then((module) => ({ default: module.RichText })),\n)\n\nexport const RichTextField: React.FC<\n {\n admin?: LexicalFieldAdminProps\n lexicalEditorConfig: LexicalEditorConfig\n name: string\n richTextComponentMap: Map<string, React.ReactNode>\n } & FormFieldBase\n> = (props) => {\n const { admin, lexicalEditorConfig, richTextComponentMap } = props\n const { schemaPath } = useFieldProps()\n const clientFunctions = useClientFunctions()\n const [hasLoadedFeatures, setHasLoadedFeatures] = useState(false)\n\n const [featureProviders, setFeatureProviders] = useState<\n FeatureProviderClient<unknown, unknown>[]\n >([])\n\n const [finalSanitizedEditorConfig, setFinalSanitizedEditorConfig] =\n useState<SanitizedClientEditorConfig>(null)\n\n let featureProviderComponents: GeneratedFeatureProviderComponent[] = richTextComponentMap.get(\n 'features',\n ) as GeneratedFeatureProviderComponent[]\n // order by order\n featureProviderComponents = featureProviderComponents.sort((a, b) => a.order - b.order)\n\n let featureProvidersAndComponentsToLoad = 0 // feature providers and components\n for (const featureProvider of featureProviderComponents) {\n const featureComponentKeys = Array.from(richTextComponentMap.keys()).filter((key) =>\n key.startsWith(\n `lexical_internal_feature.${featureProvider.key}.lexical_internal_components.`,\n ),\n )\n\n featureProvidersAndComponentsToLoad += 1\n featureProvidersAndComponentsToLoad += featureComponentKeys.length\n }\n\n useEffect(() => {\n if (!hasLoadedFeatures) {\n const featureProvidersLocal: FeatureProviderClient<unknown, unknown>[] = []\n let featureProvidersAndComponentsLoaded = 0\n\n Object.entries(clientFunctions).forEach(([key, plugin]) => {\n if (key.startsWith(`lexicalFeature.${schemaPath}.`)) {\n if (!key.includes('.lexical_internal_components.')) {\n featureProvidersLocal.push(plugin)\n }\n\n featureProvidersAndComponentsLoaded++\n }\n })\n\n if (featureProvidersAndComponentsLoaded === featureProvidersAndComponentsToLoad) {\n setFeatureProviders(featureProvidersLocal)\n setHasLoadedFeatures(true)\n\n /**\n * Loaded feature provided => create the final sanitized editor config\n */\n\n const resolvedClientFeatures = loadClientFeatures({\n clientFunctions,\n schemaPath,\n unSanitizedEditorConfig: {\n features: featureProvidersLocal,\n lexical: lexicalEditorConfig,\n },\n })\n\n setFinalSanitizedEditorConfig(\n sanitizeClientEditorConfig(\n lexicalEditorConfig ? lexicalEditorConfig : defaultEditorLexicalConfig,\n resolvedClientFeatures,\n admin,\n ),\n )\n }\n }\n }, [\n admin,\n hasLoadedFeatures,\n clientFunctions,\n schemaPath,\n featureProviderComponents.length,\n featureProviders,\n finalSanitizedEditorConfig,\n lexicalEditorConfig,\n featureProvidersAndComponentsToLoad,\n ])\n\n if (!hasLoadedFeatures) {\n return (\n <React.Fragment>\n {Array.isArray(featureProviderComponents) &&\n featureProviderComponents.map((featureProvider) => {\n // get all components starting with key feature.${FeatureProvider.key}.components.{featureComponentKey}\n const featureComponentKeys = Array.from(richTextComponentMap.keys()).filter((key) =>\n key.startsWith(\n `lexical_internal_feature.${featureProvider.key}.lexical_internal_components.`,\n ),\n )\n const featureComponents: React.ReactNode[] = featureComponentKeys.map((key) => {\n return richTextComponentMap.get(key)\n }) // TODO: Type better\n\n return (\n <React.Fragment key={featureProvider.key}>\n {featureComponents?.length\n ? featureComponents.map((FeatureComponent) => {\n return FeatureComponent\n })\n : null}\n {featureProvider.ClientFeature}\n </React.Fragment>\n )\n })}\n </React.Fragment>\n )\n }\n\n return (\n <Suspense fallback={<ShimmerEffect height=\"35vh\" />}>\n {finalSanitizedEditorConfig && (\n <RichTextEditor {...props} editorConfig={finalSanitizedEditorConfig} />\n )}\n </Suspense>\n )\n}\n"],"names":["ShimmerEffect","useClientFunctions","useFieldProps","React","Suspense","lazy","useEffect","useState","defaultEditorLexicalConfig","loadClientFeatures","sanitizeClientEditorConfig","RichTextEditor","then","module","default","RichText","RichTextField","props","admin","lexicalEditorConfig","richTextComponentMap","schemaPath","clientFunctions","hasLoadedFeatures","setHasLoadedFeatures","featureProviders","setFeatureProviders","finalSanitizedEditorConfig","setFinalSanitizedEditorConfig","featureProviderComponents","get","sort","a","b","order","featureProvidersAndComponentsToLoad","featureProvider","featureComponentKeys","Array","from","keys","filter","key","startsWith","length","featureProvidersLocal","featureProvidersAndComponentsLoaded","Object","entries","forEach","plugin","includes","push","resolvedClientFeatures","unSanitizedEditorConfig","features","lexical","Fragment","isArray","map","featureComponents","FeatureComponent","ClientFeature","fallback","height","editorConfig"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/richtext-lexical",
3
- "version": "3.0.0-beta.59",
3
+ "version": "3.0.0-beta.60",
4
4
  "description": "The officially supported Lexical richtext adapter for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -42,7 +42,6 @@
42
42
  "@types/uuid": "10.0.0",
43
43
  "bson-objectid": "2.0.4",
44
44
  "dequal": "2.0.3",
45
- "json-schema": "^0.4.0",
46
45
  "lexical": "0.16.1",
47
46
  "react-error-boundary": "4.0.13",
48
47
  "uuid": "10.0.0"
@@ -55,14 +54,14 @@
55
54
  "@types/react-dom": "npm:types-react-dom@19.0.0-beta.2",
56
55
  "esbuild": "^0.21.4",
57
56
  "esbuild-sass-plugin": "^3.3.0",
58
- "@payloadcms/eslint-config": "1.1.1",
59
- "@payloadcms/next": "3.0.0-beta.59",
60
- "payload": "3.0.0-beta.59",
61
- "@payloadcms/ui": "3.0.0-beta.59",
62
- "@payloadcms/translations": "3.0.0-beta.59"
57
+ "@payloadcms/eslint-config": "3.0.0-beta.59",
58
+ "@payloadcms/next": "3.0.0-beta.60",
59
+ "@payloadcms/translations": "3.0.0-beta.60",
60
+ "@payloadcms/ui": "3.0.0-beta.60",
61
+ "payload": "3.0.0-beta.60"
63
62
  },
64
63
  "peerDependencies": {
65
- "@faceless-ui/modal": "3.0.0-beta.0",
64
+ "@faceless-ui/modal": "3.0.0-beta.2",
66
65
  "@faceless-ui/scroll-info": "2.0.0-beta.0",
67
66
  "@lexical/headless": "0.16.1",
68
67
  "@lexical/link": "0.16.1",
@@ -77,10 +76,10 @@
77
76
  "lexical": "0.16.1",
78
77
  "react": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522",
79
78
  "react-dom": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522",
80
- "@payloadcms/next": "3.0.0-beta.59",
81
- "@payloadcms/translations": "3.0.0-beta.59",
82
- "payload": "3.0.0-beta.59",
83
- "@payloadcms/ui": "3.0.0-beta.59"
79
+ "@payloadcms/next": "3.0.0-beta.60",
80
+ "@payloadcms/translations": "3.0.0-beta.60",
81
+ "payload": "3.0.0-beta.60",
82
+ "@payloadcms/ui": "3.0.0-beta.60"
84
83
  },
85
84
  "engines": {
86
85
  "node": "^18.20.2 || >=20.9.0"
@@ -1,2 +0,0 @@
1
- "use client";import{b as x}from"./chunk-3K3B6PJM.js";import{Collapsible as oe,Form as te,Pill as ae,SectionTitle as re,ShimmerEffect as le,useConfig as ie,useDocumentInfo as se,useFieldProps as ne,useFormSubmitted as ce,useTranslation as de}from"@payloadcms/ui";import{useCallback as me,useEffect as pe,useMemo as fe,useState as ue}from"react";import{getTranslation as ye}from"@payloadcms/translations";import{getFormState as V}from"@payloadcms/ui/shared";import{v4 as he}from"uuid";import{useLexicalComposerContext as j}from"@lexical/react/LexicalComposerContext.js";import{getTranslation as W}from"@payloadcms/translations";import{Button as z,Collapsible as H,ErrorPill as q,Pill as G,RenderFields as J,SectionTitle as Q,useDocumentInfo as X,useFormSubmitted as Y,useTranslation as Z}from"@payloadcms/ui";import{dequal as ee}from"dequal/lite";import{$getNodeByKey as L}from"lexical";import w,{useCallback as D}from"react";import{useAllFormFields as U}from"@payloadcms/ui";import{reduceFieldsToValues as I}from"@payloadcms/ui/shared";import{useEffect as K}from"react";function E({fields:s}){for(let e in s){let a=s[e];Array.isArray(a.rows)&&"value"in a&&(a.disableFormData=!0)}return s}var M=s=>{let{onChange:e}=s,[a]=U(),o=E({fields:a}),m=I(o,!0);return K(()=>{e&&e({fullFieldsWithValues:o,newFormData:m})},[m,e,o]),null};import{jsx as F,jsxs as A}from"react/jsx-runtime";var O=s=>{let{baseClass:e,field:a,formData:o,formSchema:m,nodeKey:n,reducedBlock:{labels:g},schemaPath:N}=s,{i18n:S}=Z(),[c]=j(),{getDocPreferences:y,setDocFieldPreferences:P}=X(),[T,B]=w.useState(()=>{let r=!1;return y().then(d=>{let t=d?.fields[a.name]?.collapsed;t&&t.includes(o.id)&&(r=!0,B(!0))}),r}),i=Y(),[p,k]=w.useState(0),h=i&&p>0,_=[`${e}__row`,h?`${e}__row--has-errors`:`${e}__row--no-errors`].filter(Boolean).join(" "),R=D(({fullFieldsWithValues:r,newFormData:d})=>{d={...d,id:o.id,blockType:o.blockType};function v(t){for(let l in t){let b=t[l];Array.isArray(b)&&!b?.length?delete t[l]:b&&typeof b=="object"?v(b):b==null&&delete t[l]}}if(v(d),v(o),ee(o,d)||setTimeout(()=>{c.update(()=>{let t=L(n);t&&t.setFields(d)})},0),i){let t=0;for(let l of Object.values(r))l?.valid===!1&&t++;k(t)}},[c,n,i,o]),$=D(r=>{y().then(d=>{let t=d?.fields[a.name]?.collapsed,l=t&&t?.length?t:[];r?l.includes(o.id)||l.push(o.id):l.includes(o.id)&&l.splice(l.indexOf(o.id),1),P(a.name,{collapsed:l,hello:"hi"})})},[y,a.name,P,o.id]),C=D(()=>{c.update(()=>{L(n).remove()})},[c,n]);return A(w.Fragment,{children:[F(H,{className:_,collapsibleStyle:h?"error":"default",header:A("div",{className:`${e}__block-header`,children:[A("div",{children:[F(G,{className:`${e}__block-pill ${e}__block-pill-${o?.blockType}`,pillStyle:"white",children:typeof g.singular=="string"?W(g.singular,S):"[Singular Label]"}),F(Q,{path:"blockName",readOnly:a?.readOnly}),h&&F(q,{count:p,i18n:S,withMessage:!0})]}),c.isEditable()&&F(z,{buttonStyle:"icon-label",className:`${e}__removeButton`,disabled:a?.readOnly,icon:"x",onClick:r=>{r.preventDefault(),C()},round:!0,tooltip:"Remove Block"})]}),isCollapsed:T,onToggle:r=>{$(r),B(r)},children:F(J,{className:`${e}__fields`,fieldMap:Array.isArray(m)?m:[],forceRender:!0,margins:"small",path:"",readOnly:!1,schemaPath:N})},0),F(M,{onChange:R})]})};import{jsx as u,jsxs as be}from"react/jsx-runtime";var f="lexical-block",Ie=s=>{let{formData:e,nodeKey:a}=s,o=ie(),m=ce(),{id:n}=se(),{path:g,schemaPath:N}=ne(),{editorConfig:S,field:c}=x(),[y,P]=ue(!1),{field:{richTextComponentMap:T}}=x(),B=`lexical_internal_feature.blocks.fields.${e?.blockType}`,i=`${N}.lexical_internal_feature.blocks.${e?.blockType}`,p=S?.resolvedFeatureMap?.get("blocks")?.sanitizedClientFeatureProps?.reducedBlocks?.find(C=>C.slug===e?.blockType),k=T.get(B);pe(()=>{e&&(async()=>{let r=await V({apiRoute:o.routes.api,body:{id:n,data:e,operation:"update",schemaPath:i},serverURL:o.serverURL});r&&P({...r,blockName:{initialValue:"",passesCondition:!0,valid:!0,value:e.blockName}})})()},[o.routes.api,o.serverURL,i,n]);let h=me(async({formState:C})=>({...await V({apiRoute:o.routes.api,body:{id:n,formState:C,operation:"update",schemaPath:i},serverURL:o.serverURL}),blockName:{initialValue:"",passesCondition:!0,valid:!0,value:e.blockName}}),[o.routes.api,o.serverURL,i,n,e.blockName]),{i18n:_}=de(),R=[`${f}__row`,`${f}__row--no-errors`].filter(Boolean).join(" "),$=fe(()=>p&&y!==!1?u(te,{beforeSubmit:[h],fields:k,initialState:y,onChange:[h],submitted:m,uuid:he(),children:u(O,{baseClass:f,field:c,formData:e,formSchema:Array.isArray(k)?k:[],nodeKey:a,path:`${g}.lexical_internal_feature.blocks.${e.blockType}`,reducedBlock:p,schemaPath:i})}):u(oe,{className:R,collapsibleStyle:"default",header:u("div",{className:`${f}__block-header`,children:be("div",{children:[u(ae,{className:`${f}__block-pill ${f}__block-pill-${e?.blockType}`,pillStyle:"white",children:typeof p.labels.singular=="string"?ye(p.labels.singular,_):"[Singular Label]"}),u(re,{path:"blockName",readOnly:c?.readOnly})]})}),children:u(le,{height:"35vh"})},0),[R,k,c,a,_,m,y,p,h,i,g]);return u("div",{className:f+" "+f+"-"+e.blockType,children:$})};export{Ie as BlockComponent};
2
- //# sourceMappingURL=component-7J2IXLN3.js.map