{"version":3,"file":"withPrismicPreview.cjs","sources":["../../src/withPrismicPreview.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { getActiveRepositoryName } from \"./lib/getActiveRepositoryName\";\nimport { getComponentDisplayName } from \"./lib/getComponentDisplayName\";\n\nimport type { PagePropsLike } from \"./types\";\n\nimport { useMergePrismicPreviewData } from \"./useMergePrismicPreviewData\";\nimport { usePrismicPreviewStore } from \"./usePrismicPreviewStore\";\n\nexport type WithPrismicPreviewProps<TProps = Record<string, unknown>> = {\n\toriginalData: TProps;\n\tisPrismicPreview: boolean;\n};\n\nexport const withPrismicPreview = <TProps extends PagePropsLike>(\n\tWrappedComponent: React.ComponentType<TProps>,\n): React.ComponentType<TProps> => {\n\tconst WithPrismicPreview = (props: TProps): JSX.Element => {\n\t\tconst isBootstrapped = usePrismicPreviewStore(\n\t\t\t(state) => state.isBootstrapped,\n\t\t);\n\n\t\tconst [isPrismicPreview, setIsPrismicPreview] = React.useState<\n\t\t\tboolean | null\n\t\t>(null);\n\t\tconst mergedData = useMergePrismicPreviewData(props.data);\n\n\t\tReact.useEffect(() => {\n\t\t\tconst abortController = new AbortController();\n\n\t\t\tif (!isBootstrapped) {\n\t\t\t\tconst repositoryName = getActiveRepositoryName();\n\t\t\t\tsetIsPrismicPreview(!!repositoryName);\n\n\t\t\t\tif (repositoryName) {\n\t\t\t\t\timport(\"./lib/bootstrapPrismicPreview\").then((mod) =>\n\t\t\t\t\t\tmod.default(repositoryName, abortController),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn () => abortController.abort();\n\t\t}, [isBootstrapped]);\n\n\t\treturn (\n\t\t\t<WrappedComponent\n\t\t\t\t{...props}\n\t\t\t\tdata={mergedData}\n\t\t\t\toriginalData={props.data}\n\t\t\t\tisPrismicPreview={isPrismicPreview}\n\t\t\t/>\n\t\t);\n\t};\n\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tconst wrappedComponentName = getComponentDisplayName(WrappedComponent);\n\t\tWithPrismicPreview.displayName = `withPrismicPreview(${wrappedComponentName})`;\n\t}\n\n\treturn WithPrismicPreview;\n};\n"],"names":["usePrismicPreviewStore","React","useMergePrismicPreviewData","getActiveRepositoryName","jsx","getComponentDisplayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAea,MAAA,qBAAqB,CACjC,qBACgC;AAC1B,QAAA,qBAAqB,CAAC,UAA8B;AACzD,UAAM,iBAAiBA,uBAAAA,uBACtB,CAAC,UAAU,MAAM,cAAc;AAGhC,UAAM,CAAC,kBAAkB,mBAAmB,IAAIC,iBAAM,SAEpD,IAAI;AACA,UAAA,aAAaC,2BAAAA,2BAA2B,MAAM,IAAI;AAExDD,qBAAM,UAAU,MAAK;AACd,YAAA,kBAAkB,IAAI;AAE5B,UAAI,CAAC,gBAAgB;AACpB,cAAM,iBAAiBE,wBAAAA;AACH,4BAAA,CAAC,CAAC,cAAc;AAEpC,YAAI,gBAAgB;AACZ,4FAAA,mCAA+B,CAAA,CAAA,EAAE,KAAK,CAAC,QAC7C,IAAI,QAAQ,gBAAgB,eAAe,CAAC;AAAA,QAE7C;AAAA,MACD;AAEM,aAAA,MAAM,gBAAgB;OAC3B,CAAC,cAAc,CAAC;AAGlB,WAAAC,+BAAC,oBACI,GAAA,OACJ,MAAM,YACN,cAAc,MAAM,MACpB,iBAAmC,CAAA;AAAA,EAAA;AAKlC,MAAA,QAAQ,IAAI,aAAa,eAAe;AACrC,UAAA,uBAAuBC,gDAAwB,gBAAgB;AACrE,uBAAmB,cAAc,sBAAsB;AAAA,EACvD;AAEM,SAAA;AACR;;"}