@shopify/hydrogen 0.15.0 → 0.17.0

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 (140) hide show
  1. package/CHANGELOG.md +113 -1
  2. package/dist/esnext/FileSessionStorage.d.ts +1 -0
  3. package/dist/esnext/FileSessionStorage.js +1 -0
  4. package/dist/esnext/client.d.ts +3 -2
  5. package/dist/esnext/client.js +3 -2
  6. package/dist/esnext/components/CartProvider/CartProvider.client.d.ts +1 -1
  7. package/dist/esnext/components/CartProvider/CartProvider.client.js +3 -3
  8. package/dist/esnext/components/ExternalVideo/ExternalVideo.d.ts +2 -2
  9. package/dist/esnext/components/ExternalVideo/ExternalVideo.js +1 -1
  10. package/dist/esnext/components/Image/Image.d.ts +2 -2
  11. package/dist/esnext/components/Image/Image.js +1 -1
  12. package/dist/esnext/components/Link/Link.client.d.ts +1 -1
  13. package/dist/esnext/components/Link/Link.client.js +3 -3
  14. package/dist/esnext/components/LocalizationProvider/LocalizationClientProvider.client.js +4 -4
  15. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.d.ts +2 -2
  16. package/dist/esnext/components/LocalizationProvider/LocalizationProvider.server.js +2 -2
  17. package/dist/esnext/components/MediaFile/MediaFile.d.ts +2 -2
  18. package/dist/esnext/components/MediaFile/MediaFile.js +1 -1
  19. package/dist/esnext/components/Metafield/Metafield.client.d.ts +8 -4
  20. package/dist/esnext/components/Metafield/Metafield.client.js +6 -2
  21. package/dist/esnext/components/ModelViewer/ModelViewer.client.d.ts +3 -3
  22. package/dist/esnext/components/ModelViewer/ModelViewer.client.js +1 -1
  23. package/dist/esnext/components/Money/Money.client.d.ts +2 -2
  24. package/dist/esnext/components/Money/Money.client.js +1 -1
  25. package/dist/esnext/components/ProductDescription/ProductDescription.client.d.ts +1 -1
  26. package/dist/esnext/components/ProductDescription/ProductDescription.client.js +1 -1
  27. package/dist/esnext/components/ProductMetafield/ProductMetafield.client.d.ts +3 -3
  28. package/dist/esnext/components/ProductMetafield/ProductMetafield.client.js +1 -1
  29. package/dist/esnext/components/ProductPrice/ProductPrice.client.d.ts +1 -1
  30. package/dist/esnext/components/ProductPrice/ProductPrice.client.js +1 -1
  31. package/dist/esnext/components/ProductProvider/ProductProvider.client.d.ts +1 -1
  32. package/dist/esnext/components/ProductTitle/ProductTitle.client.d.ts +1 -1
  33. package/dist/esnext/components/ProductTitle/ProductTitle.client.js +1 -1
  34. package/dist/esnext/components/UnitPrice/UnitPrice.client.d.ts +4 -4
  35. package/dist/esnext/components/UnitPrice/UnitPrice.client.js +2 -2
  36. package/dist/esnext/components/Video/Video.d.ts +2 -2
  37. package/dist/esnext/components/Video/Video.js +1 -1
  38. package/dist/esnext/constants.d.ts +4 -0
  39. package/dist/esnext/constants.js +4 -0
  40. package/dist/esnext/entry-client.js +4 -4
  41. package/dist/esnext/entry-server.d.ts +1 -1
  42. package/dist/esnext/entry-server.js +12 -5
  43. package/dist/esnext/foundation/Analytics/Analytics.server.js +4 -2
  44. package/dist/esnext/foundation/AnalyticsErrorBoundary.client.d.ts +4 -0
  45. package/dist/esnext/foundation/AnalyticsErrorBoundary.client.js +8 -0
  46. package/dist/esnext/foundation/Cookie/Cookie.d.ts +48 -0
  47. package/dist/esnext/foundation/Cookie/Cookie.js +66 -0
  48. package/dist/esnext/foundation/CookieSessionStorage/CookieSessionStorage.d.ts +5 -0
  49. package/dist/esnext/foundation/CookieSessionStorage/CookieSessionStorage.js +31 -0
  50. package/dist/esnext/foundation/FileSessionStorage/FileSessionStorage.d.ts +6 -0
  51. package/dist/esnext/foundation/FileSessionStorage/FileSessionStorage.js +148 -0
  52. package/dist/esnext/foundation/MemorySessionStorage/MemorySessionStorage.d.ts +5 -0
  53. package/dist/esnext/foundation/MemorySessionStorage/MemorySessionStorage.js +53 -0
  54. package/dist/esnext/foundation/Router/BrowserRouter.client.js +8 -8
  55. package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +40 -0
  56. package/dist/esnext/foundation/ServerPropsProvider/ServerPropsProvider.js +76 -0
  57. package/dist/esnext/foundation/ServerPropsProvider/index.d.ts +2 -0
  58. package/dist/esnext/foundation/ServerPropsProvider/index.js +1 -0
  59. package/dist/esnext/foundation/index.d.ts +1 -1
  60. package/dist/esnext/foundation/index.js +1 -1
  61. package/dist/esnext/foundation/session/session.d.ts +27 -0
  62. package/dist/esnext/foundation/session/session.js +37 -0
  63. package/dist/esnext/foundation/useQuery/hooks.d.ts +3 -3
  64. package/dist/esnext/foundation/useQuery/hooks.js +1 -1
  65. package/dist/esnext/foundation/useServerProps/index.d.ts +1 -0
  66. package/dist/esnext/foundation/useServerProps/index.js +1 -0
  67. package/dist/esnext/foundation/useServerProps/use-server-props.d.ts +21 -0
  68. package/dist/esnext/foundation/useServerProps/use-server-props.js +35 -0
  69. package/dist/esnext/foundation/useSession/useSession.d.ts +2 -0
  70. package/dist/esnext/foundation/useSession/useSession.js +8 -0
  71. package/dist/esnext/foundation/useUrl/useUrl.js +8 -1
  72. package/dist/esnext/framework/Hydration/ServerComponentRequest.server.d.ts +2 -0
  73. package/dist/esnext/framework/plugins/vite-plugin-hydrogen-config.js +27 -12
  74. package/dist/esnext/hooks/useMoney/hooks.d.ts +1 -1
  75. package/dist/esnext/hooks/useMoney/hooks.js +1 -1
  76. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.d.ts +2 -2
  77. package/dist/esnext/hooks/useParsedMetafields/useParsedMetafields.js +2 -2
  78. package/dist/esnext/hooks/useShopQuery/hooks.d.ts +2 -2
  79. package/dist/esnext/hooks/useShopQuery/hooks.js +5 -17
  80. package/dist/esnext/index.d.ts +4 -0
  81. package/dist/esnext/index.js +4 -0
  82. package/dist/esnext/storefront-api-types.d.ts +31 -13
  83. package/dist/esnext/storefront-api-types.js +14 -2
  84. package/dist/esnext/types.d.ts +2 -0
  85. package/dist/esnext/utilities/apiRoutes.d.ts +4 -3
  86. package/dist/esnext/utilities/apiRoutes.js +35 -8
  87. package/dist/esnext/utilities/flattenConnection/flattenConnection.d.ts +1 -1
  88. package/dist/esnext/utilities/flattenConnection/flattenConnection.js +1 -1
  89. package/dist/esnext/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +1 -1
  90. package/dist/esnext/utilities/parseMetafieldValue/parseMetafieldValue.js +1 -1
  91. package/dist/esnext/utilities/storefrontApi.d.ts +4 -0
  92. package/dist/esnext/utilities/storefrontApi.js +21 -0
  93. package/dist/esnext/version.d.ts +1 -1
  94. package/dist/esnext/version.js +1 -1
  95. package/dist/node/constants.d.ts +4 -0
  96. package/dist/node/constants.js +5 -1
  97. package/dist/node/entry-server.d.ts +1 -1
  98. package/dist/node/entry-server.js +12 -5
  99. package/dist/node/foundation/Analytics/Analytics.server.js +27 -2
  100. package/dist/node/foundation/AnalyticsErrorBoundary.client.d.ts +4 -0
  101. package/dist/node/foundation/AnalyticsErrorBoundary.client.js +14 -0
  102. package/dist/node/foundation/Router/BrowserRouter.client.js +8 -8
  103. package/dist/node/foundation/ServerPropsProvider/ServerPropsProvider.d.ts +40 -0
  104. package/dist/node/foundation/ServerPropsProvider/ServerPropsProvider.js +101 -0
  105. package/dist/node/foundation/ServerPropsProvider/index.d.ts +2 -0
  106. package/dist/node/foundation/ServerPropsProvider/index.js +6 -0
  107. package/dist/node/foundation/session/session.d.ts +27 -0
  108. package/dist/node/foundation/session/session.js +43 -0
  109. package/dist/node/foundation/useServerProps/use-server-props.d.ts +21 -0
  110. package/dist/node/foundation/useServerProps/use-server-props.js +40 -0
  111. package/dist/node/framework/Hydration/ServerComponentRequest.server.d.ts +2 -0
  112. package/dist/node/framework/plugins/vite-plugin-hydrogen-config.js +27 -12
  113. package/dist/node/storefront-api-types.d.ts +31 -13
  114. package/dist/node/storefront-api-types.js +14 -2
  115. package/dist/node/types.d.ts +2 -0
  116. package/dist/node/utilities/apiRoutes.d.ts +4 -3
  117. package/dist/node/utilities/apiRoutes.js +35 -8
  118. package/dist/node/utilities/flattenConnection/flattenConnection.d.ts +1 -1
  119. package/dist/node/utilities/flattenConnection/flattenConnection.js +1 -1
  120. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.d.ts +1 -1
  121. package/dist/node/utilities/parseMetafieldValue/parseMetafieldValue.js +1 -1
  122. package/dist/node/utilities/storefrontApi.d.ts +4 -0
  123. package/dist/node/utilities/storefrontApi.js +25 -0
  124. package/dist/node/version.d.ts +1 -1
  125. package/dist/node/version.js +1 -1
  126. package/package.json +4 -1
  127. package/dist/esnext/foundation/ServerStateProvider/index.d.ts +0 -2
  128. package/dist/esnext/foundation/ServerStateProvider/index.js +0 -1
  129. package/dist/esnext/foundation/useServerState/index.d.ts +0 -1
  130. package/dist/esnext/foundation/useServerState/index.js +0 -1
  131. package/dist/esnext/foundation/useServerState/use-server-state.d.ts +0 -16
  132. package/dist/esnext/foundation/useServerState/use-server-state.js +0 -20
  133. package/dist/node/foundation/ServerStateProvider/ServerStateProvider.d.ts +0 -30
  134. package/dist/node/foundation/ServerStateProvider/ServerStateProvider.js +0 -77
  135. package/dist/node/foundation/ServerStateProvider/index.d.ts +0 -2
  136. package/dist/node/foundation/ServerStateProvider/index.js +0 -6
  137. package/dist/node/foundation/useServerState/index.d.ts +0 -1
  138. package/dist/node/foundation/useServerState/index.js +0 -5
  139. package/dist/node/foundation/useServerState/use-server-state.d.ts +0 -16
  140. package/dist/node/foundation/useServerState/use-server-state.js +0 -24
