@weaverse/hydrogen 1.1.9 → 1.1.11

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
@@ -1,9 +1,9 @@
1
1
  import React, { ForwardRefExoticComponent } from 'react';
2
+ import { Params, NavigateFunction } from '@remix-run/react';
3
+ import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
2
4
  import { LoaderArgs, AppLoadContext } from '@shopify/remix-oxygen';
3
5
  import { ElementData, ElementSchema, BasicInput, WeaverseElement, WeaverseItemStore, Weaverse } from '@weaverse/react';
4
6
  export * from '@weaverse/react';
5
- import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
6
- import { NavigateFunction } from '@remix-run/react';
7
7
  import * as _shopify_hydrogen_react_storefront_api_types from '@shopify/hydrogen-react/storefront-api-types';
8
8
 
9
9
  declare let STORE_PAGES: {
@@ -84,9 +84,9 @@ type I18nLocale = Locale & {
84
84
  pathPrefix: string;
85
85
  };
86
86
  type WeaverseLoaderRequestInfo = {
87
- params: any;
88
- pathname: string;
87
+ params: Params;
89
88
  search: string;
89
+ pathname: string;
90
90
  queries: Record<string, string | boolean>;
91
91
  i18n: I18nLocale;
92
92
  };
@@ -101,6 +101,7 @@ interface WeaverseHydrogen extends WeaverseCore {
101
101
  }
102
102
  type WeaverseStorefrontData = {
103
103
  id?: string;
104
+ __cachedId?: string;
104
105
  rootId: string;
105
106
  name: string;
106
107
  items: HydrogenComponentData[];
@@ -125,6 +126,7 @@ type WeaverseInternal = {
125
126
  project: HydrogenProjectType;
126
127
  navigate: NavigateFunction;
127
128
  revalidate: () => void;
129
+ [key: string]: any;
128
130
  };
129
131
  type HydrogenComponentPresets = {
130
132
  type: string;
@@ -224,6 +226,11 @@ type FetchProjectRequestBody = {
224
226
  loaderConfigs?: WeaverseLoaderConfigs;
225
227
  isDesignMode?: boolean;
226
228
  };
229
+ type FetchProjectPayload = {
230
+ page: HydrogenPageData;
231
+ project: HydrogenProjectType;
232
+ pageAssignment: HydrogenPageAssignment;
233
+ };
227
234
  declare global {
228
235
  interface Window {
229
236
  __weaverse: WeaverseHydrogen;
@@ -251,4 +258,4 @@ declare function useThemeSettings(): (Record<string, any> | ((newSettings: any)
251
258
 
252
259
  declare function WeaverseHydrogenRoot({ errorComponent: ErrorComponent, ...themeConfigs }: WeaverseHydrogenRootProps): React.JSX.Element;
253
260
 
254
- export { 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 };
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 };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import React, { ForwardRefExoticComponent } from 'react';
2
+ import { Params, NavigateFunction } from '@remix-run/react';
3
+ import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
2
4
  import { LoaderArgs, AppLoadContext } from '@shopify/remix-oxygen';
3
5
  import { ElementData, ElementSchema, BasicInput, WeaverseElement, WeaverseItemStore, Weaverse } from '@weaverse/react';
4
6
  export * from '@weaverse/react';
5
- import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
6
- import { NavigateFunction } from '@remix-run/react';
7
7
  import * as _shopify_hydrogen_react_storefront_api_types from '@shopify/hydrogen-react/storefront-api-types';
8
8
 
9
9
  declare let STORE_PAGES: {
@@ -84,9 +84,9 @@ type I18nLocale = Locale & {
84
84
  pathPrefix: string;
85
85
  };
86
86
  type WeaverseLoaderRequestInfo = {
87
- params: any;
88
- pathname: string;
87
+ params: Params;
89
88
  search: string;
89
+ pathname: string;
90
90
  queries: Record<string, string | boolean>;
91
91
  i18n: I18nLocale;
92
92
  };
@@ -101,6 +101,7 @@ interface WeaverseHydrogen extends WeaverseCore {
101
101
  }
102
102
  type WeaverseStorefrontData = {
103
103
  id?: string;
104
+ __cachedId?: string;
104
105
  rootId: string;
105
106
  name: string;
106
107
  items: HydrogenComponentData[];
@@ -125,6 +126,7 @@ type WeaverseInternal = {
125
126
  project: HydrogenProjectType;
126
127
  navigate: NavigateFunction;
127
128
  revalidate: () => void;
129
+ [key: string]: any;
128
130
  };
129
131
  type HydrogenComponentPresets = {
130
132
  type: string;
@@ -224,6 +226,11 @@ type FetchProjectRequestBody = {
224
226
  loaderConfigs?: WeaverseLoaderConfigs;
225
227
  isDesignMode?: boolean;
226
228
  };
229
+ type FetchProjectPayload = {
230
+ page: HydrogenPageData;
231
+ project: HydrogenProjectType;
232
+ pageAssignment: HydrogenPageAssignment;
233
+ };
227
234
  declare global {
228
235
  interface Window {
229
236
  __weaverse: WeaverseHydrogen;
@@ -251,4 +258,4 @@ declare function useThemeSettings(): (Record<string, any> | ((newSettings: any)
251
258
 
252
259
  declare function WeaverseHydrogenRoot({ errorComponent: ErrorComponent, ...themeConfigs }: WeaverseHydrogenRootProps): React.JSX.Element;
253
260
 
254
- export { 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 };
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 };
package/dist/index.js CHANGED
@@ -51,22 +51,19 @@ function createCachedWeaverseInstance(init) {
51
51
  window.__weaverses = window.__weaverses || [];
52
52
  let weaverse = window.__weaverses.find((w) => {
53
53
  let { pathname, search } = w.requestInfo;
54
- return pathname === init.requestInfo.pathname && search === init.requestInfo.search;
54
+ let { __cachedId } = w.data;
55
+ return pathname === init.requestInfo.pathname && search === init.requestInfo.search && __cachedId === init.data.__cachedId;
55
56
  });
56
57
  if (!weaverse) {
57
58
  weaverse = new import_react.Weaverse(init);
58
59
  window.__weaverses.push(weaverse);
59
- } else {
60
- weaverse.setProjectData(init.data);
60
+ console.log("\u{1F4BF} Weaverse", weaverse);
61
61
  }
62
62
  return weaverse;
63
63
  }
64
64
  return new import_react.Weaverse(init);
65
65
  }
66
66
  function createWeaverseInstance(weaverseData, components) {
67
- if (import_react.isBrowser) {
68
- console.log("\u{1F4BF} Weaverse data", weaverseData);
69
- }
70
67
  let { page, configs, project, pageAssignment } = weaverseData || {};
71
68
  let weaverse = createCachedWeaverseInstance({
72
69
  ...configs,
@@ -90,7 +87,7 @@ function createWeaverseInstance(weaverseData, components) {
90
87
  var import_react2 = require("@remix-run/react");
91
88
  var import_react3 = require("@weaverse/react");
92
89
  var import_react4 = require("react");
93
- function useStudio(weaverse, countries, schema) {
90
+ function useStudio(weaverse, countries, schema, weaverseData) {
94
91
  let navigate = (0, import_react2.useNavigate)();
95
92
  let { revalidate } = (0, import_react2.useRevalidator)();
96
93
  let { isDesignMode, weaverseHost, weaverseVersion } = weaverse;
@@ -101,7 +98,9 @@ function useStudio(weaverse, countries, schema) {
101
98
  ...weaverse.internal,
102
99
  navigate,
103
100
  revalidate,
104
- themeConfigs: { schema, countries }
101
+ themeConfigs: { schema, countries },
102
+ publicStoreDomain: weaverseData?.configs?.publicStoreDomain,
103
+ publicStorefrontApiToken: weaverseData?.configs?.publicStorefrontApiToken
105
104
  };
106
105
  window.__weaverse = weaverse;
107
106
  if (window.weaverseStudio) {
@@ -152,7 +151,12 @@ async function weaverseLoader(args, components, countries, loaderConfigs) {
152
151
  try {
153
152
  let { request, context, params } = args;
154
153
  let queries = getRequestQueries(request);
155
- let { WEAVERSE_PROJECT_ID, WEAVERSE_HOST } = context?.env || {};
154
+ let {
155
+ WEAVERSE_PROJECT_ID,
156
+ WEAVERSE_HOST,
157
+ PUBLIC_STORE_DOMAIN,
158
+ PUBLIC_STOREFRONT_API_TOKEN
159
+ } = context?.env || {};
156
160
  let { weaverseProjectId, weaverseHost, isDesignMode, weaverseVersion } = queries;
157
161
  let projectId = weaverseProjectId || WEAVERSE_PROJECT_ID;
158
162
  weaverseHost = weaverseHost || WEAVERSE_HOST || "https://weaverse.io";
@@ -208,6 +212,12 @@ async function weaverseLoader(args, components, countries, loaderConfigs) {
208
212
  let items = page.items;
209
213
  page.items = await withLoaderData(items, components, configs, args);
210
214
  }
215
+ if (isDesignMode) {
216
+ Object.assign(configs, {
217
+ publicStoreDomain: PUBLIC_STORE_DOMAIN,
218
+ publicStorefrontApiToken: PUBLIC_STOREFRONT_API_TOKEN
219
+ });
220
+ }
211
221
  resolve({ page, configs, project, pageAssignment });
212
222
  } catch (err) {
213
223
  console.log(`\u274C Error fetching project data: ${err?.toString()}`);
@@ -296,7 +306,7 @@ function WeaverseHydrogenRoot({
296
306
  function RenderWeaverseRoot(props) {
297
307
  let { weaverseData, components, countries, themeSchema } = props;
298
308
  let weaverse = createWeaverseInstance(weaverseData, components);
299
- useStudio(weaverse, countries, themeSchema);
309
+ useStudio(weaverse, countries, themeSchema, weaverseData);
300
310
  return /* @__PURE__ */ import_react8.default.createElement(import_react7.WeaverseRoot, { context: weaverse });
301
311
  }
302
312
  // Annotate the CommonJS export names for ESM import in node:
package/dist/index.mjs CHANGED
@@ -11,22 +11,19 @@ function createCachedWeaverseInstance(init) {
11
11
  window.__weaverses = window.__weaverses || [];
12
12
  let weaverse = window.__weaverses.find((w) => {
13
13
  let { pathname, search } = w.requestInfo;
14
- return pathname === init.requestInfo.pathname && search === init.requestInfo.search;
14
+ let { __cachedId } = w.data;
15
+ return pathname === init.requestInfo.pathname && search === init.requestInfo.search && __cachedId === init.data.__cachedId;
15
16
  });
16
17
  if (!weaverse) {
17
18
  weaverse = new Weaverse(init);
18
19
  window.__weaverses.push(weaverse);
19
- } else {
20
- weaverse.setProjectData(init.data);
20
+ console.log("\u{1F4BF} Weaverse", weaverse);
21
21
  }
22
22
  return weaverse;
23
23
  }
24
24
  return new Weaverse(init);
25
25
  }
26
26
  function createWeaverseInstance(weaverseData, components) {
27
- if (isBrowser) {
28
- console.log("\u{1F4BF} Weaverse data", weaverseData);
29
- }
30
27
  let { page, configs, project, pageAssignment } = weaverseData || {};
31
28
  let weaverse = createCachedWeaverseInstance({
32
29
  ...configs,
@@ -50,7 +47,7 @@ function createWeaverseInstance(weaverseData, components) {
50
47
  import { useNavigate, useRevalidator } from "@remix-run/react";
51
48
  import { isIframe, loadScript } from "@weaverse/react";
52
49
  import { useEffect } from "react";
53
- function useStudio(weaverse, countries, schema) {
50
+ function useStudio(weaverse, countries, schema, weaverseData) {
54
51
  let navigate = useNavigate();
55
52
  let { revalidate } = useRevalidator();
56
53
  let { isDesignMode, weaverseHost, weaverseVersion } = weaverse;
@@ -61,7 +58,9 @@ function useStudio(weaverse, countries, schema) {
61
58
  ...weaverse.internal,
62
59
  navigate,
63
60
  revalidate,
64
- themeConfigs: { schema, countries }
61
+ themeConfigs: { schema, countries },
62
+ publicStoreDomain: weaverseData?.configs?.publicStoreDomain,
63
+ publicStorefrontApiToken: weaverseData?.configs?.publicStorefrontApiToken
65
64
  };
66
65
  window.__weaverse = weaverse;
67
66
  if (window.weaverseStudio) {
@@ -112,7 +111,12 @@ async function weaverseLoader(args, components, countries, loaderConfigs) {
112
111
  try {
113
112
  let { request, context, params } = args;
114
113
  let queries = getRequestQueries(request);
115
- let { WEAVERSE_PROJECT_ID, WEAVERSE_HOST } = context?.env || {};
114
+ let {
115
+ WEAVERSE_PROJECT_ID,
116
+ WEAVERSE_HOST,
117
+ PUBLIC_STORE_DOMAIN,
118
+ PUBLIC_STOREFRONT_API_TOKEN
119
+ } = context?.env || {};
116
120
  let { weaverseProjectId, weaverseHost, isDesignMode, weaverseVersion } = queries;
117
121
  let projectId = weaverseProjectId || WEAVERSE_PROJECT_ID;
118
122
  weaverseHost = weaverseHost || WEAVERSE_HOST || "https://weaverse.io";
@@ -168,6 +172,12 @@ async function weaverseLoader(args, components, countries, loaderConfigs) {
168
172
  let items = page.items;
169
173
  page.items = await withLoaderData(items, components, configs, args);
170
174
  }
175
+ if (isDesignMode) {
176
+ Object.assign(configs, {
177
+ publicStoreDomain: PUBLIC_STORE_DOMAIN,
178
+ publicStorefrontApiToken: PUBLIC_STOREFRONT_API_TOKEN
179
+ });
180
+ }
171
181
  resolve({ page, configs, project, pageAssignment });
172
182
  } catch (err) {
173
183
  console.log(`\u274C Error fetching project data: ${err?.toString()}`);
@@ -256,7 +266,7 @@ function WeaverseHydrogenRoot({
256
266
  function RenderWeaverseRoot(props) {
257
267
  let { weaverseData, components, countries, themeSchema } = props;
258
268
  let weaverse = createWeaverseInstance(weaverseData, components);
259
- useStudio(weaverse, countries, themeSchema);
269
+ useStudio(weaverse, countries, themeSchema, weaverseData);
260
270
  return /* @__PURE__ */ React.createElement(WeaverseRoot, { context: weaverse });
261
271
  }
262
272
  export {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.9",
2
+ "version": "1.1.11",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  "dependencies": {
35
35
  "@remix-run/react": "1.19.1",
36
36
  "@shopify/hydrogen": "2023.7.3",
37
- "@weaverse/react": "1.1.9",
37
+ "@weaverse/react": "1.1.11",
38
38
  "react-error-boundary": "^4.0.11"
39
39
  },
40
40
  "devDependencies": {