@prismicio/react 2.5.2 → 2.6.0-alpha.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.
Files changed (82) hide show
  1. package/dist/PrismicImage.cjs +7 -11
  2. package/dist/PrismicImage.cjs.map +1 -1
  3. package/dist/PrismicImage.d.ts +14 -15
  4. package/dist/PrismicImage.js +6 -10
  5. package/dist/PrismicImage.js.map +1 -1
  6. package/dist/PrismicLink.cjs +4 -66
  7. package/dist/PrismicLink.cjs.map +1 -1
  8. package/dist/PrismicLink.d.ts +5 -104
  9. package/dist/PrismicLink.js +4 -65
  10. package/dist/PrismicLink.js.map +1 -1
  11. package/dist/PrismicProvider.cjs.map +1 -1
  12. package/dist/PrismicProvider.d.ts +8 -9
  13. package/dist/PrismicProvider.js.map +1 -1
  14. package/dist/PrismicRichText.cjs +4 -71
  15. package/dist/PrismicRichText.cjs.map +1 -1
  16. package/dist/PrismicRichText.d.ts +4 -116
  17. package/dist/PrismicRichText.js +5 -70
  18. package/dist/PrismicRichText.js.map +1 -1
  19. package/dist/PrismicText.cjs +4 -4
  20. package/dist/PrismicText.cjs.map +1 -1
  21. package/dist/PrismicText.d.ts +2 -2
  22. package/dist/PrismicText.js +3 -3
  23. package/dist/PrismicText.js.map +1 -1
  24. package/dist/PrismicToolbar.cjs +6 -4
  25. package/dist/PrismicToolbar.cjs.map +1 -1
  26. package/dist/PrismicToolbar.d.ts +3 -1
  27. package/dist/PrismicToolbar.js +6 -4
  28. package/dist/PrismicToolbar.js.map +1 -1
  29. package/dist/SliceZone.cjs +4 -17
  30. package/dist/SliceZone.cjs.map +1 -1
  31. package/dist/SliceZone.d.ts +4 -65
  32. package/dist/SliceZone.js +4 -17
  33. package/dist/SliceZone.js.map +1 -1
  34. package/dist/index.cjs +0 -2
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.ts +2 -27
  37. package/dist/index.js +1 -4
  38. package/dist/index.js.map +1 -1
  39. package/dist/package.json.cjs +1 -1
  40. package/dist/package.json.js +1 -1
  41. package/dist/react-server/PrismicLink.cjs +59 -0
  42. package/dist/react-server/PrismicLink.cjs.map +1 -0
  43. package/dist/react-server/PrismicLink.d.ts +72 -0
  44. package/dist/react-server/PrismicLink.js +42 -0
  45. package/dist/react-server/PrismicLink.js.map +1 -0
  46. package/dist/react-server/PrismicRichText.cjs +92 -0
  47. package/dist/react-server/PrismicRichText.cjs.map +1 -0
  48. package/dist/react-server/PrismicRichText.d.ts +104 -0
  49. package/dist/react-server/PrismicRichText.js +73 -0
  50. package/dist/react-server/PrismicRichText.js.map +1 -0
  51. package/dist/react-server/index.d.ts +4 -0
  52. package/dist/react-server/unsupported.cjs +97 -0
  53. package/dist/react-server/unsupported.cjs.map +1 -0
  54. package/dist/react-server/unsupported.d.ts +22 -0
  55. package/dist/react-server/unsupported.js +97 -0
  56. package/dist/react-server/unsupported.js.map +1 -0
  57. package/dist/react-server.cjs +44 -0
  58. package/dist/react-server.cjs.map +1 -0
  59. package/dist/react-server.js +41 -0
  60. package/dist/react-server.js.map +1 -0
  61. package/dist/useStatefulPrismicClientMethod.cjs +6 -0
  62. package/dist/useStatefulPrismicClientMethod.cjs.map +1 -1
  63. package/dist/useStatefulPrismicClientMethod.d.ts +1 -1
  64. package/dist/useStatefulPrismicClientMethod.js +6 -0
  65. package/dist/useStatefulPrismicClientMethod.js.map +1 -1
  66. package/package.json +42 -47
  67. package/src/PrismicImage.tsx +30 -37
  68. package/src/PrismicLink.tsx +29 -258
  69. package/src/PrismicProvider.tsx +9 -8
  70. package/src/PrismicRichText.tsx +28 -275
  71. package/src/PrismicText.tsx +4 -5
  72. package/src/PrismicToolbar.tsx +7 -6
  73. package/src/SliceZone.tsx +8 -129
  74. package/src/index.ts +1 -9
  75. package/src/react-server/PrismicLink.tsx +179 -0
  76. package/src/react-server/PrismicRichText.tsx +267 -0
  77. package/src/react-server/index.ts +38 -0
  78. package/src/react-server/unsupported.ts +98 -0
  79. package/dist/lib/pascalCase.cjs +0 -10
  80. package/dist/lib/pascalCase.cjs.map +0 -1
  81. package/dist/lib/pascalCase.js +0 -10
  82. package/dist/lib/pascalCase.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PrismicLink.js","sources":["../../src/PrismicLink.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as prismicH from \"@prismicio/helpers\";\nimport * as prismicT from \"@prismicio/types\";\n\nimport { __PRODUCTION__ } from \"./lib/__PRODUCTION__\";\nimport { devMsg } from \"./lib/devMsg\";\nimport { isInternalURL } from \"./lib/isInternalURL\";\n\nimport { usePrismicContext } from \"./usePrismicContext\";\n\n/**\n * Props provided to a component when rendered with `<PrismicLink>`.\n */\nexport interface LinkProps {\n\t/**\n\t * The URL to link.\n\t */\n\thref: string;\n\n\t/**\n\t * The `target` attribute for anchor elements. If the Prismic field is\n\t * configured to open in a new window, this prop defaults to `_blank`.\n\t */\n\ttarget?: string;\n\n\t/**\n\t * The `rel` attribute for anchor elements. If the `target` prop is set to\n\t * `\"_blank\"`, this prop defaults to `\"noopener noreferrer\"`.\n\t */\n\trel?: string;\n\n\t/**\n\t * Children for the component. *\n\t */\n\tchildren?: React.ReactNode;\n}\n\n/**\n * Props for `<PrismicLink>`.\n */\nexport type PrismicLinkProps<\n\tInternalComponent extends React.ElementType<LinkProps> = typeof defaultInternalComponent,\n\tExternalComponent extends React.ElementType<LinkProps> = typeof defaultInternalComponent,\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n> = Omit<\n\tReact.ComponentPropsWithoutRef<InternalComponent> &\n\t\tReact.ComponentPropsWithoutRef<ExternalComponent>,\n\tkeyof LinkProps\n> & {\n\t/**\n\t * The Link Resolver used to resolve links.\n\t *\n\t * @remarks\n\t * If your app uses Route Resolvers when querying for your Prismic\n\t * repository's content, a Link Resolver does not need to be provided.\n\t * @see Learn about Link Resolvers and Route Resolvers {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver}\n\t */\n\tlinkResolver?: LinkResolverFunction;\n\n\t/**\n\t * The component rendered for internal URLs. Defaults to `<a>`.\n\t *\n\t * If your app uses a client-side router that requires a special Link\n\t * component, provide the Link component to this prop.\n\t */\n\tinternalComponent?: InternalComponent;\n\n\t/**\n\t * The component rendered for external URLs. Defaults to `<a>`.\n\t */\n\texternalComponent?: ExternalComponent;\n\n\t/**\n\t * The `target` attribute for anchor elements. If the Prismic field is\n\t * configured to open in a new window, this prop defaults to `_blank`.\n\t */\n\ttarget?: string | null;\n\n\t/**\n\t * The `rel` attribute for anchor elements. If the `target` prop is set to\n\t * `\"_blank\"`, this prop defaults to `\"noopener noreferrer\"`.\n\t */\n\trel?: string | null;\n\n\t/**\n\t * Children for the component. *\n\t */\n\tchildren?: React.ReactNode;\n} & (\n\t\t| {\n\t\t\t\t/**\n\t\t\t\t * The Prismic Link field containing the URL or document to link.\n\t\t\t\t *\n\t\t\t\t * @see Learn about Prismic Link fields {@link https://prismic.io/docs/core-concepts/link-content-relationship}\n\t\t\t\t */\n\t\t\t\tfield: prismicT.LinkField | null | undefined;\n\t\t }\n\t\t| {\n\t\t\t\t/**\n\t\t\t\t * The Prismic document to link.\n\t\t\t\t */\n\t\t\t\tdocument: prismicT.PrismicDocument | null | undefined;\n\t\t }\n\t\t| {\n\t\t\t\t/**\n\t\t\t\t * The URL to link.\n\t\t\t\t */\n\t\t\t\thref: string | null | undefined;\n\t\t }\n\t);\n\n/**\n * The default component rendered for internal URLs.\n */\nconst defaultInternalComponent = \"a\";\n\n/**\n * The default component rendered for external URLs.\n */\nconst defaultExternalComponent = \"a\";\n\nconst _PrismicLink = <\n\tInternalComponent extends React.ElementType<LinkProps> = typeof defaultInternalComponent,\n\tExternalComponent extends React.ElementType<LinkProps> = typeof defaultExternalComponent,\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n>(\n\tprops: PrismicLinkProps<\n\t\tInternalComponent,\n\t\tExternalComponent,\n\t\tLinkResolverFunction\n\t>,\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tref: React.Ref<any>,\n): JSX.Element | null => {\n\tconst context = usePrismicContext();\n\n\tif (!__PRODUCTION__) {\n\t\tif (\"field\" in props && props.field) {\n\t\t\tif (!props.field.link_type) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`[PrismicLink] This \"field\" prop value caused an error to be thrown.\\n`,\n\t\t\t\t\tprops.field,\n\t\t\t\t);\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`[PrismicLink] The provided field is missing required properties to properly render a link. The link will not render. For more details, see ${devMsg(\n\t\t\t\t\t\t\"missing-link-properties\",\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t} else if (\n\t\t\t\tObject.keys(props.field).length > 1 &&\n\t\t\t\t!(\"url\" in props.field || \"uid\" in props.field || \"id\" in props.field)\n\t\t\t) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`[PrismicLink] The provided field is missing required properties to properly render a link. The link may not render correctly. For more details, see ${devMsg(\n\t\t\t\t\t\t\"missing-link-properties\",\n\t\t\t\t\t)}`,\n\t\t\t\t\tprops.field,\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (\"document\" in props && props.document) {\n\t\t\tif (!(\"url\" in props.document || \"id\" in props.document)) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`[PrismicLink] The provided document is missing required properties to properly render a link. The link may not render correctly. For more details, see ${devMsg(\n\t\t\t\t\t\t\"missing-link-properties\",\n\t\t\t\t\t)}`,\n\t\t\t\t\tprops.document,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst linkResolver = props.linkResolver || context.linkResolver;\n\n\tlet href: string | null | undefined;\n\tif (\"href\" in props) {\n\t\thref = props.href;\n\t} else if (\"document\" in props && props.document) {\n\t\thref = prismicH.asLink(props.document, linkResolver);\n\t} else if (\"field\" in props && props.field) {\n\t\thref = prismicH.asLink(props.field, linkResolver);\n\t}\n\n\tconst isInternal = href && isInternalURL(href);\n\n\tconst target =\n\t\tprops.target ||\n\t\t(\"field\" in props &&\n\t\t\tprops.field &&\n\t\t\t\"target\" in props.field &&\n\t\t\tprops.field.target) ||\n\t\tundefined;\n\n\tconst rel =\n\t\tprops.rel || (target === \"_blank\" ? \"noopener noreferrer\" : undefined);\n\n\tconst InternalComponent: React.ElementType<LinkProps> =\n\t\tprops.internalComponent ||\n\t\tcontext.internalLinkComponent ||\n\t\tdefaultInternalComponent;\n\n\tconst ExternalComponent: React.ElementType<LinkProps> =\n\t\tprops.externalComponent ||\n\t\tcontext.externalLinkComponent ||\n\t\tdefaultExternalComponent;\n\n\tconst Component = isInternal ? InternalComponent : ExternalComponent;\n\n\tconst passthroughProps: typeof props = Object.assign({}, props);\n\tdelete passthroughProps.linkResolver;\n\tdelete passthroughProps.internalComponent;\n\tdelete passthroughProps.externalComponent;\n\tdelete passthroughProps.rel;\n\tdelete passthroughProps.target;\n\tif (\"field\" in passthroughProps) {\n\t\tdelete passthroughProps.field;\n\t} else if (\"document\" in passthroughProps) {\n\t\tdelete passthroughProps.document;\n\t} else if (\"href\" in passthroughProps) {\n\t\tdelete passthroughProps.href;\n\t}\n\n\treturn href ? (\n\t\t<Component\n\t\t\t// @ts-expect-error - Expression produces a union type\n\t\t\t// that is too complex to represent. This most likely\n\t\t\t// happens due to the polymorphic nature of this\n\t\t\t// component, passing of \"extra\" props, and ref\n\t\t\t// forwarding support.\n\t\t\t{...passthroughProps}\n\t\t\tref={ref}\n\t\t\thref={href}\n\t\t\ttarget={target}\n\t\t\trel={rel}\n\t\t/>\n\t) : null;\n};\n\nif (!__PRODUCTION__) {\n\t_PrismicLink.displayName = \"PrismicLink\";\n}\n\n/**\n * React component that renders a link from a Prismic Link field.\n *\n * Different components can be rendered depending on whether the link is\n * internal or external. This is helpful when integrating with client-side\n * routers, such as a router-specific Link component.\n *\n * If a link is configured to open in a new window using `target=\"_blank\"`,\n * `rel=\"noopener noreferrer\"` is set by default.\n *\n * @param props - Props for the component.\n *\n * @returns The internal or external link component depending on whether the\n * link is internal or external.\n */\nexport const PrismicLink = React.forwardRef(_PrismicLink) as <\n\tInternalComponent extends React.ElementType<LinkProps> = typeof defaultInternalComponent,\n\tExternalComponent extends React.ElementType<LinkProps> = typeof defaultExternalComponent,\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n>(\n\tprops: PrismicLinkProps<\n\t\tInternalComponent,\n\t\tExternalComponent,\n\t\tLinkResolverFunction\n\t> & { ref?: React.Ref<Element> },\n) => JSX.Element | null;\n"],"names":[],"mappings":";;;;;;;AAmHA,MAAM,2BAA2B;AAKjC,MAAM,2BAA2B;AAEjC,MAAM,eAAe,CAMpB,OAMA,QACuB;AACvB,QAAM,UAAU;AAEhB,MAAI,CAAC,gBAAgB;AAChB,QAAA,WAAW,SAAS,MAAM,OAAO;AAChC,UAAA,CAAC,MAAM,MAAM,WAAW;AAC3B,gBAAQ,MACP;AAAA,GACA,MAAM,KAAK;AAEZ,cAAM,IAAI,MACT,8IAA8I,OAC7I,yBAAyB,GACvB;AAAA,MAAA,WAGJ,OAAO,KAAK,MAAM,KAAK,EAAE,SAAS,KAClC,EAAE,SAAS,MAAM,SAAS,SAAS,MAAM,SAAS,QAAQ,MAAM,QAC/D;AACD,gBAAQ,KACP,uJAAuJ,OACtJ,yBAAyB,KAE1B,MAAM,KAAK;AAAA,MAEZ;AAAA,IACS,WAAA,cAAc,SAAS,MAAM,UAAU;AACjD,UAAI,EAAE,SAAS,MAAM,YAAY,QAAQ,MAAM,WAAW;AACzD,gBAAQ,KACP,0JAA0J,OACzJ,yBAAyB,KAE1B,MAAM,QAAQ;AAAA,MAEf;AAAA,IACD;AAAA,EACD;AAEK,QAAA,eAAe,MAAM,gBAAgB,QAAQ;AAE/C,MAAA;AACJ,MAAI,UAAU,OAAO;AACpB,WAAO,MAAM;AAAA,EACH,WAAA,cAAc,SAAS,MAAM,UAAU;AACjD,WAAO,SAAS,OAAO,MAAM,UAAU,YAAY;AAAA,EACzC,WAAA,WAAW,SAAS,MAAM,OAAO;AAC3C,WAAO,SAAS,OAAO,MAAM,OAAO,YAAY;AAAA,EAChD;AAEK,QAAA,aAAa,QAAQ,cAAc,IAAI;AAE7C,QAAM,SACL,MAAM,UACL,WAAW,SACX,MAAM,SACN,YAAY,MAAM,SAClB,MAAM,MAAM,UACb;AAED,QAAM,MACL,MAAM,QAAQ,WAAW,WAAW,wBAAwB;AAE7D,QAAM,oBACL,MAAM,qBACN,QAAQ,yBACR;AAED,QAAM,oBACL,MAAM,qBACN,QAAQ,yBACR;AAEK,QAAA,YAAY,aAAa,oBAAoB;AAEnD,QAAM,mBAAiC,OAAO,OAAO,IAAI,KAAK;AAC9D,SAAO,iBAAiB;AACxB,SAAO,iBAAiB;AACxB,SAAO,iBAAiB;AACxB,SAAO,iBAAiB;AACxB,SAAO,iBAAiB;AACxB,MAAI,WAAW,kBAAkB;AAChC,WAAO,iBAAiB;AAAA,EAAA,WACd,cAAc,kBAAkB;AAC1C,WAAO,iBAAiB;AAAA,EAAA,WACd,UAAU,kBAAkB;AACtC,WAAO,iBAAiB;AAAA,EACxB;AAED,SAAO,OACN;AAAA,IAAC;AAAA,IAAA;AAAA,MAMA,GAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEE,IAAA;AACL;AAEA,IAAI,CAAC,gBAAgB;AACpB,eAAa,cAAc;AAC3B;AAiBY,MAAA,cAAc,MAAM,WAAW,YAAY;"}
