@weaverse/hydrogen 1.0.46 → 1.0.48

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.ts CHANGED
@@ -78,6 +78,13 @@ interface HydrogenPageData {
78
78
  page: any;
79
79
  configs: HydrogenPageConfigs;
80
80
  }
81
+ interface WeaverseHydrogenRootProps {
82
+ components: Record<string, HydrogenComponent>;
83
+ data: {
84
+ weaverseData?: HydrogenPageData;
85
+ [key: string]: any;
86
+ };
87
+ }
81
88
 
82
89
  /**
83
90
  * Fetch with server cache requires a storefront.cache instance which is Cloudflare Cache and a waitUntil function, otherwise it will just fetch the url.
@@ -90,13 +97,6 @@ declare let fetchWithServerCache: ({ url, options, context, }: {
90
97
 
91
98
  declare function weaverseLoader(args: LoaderArgs, components: Record<string, HydrogenComponent>): Promise<HydrogenPageData | null>;
92
99
 
93
- interface WeaverseHydrogenRootProps {
94
- components: Record<string, HydrogenComponent>;
95
- data: {
96
- weaverseData: HydrogenPageData;
97
- [key: string]: any;
98
- };
99
- }
100
100
  declare let WeaverseHydrogenRoot: (props: WeaverseHydrogenRootProps) => React.JSX.Element;
101
101
 
102
- export { ComponentFlags, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentProps, HydrogenComponentSchema, HydrogenComponentTemplate, HydrogenElement, HydrogenPageConfigs, HydrogenPageData, TODO, WeaverseHydrogen, WeaverseHydrogenRoot, WeaverseLoaderArgs, fetchWithServerCache, weaverseLoader };
102
+ export { ComponentFlags, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentProps, HydrogenComponentSchema, HydrogenComponentTemplate, HydrogenElement, HydrogenPageConfigs, HydrogenPageData, TODO, WeaverseHydrogen, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseLoaderArgs, fetchWithServerCache, weaverseLoader };
package/dist/index.js CHANGED
@@ -41,15 +41,16 @@ var import_react4 = __toESM(require("react"));
41
41
 
42
42
  // src/context.ts
43
43
  var import_react = require("@weaverse/react");
44
+ var createRootContext = (init) => new import_react.Weaverse(init);
44
45
  function createCachedContext(init) {
45
46
  if (import_react.isBrowser && init.pageId) {
46
47
  window.__weaverses = window.__weaverses || {};
47
48
  if (!window.__weaverses[init.pageId]) {
48
- window.__weaverses[init.pageId] = (0, import_react.createRootContext)(init);
49
+ window.__weaverses[init.pageId] = createRootContext(init);
49
50
  }
50
51
  return window.__weaverses[init.pageId];
51
52
  }
52
- return (0, import_react.createRootContext)(init);
53
+ return createRootContext(init);
53
54
  }
54
55
  function createWeaverseHydrogenContext({ weaverseData }, components) {
55
56
  let { page = {}, configs = {} } = weaverseData || {};
@@ -549,15 +550,10 @@ var WeaverseItemStore = class {
549
550
  constructor(itemData, weaverse) {
550
551
  this.listeners = /* @__PURE__ */ new Set();
551
552
  this.ref = { current: null };
552
- this.platformType = "shopify-section";
553
553
  this.stitchesClass = "";
554
554
  this._store = { id: "", type: "" };
555
555
  this.setData = (update) => {
556
- if (this.platformType === "shopify-hydrogen") {
557
- this.data = update;
558
- } else {
559
- this.data = Object.assign(this.data, update);
560
- }
556
+ this.data = Object.assign(this.data, update);
561
557
  this.triggerUpdate();
562
558
  return this.data;
563
559
  };
@@ -574,10 +570,14 @@ var WeaverseItemStore = class {
574
570
  };
575
571
  let { type, id } = itemData;
576
572
  this.weaverse = weaverse;
577
- this.platformType = weaverse.platformType;
578
573
  if (id && type) {
579
574
  weaverse.itemInstances.set(id, this);
580
- this._store = { ...itemData };
575
+ if (weaverse.platformType === "shopify-hydrogen") {
576
+ let { data, ...rest } = itemData;
577
+ this._store = { ...data, ...rest };
578
+ } else {
579
+ this._store = { ...itemData };
580
+ }
581
581
  }
582
582
  }
