{"version":3,"file":"withPrismicUnpublishedPreview.cjs","sources":["../../src/withPrismicUnpublishedPreview.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { getActiveRepositoryName } from \"./lib/getActiveRepositoryName\";\nimport { getComponentDisplayName } from \"./lib/getComponentDisplayName\";\n\nimport type { NormalizedDocument, PagePropsLike } from \"./types\";\n\nexport const withPrismicUnpublishedPreview = <TProps extends PagePropsLike>(\n\tWrappedComponent: React.ComponentType<TProps>,\n): React.ComponentType<TProps> => {\n\tconst WithPrismicUnpublishedPreview = (props: TProps): JSX.Element => {\n\t\tconst [unpublishedData, setUnpublishedData] = React.useState<{\n\t\t\tdata?: { [key: string]: NormalizedDocument };\n\t\t\tcomponent?: React.ComponentType<TProps>;\n\t\t}>({});\n\n\t\tconst ResolvedComponent = unpublishedData.component || WrappedComponent;\n\n\t\tconst data = React.useMemo(\n\t\t\t() => ({ ...props.data, ...unpublishedData.data }),\n\t\t\t[props.data, unpublishedData.data],\n\t\t);\n\n\t\tReact.useEffect(() => {\n\t\t\tconst abortController = new AbortController();\n\n\t\t\tconst repositoryName = getActiveRepositoryName();\n\n\t\t\tif (repositoryName) {\n\t\t\t\tPromise.all([\n\t\t\t\t\timport(\"./lib/bootstrapPrismicPreview\"),\n\t\t\t\t\timport(\"./lib/resolveUnpublishedPrismicPreview\"),\n\t\t\t\t]).then(([bootstrap, resolve]) =>\n\t\t\t\t\tbootstrap\n\t\t\t\t\t\t.default(repositoryName, abortController)\n\t\t\t\t\t\t.then(() =>\n\t\t\t\t\t\t\tresolve.default(\n\t\t\t\t\t\t\t\trepositoryName,\n\t\t\t\t\t\t\t\tabortController,\n\t\t\t\t\t\t\t\tsetUnpublishedData,\n\t\t\t\t\t\t\t\tprops.location?.pathname,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn () => abortController.abort();\n\t\t}, [props.location?.pathname]);\n\n\t\treturn <ResolvedComponent {...props} data={data} />;\n\t};\n\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tconst wrappedComponentName = getComponentDisplayName(WrappedComponent);\n\t\tWithPrismicUnpublishedPreview.displayName = `withPrismicUnpublishedPreview(${wrappedComponentName})`;\n\t}\n\n\treturn WithPrismicUnpublishedPreview;\n};\n"],"names":["React","getActiveRepositoryName","_a","jsx","getComponentDisplayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAOa,MAAA,gCAAgC,CAC5C,qBACgC;AAC1B,QAAA,gCAAgC,CAAC,UAA8B;;AACpE,UAAM,CAAC,iBAAiB,kBAAkB,IAAIA,iBAAM,SAGjD,CAAA,CAAE;AAEC,UAAA,oBAAoB,gBAAgB,aAAa;AAEvD,UAAM,OAAOA,iBAAM,QAClB,OAAO,EAAE,GAAG,MAAM,MAAM,GAAG,gBAAgB,SAC3C,CAAC,MAAM,MAAM,gBAAgB,IAAI,CAAC;AAGnCA,qBAAM,UAAU,MAAK;AACd,YAAA,kBAAkB,IAAI;AAE5B,YAAM,iBAAiBC,wBAAAA;AAEvB,UAAI,gBAAgB;AACnB,gBAAQ,IAAI;AAAA,UACX,QAAA,QAAA,EAAA,KAAA,MAAA,6CAAA,QAAO,mCAA+B,CAAA,CAAA;AAAA,UACtC,QAAA,QAAA,EAAA,KAAA,MAAA,6CAAA,QAAO,4CAAwC,CAAA,CAAA;AAAA,QAAA,CAC/C,EAAE,KAAK,CAAC,CAAC,WAAW,OAAO,MAC3B,UACE,QAAQ,gBAAgB,eAAe,EACvC,KAAK;;AACL,yBAAQ,QACP,gBACA,iBACA,qBACAC,MAAA,MAAM,aAAN,gBAAAA,IAAgB,QAAQ;AAAA,SACxB,CACD;AAAA,MAEH;AAEM,aAAA,MAAM,gBAAgB;IAC3B,GAAA,EAAC,WAAM,aAAN,mBAAgB,QAAQ,CAAC;AAE7B,WAAQC,2BAAAA,IAAA,mBAAA,EAAkB,GAAI,OAAO,KAAW,CAAA;AAAA,EAAA;AAG7C,MAAA,QAAQ,IAAI,aAAa,eAAe;AACrC,UAAA,uBAAuBC,gDAAwB,gBAAgB;AACrE,kCAA8B,cAAc,iCAAiC;AAAA,EAC7E;AAEM,SAAA;AACR;;"}