@weaverse/hydrogen 2.7.1 → 2.7.2

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 CHANGED
@@ -38,15 +38,15 @@ __export(src_exports, {
38
38
  getRequestQueries: () => getRequestQueries,
39
39
  getSelectedProductOptions: () => getSelectedProductOptions,
40
40
  getWeaverseConfigs: () => getWeaverseConfigs,
41
- useChildInstances: () => import_react13.useChildInstances,
42
- useItemInstance: () => import_react13.useItemInstance,
43
- useParentInstance: () => import_react13.useParentInstance,
41
+ useChildInstances: () => import_react14.useChildInstances,
42
+ useItemInstance: () => import_react14.useItemInstance,
43
+ useParentInstance: () => import_react14.useParentInstance,
44
44
  useThemeSettings: () => useThemeSettings,
45
- useWeaverse: () => import_react13.useWeaverse,
45
+ useWeaverse: () => import_react14.useWeaverse,
46
46
  withWeaverse: () => withWeaverse
47
47
  });
48
48
  module.exports = __toCommonJS(src_exports);
49
- var import_react13 = require("@weaverse/react");
49
+ var import_react14 = 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 import_react10 = require("@remix-run/react");
73
- var import_react11 = require("@weaverse/react");
74
- var import_react12 = __toESM(require("react"));
72
+ var import_react11 = require("@remix-run/react");
73
+ var import_react12 = require("@weaverse/react");
74
+ var import_react13 = __toESM(require("react"));
75
75
  var import_react_error_boundary = require("react-error-boundary");
76
76
 
77
77
  // src/context.ts