1
+ {"version":3,"file":"PrismicLink.js","sources":["../../src/PrismicLink.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport {\n\tPrismicLink as ServerPrismicLink,\n\tLinkProps,\n\tPrismicLinkProps,\n\tdefaultComponent,\n} from \"./react-server/PrismicLink\";\n\nimport { usePrismicContext } from \"./usePrismicContext\";\n\nexport { LinkProps, PrismicLinkProps };\n\nexport const PrismicLink = React.forwardRef(function PrismicLink<\n\tInternalComponentProps = React.ComponentProps<typeof defaultComponent>,\n\tExternalComponentProps = React.ComponentProps<typeof defaultComponent>,\n>(\n\tprops: PrismicLinkProps<InternalComponentProps, ExternalComponentProps>,\n\tref: React.ForwardedRef<Element>,\n) {\n\tconst context = usePrismicContext();\n\n\treturn (\n\t\t<ServerPrismicLink\n\t\t\tref={ref}\n\t\t\tlinkResolver={context.linkResolver}\n\t\t\tinternalComponent={context.internalLinkComponent}\n\t\t\texternalComponent={context.externalLinkComponent}\n\t\t\t{...props}\n\t\t/>\n\t);\n}) as <\n\tInternalComponentProps = React.ComponentProps<typeof defaultComponent>,\n\tExternalComponentProps = React.ComponentProps<typeof defaultComponent>,\n>(\n\tprops: PrismicLinkProps<InternalComponentProps, ExternalComponentProps> & {\n\t\tref?: React.ForwardedRef<Element>;\n\t},\n) => JSX.Element;\n"],"names":["PrismicLink","ServerPrismicLink"],"mappings":";;;;AAeO,MAAM,cAAc,MAAM,WAAW,SAASA,aAIpD,OACA,KAAgC;AAEhC,QAAM,UAAU;AAEhB,SACE,oBAAAC,eAAA,EACA,KACA,cAAc,QAAQ,cACtB,mBAAmB,QAAQ,uBAC3B,mBAAmB,QAAQ,uBAC3B,GAAI,MAAM,CAAA;AAGb,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PrismicProvider.cjs","sources":["../../src/PrismicProvider.tsx"],"sourcesContent":["import type * as prismic from \"@prismicio/client\";\n\nimport * as React from \"react\";\nimport * as prismicH from \"@prismicio/helpers\";\n\nimport { LinkProps } from \"./PrismicLink\";\nimport { JSXFunctionSerializer, JSXMapSerializer } from \"./types\";\n\n/**\n * React context value containing shared configuration for `@prismicio/react`\n * components and hooks.\n */\nexport type PrismicContextValue<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n> = {\n\t/**\n\t * A `@prismicio/client` instance used to fetch content from a Prismic\n\t * repository. This is used by `@prismicio/react` hooks, such as\n\t * `usePrismicDocuments()`.\n\t */\n\tclient?: prismic.Client;\n\n\t/**\n\t * A Link Resolver used to resolve links for `<PrismicLink>` and\n\t * `<PrismicRichText>`.\n\t *\n\t * @remarks\n\t * If your app uses Route Resolvers when querying for your Prismic\n\t * repository's content, a Link Resolver does not need to be provided.\n\t * @see Learn about Link Resolvers and Route Resolvers {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver}\n\t */\n\tlinkResolver?: LinkResolverFunction;\n\n\t/**\n\t * A map or function that maps a Rich Text block to a React component.\n\t *\n\t * @remarks\n\t * Prefer using a map serializer over the function serializer when possible.\n\t * The map serializer is simpler to maintain.\n\t * @example A map serializer.\n\t *\n\t * ```jsx\n\t * {\n\t * heading1: ({children}) => <Heading>{children}</Heading>\n\t * }\n\t * ```\n\t *\n\t * @example A function serializer.\n\t *\n\t * ```jsx\n\t * (type, node, content, children) => {\n\t * \tswitch (type) {\n\t * \t\tcase \"heading1\": {\n\t * \t\t\treturn <Heading>{chidlren}</Heading>;\n\t * \t\t}\n\t * \t}\n\t * };\n\t * ```\n\t */\n\trichTextComponents?: JSXMapSerializer | JSXFunctionSerializer;\n\n\t/**\n\t * The component rendered by `<PrismicLink>` for internal URLs. Defaults to\n\t * `<a>`.\n\t */\n\tinternalLinkComponent?: React.ElementType<LinkProps>;\n\n\t/**\n\t * The component rendered by `<PrismicLink>` for external URLs. Defaults to\n\t * `<a>`.\n\t */\n\texternalLinkComponent?: React.ElementType<LinkProps>;\n\n\t/**\n\t * Children for the component.\n\t */\n\tchildren?: React.ReactNode;\n};\n\n/**\n * React context containing shared configuration for `@prismicio/react`\n * components and hooks.\n */\nexport const PrismicContext = React.createContext<PrismicContextValue>({});\n\n/**\n * Props for `<PrismicProvider>`.\n */\nexport type PrismicProviderProps<\n\tLinkResolverFunction extends prismicH.LinkResolverFunction,\n> = PrismicContextValue<LinkResolverFunction>;\n\n/**\n * React context provider to share configuration for `@prismicio/react`\n * components and hooks.\n *\n * @returns A React context provider with shared configuration.\n */\nexport const PrismicProvider = <\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any>,\n>({\n\tclient,\n\tlinkResolver,\n\trichTextComponents,\n\tinternalLinkComponent,\n\texternalLinkComponent,\n\tchildren,\n}: PrismicProviderProps<LinkResolverFunction>): JSX.Element => {\n\tconst value = React.useMemo<PrismicContextValue<LinkResolverFunction>>(\n\t\t() => ({\n\t\t\tclient,\n\t\t\tlinkResolver,\n\t\t\trichTextComponents,\n\t\t\tinternalLinkComponent,\n\t\t\texternalLinkComponent,\n\t\t}),\n\t\t[\n\t\t\tclient,\n\t\t\tlinkResolver,\n\t\t\trichTextComponents,\n\t\t\tinternalLinkComponent,\n\t\t\texternalLinkComponent,\n\t\t],\n\t);\n\n\treturn (\n\t\t<PrismicContext.Provider value={value}>{children}</PrismicContext.Provider>\n\t);\n};\n"],"names":["React","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAoFO,MAAM,iBAAiBA,iBAAM,cAAmC,EAAE;AAe5D,MAAA,kBAAkB,CAG7B,EACD,QACA,cACA,oBACA,uBACA,uBACA,eAC6D;AACvD,QAAA,QAAQA,iBAAM,QACnB,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IAED;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAGF,SACEC,2BAAAA,IAAA,eAAe,UAAf,EAAwB,OAAe,SAAS,CAAA;AAEnD;;;"}
1
+ {"version":3,"file":"PrismicProvider.cjs","sources":["../../src/PrismicProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as prismic from \"@prismicio/client\";\n\nimport { JSXFunctionSerializer, JSXMapSerializer } from \"./types\";\nimport { LinkProps } from \"./PrismicLink\";\n\n/**\n * React context value containing shared configuration for `@prismicio/react`\n * components and hooks.\n */\nexport type PrismicContextValue<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismic.LinkResolverFunction<any> = prismic.LinkResolverFunction,\n> = {\n\t/**\n\t * A `@prismicio/client` instance used to fetch content from a Prismic\n\t * repository. This is used by `@prismicio/react` hooks, such as\n\t * `usePrismicDocuments()`.\n\t */\n\tclient?: prismic.Client;\n\n\t/**\n\t * A Link Resolver used to resolve links for `<PrismicLink>` and\n\t * `<PrismicRichText>`.\n\t *\n\t * @remarks\n\t * If your app uses Route Resolvers when querying for your Prismic\n\t * repository's content, a Link Resolver does not need to be provided.\n\t * @see Learn about Link Resolvers and Route Resolvers {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver}\n\t */\n\tlinkResolver?: LinkResolverFunction;\n\n\t/**\n\t * A map or function that maps a Rich Text block to a React component.\n\t *\n\t * @remarks\n\t * Prefer using a map serializer over the function serializer when possible.\n\t * The map serializer is simpler to maintain.\n\t * @example A map serializer.\n\t *\n\t * ```jsx\n\t * {\n\t * heading1: ({children}) => <Heading>{children}</Heading>\n\t * }\n\t * ```\n\t *\n\t * @example A function serializer.\n\t *\n\t * ```jsx\n\t * (type, node, content, children) => {\n\t * \tswitch (type) {\n\t * \t\tcase \"heading1\": {\n\t * \t\t\treturn <Heading>{chidlren}</Heading>;\n\t * \t\t}\n\t * \t}\n\t * };\n\t * ```\n\t */\n\trichTextComponents?: JSXMapSerializer | JSXFunctionSerializer;\n\n\t/**\n\t * The component rendered by `<PrismicLink>` for internal URLs. Defaults to\n\t * `<a>`.\n\t */\n\tinternalLinkComponent?: React.ComponentType<LinkProps>;\n\n\t/**\n\t * The component rendered by `<PrismicLink>` for external URLs. Defaults to\n\t * `<a>`.\n\t */\n\texternalLinkComponent?: React.ComponentType<LinkProps>;\n\n\t/**\n\t * Children for the component.\n\t */\n\tchildren?: React.ReactNode;\n};\n\n/**\n * React context containing shared configuration for `@prismicio/react`\n * components and hooks.\n */\nexport const PrismicContext = React.createContext<PrismicContextValue>({});\n\n/**\n * Props for `<PrismicProvider>`.\n */\nexport type PrismicProviderProps<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismic.LinkResolverFunction<any> = prismic.LinkResolverFunction<any>,\n> = PrismicContextValue<LinkResolverFunction>;\n\n/**\n * React context provider to share configuration for `@prismicio/react`\n * components and hooks.\n *\n * @returns A React context provider with shared configuration.\n */\nexport const PrismicProvider = <\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismic.LinkResolverFunction<any>,\n>({\n\tclient,\n\tlinkResolver,\n\trichTextComponents,\n\tinternalLinkComponent,\n\texternalLinkComponent,\n\tchildren,\n}: PrismicProviderProps<LinkResolverFunction>): JSX.Element => {\n\tconst value = React.useMemo<PrismicContextValue<LinkResolverFunction>>(\n\t\t() => ({\n\t\t\tclient,\n\t\t\tlinkResolver,\n\t\t\trichTextComponents,\n\t\t\tinternalLinkComponent,\n\t\t\texternalLinkComponent,\n\t\t}),\n\t\t[\n\t\t\tclient,\n\t\t\tlinkResolver,\n\t\t\trichTextComponents,\n\t\t\tinternalLinkComponent,\n\t\t\texternalLinkComponent,\n\t\t],\n\t);\n\n\treturn (\n\t\t<PrismicContext.Provider value={value}>{children}</PrismicContext.Provider>\n\t);\n};\n"],"names":["React","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAoFO,MAAM,iBAAiBA,iBAAM,cAAmC,EAAE;AAgB5D,MAAA,kBAAkB,CAG7B,EACD,QACA,cACA,oBACA,uBACA,uBACA,eAC6D;AACvD,QAAA,QAAQA,iBAAM,QACnB,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IAED;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAGF,SACEC,2BAAAA,IAAA,eAAe,UAAf,EAAwB,OAAe,SAAS,CAAA;AAEnD;;;"}
@@ -1,13 +1,12 @@
1
- import type * as prismic from "@prismicio/client";
2
1
  import * as React from "react";
3
- import * as prismicH from "@prismicio/helpers";
4
- import { LinkProps } from "./PrismicLink";
2
+ import * as prismic from "@prismicio/client";
5
3
  import { JSXFunctionSerializer, JSXMapSerializer } from "./types";
4
+ import { LinkProps } from "./PrismicLink";
6
5
  /**
7
6
  * React context value containing shared configuration for `@prismicio/react`
8
7
  * components and hooks.
9
8
  */
10
- export type PrismicContextValue<LinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction> = {
9
+ export type PrismicContextValue<LinkResolverFunction extends prismic.LinkResolverFunction<any> = prismic.LinkResolverFunction> = {
11
10
  /**
12
11
  * A `@prismicio/client` instance used to fetch content from a Prismic
13
12
  * repository. This is used by `@prismicio/react` hooks, such as
@@ -55,12 +54,12 @@ export type PrismicContextValue<LinkResolverFunction extends prismicH.LinkResolv
55
54
  * The component rendered by `<PrismicLink>` for internal URLs. Defaults to
56
55
  * `<a>`.
57
56
  */
58
- internalLinkComponent?: React.ElementType<LinkProps>;
57
+ internalLinkComponent?: React.ComponentType<LinkProps>;
59
58
  /**
60
59
  * The component rendered by `<PrismicLink>` for external URLs. Defaults to
61
60
  * `<a>`.
62
61
  */
63
- externalLinkComponent?: React.ElementType<LinkProps>;
62
+ externalLinkComponent?: React.ComponentType<LinkProps>;
64
63
  /**
65
64
  * Children for the component.
66
65
  */
@@ -70,15 +69,15 @@ export type PrismicContextValue<LinkResolverFunction extends prismicH.LinkResolv
70
69
  * React context containing shared configuration for `@prismicio/react`
71
70
  * components and hooks.
72
71
  */
73
- export declare const PrismicContext: React.Context<PrismicContextValue<prismicH.LinkResolverFunction<string>>>;
72
+ export declare const PrismicContext: React.Context<PrismicContextValue<prismic.LinkResolverFunction>>;
74
73
  /**
75
74
  * Props for `<PrismicProvider>`.
76
75
  */
77
- export type PrismicProviderProps<LinkResolverFunction extends prismicH.LinkResolverFunction> = PrismicContextValue<LinkResolverFunction>;
76
+ export type PrismicProviderProps<LinkResolverFunction extends prismic.LinkResolverFunction<any> = prismic.LinkResolverFunction<any>> = PrismicContextValue<LinkResolverFunction>;
78
77
  /**
79
78
  * React context provider to share configuration for `@prismicio/react`
80
79
  * components and hooks.
81
80
  *
82
81
  * @returns A React context provider with shared configuration.
83
82
  */
84
- export declare const PrismicProvider: <LinkResolverFunction extends prismicH.LinkResolverFunction<any>>({ client, linkResolver, richTextComponents, internalLinkComponent, externalLinkComponent, children, }: PrismicProviderProps<LinkResolverFunction>) => JSX.Element;
83
+ export declare const PrismicProvider: <LinkResolverFunction extends prismic.LinkResolverFunction<any>>({ client, linkResolver, richTextComponents, internalLinkComponent, externalLinkComponent, children, }: PrismicProviderProps<LinkResolverFunction>) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"PrismicProvider.js","sources":["../../src/PrismicProvider.tsx"],"sourcesContent":["import type * as prismic from \"@prismicio/client\";\n\nimport * as React from \"react\";\nimport * as prismicH from \"@prismicio/helpers\";\n\nimport { LinkProps } from \"./PrismicLink\";\nimport { JSXFunctionSerializer, JSXMapSerializer } from \"./types\";\n\n/**\n * React context value containing shared configuration for `@prismicio/react`\n * components and hooks.\n */\nexport type PrismicContextValue<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n> = {\n\t/**\n\t * A `@prismicio/client` instance used to fetch content from a Prismic\n\t * repository. This is used by `@prismicio/react` hooks, such as\n\t * `usePrismicDocuments()`.\n\t */\n\tclient?: prismic.Client;\n\n\t/**\n\t * A Link Resolver used to resolve links for `<PrismicLink>` and\n\t * `<PrismicRichText>`.\n\t *\n\t * @remarks\n\t * If your app uses Route Resolvers when querying for your Prismic\n\t * repository's content, a Link Resolver does not need to be provided.\n\t * @see Learn about Link Resolvers and Route Resolvers {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver}\n\t */\n\tlinkResolver?: LinkResolverFunction;\n\n\t/**\n\t * A map or function that maps a Rich Text block to a React component.\n\t *\n\t * @remarks\n\t * Prefer using a map serializer over the function serializer when possible.\n\t * The map serializer is simpler to maintain.\n\t * @example A map serializer.\n\t *\n\t * ```jsx\n\t * {\n\t * heading1: ({children}) => <Heading>{children}</Heading>\n\t * }\n\t * ```\n\t *\n\t * @example A function serializer.\n\t *\n\t * ```jsx\n\t * (type, node, content, children) => {\n\t * \tswitch (type) {\n\t * \t\tcase \"heading1\": {\n\t * \t\t\treturn <Heading>{chidlren}</Heading>;\n\t * \t\t}\n\t * \t}\n\t * };\n\t * ```\n\t */\n\trichTextComponents?: JSXMapSerializer | JSXFunctionSerializer;\n\n\t/**\n\t * The component rendered by `<PrismicLink>` for internal URLs. Defaults to\n\t * `<a>`.\n\t */\n\tinternalLinkComponent?: React.ElementType<LinkProps>;\n\n\t/**\n\t * The component rendered by `<PrismicLink>` for external URLs. Defaults to\n\t * `<a>`.\n\t */\n\texternalLinkComponent?: React.ElementType<LinkProps>;\n\n\t/**\n\t * Children for the component.\n\t */\n\tchildren?: React.ReactNode;\n};\n\n/**\n * React context containing shared configuration for `@prismicio/react`\n * components and hooks.\n */\nexport const PrismicContext = React.createContext<PrismicContextValue>({});\n\n/**\n * Props for `<PrismicProvider>`.\n */\nexport type PrismicProviderProps<\n\tLinkResolverFunction extends prismicH.LinkResolverFunction,\n> = PrismicContextValue<LinkResolverFunction>;\n\n/**\n * React context provider to share configuration for `@prismicio/react`\n * components and hooks.\n *\n * @returns A React context provider with shared configuration.\n */\nexport const PrismicProvider = <\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any>,\n>({\n\tclient,\n\tlinkResolver,\n\trichTextComponents,\n\tinternalLinkComponent,\n\texternalLinkComponent,\n\tchildren,\n}: PrismicProviderProps<LinkResolverFunction>): JSX.Element => {\n\tconst value = React.useMemo<PrismicContextValue<LinkResolverFunction>>(\n\t\t() => ({\n\t\t\tclient,\n\t\t\tlinkResolver,\n\t\t\trichTextComponents,\n\t\t\tinternalLinkComponent,\n\t\t\texternalLinkComponent,\n\t\t}),\n\t\t[\n\t\t\tclient,\n\t\t\tlinkResolver,\n\t\t\trichTextComponents,\n\t\t\tinternalLinkComponent,\n\t\t\texternalLinkComponent,\n\t\t],\n\t);\n\n\treturn (\n\t\t<PrismicContext.Provider value={value}>{children}</PrismicContext.Provider>\n\t);\n};\n"],"names":[],"mappings":";;AAoFO,MAAM,iBAAiB,MAAM,cAAmC,EAAE;AAe5D,MAAA,kBAAkB,CAG7B,EACD,QACA,cACA,oBACA,uBACA,uBACA,eAC6D;AACvD,QAAA,QAAQ,MAAM,QACnB,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IAED;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAGF,SACE,oBAAA,eAAe,UAAf,EAAwB,OAAe,SAAS,CAAA;AAEnD;"}
1
+ {"version":3,"file":"PrismicProvider.js","sources":["../../src/PrismicProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as prismic from \"@prismicio/client\";\n\nimport { JSXFunctionSerializer, JSXMapSerializer } from \"./types\";\nimport { LinkProps } from \"./PrismicLink\";\n\n/**\n * React context value containing shared configuration for `@prismicio/react`\n * components and hooks.\n */\nexport type PrismicContextValue<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismic.LinkResolverFunction<any> = prismic.LinkResolverFunction,\n> = {\n\t/**\n\t * A `@prismicio/client` instance used to fetch content from a Prismic\n\t * repository. This is used by `@prismicio/react` hooks, such as\n\t * `usePrismicDocuments()`.\n\t */\n\tclient?: prismic.Client;\n\n\t/**\n\t * A Link Resolver used to resolve links for `<PrismicLink>` and\n\t * `<PrismicRichText>`.\n\t *\n\t * @remarks\n\t * If your app uses Route Resolvers when querying for your Prismic\n\t * repository's content, a Link Resolver does not need to be provided.\n\t * @see Learn about Link Resolvers and Route Resolvers {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver}\n\t */\n\tlinkResolver?: LinkResolverFunction;\n\n\t/**\n\t * A map or function that maps a Rich Text block to a React component.\n\t *\n\t * @remarks\n\t * Prefer using a map serializer over the function serializer when possible.\n\t * The map serializer is simpler to maintain.\n\t * @example A map serializer.\n\t *\n\t * ```jsx\n\t * {\n\t * heading1: ({children}) => <Heading>{children}</Heading>\n\t * }\n\t * ```\n\t *\n\t * @example A function serializer.\n\t *\n\t * ```jsx\n\t * (type, node, content, children) => {\n\t * \tswitch (type) {\n\t * \t\tcase \"heading1\": {\n\t * \t\t\treturn <Heading>{chidlren}</Heading>;\n\t * \t\t}\n\t * \t}\n\t * };\n\t * ```\n\t */\n\trichTextComponents?: JSXMapSerializer | JSXFunctionSerializer;\n\n\t/**\n\t * The component rendered by `<PrismicLink>` for internal URLs. Defaults to\n\t * `<a>`.\n\t */\n\tinternalLinkComponent?: React.ComponentType<LinkProps>;\n\n\t/**\n\t * The component rendered by `<PrismicLink>` for external URLs. Defaults to\n\t * `<a>`.\n\t */\n\texternalLinkComponent?: React.ComponentType<LinkProps>;\n\n\t/**\n\t * Children for the component.\n\t */\n\tchildren?: React.ReactNode;\n};\n\n/**\n * React context containing shared configuration for `@prismicio/react`\n * components and hooks.\n */\nexport const PrismicContext = React.createContext<PrismicContextValue>({});\n\n/**\n * Props for `<PrismicProvider>`.\n */\nexport type PrismicProviderProps<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismic.LinkResolverFunction<any> = prismic.LinkResolverFunction<any>,\n> = PrismicContextValue<LinkResolverFunction>;\n\n/**\n * React context provider to share configuration for `@prismicio/react`\n * components and hooks.\n *\n * @returns A React context provider with shared configuration.\n */\nexport const PrismicProvider = <\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismic.LinkResolverFunction<any>,\n>({\n\tclient,\n\tlinkResolver,\n\trichTextComponents,\n\tinternalLinkComponent,\n\texternalLinkComponent,\n\tchildren,\n}: PrismicProviderProps<LinkResolverFunction>): JSX.Element => {\n\tconst value = React.useMemo<PrismicContextValue<LinkResolverFunction>>(\n\t\t() => ({\n\t\t\tclient,\n\t\t\tlinkResolver,\n\t\t\trichTextComponents,\n\t\t\tinternalLinkComponent,\n\t\t\texternalLinkComponent,\n\t\t}),\n\t\t[\n\t\t\tclient,\n\t\t\tlinkResolver,\n\t\t\trichTextComponents,\n\t\t\tinternalLinkComponent,\n\t\t\texternalLinkComponent,\n\t\t],\n\t);\n\n\treturn (\n\t\t<PrismicContext.Provider value={value}>{children}</PrismicContext.Provider>\n\t);\n};\n"],"names":[],"mappings":";;AAoFO,MAAM,iBAAiB,MAAM,cAAmC,EAAE;AAgB5D,MAAA,kBAAkB,CAG7B,EACD,QACA,cACA,oBACA,uBACA,uBACA,eAC6D;AACvD,QAAA,QAAQ,MAAM,QACnB,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IAED;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAGF,SACE,oBAAA,eAAe,UAAf,EAAwB,OAAe,SAAS,CAAA;AAEnD;"}
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const React = require("react");
5
- const prismicH = require("@prismicio/helpers");
6
4
  const prismicR = require("@prismicio/richtext");
7
- const PrismicLink = require("./PrismicLink.cjs");
5
+ const PrismicRichText$1 = require("./react-server/PrismicRichText.cjs");
8
6
  const usePrismicContext = require("./usePrismicContext.cjs");
9
7
  function _interopNamespaceDefault(e) {
10
8
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
@@ -22,76 +20,11 @@ function _interopNamespaceDefault(e) {
22
20
  n.default = e;
23
21
  return Object.freeze(n);
24
22
  }
25
- const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
26
- const prismicH__namespace = /* @__PURE__ */ _interopNamespaceDefault(prismicH);
27
23
  const prismicR__namespace = /* @__PURE__ */ _interopNamespaceDefault(prismicR);
28
- const createDefaultSerializer = (args) => prismicR__namespace.wrapMapSerializer({
29
- heading1: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("h1", { children }, key),
30
- heading2: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("h2", { children }, key),
31
- heading3: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("h3", { children }, key),
32
- heading4: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("h4", { children }, key),
33
- heading5: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("h5", { children }, key),
34
- heading6: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("h6", { children }, key),
35
- paragraph: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("p", { children }, key),
36
- preformatted: ({ node, key }) => /* @__PURE__ */ jsxRuntime.jsx("pre", { children: node.text }, key),
37
- strong: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("strong", { children }, key),
38
- em: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("em", { children }, key),
39
- listItem: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("li", { children }, key),
40
- oListItem: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("li", { children }, key),
41
- list: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("ul", { children }, key),
42
- oList: ({ children, key }) => /* @__PURE__ */ jsxRuntime.jsx("ol", { children }, key),
43
- image: ({ node, key }) => {
44
- const img = /* @__PURE__ */ jsxRuntime.jsx("img", { src: node.url, alt: node.alt ?? void 0, "data-copyright": node.copyright ? node.copyright : void 0 });
45
- return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "block-img", children: node.linkTo ? /* @__PURE__ */ jsxRuntime.jsx(PrismicLink.PrismicLink, { linkResolver: args.linkResolver, internalComponent: args.internalLinkComponent, externalComponent: args.externalLinkComponent, field: node.linkTo, children: img }) : img }, key);
46
- },
47
- embed: ({ node, key }) => /* @__PURE__ */ jsxRuntime.jsx("div", { "data-oembed": node.oembed.embed_url, "data-oembed-type": node.oembed.type, "data-oembed-provider": node.oembed.provider_name, dangerouslySetInnerHTML: { __html: node.oembed.html ?? "" } }, key),
48
- hyperlink: ({ node, children, key }) => /* @__PURE__ */ jsxRuntime.jsx(PrismicLink.PrismicLink, { field: node.data, linkResolver: args.linkResolver, internalComponent: args.internalLinkComponent, externalComponent: args.externalLinkComponent, children }, key),
49
- label: ({ node, children, key }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: node.data.label, children }, key),
50
- span: ({ text, key }) => {
51
- const result = [];
52
- let i = 0;
53
- for (const line of text.split("\n")) {
54
- if (i > 0) {
55
- result.push(/* @__PURE__ */ jsxRuntime.jsx("br", {}, `${i}__break`));
56
- }
57
- result.push(/* @__PURE__ */ jsxRuntime.jsx(React__namespace.Fragment, { children: line }, `${i}__line`));
58
- i++;
59
- }
60
- return /* @__PURE__ */ jsxRuntime.jsx(React__namespace.Fragment, { children: result }, key);
61
- }
62
- });
63
- const PrismicRichText = (props) => {
24
+ const PrismicRichText = function PrismicRichText2({ components, ...restProps }) {
64
25
  const context = usePrismicContext.usePrismicContext();
65
- return React__namespace.useMemo(() => {
66
- if (prismicH__namespace.isFilled.richText(props.field)) {
67
- const linkResolver = props.linkResolver || context.linkResolver;
68
- const serializer = prismicR__namespace.composeSerializers(typeof props.components === "object" ? prismicR__namespace.wrapMapSerializer(props.components) : props.components, typeof context.richTextComponents === "object" ? prismicR__namespace.wrapMapSerializer(context.richTextComponents) : context.richTextComponents, createDefaultSerializer({
69
- linkResolver,
70
- internalLinkComponent: props.internalLinkComponent,
71
- externalLinkComponent: props.externalLinkComponent
72
- }));
73
- const serialized = prismicR__namespace.serialize(props.field, (type, node, text, children, key) => {
74
- const result = serializer(type, node, text, children, key);
75
- if (React__namespace.isValidElement(result) && result.key == null) {
76
- return React__namespace.cloneElement(result, { key });
77
- } else {
78
- return result;
79
- }
80
- });
81
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: serialized });
82
- } else {
83
- return props.fallback != null ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: props.fallback }) : null;
84
- }
85
- }, [
86
- props.field,
87
- props.internalLinkComponent,
88
- props.externalLinkComponent,
89
- props.components,
90
- props.linkResolver,
91
- props.fallback,
92
- context.linkResolver,
93
- context.richTextComponents
94
- ]);
26
+ const serializer = prismicR__namespace.composeSerializers(typeof components === "object" ? prismicR__namespace.wrapMapSerializer(components) : components, typeof context.richTextComponents === "object" ? prismicR__namespace.wrapMapSerializer(context.richTextComponents) : context.richTextComponents);
27
+ return /* @__PURE__ */ jsxRuntime.jsx(PrismicRichText$1.PrismicRichText, { components: serializer, internalLinkComponent: context.internalLinkComponent, externalLinkComponent: context.externalLinkComponent, ...restProps });
95
28
  };