583
583
  get _id() {
@@ -593,33 +593,18 @@ var WeaverseItemStore = class {
593
593
  return this.weaverse.elementInstances.get(this._store.type);
594
594
  }
595
595
  set data(update) {
596
- if (this.platformType === "shopify-hydrogen") {
597
- let { children, ...rest } = update;
598
- if (children) {
599
- this._store.children = children;
600
- }
601
- this._store.data = merge(this._store.data, rest);
602
- } else {
603
- this._store = { ...this.data, ...update };
604
- }
596
+ this._store = { ...this.data, ...update };
605
597
  }
606
598
  get data() {
607
599
  let defaultProps = { ...this.Element?.Component?.defaultProps };
608
- if (this.platformType === "shopify-hydrogen") {
609
- return {
610
- ...this._store,
611
- data: { ...defaultProps?.data, ...this._store.data }
612
- };
613
- } else {
614
- let defaultCss = this.Element?.defaultCss || {};
615
- let currentCss = this._store.css || {};
616
- let css = merge(defaultCss, currentCss);
617
- let extraData = this.Element?.extraData;
618
- return { ...defaultProps, ...extraData, ...this._store, css };
619
- }
600
+ let defaultCss = this.Element?.defaultCss || {};
601
+ let currentCss = this._store.css || {};
602
+ let css = merge(defaultCss, currentCss);
603
+ let extraData = this.Element?.extraData;
604
+ return { ...defaultProps, ...extraData, ...this._store, css };
620
605
  }
621
606
  };
622
- var Weaverse = class {
607
+ var Weaverse2 = class {
623
608
  /**
624
609
  * constructor
625
610
  * @param weaverseHost {string} Weaverse base URL that can provide by user/developer. for local development, use localhost:3000
@@ -634,7 +619,7 @@ var Weaverse = class {
634
619
  constructor(params = {}) {
635
620
  this.elementInstances = /* @__PURE__ */ new Map();
636
621
  this.itemInstances = /* @__PURE__ */ new Map();
637
- this.weaverseHost = "https://studio.weaverse.io";
622
+ this.weaverseHost = "https://weaverse.io";
638
623
  this.weaverseVersion = "";
639
624
  this.projectId = "";
640
625
  this.pageId = "";
@@ -715,13 +700,13 @@ var Weaverse = class {
715
700
  if (data?.items) {
716
701
  data.items.forEach((item) => {
717
702
  if (!this.itemInstances.get(item.id)) {
718
- new WeaverseItemStore(item, this);
703
+ return new WeaverseItemStore(item, this);
719
704
  }
720
705
  });
721
706
  }
722
707
  }
723
708
  };
724
- Weaverse.WeaverseItemStore = WeaverseItemStore;
709
+ Weaverse2.WeaverseItemStore = WeaverseItemStore;
725
710
 
726
711
  // src/hooks/use-studio.ts
727
712
  var import_react2 = require("react");
@@ -879,24 +864,8 @@ var WeaverseHydrogenRoot = (props) => {
879
864
  useStudio(weaverse);
880
865
  if (!weaverse?.data)
881
866
  return /* @__PURE__ */ import_react4.default.createElement("div", null, "No Weaverse data!");
882
- return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_react3.WeaverseRoot, { context: weaverse }), weaverse.isDesignMode ? null : /* @__PURE__ */ import_react4.default.createElement(StitchesStyle, { weaverse }));
867
+ return /* @__PURE__ */ import_react4.default.createElement(import_react3.WeaverseRoot, { context: weaverse });
883
868
  };
884
- var StitchesStyle = (0, import_react4.memo)(
885
- ({ weaverse }) => {
886
- return /* @__PURE__ */ import_react4.default.createElement(
887
- "style",
888
- {
889
- id: "stitches",
890
- key: "stitches",
891
- suppressHydrationWarning: true,
892
- dangerouslySetInnerHTML: {
893
- __html: weaverse.stitchesInstance?.getCssText() || ""
894
- }
895
- }
896
- );
897
- },
898
- () => true
899
- );
900
869
  // Annotate the CommonJS export names for ESM import in node:
