@shopify/hydrogen-react 0.0.0-next-8ee1ffb → 0.0.0-next-541cac7

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 (89) hide show
  1. package/dist/browser-dev/ShopPayButton.mjs +1 -1
  2. package/dist/browser-dev/ShopPayButton.mjs.map +1 -1
  3. package/dist/browser-dev/ShopifyProvider.mjs +2 -11
  4. package/dist/browser-dev/ShopifyProvider.mjs.map +1 -1
  5. package/dist/browser-dev/cart-queries.mjs +0 -8
  6. package/dist/browser-dev/cart-queries.mjs.map +1 -1
  7. package/dist/browser-dev/index.mjs +1 -5
  8. package/dist/browser-dev/index.mjs.map +1 -1
  9. package/dist/browser-dev/{metafield-parser.mjs → parse-metafield.mjs} +16 -7
  10. package/dist/browser-dev/parse-metafield.mjs.map +1 -0
  11. package/dist/browser-prod/ShopPayButton.mjs +1 -1
  12. package/dist/browser-prod/ShopPayButton.mjs.map +1 -1
  13. package/dist/browser-prod/ShopifyProvider.mjs +2 -8
  14. package/dist/browser-prod/ShopifyProvider.mjs.map +1 -1
  15. package/dist/browser-prod/cart-queries.mjs +0 -8
  16. package/dist/browser-prod/cart-queries.mjs.map +1 -1
  17. package/dist/browser-prod/index.mjs +1 -5
  18. package/dist/browser-prod/index.mjs.map +1 -1
  19. package/dist/browser-prod/{metafield-parser.mjs → parse-metafield.mjs} +16 -7
  20. package/dist/browser-prod/parse-metafield.mjs.map +1 -0
  21. package/dist/node-dev/ShopPayButton.js +1 -1
  22. package/dist/node-dev/ShopPayButton.js.map +1 -1
  23. package/dist/node-dev/ShopPayButton.mjs +1 -1
  24. package/dist/node-dev/ShopPayButton.mjs.map +1 -1
  25. package/dist/node-dev/ShopifyProvider.js +2 -11
  26. package/dist/node-dev/ShopifyProvider.js.map +1 -1
  27. package/dist/node-dev/ShopifyProvider.mjs +2 -11
  28. package/dist/node-dev/ShopifyProvider.mjs.map +1 -1
  29. package/dist/node-dev/cart-queries.js +0 -8
  30. package/dist/node-dev/cart-queries.js.map +1 -1
  31. package/dist/node-dev/cart-queries.mjs +0 -8
  32. package/dist/node-dev/cart-queries.mjs.map +1 -1
  33. package/dist/node-dev/index.js +2 -6
  34. package/dist/node-dev/index.js.map +1 -1
  35. package/dist/node-dev/index.mjs +1 -5
  36. package/dist/node-dev/index.mjs.map +1 -1
  37. package/dist/node-dev/{metafield-parser.js → parse-metafield.js} +18 -9
  38. package/dist/node-dev/parse-metafield.js.map +1 -0
  39. package/dist/node-dev/{metafield-parser.mjs → parse-metafield.mjs} +16 -7
  40. package/dist/node-dev/parse-metafield.mjs.map +1 -0
  41. package/dist/node-prod/ShopPayButton.js +1 -1
  42. package/dist/node-prod/ShopPayButton.js.map +1 -1
  43. package/dist/node-prod/ShopPayButton.mjs +1 -1
  44. package/dist/node-prod/ShopPayButton.mjs.map +1 -1
  45. package/dist/node-prod/ShopifyProvider.js +2 -8
  46. package/dist/node-prod/ShopifyProvider.js.map +1 -1
  47. package/dist/node-prod/ShopifyProvider.mjs +2 -8
  48. package/dist/node-prod/ShopifyProvider.mjs.map +1 -1
  49. package/dist/node-prod/cart-queries.js +0 -8
  50. package/dist/node-prod/cart-queries.js.map +1 -1
  51. package/dist/node-prod/cart-queries.mjs +0 -8
  52. package/dist/node-prod/cart-queries.mjs.map +1 -1
  53. package/dist/node-prod/index.js +2 -6
  54. package/dist/node-prod/index.js.map +1 -1
  55. package/dist/node-prod/index.mjs +1 -5
  56. package/dist/node-prod/index.mjs.map +1 -1
  57. package/dist/node-prod/{metafield-parser.js → parse-metafield.js} +18 -9
  58. package/dist/node-prod/parse-metafield.js.map +1 -0
  59. package/dist/node-prod/{metafield-parser.mjs → parse-metafield.mjs} +16 -7
  60. package/dist/node-prod/parse-metafield.mjs.map +1 -0
  61. package/dist/types/ShopifyProvider.d.ts +1 -1
  62. package/dist/types/cart-queries.d.ts +1 -1
  63. package/dist/types/index.d.cts +1 -2
  64. package/dist/types/index.d.ts +1 -2
  65. package/dist/types/{metafield-parser.d.ts → parse-metafield.d.ts} +9 -5
  66. package/dist/umd/hydrogen-react.dev.js +45 -430
  67. package/dist/umd/hydrogen-react.dev.js.map +1 -1
  68. package/dist/umd/hydrogen-react.prod.js +16 -25
  69. package/dist/umd/hydrogen-react.prod.js.map +1 -1
  70. package/package.json +1 -1
  71. package/dist/browser-dev/Metafield.mjs +0 -301
  72. package/dist/browser-dev/Metafield.mjs.map +0 -1
  73. package/dist/browser-dev/metafield-parser.mjs.map +0 -1
  74. package/dist/browser-prod/Metafield.mjs +0 -288
  75. package/dist/browser-prod/Metafield.mjs.map +0 -1
  76. package/dist/browser-prod/metafield-parser.mjs.map +0 -1
  77. package/dist/node-dev/Metafield.js +0 -301
  78. package/dist/node-dev/Metafield.js.map +0 -1
  79. package/dist/node-dev/Metafield.mjs +0 -301
  80. package/dist/node-dev/Metafield.mjs.map +0 -1
  81. package/dist/node-dev/metafield-parser.js.map +0 -1
  82. package/dist/node-dev/metafield-parser.mjs.map +0 -1
  83. package/dist/node-prod/Metafield.js +0 -288
  84. package/dist/node-prod/Metafield.js.map +0 -1
  85. package/dist/node-prod/Metafield.mjs +0 -288
  86. package/dist/node-prod/Metafield.mjs.map +0 -1
  87. package/dist/node-prod/metafield-parser.js.map +0 -1
  88. package/dist/node-prod/metafield-parser.mjs.map +0 -1
  89. package/dist/types/Metafield.d.ts +0 -61
