@prismicio/react 2.5.0 → 2.5.2

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.
Files changed (103) hide show
  1. package/dist/PrismicImage.cjs +67 -0
  2. package/dist/PrismicImage.cjs.map +1 -0
  3. package/dist/PrismicImage.d.ts +163 -0
  4. package/dist/PrismicImage.js +49 -0
  5. package/dist/PrismicImage.js.map +1 -0
  6. package/dist/PrismicLink.cjs +91 -0
  7. package/dist/PrismicLink.cjs.map +1 -0
  8. package/dist/PrismicLink.d.ts +105 -0
  9. package/dist/PrismicLink.js +73 -0
  10. package/dist/PrismicLink.js.map +1 -0
  11. package/dist/PrismicProvider.cjs +41 -0
  12. package/dist/PrismicProvider.cjs.map +1 -0
  13. package/dist/PrismicProvider.d.ts +84 -0
  14. package/dist/PrismicProvider.js +24 -0
  15. package/dist/PrismicProvider.js.map +1 -0
  16. package/dist/PrismicRichText.cjs +97 -0
  17. package/dist/PrismicRichText.cjs.map +1 -0
  18. package/dist/PrismicRichText.d.ts +116 -0
  19. package/dist/PrismicRichText.js +78 -0
  20. package/dist/PrismicRichText.js.map +1 -0
  21. package/dist/PrismicText.cjs +42 -0
  22. package/dist/PrismicText.cjs.map +1 -0
  23. package/dist/PrismicText.d.ts +39 -0
  24. package/dist/PrismicText.js +24 -0
  25. package/dist/PrismicText.js.map +1 -0
  26. package/dist/PrismicToolbar.cjs +41 -0
  27. package/dist/PrismicToolbar.cjs.map +1 -0
  28. package/dist/PrismicToolbar.d.ts +21 -0
  29. package/dist/PrismicToolbar.js +24 -0
  30. package/dist/PrismicToolbar.js.map +1 -0
  31. package/dist/SliceZone.cjs +58 -0
  32. package/dist/SliceZone.cjs.map +1 -0
  33. package/dist/SliceZone.d.ts +188 -0
  34. package/dist/SliceZone.js +41 -0
  35. package/dist/SliceZone.js.map +1 -0
  36. package/dist/clientHooks.cjs +40 -0
  37. package/dist/clientHooks.cjs.map +1 -0
  38. package/dist/clientHooks.d.ts +357 -0
  39. package/dist/clientHooks.js +40 -0
  40. package/dist/clientHooks.js.map +1 -0
  41. package/dist/index.cjs +46 -574
  42. package/dist/index.cjs.map +1 -1
  43. package/dist/index.d.ts +23 -1267
  44. package/dist/index.js +46 -519
  45. package/dist/index.js.map +1 -1
  46. package/dist/lib/__PRODUCTION__.cjs +8 -0
  47. package/dist/lib/__PRODUCTION__.cjs.map +1 -0
  48. package/dist/lib/__PRODUCTION__.d.ts +7 -0
  49. package/dist/lib/__PRODUCTION__.js +8 -0
  50. package/dist/lib/__PRODUCTION__.js.map +1 -0
  51. package/dist/lib/devMsg.cjs +8 -0
  52. package/dist/lib/devMsg.cjs.map +1 -0
  53. package/dist/lib/devMsg.d.ts +16 -0
  54. package/dist/lib/devMsg.js +8 -0
  55. package/dist/lib/devMsg.js.map +1 -0
  56. package/dist/lib/invariant.cjs +15 -0
  57. package/dist/lib/invariant.cjs.map +1 -0
  58. package/dist/lib/invariant.d.ts +24 -0
  59. package/dist/lib/invariant.js +15 -0
  60. package/dist/lib/invariant.js.map +1 -0
  61. package/dist/lib/isInternalURL.cjs +9 -0
  62. package/dist/lib/isInternalURL.cjs.map +1 -0
  63. package/dist/lib/isInternalURL.d.ts +8 -0
  64. package/dist/lib/isInternalURL.js +9 -0
  65. package/dist/lib/isInternalURL.js.map +1 -0
  66. package/dist/lib/pascalCase.cjs +10 -0
  67. package/dist/lib/pascalCase.cjs.map +1 -0
  68. package/dist/lib/pascalCase.d.ts +26 -0
  69. package/dist/lib/pascalCase.js +10 -0
  70. package/dist/lib/pascalCase.js.map +1 -0
  71. package/dist/package.json.cjs +5 -0
  72. package/dist/package.json.cjs.map +1 -0
  73. package/dist/package.json.js +5 -0
  74. package/dist/package.json.js.map +1 -0
  75. package/dist/types.d.ts +19 -0
  76. package/dist/usePrismicClient.cjs +12 -0
  77. package/dist/usePrismicClient.cjs.map +1 -0
  78. package/dist/usePrismicClient.d.ts +11 -0
  79. package/dist/usePrismicClient.js +12 -0
  80. package/dist/usePrismicClient.js.map +1 -0
  81. package/dist/usePrismicContext.cjs +26 -0
  82. package/dist/usePrismicContext.cjs.map +1 -0
  83. package/dist/usePrismicContext.d.ts +8 -0
  84. package/dist/usePrismicContext.js +9 -0
  85. package/dist/usePrismicContext.js.map +1 -0
  86. package/dist/usePrismicPreviewResolver.cjs +44 -0
  87. package/dist/usePrismicPreviewResolver.cjs.map +1 -0
  88. package/dist/usePrismicPreviewResolver.d.ts +45 -0
  89. package/dist/usePrismicPreviewResolver.js +27 -0
  90. package/dist/usePrismicPreviewResolver.js.map +1 -0
  91. package/dist/useStatefulPrismicClientMethod.cjs +89 -0
  92. package/dist/useStatefulPrismicClientMethod.cjs.map +1 -0
  93. package/dist/useStatefulPrismicClientMethod.d.ts +44 -0
  94. package/dist/useStatefulPrismicClientMethod.js +72 -0
  95. package/dist/useStatefulPrismicClientMethod.js.map +1 -0
  96. package/package.json +43 -41
  97. package/src/PrismicImage.tsx +2 -1
  98. package/src/PrismicLink.tsx +0 -1
  99. package/src/PrismicProvider.tsx +6 -3
  100. package/src/PrismicText.tsx +2 -1
  101. package/src/SliceZone.tsx +8 -4
  102. package/src/clientHooks.ts +52 -44
  103. package/src/useStatefulPrismicClientMethod.ts +2 -1
