@weaverse/hydrogen 1.1.12 → 1.1.13

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.
package/dist/index.d.mts CHANGED
@@ -106,8 +106,11 @@ type WeaverseStorefrontData = {
106
106
  name: string;
107
107
  items: HydrogenComponentData[];
108
108
  };
109
+ type HydrogenThemeSettings = {
110
+ [key: string]: string | number | boolean;
111
+ };
109
112
  type HydrogenProjectConfig = {
110
- theme: Record<string, any>;
113
+ theme: HydrogenThemeSettings;
111
114
  };
112
115
  type HydrogenProjectType = {
113
116
  id: string;
@@ -126,7 +129,7 @@ type WeaverseInternal = {
126
129
  project: HydrogenProjectType;
127
130
  navigate: NavigateFunction;
128
131
  revalidate: () => void;
129
- [key: string]: any;
132
+ publicEnv?: PublicEnv;
130
133
  };
131
134
  type HydrogenComponentPresets = {
132
135
  type: string;
@@ -163,12 +166,17 @@ type WeaverseStudioQueries = {
163
166
  weaverseVersion: string;
164
167
  isDesignMode: boolean;
165
168
  };
169
+ type PublicEnv = {
170
+ PUBLIC_STORE_DOMAIN: string;
171
+ PUBLIC_STOREFRONT_API_TOKEN: string;
172
+ };
166
173
  type HydrogenPageConfigs = {
167
174
  projectId: string;
168
175
  weaverseHost: string;
169
176
  weaverseVersion?: string;
170
177
  isDesignMode?: boolean;
171
178
  requestInfo: WeaverseLoaderRequestInfo;
179
+ publicEnv?: PublicEnv;
172
180
  };
173
181
  type HydrogenPageAssignment = {
174
182
  projectId: string;
@@ -254,8 +262,8 @@ declare function getRequestQueries<T = Record<string, string | boolean>>(request
254
262
 
255
263
  declare function getSelectedProductOptions(request: Request): _shopify_hydrogen_react_storefront_api_types.SelectedOptionInput[];
256
264
 
257
- declare function useThemeSettings(): (Record<string, any> | ((newSettings: any) => void))[];
265
+ declare function useThemeSettings<T = HydrogenThemeSettings>(): T;
258
266
 
259
267
  declare function WeaverseHydrogenRoot({ errorComponent: ErrorComponent, ...themeConfigs }: WeaverseHydrogenRootProps): React.JSX.Element;
260
268
 
261
- export { FetchProjectPayload, FetchProjectRequestBody, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, PageType, TODO, WeaverseHydrogen, WeaverseHydrogenInit, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderArgs, WeaverseLoaderConfigs, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, fetchWithServerCache, getRequestQueries, getSelectedProductOptions, useThemeSettings, weaverseLoader };
269
+ export { FetchProjectPayload, FetchProjectRequestBody, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenThemeSettings, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, PageType, PublicEnv, TODO, WeaverseHydrogen, WeaverseHydrogenInit, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderArgs, WeaverseLoaderConfigs, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, fetchWithServerCache, getRequestQueries, getSelectedProductOptions, useThemeSettings, weaverseLoader };
package/dist/index.d.ts CHANGED
@@ -106,8 +106,11 @@ type WeaverseStorefrontData = {
106
106
  name: string;
107
107
  items: HydrogenComponentData[];
108
108
  };
109
+ type HydrogenThemeSettings = {
110
+ [key: string]: string | number | boolean;
111
+ };
109
112
  type HydrogenProjectConfig = {
110
- theme: Record<string, any>;
113
+ theme: HydrogenThemeSettings;
111
114
  };
112
115
  type HydrogenProjectType = {
113
116
  id: string;
@@ -126,7 +129,7 @@ type WeaverseInternal = {
126
129
  project: HydrogenProjectType;
127
130
  navigate: NavigateFunction;
128
131
  revalidate: () => void;
129
- [key: string]: any;
132
+ publicEnv?: PublicEnv;
130
133
  };
131
134
  type HydrogenComponentPresets = {
132
135
  type: string;
@@ -163,12 +166,17 @@ type WeaverseStudioQueries = {
163
166
  weaverseVersion: string;
164
167
  isDesignMode: boolean;
165
168
  };
169
+ type PublicEnv = {
170
+ PUBLIC_STORE_DOMAIN: string;
171
+ PUBLIC_STOREFRONT_API_TOKEN: string;
172
+ };
166
173
  type HydrogenPageConfigs = {
167
174
  projectId: string;
168
175
  weaverseHost: string;
169
176
  weaverseVersion?: string;
170
177
  isDesignMode?: boolean;
171
178
  requestInfo: WeaverseLoaderRequestInfo;
179
+ publicEnv?: PublicEnv;
172
180
  };
173
181
  type HydrogenPageAssignment = {
174
182
  projectId: string;
@@ -254,8 +262,8 @@ declare function getRequestQueries<T = Record<string, string | boolean>>(request
254
262
 
255
263
  declare function getSelectedProductOptions(request: Request): _shopify_hydrogen_react_storefront_api_types.SelectedOptionInput[];
256
264
 
257
- declare function useThemeSettings(): (Record<string, any> | ((newSettings: any) => void))[];
265
+ declare function useThemeSettings<T = HydrogenThemeSettings>(): T;
258
266
 
259
267
  declare function WeaverseHydrogenRoot({ errorComponent: ErrorComponent, ...themeConfigs }: WeaverseHydrogenRootProps): React.JSX.Element;
260
268
 
261
- export { FetchProjectPayload, FetchProjectRequestBody, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, PageType, TODO, WeaverseHydrogen, WeaverseHydrogenInit, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderArgs, WeaverseLoaderConfigs, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, fetchWithServerCache, getRequestQueries, getSelectedProductOptions, useThemeSettings, weaverseLoader };
269
+ export { FetchProjectPayload, FetchProjectRequestBody, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenThemeSettings, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, PageType, PublicEnv, TODO, WeaverseHydrogen, WeaverseHydrogenInit, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderArgs, WeaverseLoaderConfigs, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, fetchWithServerCache, getRequestQueries, getSelectedProductOptions, useThemeSettings, weaverseLoader };
package/dist/index.js CHANGED
@@ -87,7 +87,7 @@ function createWeaverseInstance(weaverseData, components) {
87
87
  var import_react2 = require("@remix-run/react");
88
88
  var import_react3 = require("@weaverse/react");
89
89
  var import_react4 = require("react");
90
- function useStudio(weaverse, countries, schema, weaverseData) {
90
+ function useStudio(weaverse, countries, schema, publicEnv) {
91
91
  let navigate = (0, import_react2.useNavigate)();
92
92
  let { revalidate } = (0, import_react2.useRevalidator)();
93
93
  let { isDesignMode, weaverseHost, weaverseVersion } = weaverse;
@@ -96,11 +96,10 @@ function useStudio(weaverse, countries, schema, weaverseData) {
96
96
  if (isStudio) {
97
97
  weaverse.internal = {
98
98
  ...weaverse.internal,
99
+ publicEnv,
99
100
  navigate,
100
101
  revalidate,
101
- themeConfigs: { schema, countries },
102
- publicStoreDomain: weaverseData?.configs?.publicStoreDomain,
103
- publicStorefrontApiToken: weaverseData?.configs?.publicStorefrontApiToken
102
+ themeConfigs: { schema, countries }
104
103
  };
105
104
  window.__weaverse = weaverse;
106
105
  if (window.weaverseStudio) {
@@ -213,10 +212,10 @@ async function weaverseLoader(args, components, countries, loaderConfigs) {
213
212
  page.items = await withLoaderData(items, components, configs, args);
214
213
  }
215
214
  if (isDesignMode) {
216
- Object.assign(configs, {
217
- publicStoreDomain: PUBLIC_STORE_DOMAIN,
218
- publicStorefrontApiToken: PUBLIC_STOREFRONT_API_TOKEN
219
- });
215
+ configs.publicEnv = {
216
+ PUBLIC_STORE_DOMAIN,
217
+ PUBLIC_STOREFRONT_API_TOKEN
218
+ };
220
219
  }
221
220
  resolve({ page, configs, project, pageAssignment });
222
221
  } catch (err) {
@@ -264,15 +263,7 @@ var import_react5 = require("@weaverse/react");
264
263
  function useThemeSettings() {
265
264
  let weaverse = (0, import_react5.useWeaverse)();
266
265
  let settings = weaverse?.internal?.project?.config?.theme;
267
- let updateSettings = (newSettings) => {
268
- weaverse.internal.project.config.theme = Object.assign(
269
- {},
270
- settings,
271
- newSettings
272
- );
273
- weaverse.triggerUpdate();
274
- };
275
- return [settings, updateSettings];
266
+ return settings;
276
267
  }
277
268
 
278
269
  // src/index.tsx
@@ -306,7 +297,8 @@ function WeaverseHydrogenRoot({
306
297
  function RenderWeaverseRoot(props) {
307
298
  let { weaverseData, components, countries, themeSchema } = props;
308
299
  let weaverse = createWeaverseInstance(weaverseData, components);
309
- useStudio(weaverse, countries, themeSchema, weaverseData);
300
+ let { publicEnv } = weaverseData.configs;
301
+ useStudio(weaverse, countries, themeSchema, publicEnv);
310
302
  return /* @__PURE__ */ import_react8.default.createElement(import_react7.WeaverseRoot, { context: weaverse });
311
303
  }
312
304
  // Annotate the CommonJS export names for ESM import in node:
package/dist/index.mjs CHANGED
@@ -47,7 +47,7 @@ function createWeaverseInstance(weaverseData, components) {
47
47
  import { useNavigate, useRevalidator } from "@remix-run/react";
48
48
  import { isIframe, loadScript } from "@weaverse/react";
49
49
  import { useEffect } from "react";
50
- function useStudio(weaverse, countries, schema, weaverseData) {
50
+ function useStudio(weaverse, countries, schema, publicEnv) {
51
51
  let navigate = useNavigate();
52
52
  let { revalidate } = useRevalidator();
53
53
  let { isDesignMode, weaverseHost, weaverseVersion } = weaverse;
@@ -56,11 +56,10 @@ function useStudio(weaverse, countries, schema, weaverseData) {
56
56
  if (isStudio) {
57
57
  weaverse.internal = {
58
58
  ...weaverse.internal,
59
+ publicEnv,
59
60
  navigate,
60
61
  revalidate,
61
- themeConfigs: { schema, countries },
62
- publicStoreDomain: weaverseData?.configs?.publicStoreDomain,
63
- publicStorefrontApiToken: weaverseData?.configs?.publicStorefrontApiToken
62
+ themeConfigs: { schema, countries }
64
63
  };
65
64
  window.__weaverse = weaverse;
66
65
  if (window.weaverseStudio) {
@@ -173,10 +172,10 @@ async function weaverseLoader(args, components, countries, loaderConfigs) {
173
172
  page.items = await withLoaderData(items, components, configs, args);
174
173
  }
175
174
  if (isDesignMode) {
176
- Object.assign(configs, {
177
- publicStoreDomain: PUBLIC_STORE_DOMAIN,
178
- publicStorefrontApiToken: PUBLIC_STOREFRONT_API_TOKEN
179
- });
175
+ configs.publicEnv = {
176
+ PUBLIC_STORE_DOMAIN,
177
+ PUBLIC_STOREFRONT_API_TOKEN
178
+ };
180
179
  }
181
180
  resolve({ page, configs, project, pageAssignment });
182
181
  } catch (err) {
@@ -224,15 +223,7 @@ import { useWeaverse } from "@weaverse/react";
224
223
  function useThemeSettings() {
225
224
  let weaverse = useWeaverse();
226
225
  let settings = weaverse?.internal?.project?.config?.theme;
227
- let updateSettings = (newSettings) => {
228
- weaverse.internal.project.config.theme = Object.assign(
229
- {},
230
- settings,
231
- newSettings
232
- );
233
- weaverse.triggerUpdate();
234
- };
235
- return [settings, updateSettings];
226
+ return settings;
236
227
  }
237
228
 
238
229
  // src/index.tsx
@@ -266,7 +257,8 @@ function WeaverseHydrogenRoot({
266
257
  function RenderWeaverseRoot(props) {
267
258
  let { weaverseData, components, countries, themeSchema } = props;
268
259
  let weaverse = createWeaverseInstance(weaverseData, components);
269
- useStudio(weaverse, countries, themeSchema, weaverseData);
260
+ let { publicEnv } = weaverseData.configs;
261
+ useStudio(weaverse, countries, themeSchema, publicEnv);
270
262
  return /* @__PURE__ */ React.createElement(WeaverseRoot, { context: weaverse });
271
263
  }
272
264
  export {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.12",
2
+ "version": "1.1.13",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -33,11 +33,11 @@
33
33
  "author": "Weaverse Team",
34
34
  "dependencies": {
35
35
  "@remix-run/react": "1.19.1",
36
- "@shopify/hydrogen": "2023.7.3",
37
- "@weaverse/react": "1.1.12",
36
+ "@shopify/hydrogen": "2023.7.5",
37
+ "@weaverse/react": "1.1.13",
38
38
  "react-error-boundary": "^4.0.11"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@shopify/remix-oxygen": "^1.1.3"
42
42
  }
43
- }
43
+ }