@@ -846,17 +846,9 @@
846
846
  compareAtPrice {
847
847
  ...MoneyFragment
848
848
  }
849
- # @deprecated remove in next major
850
- compareAtPriceV2 {
851
- ...MoneyFragment
852
- }
853
849
  price {
854
850
  ...MoneyFragment
855
851
  }
856
- # @deprecated remove in next major
857
- priceV2 {
858
- ...MoneyFragment
859
- }
860
852
  requiresShipping
861
853
  title
862
854
  image {
@@ -998,7 +990,7 @@
998
990
  "X-Shopify-Storefront-Access-Token": accessToken
999
991
  };
1000
992
  }
1001
- var _jsxFileName$f = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopifyProvider.tsx";
993
+ var _jsxFileName$e = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopifyProvider.tsx";
1002
994
  const ShopifyContext = React.createContext({
1003
995
  storeDomain: "test",
1004
996
  storefrontToken: "abc123",
@@ -1031,21 +1023,12 @@
1031
1023
  console.warn(`<ShopifyProvider/>: This version of Hydrogen-UI is built for Shopify's Storefront API version ${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.`);
1032
1024
  }
1033
1025
  const finalConfig = React.useMemo(() => {
1034
- const storeDomain = shopifyConfig.storeDomain.replace(/^https?:\/\//, "");
1035
- if (storeDomain.includes(".myshopify.com")) {
1036
- {
1037
- console.warn(`<ShopifyProvider/>: passing a 'storeDomain' prop that includes '.myshopify.com' will be unsupported in the future. Passing only the subdomain (for example, if the URL is 'test.myshopify.com', passing in 'test') will be the supported way going forward.`);
1038
- }
1039
- }
1040
1026
  function getShopifyDomain(overrideProps) {
1041
1027
  var _a;
1042
- let subDomain = (_a = overrideProps == null ? void 0 : overrideProps.storeDomain) != null ? _a : storeDomain;
1043
- subDomain = subDomain.replace(".myshopify.com", "");
1044
- return `https://${subDomain}.myshopify.com`;
1028
+ return (_a = overrideProps == null ? void 0 : overrideProps.storeDomain) != null ? _a : shopifyConfig.storeDomain;
1045
1029
  }
1046
1030
  return {
1047
1031
  ...shopifyConfig,
1048
- storeDomain,
1049
1032
  getPublicTokenHeaders(overrideProps) {
1050
1033
  var _a;
1051
1034
  return getPublicTokenHeadersRaw(overrideProps.contentType, shopifyConfig.storefrontApiVersion, (_a = overrideProps.storefrontToken) != null ? _a : shopifyConfig.storefrontToken);
@@ -1059,7 +1042,7 @@
1059
1042
  }
1060
1043
  }
1061
1044
  return `${getShopifyDomain({
1062
- storeDomain: (_b = overrideProps == null ? void 0 : overrideProps.storeDomain) != null ? _b : storeDomain
1045
+ storeDomain: (_b = overrideProps == null ? void 0 : overrideProps.storeDomain) != null ? _b : shopifyConfig.storeDomain
1063
1046
  })}/api/${(_c = overrideProps == null ? void 0 : overrideProps.storefrontApiVersion) != null ? _c : shopifyConfig.storefrontApiVersion}/graphql.json`;
1064
1047
  }
1065
1048
  };
@@ -1068,8 +1051,8 @@
1068
1051
  value: finalConfig,
1069
1052
  __self: this,
1070
1053
  __source: {
1071
- fileName: _jsxFileName$f,
1072
- lineNumber: 99,
1054
+ fileName: _jsxFileName$e,
1055
+ lineNumber: 84,
1073
1056
  columnNumber: 5
1074
1057
  }
1075
1058
  }, children);
