@weaverse/hydrogen 1.0.64 → 1.1.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 +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +45 -9
- package/dist/index.mjs +41 -5
- package/package.json +5 -4
package/dist/index.d.mts
CHANGED
|
@@ -15,6 +15,9 @@ declare let STORE_PAGES: {
|
|
|
15
15
|
CART: string;
|
|
16
16
|
CUSTOMER: string;
|
|
17
17
|
SEARCH: string;
|
|
18
|
+
NOT_FOUND: string;
|
|
19
|
+
PASSWORD: string;
|
|
20
|
+
CUSTOM: string;
|
|
18
21
|
};
|
|
19
22
|
|
|
20
23
|
type TODO = any;
|
|
@@ -100,6 +103,7 @@ type WeaverseInternal = {
|
|
|
100
103
|
pageAssignment: HydrogenPageAssignment;
|
|
101
104
|
project: HydrogenProjectType;
|
|
102
105
|
navigate: NavigateFunction;
|
|
106
|
+
revalidator: TODO;
|
|
103
107
|
};
|
|
104
108
|
type HydrogenComponentPresets = {
|
|
105
109
|
type: string;
|
|
@@ -173,10 +177,8 @@ type NavigateOptions = {
|
|
|
173
177
|
};
|
|
174
178
|
type NavigateFunction = (to: To, options?: NavigateOptions) => void;
|
|
175
179
|
interface WeaverseHydrogenRootProps {
|
|
176
|
-
weaverseData: WeaverseLoaderData;
|
|
177
180
|
components: HydrogenComponent[];
|
|
178
181
|
themeSchema: HydrogenThemeSchema;
|
|
179
|
-
navigate: NavigateFunction;
|
|
180
182
|
}
|
|
181
183
|
type HydrogenThemeInfo = {
|
|
182
184
|
name: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,9 @@ declare let STORE_PAGES: {
|
|
|
15
15
|
CART: string;
|
|
16
16
|
CUSTOMER: string;
|
|
17
17
|
SEARCH: string;
|
|
18
|
+
NOT_FOUND: string;
|
|
19
|
+
PASSWORD: string;
|
|
20
|
+
CUSTOM: string;
|
|
18
21
|
};
|
|
19
22
|
|
|
20
23
|
type TODO = any;
|
|
@@ -100,6 +103,7 @@ type WeaverseInternal = {
|
|
|
100
103
|
pageAssignment: HydrogenPageAssignment;
|
|
101
104
|
project: HydrogenProjectType;
|
|
102
105
|
navigate: NavigateFunction;
|
|
106
|
+
revalidator: TODO;
|
|
103
107
|
};
|
|
104
108
|
type HydrogenComponentPresets = {
|
|
105
109
|
type: string;
|
|
@@ -173,10 +177,8 @@ type NavigateOptions = {
|
|
|
173
177
|
};
|
|
174
178
|
type NavigateFunction = (to: To, options?: NavigateOptions) => void;
|
|
175
179
|
interface WeaverseHydrogenRootProps {
|
|
176
|
-
weaverseData: WeaverseLoaderData;
|
|
177
180
|
components: HydrogenComponent[];
|
|
178
181
|
themeSchema: HydrogenThemeSchema;
|
|
179
|
-
navigate: NavigateFunction;
|
|
180
182
|
}
|
|
181
183
|
type HydrogenThemeInfo = {
|
|
182
184
|
name: string;
|
package/dist/index.js
CHANGED
|
@@ -37,8 +37,8 @@ __export(src_exports, {
|
|
|
37
37
|
weaverseLoader: () => weaverseLoader
|
|
38
38
|
});
|
|
39
39
|
module.exports = __toCommonJS(src_exports);
|
|
40
|
-
var
|
|
41
|
-
var
|
|
40
|
+
var import_react6 = require("@weaverse/react");
|
|
41
|
+
var import_react7 = __toESM(require("react"));
|
|
42
42
|
|
|
43
43
|
// src/context.ts
|
|
44
44
|
var import_react = require("@weaverse/react");
|
|
@@ -79,13 +79,18 @@ function createWeaverseInstance(weaverseData, components) {
|
|
|
79
79
|
// src/hooks/use-studio.ts
|
|
80
80
|
var import_react2 = require("@weaverse/react");
|
|
81
81
|
var import_react3 = require("react");
|
|
82
|
-
|
|
82
|
+
var import_react4 = require("@remix-run/react");
|
|
83
|
+
function useStudio(weaverse, themeSchema) {
|
|
84
|
+
let revalidator = (0, import_react4.useRevalidator)();
|
|
85
|
+
let navigate = (0, import_react4.useNavigate)();
|
|
86
|
+
console.log("revalidator", revalidator);
|
|
83
87
|
(0, import_react3.useEffect)(() => {
|
|
84
88
|
let initialized = checkStudioInitialized(weaverse);
|
|
85
89
|
if (import_react2.isIframe && weaverse.isDesignMode && !initialized) {
|
|
86
90
|
window.__initializedWeaverseStudios[weaverse.pageId] = true;
|
|
87
91
|
weaverse.internal.themeSchema = themeSchema;
|
|
88
92
|
weaverse.internal.navigate = navigate;
|
|
93
|
+
weaverse.internal.revalidator = revalidator;
|
|
89
94
|
let host = weaverse.weaverseHost;
|
|
90
95
|
let version = weaverse.weaverseVersion || Date.now();
|
|
91
96
|
(0, import_react2.loadScript)(`${host}/assets/studio/studio-bridge.js?v=${version}`).then(
|
|
@@ -111,9 +116,9 @@ function checkStudioInitialized(weaverseInit) {
|
|
|
111
116
|
}
|
|
112
117
|
|
|
113
118
|
// src/hooks/use-theme-setting.ts
|
|
114
|
-
var
|
|
119
|
+
var import_react5 = require("@weaverse/react");
|
|
115
120
|
function useThemeSettings() {
|
|
116
|
-
let weaverse = (0,
|
|
121
|
+
let weaverse = (0, import_react5.useWeaverse)();
|
|
117
122
|
let settings = weaverse?.internal?.project?.config?.theme;
|
|
118
123
|
let updateSettings = (newSettings) => {
|
|
119
124
|
weaverse.internal.project.config.theme = Object.assign(
|
|
@@ -258,12 +263,43 @@ async function weaverseLoader(args, components, loaderConfigs) {
|
|
|
258
263
|
|
|
259
264
|
// src/index.tsx
|
|
260
265
|
__reExport(src_exports, require("@weaverse/react"), module.exports);
|
|
266
|
+
var import_react8 = require("@remix-run/react");
|
|
261
267
|
function WeaverseHydrogenRoot(props) {
|
|
262
|
-
let
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
268
|
+
let loaderData = (0, import_react8.useLoaderData)();
|
|
269
|
+
console.log("loaderData111", loaderData);
|
|
270
|
+
let weaverseDataFromLoader = loaderData?.weaverseData;
|
|
271
|
+
let { components, themeSchema } = props;
|
|
272
|
+
if (weaverseDataFromLoader) {
|
|
273
|
+
if (weaverseDataFromLoader instanceof Promise) {
|
|
274
|
+
return /* @__PURE__ */ import_react7.default.createElement(import_react7.Suspense, null, /* @__PURE__ */ import_react7.default.createElement(import_react8.Await, { resolve: weaverseDataFromLoader }, (resolvedData) => {
|
|
275
|
+
console.log("resolvedData", resolvedData);
|
|
276
|
+
return /* @__PURE__ */ import_react7.default.createElement(
|
|
277
|
+
RenderWeaverseRoot,
|
|
278
|
+
{
|
|
279
|
+
components,
|
|
280
|
+
themeSchema,
|
|
281
|
+
weaverseData: resolvedData
|
|
282
|
+
}
|
|
283
|
+
);
|
|
284
|
+
}));
|
|
285
|
+
}
|
|
286
|
+
return /* @__PURE__ */ import_react7.default.createElement(
|
|
287
|
+
RenderWeaverseRoot,
|
|
288
|
+
{
|
|
289
|
+
components,
|
|
290
|
+
themeSchema,
|
|
291
|
+
weaverseData: weaverseDataFromLoader
|
|
292
|
+
}
|
|
293
|
+
);
|
|
294
|
+
}
|
|
295
|
+
return /* @__PURE__ */ import_react7.default.createElement("div", { style: { display: "none" } }, "No weaverseData return from Remix loader!");
|
|
266
296
|
}
|
|
297
|
+
var RenderWeaverseRoot = (props) => {
|
|
298
|
+
let { components, themeSchema, weaverseData } = props;
|
|
299
|
+
let weaverse = createWeaverseInstance(weaverseData, components);
|
|
300
|
+
useStudio(weaverse, themeSchema);
|
|
301
|
+
return /* @__PURE__ */ import_react7.default.createElement(import_react6.WeaverseRoot, { context: weaverse });
|
|
302
|
+
};
|
|
267
303
|
// Annotate the CommonJS export names for ESM import in node:
|
|
268
304
|
0 && (module.exports = {
|
|
269
305
|
WeaverseHydrogenRoot,
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/index.tsx
|
|
2
2
|
import { WeaverseRoot } from "@weaverse/react";
|
|
3
|
-
import React from "react";
|
|
3
|
+
import React, { Suspense } from "react";
|
|
4
4
|
|
|
5
5
|
// src/context.ts
|
|
6
6
|
import { Weaverse, isBrowser } from "@weaverse/react";
|
|
@@ -41,13 +41,18 @@ function createWeaverseInstance(weaverseData, components) {
|
|
|
41
41
|
// src/hooks/use-studio.ts
|
|
42
42
|
import { isIframe, loadScript } from "@weaverse/react";
|
|
43
43
|
import { useEffect } from "react";
|
|
44
|
-
|
|
44
|
+
import { useRevalidator, useNavigate } from "@remix-run/react";
|
|
45
|
+
function useStudio(weaverse, themeSchema) {
|
|
46
|
+
let revalidator = useRevalidator();
|
|
47
|
+
let navigate = useNavigate();
|
|
48
|
+
console.log("revalidator", revalidator);
|
|
45
49
|
useEffect(() => {
|
|
46
50
|
let initialized = checkStudioInitialized(weaverse);
|
|
47
51
|
if (isIframe && weaverse.isDesignMode && !initialized) {
|
|
48
52
|
window.__initializedWeaverseStudios[weaverse.pageId] = true;
|
|
49
53
|
weaverse.internal.themeSchema = themeSchema;
|
|
50
54
|
weaverse.internal.navigate = navigate;
|
|
55
|
+
weaverse.internal.revalidator = revalidator;
|
|
51
56
|
let host = weaverse.weaverseHost;
|
|
52
57
|
let version = weaverse.weaverseVersion || Date.now();
|
|
53
58
|
loadScript(`${host}/assets/studio/studio-bridge.js?v=${version}`).then(
|
|
@@ -220,12 +225,43 @@ async function weaverseLoader(args, components, loaderConfigs) {
|
|
|
220
225
|
|
|
221
226
|
// src/index.tsx
|
|
222
227
|
export * from "@weaverse/react";
|
|
228
|
+
import { Await, useLoaderData } from "@remix-run/react";
|
|
223
229
|
function WeaverseHydrogenRoot(props) {
|
|
224
|
-
let
|
|
230
|
+
let loaderData = useLoaderData();
|
|
231
|
+
console.log("loaderData111", loaderData);
|
|
232
|
+
let weaverseDataFromLoader = loaderData?.weaverseData;
|
|
233
|
+
let { components, themeSchema } = props;
|
|
234
|
+
if (weaverseDataFromLoader) {
|
|
235
|
+
if (weaverseDataFromLoader instanceof Promise) {
|
|
236
|
+
return /* @__PURE__ */ React.createElement(Suspense, null, /* @__PURE__ */ React.createElement(Await, { resolve: weaverseDataFromLoader }, (resolvedData) => {
|
|
237
|
+
console.log("resolvedData", resolvedData);
|
|
238
|
+
return /* @__PURE__ */ React.createElement(
|
|
239
|
+
RenderWeaverseRoot,
|
|
240
|
+
{
|
|
241
|
+
components,
|
|
242
|
+
themeSchema,
|
|
243
|
+
weaverseData: resolvedData
|
|
244
|
+
}
|
|
245
|
+
);
|
|
246
|
+
}));
|
|
247
|
+
}
|
|
248
|
+
return /* @__PURE__ */ React.createElement(
|
|
249
|
+
RenderWeaverseRoot,
|
|
250
|
+
{
|
|
251
|
+
components,
|
|
252
|
+
themeSchema,
|
|
253
|
+
weaverseData: weaverseDataFromLoader
|
|
254
|
+
}
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
return /* @__PURE__ */ React.createElement("div", { style: { display: "none" } }, "No weaverseData return from Remix loader!");
|
|
258
|
+
}
|
|
259
|
+
var RenderWeaverseRoot = (props) => {
|
|
260
|
+
let { components, themeSchema, weaverseData } = props;
|
|
225
261
|
let weaverse = createWeaverseInstance(weaverseData, components);
|
|
226
|
-
useStudio(weaverse, themeSchema
|
|
262
|
+
useStudio(weaverse, themeSchema);
|
|
227
263
|
return /* @__PURE__ */ React.createElement(WeaverseRoot, { context: weaverse });
|
|
228
|
-
}
|
|
264
|
+
};
|
|
229
265
|
export {
|
|
230
266
|
WeaverseHydrogenRoot,
|
|
231
267
|
fetchWithServerCache,
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0
|
|
2
|
+
"version": "1.1.0",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
17
|
"start": "npm run dev",
|
|
18
|
-
"dev": "tsup src/index.tsx --format esm,cjs --dts --outDir dist --watch --external @
|
|
19
|
-
"build": "tsup src/index.tsx --format esm,cjs --dts --outDir dist --external @
|
|
18
|
+
"dev": "tsup src/index.tsx --format esm,cjs --dts --outDir dist --watch --external @remix-run/react,@shopify/hydrogen",
|
|
19
|
+
"build": "tsup src/index.tsx --format esm,cjs --dts --outDir dist --external @remix-run/react,@shopify/hydrogen",
|
|
20
20
|
"clean": "rimraf dist",
|
|
21
21
|
"prepublish": "npm run build"
|
|
22
22
|
},
|
|
@@ -32,8 +32,9 @@
|
|
|
32
32
|
"name": "@weaverse/hydrogen",
|
|
33
33
|
"author": "Weaverse Team",
|
|
34
34
|
"dependencies": {
|
|
35
|
+
"@remix-run/react": "1.19.1",
|
|
35
36
|
"@shopify/hydrogen": "2023.7.1",
|
|
36
|
-
"@weaverse/react": "1.0
|
|
37
|
+
"@weaverse/react": "1.1.0"
|
|
37
38
|
},
|
|
38
39
|
"devDependencies": {
|
|
39
40
|
"@shopify/remix-oxygen": "^1.1.2"
|