@@ -81,7 +81,7 @@ function createCachedWeaverseInstance(params, components) {
81
81
  if (import_react2.isBrowser) {
82
82
  window.__weaverses = window.__weaverses || [];
83
83
  let weaverse = window.__weaverses.find((w) => {
84
- let { pathname, search } = w.requestInfo;
84
+ let { pathname } = w.requestInfo;
85
85
  return pathname === params.requestInfo.pathname;
86
86
  });
87
87
  if (!weaverse) {
@@ -208,23 +208,36 @@ function useStudio(weaverse) {
208
208
  }, [weaverse.requestInfo]);
209
209
  }
210
210
 
211
+ // src/pixel.tsx
212
+ var import_react10 = __toESM(require("react"));
213
+ var Pixel = ({ baseUrl, projectId, pageId }) => {
214
+ const url = `${baseUrl}/api/public/px?projectId=${projectId}&pageId=${pageId}`;
215
+ return /* @__PURE__ */ import_react10.default.createElement("img", { src: url, alt: "weaverse pixel", style: { display: "none" } });
216
+ };
217
+ var WeaversePixel = ({ context }) => {
218
+ let { projectId, pageId, weaverseHost, isDesignMode } = context;
219
+ if (isDesignMode || !projectId || !pageId || !weaverseHost)
220
+ return null;
221
+ return /* @__PURE__ */ import_react10.default.createElement(Pixel, { baseUrl: weaverseHost, projectId, pageId });
222
+ };
223
+
211
224
  // src/WeaverseHydrogenRoot.tsx
212
- var WeaverseHydrogenRoot = (0, import_react12.memo)(
225
+ var WeaverseHydrogenRoot = (0, import_react13.memo)(
213
226
  ({
214
227
  errorComponent: ErrorComponent = FallbackError,
215
228
  components
216
229
  }) => {
217
- let loaderData = (0, import_react10.useLoaderData)();
230
+ let loaderData = (0, import_react11.useLoaderData)();
218
231
  let data = loaderData?.weaverseData;
219
232
  if (data) {
220
233
  if (data instanceof Promise) {
221
- return /* @__PURE__ */ import_react12.default.createElement(import_react_error_boundary.ErrorBoundary, { fallbackRender: ErrorComponent }, /* @__PURE__ */ import_react12.default.createElement(import_react12.Suspense, null, /* @__PURE__ */ import_react12.default.createElement(import_react10.Await, { resolve: data }, (resolvedData) => {
222
- return /* @__PURE__ */ import_react12.default.createElement(RenderRoot, { data: resolvedData, components });
234
+ return /* @__PURE__ */ import_react13.default.createElement(import_react_error_boundary.ErrorBoundary, { fallbackRender: ErrorComponent }, /* @__PURE__ */ import_react13.default.createElement(import_react13.Suspense, null, /* @__PURE__ */ import_react13.default.createElement(import_react11.Await, { resolve: data }, (resolvedData) => {
235
+ return /* @__PURE__ */ import_react13.default.createElement(RenderRoot, { data: resolvedData, components });
223
236
  })));
224
237
  }
225
- return /* @__PURE__ */ import_react12.default.createElement(RenderRoot, { data, components });
238
+ return /* @__PURE__ */ import_react13.default.createElement(RenderRoot, { data, components });
226
239
  }
227
- return /* @__PURE__ */ import_react12.default.createElement(
240
+ return /* @__PURE__ */ import_react13.default.createElement(
228
241
  ErrorComponent,
229
242
  {
230
243
  error: { message: "No Weaverse data return from route loader!" }
@@ -236,17 +249,17 @@ function RenderRoot(props) {
236
249
  let { data, components } = props;
237
250
  let weaverse = createWeaverseInstance(data, components);
238
251
  useStudio(weaverse);
239
- return /* @__PURE__ */ import_react12.default.createElement(import_react11.WeaverseRoot, { context: weaverse });
252
+ 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 }));
240
253
  }
241
254
  function withWeaverse(Component) {
242
255
  return (props) => {
243
- let loaderData = (0, import_react10.useRouteLoaderData)("root");
256
+ let loaderData = (0, import_react11.useRouteLoaderData)("root");
244
257
  let themeSettingsStore = new ThemeSettingsStore(loaderData?.weaverseTheme);
245
- return /* @__PURE__ */ import_react12.default.createElement(ThemeProvider.Provider, { value: themeSettingsStore }, /* @__PURE__ */ import_react12.default.createElement(Component, { ...props }));
258
+ return /* @__PURE__ */ import_react13.default.createElement(ThemeProvider.Provider, { value: themeSettingsStore }, /* @__PURE__ */ import_react13.default.createElement(Component, { ...props }));
246
259
  };
247
260
  }
248
261
  function FallbackError({ error }) {
249
- return /* @__PURE__ */ import_react12.default.createElement("div", null, error?.message || "An unexpected error occurred");
262
+ return /* @__PURE__ */ import_react13.default.createElement("div", null, error?.message || "An unexpected error occurred");
250
263
  }
251
264
 
252
265
  // src/weaverse-client.ts
@@ -257,7 +270,7 @@ var package_default = {
257
270
  name: "@weaverse/hydrogen",
258
271
  author: "Weaverse Team",
259
272
  description: "Components, hooks, and utilities for building Shopify Hydrogen websites with Weaverse",
260
- version: "2.7.1",
273
+ version: "2.7.2",
261
274
  license: "MIT",
262
275
  main: "dist/index.js",
263
276
  typings: "dist/index.d.ts",
@@ -295,7 +308,7 @@ var package_default = {
295
308
  singleQuote: true
296
309
  },
297
310
  dependencies: {
298
- "@weaverse/react": "2.7.1",
311
+ "@weaverse/react": "2.7.2",
299
312
  "react-error-boundary": "^4.0.11"
300
313
  },
301
314
  devDependencies: {
@@ -557,7 +570,7 @@ function getSelectedProductOptions(request) {
557
570
  }
558
571
 
559
572
  // src/index.ts
560
- var WeaverseHydrogen = class extends import_react13.Weaverse {
573
+ var WeaverseHydrogen = class extends import_react14.Weaverse {
561
574
  platformType = "shopify-hydrogen";
562
575
  pageId;
563
576
  internal;
@@ -573,7 +586,7 @@ var WeaverseHydrogen = class extends import_react13.Weaverse {
573
586
  }
574
587
  registerComponents = (components) => {
575
588
  components.forEach((comp) => {
576
- import_react13.Weaverse.registerElement({
589
+ import_react14.Weaverse.registerElement({
577
590
  type: comp?.schema?.type,
578
591
  Component: comp?.default,
579
592
  schema: comp?.schema,
@@ -582,7 +595,7 @@ var WeaverseHydrogen = class extends import_react13.Weaverse {
582
595
  });
583
596
  };
584
597
  };
585
- var WeaverseHydrogenItem = class extends import_react13.WeaverseItemStore {
598
+ var WeaverseHydrogenItem = class extends import_react14.WeaverseItemStore {
586
599
  constructor(initialData, weaverse) {
587
600
  super(initialData, weaverse);
588
601
  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 React2, { memo, Suspense } from "react";
40
+ import React3, { memo, Suspense } from "react";
41
41
  import { ErrorBoundary } from "react-error-boundary";
42
42
 
43
43
  // src/context.ts
@@ -47,7 +47,7 @@ function createCachedWeaverseInstance(params, components) {
47
47
  if (isBrowser) {
48
48
  window.__weaverses = window.__weaverses || [];
49
49
  let weaverse = window.__weaverses.find((w) => {
50
- let { pathname, search } = w.requestInfo;
50
+ let { pathname } = w.requestInfo;
51
51
  return pathname === params.requestInfo.pathname;
52
52
  });
53
53
  if (!weaverse) {
@@ -174,6 +174,19 @@ function useStudio(weaverse) {
174
174
  }, [weaverse.requestInfo]);
175
175
  }
176
176
 
177
+ // src/pixel.tsx
178
+ import React2 from "react";
179
+ var Pixel = ({ baseUrl, projectId, pageId }) => {
180
+ const url = `${baseUrl}/api/public/px?projectId=${projectId}&pageId=${pageId}`;
181
+ return /* @__PURE__ */ React2.createElement("img", { src: url, alt: "weaverse pixel", style: { display: "none" } });
182
+ };
183
+ var WeaversePixel = ({ context }) => {
184
+ let { projectId, pageId, weaverseHost, isDesignMode } = context;
185
+ if (isDesignMode || !projectId || !pageId || !weaverseHost)
186
+ return null;
187
+ return /* @__PURE__ */ React2.createElement(Pixel, { baseUrl: weaverseHost, projectId, pageId });
188
+ };
189
+
177
190
  // src/WeaverseHydrogenRoot.tsx
178
191
  var WeaverseHydrogenRoot = memo(
179
192
  ({
@@ -184,13 +197,13 @@ var WeaverseHydrogenRoot = memo(
184
197
  let data = loaderData?.weaverseData;
185
198
  if (data) {
186
199
  if (data instanceof Promise) {
187
- return /* @__PURE__ */ React2.createElement(ErrorBoundary, { fallbackRender: ErrorComponent }, /* @__PURE__ */ React2.createElement(Suspense, null, /* @__PURE__ */ React2.createElement(Await, { resolve: data }, (resolvedData) => {
188
- return /* @__PURE__ */ React2.createElement(RenderRoot, { data: resolvedData, components });
200
+ return /* @__PURE__ */ React3.createElement(ErrorBoundary, { fallbackRender: ErrorComponent }, /* @__PURE__ */ React3.createElement(Suspense, null, /* @__PURE__ */ React3.createElement(Await, { resolve: data }, (resolvedData) => {
201
+ return /* @__PURE__ */ React3.createElement(RenderRoot, { data: resolvedData, components });
189
202
  })));
190
203
  }
191
- return /* @__PURE__ */ React2.createElement(RenderRoot, { data, components });
204
+ return /* @__PURE__ */ React3.createElement(RenderRoot, { data, components });
192
205
  }
193
- return /* @__PURE__ */ React2.createElement(
206
+ return /* @__PURE__ */ React3.createElement(
194
207
  ErrorComponent,
195
208
  {
196
209
  error: { message: "No Weaverse data return from route loader!" }
@@ -202,17 +215,17 @@ function RenderRoot(props) {
202
215
  let { data, components } = props;
203
216
  let weaverse = createWeaverseInstance(data, components);
204
217
  useStudio(weaverse);
205
- return /* @__PURE__ */ React2.createElement(WeaverseRoot, { context: weaverse });
218
+ return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(WeaverseRoot, { context: weaverse }), /* @__PURE__ */ React3.createElement(WeaversePixel, { context: weaverse }));
206
219
  }
207
220
  function withWeaverse(Component) {
208
221
  return (props) => {
209
222
  let loaderData = useRouteLoaderData("root");
210
223
  let themeSettingsStore = new ThemeSettingsStore(loaderData?.weaverseTheme);
211
- return /* @__PURE__ */ React2.createElement(ThemeProvider.Provider, { value: themeSettingsStore }, /* @__PURE__ */ React2.createElement(Component, { ...props }));
224
+ return /* @__PURE__ */ React3.createElement(ThemeProvider.Provider, { value: themeSettingsStore }, /* @__PURE__ */ React3.createElement(Component, { ...props }));
212
225
  };
213
226
  }
214
227
  function FallbackError({ error }) {
215
- return /* @__PURE__ */ React2.createElement("div", null, error?.message || "An unexpected error occurred");
228
+ return /* @__PURE__ */ React3.createElement("div", null, error?.message || "An unexpected error occurred");
216
229
  }
217
230
 
218
231
  // src/weaverse-client.ts
@@ -223,7 +236,7 @@ var package_default = {
223
236
  name: "@weaverse/hydrogen",
224
237
  author: "Weaverse Team",
225
238
  description: "Components, hooks, and utilities for building Shopify Hydrogen websites with Weaverse",
226
- version: "2.7.1",
239
+ version: "2.7.2",
227
240
  license: "MIT",
228
241
  main: "dist/index.js",
229
242
  typings: "dist/index.d.ts",
@@ -261,7 +274,7 @@ var package_default = {
261
274
  singleQuote: true
262
275
  },
263
276
  dependencies: {
264
- "@weaverse/react": "2.7.1",
277
+ "@weaverse/react": "2.7.2",
265
278
  "react-error-boundary": "^4.0.11"
266
279
  },
267
280
  devDependencies: {
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.7.1",
5
+ "version": "2.7.2",
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.7.1",
43
+ "@weaverse/react": "2.7.2",
44
44
  "react-error-boundary": "^4.0.11"
45
45
  },
46
46
  "devDependencies": {