@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/README.md +2 -2
- package/dist/index.cjs +26 -20
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +24 -24
- package/dist/index.js +27 -20
- package/dist/index.js.map +1 -1
- package/package.json +20 -18
- package/src/PrismicLink.tsx +8 -21
- package/src/PrismicProvider.tsx +5 -4
- package/src/PrismicRichText.tsx +13 -12
- package/src/PrismicText.tsx +2 -1
- package/src/PrismicToolbar.tsx +4 -4
- package/src/SliceZone.tsx +8 -5
- package/src/lib/pascalCase.ts +12 -0
- package/src/usePrismicContext.ts +2 -2
- package/src/usePrismicPreviewResolver.ts +2 -2
- package/src/useStatefulPrismicClientMethod.ts +4 -4
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
|
|
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
|
|
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?:
|
|
174
|
+
internalLinkComponent?: React.ElementType<LinkProps>;
|
|
175
175
|
/**
|
|
176
176
|
* The component rendered by `<PrismicLink>` for external URLs. Defaults to `<a>`.
|
|
177
177
|
*/
|
|
178
|
-
externalLinkComponent?:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
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(
|
|
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(
|
|
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
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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" ? "&
|
|
295
|
-
|
|
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] =
|
|
343
|
-
|
|
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
|
|
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
|
-
|
|
394
|
+
useEffect(() => {
|
|
388
395
|
if (resolvedURL && navigate) {
|
|
389
396
|
navigate(resolvedURL);
|
|
390
397
|
}
|