96
29
  exports.PrismicRichText = PrismicRichText;
97
30
  //# sourceMappingURL=PrismicRichText.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrismicRichText.cjs","sources":["../../src/PrismicRichText.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\n/* eslint-disable react/prop-types */\n\nimport * as React from \"react\";\nimport * as prismicT from \"@prismicio/types\";\nimport * as prismicH from \"@prismicio/helpers\";\nimport * as prismicR from \"@prismicio/richtext\";\n\nimport { JSXFunctionSerializer, JSXMapSerializer } from \"./types\";\nimport { PrismicLink, PrismicLinkProps } from \"./PrismicLink\";\nimport { usePrismicContext } from \"./usePrismicContext\";\n\n/**\n * Props for `<PrismicRichText>`.\n */\nexport type PrismicRichTextProps<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n> = {\n\t/**\n\t * The Prismic Rich Text field to render.\n\t */\n\tfield: prismicT.RichTextField | null | undefined;\n\n\t/**\n\t * The Link Resolver used to resolve links.\n\t *\n\t * @remarks\n\t * If your app uses Route Resolvers when querying for your Prismic\n\t * repository's content, a Link Resolver does not need to be provided.\n\t * @see Learn about Link Resolvers and Route Resolvers {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver}\n\t */\n\tlinkResolver?: LinkResolverFunction;\n\n\t/**\n\t * A function that maps a Rich Text block to a React component.\n\t *\n\t * @deprecated Use the `components` prop instead. Prefer using a map\n\t * serializer when possible.\n\t * @see Learn about Rich Text serializers {@link https://prismic.io/docs/core-concepts/html-serializer}\n\t */\n\thtmlSerializer?: JSXFunctionSerializer;\n\n\t/**\n\t * A map or function that maps a Rich Text block to a React component.\n\t *\n\t * @remarks\n\t * Prefer using a map serializer over the function serializer when possible.\n\t * The map serializer is simpler to maintain.\n\t * @example A map serializer.\n\t *\n\t * ```jsx\n\t * {\n\t * heading1: ({children}) => <Heading>{children}</Heading>\n\t * }\n\t * ```\n\t *\n\t * @example A function serializer.\n\t *\n\t * ```jsx\n\t * (type, node, content, children) => {\n\t * \tswitch (type) {\n\t * \t\tcase \"heading1\": {\n\t * \t\t\treturn <Heading>{children}</Heading>;\n\t * \t\t}\n\t * \t}\n\t * };\n\t * ```\n\t */\n\tcomponents?: JSXMapSerializer | JSXFunctionSerializer;\n\n\t/**\n\t * The React component rendered for links when the URL is internal.\n\t *\n\t * @defaultValue `<a>`\n\t */\n\tinternalLinkComponent?: PrismicLinkProps[\"internalComponent\"];\n\n\t/**\n\t * The React component rendered for links when the URL is external.\n\t *\n\t * @defaultValue `<a>`\n\t */\n\texternalLinkComponent?: PrismicLinkProps[\"externalComponent\"];\n\n\t/**\n\t * The value to be rendered when the field is empty. If a fallback is not\n\t * given, `null` will be rendered.\n\t */\n\tfallback?: React.ReactNode;\n};\n\ntype CreateDefaultSerializerArgs<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n> = {\n\tlinkResolver: LinkResolverFunction | undefined;\n\tinternalLinkComponent: PrismicRichTextProps[\"internalLinkComponent\"];\n\texternalLinkComponent: PrismicRichTextProps[\"externalLinkComponent\"];\n};\n\nconst createDefaultSerializer = (\n\targs: CreateDefaultSerializerArgs,\n): JSXFunctionSerializer =>\n\tprismicR.wrapMapSerializer({\n\t\theading1: ({ children, key }) => <h1 key={key}>{children}</h1>,\n\t\theading2: ({ children, key }) => <h2 key={key}>{children}</h2>,\n\t\theading3: ({ children, key }) => <h3 key={key}>{children}</h3>,\n\t\theading4: ({ children, key }) => <h4 key={key}>{children}</h4>,\n\t\theading5: ({ children, key }) => <h5 key={key}>{children}</h5>,\n\t\theading6: ({ children, key }) => <h6 key={key}>{children}</h6>,\n\t\tparagraph: ({ children, key }) => <p key={key}>{children}</p>,\n\t\tpreformatted: ({ node, key }) => <pre key={key}>{node.text}</pre>,\n\t\tstrong: ({ children, key }) => <strong key={key}>{children}</strong>,\n\t\tem: ({ children, key }) => <em key={key}>{children}</em>,\n\t\tlistItem: ({ children, key }) => <li key={key}>{children}</li>,\n\t\toListItem: ({ children, key }) => <li key={key}>{children}</li>,\n\t\tlist: ({ children, key }) => <ul key={key}>{children}</ul>,\n\t\toList: ({ children, key }) => <ol key={key}>{children}</ol>,\n\t\timage: ({ node, key }) => {\n\t\t\tconst img = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={node.url}\n\t\t\t\t\talt={node.alt ?? undefined}\n\t\t\t\t\tdata-copyright={node.copyright ? node.copyright : undefined}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<p key={key} className=\"block-img\">\n\t\t\t\t\t{node.linkTo ? (\n\t\t\t\t\t\t<PrismicLink\n\t\t\t\t\t\t\tlinkResolver={args.linkResolver}\n\t\t\t\t\t\t\tinternalComponent={args.internalLinkComponent}\n\t\t\t\t\t\t\texternalComponent={args.externalLinkComponent}\n\t\t\t\t\t\t\tfield={node.linkTo}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{img}\n\t\t\t\t\t\t</PrismicLink>\n\t\t\t\t\t) : (\n\t\t\t\t\t\timg\n\t\t\t\t\t)}\n\t\t\t\t</p>\n\t\t\t);\n\t\t},\n\t\tembed: ({ node, key }) => (\n\t\t\t<div\n\t\t\t\tkey={key}\n\t\t\t\tdata-oembed={node.oembed.embed_url}\n\t\t\t\tdata-oembed-type={node.oembed.type}\n\t\t\t\tdata-oembed-provider={node.oembed.provider_name}\n\t\t\t\tdangerouslySetInnerHTML={{ __html: node.oembed.html ?? \"\" }}\n\t\t\t/>\n\t\t),\n\t\thyperlink: ({ node, children, key }) => (\n\t\t\t<PrismicLink\n\t\t\t\tkey={key}\n\t\t\t\tfield={node.data}\n\t\t\t\tlinkResolver={args.linkResolver}\n\t\t\t\tinternalComponent={args.internalLinkComponent}\n\t\t\t\texternalComponent={args.externalLinkComponent}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</PrismicLink>\n\t\t),\n\t\tlabel: ({ node, children, key }) => (\n\t\t\t<span key={key} className={node.data.label}>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t),\n\t\tspan: ({ text, key }) => {\n\t\t\tconst result: React.ReactNode[] = [];\n\n\t\t\tlet i = 0;\n\t\t\tfor (const line of text.split(\"\\n\")) {\n\t\t\t\tif (i > 0) {\n\t\t\t\t\tresult.push(<br key={`${i}__break`} />);\n\t\t\t\t}\n\n\t\t\t\tresult.push(<React.Fragment key={`${i}__line`}>{line}</React.Fragment>);\n\n\t\t\t\ti++;\n\t\t\t}\n\n\t\t\treturn <React.Fragment key={key}>{result}</React.Fragment>;\n\t\t},\n\t});\n\n/**\n * React component that renders content from a Prismic Rich Text field. By\n * default, HTML elements are rendered for each piece of content. A `heading1`\n * block will render an `<h1>` HTML element, for example. Links will use\n * `<PrismicLink>` by default which can be customized using the\n * `internalLinkComponent` and `externalLinkComponent` props.\n *\n * To customize the components that are rendered, provide a map or function\n * serializer to the `components` prop.\n *\n * Components can also be provided in a centralized location using the\n * `<PrismicProvider>` React context provider.\n *\n * @remarks\n * This component returns a React fragment with no wrapping element around the\n * content. If you need a wrapper, add a component around `<PrismicRichText>`.\n * @example Rendering a Rich Text field using the default HTMl elements.\n *\n * ```jsx\n * <PrismicRichText field={document.data.content} />;\n * ```\n *\n * @example Rendering a Rich Text field using a custom set of React components.\n *\n * ```jsx\n * <PrismicRichText\n * \tfield={document.data.content}\n * \tcomponents={{\n * \t\theading1: ({ children }) => <Heading>{children}</Heading>,\n * \t}}\n * />;\n * ```\n *\n * @param props - Props for the component.\n *\n * @returns The Rich Text field's content as React components.\n *\n * @see Learn about Rich Text fields {@link https://prismic.io/docs/core-concepts/rich-text-title}\n * @see Learn about Rich Text serializers {@link https://prismic.io/docs/core-concepts/html-serializer}\n */\nexport const PrismicRichText = <\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n>(\n\tprops: PrismicRichTextProps<LinkResolverFunction>,\n): JSX.Element | null => {\n\tconst context = usePrismicContext();\n\n\treturn React.useMemo(() => {\n\t\tif (prismicH.isFilled.richText(props.field)) {\n\t\t\tconst linkResolver = props.linkResolver || context.linkResolver;\n\n\t\t\tconst serializer = prismicR.composeSerializers(\n\t\t\t\ttypeof props.components === \"object\"\n\t\t\t\t\t? prismicR.wrapMapSerializer(props.components)\n\t\t\t\t\t: props.components,\n\t\t\t\ttypeof context.richTextComponents === \"object\"\n\t\t\t\t\t? prismicR.wrapMapSerializer(context.richTextComponents)\n\t\t\t\t\t: context.richTextComponents,\n\t\t\t\tcreateDefaultSerializer({\n\t\t\t\t\tlinkResolver,\n\t\t\t\t\tinternalLinkComponent: props.internalLinkComponent,\n\t\t\t\t\texternalLinkComponent: props.externalLinkComponent,\n\t\t\t\t}),\n\t\t\t);\n\n\t\t\t// The serializer is wrapped in a higher-order function\n\t\t\t// that automatically applies a key to React Elements\n\t\t\t// if one is not already given.\n\t\t\tconst serialized = prismicR.serialize<JSX.Element>(\n\t\t\t\tprops.field,\n\t\t\t\t(type, node, text, children, key) => {\n\t\t\t\t\tconst result = serializer(type, node, text, children, key);\n\n\t\t\t\t\tif (React.isValidElement(result) && result.key == null) {\n\t\t\t\t\t\treturn React.cloneElement(result, { key });\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn <>{serialized}</>;\n\t\t} else {\n\t\t\treturn props.fallback != null ? <>{props.fallback}</> : null;\n\t\t}\n\t}, [\n\t\tprops.field,\n\t\tprops.internalLinkComponent,\n\t\tprops.externalLinkComponent,\n\t\tprops.components,\n\t\tprops.linkResolver,\n\t\tprops.fallback,\n\t\tcontext.linkResolver,\n\t\tcontext.richTextComponents,\n\t]);\n};\n"],"names":["prismicR","jsx","PrismicLink","React","usePrismicContext","prismicH","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"PrismicRichText.cjs","sources":["../../src/PrismicRichText.tsx"],"sourcesContent":["\"use client\";\n\nimport * as prismic from \"@prismicio/client\";\nimport * as prismicR from \"@prismicio/richtext\";\n\nimport {\n\tPrismicRichText as ServerPrismicRichText,\n\tPrismicRichTextProps,\n} from \"./react-server/PrismicRichText\";\n\nimport { usePrismicContext } from \"./usePrismicContext\";\n\nexport { PrismicRichTextProps };\n\nexport const PrismicRichText = function PrismicRichText<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismic.LinkResolverFunction<any> = prismic.LinkResolverFunction,\n>({ components, ...restProps }: PrismicRichTextProps<LinkResolverFunction>) {\n\tconst context = usePrismicContext();\n\n\tconst serializer = prismicR.composeSerializers(\n\t\ttypeof components === \"object\"\n\t\t\t? prismicR.wrapMapSerializer(components)\n\t\t\t: components,\n\t\ttypeof context.richTextComponents === \"object\"\n\t\t\t? prismicR.wrapMapSerializer(context.richTextComponents)\n\t\t\t: context.richTextComponents,\n\t);\n\n\treturn (\n\t\t<ServerPrismicRichText\n\t\t\tcomponents={serializer}\n\t\t\tinternalLinkComponent={context.internalLinkComponent}\n\t\t\texternalLinkComponent={context.externalLinkComponent}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n};\n"],"names":["PrismicRichText","usePrismicContext","prismicR","jsx","ServerPrismicRichText"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,kBAAkB,SAASA,iBAGtC,EAAE,YAAY,GAAG,aAAuD;AACzE,QAAM,UAAUC,kBAAAA;AAEV,QAAA,aAAaC,oBAAS,mBAC3B,OAAO,eAAe,WACnBA,oBAAS,kBAAkB,UAAU,IACrC,YACH,OAAO,QAAQ,uBAAuB,WACnCA,oBAAS,kBAAkB,QAAQ,kBAAkB,IACrD,QAAQ,kBAAkB;AAI7B,SAAAC,2BAAA,IAACC,kBACA,iBAAA,EAAA,YAAY,YACZ,uBAAuB,QAAQ,uBAC/B,uBAAuB,QAAQ,uBAC3B,GAAA,UAAU,CAAA;AAGjB;;"}
