@prismicio/react 2.0.0 → 2.0.3-debug.1

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.
package/dist/index.d.ts CHANGED
@@ -4,8 +4,8 @@ import * as prismicH from '@prismicio/helpers';
4
4
  import * as prismicT from '@prismicio/types';
5
5
  import * as prismicR from '@prismicio/richtext';
6
6
  export { Element } from '@prismicio/richtext';
7
+ import { PascalCase } from 'type-fest';
7
8
 
8
- declare type ComponentProps<T> = T extends React.ComponentType<infer U> ? U : T extends keyof JSX.IntrinsicElements ? React.ComponentProps<T> : unknown;
9
9
  /**
10
10
  * Props provided to a component when rendered with `<PrismicLink>`.
11
11
  */
@@ -32,7 +32,7 @@ interface LinkProps {
32
32
  /**
33
33
  * Props for `<PrismicLink>`.
34
34
  */
35
- declare type PrismicLinkProps<InternalComponent extends string | React.ComponentType<LinkProps> = string | React.ComponentType<LinkProps>, ExternalComponent extends string | React.ComponentType<LinkProps> = string | React.ComponentType<LinkProps>, LinkResolverFunction extends prismicH.LinkResolverFunction = prismicH.LinkResolverFunction> = Omit<ComponentProps<InternalComponent> & ComponentProps<ExternalComponent>, keyof LinkProps> & {
35
+ declare type PrismicLinkProps<InternalComponent extends React.ElementType<LinkProps> = React.ElementType<LinkProps>, ExternalComponent extends React.ElementType<LinkProps> = React.ElementType<LinkProps>, LinkResolverFunction extends prismicH.LinkResolverFunction = prismicH.LinkResolverFunction> = Omit<React.ComponentProps<InternalComponent> & React.ComponentProps<ExternalComponent>, keyof LinkProps> & {
36
36
  /**
37
37
  * The Link Resolver used to resolve links.
38
38
  *
@@ -100,7 +100,7 @@ declare type PrismicLinkProps<InternalComponent extends string | React.Component
100
100
  * @returns The internal or external link component depending on whether the
101
101
  * link is internal or external.
102
102
  */
103
- declare const PrismicLink: <InternalComponent extends string | React.ComponentType<LinkProps> = "a", ExternalComponent extends string | React.ComponentType<LinkProps> = "a", LinkResolverFunction extends prismicH.LinkResolverFunction<string> = prismicH.LinkResolverFunction<string>>(props: PrismicLinkProps<InternalComponent, ExternalComponent, LinkResolverFunction>) => JSX.Element | null;
103
+ declare const PrismicLink: <InternalComponent extends React.ElementType<LinkProps> = "a", ExternalComponent extends React.ElementType<LinkProps> = "a", LinkResolverFunction extends prismicH.LinkResolverFunction<string> = prismicH.LinkResolverFunction<string>>(props: PrismicLinkProps<InternalComponent, ExternalComponent, LinkResolverFunction>) => JSX.Element | null;
104
104
 
105
105
  /**
106
106
  * A function mapping Rich Text block types to React Components. It is used to
@@ -171,11 +171,11 @@ declare type PrismicContextValue = {
171
171
  /**
172
172
  * The component rendered by `<PrismicLink>` for internal URLs. Defaults to `<a>`.
173
173
  */
174
- internalLinkComponent?: string | React.ComponentType<LinkProps>;
174
+ internalLinkComponent?: React.ElementType<LinkProps>;
175
175
  /**
176
176
  * The component rendered by `<PrismicLink>` for external URLs. Defaults to `<a>`.
177
177
  */
178
- externalLinkComponent?: string | React.ComponentType<LinkProps>;
178
+ externalLinkComponent?: React.ElementType<LinkProps>;
179
179
  /**
180
180
  * Children for the component.
181
181
  */
@@ -432,7 +432,7 @@ declare type SliceZoneResolverArgs<TSlice extends SliceLike = SliceLike> = {
432
432
  /**
433
433
  * The name of the Slice.
434
434
  */
435
- sliceName: TSlice["slice_type"];
435
+ sliceName: PascalCase<TSlice["slice_type"]>;
436
436
  /**
437
437
  * The index of the Slice in the Slice Zone.
438
438
  */
@@ -608,7 +608,7 @@ declare const usePrismicPreviewResolver: (args?: UsePrismicPreviewResolverArgs)
608
608
  *
609
609
  * @see Underlying `@prismicio/client` method {@link proto.get}
610
610
  */
611
- declare const usePrismicDocuments: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
611
+ declare const usePrismicDocuments: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
612
612
  /**
613
613
  * A hook that queries content from the Prismic repository and returns only the
614
614
  * first result, if any.
@@ -624,7 +624,7 @@ declare const usePrismicDocuments: <TDocument extends prismicT.PrismicDocument<R
624
624
  *
625
625
  * @see Underlying `@prismicio/client` method {@link proto.getFirst}
626
626
  */
627
- declare const useFirstPrismicDocument: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument>;
627
+ declare const useFirstPrismicDocument: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument>;
628
628
  /**
629
629
  * A hook that queries content from the Prismic repository and returns all
630
630
  * matching content. If no predicates are provided, all documents will be fetched.
@@ -640,7 +640,7 @@ declare const useFirstPrismicDocument: <TDocument extends prismicT.PrismicDocume
640
640
  *
641
641
  * @see Underlying `@prismicio/client` method {@link proto.getAll}
642
642
  */
643
- declare const useAllPrismicDocumentsDangerously: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(params?: (Partial<Omit<_prismicio_client.BuildQueryURLArgs, "page">> & {
643
+ declare const useAllPrismicDocumentsDangerously: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(params?: (Partial<Omit<_prismicio_client.BuildQueryURLArgs, "page">> & {
644
644
  limit?: number | undefined;
645
645
  } & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
646
646
  /**
@@ -658,7 +658,7 @@ declare const useAllPrismicDocumentsDangerously: <TDocument extends prismicT.Pri
658
658
  *
659
659
  * @see Underlying `@prismicio/client` method {@link proto.getByID}
660
660
  */
661
- declare const usePrismicDocumentByID: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(id: string, params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument>;
661
+ declare const usePrismicDocumentByID: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(id: string, params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument>;
662
662
  /**
663
663
  * A hook that queries documents from the Prismic repository with specific IDs.
664
664
  *
@@ -674,7 +674,7 @@ declare const usePrismicDocumentByID: <TDocument extends prismicT.PrismicDocumen
674
674
  *
675
675
  * @see Underlying `@prismicio/client` method {@link proto.getByIDs}
676
676
  */
677
- declare const usePrismicDocumentsByIDs: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(id: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
677
+ declare const usePrismicDocumentsByIDs: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(id: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
678
678
  /**
679
679
  * A hook that queries all documents from the Prismic repository with specific IDs.
680
680
  *
@@ -690,7 +690,7 @@ declare const usePrismicDocumentsByIDs: <TDocument extends prismicT.PrismicDocum
690
690
  *
691
691
  * @see Underlying `@prismicio/client` method {@link proto.getAllByIDs}
692
692
  */
693
- declare const useAllPrismicDocumentsByIDs: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(id: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
693
+ declare const useAllPrismicDocumentsByIDs: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(id: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
694
694
  /**
695
695
  * A hook that queries a document from the Prismic repository with a specific
696
696
  * UID and Custom Type.
@@ -708,7 +708,7 @@ declare const useAllPrismicDocumentsByIDs: <TDocument extends prismicT.PrismicDo
708
708
  *
709
709
  * @see Underlying `@prismicio/client` method {@link proto.getByUID}
710
710
  */
711
- declare const usePrismicDocumentByUID: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(documentType: string, uid: string, params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument>;
711
+ declare const usePrismicDocumentByUID: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(documentType: string, uid: string, params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument>;
712
712
  /**
713
713
  * A hook that queries documents from the Prismic repository with specific UIDs
714
714
  * of a Custom Type.
@@ -726,7 +726,7 @@ declare const usePrismicDocumentByUID: <TDocument extends prismicT.PrismicDocume
726
726
  *
727
727
  * @see Underlying `@prismicio/client` method {@link proto.getByUID}
728
728
  */
729
- declare const usePrismicDocumentsByUIDs: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(documentType: string, uids: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
729
+ declare const usePrismicDocumentsByUIDs: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(documentType: string, uids: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
730
730
  /**
731
731
  * A hook that queries all documents from the Prismic repository with specific
732
732
  * UIDs of a Custom Type.
@@ -744,7 +744,7 @@ declare const usePrismicDocumentsByUIDs: <TDocument extends prismicT.PrismicDocu
744
744
  *
745
745
  * @see Underlying `@prismicio/client` method {@link proto.getByUID}
746
746
  */
747
- declare const useAllPrismicDocumentsByUIDs: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(documentType: string, uids: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
747
+ declare const useAllPrismicDocumentsByUIDs: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(documentType: string, uids: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
748
748
  /**
749
749
  * A hook that queries a singleton document from the Prismic repository for a
750
750
  * specific Custom Type.
@@ -761,7 +761,7 @@ declare const useAllPrismicDocumentsByUIDs: <TDocument extends prismicT.PrismicD
761
761
  *
762
762
  * @see Underlying `@prismicio/client` method {@link proto.getSingle}
763
763
  */
764
- declare const useSinglePrismicDocument: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(documentType: string, params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument>;
764
+ declare const useSinglePrismicDocument: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(documentType: string, params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument>;
765
765
  /**
766
766
  * A hook that queries documents from the Prismic repository for a specific Custom Type.
767
767
  *
@@ -777,7 +777,7 @@ declare const useSinglePrismicDocument: <TDocument extends prismicT.PrismicDocum
777
777
  *
778
778
  * @see Underlying `@prismicio/client` method {@link proto.getByType}
779
779
  */
780
- declare const usePrismicDocumentsByType: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(documentType: string, params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
780
+ declare const usePrismicDocumentsByType: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(documentType: string, params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
781
781
  /**
782
782
  * A hook that queries all documents from the Prismic repository for a specific
783
783
  * Custom Type.
@@ -794,7 +794,7 @@ declare const usePrismicDocumentsByType: <TDocument extends prismicT.PrismicDocu
794
794
  *
795
795
  * @see Underlying `@prismicio/client` method {@link proto.getAllByType}
796
796
  */
797
- declare const useAllPrismicDocumentsByType: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(documentType: string, params?: (Partial<Omit<_prismicio_client.BuildQueryURLArgs, "page">> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
797
+ declare const useAllPrismicDocumentsByType: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(documentType: string, params?: (Partial<Omit<_prismicio_client.BuildQueryURLArgs, "page">> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
798
798
  /**
799
799
  * A hook that queries documents from the Prismic repository with a specific tag.
800
800
  *
@@ -810,7 +810,7 @@ declare const useAllPrismicDocumentsByType: <TDocument extends prismicT.PrismicD
810
810
  *
811
811
  * @see Underlying `@prismicio/client` method {@link proto.getByTag}
812
812
  */
813
- declare const usePrismicDocumentsByTag: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(tag: string, params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
813
+ declare const usePrismicDocumentsByTag: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(tag: string, params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
814
814
  /**
815
815
  * A hook that queries all documents from the Prismic repository with a specific tag.
816
816
  *
@@ -826,7 +826,7 @@ declare const usePrismicDocumentsByTag: <TDocument extends prismicT.PrismicDocum
826
826
  *
827
827
  * @see Underlying `@prismicio/client` method {@link proto.getAllByTag}
828
828
  */
829
- declare const useAllPrismicDocumentsByTag: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(tag: string, params?: (Partial<Omit<_prismicio_client.BuildQueryURLArgs, "page">> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
829
+ declare const useAllPrismicDocumentsByTag: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(tag: string, params?: (Partial<Omit<_prismicio_client.BuildQueryURLArgs, "page">> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
830
830
  /**
831
831
  * A hook that queries documents from the Prismic repository with specific tags.
832
832
  * A document must be tagged with at least one of the queried tags to be included.
@@ -843,7 +843,7 @@ declare const useAllPrismicDocumentsByTag: <TDocument extends prismicT.PrismicDo
843
843
  *
844
844
  * @see Underlying `@prismicio/client` method {@link proto.getByTags}
845
845
  */
846
- declare const usePrismicDocumentsBySomeTags: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(tag: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
846
+ declare const usePrismicDocumentsBySomeTags: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(tag: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
847
847
  /**
848
848
  * A hook that queries all documents from the Prismic repository with specific
849
849
  * tags. A document must be tagged with at least one of the queried tags to be included.
@@ -860,7 +860,7 @@ declare const usePrismicDocumentsBySomeTags: <TDocument extends prismicT.Prismic
860
860
  *
861
861
  * @see Underlying `@prismicio/client` method {@link proto.getAllByTags}
862
862
  */
863
- declare const useAllPrismicDocumentsBySomeTags: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(tag: string[], params?: (Partial<Omit<_prismicio_client.BuildQueryURLArgs, "page">> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
863
+ declare const useAllPrismicDocumentsBySomeTags: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(tag: string[], params?: (Partial<Omit<_prismicio_client.BuildQueryURLArgs, "page">> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
864
864
  /**
865
865
  * A hook that queries documents from the Prismic repository with specific tags.
866
866
  * A document must be tagged with all of the queried tags to be included.
@@ -877,7 +877,7 @@ declare const useAllPrismicDocumentsBySomeTags: <TDocument extends prismicT.Pris
877
877
  *
878
878
  * @see Underlying `@prismicio/client` method {@link proto.getByTags}
879
879
  */
880
- declare const usePrismicDocumentsByEveryTag: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(tag: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
880
+ declare const usePrismicDocumentsByEveryTag: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(tag: string[], params?: (Partial<_prismicio_client.BuildQueryURLArgs> & HookOnlyParameters) | undefined) => ClientHookReturnType<prismicT.Query<TDocument>>;
881
881
  /**
882
882
  * A hook that queries all documents from the Prismic repository with specific
883
883
  * tags. A document must be tagged with all of the queried tags to be included.
@@ -894,7 +894,7 @@ declare const usePrismicDocumentsByEveryTag: <TDocument extends prismicT.Prismic
894
894
  *
895
895
  * @see Underlying `@prismicio/client` method {@link proto.getAllByTags}
896
896
  */
897
- declare const useAllPrismicDocumentsByEveryTag: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(tag: string[], params?: (Partial<Omit<_prismicio_client.BuildQueryURLArgs, "page">> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
897
+ declare const useAllPrismicDocumentsByEveryTag: <TDocument extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | [Record<string, prismicT.AnyRegularField>, ...Record<string, prismicT.AnyRegularField>[]] | [prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>, ...(prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>)[]]>, string, string>>(tag: string[], params?: (Partial<Omit<_prismicio_client.BuildQueryURLArgs, "page">> & HookOnlyParameters) | undefined) => ClientHookReturnType<TDocument[]>;
898
898
 
899
899
  /**
900
900
  * @deprecated Renamed to `Element` (without an "s").
package/dist/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import * as React from 'react';
2
+ import { createContext, useMemo, useContext, Fragment, useEffect, useReducer } from 'react';
2
3
  import * as prismicH from '@prismicio/helpers';
3
4
  import * as prismicR from '@prismicio/richtext';
4
5
  import { Element } from '@prismicio/richtext';
5
6
  export { Element } from '@prismicio/richtext';
6
7
 
7
- const PrismicContext = React.createContext({});
8
+ const PrismicContext = createContext({});
8
9
  const PrismicProvider = ({
9
10
  client,
10
11
  linkResolver,
@@ -13,7 +14,7 @@ const PrismicProvider = ({
13
14
  externalLinkComponent,
14
15
  children
15
16
  }) => {
16
- const value = React.useMemo(() => ({
17
+ const value = useMemo(() => ({
17
18
  client,
18
19
  linkResolver,
19
20
  richTextComponents,
@@ -32,7 +33,7 @@ const PrismicProvider = ({
32
33
  };
33
34
 
34
35
  const usePrismicContext = () => {
35
- return React.useContext(PrismicContext) || {};
36
+ return useContext(PrismicContext) || {};
36
37
  };
37
38
 
38
39
  if (typeof process === "undefined") {
@@ -105,7 +106,7 @@ const PrismicLink = (props) => {
105
106
  };
106
107
 
107
108
  const PrismicText = (props) => {
108
- return React.useMemo(() => {
109
+ return useMemo(() => {
109
110
  if (props.field) {
110
111
  const text = prismicH.asText(props.field, props.separator);
111
112
  return /* @__PURE__ */ React.createElement(React.Fragment, null, text);
@@ -205,30 +206,29 @@ const createDefaultSerializer = (args) => prismicR.wrapMapSerializer({
205
206
  key: `${i}__break`
206
207
  }));
207
208
  }
208
- result.push(/* @__PURE__ */ React.createElement(React.Fragment, {
209
+ result.push(/* @__PURE__ */ React.createElement(Fragment, {
209
210
  key: `${i}__line`
210
211
  }, line));
211
212
  i++;
212
213
  }
213
- return /* @__PURE__ */ React.createElement(React.Fragment, {
214
+ return /* @__PURE__ */ React.createElement(Fragment, {
214
215
  key
215
216
  }, result);
216
217
  }
217
218
  });
218
219
  const PrismicRichText = (props) => {
219
220
  const context = usePrismicContext();
220
- return React.useMemo(() => {
221
+ return useMemo(() => {
221
222
  if (!props.field) {
222
223
  return null;
223
224
  } else {
224
225
  const linkResolver = props.linkResolver || context.linkResolver;
225
- const components = props.components || context.richTextComponents;
226
226
  const defaultSerializer = createDefaultSerializer({
227
227
  linkResolver,
228
228
  internalLinkComponent: props.internalLinkComponent,
229
229
  externalLinkComponent: props.externalLinkComponent
230
230
  });
231
- const serializer = components ? prismicR.composeSerializers(typeof components === "object" ? prismicR.wrapMapSerializer(components) : components, defaultSerializer) : defaultSerializer;
231
+ const serializer = prismicR.composeSerializers(typeof props.components === "object" ? prismicR.wrapMapSerializer(props.components) : props.components, typeof context.richTextComponents === "object" ? prismicR.wrapMapSerializer(context.richTextComponents) : context.richTextComponents, defaultSerializer);
232
232
  const serialized = prismicR.serialize(props.field, serializer);
233
233
  return /* @__PURE__ */ React.createElement(React.Fragment, null, serialized);
234
234
  }
@@ -243,10 +243,17 @@ const PrismicRichText = (props) => {
243
243
  ]);
244
244
  };
245
245
 
246
+ const pascalCase = (input) => {
247
+ const camelCased = input.replace(/(?:-|_)(\w)/g, (_, c) => {
248
+ return c ? c.toUpperCase() : "";
249
+ });
250
+ return camelCased[0].toUpperCase() + camelCased.slice(1);
251
+ };
252
+
246
253
  const TODOSliceComponent = __PRODUCTION__ ? () => null : ({
247
254
  slice
248
255
  }) => {
249
- React.useEffect(() => {
256
+ useEffect(() => {
250
257
  console.warn(`[SliceZone] Could not find a component for Slice type "${slice.slice_type}"`, slice);
251
258
  }, [slice]);
252
259
  return /* @__PURE__ */ React.createElement("section", {
@@ -261,13 +268,13 @@ const SliceZone = ({
261
268
  defaultComponent = TODOSliceComponent,
262
269
  context = {}
263
270
  }) => {
264
- const renderedSlices = React.useMemo(() => {
271
+ const renderedSlices = useMemo(() => {
265
272
  return slices.map((slice, index) => {
266
273
  let Comp = components[slice.slice_type] || defaultComponent;
267
274
  if (resolver) {
268
275
  const resolvedComp = resolver({
269
276
  slice,
270
- sliceName: slice.slice_type,
277
+ sliceName: pascalCase(slice.slice_type),
271
278
  i: index
272
279
  });
273
280
  if (resolvedComp) {
@@ -283,7 +290,7 @@ const SliceZone = ({
283
290
  context
284
291
  });
285
292
  });
286
- }, [components, context, defaultComponent, slices]);
293
+ }, [components, context, defaultComponent, slices, resolver]);
287
294
  return /* @__PURE__ */ React.createElement(React.Fragment, null, renderedSlices);
288
295
  };
289
296
 
@@ -291,8 +298,8 @@ const PrismicToolbar = ({
291
298
  repositoryName,
292
299
  type = "new"
293
300
  }) => {
294
- const src = `https://static.cdn.prismic.io/prismic.js?repo=${repositoryName}${type === "new" ? "&type=new" : ""}`;
295
- React.useEffect(() => {
301
+ const src = `https://static.cdn.prismic.io/prismic.js?repo=${repositoryName}${type === "new" ? "&new=true" : ""}`;
302
+ useEffect(() => {
296
303
  const existingScript = document.querySelector(`script[src="${src}"]`);
297
304
  if (!existingScript) {
298
305
  const script = document.createElement("script");
@@ -303,7 +310,7 @@ const PrismicToolbar = ({
303
310
  script.dataset.type = type;
304
311
  document.body.appendChild(script);
305
312
  }
306
- }, [repositoryName, type]);
313
+ }, [repositoryName, type, src]);
307
314
  return null;
308
315
  };
309
316
 
@@ -339,8 +346,8 @@ const useStatefulPrismicClientMethod = (methodName, args, explicitClient) => {
339
346
  } = isParams(lastArg) ? lastArg : {};
340
347
  const argsWithoutParams = isParams(lastArg) ? args.slice(0, -1) : args;
341
348
  const client = usePrismicClient(explicitClient || lastArgExplicitClient);
342
- const [state, dispatch] = React.useReducer(reducer, initialState);
343
- React.useEffect(() => {
349
+ const [state, dispatch] = useReducer(reducer, initialState);
350
+ useEffect(() => {
344
351
  if (!skip) {
345
352
  {
346
353
  dispatch(["start"]);
@@ -362,7 +369,7 @@ const useStatefulPrismicClientMethod = (methodName, args, explicitClient) => {
362
369
  JSON.stringify(argsWithoutParams),
363
370
  JSON.stringify(params)
364
371
  ]);
365
- return React.useMemo(() => [
372
+ return useMemo(() => [
366
373
  state.data,
367
374
  {
368
375
  state: state.state,
@@ -384,7 +391,7 @@ const usePrismicPreviewResolver = (args = {}) => {
384
391
  ], args.client);
385
392
  const [resolvedURL] = result;
386
393
  const { navigate } = args;
387
- React.useEffect(() => {
394
+ useEffect(() => {
388
395
  if (resolvedURL && navigate) {
389
396
  navigate(resolvedURL);
390
397
  }