@@ -1,77 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ServerStateProvider = exports.ServerStateContext = void 0;
27
- const react_1 = __importStar(require("react"));
28
- const PRIVATE_PROPS = ['request', 'response'];
29
- exports.ServerStateContext = (0, react_1.createContext)(null);
30
- function ServerStateProvider({ serverState, setServerState, children, }) {
31
- const [pending, startTransition] = (0, react_1.useTransition)();
32
- const setServerStateCallback = (0, react_1.useCallback)((input, propValue) => {
33
- /**
34
- * By wrapping this state change in a transition, React renders the new state
35
- * concurrently in a new "tree" instead of Suspending and showing the (blank)
36
- * fallback. This is preferred behavior, though we may want to revisit how
37
- * we make this decision globally for the developer - and consider providing
38
- * the `pending` flag also provided by the hook to display in the UI.
39
- */
40
- startTransition(() => {
41
- return setServerState((prev) => getNewServerState(prev, input, propValue));
42
- });
43
- }, [setServerState, startTransition]);
44
- const getProposedServerStateCallback = (0, react_1.useCallback)((input, propValue) => {
45
- return getNewServerState(serverState, input, propValue);
46
- }, [serverState]);
47
- function getNewServerState(prev, input, propValue) {
48
- let newValue;
49
- if (typeof input === 'function') {
50
- newValue = input(prev);
51
- }
52
- else if (typeof input === 'string') {
53
- newValue = { [input]: propValue };
54
- }
55
- else {
56
- newValue = input;
57
- }
58
- if (__DEV__) {
59
- const privateProp = PRIVATE_PROPS.find((prop) => prop in newValue);
60
- if (privateProp) {
61
- console.warn(`Custom "${privateProp}" property in server state is ignored. Use a different name.`);
62
- }
63
- }
64
- return {
65
- ...prev,
66
- ...newValue,
67
- };
68
- }
69
- const value = (0, react_1.useMemo)(() => ({
70
- pending,
71
- serverState,
72
- setServerState: setServerStateCallback,
73
- getProposedServerState: getProposedServerStateCallback,
74
- }), [serverState, setServerStateCallback, pending]);
75
- return (react_1.default.createElement(exports.ServerStateContext.Provider, { value: value }, children));
76
- }
77
- exports.ServerStateProvider = ServerStateProvider;
@@ -1,2 +0,0 @@
1
- export { ServerStateProvider, ServerStateContext } from './ServerStateProvider';
2
- export type { ServerState, ServerStateContextValue } from './ServerStateProvider';
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ServerStateContext = exports.ServerStateProvider = void 0;
4
- var ServerStateProvider_1 = require("./ServerStateProvider");
5
- Object.defineProperty(exports, "ServerStateProvider", { enumerable: true, get: function () { return ServerStateProvider_1.ServerStateProvider; } });
6
- Object.defineProperty(exports, "ServerStateContext", { enumerable: true, get: function () { return ServerStateProvider_1.ServerStateContext; } });
@@ -1 +0,0 @@
1
- export { useServerState } from './use-server-state';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useServerState = void 0;
4
- var use_server_state_1 = require("./use-server-state");
5
- Object.defineProperty(exports, "useServerState", { enumerable: true, get: function () { return use_server_state_1.useServerState; } });
@@ -1,16 +0,0 @@
1
- import { ServerStateContextValue } from '../ServerStateProvider';
2
- /**
3
- * The `useServerState` hook allows you to [manage server state](/custom-storefronts/hydrogen/framework/server-state) when using Hydrogen as a React Server Component framework.
4
- *
5
- * ## Return value
6
- *
7
- * The `useServerState` hook returns an object with the following keys:
8
- *
9
- * | Key | Description |
10
- * | -------------- | ------------------------------------------------------------------------------------------------------------- |
11
- * | `serverState` | The current server state. |
12
- * | `setServerState` | A function used to modify server state. |
13
- * | `pending` | Whether a [transition is pending](https://github.com/reactwg/react-18/discussions/41). |
14
- *
15
- */
16
- export declare function useServerState(): ServerStateContextValue;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useServerState = void 0;
4
- const react_1 = require("react");
5
- const ServerStateProvider_1 = require("../ServerStateProvider");
6
- /**
7
- * The `useServerState` hook allows you to [manage server state](/custom-storefronts/hydrogen/framework/server-state) when using Hydrogen as a React Server Component framework.
8
- *
9
- * ## Return value
10
- *
11
- * The `useServerState` hook returns an object with the following keys:
12
- *
13
- * | Key | Description |
14
- * | -------------- | ------------------------------------------------------------------------------------------------------------- |
15
- * | `serverState` | The current server state. |
16
- * | `setServerState` | A function used to modify server state. |
17
- * | `pending` | Whether a [transition is pending](https://github.com/reactwg/react-18/discussions/41). |
18
- *
19
- */
20
- function useServerState() {
21
- var _a;
22
- return ((_a = (0, react_1.useContext)(ServerStateProvider_1.ServerStateContext)) !== null && _a !== void 0 ? _a : {});
23
- }
24
- exports.useServerState = useServerState;