@@ -1,116 +1,4 @@
1
- import * as React from "react";
2
- import * as prismicT from "@prismicio/types";
3
- import * as prismicH from "@prismicio/helpers";
4
- import { JSXFunctionSerializer, JSXMapSerializer } from "./types";
5
- import { PrismicLinkProps } from "./PrismicLink";
6
- /**
7
- * Props for `<PrismicRichText>`.
8
- */
9
- export type PrismicRichTextProps<LinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction> = {
10
- /**
11
- * The Prismic Rich Text field to render.
12
- */
13
- field: prismicT.RichTextField | null | undefined;
14
- /**
15
- * The Link Resolver used to resolve links.
16
- *
17
- * @remarks
18
- * If your app uses Route Resolvers when querying for your Prismic
19
- * repository's content, a Link Resolver does not need to be provided.
20
- * @see Learn about Link Resolvers and Route Resolvers {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver}
21
- */
22
- linkResolver?: LinkResolverFunction;
23
- /**
24
- * A function that maps a Rich Text block to a React component.
25
- *
26
- * @deprecated Use the `components` prop instead. Prefer using a map
27
- * serializer when possible.
28
- * @see Learn about Rich Text serializers {@link https://prismic.io/docs/core-concepts/html-serializer}
29
- */
30
- htmlSerializer?: JSXFunctionSerializer;
31
- /**
32
- * A map or function that maps a Rich Text block to a React component.
33
- *
34
- * @remarks
35
- * Prefer using a map serializer over the function serializer when possible.
36
- * The map serializer is simpler to maintain.
37
- * @example A map serializer.
38
- *
39
- * ```jsx
40
- * {
41
- * heading1: ({children}) => <Heading>{children}</Heading>
42
- * }
43
- * ```
44
- *
45
- * @example A function serializer.
46
- *
47
- * ```jsx
48
- * (type, node, content, children) => {
49
- * switch (type) {
50
- * case "heading1": {
51
- * return <Heading>{children}</Heading>;
52
- * }
53
- * }
54
- * };
55
- * ```
56
- */
57
- components?: JSXMapSerializer | JSXFunctionSerializer;
58
- /**
59
- * The React component rendered for links when the URL is internal.
60
- *
61
- * @defaultValue `<a>`
62
- */
63
- internalLinkComponent?: PrismicLinkProps["internalComponent"];
64
- /**
65
- * The React component rendered for links when the URL is external.
66
- *
67
- * @defaultValue `<a>`
68
- */
69
- externalLinkComponent?: PrismicLinkProps["externalComponent"];
70
- /**
71
- * The value to be rendered when the field is empty. If a fallback is not
72
- * given, `null` will be rendered.
73
- */
74
- fallback?: React.ReactNode;
75
- };
76
- /**
77
- * React component that renders content from a Prismic Rich Text field. By
78
- * default, HTML elements are rendered for each piece of content. A `heading1`
79
- * block will render an `<h1>` HTML element, for example. Links will use
80
- * `<PrismicLink>` by default which can be customized using the
81
- * `internalLinkComponent` and `externalLinkComponent` props.
82
- *
83
- * To customize the components that are rendered, provide a map or function
84
- * serializer to the `components` prop.
85
- *
86
- * Components can also be provided in a centralized location using the
87
- * `<PrismicProvider>` React context provider.
88
- *
89
- * @remarks
90
- * This component returns a React fragment with no wrapping element around the
91
- * content. If you need a wrapper, add a component around `<PrismicRichText>`.
92
- * @example Rendering a Rich Text field using the default HTMl elements.
93
- *
94
- * ```jsx
95
- * <PrismicRichText field={document.data.content} />;
96
- * ```
97
- *
98
- * @example Rendering a Rich Text field using a custom set of React components.
99
- *
100
- * ```jsx
101
- * <PrismicRichText
102
- * field={document.data.content}
103
- * components={{
104
- * heading1: ({ children }) => <Heading>{children}</Heading>,
105
- * }}
106
- * />;
107
- * ```
108
- *
109
- * @param props - Props for the component.
110
- *
111
- * @returns The Rich Text field's content as React components.
112
- *
113
- * @see Learn about Rich Text fields {@link https://prismic.io/docs/core-concepts/rich-text-title}
114
- * @see Learn about Rich Text serializers {@link https://prismic.io/docs/core-concepts/html-serializer}
115
- */
116
- export declare const PrismicRichText: <LinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction<string>>(props: PrismicRichTextProps<LinkResolverFunction>) => JSX.Element | null;
1
+ import * as prismic from "@prismicio/client";
2
+ import { PrismicRichTextProps } from "./react-server/PrismicRichText";
3
+ export { PrismicRichTextProps };
4
+ export declare const PrismicRichText: <LinkResolverFunction extends prismic.LinkResolverFunction<any> = prismic.LinkResolverFunction>({ components, ...restProps }: PrismicRichTextProps<LinkResolverFunction>) => JSX.Element;
@@ -1,76 +1,11 @@
1
- import { jsx, Fragment } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import * as prismicH from "@prismicio/helpers";
1
+ import { jsx } from "react/jsx-runtime";
4
2
  import * as prismicR from "@prismicio/richtext";