@@ -1581,7 +1564,7 @@
1581
1564
  function isCartFetchResultEvent(event) {
1582
1565
  return event.type === "RESOLVE" || event.type === "ERROR" || event.type === "CART_COMPLETED";
1583
1566
  }
1584
- var _jsxFileName$e = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartProvider.tsx";
1567
+ var _jsxFileName$d = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartProvider.tsx";
1585
1568
  const CartContext = React.createContext(null);
1586
1569
  function useCart() {
1587
1570
  const context = React.useContext(CartContext);
@@ -1890,7 +1873,7 @@
1890
1873
  value: cartContextValue,
1891
1874
  __self: this,
1892
1875
  __source: {
1893
- fileName: _jsxFileName$e,
1876
+ fileName: _jsxFileName$d,
1894
1877
  lineNumber: 424,
1895
1878
  columnNumber: 5
1896
1879
  }
@@ -1956,7 +1939,7 @@
1956
1939
  var _a, _b;
1957
1940
  return event.payload.buyerIdentity.countryCode && ((_b = (_a = context.cart) == null ? void 0 : _a.buyerIdentity) == null ? void 0 : _b.countryCode) !== event.payload.buyerIdentity.countryCode;
1958
1941
  }
1959
- var _jsxFileName$d = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductProvider.tsx";
1942
+ var _jsxFileName$c = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductProvider.tsx";
1960
1943
  const ProductOptionsContext = React.createContext(null);
1961
1944
  function ProductProvider({
1962
1945
  children,
@@ -2042,7 +2025,7 @@
2042
2025
  value,
2043
2026
  __self: this,
2044
2027
  __source: {
2045
- fileName: _jsxFileName$d,
2028
+ fileName: _jsxFileName$c,
2046
2029
  lineNumber: 201,
2047
2030
  columnNumber: 5
2048
2031
  }
@@ -2115,7 +2098,7 @@
2115
2098
  }
2116
2099
  return true;
2117
2100
  }
2118
- var _jsxFileName$c = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BaseButton.tsx";
2101
+ var _jsxFileName$b = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BaseButton.tsx";
2119
2102
  function BaseButton(props) {
2120
2103
  const {
2121
2104
  as,
@@ -2140,13 +2123,13 @@
2140
2123
  ...passthroughProps,
2141
2124
  __self: this,
2142
2125
  __source: {
2143
- fileName: _jsxFileName$c,
2126
+ fileName: _jsxFileName$b,
2144
2127
  lineNumber: 59,
2145
2128
  columnNumber: 5
2146
2129
  }
2147
2130
  }, children);
2148
2131
  }
2149
- var _jsxFileName$b = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/AddToCartButton.tsx";
2132
+ var _jsxFileName$a = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/AddToCartButton.tsx";
2150
2133
  function AddToCartButton(props) {
2151
2134
  var _a;
2152
2135
  const [addingItem, setAddingItem] = React.useState(false);
@@ -2190,7 +2173,7 @@
2190
2173
  defaultOnClick: handleAddItem,
2191
2174
  __self: this,
2192
2175
  __source: {
2193
- fileName: _jsxFileName$b,
2176
+ fileName: _jsxFileName$a,
2194
2177
  lineNumber: 71,
2195
2178
  columnNumber: 7
2196
2179
  }
@@ -2210,13 +2193,13 @@
2210
2193
  "aria-live": "assertive",
2211
2194
  __self: this,
2212
2195
  __source: {
2213
- fileName: _jsxFileName$b,
2196
+ fileName: _jsxFileName$a,
2214
2197
  lineNumber: 80,
2215
2198
  columnNumber: 9
2216
2199
  }
2217
2200
  }, addingItem ? accessibleAddingToCartLabel : null) : null);
2218
2201
  }