package/dist/index.js CHANGED
@@ -1,521 +1,48 @@
1
- import * as React from 'react';
2
- import * as prismicH from '@prismicio/helpers';
3
- import * as prismicR from '@prismicio/richtext';
4
- import { Element } from '@prismicio/richtext';
5
- export { Element } from '@prismicio/richtext';
6
-
7
- const PrismicContext = React.createContext({});
8
- const PrismicProvider = ({
9
- client,
10
- linkResolver,
11
- richTextComponents,
12
- internalLinkComponent,
13
- externalLinkComponent,
14
- children
15
- }) => {
16
- const value = React.useMemo(() => ({
17
- client,
18
- linkResolver,
19
- richTextComponents,
20
- internalLinkComponent,
21
- externalLinkComponent
22
- }), [
23
- client,
24
- linkResolver,
25
- richTextComponents,
26
- internalLinkComponent,
27
- externalLinkComponent
28
- ]);
29
- return /* @__PURE__ */ React.createElement(PrismicContext.Provider, {
30
- value
31
- }, children);
32
- };
33
-
34
- const usePrismicContext = () => {
35
- return React.useContext(PrismicContext) || {};
36
- };
37
-
38
- if (typeof process === "undefined") {
39
- globalThis.process = { env: {} };
40
- }
41
- const __PRODUCTION__ = process.env.NODE_ENV === "production";
42
-
43
- const prefix = "Invariant failed";
44
- function invariant(condition, message) {
45
- if (condition) {
46
- return;
47
- }
48
- if (__PRODUCTION__) {
49
- throw new Error(prefix);
50
- }
51
- throw new Error(`${prefix}: ${message || ""}`);
52
- }
53
-
54
- const usePrismicClient = (explicitClient) => {
55
- const context = usePrismicContext();
56
- const client = explicitClient || (context == null ? void 0 : context.client);
57
- invariant(client, "A @prismicio/client is required to query documents. Provide a client to the hook or to a <PrismicProvider> higher in your component tree.");
58
- return client;
59
- };
60
-
61
- var version = "2.5.0";
62
-
63
- const devMsg = (slug) => {
64
- return `https://prismic.dev/msg/react/v${version}/${slug}`;
65
- };
66
-
67
- const isInternalURL = (url) => {
68
- const isInternal = /^(\/(?!\/)|#)/.test(url);
69
- const isSpecialLink = !isInternal && !/^https?:\/\//.test(url);
70
- return isInternal && !isSpecialLink;
71
- };
72
-
73
- const defaultInternalComponent = "a";
74
- const defaultExternalComponent = "a";
75
- const _PrismicLink = (props, ref) => {
76
- const context = usePrismicContext();
77
- if (!__PRODUCTION__) {
78
- if ("field" in props && props.field) {
79
- if (!props.field.link_type) {
80
- console.error(`[PrismicLink] This "field" prop value caused an error to be thrown.
81
- `, props.field);
82
- throw new Error(`[PrismicLink] The provided field is missing required properties to properly render a link. The link will not render. For more details, see ${devMsg("missing-link-properties")}`);
83
- } else if (Object.keys(props.field).length > 1 && !("url" in props.field || "uid" in props.field || "id" in props.field)) {
84
- console.warn(`[PrismicLink] The provided field is missing required properties to properly render a link. The link may not render correctly. For more details, see ${devMsg("missing-link-properties")}`, props.field);
85
- }
86
- } else if ("document" in props && props.document) {
87
- if (!("url" in props.document || "id" in props.document)) {
88
- console.warn(`[PrismicLink] The provided document is missing required properties to properly render a link. The link may not render correctly. For more details, see ${devMsg("missing-link-properties")}`, props.document);
89
- }
90
- }
91
- }
92
- const linkResolver = props.linkResolver || context.linkResolver;
93
- let href;
94
- if ("href" in props) {
95
- href = props.href;
96
- } else if ("document" in props && props.document) {
97
- href = prismicH.asLink(props.document, linkResolver);
98
- } else if ("field" in props && props.field) {
99
- href = prismicH.asLink(props.field, linkResolver);
100
- }
101
- const isInternal = href && isInternalURL(href);
102
- const target = props.target || "field" in props && props.field && "target" in props.field && props.field.target || !isInternal && "_blank" || void 0;
103
- const rel = props.rel || (target === "_blank" ? "noopener noreferrer" : void 0);
104
- const InternalComponent = props.internalComponent || context.internalLinkComponent || defaultInternalComponent;
105
- const ExternalComponent = props.externalComponent || context.externalLinkComponent || defaultExternalComponent;
106
- const Component = isInternal ? InternalComponent : ExternalComponent;
107
- const passthroughProps = Object.assign({}, props);
108
- delete passthroughProps.linkResolver;
109
- delete passthroughProps.internalComponent;
110
- delete passthroughProps.externalComponent;
111
- delete passthroughProps.rel;
112
- delete passthroughProps.target;
113
- if ("field" in passthroughProps) {
114
- delete passthroughProps.field;
115
- } else if ("document" in passthroughProps) {
116
- delete passthroughProps.document;
117
- } else if ("href" in passthroughProps) {
118
- delete passthroughProps.href;
119
- }
120
- return href ? /* @__PURE__ */ React.createElement(Component, {
121
- ...passthroughProps,
122
- ref,
123
- href,
124
- target,
125
- rel
126
- }) : null;
127
- };
128
- if (!__PRODUCTION__) {
129
- _PrismicLink.displayName = "PrismicLink";
130
- }
131
- const PrismicLink = React.forwardRef(_PrismicLink);
132
-
133
- const PrismicText = (props) => {
134
- if (!__PRODUCTION__) {
135
- if (typeof props.field === "string") {
136
- throw new Error(`[PrismicText] The "field" prop only accepts a Rich Text or Title field's value but was provided a different type of field instead (e.g. a Key Text or Select field). You can resolve this error by rendering the field value inline without <PrismicText>. For more details, see ${devMsg("prismictext-works-only-with-rich-text-and-title-fields")}`);
137
- }
138
- }
139
- return React.useMemo(() => {
140
- if (prismicH.isFilled.richText(props.field)) {
141
- const text = prismicH.asText(props.field, props.separator);
142
- return /* @__PURE__ */ React.createElement(React.Fragment, null, text);
143
- } else {
144
- return props.fallback != null ? /* @__PURE__ */ React.createElement(React.Fragment, null, props.fallback) : null;
145
- }
146
- }, [props.field, props.fallback, props.separator]);
147
- };
148
-
149
- const createDefaultSerializer = (args) => prismicR.wrapMapSerializer({
150
- heading1: ({ children, key }) => /* @__PURE__ */ React.createElement("h1", {
151
- key
152
- }, children),
153
- heading2: ({ children, key }) => /* @__PURE__ */ React.createElement("h2", {
154
- key
155
- }, children),
156
- heading3: ({ children, key }) => /* @__PURE__ */ React.createElement("h3", {
157
- key
158
- }, children),
159
- heading4: ({ children, key }) => /* @__PURE__ */ React.createElement("h4", {
160
- key
161
- }, children),
162
- heading5: ({ children, key }) => /* @__PURE__ */ React.createElement("h5", {
163
- key
164
- }, children),
165
- heading6: ({ children, key }) => /* @__PURE__ */ React.createElement("h6", {
166
- key
167
- }, children),
168
- paragraph: ({ children, key }) => /* @__PURE__ */ React.createElement("p", {
169
- key
170
- }, children),
171
- preformatted: ({ node, key }) => /* @__PURE__ */ React.createElement("pre", {
172
- key
173
- }, node.text),
174
- strong: ({ children, key }) => /* @__PURE__ */ React.createElement("strong", {
175
- key
176
- }, children),
177
- em: ({ children, key }) => /* @__PURE__ */ React.createElement("em", {
178
- key
179
- }, children),
180
- listItem: ({ children, key }) => /* @__PURE__ */ React.createElement("li", {
181
- key
182
- }, children),
183
- oListItem: ({ children, key }) => /* @__PURE__ */ React.createElement("li", {
184
- key
185
- }, children),
186
- list: ({ children, key }) => /* @__PURE__ */ React.createElement("ul", {
187
- key
188
- }, children),
189
- oList: ({ children, key }) => /* @__PURE__ */ React.createElement("ol", {
190
- key
191
- }, children),
192
- image: ({ node, key }) => {
193
- var _a;
194
- const img = /* @__PURE__ */ React.createElement("img", {
195
- src: node.url,
196
- alt: (_a = node.alt) != null ? _a : void 0,
197
- "data-copyright": node.copyright ? node.copyright : void 0
198
- });
199
- return /* @__PURE__ */ React.createElement("p", {
200
- key,
201
- className: "block-img"
202
- }, node.linkTo ? /* @__PURE__ */ React.createElement(PrismicLink, {
203
- linkResolver: args.linkResolver,
204
- internalComponent: args.internalLinkComponent,
205
- externalComponent: args.externalLinkComponent,
206
- field: node.linkTo
207
- }, img) : img);
208
- },
209
- embed: ({ node, key }) => {
210
- var _a;
211
- return /* @__PURE__ */ React.createElement("div", {
212
- key,
213
- "data-oembed": node.oembed.embed_url,
214
- "data-oembed-type": node.oembed.type,
215
- "data-oembed-provider": node.oembed.provider_name,
216
- dangerouslySetInnerHTML: { __html: (_a = node.oembed.html) != null ? _a : "" }
217
- });
218
- },
219
- hyperlink: ({ node, children, key }) => /* @__PURE__ */ React.createElement(PrismicLink, {
220
- key,
221
- field: node.data,
222
- linkResolver: args.linkResolver,
223
- internalComponent: args.internalLinkComponent,
224
- externalComponent: args.externalLinkComponent
225
- }, children),
226
- label: ({ node, children, key }) => /* @__PURE__ */ React.createElement("span", {
227
- key,
228
- className: node.data.label
229
- }, children),
230
- span: ({ text, key }) => {
231
- const result = [];
232
- let i = 0;
233
- for (const line of text.split("\n")) {
234
- if (i > 0) {
235
- result.push(/* @__PURE__ */ React.createElement("br", {
236
- key: `${i}__break`
237
- }));
238
- }
239
- result.push(/* @__PURE__ */ React.createElement(React.Fragment, {
240
- key: `${i}__line`
241
- }, line));
242
- i++;
243
- }
244
- return /* @__PURE__ */ React.createElement(React.Fragment, {
245
- key
246
- }, result);
247
- }
248
- });
249
- const PrismicRichText = (props) => {
250
- const context = usePrismicContext();
251
- return React.useMemo(() => {
252
- if (prismicH.isFilled.richText(props.field)) {
253
- const linkResolver = props.linkResolver || context.linkResolver;
254
- const serializer = prismicR.composeSerializers(typeof props.components === "object" ? prismicR.wrapMapSerializer(props.components) : props.components, typeof context.richTextComponents === "object" ? prismicR.wrapMapSerializer(context.richTextComponents) : context.richTextComponents, createDefaultSerializer({
255
- linkResolver,
256
- internalLinkComponent: props.internalLinkComponent,
257
- externalLinkComponent: props.externalLinkComponent
258
- }));
259
- const serialized = prismicR.serialize(props.field, (type, node, text, children, key) => {
260
- const result = serializer(type, node, text, children, key);
261
- if (React.isValidElement(result) && result.key == null) {
262
- return React.cloneElement(result, { key });
263
- } else {
264
- return result;
265
- }
266
- });
267
- return /* @__PURE__ */ React.createElement(React.Fragment, null, serialized);
268
- } else {
269
- return props.fallback != null ? /* @__PURE__ */ React.createElement(React.Fragment, null, props.fallback) : null;
270
- }
271
- }, [
272
- props.field,
273
- props.internalLinkComponent,
274
- props.externalLinkComponent,
275
- props.components,
276
- props.linkResolver,
277
- props.fallback,
278
- context.linkResolver,
279
- context.richTextComponents
280
- ]);
281
- };
282
-
283
- const _PrismicImage = (props, ref) => {
284
- const {
285
- field,
286
- alt,
287
- fallbackAlt,
288
- imgixParams,
289
- widths,
290
- pixelDensities,
291
- ...restProps
292
- } = props;
293
- if (!__PRODUCTION__) {
294
- if (typeof alt === "string" && props.alt !== "") {
295
- console.warn(`[PrismicImage] The "alt" prop can only be used to declare an image as decorative by passing an empty string (alt="") but was provided a non-empty string. You can resolve this warning by removing the "alt" prop or changing it to alt="". For more details, see ${devMsg("alt-must-be-an-empty-string")}`);
296
- }
297
- if (typeof fallbackAlt === "string" && fallbackAlt !== "") {
298
- console.warn(`[PrismicImage] The "fallbackAlt" prop can only be used to declare an image as decorative by passing an empty string (fallbackAlt="") but was provided a non-empty string. You can resolve this warning by removing the "fallbackAlt" prop or changing it to fallbackAlt="". For more details, see ${devMsg("alt-must-be-an-empty-string")}`);
299
- }
300
- if (widths && pixelDensities) {
301
- console.warn(`[PrismicImage] Only one of "widths" or "pixelDensities" props can be provided. You can resolve this warning by removing either the "widths" or "pixelDensities" prop. "widths" will be used in this case.`);
302
- }
303
- }
304
- if (prismicH.isFilled.imageThumbnail(field)) {
305
- let src;
306
- let srcSet;
307
- if (widths || !pixelDensities) {
308
- const res = prismicH.asImageWidthSrcSet(field, {
309
- ...imgixParams,
310
- widths: widths === "defaults" ? void 0 : widths
311
- });
312
- src = res.src;
313
- srcSet = res.srcset;
314
- } else if (pixelDensities) {
315
- const res = prismicH.asImagePixelDensitySrcSet(field, {
316
- ...imgixParams,
317
- pixelDensities: pixelDensities === "defaults" ? void 0 : pixelDensities
318
- });
319
- src = res.src;
320
- srcSet = res.srcset;
321
- }
322
- return /* @__PURE__ */ React.createElement("img", {
323
- ref,
324
- src,
325
- srcSet,
326
- alt: alt != null ? alt : field.alt || fallbackAlt,
327
- ...restProps
328
- });
329
- } else {
330
- return null;
331
- }
332
- };
333
- if (!__PRODUCTION__) {
334
- _PrismicImage.displayName = "PrismicImage";
335
- }
336
- const PrismicImage = React.forwardRef(_PrismicImage);
337
-
338
- const pascalCase = (input) => {
339
- const camelCased = input.replace(/(?:-|_)(\w)/g, (_, c) => {
340
- return c ? c.toUpperCase() : "";
341
- });
342
- return camelCased[0].toUpperCase() + camelCased.slice(1);
343
- };
344
-
345
- const TODOSliceComponent = __PRODUCTION__ ? () => null : ({
346
- slice
347
- }) => {
348
- const type = "slice_type" in slice ? slice.slice_type : slice.type;
349
- React.useEffect(() => {
350
- console.warn(`[SliceZone] Could not find a component for Slice type "${type}"`, slice);
351
- }, [slice, type]);
352
- return /* @__PURE__ */ React.createElement("section", {
353
- "data-slice-zone-todo-component": "",
354
- "data-slice-type": type
355
- }, "Could not find a component for Slice type \u201C", type, "\u201D");
356
- };
357
- const SliceZone = ({
358
- slices = [],
359
- components = {},
360
- resolver,
361
- defaultComponent = TODOSliceComponent,
362
- context = {}
363
- }) => {
364
- const renderedSlices = React.useMemo(() => {
365
- return slices.map((slice, index) => {
366
- const type = "slice_type" in slice ? slice.slice_type : slice.type;
367
- let Comp = components[type] || defaultComponent;
368
- if (resolver) {
369
- const resolvedComp = resolver({
370
- slice,
371
- sliceName: pascalCase(type),
372
- i: index
373
- });
374
- if (resolvedComp) {
375
- Comp = resolvedComp;
376
- }
377
- }
378
- const key = "id" in slice && slice.id ? slice.id : `${index}-${JSON.stringify(slice)}`;
379
- return /* @__PURE__ */ React.createElement(Comp, {
380
- key,
381
- slice,
382
- index,
383
- slices,
384
- context
385
- });
386
- });
387
- }, [components, context, defaultComponent, slices, resolver]);
388
- return /* @__PURE__ */ React.createElement(React.Fragment, null, renderedSlices);
389
- };
390
-
391
- const PrismicToolbar = ({
392
- repositoryName,
393
- type = "new"
394
- }) => {
395
- const src = `https://static.cdn.prismic.io/prismic.js?repo=${repositoryName}${type === "new" ? "&new=true" : ""}`;
396
- React.useEffect(() => {
397
- const existingScript = document.querySelector(`script[src="${src}"]`);
398
- if (!existingScript) {
399
- const script = document.createElement("script");
400
- script.src = src;
401
- script.defer = true;
402
- script.dataset.prismicToolbar = "";
403
- script.dataset.repositoryName = repositoryName;
404
- script.dataset.type = type;
405
- if (process.env.NODE_ENV === "test") {
406
- script._evaluateScript = false;
407
- }
408
- document.body.appendChild(script);
409
- }
410
- }, [repositoryName, type, src]);
411
- return null;
412
- };
413
-
414
- const reducer = (state, action) => {
415
- switch (action[0]) {
416
- case "start": {
417
- return { state: "loading" };
418
- }
419
- case "succeed": {
420
- return { state: "loaded", data: action[1] };
421
- }
422
- case "fail": {
423
- return {
424
- ...state,
425
- state: "failed",
426
- error: action[1]
427
- };
428
- }
429
- }
430
- };
431
- const initialState = {
432
- state: "idle"
433
- };
434
- const isParams = (value) => {
435
- return typeof value === "object" && value !== null && !Array.isArray(value);
436
- };
437
- const useStatefulPrismicClientMethod = (methodName, args, explicitClient) => {
438
- const lastArg = args[args.length - 1];
439
- const {
440
- client: lastArgExplicitClient,
441
- skip,
442
- ...params
443
- } = isParams(lastArg) ? lastArg : {};
444
- const argsWithoutParams = isParams(lastArg) ? args.slice(0, -1) : args;
445
- const client = usePrismicClient(explicitClient || lastArgExplicitClient);
446
- const [state, dispatch] = React.useReducer(reducer, initialState);
447
- React.useEffect(() => {
448
- if (!skip) {
449
- {
450
- dispatch(["start"]);
451
- }
452
- client[methodName].call(client, ...argsWithoutParams, params).then((result) => {
453
- {
454
- dispatch(["succeed", result]);
455
- }
456
- }).catch((error) => {
457
- {
458
- dispatch(["fail", error]);
459
- }
460
- });
461
- }
462
- }, [
463
- client,
464
- methodName,
465
- skip,
466
- JSON.stringify(argsWithoutParams),
467
- JSON.stringify(params)
468
- ]);
469
- return React.useMemo(() => [
470
- state.data,
471
- {
472
- state: state.state,
473
- error: state.error
474
- }
475
- ], [state]);
476
- };
477
-
478
- const usePrismicPreviewResolver = (args = {}) => {
479
- const context = usePrismicContext();
480
- const linkResolver = args.linkResolver || context.linkResolver;
481
- const result = useStatefulPrismicClientMethod("resolvePreviewURL", [
482
- {
483
- linkResolver,
484
- defaultURL: args.defaultURL || "/",
485
- previewToken: args.previewToken,
486
- documentID: args.documentID
487
- }
488
- ], args.client);
489
- const [resolvedURL] = result;
490
- const { navigate } = args;
491
- React.useEffect(() => {
492
- if (resolvedURL && navigate) {
493
- navigate(resolvedURL);
494
- }
495
- }, [resolvedURL, navigate]);
496
- return result;
497
- };
498
-
499
- const usePrismicDocuments = (...args) => useStatefulPrismicClientMethod("get", args);
500
- const useFirstPrismicDocument = (...args) => useStatefulPrismicClientMethod("getFirst", args);
501
- const useAllPrismicDocumentsDangerously = (...args) => useStatefulPrismicClientMethod("dangerouslyGetAll", args);
502
- const usePrismicDocumentByID = (...args) => useStatefulPrismicClientMethod("getByID", args);
503
- const usePrismicDocumentsByIDs = (...args) => useStatefulPrismicClientMethod("getByIDs", args);
504
- const useAllPrismicDocumentsByIDs = (...args) => useStatefulPrismicClientMethod("getAllByIDs", args);
505
- const usePrismicDocumentByUID = (...args) => useStatefulPrismicClientMethod("getByUID", args);
506
- const usePrismicDocumentsByUIDs = (...args) => useStatefulPrismicClientMethod("getByUIDs", args);
507
- const useAllPrismicDocumentsByUIDs = (...args) => useStatefulPrismicClientMethod("getAllByUIDs", args);
508
- const useSinglePrismicDocument = (...args) => useStatefulPrismicClientMethod("getSingle", args);
509
- const usePrismicDocumentsByType = (...args) => useStatefulPrismicClientMethod("getByType", args);
510
- const useAllPrismicDocumentsByType = (...args) => useStatefulPrismicClientMethod("getAllByType", args);
511
- const usePrismicDocumentsByTag = (...args) => useStatefulPrismicClientMethod("getByTag", args);
512
- const useAllPrismicDocumentsByTag = (...args) => useStatefulPrismicClientMethod("getAllByTag", args);
513
- const usePrismicDocumentsBySomeTags = (...args) => useStatefulPrismicClientMethod("getBySomeTags", args);
514
- const useAllPrismicDocumentsBySomeTags = (...args) => useStatefulPrismicClientMethod("getAllBySomeTags", args);
515
- const usePrismicDocumentsByEveryTag = (...args) => useStatefulPrismicClientMethod("getByEveryTag", args);
516
- const useAllPrismicDocumentsByEveryTag = (...args) => useStatefulPrismicClientMethod("getAllByEveryTag", args);
517
-
1
+ import { PrismicProvider } from "./PrismicProvider.js";
2
+ import { usePrismicContext } from "./usePrismicContext.js";
3
+ import { usePrismicClient } from "./usePrismicClient.js";
4
+ import { PrismicLink } from "./PrismicLink.js";
5
+ import { PrismicText } from "./PrismicText.js";
6
+ import { PrismicRichText } from "./PrismicRichText.js";
7
+ import { Element } from "@prismicio/richtext";
8
+ import { Element as Element2 } from "@prismicio/richtext";
9
+ import { PrismicImage } from "./PrismicImage.js";
10
+ import { SliceZone, TODOSliceComponent } from "./SliceZone.js";
11
+ import { PrismicToolbar } from "./PrismicToolbar.js";
12
+ import { usePrismicPreviewResolver } from "./usePrismicPreviewResolver.js";
13
+ import { useAllPrismicDocumentsByEveryTag, useAllPrismicDocumentsByIDs, useAllPrismicDocumentsBySomeTags, useAllPrismicDocumentsByTag, useAllPrismicDocumentsByType, useAllPrismicDocumentsByUIDs, useAllPrismicDocumentsDangerously, useFirstPrismicDocument, usePrismicDocumentByID, usePrismicDocumentByUID, usePrismicDocuments, usePrismicDocumentsByEveryTag, usePrismicDocumentsByIDs, usePrismicDocumentsBySomeTags, usePrismicDocumentsByTag, usePrismicDocumentsByType, usePrismicDocumentsByUIDs, useSinglePrismicDocument } from "./clientHooks.js";
518
14
  const Elements = Element;
519
-
520
- export { Elements, PrismicImage, PrismicLink, PrismicProvider, PrismicRichText, PrismicText, PrismicToolbar, SliceZone, TODOSliceComponent, useAllPrismicDocumentsByEveryTag, useAllPrismicDocumentsByIDs, useAllPrismicDocumentsBySomeTags, useAllPrismicDocumentsByTag, useAllPrismicDocumentsByType, useAllPrismicDocumentsByUIDs, useAllPrismicDocumentsDangerously, useFirstPrismicDocument, usePrismicClient, usePrismicContext, usePrismicDocumentByID, usePrismicDocumentByUID, usePrismicDocuments, usePrismicDocumentsByEveryTag, usePrismicDocumentsByIDs, usePrismicDocumentsBySomeTags, usePrismicDocumentsByTag, usePrismicDocumentsByType, usePrismicDocumentsByUIDs, usePrismicPreviewResolver, useSinglePrismicDocument };
15
+ export {
16
+ Element2 as Element,
17
+ Elements,
18
+ PrismicImage,
19
+ PrismicLink,
20
+ PrismicProvider,
21
+ PrismicRichText,
22
+ PrismicText,
23
+ PrismicToolbar,
24
+ SliceZone,
25
+ TODOSliceComponent,
26
+ useAllPrismicDocumentsByEveryTag,
27
+ useAllPrismicDocumentsByIDs,
28
+ useAllPrismicDocumentsBySomeTags,
29
+ useAllPrismicDocumentsByTag,
30
+ useAllPrismicDocumentsByType,
31
+ useAllPrismicDocumentsByUIDs,
32
+ useAllPrismicDocumentsDangerously,
33
+ useFirstPrismicDocument,
34
+ usePrismicClient,
35
+ usePrismicContext,
36
+ usePrismicDocumentByID,
37
+ usePrismicDocumentByUID,
38
+ usePrismicDocuments,
39
+ usePrismicDocumentsByEveryTag,
40
+ usePrismicDocumentsByIDs,
41
+ usePrismicDocumentsBySomeTags,
42
+ usePrismicDocumentsByTag,
43
+ usePrismicDocumentsByType,
44
+ usePrismicDocumentsByUIDs,
45
+ usePrismicPreviewResolver,
46
+ useSinglePrismicDocument
47
+ };
521
48
  //# sourceMappingURL=index.js.map