@weaverse/hydrogen 1.0.65 → 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 +1 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.js +45 -9
- package/dist/index.mjs +41 -5
- package/package.json +5 -4
package/dist/index.d.mts
CHANGED
|
@@ -103,6 +103,7 @@ type WeaverseInternal = {
|
|
|
103
103
|
pageAssignment: HydrogenPageAssignment;
|
|
104
104
|
project: HydrogenProjectType;
|
|
105
105
|
navigate: NavigateFunction;
|
|
106
|
+
revalidator: TODO;
|
|
106
107
|
};
|
|
107
108
|
type HydrogenComponentPresets = {
|
|
108
109
|
type: string;
|
|
@@ -176,10 +177,8 @@ type NavigateOptions = {
|
|
|
176
177
|
};
|
|
177
178
|
type NavigateFunction = (to: To, options?: NavigateOptions) => void;
|
|
178
179
|
interface WeaverseHydrogenRootProps {
|
|
179
|
-
weaverseData: WeaverseLoaderData;
|
|
180
180
|
components: HydrogenComponent[];
|
|
181
181
|
themeSchema: HydrogenThemeSchema;
|
|
182
|
-
navigate: NavigateFunction;
|
|
183
182
|
}
|
|
184
183
|
type HydrogenThemeInfo = {
|
|
185
184
|
name: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -103,6 +103,7 @@ type WeaverseInternal = {
|
|
|
103
103
|
pageAssignment: HydrogenPageAssignment;
|
|
104
104
|
project: HydrogenProjectType;
|
|
105
105
|
navigate: NavigateFunction;
|
|
106
|
+
revalidator: TODO;
|
|
106
107
|
};
|
|
107
108
|
type HydrogenComponentPresets = {
|
|
108
109
|
type: string;
|
|
@@ -176,10 +177,8 @@ type NavigateOptions = {
|
|
|
176
177
|
};
|
|
177
178
|
type NavigateFunction = (to: To, options?: NavigateOptions) => void;
|
|
178
179
|
interface WeaverseHydrogenRootProps {
|
|
179
|
-
weaverseData: WeaverseLoaderData;
|
|
180
180
|
components: HydrogenComponent[];
|
|
181
181
|
themeSchema: HydrogenThemeSchema;
|
|
182
|
-
navigate: NavigateFunction;
|
|
183
182
|
}
|
|
184
183
|
type HydrogenThemeInfo = {
|
|
185
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"
|