2219
- var _jsxFileName$a = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BuyNowButton.tsx";
2202
+ var _jsxFileName$9 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BuyNowButton.tsx";
2220
2203
  function BuyNowButton(props) {
2221
2204
  const {
2222
2205
  cartCreate,
@@ -2253,13 +2236,13 @@
2253
2236
  defaultOnClick: handleBuyNow,
2254
2237
  __self: this,
2255
2238
  __source: {
2256
- fileName: _jsxFileName$a,
2239
+ fileName: _jsxFileName$9,
2257
2240
  lineNumber: 53,
2258
2241
  columnNumber: 5
2259
2242
  }
2260
2243
  }, children);
2261
2244
  }
2262
- var _jsxFileName$9 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartCheckoutButton.tsx";
2245
+ var _jsxFileName$8 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartCheckoutButton.tsx";
2263
2246
  function CartCheckoutButton(props) {
2264
2247
  const [requestedCheckout, setRequestedCheckout] = React.useState(false);
2265
2248
  const {
@@ -2281,7 +2264,7 @@
2281
2264
  onClick: () => setRequestedCheckout(true),
2282
2265
  __self: this,
2283
2266
  __source: {
2284
- fileName: _jsxFileName$9,
2267
+ fileName: _jsxFileName$8,
2285
2268
  lineNumber: 28,
2286
2269
  columnNumber: 5
2287
2270
  }
@@ -2295,7 +2278,7 @@
2295
2278
  Color: "string",
2296
2279
  UnsignedInt64: "string"
2297
2280
  };
2298
- var _jsxFileName$8 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ExternalVideo.tsx";
2281
+ var _jsxFileName$7 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ExternalVideo.tsx";
2299
2282
  function ExternalVideo(props) {
2300
2283
  var _a, _b;
2301
2284
  const {
@@ -2330,7 +2313,7 @@
2330
2313
  loading,
2331
2314
  __self: this,
2332
2315
  __source: {
2333
- fileName: _jsxFileName$8,
2316
+ fileName: _jsxFileName$7,
2334
2317
  lineNumber: 56,
2335
2318
  columnNumber: 5
2336
2319
  }
@@ -2409,7 +2392,7 @@
2409
2392
  }
2410
2393
  return { width: null, height: null };
2411
2394
  }
2412
- var _jsxFileName$7 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Image.tsx";
2395
+ var _jsxFileName$6 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Image.tsx";
2413
2396
  function Image({
2414
2397
  data,
2415
2398
  width,
@@ -2478,7 +2461,7 @@
2478
2461
  decoding,
2479
2462
  __self: this,
2480
2463
  __source: {
2481
- fileName: _jsxFileName$7,
2464
+ fileName: _jsxFileName$6,
2482
2465
  lineNumber: 150,
2483
2466
  columnNumber: 5
2484
2467
  }
@@ -2514,7 +2497,7 @@
2514
2497
  scale
2515
2498
  })} ${size}w`).join(", ");
2516
2499
  }
2517
- var _jsxFileName$6 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Video.tsx";
2500
+ var _jsxFileName$5 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Video.tsx";
2518
2501
  function Video(props) {
2519
2502
  var _a, _b;
2520
2503
  const {
@@ -2541,7 +2524,7 @@
2541
2524
  poster: posterUrl,
2542
2525
  __self: this,
2543
2526
  __source: {
2544
- fileName: _jsxFileName$6,
2527
+ fileName: _jsxFileName$5,
2545
2528
  lineNumber: 42,
2546
2529
  columnNumber: 5
2547
2530
  }
@@ -2556,7 +2539,7 @@
2556
2539
  type: source.mimeType,
2557
2540
  __self: this,
2558
2541
  __source: {
2559
- fileName: _jsxFileName$6,
2542
+ fileName: _jsxFileName$5,
2560
2543
  lineNumber: 54,
2561
2544
  columnNumber: 11
2562
2545
  }
@@ -2609,7 +2592,7 @@
2609
2592
  }, [url, stringifiedOptions, options]);
2610
2593
  return status;
2611
2594
  }
2612
- var _jsxFileName$5 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ModelViewer.tsx";
2595
+ var _jsxFileName$4 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ModelViewer.tsx";
2613
2596
  function ModelViewer(props) {
2614
2597
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
2615
2598
  const [modelViewer, setModelViewer] = React.useState(void 0);
@@ -2747,13 +2730,13 @@
2747
2730
  scale: passthroughProps.scale,
2748
2731
  __self: this,
2749
2732
  __source: {
2750
- fileName: _jsxFileName$5,
2733
+ fileName: _jsxFileName$4,
2751
2734
  lineNumber: 222,
2752
2735
  columnNumber: 5
2753
2736
  }
2754
2737
  }, children);
2755
2738
  }
2756
- var _jsxFileName$4 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/MediaFile.tsx";
2739
+ var _jsxFileName$3 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/MediaFile.tsx";
2757
2740
  function MediaFile({
2758
2741
  data,
2759
2742
  mediaOptions,
@@ -2773,7 +2756,7 @@
2773
2756
  data: data.image,
2774
2757
  __self: this,
2775
2758
  __source: {
2776
- fileName: _jsxFileName$4,
2759
+ fileName: _jsxFileName$3,
2777
2760
  lineNumber: 54,
2778
2761
  columnNumber: 9
2779
2762
  }
@@ -2786,7 +2769,7 @@
2786
2769
  data,
2787
2770
  __self: this,
2788
2771
  __source: {
2789
- fileName: _jsxFileName$4,
2772
+ fileName: _jsxFileName$3,
2790
2773
  lineNumber: 63,
2791
2774
  columnNumber: 9
2792
2775
  }
@@ -2799,7 +2782,7 @@
2799
2782
  data,
2800
2783
  __self: this,
2801
2784
  __source: {
2802
- fileName: _jsxFileName$4,
2785
+ fileName: _jsxFileName$3,
2803
2786
  lineNumber: 68,
2804
2787
  columnNumber: 9
2805
2788
  }
@@ -2812,7 +2795,7 @@
2812
2795
  data,
2813
2796
  __self: this,
2814
2797
  __source: {
2815
- fileName: _jsxFileName$4,
2798
+ fileName: _jsxFileName$3,
2816
2799
  lineNumber: 78,
2817
2800
  columnNumber: 9
2818
2801
  }
@@ -2826,384 +2809,10 @@
2826
2809
  }
2827
2810
  }
2828
2811
  }
2829
- var _jsxFileName$3 = "/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Metafield.tsx";
2830
- function Metafield(props) {
2831
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
2832
- const {
2833
- data,
2834
- as,
2835
- ...passthroughProps
2836
- } = props;
2837
- const {
2838
- locale
2839
- } = useShop();
2840
- const parsedMetafield = React.useMemo(() => parseMetafield(data), [data]);
2841
- if (!parsedMetafield) {
2842
- const noDataPropWarning = `<Metafield/>: nothing was passed to the data prop 'data'. Rendering 'null'`;
2843
- {
2844
- throw new Error(noDataPropWarning);
2845
- }
2846
- }
2847
- if (parsedMetafield.value === null || parsedMetafield.value === void 0) {
2848
- const noValueWarning = `<Metafield/>: No metafield value for metafield ${(_a = parsedMetafield.id) != null ? _a : parsedMetafield.key}. Rendering 'null'`;
2849
- {
2850
- throw new Error(noValueWarning);
2851
- }
2852
- }
2853
- switch (parsedMetafield.type) {
2854
- case "date": {
2855
- const Wrapper2 = as != null ? as : "time";
2856
- return /* @__PURE__ */ React__default.default.createElement(Wrapper2, {
2857
- ...passthroughProps,
2858
- __self: this,
2859
- __source: {
2860
- fileName: _jsxFileName$3,
2861
- lineNumber: 68,
2862
- columnNumber: 9
2863
- }
2864
- }, parsedMetafield.value.toLocaleDateString(locale));
2865
- }
2866
- case "date_time": {
2867
- const Wrapper2 = as != null ? as : "time";
2868
- return /* @__PURE__ */ React__default.default.createElement(Wrapper2, {
2869
- ...passthroughProps,
2870
- __self: this,
2871
- __source: {
2872
- fileName: _jsxFileName$3,
2873
- lineNumber: 76,
2874
- columnNumber: 9
2875
- }
2876
- }, parsedMetafield.value.toLocaleString(locale));
2877
- }
2878
- case "weight":
2879
- case "dimension":
2880
- case "volume": {
2881
- const Wrapper2 = as != null ? as : "span";
2882
- return /* @__PURE__ */ React__default.default.createElement(Wrapper2, {
2883
- ...passthroughProps,
2884
- __self: this,
2885
- __source: {
2886
- fileName: _jsxFileName$3,
2887
- lineNumber: 86,
2888
- columnNumber: 9
2889
- }
2890
- }, getMeasurementAsString(parsedMetafield.value, locale));
2891
- }
2892
- case "rating": {
2893
- const Wrapper2 = as != null ? as : "span";
2894
- return /* @__PURE__ */ React__default.default.createElement(Wrapper2, {
2895
- ...passthroughProps,
2896
- __self: this,
2897
- __source: {
2898
- fileName: _jsxFileName$3,
2899
- lineNumber: 94,
2900
- columnNumber: 9
2901
- }
2902
- }, parsedMetafield.value.value);
2903
- }
2904
- case "single_line_text_field": {
2905
- const Wrapper2 = as != null ? as : "span";
2906
- return /* @__PURE__ */ React__default.default.createElement(Wrapper2, {
2907
- ...passthroughProps,
2908
- dangerouslySetInnerHTML: {
2909
- __html: parsedMetafield.value
2910
- },
2911
- __self: this,
2912
- __source: {
2913
- fileName: _jsxFileName$3,
2914
- lineNumber: 102,
2915
- columnNumber: 9
2916
- }
2917
- });
2918
- }
2919
- case "multi_line_text_field": {
2920
- const Wrapper2 = as != null ? as : "div";
2921
- return /* @__PURE__ */ React__default.default.createElement(Wrapper2, {
2922
- ...passthroughProps,
2923
- dangerouslySetInnerHTML: {
2924
- __html: parsedMetafield.value.split("\n").join("<br/>")
2925
- },
2926
- __self: this,
2927
- __source: {
2928
- fileName: _jsxFileName$3,
2929
- lineNumber: 111,
2930
- columnNumber: 9
2931
- }
2932
- });
2933
- }
2934
- case "url": {
2935
- const protocolLessUrl = new URL(parsedMetafield.value);
2936
- return /* @__PURE__ */ React__default.default.createElement("a", {
2937
- href: protocolLessUrl.href.replace(protocolLessUrl.protocol, ""),
2938
- ...passthroughProps,
2939
- __self: this,
2940
- __source: {
2941
- fileName: _jsxFileName$3,
2942
- lineNumber: 122,
2943
- columnNumber: 9
2944
- }
2945
- }, parsedMetafield.value);
2946
- }
2947
- case "json": {
2948
- const Wrapper2 = as != null ? as : "span";
2949
- return /* @__PURE__ */ React__default.default.createElement(Wrapper2, {
2950
- ...passthroughProps,
2951
- __self: this,
2952
- __source: {
2953
- fileName: _jsxFileName$3,
2954
- lineNumber: 133,
2955
- columnNumber: 9
2956
- }
2957
- }, JSON.stringify(parsedMetafield.value));
2958
- }
2959
- case "product_reference":
2960
- case "variant_reference":
2961
- case "page_reference": {
2962
- const Wrapper2 = as != null ? as : "span";
2963
- const ref = parsedMetafield.reference;
2964
- return /* @__PURE__ */ React__default.default.createElement(Wrapper2, {
2965
- ...passthroughProps,
2966
- __self: this,
2967
- __source: {
2968
- fileName: _jsxFileName$3,
2969
- lineNumber: 144,
2970
- columnNumber: 9
2971
- }
2972
- }, (_c = (_b = ref == null ? void 0 : ref.title) != null ? _b : ref == null ? void 0 : ref.id) != null ? _c : "");
2973
- }
2974
- case "list.single_line_text_field": {
2975
- const Wrapper2 = as != null ? as : "ul";
2976
- const refArray = parsedMetafield.references ? flattenConnection(parsedMetafield.references) : [];
2977
- return /* @__PURE__ */ React__default.default.createElement(Wrapper2, {
2978
- ...passthroughProps,
2979
- __self: this,
2980
- __source: {
2981
- fileName: _jsxFileName$3,
2982
- lineNumber: 154,
2983
- columnNumber: 9
2984
- }
2985
- }, refArray.map((ref, index2) => /* @__PURE__ */ React__default.default.createElement("li", {
2986
- key: `${ref != null ? ref : ""}-${index2}`,
2987
- __self: this,
2988
- __source: {
2989
- fileName: _jsxFileName$3,
2990
- lineNumber: 158,
2991
- columnNumber: 13
2992
- }
2993
- }, ref)));
2994
- }
2995
- case "file_reference": {
2996
- if (((_d = parsedMetafield.reference) == null ? void 0 : _d.__typename) === "MediaImage") {
2997
- const ref = parsedMetafield.reference;
2998
- return ref.image ? /* @__PURE__ */ React__default.default.createElement(Image, {
2999
- data: ref.image,
3000
- ...passthroughProps,
3001
- __self: this,
3002
- __source: {
3003
- fileName: _jsxFileName$3,
3004
- lineNumber: 167,
3005
- columnNumber: 11
3006
- }
3007
- }) : null;
3008
- } else if (((_e = parsedMetafield.reference) == null ? void 0 : _e.__typename) === "GenericFile") {
3009
- const ref = parsedMetafield.reference;
3010
- return ref.previewImage ? /* @__PURE__ */ React__default.default.createElement("a", {
3011
- href: (_g = (_f = parsedMetafield.reference) == null ? void 0 : _f.url) != null ? _g : "",
3012
- ...passthroughProps,
3013
- __self: this,
3014
- __source: {
3015
- fileName: _jsxFileName$3,
3016
- lineNumber: 172,
3017
- columnNumber: 11
3018
- }
3019
- }, /* @__PURE__ */ React__default.default.createElement(Image, {
3020
- data: ref.previewImage,
3021
- __self: this,
3022
- __source: {
3023
- fileName: _jsxFileName$3,
3024
- lineNumber: 173,
3025
- columnNumber: 13
3026
- }
3027
- })) : null;
3028
- } else if (((_h = parsedMetafield.reference) == null ? void 0 : _h.__typename) === "Video") {
3029
- const ref = parsedMetafield.reference;
3030
- return /* @__PURE__ */ React__default.default.createElement(Video, {
3031
- ...passthroughProps,
3032
- data: ref,
3033
- __self: this,
3034
- __source: {
3035
- fileName: _jsxFileName$3,
3036
- lineNumber: 178,
3037
- columnNumber: 16
3038
- }
3039
- });
3040
- }
3041
- }
3042
- }
3043
- const Wrapper = as != null ? as : "span";
3044
- return /* @__PURE__ */ React__default.default.createElement(Wrapper, {
3045
- ...passthroughProps,
3046
- __self: this,
3047
- __source: {
3048
- fileName: _jsxFileName$3,
3049
- lineNumber: 185,
3050
- columnNumber: 5
3051
- }
3052
- }, (_i = parsedMetafield.value) == null ? void 0 : _i.toString());
3053
- }
3054
2812
  function parseMetafield(metafield) {
3055
- {
3056
- console.info(`'parseMetafield()' will have a breaking change in a future version; its behavior will match that of 'metafieldParser()'`);
3057
- }
3058
- if (!metafield) {
3059
- {
3060
- console.warn(`'parseMetafield' was not passed any value for the 'metafield' argument`);
3061
- }
3062
- return null;
3063
- }
3064
- if (metafield.value === null || metafield.value === void 0) {
3065
- console.warn(`'parseMetafield()' was passed ${metafield.value} for 'metafield.value'`);
3066
- }
3067
- return {
3068
- ...metafield,
3069
- value: parseMetafieldValue(metafield)
3070
- };
3071
- }
3072
- function parseMetafieldValue(metafield) {
3073
- {
3074
- console.info(`'parseMetafieldValue()' will be removed in a future version`);
3075
- }
3076
- if (!metafield) {
3077
- return null;
3078
- }
3079
- if (metafield.value === null || metafield.value === void 0) {
3080
- {
3081
- console.warn(`'parseMetafieldValue()' was passed ${metafield.value} for 'metafield.value'`);
3082
- }
3083
- return metafield.value;
3084
- }
3085
- switch (metafield.type) {
3086
- case "boolean":
3087
- return metafield.value === "true";
3088
- case "number_integer":
3089
- return parseInt(metafield.value);
3090
- case "number_decimal":
3091
- return parseFloat(metafield.value);
3092
- case "date":
3093
- case "date_time":
3094
- return new Date(metafield.value);
3095
- case "json":
3096
- case "weight":
3097
- case "dimension":
3098
- case "volume":
3099
- case "rating":
3100
- return parseJSON(metafield.value);
3101
- case "color":
3102
- case "single_line_text_field":
3103
- case "multi_line_text_field":
3104
- case "product_reference":
3105
- case "page_reference":
3106
- case "variant_reference":
3107
- case "file_reference":
3108
- case "url":
3109
- default:
3110
- return metafield.value;
3111
- }
3112
- }
3113
- function parseJSON(json) {
3114
- if (String(json).includes("__proto__")) {
3115
- return JSON.parse(json, (k, v2) => {
3116
- if (k !== "__proto__")
3117
- return v2;
3118
- });
3119
- }
3120
- return JSON.parse(json);
3121
- }
3122
- const UNIT_MAPPING = {
3123
- mm: "millimeter",
3124
- cm: "centimeter",
3125
- m: "meter",
3126
- in: "inch",
3127
- ft: "foot",
3128
- yd: "yard",
3129
- ml: "milliliter",
3130
- l: "liter",
3131
- us_fl_oz: "fluid-ounce",
3132
- us_gal: "gallon",
3133
- kg: "kilogram",
3134
- g: "gram",
3135
- lb: "pound",
3136
- oz: "ounce"
3137
- };
3138
- function getMeasurementAsString(measurement, locale = "en-us", options = {}) {
3139
- let measure = {
3140
- value: measurement.value,
3141
- unit: UNIT_MAPPING[measurement.unit]
3142
- };
3143
- if (measure.unit == null) {
3144
- measure = convertToSupportedUnit(measurement.value, measurement.unit);
3145
- }
3146
- return new Intl.NumberFormat(locale, {
3147
- ...options,
3148
- unit: measure.unit,
3149
- style: "unit"
3150
- }).format(measure.value);
3151
- }
3152
- function convertToSupportedUnit(value, unit) {
3153
- switch (unit) {
3154
- case "cl":
3155
- return {
3156
- value: value / 1e3,
3157
- unit: "liter"
3158
- };
3159
- case "m3":
3160
- return {
3161
- value: value * 1e3,
3162
- unit: "liter"
3163
- };
3164
- case "us_pt":
3165
- return {
3166
- value: value * 0.125,
3167
- unit: "gallon"
3168
- };
3169
- case "us_qt":
3170
- return {
3171
- value: value * 0.5,
3172
- unit: "gallon"
3173
- };
3174
- case "us_oz":
3175
- return {
3176
- value: value / 128,
3177
- unit: "gallon"
3178
- };
3179
- case "imp_pt":
3180
- return {
3181
- value: value / 6.661,
3182
- unit: "gallon"
3183
- };
3184
- case "imp_qt":
3185
- return {
3186
- value: value / 3.331,
3187
- unit: "gallon"
3188
- };
3189
- case "imp_gal":
3190
- return {
3191
- value: value / 1.201,
3192
- unit: "gallon"
3193
- };
3194
- case "imp_fl_oz":
3195
- return {
3196
- value: value * 0.96076,
3197
- unit: "fluid-ounce"
3198
- };
3199
- default:
3200
- throw new Error(`Unit not supported: ${unit}`);
3201
- }
3202
- }
3203
- function metafieldParser(metafield) {
3204
2813
  var _a, _b, _c, _d;
3205
2814
  if (!metafield.type) {
3206
- const noTypeError = `metafieldParser(): The 'type' field is required in order to parse the Metafield.`;
2815
+ const noTypeError = `parseMetafield(): The 'type' field is required in order to parse the Metafield.`;
3207
2816
  {
3208
2817
  throw new Error(noTypeError);
3209
2818
  }
@@ -3250,7 +2859,7 @@
3250
2859
  try {
3251
2860
  parsedValue = parseJSON((_a = metafield.value) != null ? _a : "");
3252
2861
  } catch (err) {
3253
- const parseError = `metafieldParser(): attempted to JSON.parse the 'metafield.value' property, but failed.`;
2862
+ const parseError = `parseMetafield(): attempted to JSON.parse the 'metafield.value' property, but failed.`;
3254
2863
  {
3255
2864
  throw new Error(parseError);
3256
2865
  }
@@ -3290,13 +2899,22 @@
3290
2899
  parsedValue: flattenConnection((_d = metafield.references) != null ? _d : void 0)
3291
2900
  };
3292
2901
  default: {
3293
- const typeNotFoundError = `metafieldParser(): the 'metafield.type' you passed in is not supported. Your type: "${metafield.type}". If you believe this is an error, please open an issue on GitHub.`;
2902
+ const typeNotFoundError = `parseMetafield(): the 'metafield.type' you passed in is not supported. Your type: "${metafield.type}". If you believe this is an error, please open an issue on GitHub.`;
3294
2903
  {
3295
2904
  throw new Error(typeNotFoundError);
3296
2905
  }
3297
2906
  }
3298
2907
  }
3299
2908
  }
2909
+ function parseJSON(json) {
2910
+ if (String(json).includes("__proto__")) {
2911
+ return JSON.parse(json, (k, v2) => {
2912
+ if (k !== "__proto__")
2913
+ return v2;
2914
+ });
2915
+ }
2916
+ return JSON.parse(json);
2917
+ }
3300
2918
  function useMoney(money) {
3301
2919
  const {
3302
2920
  locale
@@ -3517,7 +3135,7 @@
3517
3135
  columnNumber: 5
3518
3136
  }
3519
3137
  }, shopPayLoadedStatus === "done" && /* @__PURE__ */ React__default.default.createElement("shop-pay-button", {
3520
- "store-url": `https://${storeDomain}`,
3138
+ "store-url": storeDomain,
3521
3139
  variants: ids.join(","),
3522
3140
  __self: this,
3523
3141
  __source: {
@@ -3541,7 +3159,6 @@
3541
3159
  exports2.ExternalVideo = ExternalVideo;
3542
3160
  exports2.Image = Image;
3543
3161
  exports2.MediaFile = MediaFile;
3544
- exports2.Metafield = Metafield;
3545
3162
  exports2.ModelViewer = ModelViewer;
3546
3163
  exports2.Money = Money;
3547
3164
  exports2.ProductPrice = ProductPrice;
@@ -3551,9 +3168,7 @@
3551
3168
  exports2.Video = Video;
3552
3169
  exports2.createStorefrontClient = createStorefrontClient;
3553
3170
  exports2.flattenConnection = flattenConnection;
3554
- exports2.metafieldParser = metafieldParser;
3555
3171
  exports2.parseMetafield = parseMetafield;
3556
- exports2.parseMetafieldValue = parseMetafieldValue;
3557
3172
  exports2.storefrontApiCustomScalars = storefrontApiCustomScalars;
3558
3173
  exports2.useCart = useCart;
3559
3174
  exports2.useMoney = useMoney;