5
- import { PrismicLink } from "./PrismicLink.js";
3
+ import { PrismicRichText as PrismicRichText$1 } from "./react-server/PrismicRichText.js";
6
4
  import { usePrismicContext } from "./usePrismicContext.js";
7
- const createDefaultSerializer = (args) => prismicR.wrapMapSerializer({
8
- heading1: ({ children, key }) => /* @__PURE__ */ jsx("h1", { children }, key),
9
- heading2: ({ children, key }) => /* @__PURE__ */ jsx("h2", { children }, key),
10
- heading3: ({ children, key }) => /* @__PURE__ */ jsx("h3", { children }, key),
11
- heading4: ({ children, key }) => /* @__PURE__ */ jsx("h4", { children }, key),
12
- heading5: ({ children, key }) => /* @__PURE__ */ jsx("h5", { children }, key),
13
- heading6: ({ children, key }) => /* @__PURE__ */ jsx("h6", { children }, key),
14
- paragraph: ({ children, key }) => /* @__PURE__ */ jsx("p", { children }, key),
15
- preformatted: ({ node, key }) => /* @__PURE__ */ jsx("pre", { children: node.text }, key),
16
- strong: ({ children, key }) => /* @__PURE__ */ jsx("strong", { children }, key),
17
- em: ({ children, key }) => /* @__PURE__ */ jsx("em", { children }, key),
18
- listItem: ({ children, key }) => /* @__PURE__ */ jsx("li", { children }, key),
19
- oListItem: ({ children, key }) => /* @__PURE__ */ jsx("li", { children }, key),
20
- list: ({ children, key }) => /* @__PURE__ */ jsx("ul", { children }, key),
21
- oList: ({ children, key }) => /* @__PURE__ */ jsx("ol", { children }, key),
22
- image: ({ node, key }) => {
23
- const img = /* @__PURE__ */ jsx("img", { src: node.url, alt: node.alt ?? void 0, "data-copyright": node.copyright ? node.copyright : void 0 });
24
- return /* @__PURE__ */ jsx("p", { className: "block-img", children: node.linkTo ? /* @__PURE__ */ jsx(PrismicLink, { linkResolver: args.linkResolver, internalComponent: args.internalLinkComponent, externalComponent: args.externalLinkComponent, field: node.linkTo, children: img }) : img }, key);
25
- },
26
- embed: ({ node, key }) => /* @__PURE__ */ jsx("div", { "data-oembed": node.oembed.embed_url, "data-oembed-type": node.oembed.type, "data-oembed-provider": node.oembed.provider_name, dangerouslySetInnerHTML: { __html: node.oembed.html ?? "" } }, key),
27
- hyperlink: ({ node, children, key }) => /* @__PURE__ */ jsx(PrismicLink, { field: node.data, linkResolver: args.linkResolver, internalComponent: args.internalLinkComponent, externalComponent: args.externalLinkComponent, children }, key),
28
- label: ({ node, children, key }) => /* @__PURE__ */ jsx("span", { className: node.data.label, children }, key),
29
- span: ({ text, key }) => {
30
- const result = [];
31
- let i = 0;
32
- for (const line of text.split("\n")) {
33
- if (i > 0) {
34
- result.push(/* @__PURE__ */ jsx("br", {}, `${i}__break`));
35
- }
36
- result.push(/* @__PURE__ */ jsx(React.Fragment, { children: line }, `${i}__line`));
37
- i++;
38
- }
39
- return /* @__PURE__ */ jsx(React.Fragment, { children: result }, key);
40
- }
41
- });
42
- const PrismicRichText = (props) => {
5
+ const PrismicRichText = function PrismicRichText2({ components, ...restProps }) {
43
6
  const context = usePrismicContext();
44
- return React.useMemo(() => {
45
- if (prismicH.isFilled.richText(props.field)) {
46
- const linkResolver = props.linkResolver || context.linkResolver;
47
- 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({
48
- linkResolver,
49
- internalLinkComponent: props.internalLinkComponent,
50
- externalLinkComponent: props.externalLinkComponent
51
- }));
52
- const serialized = prismicR.serialize(props.field, (type, node, text, children, key) => {
53
- const result = serializer(type, node, text, children, key);
54
- if (React.isValidElement(result) && result.key == null) {
55
- return React.cloneElement(result, { key });
56
- } else {
57
- return result;
58
- }
59
- });
60
- return /* @__PURE__ */ jsx(Fragment, { children: serialized });
61
- } else {
62
- return props.fallback != null ? /* @__PURE__ */ jsx(Fragment, { children: props.fallback }) : null;
63
- }
64
- }, [
65
- props.field,
66
- props.internalLinkComponent,
67
- props.externalLinkComponent,
68
- props.components,
69
- props.linkResolver,
70
- props.fallback,
71
- context.linkResolver,
72
- context.richTextComponents
73
- ]);
7
+ const serializer = prismicR.composeSerializers(typeof components === "object" ? prismicR.wrapMapSerializer(components) : components, typeof context.richTextComponents === "object" ? prismicR.wrapMapSerializer(context.richTextComponents) : context.richTextComponents);
8
+ return /* @__PURE__ */ jsx(PrismicRichText$1, { components: serializer, internalLinkComponent: context.internalLinkComponent, externalLinkComponent: context.externalLinkComponent, ...restProps });
74
9
  };
