@weaverse/hydrogen 2.7.4 → 2.8.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.
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +26 -29
- package/dist/index.mjs +28 -31
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -140,7 +140,6 @@ type WeaverseLoaderRequestInfo = {
|
|
|
140
140
|
};
|
|
141
141
|
type WeaverseStorefrontData = {
|
|
142
142
|
id?: string;
|
|
143
|
-
__cachedId?: string;
|
|
144
143
|
rootId: string;
|
|
145
144
|
name: string;
|
|
146
145
|
items: HydrogenComponentData[];
|
|
@@ -227,9 +226,9 @@ interface WeaverseLoaderData {
|
|
|
227
226
|
}
|
|
228
227
|
interface HydrogenPageData extends WeaverseProjectDataType {
|
|
229
228
|
id: string;
|
|
230
|
-
pageId: string;
|
|
231
229
|
name: string;
|
|
232
230
|
items: HydrogenComponentData[];
|
|
231
|
+
__cacheId?: string;
|
|
233
232
|
[key: string]: any;
|
|
234
233
|
}
|
|
235
234
|
interface WeaverseHydrogenRootProps {
|
|
@@ -273,6 +272,7 @@ type FetchProjectPayload = {
|
|
|
273
272
|
page: HydrogenPageData;
|
|
274
273
|
project: HydrogenProjectType;
|
|
275
274
|
pageAssignment: HydrogenPageAssignment;
|
|
275
|
+
error?: string;
|
|
276
276
|
};
|
|
277
277
|
type HydrogenThemeEnv = {
|
|
278
278
|
WEAVERSE_PROJECT_ID: string;
|
|
@@ -310,7 +310,7 @@ type WeaverseArticle = WeaverseResourcePickerData;
|
|
|
310
310
|
declare global {
|
|
311
311
|
interface Window {
|
|
312
312
|
__weaverse: WeaverseHydrogen;
|
|
313
|
-
__weaverses: WeaverseHydrogen
|
|
313
|
+
__weaverses: Record<string, WeaverseHydrogen>;
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
|
package/dist/index.d.ts
CHANGED
|
@@ -140,7 +140,6 @@ type WeaverseLoaderRequestInfo = {
|
|
|
140
140
|
};
|
|
141
141
|
type WeaverseStorefrontData = {
|
|
142
142
|
id?: string;
|
|
143
|
-
__cachedId?: string;
|
|
144
143
|
rootId: string;
|
|
145
144
|
name: string;
|
|
146
145
|
items: HydrogenComponentData[];
|
|
@@ -227,9 +226,9 @@ interface WeaverseLoaderData {
|
|
|
227
226
|
}
|
|
228
227
|
interface HydrogenPageData extends WeaverseProjectDataType {
|
|
229
228
|
id: string;
|
|
230
|
-
pageId: string;
|
|
231
229
|
name: string;
|
|
232
230
|
items: HydrogenComponentData[];
|
|
231
|
+
__cacheId?: string;
|
|
233
232
|
[key: string]: any;
|
|
234
233
|
}
|
|
235
234
|
interface WeaverseHydrogenRootProps {
|
|
@@ -273,6 +272,7 @@ type FetchProjectPayload = {
|
|
|
273
272
|
page: HydrogenPageData;
|
|
274
273
|
project: HydrogenProjectType;
|
|
275
274
|
pageAssignment: HydrogenPageAssignment;
|
|
275
|
+
error?: string;
|
|
276
276
|
};
|
|
277
277
|
type HydrogenThemeEnv = {
|
|
278
278
|
WEAVERSE_PROJECT_ID: string;
|
|
@@ -310,7 +310,7 @@ type WeaverseArticle = WeaverseResourcePickerData;
|
|
|
310
310
|
declare global {
|
|
311
311
|
interface Window {
|
|
312
312
|
__weaverse: WeaverseHydrogen;
|
|
313
|
-
__weaverses: WeaverseHydrogen
|
|
313
|
+
__weaverses: Record<string, WeaverseHydrogen>;
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
|
package/dist/index.js
CHANGED
|
@@ -79,17 +79,13 @@ var import_react2 = require("@weaverse/react");
|
|
|
79
79
|
var import_react3 = require("react");
|
|
80
80
|
function createCachedWeaverseInstance(params, components) {
|
|
81
81
|
if (import_react2.isBrowser) {
|
|
82
|
-
window.__weaverses = window.__weaverses ||
|
|
83
|
-
let weaverse = window.__weaverses.
|
|
84
|
-
let { pathname } = w.requestInfo;
|
|
85
|
-
return pathname === params.requestInfo.pathname;
|
|
86
|
-
});
|
|
82
|
+
window.__weaverses = window.__weaverses || {};
|
|
83
|
+
let weaverse = window.__weaverses[params.pageId];
|
|
87
84
|
if (!weaverse) {
|
|
88
85
|
weaverse = new WeaverseHydrogen(params, components);
|
|
89
|
-
window.__weaverses.
|
|
86
|
+
window.__weaverses[params.pageId] = weaverse;
|
|
90
87
|
} else if (weaverse.isDesignMode) {
|
|
91
|
-
|
|
92
|
-
weaverse.setProjectData(params.data);
|
|
88
|
+
window.weaverseStudio?.refresh(params);
|
|
93
89
|
}
|
|
94
90
|
return weaverse;
|
|
95
91
|
}
|
|
@@ -185,41 +181,38 @@ function useThemeContext() {
|
|
|
185
181
|
// src/hooks/use-studio.ts
|
|
186
182
|
function useStudio(weaverse) {
|
|
187
183
|
let { revalidate } = (0, import_react7.useRevalidator)();
|
|
184
|
+
let { pathname, search } = (0, import_react7.useLocation)();
|
|
188
185
|
let navigate = (0, import_react7.useNavigate)();
|
|
189
186
|
let themeSettingsStore = useThemeContext();
|
|
190
187
|
let { isDesignMode, weaverseHost, weaverseVersion } = weaverse;
|
|
191
|
-
let isStudio = import_react8.isIframe && isDesignMode && weaverseHost && weaverseVersion;
|
|
192
188
|
(0, import_react9.useEffect)(() => {
|
|
193
|
-
if (
|
|
189
|
+
if (isDesignMode) {
|
|
194
190
|
weaverse.internal = {
|
|
195
191
|
...weaverse.internal,
|
|
196
192
|
navigate,
|
|
197
193
|
revalidate,
|
|
198
194
|
themeSettingsStore
|
|
199
195
|
};
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
window.weaverseStudio
|
|
203
|
-
}
|
|
204
|
-
let studioSrc = `${weaverseHost}/static/studio/hydrogen/index.js?v=${weaverseVersion}`;
|
|
205
|
-
(0, import_react8.loadScript)(studioSrc);
|
|
206
|
-
}
|
|
196
|
+
let studioSrc = `${weaverseHost}/static/studio/hydrogen/index.js?v=${weaverseVersion}`;
|
|
197
|
+
(0, import_react8.loadScript)(studioSrc).then(() => {
|
|
198
|
+
window.weaverseStudio?.init(weaverse);
|
|
199
|
+
}).catch(console.error);
|
|
207
200
|
}
|
|
208
|
-
}, [
|
|
201
|
+
}, [pathname, search]);
|
|
209
202
|
}
|
|
210
203
|
|
|
211
204
|
// src/pixel.tsx
|
|
212
205
|
var import_react10 = __toESM(require("react"));
|
|
213
|
-
|
|
206
|
+
function Pixel({ baseUrl, projectId, pageId }) {
|
|
214
207
|
const url = `${baseUrl}/api/public/px?projectId=${projectId}&pageId=${pageId}`;
|
|
215
208
|
return /* @__PURE__ */ import_react10.default.createElement("img", { src: url, alt: "weaverse pixel", style: { display: "none" } });
|
|
216
|
-
}
|
|
217
|
-
|
|
209
|
+
}
|
|
210
|
+
function WeaversePixel({ context }) {
|
|
218
211
|
let { projectId, pageId, weaverseHost, isDesignMode } = context;
|
|
219
212
|
if (isDesignMode || !projectId || !pageId || !weaverseHost)
|
|
220
213
|
return null;
|
|
221
214
|
return /* @__PURE__ */ import_react10.default.createElement(Pixel, { baseUrl: weaverseHost, projectId, pageId });
|
|
222
|
-
}
|
|
215
|
+
}
|
|
223
216
|
|
|
224
217
|
// src/WeaverseHydrogenRoot.tsx
|
|
225
218
|
var WeaverseHydrogenRoot = (0, import_react13.memo)(
|
|
@@ -270,7 +263,7 @@ var package_default = {
|
|
|
270
263
|
name: "@weaverse/hydrogen",
|
|
271
264
|
author: "Weaverse Team",
|
|
272
265
|
description: "Components, hooks, and utilities for building Shopify Hydrogen websites with Weaverse",
|
|
273
|
-
version: "2.
|
|
266
|
+
version: "2.8.0",
|
|
274
267
|
license: "MIT",
|
|
275
268
|
main: "dist/index.js",
|
|
276
269
|
typings: "dist/index.d.ts",
|
|
@@ -308,7 +301,7 @@ var package_default = {
|
|
|
308
301
|
singleQuote: true
|
|
309
302
|
},
|
|
310
303
|
dependencies: {
|
|
311
|
-
"@weaverse/react": "2.
|
|
304
|
+
"@weaverse/react": "2.8.0",
|
|
312
305
|
"react-error-boundary": "^4.0.11"
|
|
313
306
|
},
|
|
314
307
|
devDependencies: {
|
|
@@ -513,12 +506,15 @@ var WeaverseClient = class {
|
|
|
513
506
|
strategy
|
|
514
507
|
});
|
|
515
508
|
}
|
|
509
|
+
if (payload?.error) {
|
|
510
|
+
throw new Error(payload?.error);
|
|
511
|
+
}
|
|
516
512
|
let { page, project, pageAssignment } = payload;
|
|
517
|
-
if (!
|
|
518
|
-
throw new Error(
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
);
|
|
513
|
+
if (!project) {
|
|
514
|
+
throw new Error(`Weaverse project not found. Id: ${projectId}`);
|
|
515
|
+
}
|
|
516
|
+
if (!page) {
|
|
517
|
+
throw new Error(`No Weaverse page assigned to this url.`);
|
|
522
518
|
}
|
|
523
519
|
if (page?.items) {
|
|
524
520
|
let items = page.items;
|
|
@@ -585,6 +581,7 @@ var WeaverseHydrogen = class extends import_react14.Weaverse {
|
|
|
585
581
|
internal;
|
|
586
582
|
requestInfo;
|
|
587
583
|
constructor(params, components) {
|
|
584
|
+
console.log("\u{1F4BF} New WeaverseHydrogen", params);
|
|
588
585
|
let { internal, pageId, requestInfo, ...coreParams } = params;
|
|
589
586
|
super({ ...coreParams, ItemConstructor: WeaverseHydrogenItem });
|
|
590
587
|
this.internal = internal;
|
package/dist/index.mjs
CHANGED
|
@@ -45,17 +45,13 @@ import { isBrowser } from "@weaverse/react";
|
|
|
45
45
|
import { createContext } from "react";
|
|
46
46
|
function createCachedWeaverseInstance(params, components) {
|
|
47
47
|
if (isBrowser) {
|
|
48
|
-
window.__weaverses = window.__weaverses ||
|
|
49
|
-
let weaverse = window.__weaverses.
|
|
50
|
-
let { pathname } = w.requestInfo;
|
|
51
|
-
return pathname === params.requestInfo.pathname;
|
|
52
|
-
});
|
|
48
|
+
window.__weaverses = window.__weaverses || {};
|
|
49
|
+
let weaverse = window.__weaverses[params.pageId];
|
|
53
50
|
if (!weaverse) {
|
|
54
51
|
weaverse = new WeaverseHydrogen(params, components);
|
|
55
|
-
window.__weaverses.
|
|
52
|
+
window.__weaverses[params.pageId] = weaverse;
|
|
56
53
|
} else if (weaverse.isDesignMode) {
|
|
57
|
-
|
|
58
|
-
weaverse.setProjectData(params.data);
|
|
54
|
+
window.weaverseStudio?.refresh(params);
|
|
59
55
|
}
|
|
60
56
|
return weaverse;
|
|
61
57
|
}
|
|
@@ -77,8 +73,8 @@ var ThemeProvider = createContext(null);
|
|
|
77
73
|
ThemeProvider.displayName = "WeaverseThemeProvider";
|
|
78
74
|
|
|
79
75
|
// src/hooks/use-studio.ts
|
|
80
|
-
import { useNavigate, useRevalidator } from "@remix-run/react";
|
|
81
|
-
import {
|
|
76
|
+
import { useLocation, useNavigate, useRevalidator } from "@remix-run/react";
|
|
77
|
+
import { loadScript } from "@weaverse/react";
|
|
82
78
|
import { useEffect } from "react";
|
|
83
79
|
|
|
84
80
|
// src/hooks/use-theme-context.ts
|
|
@@ -151,41 +147,38 @@ function useThemeContext() {
|
|
|
151
147
|
// src/hooks/use-studio.ts
|
|
152
148
|
function useStudio(weaverse) {
|
|
153
149
|
let { revalidate } = useRevalidator();
|
|
150
|
+
let { pathname, search } = useLocation();
|
|
154
151
|
let navigate = useNavigate();
|
|
155
152
|
let themeSettingsStore = useThemeContext();
|
|
156
153
|
let { isDesignMode, weaverseHost, weaverseVersion } = weaverse;
|
|
157
|
-
let isStudio = isIframe && isDesignMode && weaverseHost && weaverseVersion;
|
|
158
154
|
useEffect(() => {
|
|
159
|
-
if (
|
|
155
|
+
if (isDesignMode) {
|
|
160
156
|
weaverse.internal = {
|
|
161
157
|
...weaverse.internal,
|
|
162
158
|
navigate,
|
|
163
159
|
revalidate,
|
|
164
160
|
themeSettingsStore
|
|
165
161
|
};
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
window.weaverseStudio
|
|
169
|
-
}
|
|
170
|
-
let studioSrc = `${weaverseHost}/static/studio/hydrogen/index.js?v=${weaverseVersion}`;
|
|
171
|
-
loadScript(studioSrc);
|
|
172
|
-
}
|
|
162
|
+
let studioSrc = `${weaverseHost}/static/studio/hydrogen/index.js?v=${weaverseVersion}`;
|
|
163
|
+
loadScript(studioSrc).then(() => {
|
|
164
|
+
window.weaverseStudio?.init(weaverse);
|
|
165
|
+
}).catch(console.error);
|
|
173
166
|
}
|
|
174
|
-
}, [
|
|
167
|
+
}, [pathname, search]);
|
|
175
168
|
}
|
|
176
169
|
|
|
177
170
|
// src/pixel.tsx
|
|
178
171
|
import React2 from "react";
|
|
179
|
-
|
|
172
|
+
function Pixel({ baseUrl, projectId, pageId }) {
|
|
180
173
|
const url = `${baseUrl}/api/public/px?projectId=${projectId}&pageId=${pageId}`;
|
|
181
174
|
return /* @__PURE__ */ React2.createElement("img", { src: url, alt: "weaverse pixel", style: { display: "none" } });
|
|
182
|
-
}
|
|
183
|
-
|
|
175
|
+
}
|
|
176
|
+
function WeaversePixel({ context }) {
|
|
184
177
|
let { projectId, pageId, weaverseHost, isDesignMode } = context;
|
|
185
178
|
if (isDesignMode || !projectId || !pageId || !weaverseHost)
|
|
186
179
|
return null;
|
|
187
180
|
return /* @__PURE__ */ React2.createElement(Pixel, { baseUrl: weaverseHost, projectId, pageId });
|
|
188
|
-
}
|
|
181
|
+
}
|
|
189
182
|
|
|
190
183
|
// src/WeaverseHydrogenRoot.tsx
|
|
191
184
|
var WeaverseHydrogenRoot = memo(
|
|
@@ -236,7 +229,7 @@ var package_default = {
|
|
|
236
229
|
name: "@weaverse/hydrogen",
|
|
237
230
|
author: "Weaverse Team",
|
|
238
231
|
description: "Components, hooks, and utilities for building Shopify Hydrogen websites with Weaverse",
|
|
239
|
-
version: "2.
|
|
232
|
+
version: "2.8.0",
|
|
240
233
|
license: "MIT",
|
|
241
234
|
main: "dist/index.js",
|
|
242
235
|
typings: "dist/index.d.ts",
|
|
@@ -274,7 +267,7 @@ var package_default = {
|
|
|
274
267
|
singleQuote: true
|
|
275
268
|
},
|
|
276
269
|
dependencies: {
|
|
277
|
-
"@weaverse/react": "2.
|
|
270
|
+
"@weaverse/react": "2.8.0",
|
|
278
271
|
"react-error-boundary": "^4.0.11"
|
|
279
272
|
},
|
|
280
273
|
devDependencies: {
|
|
@@ -479,12 +472,15 @@ var WeaverseClient = class {
|
|
|
479
472
|
strategy
|
|
480
473
|
});
|
|
481
474
|
}
|
|
475
|
+
if (payload?.error) {
|
|
476
|
+
throw new Error(payload?.error);
|
|
477
|
+
}
|
|
482
478
|
let { page, project, pageAssignment } = payload;
|
|
483
|
-
if (!
|
|
484
|
-
throw new Error(
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
);
|
|
479
|
+
if (!project) {
|
|
480
|
+
throw new Error(`Weaverse project not found. Id: ${projectId}`);
|
|
481
|
+
}
|
|
482
|
+
if (!page) {
|
|
483
|
+
throw new Error(`No Weaverse page assigned to this url.`);
|
|
488
484
|
}
|
|
489
485
|
if (page?.items) {
|
|
490
486
|
let items = page.items;
|
|
@@ -551,6 +547,7 @@ var WeaverseHydrogen = class extends Weaverse {
|
|
|
551
547
|
internal;
|
|
552
548
|
requestInfo;
|
|
553
549
|
constructor(params, components) {
|
|
550
|
+
console.log("\u{1F4BF} New WeaverseHydrogen", params);
|
|
554
551
|
let { internal, pageId, requestInfo, ...coreParams } = params;
|
|
555
552
|
super({ ...coreParams, ItemConstructor: WeaverseHydrogenItem });
|
|
556
553
|
this.internal = internal;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@weaverse/hydrogen",
|
|
3
3
|
"author": "Weaverse Team",
|
|
4
4
|
"description": "Components, hooks, and utilities for building Shopify Hydrogen websites with Weaverse",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.8.0",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"typings": "dist/index.d.ts",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"singleQuote": true
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@weaverse/react": "2.
|
|
43
|
+
"@weaverse/react": "2.8.0",
|
|
44
44
|
"react-error-boundary": "^4.0.11"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|