Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
1 line
4.2 KiB
Plaintext
1 line
4.2 KiB
Plaintext
{"version":3,"file":"index.js","names":["getFromImportMap","isPlainObject","isReactServerComponentOrFunction","React","removeUndefined","RenderServerComponent","clientProps","Component","Fallback","importMap","key","serverProps","Array","isArray","map","c","index","isRSC","sanitizedProps","_jsx","ResolvedComponent","PayloadComponent","schemaPath"],"sources":["../../../src/elements/RenderServerComponent/index.tsx"],"sourcesContent":["import type { ImportMap, PayloadComponent } from 'payload'\n\nimport { getFromImportMap, isPlainObject, isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nimport { removeUndefined } from '../../utilities/removeUndefined.js'\n\ntype RenderServerComponentFn = (args: {\n readonly clientProps?: object\n readonly Component?:\n | PayloadComponent\n | PayloadComponent[]\n | React.ComponentType\n | React.ComponentType[]\n readonly Fallback?: React.ComponentType\n readonly importMap: ImportMap\n readonly key?: string\n readonly serverProps?: object\n}) => React.ReactNode\n\n/**\n * Can be used to render both MappedComponents and React Components.\n */\nexport const RenderServerComponent: RenderServerComponentFn = ({\n clientProps = {},\n Component,\n Fallback,\n importMap,\n key,\n serverProps,\n}) => {\n if (Array.isArray(Component)) {\n return Component.map((c, index) =>\n RenderServerComponent({\n clientProps,\n Component: c,\n importMap,\n key: index,\n serverProps,\n }),\n )\n }\n\n if (typeof Component === 'function') {\n const isRSC = isReactServerComponentOrFunction(Component)\n\n // prevent $undefined from being passed through the rsc requests\n const sanitizedProps = removeUndefined({\n ...clientProps,\n ...(isRSC ? serverProps : {}),\n })\n\n return <Component key={key} {...sanitizedProps} />\n }\n\n if (typeof Component === 'string' || isPlainObject(Component)) {\n const ResolvedComponent = getFromImportMap<React.ComponentType>({\n importMap,\n PayloadComponent: Component,\n schemaPath: '',\n })\n\n if (ResolvedComponent) {\n const isRSC = isReactServerComponentOrFunction(ResolvedComponent)\n\n // prevent $undefined from being passed through rsc requests\n const sanitizedProps = removeUndefined({\n ...clientProps,\n ...(isRSC ? serverProps : {}),\n ...(isRSC && typeof Component === 'object' && Component?.serverProps\n ? Component.serverProps\n : {}),\n ...(typeof Component === 'object' && Component?.clientProps ? Component.clientProps : {}),\n })\n\n return <ResolvedComponent key={key} {...sanitizedProps} />\n }\n }\n\n return Fallback\n ? RenderServerComponent({\n clientProps,\n Component: Fallback,\n importMap,\n key,\n serverProps,\n })\n : null\n}\n"],"mappings":";AAEA,SAASA,gBAAgB,EAAEC,aAAa,EAAEC,gCAAgC,QAAQ;AAClF,OAAOC,KAAA,MAAW;AAElB,SAASC,eAAe,QAAQ;AAehC;;;AAGA,OAAO,MAAMC,qBAAA,GAAiDA,CAAC;EAC7DC,WAAA,GAAc,CAAC,CAAC;EAChBC,SAAS;EACTC,QAAQ;EACRC,SAAS;EACTC,GAAG;EACHC;AAAW,CACZ;EACC,IAAIC,KAAA,CAAMC,OAAO,CAACN,SAAA,GAAY;IAC5B,OAAOA,SAAA,CAAUO,GAAG,CAAC,CAACC,CAAA,EAAGC,KAAA,KACvBX,qBAAA,CAAsB;MACpBC,WAAA;MACAC,SAAA,EAAWQ,CAAA;MACXN,SAAA;MACAC,GAAA,EAAKM,KAAA;MACLL;IACF;EAEJ;EAEA,IAAI,OAAOJ,SAAA,KAAc,YAAY;IACnC,MAAMU,KAAA,GAAQf,gCAAA,CAAiCK,SAAA;IAE/C;IACA,MAAMW,cAAA,GAAiBd,eAAA,CAAgB;MACrC,GAAGE,WAAW;MACd,IAAIW,KAAA,GAAQN,WAAA,GAAc,CAAC,CAAC;IAC9B;IAEA,oBAAOQ,IAAA,CAACZ,SAAA;MAAqB,GAAGW;OAATR,GAAA;EACzB;EAEA,IAAI,OAAOH,SAAA,KAAc,YAAYN,aAAA,CAAcM,SAAA,GAAY;IAC7D,MAAMa,iBAAA,GAAoBpB,gBAAA,CAAsC;MAC9DS,SAAA;MACAY,gBAAA,EAAkBd,SAAA;MAClBe,UAAA,EAAY;IACd;IAEA,IAAIF,iBAAA,EAAmB;MACrB,MAAMH,KAAA,GAAQf,gCAAA,CAAiCkB,iBAAA;MAE/C;MACA,MAAMF,cAAA,GAAiBd,eAAA,CAAgB;QACrC,GAAGE,WAAW;QACd,IAAIW,KAAA,GAAQN,WAAA,GAAc,CAAC,CAAC;QAC5B,IAAIM,KAAA,IAAS,OAAOV,SAAA,KAAc,YAAYA,SAAA,EAAWI,WAAA,GACrDJ,SAAA,CAAUI,WAAW,GACrB,CAAC,CAAC;QACN,IAAI,OAAOJ,SAAA,KAAc,YAAYA,SAAA,EAAWD,WAAA,GAAcC,SAAA,CAAUD,WAAW,GAAG,CAAC,CAAC;MAC1F;MAEA,oBAAOa,IAAA,CAACC,iBAAA;QAA6B,GAAGF;SAATR,GAAA;IACjC;EACF;EAEA,OAAOF,QAAA,GACHH,qBAAA,CAAsB;IACpBC,WAAA;IACAC,SAAA,EAAWC,QAAA;IACXC,SAAA;IACAC,GAAA;IACAC;EACF,KACA;AACN","ignoreList":[]} |