UNPKG

@shopify/hydrogen-react

Version:

React components, hooks, and utilities for creating custom Shopify storefronts

47 lines (46 loc) 1.74 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const require$$0 = require("react"); const storefrontApiConstants = require("./storefront-api-constants.js"); const jsxRuntime = require("react/jsx-runtime"); const ShopifyContext = require$$0.createContext({ storeDomain: "test.myshopify.com", storefrontToken: "abc123", storefrontApiVersion: storefrontApiConstants.SFAPI_VERSION, country: { isoCode: "US" }, language: { isoCode: "EN" }, locale: "EN-US" }); function ShopifyProvider({ children, shopifyConfig }) { if (!shopifyConfig) { throw new Error(`The 'shopifyConfig' prop must be passed to '<ShopifyProvider/>'`); } if (shopifyConfig.storefrontApiVersion !== storefrontApiConstants.SFAPI_VERSION) { console.warn(`This version of Hydrogen-UI is built for Shopify's Storefront API version ${storefrontApiConstants.SFAPI_VERSION}, but it looks like you're using version ${shopifyConfig.storefrontApiVersion}. There may be issues or bugs if you use a mismatched version of Hydrogen-UI and the Storefront API.`); } const finalConfig = require$$0.useMemo(() => ({ ...shopifyConfig, storeDomain: shopifyConfig.storeDomain.replace(/^https?:\/\//, "") }), [shopifyConfig]); return /* @__PURE__ */ jsxRuntime.jsx(ShopifyContext.Provider, { value: finalConfig, children }); } function useShop() { const shopContext = require$$0.useContext(ShopifyContext); if (!shopContext) { throw new Error(`'useShop()' must be a descendent of <ShopifyProvider/>`); } return shopContext; } exports.ShopifyProvider = ShopifyProvider; exports.useShop = useShop; //# sourceMappingURL=ShopifyProvider.js.map