{"version":3,"file":"usePrismicPreviewStore.cjs","sources":["../../src/usePrismicPreviewStore.ts"],"sourcesContent":["import type { Client } from \"@prismicio/client\";\nimport { create } from \"zustand\";\n\nimport type {\n\tNormalizedDocument,\n\tPluginOptions,\n\tRepositoryConfig,\n} from \"./types\";\n\ntype PrismicPreviewStore = {\n\trepositoryConfigs: RepositoryConfig[];\n\tsetRepositoryConfigs: (repositoryConfigs: RepositoryConfig[]) => void;\n\n\tpluginOptions: Record<string, PluginOptions>;\n\taddPluginOptions: (pluginOptions: PluginOptions) => void;\n\n\tclient: Client | undefined;\n\tsetClient: (client: Client) => void;\n\n\tdocuments: Record<string, NormalizedDocument>;\n\taddDocument: (document: NormalizedDocument) => void;\n\n\tpublishedDocumentIDs: string[];\n\tsetPublishedDocumentIDs: (publishedDocumentIDs: string[]) => void;\n\n\tisBootstrapped: boolean;\n\tsetIsBootstrapped: (isBootstrapped: boolean) => void;\n\n\treset: () => void;\n};\n\nexport const usePrismicPreviewStore = create<PrismicPreviewStore>()(\n\t(set, get) => {\n\t\treturn {\n\t\t\trepositoryConfigs: [],\n\t\t\tsetRepositoryConfigs: (repositoryConfigs: RepositoryConfig[]) => {\n\t\t\t\tset({ repositoryConfigs });\n\t\t\t},\n\n\t\t\tpluginOptions: {},\n\t\t\taddPluginOptions: (pluginOptions: PluginOptions) => {\n\t\t\t\tset({\n\t\t\t\t\tpluginOptions: {\n\t\t\t\t\t\t...get().pluginOptions,\n\t\t\t\t\t\t[pluginOptions.repositoryName]: pluginOptions,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tclient: undefined,\n\t\t\tsetClient: (client: Client) => {\n\t\t\t\tset({ client });\n\t\t\t},\n\n\t\t\tdocuments: {},\n\t\t\taddDocument: (document: NormalizedDocument) => {\n\t\t\t\tset({\n\t\t\t\t\tdocuments: {\n\t\t\t\t\t\t...get().documents,\n\t\t\t\t\t\t[document.prismicId]: document,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tpublishedDocumentIDs: [],\n\t\t\tsetPublishedDocumentIDs: (publishedDocumentIDs: string[]) => {\n\t\t\t\tset({ publishedDocumentIDs });\n\t\t\t},\n\n\t\t\tisBootstrapped: false,\n\t\t\tsetIsBootstrapped: (isBootstrapped: boolean) => {\n\t\t\t\tset({ isBootstrapped });\n\t\t\t},\n\n\t\t\treset: () => {\n\t\t\t\treturn set({\n\t\t\t\t\trepositoryConfigs: [],\n\t\t\t\t\tpluginOptions: {},\n\t\t\t\t\tclient: undefined,\n\t\t\t\t\tdocuments: {},\n\t\t\t\t\tpublishedDocumentIDs: [],\n\t\t\t\t\tisBootstrapped: false,\n\t\t\t\t});\n\t\t\t},\n\t\t};\n\t},\n);\n"],"names":["create"],"mappings":";;;AA+BO,MAAM,yBAAyBA,QAAA,OAAA,EACrC,CAAC,KAAK,QAAO;AACL,SAAA;AAAA,IACN,mBAAmB,CAAE;AAAA,IACrB,sBAAsB,CAAC,sBAAyC;AAC3D,UAAA,EAAE,mBAAmB;AAAA,IAC1B;AAAA,IAEA,eAAe,CAAE;AAAA,IACjB,kBAAkB,CAAC,kBAAgC;AAC9C,UAAA;AAAA,QACH,eAAe;AAAA,UACd,GAAG,IAAM,EAAA;AAAA,UACT,CAAC,cAAc,cAAc,GAAG;AAAA,QAChC;AAAA,MAAA,CACD;AAAA,IACF;AAAA,IAEA,QAAQ;AAAA,IACR,WAAW,CAAC,WAAkB;AACzB,UAAA,EAAE,QAAQ;AAAA,IACf;AAAA,IAEA,WAAW,CAAE;AAAA,IACb,aAAa,CAAC,aAAgC;AACzC,UAAA;AAAA,QACH,WAAW;AAAA,UACV,GAAG,IAAM,EAAA;AAAA,UACT,CAAC,SAAS,SAAS,GAAG;AAAA,QACtB;AAAA,MAAA,CACD;AAAA,IACF;AAAA,IAEA,sBAAsB,CAAE;AAAA,IACxB,yBAAyB,CAAC,yBAAkC;AACvD,UAAA,EAAE,sBAAsB;AAAA,IAC7B;AAAA,IAEA,gBAAgB;AAAA,IAChB,mBAAmB,CAAC,mBAA2B;AAC1C,UAAA,EAAE,gBAAgB;AAAA,IACvB;AAAA,IAEA,OAAO,MAAK;AACX,aAAO,IAAI;AAAA,QACV,mBAAmB,CAAE;AAAA,QACrB,eAAe,CAAE;AAAA,QACjB,QAAQ;AAAA,QACR,WAAW,CAAE;AAAA,QACb,sBAAsB,CAAE;AAAA,QACxB,gBAAgB;AAAA,MAAA,CAChB;AAAA,IACF;AAAA,EAAA;AAEF,CAAC;;"}