75
10
  export {
76
11
  PrismicRichText
@@ -1 +1 @@
1
- {"version":3,"file":"PrismicRichText.js","sources":["../../src/PrismicRichText.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\n/* eslint-disable react/prop-types */\n\nimport * as React from \"react\";\nimport * as prismicT from \"@prismicio/types\";\nimport * as prismicH from \"@prismicio/helpers\";\nimport * as prismicR from \"@prismicio/richtext\";\n\nimport { JSXFunctionSerializer, JSXMapSerializer } from \"./types\";\nimport { PrismicLink, PrismicLinkProps } from \"./PrismicLink\";\nimport { usePrismicContext } from \"./usePrismicContext\";\n\n/**\n * Props for `<PrismicRichText>`.\n */\nexport type PrismicRichTextProps<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n> = {\n\t/**\n\t * The Prismic Rich Text field to render.\n\t */\n\tfield: prismicT.RichTextField | null | undefined;\n\n\t/**\n\t * The Link Resolver used to resolve links.\n\t *\n\t * @remarks\n\t * If your app uses Route Resolvers when querying for your Prismic\n\t * repository's content, a Link Resolver does not need to be provided.\n\t * @see Learn about Link Resolvers and Route Resolvers {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver}\n\t */\n\tlinkResolver?: LinkResolverFunction;\n\n\t/**\n\t * A function that maps a Rich Text block to a React component.\n\t *\n\t * @deprecated Use the `components` prop instead. Prefer using a map\n\t * serializer when possible.\n\t * @see Learn about Rich Text serializers {@link https://prismic.io/docs/core-concepts/html-serializer}\n\t */\n\thtmlSerializer?: JSXFunctionSerializer;\n\n\t/**\n\t * A map or function that maps a Rich Text block to a React component.\n\t *\n\t * @remarks\n\t * Prefer using a map serializer over the function serializer when possible.\n\t * The map serializer is simpler to maintain.\n\t * @example A map serializer.\n\t *\n\t * ```jsx\n\t * {\n\t * heading1: ({children}) => <Heading>{children}</Heading>\n\t * }\n\t * ```\n\t *\n\t * @example A function serializer.\n\t *\n\t * ```jsx\n\t * (type, node, content, children) => {\n\t * \tswitch (type) {\n\t * \t\tcase \"heading1\": {\n\t * \t\t\treturn <Heading>{children}</Heading>;\n\t * \t\t}\n\t * \t}\n\t * };\n\t * ```\n\t */\n\tcomponents?: JSXMapSerializer | JSXFunctionSerializer;\n\n\t/**\n\t * The React component rendered for links when the URL is internal.\n\t *\n\t * @defaultValue `<a>`\n\t */\n\tinternalLinkComponent?: PrismicLinkProps[\"internalComponent\"];\n\n\t/**\n\t * The React component rendered for links when the URL is external.\n\t *\n\t * @defaultValue `<a>`\n\t */\n\texternalLinkComponent?: PrismicLinkProps[\"externalComponent\"];\n\n\t/**\n\t * The value to be rendered when the field is empty. If a fallback is not\n\t * given, `null` will be rendered.\n\t */\n\tfallback?: React.ReactNode;\n};\n\ntype CreateDefaultSerializerArgs<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n> = {\n\tlinkResolver: LinkResolverFunction | undefined;\n\tinternalLinkComponent: PrismicRichTextProps[\"internalLinkComponent\"];\n\texternalLinkComponent: PrismicRichTextProps[\"externalLinkComponent\"];\n};\n\nconst createDefaultSerializer = (\n\targs: CreateDefaultSerializerArgs,\n): JSXFunctionSerializer =>\n\tprismicR.wrapMapSerializer({\n\t\theading1: ({ children, key }) => <h1 key={key}>{children}</h1>,\n\t\theading2: ({ children, key }) => <h2 key={key}>{children}</h2>,\n\t\theading3: ({ children, key }) => <h3 key={key}>{children}</h3>,\n\t\theading4: ({ children, key }) => <h4 key={key}>{children}</h4>,\n\t\theading5: ({ children, key }) => <h5 key={key}>{children}</h5>,\n\t\theading6: ({ children, key }) => <h6 key={key}>{children}</h6>,\n\t\tparagraph: ({ children, key }) => <p key={key}>{children}</p>,\n\t\tpreformatted: ({ node, key }) => <pre key={key}>{node.text}</pre>,\n\t\tstrong: ({ children, key }) => <strong key={key}>{children}</strong>,\n\t\tem: ({ children, key }) => <em key={key}>{children}</em>,\n\t\tlistItem: ({ children, key }) => <li key={key}>{children}</li>,\n\t\toListItem: ({ children, key }) => <li key={key}>{children}</li>,\n\t\tlist: ({ children, key }) => <ul key={key}>{children}</ul>,\n\t\toList: ({ children, key }) => <ol key={key}>{children}</ol>,\n\t\timage: ({ node, key }) => {\n\t\t\tconst img = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={node.url}\n\t\t\t\t\talt={node.alt ?? undefined}\n\t\t\t\t\tdata-copyright={node.copyright ? node.copyright : undefined}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<p key={key} className=\"block-img\">\n\t\t\t\t\t{node.linkTo ? (\n\t\t\t\t\t\t<PrismicLink\n\t\t\t\t\t\t\tlinkResolver={args.linkResolver}\n\t\t\t\t\t\t\tinternalComponent={args.internalLinkComponent}\n\t\t\t\t\t\t\texternalComponent={args.externalLinkComponent}\n\t\t\t\t\t\t\tfield={node.linkTo}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{img}\n\t\t\t\t\t\t</PrismicLink>\n\t\t\t\t\t) : (\n\t\t\t\t\t\timg\n\t\t\t\t\t)}\n\t\t\t\t</p>\n\t\t\t);\n\t\t},\n\t\tembed: ({ node, key }) => (\n\t\t\t<div\n\t\t\t\tkey={key}\n\t\t\t\tdata-oembed={node.oembed.embed_url}\n\t\t\t\tdata-oembed-type={node.oembed.type}\n\t\t\t\tdata-oembed-provider={node.oembed.provider_name}\n\t\t\t\tdangerouslySetInnerHTML={{ __html: node.oembed.html ?? \"\" }}\n\t\t\t/>\n\t\t),\n\t\thyperlink: ({ node, children, key }) => (\n\t\t\t<PrismicLink\n\t\t\t\tkey={key}\n\t\t\t\tfield={node.data}\n\t\t\t\tlinkResolver={args.linkResolver}\n\t\t\t\tinternalComponent={args.internalLinkComponent}\n\t\t\t\texternalComponent={args.externalLinkComponent}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</PrismicLink>\n\t\t),\n\t\tlabel: ({ node, children, key }) => (\n\t\t\t<span key={key} className={node.data.label}>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t),\n\t\tspan: ({ text, key }) => {\n\t\t\tconst result: React.ReactNode[] = [];\n\n\t\t\tlet i = 0;\n\t\t\tfor (const line of text.split(\"\\n\")) {\n\t\t\t\tif (i > 0) {\n\t\t\t\t\tresult.push(<br key={`${i}__break`} />);\n\t\t\t\t}\n\n\t\t\t\tresult.push(<React.Fragment key={`${i}__line`}>{line}</React.Fragment>);\n\n\t\t\t\ti++;\n\t\t\t}\n\n\t\t\treturn <React.Fragment key={key}>{result}</React.Fragment>;\n\t\t},\n\t});\n\n/**\n * React component that renders content from a Prismic Rich Text field. By\n * default, HTML elements are rendered for each piece of content. A `heading1`\n * block will render an `<h1>` HTML element, for example. Links will use\n * `<PrismicLink>` by default which can be customized using the\n * `internalLinkComponent` and `externalLinkComponent` props.\n *\n * To customize the components that are rendered, provide a map or function\n * serializer to the `components` prop.\n *\n * Components can also be provided in a centralized location using the\n * `<PrismicProvider>` React context provider.\n *\n * @remarks\n * This component returns a React fragment with no wrapping element around the\n * content. If you need a wrapper, add a component around `<PrismicRichText>`.\n * @example Rendering a Rich Text field using the default HTMl elements.\n *\n * ```jsx\n * <PrismicRichText field={document.data.content} />;\n * ```\n *\n * @example Rendering a Rich Text field using a custom set of React components.\n *\n * ```jsx\n * <PrismicRichText\n * \tfield={document.data.content}\n * \tcomponents={{\n * \t\theading1: ({ children }) => <Heading>{children}</Heading>,\n * \t}}\n * />;\n * ```\n *\n * @param props - Props for the component.\n *\n * @returns The Rich Text field's content as React components.\n *\n * @see Learn about Rich Text fields {@link https://prismic.io/docs/core-concepts/rich-text-title}\n * @see Learn about Rich Text serializers {@link https://prismic.io/docs/core-concepts/html-serializer}\n */\nexport const PrismicRichText = <\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismicH.LinkResolverFunction<any> = prismicH.LinkResolverFunction,\n>(\n\tprops: PrismicRichTextProps<LinkResolverFunction>,\n): JSX.Element | null => {\n\tconst context = usePrismicContext();\n\n\treturn React.useMemo(() => {\n\t\tif (prismicH.isFilled.richText(props.field)) {\n\t\t\tconst linkResolver = props.linkResolver || context.linkResolver;\n\n\t\t\tconst serializer = prismicR.composeSerializers(\n\t\t\t\ttypeof props.components === \"object\"\n\t\t\t\t\t? prismicR.wrapMapSerializer(props.components)\n\t\t\t\t\t: props.components,\n\t\t\t\ttypeof context.richTextComponents === \"object\"\n\t\t\t\t\t? prismicR.wrapMapSerializer(context.richTextComponents)\n\t\t\t\t\t: context.richTextComponents,\n\t\t\t\tcreateDefaultSerializer({\n\t\t\t\t\tlinkResolver,\n\t\t\t\t\tinternalLinkComponent: props.internalLinkComponent,\n\t\t\t\t\texternalLinkComponent: props.externalLinkComponent,\n\t\t\t\t}),\n\t\t\t);\n\n\t\t\t// The serializer is wrapped in a higher-order function\n\t\t\t// that automatically applies a key to React Elements\n\t\t\t// if one is not already given.\n\t\t\tconst serialized = prismicR.serialize<JSX.Element>(\n\t\t\t\tprops.field,\n\t\t\t\t(type, node, text, children, key) => {\n\t\t\t\t\tconst result = serializer(type, node, text, children, key);\n\n\t\t\t\t\tif (React.isValidElement(result) && result.key == null) {\n\t\t\t\t\t\treturn React.cloneElement(result, { key });\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t);\n\n\t\t\treturn <>{serialized}</>;\n\t\t} else {\n\t\t\treturn props.fallback != null ? <>{props.fallback}</> : null;\n\t\t}\n\t}, [\n\t\tprops.field,\n\t\tprops.internalLinkComponent,\n\t\tprops.externalLinkComponent,\n\t\tprops.components,\n\t\tprops.linkResolver,\n\t\tprops.fallback,\n\t\tcontext.linkResolver,\n\t\tcontext.richTextComponents,\n\t]);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrismicRichText.js","sources":["../../src/PrismicRichText.tsx"],"sourcesContent":["\"use client\";\n\nimport * as prismic from \"@prismicio/client\";\nimport * as prismicR from \"@prismicio/richtext\";\n\nimport {\n\tPrismicRichText as ServerPrismicRichText,\n\tPrismicRichTextProps,\n} from \"./react-server/PrismicRichText\";\n\nimport { usePrismicContext } from \"./usePrismicContext\";\n\nexport { PrismicRichTextProps };\n\nexport const PrismicRichText = function PrismicRichText<\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tLinkResolverFunction extends prismic.LinkResolverFunction<any> = prismic.LinkResolverFunction,\n>({ components, ...restProps }: PrismicRichTextProps<LinkResolverFunction>) {\n\tconst context = usePrismicContext();\n\n\tconst serializer = prismicR.composeSerializers(\n\t\ttypeof components === \"object\"\n\t\t\t? prismicR.wrapMapSerializer(components)\n\t\t\t: components,\n\t\ttypeof context.richTextComponents === \"object\"\n\t\t\t? prismicR.wrapMapSerializer(context.richTextComponents)\n\t\t\t: context.richTextComponents,\n\t);\n\n\treturn (\n\t\t<ServerPrismicRichText\n\t\t\tcomponents={serializer}\n\t\t\tinternalLinkComponent={context.internalLinkComponent}\n\t\t\texternalLinkComponent={context.externalLinkComponent}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n};\n"],"names":["PrismicRichText","ServerPrismicRichText"],"mappings":";;;;AAcO,MAAM,kBAAkB,SAASA,iBAGtC,EAAE,YAAY,GAAG,aAAuD;AACzE,QAAM,UAAU;AAEV,QAAA,aAAa,SAAS,mBAC3B,OAAO,eAAe,WACnB,SAAS,kBAAkB,UAAU,IACrC,YACH,OAAO,QAAQ,uBAAuB,WACnC,SAAS,kBAAkB,QAAQ,kBAAkB,IACrD,QAAQ,kBAAkB;AAI7B,SAAA,oBAACC,mBACA,EAAA,YAAY,YACZ,uBAAuB,QAAQ,uBAC/B,uBAAuB,QAAQ,uBAC3B,GAAA,UAAU,CAAA;AAGjB;"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
- const prismicH = require("@prismicio/helpers");
5
+ const prismic = require("@prismicio/client");
6
6
  const __PRODUCTION__ = require("./lib/__PRODUCTION__.cjs");
7
7
  const devMsg = require("./lib/devMsg.cjs");
8
8
  function _interopNamespaceDefault(e) {
@@ -22,7 +22,7 @@ function _interopNamespaceDefault(e) {
22
22
  return Object.freeze(n);
23
23
  }
24
24
  const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
25
- const prismicH__namespace = /* @__PURE__ */ _interopNamespaceDefault(prismicH);
25
+ const prismic__namespace = /* @__PURE__ */ _interopNamespaceDefault(prismic);
26
26
  const PrismicText = (props) => {
27
27
  if (!__PRODUCTION__.__PRODUCTION__) {
28
28
  if (typeof props.field === "string") {
@@ -30,8 +30,8 @@ const PrismicText = (props) => {
30
30
  }
31
31
  }
32
32
  return React__namespace.useMemo(() => {
33
- if (prismicH__namespace.isFilled.richText(props.field)) {
34
- const text = prismicH__namespace.asText(props.field, props.separator);
33
+ if (prismic__namespace.isFilled.richText(props.field)) {
34
+ const text = prismic__namespace.asText(props.field, props.separator);
35
35
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: text });
36
36
  } else {
37
37
  return props.fallback != null ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: props.fallback }) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"PrismicText.cjs","sources":["../../src/PrismicText.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as prismicT from \"@prismicio/types\";\nimport * as prismicH from \"@prismicio/helpers\";\n\nimport { __PRODUCTION__ } from \"./lib/__PRODUCTION__\";\nimport { devMsg } from \"./lib/devMsg\";\n\n/**\n * Props for `<PrismicText>`.\n */\nexport type PrismicTextProps = {\n\t/**\n\t * The Prismic Rich Text field to render.\n\t */\n\tfield: prismicT.RichTextField | null | undefined;\n\n\t/**\n\t * The string rendered when the field is empty. If a fallback is not given,\n\t * `null` will be rendered.\n\t */\n\tfallback?: string;\n\n\t/**\n\t * The separator used between blocks. Defaults to `\\n`.\n\t */\n\tseparator?: string;\n};\n\n/**\n * React component that renders content from a Prismic Rich Text field as plain\n * text.\n *\n * @remarks\n * This component returns a React fragment with no wrapping element around the\n * content. If you need a wrapper, add a component around `<PrismicText>`.\n * @example Rendering a Rich Text field as plain text.\n *\n * ```jsx\n * <PrismicText field={document.data.content} />;\n * ```\n *\n * @param props - Props for the component.\n *\n * @returns The Rich Text field's content as plain text.\n *\n * @see Learn about Rich Text fields {@link https://prismic.io/docs/core-concepts/rich-text-title}\n */\nexport const PrismicText = (props: PrismicTextProps): JSX.Element | null => {\n\tif (!__PRODUCTION__) {\n\t\tif (typeof props.field === \"string\") {\n\t\t\tthrow new Error(\n\t\t\t\t`[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(\n\t\t\t\t\t\"prismictext-works-only-with-rich-text-and-title-fields\",\n\t\t\t\t)}`,\n\t\t\t);\n\t\t}\n\t}\n\n\treturn React.useMemo(() => {\n\t\tif (prismicH.isFilled.richText(props.field)) {\n\t\t\tconst text = prismicH.asText(props.field, props.separator);\n\n\t\t\treturn <>{text}</>;\n\t\t} else {\n\t\t\treturn props.fallback != null ? <>{props.fallback}</> : null;\n\t\t}\n\t}, [props.field, props.fallback, props.separator]);\n};\n"],"names":["__PRODUCTION__","devMsg","React","prismicH","jsx","Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA+Ca,MAAA,cAAc,CAAC,UAA+C;AAC1E,MAAI,CAACA,eAAAA,gBAAgB;AAChB,QAAA,OAAO,MAAM,UAAU,UAAU;AACpC,YAAM,IAAI,MACT,oRAAoRC,OAAA,OACnR,wDAAwD,GACtD;AAAA,IAEJ;AAAA,EACD;AAEM,SAAAC,iBAAM,QAAQ,MAAK;AACzB,QAAIC,oBAAS,SAAS,SAAS,MAAM,KAAK,GAAG;AAC5C,YAAM,OAAOA,oBAAS,OAAO,MAAM,OAAO,MAAM,SAAS;AAEzD,mEAAU,UAAK,KAAA,CAAA;AAAA,IAAA,OACT;AACN,aAAO,MAAM,YAAY,OAAUC,+BAAAC,WAAAA,UAAA,EAAA,UAAA,MAAM,SAAS,CAAA,IAAM;AAAA,IACxD;AAAA,EAAA,GACC,CAAC,MAAM,OAAO,MAAM,UAAU,MAAM,SAAS,CAAC;AAClD;;"}
1
+ {"version":3,"file":"PrismicText.cjs","sources":["../../src/PrismicText.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as prismic from \"@prismicio/client\";\n\nimport { __PRODUCTION__ } from \"./lib/__PRODUCTION__\";\nimport { devMsg } from \"./lib/devMsg\";\n\n/**\n * Props for `<PrismicText>`.\n */\nexport type PrismicTextProps = {\n\t/**\n\t * The Prismic Rich Text field to render.\n\t */\n\tfield: prismic.RichTextField | null | undefined;\n\n\t/**\n\t * The string rendered when the field is empty. If a fallback is not given,\n\t * `null` will be rendered.\n\t */\n\tfallback?: string;\n\n\t/**\n\t * The separator used between blocks. Defaults to `\\n`.\n\t */\n\tseparator?: string;\n};\n\n/**\n * React component that renders content from a Prismic Rich Text field as plain\n * text.\n *\n * @remarks\n * This component returns a React fragment with no wrapping element around the\n * content. If you need a wrapper, add a component around `<PrismicText>`.\n * @example Rendering a Rich Text field as plain text.\n *\n * ```jsx\n * <PrismicText field={document.data.content} />;\n * ```\n *\n * @param props - Props for the component.\n *\n * @returns The Rich Text field's content as plain text.\n *\n * @see Learn about Rich Text fields {@link https://prismic.io/docs/core-concepts/rich-text-title}\n */\nexport const PrismicText = (props: PrismicTextProps): JSX.Element | null => {\n\tif (!__PRODUCTION__) {\n\t\tif (typeof props.field === \"string\") {\n\t\t\tthrow new Error(\n\t\t\t\t`[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(\n\t\t\t\t\t\"prismictext-works-only-with-rich-text-and-title-fields\",\n\t\t\t\t)}`,\n\t\t\t);\n\t\t}\n\t}\n\n\treturn React.useMemo(() => {\n\t\tif (prismic.isFilled.richText(props.field)) {\n\t\t\tconst text = prismic.asText(props.field, props.separator);\n\n\t\t\treturn <>{text}</>;\n\t\t} else {\n\t\t\treturn props.fallback != null ? <>{props.fallback}</> : null;\n\t\t}\n\t}, [props.field, props.fallback, props.separator]);\n};\n"],"names":["__PRODUCTION__","devMsg","React","prismic","jsx","Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8Ca,MAAA,cAAc,CAAC,UAA+C;AAC1E,MAAI,CAACA,eAAAA,gBAAgB;AAChB,QAAA,OAAO,MAAM,UAAU,UAAU;AACpC,YAAM,IAAI,MACT,oRAAoRC,OAAA,OACnR,wDAAwD,GACtD;AAAA,IAEJ;AAAA,EACD;AAEM,SAAAC,iBAAM,QAAQ,MAAK;AACzB,QAAIC,mBAAQ,SAAS,SAAS,MAAM,KAAK,GAAG;AAC3C,YAAM,OAAOA,mBAAQ,OAAO,MAAM,OAAO,MAAM,SAAS;AAExD,mEAAU,UAAK,KAAA,CAAA;AAAA,IAAA,OACT;AACN,aAAO,MAAM,YAAY,OAAUC,+BAAAC,WAAAA,UAAA,EAAA,UAAA,MAAM,SAAS,CAAA,IAAM;AAAA,IACxD;AAAA,EAAA,GACC,CAAC,MAAM,OAAO,MAAM,UAAU,MAAM,SAAS,CAAC;AAClD;;"}
@@ -1,4 +1,4 @@
1
- import * as prismicT from "@prismicio/types";
1
+ import * as prismic from "@prismicio/client";
2
2
  /**
3
3
  * Props for `<PrismicText>`.
4
4
  */
@@ -6,7 +6,7 @@ export type PrismicTextProps = {
6
6
  /**
7
7
  * The Prismic Rich Text field to render.
8
8
  */
9
- field: prismicT.RichTextField | null | undefined;
9
+ field: prismic.RichTextField | null | undefined;
10
10
  /**
11
11
  * The string rendered when the field is empty. If a fallback is not given,
12
12
  * `null` will be rendered.
@@ -1,6 +1,6 @@
1
1
  import { jsx, Fragment } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
- import * as prismicH from "@prismicio/helpers";
3
+ import * as prismic from "@prismicio/client";
4
4
  import { __PRODUCTION__ } from "./lib/__PRODUCTION__.js";
5
5
  import { devMsg } from "./lib/devMsg.js";
6
6
  const PrismicText = (props) => {
@@ -10,8 +10,8 @@ const PrismicText = (props) => {
10
10
  }
11
11
  }
12
12
  return React.useMemo(() => {
13
- if (prismicH.isFilled.richText(props.field)) {
14
- const text = prismicH.asText(props.field, props.separator);
13
+ if (prismic.isFilled.richText(props.field)) {
14
+ const text = prismic.asText(props.field, props.separator);
15
15
  return /* @__PURE__ */ jsx(Fragment, { children: text });
16
16
  } else {
17
17
  return props.fallback != null ? /* @__PURE__ */ jsx(Fragment, { children: props.fallback }) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"PrismicText.js","sources":["../../src/PrismicText.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as prismicT from \"@prismicio/types\";\nimport * as prismicH from \"@prismicio/helpers\";\n\nimport { __PRODUCTION__ } from \"./lib/__PRODUCTION__\";\nimport { devMsg } from \"./lib/devMsg\";\n\n/**\n * Props for `<PrismicText>`.\n */\nexport type PrismicTextProps = {\n\t/**\n\t * The Prismic Rich Text field to render.\n\t */\n\tfield: prismicT.RichTextField | null | undefined;\n\n\t/**\n\t * The string rendered when the field is empty. If a fallback is not given,\n\t * `null` will be rendered.\n\t */\n\tfallback?: string;\n\n\t/**\n\t * The separator used between blocks. Defaults to `\\n`.\n\t */\n\tseparator?: string;\n};\n\n/**\n * React component that renders content from a Prismic Rich Text field as plain\n * text.\n *\n * @remarks\n * This component returns a React fragment with no wrapping element around the\n * content. If you need a wrapper, add a component around `<PrismicText>`.\n * @example Rendering a Rich Text field as plain text.\n *\n * ```jsx\n * <PrismicText field={document.data.content} />;\n * ```\n *\n * @param props - Props for the component.\n *\n * @returns The Rich Text field's content as plain text.\n *\n * @see Learn about Rich Text fields {@link https://prismic.io/docs/core-concepts/rich-text-title}\n */\nexport const PrismicText = (props: PrismicTextProps): JSX.Element | null => {\n\tif (!__PRODUCTION__) {\n\t\tif (typeof props.field === \"string\") {\n\t\t\tthrow new Error(\n\t\t\t\t`[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(\n\t\t\t\t\t\"prismictext-works-only-with-rich-text-and-title-fields\",\n\t\t\t\t)}`,\n\t\t\t);\n\t\t}\n\t}\n\n\treturn React.useMemo(() => {\n\t\tif (prismicH.isFilled.richText(props.field)) {\n\t\t\tconst text = prismicH.asText(props.field, props.separator);\n\n\t\t\treturn <>{text}</>;\n\t\t} else {\n\t\t\treturn props.fallback != null ? <>{props.fallback}</> : null;\n\t\t}\n\t}, [props.field, props.fallback, props.separator]);\n};\n"],"names":[],"mappings":";;;;;AA+Ca,MAAA,cAAc,CAAC,UAA+C;AAC1E,MAAI,CAAC,gBAAgB;AAChB,QAAA,OAAO,MAAM,UAAU,UAAU;AACpC,YAAM,IAAI,MACT,oRAAoR,OACnR,wDAAwD,GACtD;AAAA,IAEJ;AAAA,EACD;AAEM,SAAA,MAAM,QAAQ,MAAK;AACzB,QAAI,SAAS,SAAS,SAAS,MAAM,KAAK,GAAG;AAC5C,YAAM,OAAO,SAAS,OAAO,MAAM,OAAO,MAAM,SAAS;AAEzD,6CAAU,UAAK,KAAA,CAAA;AAAA,IAAA,OACT;AACN,aAAO,MAAM,YAAY,OAAU,oBAAA,UAAA,EAAA,UAAA,MAAM,SAAS,CAAA,IAAM;AAAA,IACxD;AAAA,EAAA,GACC,CAAC,MAAM,OAAO,MAAM,UAAU,MAAM,SAAS,CAAC;AAClD;"}
1
+ {"version":3,"file":"PrismicText.js","sources":["../../src/PrismicText.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as prismic from \"@prismicio/client\";\n\nimport { __PRODUCTION__ } from \"./lib/__PRODUCTION__\";\nimport { devMsg } from \"./lib/devMsg\";\n\n/**\n * Props for `<PrismicText>`.\n */\nexport type PrismicTextProps = {\n\t/**\n\t * The Prismic Rich Text field to render.\n\t */\n\tfield: prismic.RichTextField | null | undefined;\n\n\t/**\n\t * The string rendered when the field is empty. If a fallback is not given,\n\t * `null` will be rendered.\n\t */\n\tfallback?: string;\n\n\t/**\n\t * The separator used between blocks. Defaults to `\\n`.\n\t */\n\tseparator?: string;\n};\n\n/**\n * React component that renders content from a Prismic Rich Text field as plain\n * text.\n *\n * @remarks\n * This component returns a React fragment with no wrapping element around the\n * content. If you need a wrapper, add a component around `<PrismicText>`.\n * @example Rendering a Rich Text field as plain text.\n *\n * ```jsx\n * <PrismicText field={document.data.content} />;\n * ```\n *\n * @param props - Props for the component.\n *\n * @returns The Rich Text field's content as plain text.\n *\n * @see Learn about Rich Text fields {@link https://prismic.io/docs/core-concepts/rich-text-title}\n */\nexport const PrismicText = (props: PrismicTextProps): JSX.Element | null => {\n\tif (!__PRODUCTION__) {\n\t\tif (typeof props.field === \"string\") {\n\t\t\tthrow new Error(\n\t\t\t\t`[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(\n\t\t\t\t\t\"prismictext-works-only-with-rich-text-and-title-fields\",\n\t\t\t\t)}`,\n\t\t\t);\n\t\t}\n\t}\n\n\treturn React.useMemo(() => {\n\t\tif (prismic.isFilled.richText(props.field)) {\n\t\t\tconst text = prismic.asText(props.field, props.separator);\n\n\t\t\treturn <>{text}</>;\n\t\t} else {\n\t\t\treturn props.fallback != null ? <>{props.fallback}</> : null;\n\t\t}\n\t}, [props.field, props.fallback, props.separator]);\n};\n"],"names":[],"mappings":";;;;;AA8Ca,MAAA,cAAc,CAAC,UAA+C;AAC1E,MAAI,CAAC,gBAAgB;AAChB,QAAA,OAAO,MAAM,UAAU,UAAU;AACpC,YAAM,IAAI,MACT,oRAAoR,OACnR,wDAAwD,GACtD;AAAA,IAEJ;AAAA,EACD;AAEM,SAAA,MAAM,QAAQ,MAAK;AACzB,QAAI,QAAQ,SAAS,SAAS,MAAM,KAAK,GAAG;AAC3C,YAAM,OAAO,QAAQ,OAAO,MAAM,OAAO,MAAM,SAAS;AAExD,6CAAU,UAAK,KAAA,CAAA;AAAA,IAAA,OACT;AACN,aAAO,MAAM,YAAY,OAAU,oBAAA,UAAA,EAAA,UAAA,MAAM,SAAS,CAAA,IAAM;AAAA,IACxD;AAAA,EAAA,GACC,CAAC,MAAM,OAAO,MAAM,UAAU,MAAM,SAAS,CAAC;AAClD;"}