@weaverse/hydrogen 2.8.0 → 2.8.1
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.js +74 -57
- package/dist/index.mjs +56 -39
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -38,15 +38,15 @@ __export(src_exports, {
|
|
|
38
38
|
getRequestQueries: () => getRequestQueries,
|
|
39
39
|
getSelectedProductOptions: () => getSelectedProductOptions,
|
|
40
40
|
getWeaverseConfigs: () => getWeaverseConfigs,
|
|
41
|
-
useChildInstances: () =>
|
|
42
|
-
useItemInstance: () =>
|
|
43
|
-
useParentInstance: () =>
|
|
41
|
+
useChildInstances: () => import_react16.useChildInstances,
|
|
42
|
+
useItemInstance: () => import_react16.useItemInstance,
|
|
43
|
+
useParentInstance: () => import_react16.useParentInstance,
|
|
44
44
|
useThemeSettings: () => useThemeSettings,
|
|
45
|
-
useWeaverse: () =>
|
|
45
|
+
useWeaverse: () => import_react16.useWeaverse,
|
|
46
46
|
withWeaverse: () => withWeaverse
|
|
47
47
|
});
|
|
48
48
|
module.exports = __toCommonJS(src_exports);
|
|
49
|
-
var
|
|
49
|
+
var import_react16 = require("@weaverse/react");
|
|
50
50
|
|
|
51
51
|
// src/components/main.tsx
|
|
52
52
|
var main_exports = {};
|
|
@@ -69,9 +69,9 @@ var schema = {
|
|
|
69
69
|
var defaultComponents = [main_exports];
|
|
70
70
|
|
|
71
71
|
// src/WeaverseHydrogenRoot.tsx
|
|
72
|
-
var
|
|
73
|
-
var
|
|
74
|
-
var
|
|
72
|
+
var import_react13 = require("@remix-run/react");
|
|
73
|
+
var import_react14 = require("@weaverse/react");
|
|
74
|
+
var import_react15 = __toESM(require("react"));
|
|
75
75
|
var import_react_error_boundary = require("react-error-boundary");
|
|
76
76
|
|
|
77
77
|
// src/context.ts
|
|
@@ -106,17 +106,18 @@ function createWeaverseInstance(weaverseData, components) {
|
|
|
106
106
|
var ThemeProvider = (0, import_react3.createContext)(null);
|
|
107
107
|
ThemeProvider.displayName = "WeaverseThemeProvider";
|
|
108
108
|
|
|
109
|
-
// src/hooks/use-
|
|
110
|
-
var
|
|
111
|
-
var
|
|
112
|
-
var import_react9 = require("react");
|
|
109
|
+
// src/hooks/use-theme-settings.ts
|
|
110
|
+
var import_react5 = require("react");
|
|
111
|
+
var import_react6 = require("@weaverse/react");
|
|
113
112
|
|
|
114
113
|
// src/hooks/use-theme-context.ts
|
|
115
|
-
var
|
|
114
|
+
var import_react4 = require("react");
|
|
115
|
+
function useThemeContext() {
|
|
116
|
+
let themeContext = (0, import_react4.useContext)(ThemeProvider);
|
|
117
|
+
return themeContext || new ThemeSettingsStore({ theme: {} });
|
|
118
|
+
}
|
|
116
119
|
|
|
117
120
|
// src/hooks/use-theme-settings.ts
|
|
118
|
-
var import_react4 = require("react");
|
|
119
|
-
var import_react5 = require("@weaverse/react");
|
|
120
121
|
var ThemeSettingsStore = class _ThemeSettingsStore {
|
|
121
122
|
static settings = null;
|
|
122
123
|
listeners = [];
|
|
@@ -125,7 +126,7 @@ var ThemeSettingsStore = class _ThemeSettingsStore {
|
|
|
125
126
|
publicEnv;
|
|
126
127
|
constructor(data) {
|
|
127
128
|
let { theme, countries, schema: schema2, publicEnv } = data || {};
|
|
128
|
-
if (
|
|
129
|
+
if (import_react6.isBrowser && _ThemeSettingsStore.settings) {
|
|
129
130
|
_ThemeSettingsStore.settings = {
|
|
130
131
|
...theme,
|
|
131
132
|
..._ThemeSettingsStore.settings
|
|
@@ -164,7 +165,7 @@ var ThemeSettingsStore = class _ThemeSettingsStore {
|
|
|
164
165
|
};
|
|
165
166
|
function useThemeSettings() {
|
|
166
167
|
let themeSettingsStore = useThemeContext();
|
|
167
|
-
let settings = (0,
|
|
168
|
+
let settings = (0, import_react5.useSyncExternalStore)(
|
|
168
169
|
themeSettingsStore.subscribe,
|
|
169
170
|
themeSettingsStore.getSnapshot,
|
|
170
171
|
themeSettingsStore.getServerSnapshot
|
|
@@ -172,20 +173,42 @@ function useThemeSettings() {
|
|
|
172
173
|
return settings;
|
|
173
174
|
}
|
|
174
175
|
|
|
175
|
-
// src/
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
176
|
+
// src/Effect.tsx
|
|
177
|
+
var import_react12 = require("react");
|
|
178
|
+
|
|
179
|
+
// src/hooks/use-pixel.ts
|
|
180
|
+
var import_react7 = require("react");
|
|
181
|
+
var import_react8 = require("@remix-run/react");
|
|
182
|
+
var fetchingKey = "";
|
|
183
|
+
function usePixel(context) {
|
|
184
|
+
let { projectId, pageId, weaverseHost, isDesignMode } = context;
|
|
185
|
+
let location = (0, import_react8.useLocation)();
|
|
186
|
+
(0, import_react7.useEffect)(() => {
|
|
187
|
+
if (isDesignMode || !projectId || !pageId || !weaverseHost)
|
|
188
|
+
return;
|
|
189
|
+
let currentKey = `${projectId}-${pageId}-${location.pathname}`;
|
|
190
|
+
if (fetchingKey === currentKey)
|
|
191
|
+
return;
|
|
192
|
+
fetchingKey = currentKey;
|
|
193
|
+
let url = `${weaverseHost}/api/public/px`;
|
|
194
|
+
let xhr = new XMLHttpRequest();
|
|
195
|
+
xhr.open("POST", url, true);
|
|
196
|
+
xhr.setRequestHeader("Content-Type", "application/json");
|
|
197
|
+
xhr.send(JSON.stringify({ projectId, pageId }));
|
|
198
|
+
}, [location]);
|
|
179
199
|
}
|
|
180
200
|
|
|
181
201
|
// src/hooks/use-studio.ts
|
|
202
|
+
var import_react9 = require("@remix-run/react");
|
|
203
|
+
var import_react10 = require("@weaverse/react");
|
|
204
|
+
var import_react11 = require("react");
|
|
182
205
|
function useStudio(weaverse) {
|
|
183
|
-
let { revalidate } = (0,
|
|
184
|
-
let { pathname, search } = (0,
|
|
185
|
-
let navigate = (0,
|
|
206
|
+
let { revalidate } = (0, import_react9.useRevalidator)();
|
|
207
|
+
let { pathname, search } = (0, import_react9.useLocation)();
|
|
208
|
+
let navigate = (0, import_react9.useNavigate)();
|
|
186
209
|
let themeSettingsStore = useThemeContext();
|
|
187
210
|
let { isDesignMode, weaverseHost, weaverseVersion } = weaverse;
|
|
188
|
-
(0,
|
|
211
|
+
(0, import_react11.useEffect)(() => {
|
|
189
212
|
if (isDesignMode) {
|
|
190
213
|
weaverse.internal = {
|
|
191
214
|
...weaverse.internal,
|
|
@@ -194,43 +217,39 @@ function useStudio(weaverse) {
|
|
|
194
217
|
themeSettingsStore
|
|
195
218
|
};
|
|
196
219
|
let studioSrc = `${weaverseHost}/static/studio/hydrogen/index.js?v=${weaverseVersion}`;
|
|
197
|
-
(0,
|
|
220
|
+
(0, import_react10.loadScript)(studioSrc).then(() => {
|
|
198
221
|
window.weaverseStudio?.init(weaverse);
|
|
199
222
|
}).catch(console.error);
|
|
200
223
|
}
|
|
201
224
|
}, [pathname, search]);
|
|
202
225
|
}
|
|
203
226
|
|
|
204
|
-
// src/
|
|
205
|
-
var
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
210
|
-
function WeaversePixel({ context }) {
|
|
211
|
-
let { projectId, pageId, weaverseHost, isDesignMode } = context;
|
|
212
|
-
if (isDesignMode || !projectId || !pageId || !weaverseHost)
|
|
227
|
+
// src/Effect.tsx
|
|
228
|
+
var WeaverseEffect = (0, import_react12.memo)(
|
|
229
|
+
({ context }) => {
|
|
230
|
+
useStudio(context);
|
|
231
|
+
usePixel(context);
|
|
213
232
|
return null;
|
|
214
|
-
|
|
215
|
-
|
|
233
|
+
}
|
|
234
|
+
);
|
|
216
235
|
|
|
217
236
|
// src/WeaverseHydrogenRoot.tsx
|
|
218
|
-
var WeaverseHydrogenRoot = (0,
|
|
237
|
+
var WeaverseHydrogenRoot = (0, import_react15.memo)(
|
|
219
238
|
({
|
|
220
239
|
errorComponent: ErrorComponent = FallbackError,
|
|
221
240
|
components
|
|
222
241
|
}) => {
|
|
223
|
-
let loaderData = (0,
|
|
242
|
+
let loaderData = (0, import_react13.useLoaderData)();
|
|
224
243
|
let data = loaderData?.weaverseData;
|
|
225
244
|
if (data) {
|
|
226
245
|
if (data instanceof Promise) {
|
|
227
|
-
return /* @__PURE__ */
|
|
228
|
-
return /* @__PURE__ */
|
|
246
|
+
return /* @__PURE__ */ import_react15.default.createElement(import_react_error_boundary.ErrorBoundary, { fallbackRender: ErrorComponent }, /* @__PURE__ */ import_react15.default.createElement(import_react15.Suspense, null, /* @__PURE__ */ import_react15.default.createElement(import_react13.Await, { resolve: data }, (resolvedData) => {
|
|
247
|
+
return /* @__PURE__ */ import_react15.default.createElement(RenderRoot, { data: resolvedData, components });
|
|
229
248
|
})));
|
|
230
249
|
}
|
|
231
|
-
return /* @__PURE__ */
|
|
250
|
+
return /* @__PURE__ */ import_react15.default.createElement(RenderRoot, { data, components });
|
|
232
251
|
}
|
|
233
|
-
return /* @__PURE__ */
|
|
252
|
+
return /* @__PURE__ */ import_react15.default.createElement(
|
|
234
253
|
ErrorComponent,
|
|
235
254
|
{
|
|
236
255
|
error: { message: "No Weaverse data return from route loader!" }
|
|
@@ -241,18 +260,17 @@ var WeaverseHydrogenRoot = (0, import_react13.memo)(
|
|
|
241
260
|
function RenderRoot(props) {
|
|
242
261
|
let { data, components } = props;
|
|
243
262
|
let weaverse = createWeaverseInstance(data, components);
|
|
244
|
-
|
|
245
|
-
return /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(import_react12.WeaverseRoot, { context: weaverse }), /* @__PURE__ */ import_react13.default.createElement(WeaversePixel, { context: weaverse }));
|
|
263
|
+
return /* @__PURE__ */ import_react15.default.createElement(import_react15.default.Fragment, null, /* @__PURE__ */ import_react15.default.createElement(import_react14.WeaverseRoot, { context: weaverse }), /* @__PURE__ */ import_react15.default.createElement(WeaverseEffect, { context: weaverse }));
|
|
246
264
|
}
|
|
247
265
|
function withWeaverse(Component) {
|
|
248
266
|
return (props) => {
|
|
249
|
-
let loaderData = (0,
|
|
267
|
+
let loaderData = (0, import_react13.useRouteLoaderData)("root");
|
|
250
268
|
let themeSettingsStore = new ThemeSettingsStore(loaderData?.weaverseTheme);
|
|
251
|
-
return /* @__PURE__ */
|
|
269
|
+
return /* @__PURE__ */ import_react15.default.createElement(ThemeProvider.Provider, { value: themeSettingsStore }, /* @__PURE__ */ import_react15.default.createElement(Component, { ...props }));
|
|
252
270
|
};
|
|
253
271
|
}
|
|
254
272
|
function FallbackError({ error }) {
|
|
255
|
-
return /* @__PURE__ */
|
|
273
|
+
return /* @__PURE__ */ import_react15.default.createElement("div", null, error?.message || "An unexpected error occurred");
|
|
256
274
|
}
|
|
257
275
|
|
|
258
276
|
// src/weaverse-client.ts
|
|
@@ -263,7 +281,7 @@ var package_default = {
|
|
|
263
281
|
name: "@weaverse/hydrogen",
|
|
264
282
|
author: "Weaverse Team",
|
|
265
283
|
description: "Components, hooks, and utilities for building Shopify Hydrogen websites with Weaverse",
|
|
266
|
-
version: "2.8.
|
|
284
|
+
version: "2.8.1",
|
|
267
285
|
license: "MIT",
|
|
268
286
|
main: "dist/index.js",
|
|
269
287
|
typings: "dist/index.d.ts",
|
|
@@ -301,7 +319,7 @@ var package_default = {
|
|
|
301
319
|
singleQuote: true
|
|
302
320
|
},
|
|
303
321
|
dependencies: {
|
|
304
|
-
"@weaverse/react": "2.8.
|
|
322
|
+
"@weaverse/react": "2.8.1",
|
|
305
323
|
"react-error-boundary": "^4.0.11"
|
|
306
324
|
},
|
|
307
325
|
devDependencies: {
|
|
@@ -518,9 +536,7 @@ var WeaverseClient = class {
|
|
|
518
536
|
}
|
|
519
537
|
if (page?.items) {
|
|
520
538
|
let items = page.items;
|
|
521
|
-
page.items = await Promise.all(
|
|
522
|
-
items.map((item) => this.execComponentLoader(item))
|
|
523
|
-
);
|
|
539
|
+
page.items = await Promise.all(items.map(this.execComponentLoader));
|
|
524
540
|
}
|
|
525
541
|
let data = {
|
|
526
542
|
page,
|
|
@@ -530,6 +546,7 @@ var WeaverseClient = class {
|
|
|
530
546
|
...basePageConfigs,
|
|
531
547
|
requestInfo: {
|
|
532
548
|
i18n: storefront.i18n,
|
|
549
|
+
// TODO: @hta218 - migrate to Remix hooks
|
|
533
550
|
queries: getRequestQueries(request),
|
|
534
551
|
pathname: new URL(request.url).pathname,
|
|
535
552
|
search: new URL(request.url).search
|
|
@@ -546,7 +563,7 @@ var WeaverseClient = class {
|
|
|
546
563
|
execComponentLoader = async (item) => {
|
|
547
564
|
let { data = {}, type, id } = item;
|
|
548
565
|
let schema2 = this.components.find(({ schema: schema3 }) => schema3?.type === type);
|
|
549
|
-
let
|
|
566
|
+
let loader = schema2?.loader;
|
|
550
567
|
if (loader && typeof loader === "function") {
|
|
551
568
|
try {
|
|
552
569
|
return {
|
|
@@ -575,7 +592,7 @@ function getSelectedProductOptions(request) {
|
|
|
575
592
|
}
|
|
576
593
|
|
|
577
594
|
// src/index.ts
|
|
578
|
-
var WeaverseHydrogen = class extends
|
|
595
|
+
var WeaverseHydrogen = class extends import_react16.Weaverse {
|
|
579
596
|
platformType = "shopify-hydrogen";
|
|
580
597
|
pageId;
|
|
581
598
|
internal;
|
|
@@ -592,7 +609,7 @@ var WeaverseHydrogen = class extends import_react14.Weaverse {
|
|
|
592
609
|
}
|
|
593
610
|
registerComponents = (components) => {
|
|
594
611
|
components.forEach((comp) => {
|
|
595
|
-
|
|
612
|
+
import_react16.Weaverse.registerElement({
|
|
596
613
|
type: comp?.schema?.type,
|
|
597
614
|
Component: comp?.default,
|
|
598
615
|
schema: comp?.schema,
|
|
@@ -601,7 +618,7 @@ var WeaverseHydrogen = class extends import_react14.Weaverse {
|
|
|
601
618
|
});
|
|
602
619
|
};
|
|
603
620
|
};
|
|
604
|
-
var WeaverseHydrogenItem = class extends
|
|
621
|
+
var WeaverseHydrogenItem = class extends import_react16.WeaverseItemStore {
|
|
605
622
|
constructor(initialData, weaverse) {
|
|
606
623
|
super(initialData, weaverse);
|
|
607
624
|
let { data, ...rest } = initialData;
|
package/dist/index.mjs
CHANGED
|
@@ -37,7 +37,7 @@ var defaultComponents = [main_exports];
|
|
|
37
37
|
// src/WeaverseHydrogenRoot.tsx
|
|
38
38
|
import { Await, useLoaderData, useRouteLoaderData } from "@remix-run/react";
|
|
39
39
|
import { WeaverseRoot } from "@weaverse/react";
|
|
40
|
-
import
|
|
40
|
+
import React2, { memo as memo2, Suspense } from "react";
|
|
41
41
|
import { ErrorBoundary } from "react-error-boundary";
|
|
42
42
|
|
|
43
43
|
// src/context.ts
|
|
@@ -72,17 +72,18 @@ function createWeaverseInstance(weaverseData, components) {
|
|
|
72
72
|
var ThemeProvider = createContext(null);
|
|
73
73
|
ThemeProvider.displayName = "WeaverseThemeProvider";
|
|
74
74
|
|
|
75
|
-
// src/hooks/use-
|
|
76
|
-
import {
|
|
77
|
-
import {
|
|
78
|
-
import { useEffect } from "react";
|
|
75
|
+
// src/hooks/use-theme-settings.ts
|
|
76
|
+
import { useSyncExternalStore } from "react";
|
|
77
|
+
import { isBrowser as isBrowser2 } from "@weaverse/react";
|
|
79
78
|
|
|
80
79
|
// src/hooks/use-theme-context.ts
|
|
81
80
|
import { useContext } from "react";
|
|
81
|
+
function useThemeContext() {
|
|
82
|
+
let themeContext = useContext(ThemeProvider);
|
|
83
|
+
return themeContext || new ThemeSettingsStore({ theme: {} });
|
|
84
|
+
}
|
|
82
85
|
|
|
83
86
|
// src/hooks/use-theme-settings.ts
|
|
84
|
-
import { useSyncExternalStore } from "react";
|
|
85
|
-
import { isBrowser as isBrowser2 } from "@weaverse/react";
|
|
86
87
|
var ThemeSettingsStore = class _ThemeSettingsStore {
|
|
87
88
|
static settings = null;
|
|
88
89
|
listeners = [];
|
|
@@ -138,20 +139,42 @@ function useThemeSettings() {
|
|
|
138
139
|
return settings;
|
|
139
140
|
}
|
|
140
141
|
|
|
141
|
-
// src/
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
// src/Effect.tsx
|
|
143
|
+
import { memo } from "react";
|
|
144
|
+
|
|
145
|
+
// src/hooks/use-pixel.ts
|
|
146
|
+
import { useEffect } from "react";
|
|
147
|
+
import { useLocation } from "@remix-run/react";
|
|
148
|
+
var fetchingKey = "";
|
|
149
|
+
function usePixel(context) {
|
|
150
|
+
let { projectId, pageId, weaverseHost, isDesignMode } = context;
|
|
151
|
+
let location = useLocation();
|
|
152
|
+
useEffect(() => {
|
|
153
|
+
if (isDesignMode || !projectId || !pageId || !weaverseHost)
|
|
154
|
+
return;
|
|
155
|
+
let currentKey = `${projectId}-${pageId}-${location.pathname}`;
|
|
156
|
+
if (fetchingKey === currentKey)
|
|
157
|
+
return;
|
|
158
|
+
fetchingKey = currentKey;
|
|
159
|
+
let url = `${weaverseHost}/api/public/px`;
|
|
160
|
+
let xhr = new XMLHttpRequest();
|
|
161
|
+
xhr.open("POST", url, true);
|
|
162
|
+
xhr.setRequestHeader("Content-Type", "application/json");
|
|
163
|
+
xhr.send(JSON.stringify({ projectId, pageId }));
|
|
164
|
+
}, [location]);
|
|
145
165
|
}
|
|
146
166
|
|
|
147
167
|
// src/hooks/use-studio.ts
|
|
168
|
+
import { useLocation as useLocation2, useNavigate, useRevalidator } from "@remix-run/react";
|
|
169
|
+
import { loadScript } from "@weaverse/react";
|
|
170
|
+
import { useEffect as useEffect2 } from "react";
|
|
148
171
|
function useStudio(weaverse) {
|
|
149
172
|
let { revalidate } = useRevalidator();
|
|
150
|
-
let { pathname, search } =
|
|
173
|
+
let { pathname, search } = useLocation2();
|
|
151
174
|
let navigate = useNavigate();
|
|
152
175
|
let themeSettingsStore = useThemeContext();
|
|
153
176
|
let { isDesignMode, weaverseHost, weaverseVersion } = weaverse;
|
|
154
|
-
|
|
177
|
+
useEffect2(() => {
|
|
155
178
|
if (isDesignMode) {
|
|
156
179
|
weaverse.internal = {
|
|
157
180
|
...weaverse.internal,
|
|
@@ -167,21 +190,17 @@ function useStudio(weaverse) {
|
|
|
167
190
|
}, [pathname, search]);
|
|
168
191
|
}
|
|
169
192
|
|
|
170
|
-
// src/
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}
|
|
176
|
-
function WeaversePixel({ context }) {
|
|
177
|
-
let { projectId, pageId, weaverseHost, isDesignMode } = context;
|
|
178
|
-
if (isDesignMode || !projectId || !pageId || !weaverseHost)
|
|
193
|
+
// src/Effect.tsx
|
|
194
|
+
var WeaverseEffect = memo(
|
|
195
|
+
({ context }) => {
|
|
196
|
+
useStudio(context);
|
|
197
|
+
usePixel(context);
|
|
179
198
|
return null;
|
|
180
|
-
|
|
181
|
-
|
|
199
|
+
}
|
|
200
|
+
);
|
|
182
201
|
|
|
183
202
|
// src/WeaverseHydrogenRoot.tsx
|
|
184
|
-
var WeaverseHydrogenRoot =
|
|
203
|
+
var WeaverseHydrogenRoot = memo2(
|
|
185
204
|
({
|
|
186
205
|
errorComponent: ErrorComponent = FallbackError,
|
|
187
206
|
components
|
|
@@ -190,13 +209,13 @@ var WeaverseHydrogenRoot = memo(
|
|
|
190
209
|
let data = loaderData?.weaverseData;
|
|
191
210
|
if (data) {
|
|
192
211
|
if (data instanceof Promise) {
|
|
193
|
-
return /* @__PURE__ */
|
|
194
|
-
return /* @__PURE__ */
|
|
212
|
+
return /* @__PURE__ */ React2.createElement(ErrorBoundary, { fallbackRender: ErrorComponent }, /* @__PURE__ */ React2.createElement(Suspense, null, /* @__PURE__ */ React2.createElement(Await, { resolve: data }, (resolvedData) => {
|
|
213
|
+
return /* @__PURE__ */ React2.createElement(RenderRoot, { data: resolvedData, components });
|
|
195
214
|
})));
|
|
196
215
|
}
|
|
197
|
-
return /* @__PURE__ */
|
|
216
|
+
return /* @__PURE__ */ React2.createElement(RenderRoot, { data, components });
|
|
198
217
|
}
|
|
199
|
-
return /* @__PURE__ */
|
|
218
|
+
return /* @__PURE__ */ React2.createElement(
|
|
200
219
|
ErrorComponent,
|
|
201
220
|
{
|
|
202
221
|
error: { message: "No Weaverse data return from route loader!" }
|
|
@@ -207,18 +226,17 @@ var WeaverseHydrogenRoot = memo(
|
|
|
207
226
|
function RenderRoot(props) {
|
|
208
227
|
let { data, components } = props;
|
|
209
228
|
let weaverse = createWeaverseInstance(data, components);
|
|
210
|
-
|
|
211
|
-
return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(WeaverseRoot, { context: weaverse }), /* @__PURE__ */ React3.createElement(WeaversePixel, { context: weaverse }));
|
|
229
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(WeaverseRoot, { context: weaverse }), /* @__PURE__ */ React2.createElement(WeaverseEffect, { context: weaverse }));
|
|
212
230
|
}
|
|
213
231
|
function withWeaverse(Component) {
|
|
214
232
|
return (props) => {
|
|
215
233
|
let loaderData = useRouteLoaderData("root");
|
|
216
234
|
let themeSettingsStore = new ThemeSettingsStore(loaderData?.weaverseTheme);
|
|
217
|
-
return /* @__PURE__ */
|
|
235
|
+
return /* @__PURE__ */ React2.createElement(ThemeProvider.Provider, { value: themeSettingsStore }, /* @__PURE__ */ React2.createElement(Component, { ...props }));
|
|
218
236
|
};
|
|
219
237
|
}
|
|
220
238
|
function FallbackError({ error }) {
|
|
221
|
-
return /* @__PURE__ */
|
|
239
|
+
return /* @__PURE__ */ React2.createElement("div", null, error?.message || "An unexpected error occurred");
|
|
222
240
|
}
|
|
223
241
|
|
|
224
242
|
// src/weaverse-client.ts
|
|
@@ -229,7 +247,7 @@ var package_default = {
|
|
|
229
247
|
name: "@weaverse/hydrogen",
|
|
230
248
|
author: "Weaverse Team",
|
|
231
249
|
description: "Components, hooks, and utilities for building Shopify Hydrogen websites with Weaverse",
|
|
232
|
-
version: "2.8.
|
|
250
|
+
version: "2.8.1",
|
|
233
251
|
license: "MIT",
|
|
234
252
|
main: "dist/index.js",
|
|
235
253
|
typings: "dist/index.d.ts",
|
|
@@ -267,7 +285,7 @@ var package_default = {
|
|
|
267
285
|
singleQuote: true
|
|
268
286
|
},
|
|
269
287
|
dependencies: {
|
|
270
|
-
"@weaverse/react": "2.8.
|
|
288
|
+
"@weaverse/react": "2.8.1",
|
|
271
289
|
"react-error-boundary": "^4.0.11"
|
|
272
290
|
},
|
|
273
291
|
devDependencies: {
|
|
@@ -484,9 +502,7 @@ var WeaverseClient = class {
|
|
|
484
502
|
}
|
|
485
503
|
if (page?.items) {
|
|
486
504
|
let items = page.items;
|
|
487
|
-
page.items = await Promise.all(
|
|
488
|
-
items.map((item) => this.execComponentLoader(item))
|
|
489
|
-
);
|
|
505
|
+
page.items = await Promise.all(items.map(this.execComponentLoader));
|
|
490
506
|
}
|
|
491
507
|
let data = {
|
|
492
508
|
page,
|
|
@@ -496,6 +512,7 @@ var WeaverseClient = class {
|
|
|
496
512
|
...basePageConfigs,
|
|
497
513
|
requestInfo: {
|
|
498
514
|
i18n: storefront.i18n,
|
|
515
|
+
// TODO: @hta218 - migrate to Remix hooks
|
|
499
516
|
queries: getRequestQueries(request),
|
|
500
517
|
pathname: new URL(request.url).pathname,
|
|
501
518
|
search: new URL(request.url).search
|
|
@@ -512,7 +529,7 @@ var WeaverseClient = class {
|
|
|
512
529
|
execComponentLoader = async (item) => {
|
|
513
530
|
let { data = {}, type, id } = item;
|
|
514
531
|
let schema2 = this.components.find(({ schema: schema3 }) => schema3?.type === type);
|
|
515
|
-
let
|
|
532
|
+
let loader = schema2?.loader;
|
|
516
533
|
if (loader && typeof loader === "function") {
|
|
517
534
|
try {
|
|
518
535
|
return {
|
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.8.
|
|
5
|
+
"version": "2.8.1",
|
|
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.8.
|
|
43
|
+
"@weaverse/react": "2.8.1",
|
|
44
44
|
"react-error-boundary": "^4.0.11"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|