@weaverse/hydrogen 2.1.2 → 2.2.2
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 +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +62 -44
- package/dist/index.mjs +63 -45
- package/package.json +32 -32
package/dist/index.d.mts
CHANGED
|
@@ -8,7 +8,7 @@ import React, { ForwardRefExoticComponent } from 'react';
|
|
|
8
8
|
import * as _shopify_hydrogen_react_storefront_api_types from '@shopify/hydrogen-react/storefront-api-types';
|
|
9
9
|
|
|
10
10
|
declare class ThemeSettingsStore {
|
|
11
|
-
settings: HydrogenThemeSettings | null;
|
|
11
|
+
static settings: HydrogenThemeSettings | null;
|
|
12
12
|
listeners: (() => void)[];
|
|
13
13
|
countries?: Localizations;
|
|
14
14
|
schema?: HydrogenThemeSchema;
|
|
@@ -43,7 +43,7 @@ declare class WeaverseClient {
|
|
|
43
43
|
API: string;
|
|
44
44
|
clientVersion: string;
|
|
45
45
|
basePageConfigs: Omit<WeaverseProjectConfigs, 'requestInfo'>;
|
|
46
|
-
basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
|
|
46
|
+
basePageRequestBody: Omit<FetchProjectRequestBody, 'url' | 'countries'>;
|
|
47
47
|
configs: WeaverseProjectConfigs;
|
|
48
48
|
withCache: ReturnType<typeof createWithCache>;
|
|
49
49
|
request: WeaverseClientArgs['request'];
|
|
@@ -139,7 +139,7 @@ type WeaverseStorefrontData = {
|
|
|
139
139
|
items: HydrogenComponentData[];
|
|
140
140
|
};
|
|
141
141
|
type HydrogenThemeSettings = {
|
|
142
|
-
[key: string]:
|
|
142
|
+
[key: string]: any;
|
|
143
143
|
};
|
|
144
144
|
type HydrogenProjectConfig = {
|
|
145
145
|
theme: HydrogenThemeSettings;
|
|
@@ -301,8 +301,8 @@ declare global {
|
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
303
|
|
|
304
|
-
declare
|
|
305
|
-
declare function withWeaverse(Component: React.ComponentType): (props: React.JSX.IntrinsicAttributes) => React.JSX.Element;
|
|
304
|
+
declare let WeaverseHydrogenRoot: React.MemoExoticComponent<({ errorComponent: ErrorComponent, components, }: WeaverseHydrogenRootProps) => React.JSX.Element>;
|
|
305
|
+
declare function withWeaverse(Component: React.ComponentType<any>): (props: React.JSX.IntrinsicAttributes) => React.JSX.Element;
|
|
306
306
|
|
|
307
307
|
declare function getRequestQueries<T = Record<string, string | boolean>>(request: Request): T;
|
|
308
308
|
declare function getWeaverseConfigs(request: Request, env: HydrogenThemeEnv): WeaverseProjectConfigs;
|
|
@@ -324,7 +324,7 @@ declare class WeaverseHydrogen extends Weaverse {
|
|
|
324
324
|
}
|
|
325
325
|
declare class WeaverseHydrogenItem extends WeaverseItemStore {
|
|
326
326
|
weaverse: WeaverseHydrogen;
|
|
327
|
-
constructor(
|
|
327
|
+
constructor(initialData: HydrogenComponentData, weaverse: WeaverseHydrogen);
|
|
328
328
|
get Element(): HydrogenElement;
|
|
329
329
|
get data(): HydrogenComponentData;
|
|
330
330
|
set data(update: HydrogenComponentData);
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import React, { ForwardRefExoticComponent } from 'react';
|
|
|
8
8
|
import * as _shopify_hydrogen_react_storefront_api_types from '@shopify/hydrogen-react/storefront-api-types';
|
|
9
9
|
|
|
10
10
|
declare class ThemeSettingsStore {
|
|
11
|
-
settings: HydrogenThemeSettings | null;
|
|
11
|
+
static settings: HydrogenThemeSettings | null;
|
|
12
12
|
listeners: (() => void)[];
|
|
13
13
|
countries?: Localizations;
|
|
14
14
|
schema?: HydrogenThemeSchema;
|
|
@@ -43,7 +43,7 @@ declare class WeaverseClient {
|
|
|
43
43
|
API: string;
|
|
44
44
|
clientVersion: string;
|
|
45
45
|
basePageConfigs: Omit<WeaverseProjectConfigs, 'requestInfo'>;
|
|
46
|
-
basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
|
|
46
|
+
basePageRequestBody: Omit<FetchProjectRequestBody, 'url' | 'countries'>;
|
|
47
47
|
configs: WeaverseProjectConfigs;
|
|
48
48
|
withCache: ReturnType<typeof createWithCache>;
|
|
49
49
|
request: WeaverseClientArgs['request'];
|
|
@@ -139,7 +139,7 @@ type WeaverseStorefrontData = {
|
|
|
139
139
|
items: HydrogenComponentData[];
|
|
140
140
|
};
|
|
141
141
|
type HydrogenThemeSettings = {
|
|
142
|
-
[key: string]:
|
|
142
|
+
[key: string]: any;
|
|
143
143
|
};
|
|
144
144
|
type HydrogenProjectConfig = {
|
|
145
145
|
theme: HydrogenThemeSettings;
|
|
@@ -301,8 +301,8 @@ declare global {
|
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
303
|
|
|
304
|
-
declare
|
|
305
|
-
declare function withWeaverse(Component: React.ComponentType): (props: React.JSX.IntrinsicAttributes) => React.JSX.Element;
|
|
304
|
+
declare let WeaverseHydrogenRoot: React.MemoExoticComponent<({ errorComponent: ErrorComponent, components, }: WeaverseHydrogenRootProps) => React.JSX.Element>;
|
|
305
|
+
declare function withWeaverse(Component: React.ComponentType<any>): (props: React.JSX.IntrinsicAttributes) => React.JSX.Element;
|
|
306
306
|
|
|
307
307
|
declare function getRequestQueries<T = Record<string, string | boolean>>(request: Request): T;
|
|
308
308
|
declare function getWeaverseConfigs(request: Request, env: HydrogenThemeEnv): WeaverseProjectConfigs;
|
|
@@ -324,7 +324,7 @@ declare class WeaverseHydrogen extends Weaverse {
|
|
|
324
324
|
}
|
|
325
325
|
declare class WeaverseHydrogenItem extends WeaverseItemStore {
|
|
326
326
|
weaverse: WeaverseHydrogen;
|
|
327
|
-
constructor(
|
|
327
|
+
constructor(initialData: HydrogenComponentData, weaverse: WeaverseHydrogen);
|
|
328
328
|
get Element(): HydrogenElement;
|
|
329
329
|
get data(): HydrogenComponentData;
|
|
330
330
|
set data(update: HydrogenComponentData);
|
package/dist/index.js
CHANGED
|
@@ -58,13 +58,14 @@ function createCachedWeaverseInstance(params, components) {
|
|
|
58
58
|
window.__weaverses = window.__weaverses || [];
|
|
59
59
|
let weaverse = window.__weaverses.find((w) => {
|
|
60
60
|
let { pathname, search } = w.requestInfo;
|
|
61
|
-
|
|
62
|
-
return pathname === params.requestInfo.pathname && search === params.requestInfo.search && __cachedId === params.data.__cachedId;
|
|
61
|
+
return pathname === params.requestInfo.pathname;
|
|
63
62
|
});
|
|
64
63
|
if (!weaverse) {
|
|
65
64
|
weaverse = new WeaverseHydrogen(params, components);
|
|
66
65
|
window.__weaverses.push(weaverse);
|
|
67
|
-
|
|
66
|
+
} else if (weaverse.isDesignMode) {
|
|
67
|
+
weaverse.requestInfo = params.requestInfo;
|
|
68
|
+
weaverse.setProjectData(params.data);
|
|
68
69
|
}
|
|
69
70
|
return weaverse;
|
|
70
71
|
}
|
|
@@ -72,7 +73,7 @@ function createCachedWeaverseInstance(params, components) {
|
|
|
72
73
|
}
|
|
73
74
|
function createWeaverseInstance(weaverseData, components) {
|
|
74
75
|
let { page, configs, project, pageAssignment } = weaverseData || {};
|
|
75
|
-
|
|
76
|
+
return createCachedWeaverseInstance(
|
|
76
77
|
{
|
|
77
78
|
...configs,
|
|
78
79
|
data: page || {},
|
|
@@ -81,7 +82,6 @@ function createWeaverseInstance(weaverseData, components) {
|
|
|
81
82
|
},
|
|
82
83
|
components
|
|
83
84
|
);
|
|
84
|
-
return weaverse;
|
|
85
85
|
}
|
|
86
86
|
var ThemeProvider = (0, import_react2.createContext)(null);
|
|
87
87
|
ThemeProvider.displayName = "WeaverseThemeProvider";
|
|
@@ -126,26 +126,36 @@ function useStudio(weaverse) {
|
|
|
126
126
|
(0, import_react5.loadScript)(studioSrc);
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
-
}, [weaverse]);
|
|
129
|
+
}, [weaverse.requestInfo]);
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
// src/hooks/use-theme-settings.ts
|
|
133
133
|
var import_react7 = require("react");
|
|
134
|
-
var ThemeSettingsStore = class {
|
|
135
|
-
settings = null;
|
|
134
|
+
var ThemeSettingsStore = class _ThemeSettingsStore {
|
|
135
|
+
static settings = null;
|
|
136
136
|
listeners = [];
|
|
137
137
|
countries;
|
|
138
138
|
schema;
|
|
139
139
|
publicEnv;
|
|
140
140
|
constructor(data) {
|
|
141
141
|
let { theme, countries, schema, publicEnv } = data || {};
|
|
142
|
-
|
|
142
|
+
if (!_ThemeSettingsStore.settings) {
|
|
143
|
+
_ThemeSettingsStore.settings = theme || {};
|
|
144
|
+
} else {
|
|
145
|
+
_ThemeSettingsStore.settings = {
|
|
146
|
+
...theme,
|
|
147
|
+
..._ThemeSettingsStore.settings
|
|
148
|
+
};
|
|
149
|
+
}
|
|
143
150
|
this.countries = countries;
|
|
144
151
|
this.schema = schema;
|
|
145
152
|
this.publicEnv = publicEnv;
|
|
146
153
|
}
|
|
147
154
|
updateThemeSettings = (newSettings) => {
|
|
148
|
-
|
|
155
|
+
_ThemeSettingsStore.settings = {
|
|
156
|
+
..._ThemeSettingsStore.settings,
|
|
157
|
+
...newSettings
|
|
158
|
+
};
|
|
149
159
|
this.emitChange();
|
|
150
160
|
};
|
|
151
161
|
subscribe = (listener) => {
|
|
@@ -155,10 +165,10 @@ var ThemeSettingsStore = class {
|
|
|
155
165
|
};
|
|
156
166
|
};
|
|
157
167
|
getSnapshot = () => {
|
|
158
|
-
return
|
|
168
|
+
return _ThemeSettingsStore.settings;
|
|
159
169
|
};
|
|
160
170
|
getServerSnapshot = () => {
|
|
161
|
-
return
|
|
171
|
+
return _ThemeSettingsStore.settings;
|
|
162
172
|
};
|
|
163
173
|
emitChange = () => {
|
|
164
174
|
for (let listener of this.listeners) {
|
|
@@ -177,27 +187,29 @@ function useThemeSettings() {
|
|
|
177
187
|
}
|
|
178
188
|
|
|
179
189
|
// src/WeaverseHydrogenRoot.tsx
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
if (data
|
|
188
|
-
|
|
189
|
-
return /* @__PURE__ */ import_react10.default.createElement(
|
|
190
|
-
|
|
190
|
+
var WeaverseHydrogenRoot = (0, import_react10.memo)(
|
|
191
|
+
({
|
|
192
|
+
errorComponent: ErrorComponent = FallbackError,
|
|
193
|
+
components
|
|
194
|
+
}) => {
|
|
195
|
+
let loaderData = (0, import_react8.useLoaderData)();
|
|
196
|
+
let data = loaderData?.weaverseData;
|
|
197
|
+
if (data) {
|
|
198
|
+
if (data instanceof Promise) {
|
|
199
|
+
return /* @__PURE__ */ import_react10.default.createElement(import_react_error_boundary.ErrorBoundary, { fallbackRender: ErrorComponent }, /* @__PURE__ */ import_react10.default.createElement(import_react10.Suspense, null, /* @__PURE__ */ import_react10.default.createElement(import_react8.Await, { resolve: data }, (resolvedData) => {
|
|
200
|
+
return /* @__PURE__ */ import_react10.default.createElement(RenderRoot, { data: resolvedData, components });
|
|
201
|
+
})));
|
|
202
|
+
}
|
|
203
|
+
return /* @__PURE__ */ import_react10.default.createElement(RenderRoot, { data, components });
|
|
191
204
|
}
|
|
192
|
-
return /* @__PURE__ */ import_react10.default.createElement(
|
|
205
|
+
return /* @__PURE__ */ import_react10.default.createElement(
|
|
206
|
+
ErrorComponent,
|
|
207
|
+
{
|
|
208
|
+
error: { message: "No Weaverse data return from route loader!" }
|
|
209
|
+
}
|
|
210
|
+
);
|
|
193
211
|
}
|
|
194
|
-
|
|
195
|
-
ErrorComponent,
|
|
196
|
-
{
|
|
197
|
-
error: { message: "No Weaverse data return from route loader!" }
|
|
198
|
-
}
|
|
199
|
-
);
|
|
200
|
-
}
|
|
212
|
+
);
|
|
201
213
|
function RenderRoot(props) {
|
|
202
214
|
let { data, components } = props;
|
|
203
215
|
let weaverse = createWeaverseInstance(data, components);
|
|
@@ -220,7 +232,7 @@ var import_hydrogen = require("@shopify/hydrogen");
|
|
|
220
232
|
|
|
221
233
|
// package.json
|
|
222
234
|
var package_default = {
|
|
223
|
-
version: "2.
|
|
235
|
+
version: "2.2.2",
|
|
224
236
|
license: "MIT",
|
|
225
237
|
main: "dist/index.js",
|
|
226
238
|
typings: "dist/index.d.ts",
|
|
@@ -254,12 +266,12 @@ var package_default = {
|
|
|
254
266
|
author: "Weaverse Team",
|
|
255
267
|
dependencies: {
|
|
256
268
|
"@remix-run/react": "1.19.1",
|
|
257
|
-
"@shopify/hydrogen": "2023.7.
|
|
258
|
-
"@weaverse/react": "2.
|
|
269
|
+
"@shopify/hydrogen": "2023.7.10",
|
|
270
|
+
"@weaverse/react": "2.2.2",
|
|
259
271
|
"react-error-boundary": "^4.0.11"
|
|
260
272
|
},
|
|
261
273
|
devDependencies: {
|
|
262
|
-
"@shopify/remix-oxygen": "^1.1.
|
|
274
|
+
"@shopify/remix-oxygen": "^1.1.6"
|
|
263
275
|
}
|
|
264
276
|
};
|
|
265
277
|
|
|
@@ -339,7 +351,6 @@ var WeaverseClient = class {
|
|
|
339
351
|
isDesignMode: this.configs.isDesignMode
|
|
340
352
|
};
|
|
341
353
|
this.basePageRequestBody = {
|
|
342
|
-
countries,
|
|
343
354
|
isDesignMode: this.configs.isDesignMode,
|
|
344
355
|
i18n: storefront.i18n,
|
|
345
356
|
projectId: this.configs.projectId
|
|
@@ -362,14 +373,21 @@ var WeaverseClient = class {
|
|
|
362
373
|
loadThemeSettings = async (strategy) => {
|
|
363
374
|
try {
|
|
364
375
|
let { API, configs } = this;
|
|
365
|
-
let { weaverseHost, projectId } = configs;
|
|
376
|
+
let { weaverseHost, projectId, isDesignMode } = configs;
|
|
366
377
|
if (!projectId) {
|
|
367
378
|
throw new Error("Missing Weaverse projectId!");
|
|
368
379
|
}
|
|
369
|
-
let res
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
380
|
+
let res;
|
|
381
|
+
if (isDesignMode) {
|
|
382
|
+
res = await fetch(`${weaverseHost}/${API}/${projectId}/configs`, {
|
|
383
|
+
method: "POST"
|
|
384
|
+
});
|
|
385
|
+
} else {
|
|
386
|
+
res = await this.fetchWithCache(
|
|
387
|
+
`${weaverseHost}/${API}/${projectId}/configs`,
|
|
388
|
+
{ method: "POST", strategy }
|
|
389
|
+
);
|
|
390
|
+
}
|
|
373
391
|
let data = res || {};
|
|
374
392
|
if (this.configs.isDesignMode) {
|
|
375
393
|
data = {
|
|
@@ -507,9 +525,9 @@ var WeaverseHydrogen = class extends import_react11.Weaverse {
|
|
|
507
525
|
}
|
|
508
526
|
};
|
|
509
527
|
var WeaverseHydrogenItem = class extends import_react11.WeaverseItemStore {
|
|
510
|
-
constructor(
|
|
511
|
-
super(
|
|
512
|
-
let { data, ...rest } =
|
|
528
|
+
constructor(initialData, weaverse) {
|
|
529
|
+
super(initialData, weaverse);
|
|
530
|
+
let { data, ...rest } = initialData;
|
|
513
531
|
this._store = { ...data, ...rest };
|
|
514
532
|
}
|
|
515
533
|
get Element() {
|
package/dist/index.mjs
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
// src/WeaverseHydrogenRoot.tsx
|
|
8
8
|
import { Await, useLoaderData } from "@remix-run/react";
|
|
9
9
|
import { WeaverseRoot } from "@weaverse/react";
|
|
10
|
-
import React, { Suspense } from "react";
|
|
10
|
+
import React, { memo, Suspense } from "react";
|
|
11
11
|
import { ErrorBoundary } from "react-error-boundary";
|
|
12
12
|
|
|
13
13
|
// src/context.ts
|
|
@@ -18,13 +18,14 @@ function createCachedWeaverseInstance(params, components) {
|
|
|
18
18
|
window.__weaverses = window.__weaverses || [];
|
|
19
19
|
let weaverse = window.__weaverses.find((w) => {
|
|
20
20
|
let { pathname, search } = w.requestInfo;
|
|
21
|
-
|
|
22
|
-
return pathname === params.requestInfo.pathname && search === params.requestInfo.search && __cachedId === params.data.__cachedId;
|
|
21
|
+
return pathname === params.requestInfo.pathname;
|
|
23
22
|
});
|
|
24
23
|
if (!weaverse) {
|
|
25
24
|
weaverse = new WeaverseHydrogen(params, components);
|
|
26
25
|
window.__weaverses.push(weaverse);
|
|
27
|
-
|
|
26
|
+
} else if (weaverse.isDesignMode) {
|
|
27
|
+
weaverse.requestInfo = params.requestInfo;
|
|
28
|
+
weaverse.setProjectData(params.data);
|
|
28
29
|
}
|
|
29
30
|
return weaverse;
|
|
30
31
|
}
|
|
@@ -32,7 +33,7 @@ function createCachedWeaverseInstance(params, components) {
|
|
|
32
33
|
}
|
|
33
34
|
function createWeaverseInstance(weaverseData, components) {
|
|
34
35
|
let { page, configs, project, pageAssignment } = weaverseData || {};
|
|
35
|
-
|
|
36
|
+
return createCachedWeaverseInstance(
|
|
36
37
|
{
|
|
37
38
|
...configs,
|
|
38
39
|
data: page || {},
|
|
@@ -41,7 +42,6 @@ function createWeaverseInstance(weaverseData, components) {
|
|
|
41
42
|
},
|
|
42
43
|
components
|
|
43
44
|
);
|
|
44
|
-
return weaverse;
|
|
45
45
|
}
|
|
46
46
|
var ThemeProvider = createContext(null);
|
|
47
47
|
ThemeProvider.displayName = "WeaverseThemeProvider";
|
|
@@ -86,26 +86,36 @@ function useStudio(weaverse) {
|
|
|
86
86
|
loadScript(studioSrc);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
}, [weaverse]);
|
|
89
|
+
}, [weaverse.requestInfo]);
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
// src/hooks/use-theme-settings.ts
|
|
93
93
|
import { useSyncExternalStore } from "react";
|
|
94
|
-
var ThemeSettingsStore = class {
|
|
95
|
-
settings = null;
|
|
94
|
+
var ThemeSettingsStore = class _ThemeSettingsStore {
|
|
95
|
+
static settings = null;
|
|
96
96
|
listeners = [];
|
|
97
97
|
countries;
|
|
98
98
|
schema;
|
|
99
99
|
publicEnv;
|
|
100
100
|
constructor(data) {
|
|
101
101
|
let { theme, countries, schema, publicEnv } = data || {};
|
|
102
|
-
|
|
102
|
+
if (!_ThemeSettingsStore.settings) {
|
|
103
|
+
_ThemeSettingsStore.settings = theme || {};
|
|
104
|
+
} else {
|
|
105
|
+
_ThemeSettingsStore.settings = {
|
|
106
|
+
...theme,
|
|
107
|
+
..._ThemeSettingsStore.settings
|
|
108
|
+
};
|
|
109
|
+
}
|
|
103
110
|
this.countries = countries;
|
|
104
111
|
this.schema = schema;
|
|
105
112
|
this.publicEnv = publicEnv;
|
|
106
113
|
}
|
|
107
114
|
updateThemeSettings = (newSettings) => {
|
|
108
|
-
|
|
115
|
+
_ThemeSettingsStore.settings = {
|
|
116
|
+
..._ThemeSettingsStore.settings,
|
|
117
|
+
...newSettings
|
|
118
|
+
};
|
|
109
119
|
this.emitChange();
|
|
110
120
|
};
|
|
111
121
|
subscribe = (listener) => {
|
|
@@ -115,10 +125,10 @@ var ThemeSettingsStore = class {
|
|
|
115
125
|
};
|
|
116
126
|
};
|
|
117
127
|
getSnapshot = () => {
|
|
118
|
-
return
|
|
128
|
+
return _ThemeSettingsStore.settings;
|
|
119
129
|
};
|
|
120
130
|
getServerSnapshot = () => {
|
|
121
|
-
return
|
|
131
|
+
return _ThemeSettingsStore.settings;
|
|
122
132
|
};
|
|
123
133
|
emitChange = () => {
|
|
124
134
|
for (let listener of this.listeners) {
|
|
@@ -137,27 +147,29 @@ function useThemeSettings() {
|
|
|
137
147
|
}
|
|
138
148
|
|
|
139
149
|
// src/WeaverseHydrogenRoot.tsx
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
if (data
|
|
148
|
-
|
|
149
|
-
return /* @__PURE__ */ React.createElement(
|
|
150
|
-
|
|
150
|
+
var WeaverseHydrogenRoot = memo(
|
|
151
|
+
({
|
|
152
|
+
errorComponent: ErrorComponent = FallbackError,
|
|
153
|
+
components
|
|
154
|
+
}) => {
|
|
155
|
+
let loaderData = useLoaderData();
|
|
156
|
+
let data = loaderData?.weaverseData;
|
|
157
|
+
if (data) {
|
|
158
|
+
if (data instanceof Promise) {
|
|
159
|
+
return /* @__PURE__ */ React.createElement(ErrorBoundary, { fallbackRender: ErrorComponent }, /* @__PURE__ */ React.createElement(Suspense, null, /* @__PURE__ */ React.createElement(Await, { resolve: data }, (resolvedData) => {
|
|
160
|
+
return /* @__PURE__ */ React.createElement(RenderRoot, { data: resolvedData, components });
|
|
161
|
+
})));
|
|
162
|
+
}
|
|
163
|
+
return /* @__PURE__ */ React.createElement(RenderRoot, { data, components });
|
|
151
164
|
}
|
|
152
|
-
return /* @__PURE__ */ React.createElement(
|
|
165
|
+
return /* @__PURE__ */ React.createElement(
|
|
166
|
+
ErrorComponent,
|
|
167
|
+
{
|
|
168
|
+
error: { message: "No Weaverse data return from route loader!" }
|
|
169
|
+
}
|
|
170
|
+
);
|
|
153
171
|
}
|
|
154
|
-
|
|
155
|
-
ErrorComponent,
|
|
156
|
-
{
|
|
157
|
-
error: { message: "No Weaverse data return from route loader!" }
|
|
158
|
-
}
|
|
159
|
-
);
|
|
160
|
-
}
|
|
172
|
+
);
|
|
161
173
|
function RenderRoot(props) {
|
|
162
174
|
let { data, components } = props;
|
|
163
175
|
let weaverse = createWeaverseInstance(data, components);
|
|
@@ -180,7 +192,7 @@ import { createWithCache } from "@shopify/hydrogen";
|
|
|
180
192
|
|
|
181
193
|
// package.json
|
|
182
194
|
var package_default = {
|
|
183
|
-
version: "2.
|
|
195
|
+
version: "2.2.2",
|
|
184
196
|
license: "MIT",
|
|
185
197
|
main: "dist/index.js",
|
|
186
198
|
typings: "dist/index.d.ts",
|
|
@@ -214,12 +226,12 @@ var package_default = {
|
|
|
214
226
|
author: "Weaverse Team",
|
|
215
227
|
dependencies: {
|
|
216
228
|
"@remix-run/react": "1.19.1",
|
|
217
|
-
"@shopify/hydrogen": "2023.7.
|
|
218
|
-
"@weaverse/react": "2.
|
|
229
|
+
"@shopify/hydrogen": "2023.7.10",
|
|
230
|
+
"@weaverse/react": "2.2.2",
|
|
219
231
|
"react-error-boundary": "^4.0.11"
|
|
220
232
|
},
|
|
221
233
|
devDependencies: {
|
|
222
|
-
"@shopify/remix-oxygen": "^1.1.
|
|
234
|
+
"@shopify/remix-oxygen": "^1.1.6"
|
|
223
235
|
}
|
|
224
236
|
};
|
|
225
237
|
|
|
@@ -299,7 +311,6 @@ var WeaverseClient = class {
|
|
|
299
311
|
isDesignMode: this.configs.isDesignMode
|
|
300
312
|
};
|
|
301
313
|
this.basePageRequestBody = {
|
|
302
|
-
countries,
|
|
303
314
|
isDesignMode: this.configs.isDesignMode,
|
|
304
315
|
i18n: storefront.i18n,
|
|
305
316
|
projectId: this.configs.projectId
|
|
@@ -322,14 +333,21 @@ var WeaverseClient = class {
|
|
|
322
333
|
loadThemeSettings = async (strategy) => {
|
|
323
334
|
try {
|
|
324
335
|
let { API, configs } = this;
|
|
325
|
-
let { weaverseHost, projectId } = configs;
|
|
336
|
+
let { weaverseHost, projectId, isDesignMode } = configs;
|
|
326
337
|
if (!projectId) {
|
|
327
338
|
throw new Error("Missing Weaverse projectId!");
|
|
328
339
|
}
|
|
329
|
-
let res
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
340
|
+
let res;
|
|
341
|
+
if (isDesignMode) {
|
|
342
|
+
res = await fetch(`${weaverseHost}/${API}/${projectId}/configs`, {
|
|
343
|
+
method: "POST"
|
|
344
|
+
});
|
|
345
|
+
} else {
|
|
346
|
+
res = await this.fetchWithCache(
|
|
347
|
+
`${weaverseHost}/${API}/${projectId}/configs`,
|
|
348
|
+
{ method: "POST", strategy }
|
|
349
|
+
);
|
|
350
|
+
}
|
|
333
351
|
let data = res || {};
|
|
334
352
|
if (this.configs.isDesignMode) {
|
|
335
353
|
data = {
|
|
@@ -467,9 +485,9 @@ var WeaverseHydrogen = class extends Weaverse {
|
|
|
467
485
|
}
|
|
468
486
|
};
|
|
469
487
|
var WeaverseHydrogenItem = class extends WeaverseItemStore {
|
|
470
|
-
constructor(
|
|
471
|
-
super(
|
|
472
|
-
let { data, ...rest } =
|
|
488
|
+
constructor(initialData, weaverse) {
|
|
489
|
+
super(initialData, weaverse);
|
|
490
|
+
let { data, ...rest } = initialData;
|
|
473
491
|
this._store = { ...data, ...rest };
|
|
474
492
|
}
|
|
475
493
|
get Element() {
|
package/package.json
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.
|
|
3
|
-
"license": "MIT",
|
|
4
|
-
"main": "dist/index.js",
|
|
5
|
-
"typings": "dist/index.d.ts",
|
|
6
|
-
"module": "dist/index.mjs",
|
|
7
|
-
"publishConfig": {
|
|
8
|
-
"access": "public"
|
|
2
|
+
"version" : "2.2.2",
|
|
3
|
+
"license" : "MIT",
|
|
4
|
+
"main" : "dist/index.js",
|
|
5
|
+
"typings" : "dist/index.d.ts",
|
|
6
|
+
"module" : "dist/index.mjs",
|
|
7
|
+
"publishConfig" : {
|
|
8
|
+
"access" : "public"
|
|
9
9
|
},
|
|
10
|
-
"files": [
|
|
10
|
+
"files" : [
|
|
11
11
|
"dist/*"
|
|
12
12
|
],
|
|
13
|
-
"engines": {
|
|
14
|
-
"node": ">=16"
|
|
13
|
+
"engines" : {
|
|
14
|
+
"node" : ">=16"
|
|
15
15
|
},
|
|
16
|
-
"scripts": {
|
|
17
|
-
"start": "npm run dev",
|
|
18
|
-
"dev": "tsup src/index.ts --format esm,cjs --dts --outDir dist --watch --external @remix-run/react,@shopify/hydrogen",
|
|
19
|
-
"build": "tsup src/index.ts --format esm,cjs --dts --outDir dist --external @remix-run/react,@shopify/hydrogen",
|
|
20
|
-
"clean": "rimraf dist",
|
|
21
|
-
"prepublish": "npm run build"
|
|
16
|
+
"scripts" : {
|
|
17
|
+
"start" : "npm run dev",
|
|
18
|
+
"dev" : "tsup src/index.ts --format esm,cjs --dts --outDir dist --watch --external @remix-run/react,@shopify/hydrogen",
|
|
19
|
+
"build" : "tsup src/index.ts --format esm,cjs --dts --outDir dist --external @remix-run/react,@shopify/hydrogen",
|
|
20
|
+
"clean" : "rimraf dist",
|
|
21
|
+
"prepublish" : "npm run build"
|
|
22
22
|
},
|
|
23
|
-
"peerDependencies": {
|
|
24
|
-
"react": ">=18",
|
|
25
|
-
"react-dom": ">=18"
|
|
23
|
+
"peerDependencies" : {
|
|
24
|
+
"react" : ">=18",
|
|
25
|
+
"react-dom" : ">=18"
|
|
26
26
|
},
|
|
27
|
-
"prettier": {
|
|
28
|
-
"printWidth": 80,
|
|
29
|
-
"semi": false,
|
|
30
|
-
"singleQuote": true
|
|
27
|
+
"prettier" : {
|
|
28
|
+
"printWidth" : 80,
|
|
29
|
+
"semi" : false,
|
|
30
|
+
"singleQuote" : true
|
|
31
31
|
},
|
|
32
|
-
"name": "@weaverse/hydrogen",
|
|
33
|
-
"author": "Weaverse Team",
|
|
34
|
-
"dependencies": {
|
|
35
|
-
"@remix-run/react": "1.19.1",
|
|
36
|
-
"@shopify/hydrogen": "2023.7.
|
|
37
|
-
"@weaverse/react": "2.
|
|
38
|
-
"react-error-boundary": "^4.0.11"
|
|
32
|
+
"name" : "@weaverse/hydrogen",
|
|
33
|
+
"author" : "Weaverse Team",
|
|
34
|
+
"dependencies" : {
|
|
35
|
+
"@remix-run/react" : "1.19.1",
|
|
36
|
+
"@shopify/hydrogen" : "2023.7.10",
|
|
37
|
+
"@weaverse/react" : "2.2.2",
|
|
38
|
+
"react-error-boundary" : "^4.0.11"
|
|
39
39
|
},
|
|
40
|
-
"devDependencies": {
|
|
41
|
-
"@shopify/remix-oxygen": "^1.1.
|
|
40
|
+
"devDependencies" : {
|
|
41
|
+
"@shopify/remix-oxygen" : "^1.1.6"
|
|
42
42
|
}
|
|
43
43
|
}
|