@weaverse/hydrogen 2.7.1-pre.2 → 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-pre.2",
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.6.3",
311
+ "@weaverse/react": "2.7.2",
299
312
  "react-error-boundary": "^4.0.11"
300
313
  },
301
314
  devDependencies: {
@@ -400,7 +413,6 @@ var WeaverseClient = class {
400
413
  } = options;
401
414
  let res = this.withCache(cacheKey, strategy, async () => {
402
415
  let cacheControlHeader = (0, import_hydrogen.generateCacheControlHeader)(strategy);
403
- console.log("cacheControlHeader1", cacheControlHeader);
404
416
  let response = await fetch(url, { ...reqInit, headers: {
405
417
  "Cache-Control": cacheControlHeader,
406
418
  ...reqInit.headers
@@ -414,34 +426,6 @@ var WeaverseClient = class {
414
426
  });
415
427
  return res;
416
428
  };
417
- // incrementCacheHits = async () => {
418
- // if (!this.cache) {
419
- // return '1'
420
- // }
421
- // // Increment the cacheHits count in the cache
422
- // const currentHitsResponse = await this.cache.match(CACHE_HITS_KEY)
423
- // const currentHits = currentHitsResponse
424
- // ? parseInt(await currentHitsResponse.text())
425
- // : 0
426
- // const newHitsCount = currentHits + 1
427
- // const newHitsResponse = new Response(newHitsCount.toString(), {
428
- // headers: {
429
- // 'Cache-Control': 'max-age=3600',
430
- // },
431
- // })
432
- //
433
- // await this.cache.put(CACHE_HITS_KEY, newHitsResponse)
434
- //
435
- // return newHitsCount.toString()
436
- // }
437
- // resetCacheHits = async () => {
438
- // if (!this.cache) {
439
- // return
440
- // }
441
- // // Reset the cacheHits count in the cache
442
- // const resetHitsResponse = new Response('0')
443
- // await this.cache.put(CACHE_HITS_KEY, resetHitsResponse)
444
- // }
445
429
  loadThemeSettings = async (strategy) => {
446
430
  try {
447
431
  let { API, configs } = this;
@@ -517,7 +501,6 @@ var WeaverseClient = class {
517
501
  } else {
518
502
  payload = await this.fetchWithCache(url, {
519
503
  ...reqInit,
520
- // headers,
521
504
  strategy
522
505
  });
523
506
  }
@@ -587,7 +570,7 @@ function getSelectedProductOptions(request) {
587
570
  }
588
571
 
589
572
  // src/index.ts
590
- var WeaverseHydrogen = class extends import_react13.Weaverse {
573
+ var WeaverseHydrogen = class extends import_react14.Weaverse {
591
574
  platformType = "shopify-hydrogen";
592
575
  pageId;
593
576
  internal;
@@ -603,7 +586,7 @@ var WeaverseHydrogen = class extends import_react13.Weaverse {
603
586
  }
604
587
  registerComponents = (components) => {
605
588
  components.forEach((comp) => {
606
- import_react13.Weaverse.registerElement({
589
+ import_react14.Weaverse.registerElement({
607
590
  type: comp?.schema?.type,
608
591
  Component: comp?.default,
609
592
  schema: comp?.schema,
@@ -612,7 +595,7 @@ var WeaverseHydrogen = class extends import_react13.Weaverse {
612
595
  });
613
596
  };
614
597
  };
615
- var WeaverseHydrogenItem = class extends import_react13.WeaverseItemStore {
598
+ var WeaverseHydrogenItem = class extends import_react14.WeaverseItemStore {
616
599
  constructor(initialData, weaverse) {
617
600
  super(initialData, weaverse);
618
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-pre.2",
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.6.3",
277
+ "@weaverse/react": "2.7.2",
265
278
  "react-error-boundary": "^4.0.11"
266
279
  },
267
280
  devDependencies: {
@@ -366,7 +379,6 @@ var WeaverseClient = class {
366
379
  } = options;
367
380
  let res = this.withCache(cacheKey, strategy, async () => {
368
381
  let cacheControlHeader = generateCacheControlHeader(strategy);
369
- console.log("cacheControlHeader1", cacheControlHeader);
370
382
  let response = await fetch(url, { ...reqInit, headers: {
371
383
  "Cache-Control": cacheControlHeader,
372
384
  ...reqInit.headers
@@ -380,34 +392,6 @@ var WeaverseClient = class {
380
392
  });
381
393
  return res;
382
394
  };
383
- // incrementCacheHits = async () => {
384
- // if (!this.cache) {
385
- // return '1'
386
- // }
387
- // // Increment the cacheHits count in the cache
388
- // const currentHitsResponse = await this.cache.match(CACHE_HITS_KEY)
389
- // const currentHits = currentHitsResponse
390
- // ? parseInt(await currentHitsResponse.text())
391
- // : 0
392
- // const newHitsCount = currentHits + 1
393
- // const newHitsResponse = new Response(newHitsCount.toString(), {
394
- // headers: {
395
- // 'Cache-Control': 'max-age=3600',
396
- // },
397
- // })
398
- //
399
- // await this.cache.put(CACHE_HITS_KEY, newHitsResponse)
400
- //
401
- // return newHitsCount.toString()
402
- // }
403
- // resetCacheHits = async () => {
404
- // if (!this.cache) {
405
- // return
406
- // }
407
- // // Reset the cacheHits count in the cache
408
- // const resetHitsResponse = new Response('0')
409
- // await this.cache.put(CACHE_HITS_KEY, resetHitsResponse)
410
- // }
411
395
  loadThemeSettings = async (strategy) => {
412
396
  try {
413
397
  let { API, configs } = this;
@@ -483,7 +467,6 @@ var WeaverseClient = class {
483
467
  } else {
484
468
  payload = await this.fetchWithCache(url, {
485
469
  ...reqInit,
486
- // headers,
487
470
  strategy
488
471
  });
489
472
  }
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-pre.2",
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.6.3",
43
+ "@weaverse/react": "2.7.2",
44
44
  "react-error-boundary": "^4.0.11"
45
45
  },
46
46
  "devDependencies": {