@prismicio/react 2.0.0-beta.5 → 2.0.0-beta.6

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
@@ -233,12 +233,13 @@ declare type PrismicTextProps = {
233
233
  * @example Rendering a Rich Text field as plain text.
234
234
  *
235
235
  * ```jsx
236
- * <PrismicText field={document.data.content} />
236
+ * <PrismicText field={document.data.content} />;
237
237
  * ```
238
238
  *
239
239
  * @param props - Props for the component.
240
240
  *
241
241
  * @returns The Rich Text field's content as plain text.
242
+ *
242
243
  * @see Learn about Rich Text fields {@link https://prismic.io/docs/core-concepts/rich-text-title}
243
244
  */
244
245
  declare const PrismicText: (props: PrismicTextProps) => JSX.Element | null;
@@ -286,12 +287,12 @@ declare type PrismicRichTextProps = {
286
287
  *
287
288
  * ```jsx
288
289
  * (type, node, content, children) => {
289
- * switch (type) {
290
- * case 'heading1': {
291
- * return <Heading>{chidlren}</Heading>
292
- * }
293
- * }
294
- * }
290
+ * switch (type) {
291
+ * case "heading1": {
292
+ * return <Heading>{chidlren}</Heading>;
293
+ * }
294
+ * }
295
+ * };
295
296
  * ```
296
297
  */
297
298
  components?: JSXMapSerializer | JSXFunctionSerializer;
@@ -327,23 +328,24 @@ declare type PrismicRichTextProps = {
327
328
  * @example Rendering a Rich Text field using the default HTMl elements.
328
329
  *
329
330
  * ```jsx
330
- * <PrismicRichText field={document.data.content} />
331
+ * <PrismicRichText field={document.data.content} />;
331
332
  * ```
332
333
  *
333
334
  * @example Rendering a Rich Text field using a custom set of React components.
334
335
  *
335
336
  * ```jsx
336
337
  * <PrismicRichText
337
- * field={document.data.content}
338
- * components={{
339
- * heading1: ({ children }) => <Heading>{children}</Heading>
340
- * }}
341
- * />
338
+ * field={document.data.content}
339
+ * components={{
340
+ * heading1: ({ children }) => <Heading>{children}</Heading>,
341
+ * }}
342
+ * />;
342
343
  * ```
343
344
  *
344
345
  * @param props - Props for the component.
345
346
  *
346
347
  * @returns The Rich Text field's content as React components.
348
+ *
347
349
  * @see Learn about Rich Text fields {@link https://prismic.io/docs/core-concepts/rich-text-title}
348
350
  * @see Learn about Rich Text serializers {@link https://prismic.io/docs/core-concepts/html-serializer}
349
351
  */
@@ -418,6 +420,35 @@ declare type SliceZoneComponents<TSlice extends SliceLike = SliceLike, TContext
418
420
  * cannot be found in `<SliceZone>`.
419
421
  */
420
422
  declare const TODOSliceComponent: <TSlice extends SliceLike<string>, TContext>({ slice, }: SliceComponentProps<TSlice, TContext>) => JSX.Element | null;
423
+ /**
424
+ * Arguments for a `<SliceZone>` `resolver` function.
425
+ */
426
+ declare type SliceZoneResolverArgs<TSlice extends SliceLike = SliceLike> = {
427
+ /**
428
+ * The Slice to resolve to a React component.
429
+ */
430
+ slice: TSlice;
431
+ /**
432
+ * The name of the Slice.
433
+ */
434
+ sliceName: TSlice["slice_type"];
435
+ /**
436
+ * The index of the Slice in the Slice Zone.
437
+ */
438
+ i: number;
439
+ };
440
+ /**
441
+ * A function that determines the rendered React component for each Slice in the
442
+ * Slice Zone. If a nullish value is returned, the component will fallback to
443
+ * the `components` or `defaultComponent` props to determine the rendered component.
444
+ *
445
+ * @deprecated Use the `components` prop instead.
446
+ *
447
+ * @param args - Arguments for the resolver function.
448
+ *
449
+ * @returns The React component to render for a Slice.
450
+ */
451
+ declare type SliceZoneResolver<TSlice extends SliceLike = SliceLike, TContext = unknown> = (args: SliceZoneResolverArgs<TSlice>) => SliceComponentType<TSlice, TContext> | undefined | null;
421
452
  /**
422
453
  * React props for the `<SliceZone>` component.
423
454
  *
@@ -433,6 +464,17 @@ declare type SliceZoneProps<TSlice extends SliceLike = SliceLike, TContext = unk
433
464
  * A record mapping Slice types to React components.
434
465
  */
435
466
  components?: SliceZoneComponents<TSlice, TContext>;
467
+ /**
468
+ * A function that determines the rendered React component for each Slice in
469
+ * the Slice Zone.
470
+ *
471
+ * @deprecated Use the `components` prop instead.
472
+ *
473
+ * @param args - Arguments for the resolver function.
474
+ *
475
+ * @returns The React component to render for a Slice.
476
+ */
477
+ resolver?: SliceZoneResolver<TSlice, TContext>;
436
478
  /**
437
479
  * The React component rendered if a component mapping from the `components`
438
480
  * prop cannot be found.
@@ -453,10 +495,12 @@ declare type SliceZoneProps<TSlice extends SliceLike = SliceLike, TContext = unk
453
495
  *
454
496
  * @typeParam TSlice - The type(s) of a Slice in the Slice Zone.
455
497
  * @typeParam TContext - Arbitrary data made available to all Slice components.
498
+ *
456
499
  * @returns The Slice Zone's content as React components.
500
+ *
457
501
  * @see Learn about Prismic Slices and Slice Zones {@link https://prismic.io/docs/core-concepts/slices}
458
502
  */
459
- declare const SliceZone: <TSlice extends SliceLike<string>, TContext>({ slices, components, defaultComponent, context, }: SliceZoneProps<TSlice, TContext>) => JSX.Element;
503
+ declare const SliceZone: <TSlice extends SliceLike<string>, TContext>({ slices, components, resolver, defaultComponent, context, }: SliceZoneProps<TSlice, TContext>) => JSX.Element;
460
504
 
461
505
  /**
462
506
  * Props for `<PrismicToolbar>`.
@@ -554,10 +598,13 @@ declare const usePrismicPreviewResolver: (args?: UsePrismicPreviewResolverArgs)
554
598
  *
555
599
  * @remarks
556
600
  * An additional `@prismicio/client` instance can be provided at `params.client`.
601
+ *
557
602
  * @typeParam TDocument - Type of Prismic documents returned
603
+ *
558
604
  * @param params - Parameters to filter, sort, and paginate results
559
605
  *
560
606
  * @returns The composable payload {@link ClientHookReturnType}
607
+ *
561
608
  * @see Underlying `@prismicio/client` method {@link proto.get}
562
609
  */
563
610
  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>>;
@@ -567,10 +614,13 @@ declare const usePrismicDocuments: <TDocument extends prismicT.PrismicDocument<R
567
614
  *
568
615
  * @remarks
569
616
  * An additional `@prismicio/client` instance can be provided at `params.client`.
617
+ *
570
618
  * @typeParam TDocument - Type of the Prismic document returned
619
+ *
571
620
  * @param params - Parameters to filter, sort, and paginate results
572
621
  *
573
622
  * @returns The composable payload {@link ClientHookReturnType}
623
+ *
574
624
  * @see Underlying `@prismicio/client` method {@link proto.getFirst}
575
625
  */
576
626
  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>;
@@ -580,10 +630,13 @@ declare const useFirstPrismicDocument: <TDocument extends prismicT.PrismicDocume
580
630
  *
581
631
  * @remarks
582
632
  * An additional `@prismicio/client` instance can be provided at `params.client`.
633
+ *
583
634
  * @typeParam TDocument - Type of Prismic documents returned
635
+ *
584
636
  * @param params - Parameters to filter and sort results
585
637
  *
586
638
  * @returns The composable payload {@link ClientHookReturnType}
639
+ *
587
640
  * @see Underlying `@prismicio/client` method {@link proto.getAll}
588
641
  */
589
642
  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">> & {
@@ -594,11 +647,14 @@ declare const useAllPrismicDocumentsDangerously: <TDocument extends prismicT.Pri
594
647
  *
595
648
  * @remarks
596
649
  * An additional `@prismicio/client` instance can be provided at `params.client`.
650
+ *
597
651
  * @typeParam TDocument - Type of the Prismic document returned
652
+ *
598
653
  * @param id - ID of the document
599
654
  * @param params - Parameters to filter, sort, and paginate results
600
655
  *
601
656
  * @returns The composable payload {@link ClientHookReturnType}
657
+ *
602
658
  * @see Underlying `@prismicio/client` method {@link proto.getByID}
603
659
  */
604
660
  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>;
@@ -607,11 +663,14 @@ declare const usePrismicDocumentByID: <TDocument extends prismicT.PrismicDocumen
607
663
  *
608
664
  * @remarks
609
665
  * An additional `@prismicio/client` instance can be provided at `params.client`.
666
+ *
610
667
  * @typeParam TDocument - Type of Prismic documents returned
668
+ *
611
669
  * @param ids - A list of document IDs
612
670
  * @param params - Parameters to filter, sort, and paginate results
613
671
  *
614
672
  * @returns The composable payload {@link ClientHookReturnType}
673
+ *
615
674
  * @see Underlying `@prismicio/client` method {@link proto.getByIDs}
616
675
  */
617
676
  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>>;
@@ -620,11 +679,14 @@ declare const usePrismicDocumentsByIDs: <TDocument extends prismicT.PrismicDocum
620
679
  *
621
680
  * @remarks
622
681
  * An additional `@prismicio/client` instance can be provided at `params.client`.
682
+ *
623
683
  * @typeParam TDocument - Type of Prismic documents returned
684
+ *
624
685
  * @param ids - A list of document IDs
625
686
  * @param params - Parameters to filter and sort results
626
687
  *
627
688
  * @returns The composable payload {@link ClientHookReturnType}
689
+ *
628
690
  * @see Underlying `@prismicio/client` method {@link proto.getAllByIDs}
629
691
  */
630
692
  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[]>;
@@ -634,12 +696,15 @@ declare const useAllPrismicDocumentsByIDs: <TDocument extends prismicT.PrismicDo
634
696
  *
635
697
  * @remarks
636
698
  * An additional `@prismicio/client` instance can be provided at `params.client`.
699
+ *
637
700
  * @typeParam TDocument - Type of the Prismic document returned
701
+ *
638
702
  * @param documentType - The API ID of the document's Custom Type
639
703
  * @param uid - UID of the document
640
704
  * @param params - Parameters to filter, sort, and paginate results
641
705
  *
642
706
  * @returns The composable payload {@link ClientHookReturnType}
707
+ *
643
708
  * @see Underlying `@prismicio/client` method {@link proto.getByUID}
644
709
  */
645
710
  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>;
@@ -649,12 +714,15 @@ declare const usePrismicDocumentByUID: <TDocument extends prismicT.PrismicDocume
649
714
  *
650
715
  * @remarks
651
716
  * An additional `@prismicio/client` instance can be provided at `params.client`.
717
+ *
652
718
  * @typeParam TDocument - Type of the Prismic document returned
719
+ *
653
720
  * @param documentType - The API ID of the document's Custom Type
654
721
  * @param uids - A list of document UIDs.
655
722
  * @param params - Parameters to filter, sort, and paginate results
656
723
  *
657
724
  * @returns The composable payload {@link ClientHookReturnType}
725
+ *
658
726
  * @see Underlying `@prismicio/client` method {@link proto.getByUID}
659
727
  */
660
728
  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>>;
@@ -664,12 +732,15 @@ declare const usePrismicDocumentsByUIDs: <TDocument extends prismicT.PrismicDocu
664
732
  *
665
733
  * @remarks
666
734
  * An additional `@prismicio/client` instance can be provided at `params.client`.
735
+ *
667
736
  * @typeParam TDocument - Type of the Prismic document returned
737
+ *
668
738
  * @param documentType - The API ID of the document's Custom Type
669
739
  * @param uids - A list of document UIDs.
670
740
  * @param params - Parameters to filter, sort, and paginate results
671
741
  *
672
742
  * @returns The composable payload {@link ClientHookReturnType}
743
+ *
673
744
  * @see Underlying `@prismicio/client` method {@link proto.getByUID}
674
745
  */
675
746
  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[]>;
@@ -679,11 +750,14 @@ declare const useAllPrismicDocumentsByUIDs: <TDocument extends prismicT.PrismicD
679
750
  *
680
751
  * @remarks
681
752
  * An additional `@prismicio/client` instance can be provided at `params.client`.
753
+ *
682
754
  * @typeParam TDocument - Type of the Prismic document returned
755
+ *
683
756
  * @param documentType - The API ID of the singleton Custom Type
684
757
  * @param params - Parameters to filter, sort, and paginate results
685
758
  *
686
759
  * @returns The composable payload {@link ClientHookReturnType}
760
+ *
687
761
  * @see Underlying `@prismicio/client` method {@link proto.getSingle}
688
762
  */
689
763
  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>;
@@ -692,11 +766,14 @@ declare const useSinglePrismicDocument: <TDocument extends prismicT.PrismicDocum
692
766
  *
693
767
  * @remarks
694
768
  * An additional `@prismicio/client` instance can be provided at `params.client`.
769
+ *
695
770
  * @typeParam TDocument - Type of Prismic documents returned
771
+ *
696
772
  * @param documentType - The API ID of the Custom Type
697
773
  * @param params - Parameters to filter, sort, and paginate results
698
774
  *
699
775
  * @returns The composable payload {@link ClientHookReturnType}
776
+ *
700
777
  * @see Underlying `@prismicio/client` method {@link proto.getByType}
701
778
  */
702
779
  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>>;
@@ -706,11 +783,14 @@ declare const usePrismicDocumentsByType: <TDocument extends prismicT.PrismicDocu
706
783
  *
707
784
  * @remarks
708
785
  * An additional `@prismicio/client` instance can be provided at `params.client`.
786
+ *
709
787
  * @typeParam TDocument - Type of Prismic documents returned
788
+ *
710
789
  * @param documentType - The API ID of the Custom Type
711
790
  * @param params - Parameters to filter and sort results
712
791
  *
713
792
  * @returns The composable payload {@link ClientHookReturnType}
793
+ *
714
794
  * @see Underlying `@prismicio/client` method {@link proto.getAllByType}
715
795
  */
716
796
  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[]>;
@@ -719,11 +799,14 @@ declare const useAllPrismicDocumentsByType: <TDocument extends prismicT.PrismicD
719
799
  *
720
800
  * @remarks
721
801
  * An additional `@prismicio/client` instance can be provided at `params.client`.
802
+ *
722
803
  * @typeParam TDocument - Type of Prismic documents returned
804
+ *
723
805
  * @param tag - The tag that must be included on a document
724
806
  * @param params - Parameters to filter, sort, and paginate results
725
807
  *
726
808
  * @returns The composable payload {@link ClientHookReturnType}
809
+ *
727
810
  * @see Underlying `@prismicio/client` method {@link proto.getByTag}
728
811
  */
729
812
  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>>;
@@ -732,11 +815,14 @@ declare const usePrismicDocumentsByTag: <TDocument extends prismicT.PrismicDocum
732
815
  *
733
816
  * @remarks
734
817
  * An additional `@prismicio/client` instance can be provided at `params.client`.
818
+ *
735
819
  * @typeParam TDocument - Type of Prismic documents returned
820
+ *
736
821
  * @param tag - The tag that must be included on a document
737
822
  * @param params - Parameters to filter and sort results
738
823
  *
739
824
  * @returns The composable payload {@link ClientHookReturnType}
825
+ *
740
826
  * @see Underlying `@prismicio/client` method {@link proto.getAllByTag}
741
827
  */
742
828
  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[]>;
@@ -746,11 +832,14 @@ declare const useAllPrismicDocumentsByTag: <TDocument extends prismicT.PrismicDo
746
832
  *
747
833
  * @remarks
748
834
  * An additional `@prismicio/client` instance can be provided at `params.client`.
835
+ *
749
836
  * @typeParam TDocument - Type of Prismic documents returned
837
+ *
750
838
  * @param tags - A list of tags that must be included on a document
751
839
  * @param params - Parameters to filter, sort, and paginate results
752
840
  *
753
841
  * @returns The composable payload {@link ClientHookReturnType}
842
+ *
754
843
  * @see Underlying `@prismicio/client` method {@link proto.getByTags}
755
844
  */
756
845
  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>>;
@@ -760,11 +849,14 @@ declare const usePrismicDocumentsBySomeTags: <TDocument extends prismicT.Prismic
760
849
  *
761
850
  * @remarks
762
851
  * An additional `@prismicio/client` instance can be provided at `params.client`.
852
+ *
763
853
  * @typeParam TDocument - Type of Prismic documents returned
854
+ *
764
855
  * @param tags - A list of tags that must be included on a document
765
856
  * @param params - Parameters to filter and sort results
766
857
  *
767
858
  * @returns The composable payload {@link ClientHookReturnType}
859
+ *
768
860
  * @see Underlying `@prismicio/client` method {@link proto.getAllByTags}
769
861
  */
770
862
  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[]>;
@@ -774,11 +866,14 @@ declare const useAllPrismicDocumentsBySomeTags: <TDocument extends prismicT.Pris
774
866
  *
775
867
  * @remarks
776
868
  * An additional `@prismicio/client` instance can be provided at `params.client`.
869
+ *
777
870
  * @typeParam TDocument - Type of Prismic documents returned
871
+ *
778
872
  * @param tags - A list of tags that must be included on a document
779
873
  * @param params - Parameters to filter, sort, and paginate results
780
874
  *
781
875
  * @returns The composable payload {@link ClientHookReturnType}
876
+ *
782
877
  * @see Underlying `@prismicio/client` method {@link proto.getByTags}
783
878
  */
784
879
  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>>;
@@ -788,13 +883,16 @@ declare const usePrismicDocumentsByEveryTag: <TDocument extends prismicT.Prismic
788
883
  *
789
884
  * @remarks
790
885
  * An additional `@prismicio/client` instance can be provided at `params.client`.
886
+ *
791
887
  * @typeParam TDocument - Type of Prismic documents returned
888
+ *
792
889
  * @param tags - A list of tags that must be included on a document
793
890
  * @param params - Parameters to filter and sort results
794
891
  *
795
892
  * @returns The composable payload {@link ClientHookReturnType}
893
+ *
796
894
  * @see Underlying `@prismicio/client` method {@link proto.getAllByTags}
797
895
  */
798
896
  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[]>;
799
897
 
800
- export { JSXFunctionSerializer, JSXMapSerializer, LinkProps, PrismicClientHookState, PrismicContextValue, PrismicLink, PrismicLinkProps, PrismicProvider, PrismicProviderProps, PrismicRichText, PrismicRichTextProps, PrismicText, PrismicTextProps, PrismicToolbar, PrismicToolbarProps, SliceComponentProps, SliceComponentType, SliceLike, SliceZone, SliceZoneComponents, SliceZoneLike, SliceZoneProps, TODOSliceComponent, UsePrismicPreviewResolverArgs, useAllPrismicDocumentsByEveryTag, useAllPrismicDocumentsByIDs, useAllPrismicDocumentsBySomeTags, useAllPrismicDocumentsByTag, useAllPrismicDocumentsByType, useAllPrismicDocumentsByUIDs, useAllPrismicDocumentsDangerously, useFirstPrismicDocument, usePrismicClient, usePrismicContext, usePrismicDocumentByID, usePrismicDocumentByUID, usePrismicDocuments, usePrismicDocumentsByEveryTag, usePrismicDocumentsByIDs, usePrismicDocumentsBySomeTags, usePrismicDocumentsByTag, usePrismicDocumentsByType, usePrismicDocumentsByUIDs, usePrismicPreviewResolver, useSinglePrismicDocument };
898
+ export { JSXFunctionSerializer, JSXMapSerializer, LinkProps, PrismicClientHookState, PrismicContextValue, PrismicLink, PrismicLinkProps, PrismicProvider, PrismicProviderProps, PrismicRichText, PrismicRichTextProps, PrismicText, PrismicTextProps, PrismicToolbar, PrismicToolbarProps, SliceComponentProps, SliceComponentType, SliceLike, SliceZone, SliceZoneComponents, SliceZoneLike, SliceZoneProps, SliceZoneResolver, TODOSliceComponent, UsePrismicPreviewResolverArgs, useAllPrismicDocumentsByEveryTag, useAllPrismicDocumentsByIDs, useAllPrismicDocumentsBySomeTags, useAllPrismicDocumentsByTag, useAllPrismicDocumentsByType, useAllPrismicDocumentsByUIDs, useAllPrismicDocumentsDangerously, useFirstPrismicDocument, usePrismicClient, usePrismicContext, usePrismicDocumentByID, usePrismicDocumentByUID, usePrismicDocuments, usePrismicDocumentsByEveryTag, usePrismicDocumentsByIDs, usePrismicDocumentsBySomeTags, usePrismicDocumentsByTag, usePrismicDocumentsByType, usePrismicDocumentsByUIDs, usePrismicPreviewResolver, useSinglePrismicDocument };
package/dist/index.mjs CHANGED
@@ -255,12 +255,23 @@ const TODOSliceComponent = __PRODUCTION__ ? () => null : ({
255
255
  const SliceZone = ({
256
256
  slices = [],
257
257
  components = {},
258
+ resolver,
258
259
  defaultComponent = TODOSliceComponent,
259
260
  context = {}
260
261
  }) => {
261
262
  const renderedSlices = React.useMemo(() => {
262
263
  return slices.map((slice, index) => {
263
- const Comp = components[slice.slice_type] || defaultComponent;
264
+ let Comp = components[slice.slice_type] || defaultComponent;
265
+ if (resolver) {
266
+ const resolvedComp = resolver({
267
+ slice,
268
+ sliceName: slice.slice_type,
269
+ i: index
270
+ });
271
+ if (resolvedComp) {
272
+ Comp = resolvedComp;
273
+ }
274
+ }
264
275
  const key = JSON.stringify(slice);
265
276
  return /* @__PURE__ */ React.createElement(Comp, {
266
277
  key,