901
870
  0 && (module.exports = {
902
871
  WeaverseHydrogenRoot,
package/dist/index.mjs CHANGED
@@ -1,9 +1,10 @@
1
1
  // src/index.tsx
2
2
  import { WeaverseRoot } from "@weaverse/react";
3
- import React, { memo } from "react";
3
+ import React from "react";
4
4
 
5
5
  // src/context.ts
6
- import { createRootContext, isBrowser } from "@weaverse/react";
6
+ import { Weaverse, isBrowser } from "@weaverse/react";
7
+ var createRootContext = (init) => new Weaverse(init);
7
8
  function createCachedContext(init) {
8
9
  if (isBrowser && init.pageId) {
9
10
  window.__weaverses = window.__weaverses || {};
@@ -512,15 +513,10 @@ var WeaverseItemStore = class {
512
513
  constructor(itemData, weaverse) {
513
514
  this.listeners = /* @__PURE__ */ new Set();
514
515
  this.ref = { current: null };
515
- this.platformType = "shopify-section";
516
516
  this.stitchesClass = "";
517
517
  this._store = { id: "", type: "" };
518
518
  this.setData = (update) => {
519
- if (this.platformType === "shopify-hydrogen") {
520
- this.data = update;
521
- } else {
522
- this.data = Object.assign(this.data, update);
523
- }
519
+ this.data = Object.assign(this.data, update);
524
520
  this.triggerUpdate();
525
521
  return this.data;
526
522
  };
@@ -537,10 +533,14 @@ var WeaverseItemStore = class {
537
533
  };
538
534
  let { type, id } = itemData;
539
535
  this.weaverse = weaverse;
540
- this.platformType = weaverse.platformType;
541
536
  if (id && type) {
542
537
  weaverse.itemInstances.set(id, this);
543
- this._store = { ...itemData };
538
+ if (weaverse.platformType === "shopify-hydrogen") {
539
+ let { data, ...rest } = itemData;
540
+ this._store = { ...data, ...rest };
541
+ } else {
542
+ this._store = { ...itemData };
543
+ }
544
544
  }
545
545
  }
546
546
  get _id() {
@@ -556,33 +556,18 @@ var WeaverseItemStore = class {
556
556
  return this.weaverse.elementInstances.get(this._store.type);
557
557
  }
558
558
  set data(update) {
559
- if (this.platformType === "shopify-hydrogen") {
560
- let { children, ...rest } = update;
561
- if (children) {
562
- this._store.children = children;
563
- }
564
- this._store.data = merge(this._store.data, rest);
565
- } else {
566
- this._store = { ...this.data, ...update };
567
- }
559
+ this._store = { ...this.data, ...update };
568
560
  }
569
561
  get data() {
570
562
  let defaultProps = { ...this.Element?.Component?.defaultProps };
571
- if (this.platformType === "shopify-hydrogen") {
572
- return {
573
- ...this._store,
574
- data: { ...defaultProps?.data, ...this._store.data }
575
- };
576
- } else {
577
- let defaultCss = this.Element?.defaultCss || {};
578
- let currentCss = this._store.css || {};
579
- let css = merge(defaultCss, currentCss);
580
- let extraData = this.Element?.extraData;
581
- return { ...defaultProps, ...extraData, ...this._store, css };
582
- }
563
+ let defaultCss = this.Element?.defaultCss || {};
564
+ let currentCss = this._store.css || {};
565
+ let css = merge(defaultCss, currentCss);
566
+ let extraData = this.Element?.extraData;
567
+ return { ...defaultProps, ...extraData, ...this._store, css };
583
568
  }
584
569
  };
585
- var Weaverse = class {
570
+ var Weaverse2 = class {
586
571
  /**
587
572
  * constructor
588
573
  * @param weaverseHost {string} Weaverse base URL that can provide by user/developer. for local development, use localhost:3000
@@ -597,7 +582,7 @@ var Weaverse = class {
597
582
  constructor(params = {}) {
598
583
  this.elementInstances = /* @__PURE__ */ new Map();
599
584
  this.itemInstances = /* @__PURE__ */ new Map();
600
- this.weaverseHost = "https://studio.weaverse.io";
585
+ this.weaverseHost = "https://weaverse.io";
601
586
  this.weaverseVersion = "";
602
587
  this.projectId = "";
603
588
  this.pageId = "";
@@ -678,13 +663,13 @@ var Weaverse = class {
678
663
  if (data?.items) {
679
664
  data.items.forEach((item) => {
680
665
  if (!this.itemInstances.get(item.id)) {
681
- new WeaverseItemStore(item, this);
666
+ return new WeaverseItemStore(item, this);
682
667
  }
683
668
  });
684
669
  }
685
670
  }
686
671
  };
687
- Weaverse.WeaverseItemStore = WeaverseItemStore;
672
+ Weaverse2.WeaverseItemStore = WeaverseItemStore;
688
673
 
689
674
  // src/hooks/use-studio.ts
690
675
  import { useEffect } from "react";
@@ -842,24 +827,8 @@ var WeaverseHydrogenRoot = (props) => {
842
827
  useStudio(weaverse);
843
828
  if (!weaverse?.data)
844
829
  return /* @__PURE__ */ React.createElement("div", null, "No Weaverse data!");
845
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(WeaverseRoot, { context: weaverse }), weaverse.isDesignMode ? null : /* @__PURE__ */ React.createElement(StitchesStyle, { weaverse }));
830
+ return /* @__PURE__ */ React.createElement(WeaverseRoot, { context: weaverse });
846
831
  };
847
- var StitchesStyle = memo(
848
- ({ weaverse }) => {
849
- return /* @__PURE__ */ React.createElement(
850
- "style",
851
- {
852
- id: "stitches",
853
- key: "stitches",
854
- suppressHydrationWarning: true,
855
- dangerouslySetInnerHTML: {
856
- __html: weaverse.stitchesInstance?.getCssText() || ""
857
- }
858
- }
859
- );
860
- },
861
- () => true
862
- );
863
832
  export {
864
833
  WeaverseHydrogenRoot,
865
834
  fetchWithServerCache,
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.46",
2
+ "version": "1.0.48",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -33,7 +33,7 @@
33
33
  "author": "Weaverse Team",
34
34
  "dependencies": {
35
35
  "@shopify/hydrogen": "2023.4.3",
36
- "@weaverse/react": "1.0.46"
36
+ "@weaverse/react": "1.0.48"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@shopify/remix-oxygen": "^1.0.7"