/** * React bindings for the Shopify storefront adapter. Carries the React peer dep * and the `"use client"` boundary; the isomorphic resolver/verifier/metafield * surface lives at the package root (`@fanfare-io/fanfare-sdk-shopify`). * * `FanfareShopifyProvider` is the single provider the integrator configures with * store facts. `useFanfareExperience` is the Shopify→experience mapping the PDP * calls. `useFanfareWidgetBridge` connects the drop journey widget to the provider * (spread its `onJourneyChange` onto your ``), so the grant the * shopper earns reaches the gate + checkout. `useFanfareCheckout` is the recommended * on-buy path — its `gatedCheckout` owns the create→claim→add-line ordering — and it * also exposes the low-level `claim` (= `useFanfareClaim`) for bring-your-own-cart. * `` is the drop-in checkout guard, with `useFanfareGrant` exposed * for manual control of the loading/allowed/blocked states. The internal * `useShopifyAdapter` hook they build on is intentionally NOT exported. */ export type { FanfareCartAdapter } from '../cart-adapter'; export { productGid, variantGid } from '../checkout-types'; export type { FanfareCheckoutCode, FanfareCheckoutFailureKind, FanfareGatedCheckoutResult, GatedLine, ProductGID, VariantGID, } from '../checkout-types'; export type { ClaimRefusalReason, ClaimResult } from '../claimer'; export type { ExperienceSource, FanfareMode, ShopifyAdapterConfig, ShopifyProductRef } from '../config'; export { FanfareConfigurationError } from '../errors'; export type { ExperienceResolutionError, ExperienceResolutionErrorReason } from '../resolver'; export { FanfareCheckoutGate } from './fanfare-checkout-gate'; export type { FanfareCheckoutGateProps } from './fanfare-checkout-gate'; export { FanfareShopifyProvider } from './shopify-provider'; export type { FanfareShopifyProviderProps } from './shopify-provider'; export { useFanfareCheckout } from './use-fanfare-checkout'; export type { FanfareGatedCheckoutInput, UseFanfareCheckoutResult } from './use-fanfare-checkout'; export { useFanfareClaim } from './use-fanfare-claim'; export type { FanfareClaimInput, FanfareClaimState, UseFanfareClaimResult } from './use-fanfare-claim'; export { useFanfareExperience } from './use-fanfare-experience'; export type { UseFanfareExperienceResult } from './use-fanfare-experience'; export { useFanfareGrant } from './use-fanfare-grant'; export type { FanfareDenialReason, FanfareGrantState } from './use-fanfare-grant'; export { useFanfareWidgetBridge } from './use-fanfare-widget-bridge'; export type { FanfareWidgetBridge } from './use-fanfare-widget-bridge';