@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 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 import_react5 = require("@weaverse/react");
41
- var import_react6 = __toESM(require("react"));
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
- function useStudio(weaverse, themeSchema, navigate) {
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 import_react4 = require("@weaverse/react");
119
+ var import_react5 = require("@weaverse/react");
115
120
  function useThemeSettings() {
116
- let weaverse = (0, import_react4.useWeaverse)();
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 { components, weaverseData, themeSchema, navigate } = props;
263
- let weaverse = createWeaverseInstance(weaverseData, components);
264
- useStudio(weaverse, themeSchema, navigate);
265
- return /* @__PURE__ */ import_react6.default.createElement(import_react5.WeaverseRoot, { context: weaverse });
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
- function useStudio(weaverse, themeSchema, navigate) {
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 { components, weaverseData, themeSchema, navigate } = props;
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, navigate);
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.65",
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 @weaverse/react,@shopify/hydrogen",
19
- "build": "tsup src/index.tsx --format esm,cjs --dts --outDir dist --external @weaverse/react,@shopify/hydrogen",
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.65"
37
+ "@weaverse/react": "1.1.0"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@shopify/remix-oxygen": "^1.1.2"