@weaverse/react 2.4.3 → 2.5.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 +11 -5
- package/dist/index.d.ts +11 -5
- package/dist/index.js +68 -35
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +56 -25
- package/dist/index.mjs.map +1 -0
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import { Weaverse,
|
|
1
|
+
import { Weaverse, WeaverseItemStore, ElementCSS } from '@weaverse/core';
|
|
2
2
|
export * from '@weaverse/core';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import react__default, { ReactElement, ReactNode } from 'react';
|
|
5
5
|
|
|
6
6
|
declare let WeaverseContext: react.Context<Weaverse>;
|
|
7
7
|
declare let WeaverseContextProvider: react.Provider<Weaverse>;
|
|
8
|
-
declare let
|
|
8
|
+
declare let WeaverseItemContext: react.Context<{
|
|
9
|
+
id: string;
|
|
10
|
+
parentId: string;
|
|
11
|
+
}>;
|
|
12
|
+
|
|
13
|
+
declare function useWeaverse<T = Weaverse>(): T;
|
|
14
|
+
declare let useItemInstance: (id?: string) => WeaverseItemStore | null;
|
|
15
|
+
declare let useParentInstance: () => WeaverseItemStore | null;
|
|
16
|
+
declare let useChildInstances: (id?: string) => WeaverseItemStore[];
|
|
9
17
|
|
|
10
18
|
interface WeaverseElementProps extends Partial<ReactElement> {
|
|
11
19
|
css?: ElementCSS;
|
|
@@ -21,7 +29,5 @@ type ItemComponentProps = {
|
|
|
21
29
|
};
|
|
22
30
|
|
|
23
31
|
declare let WeaverseRoot: react__default.MemoExoticComponent<({ context }: WeaverseRootPropsType) => react__default.JSX.Element | null>;
|
|
24
|
-
declare function useWeaverse<T = Weaverse>(): T;
|
|
25
|
-
declare let useItemInstance: (id: string) => any;
|
|
26
32
|
|
|
27
|
-
export { ItemComponentProps, WeaverseContext,
|
|
33
|
+
export { ItemComponentProps, WeaverseContext, WeaverseContextProvider, WeaverseElementProps, WeaverseItemContext, WeaverseRoot, WeaverseRootPropsType, useChildInstances, useItemInstance, useParentInstance, useWeaverse };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import { Weaverse,
|
|
1
|
+
import { Weaverse, WeaverseItemStore, ElementCSS } from '@weaverse/core';
|
|
2
2
|
export * from '@weaverse/core';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import react__default, { ReactElement, ReactNode } from 'react';
|
|
5
5
|
|
|
6
6
|
declare let WeaverseContext: react.Context<Weaverse>;
|
|
7
7
|
declare let WeaverseContextProvider: react.Provider<Weaverse>;
|
|
8
|
-
declare let
|
|
8
|
+
declare let WeaverseItemContext: react.Context<{
|
|
9
|
+
id: string;
|
|
10
|
+
parentId: string;
|
|
11
|
+
}>;
|
|
12
|
+
|
|
13
|
+
declare function useWeaverse<T = Weaverse>(): T;
|
|
14
|
+
declare let useItemInstance: (id?: string) => WeaverseItemStore | null;
|
|
15
|
+
declare let useParentInstance: () => WeaverseItemStore | null;
|
|
16
|
+
declare let useChildInstances: (id?: string) => WeaverseItemStore[];
|
|
9
17
|
|
|
10
18
|
interface WeaverseElementProps extends Partial<ReactElement> {
|
|
11
19
|
css?: ElementCSS;
|
|
@@ -21,7 +29,5 @@ type ItemComponentProps = {
|
|
|
21
29
|
};
|
|
22
30
|
|
|
23
31
|
declare let WeaverseRoot: react__default.MemoExoticComponent<({ context }: WeaverseRootPropsType) => react__default.JSX.Element | null>;
|
|
24
|
-
declare function useWeaverse<T = Weaverse>(): T;
|
|
25
|
-
declare let useItemInstance: (id: string) => any;
|
|
26
32
|
|
|
27
|
-
export { ItemComponentProps, WeaverseContext,
|
|
33
|
+
export { ItemComponentProps, WeaverseContext, WeaverseContextProvider, WeaverseElementProps, WeaverseItemContext, WeaverseRoot, WeaverseRootPropsType, useChildInstances, useItemInstance, useParentInstance, useWeaverse };
|
package/dist/index.js
CHANGED
|
@@ -32,10 +32,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
32
32
|
var src_exports = {};
|
|
33
33
|
__export(src_exports, {
|
|
34
34
|
WeaverseContext: () => WeaverseContext,
|
|
35
|
-
WeaverseContextConsumer: () => WeaverseContextConsumer,
|
|
36
35
|
WeaverseContextProvider: () => WeaverseContextProvider,
|
|
36
|
+
WeaverseItemContext: () => WeaverseItemContext,
|
|
37
37
|
WeaverseRoot: () => WeaverseRoot,
|
|
38
|
+
useChildInstances: () => useChildInstances,
|
|
38
39
|
useItemInstance: () => useItemInstance,
|
|
40
|
+
useParentInstance: () => useParentInstance,
|
|
39
41
|
useWeaverse: () => useWeaverse
|
|
40
42
|
});
|
|
41
43
|
module.exports = __toCommonJS(src_exports);
|
|
@@ -45,11 +47,46 @@ __reExport(src_exports, require("@weaverse/core"), module.exports);
|
|
|
45
47
|
var import_react = require("react");
|
|
46
48
|
var WeaverseContext = (0, import_react.createContext)({});
|
|
47
49
|
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
48
|
-
var
|
|
50
|
+
var WeaverseItemContext = (0, import_react.createContext)({ id: "", parentId: "" });
|
|
51
|
+
|
|
52
|
+
// src/hooks.ts
|
|
53
|
+
var import_react2 = require("react");
|
|
54
|
+
function useWeaverse() {
|
|
55
|
+
let weaverse = (0, import_react2.useContext)(WeaverseContext);
|
|
56
|
+
return weaverse;
|
|
57
|
+
}
|
|
58
|
+
var useItemInstance = (id) => {
|
|
59
|
+
let weaverse = useWeaverse();
|
|
60
|
+
let { id: currentId } = (0, import_react2.useContext)(WeaverseItemContext);
|
|
61
|
+
let { itemInstances } = weaverse;
|
|
62
|
+
let instance = itemInstances.get(id || currentId);
|
|
63
|
+
if (!instance) {
|
|
64
|
+
console.warn(`Item instance ${id} not found`);
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
return instance;
|
|
68
|
+
};
|
|
69
|
+
var useParentInstance = () => {
|
|
70
|
+
let { parentId } = (0, import_react2.useContext)(WeaverseItemContext);
|
|
71
|
+
return useItemInstance(parentId || "");
|
|
72
|
+
};
|
|
73
|
+
var useChildInstances = (id) => {
|
|
74
|
+
let weaverse = useWeaverse();
|
|
75
|
+
let currentInstance = useItemInstance(id);
|
|
76
|
+
if (!currentInstance)
|
|
77
|
+
return [];
|
|
78
|
+
let { itemInstances } = weaverse;
|
|
79
|
+
let {
|
|
80
|
+
data: { children }
|
|
81
|
+
} = currentInstance;
|
|
82
|
+
return children.map(({ id: id2 }) => {
|
|
83
|
+
return itemInstances.get(id2);
|
|
84
|
+
});
|
|
85
|
+
};
|
|
49
86
|
|
|
50
87
|
// src/renderer.tsx
|
|
51
88
|
var import_core = require("@weaverse/core");
|
|
52
|
-
var
|
|
89
|
+
var import_react3 = __toESM(require("react"));
|
|
53
90
|
|
|
54
91
|
// src/utils/css.ts
|
|
55
92
|
var import_clsx = __toESM(require("clsx"));
|
|
@@ -88,18 +125,18 @@ function generateItemClassName(instance, stitchesInstance) {
|
|
|
88
125
|
|
|
89
126
|
// src/renderer.tsx
|
|
90
127
|
var import_clsx2 = __toESM(require("clsx"));
|
|
91
|
-
var WeaverseRoot = (0,
|
|
92
|
-
let [, setData] = (0,
|
|
93
|
-
let rootRef = (0,
|
|
128
|
+
var WeaverseRoot = (0, import_react3.memo)(({ context }) => {
|
|
129
|
+
let [, setData] = (0, import_react3.useState)(context.data);
|
|
130
|
+
let rootRef = (0, import_react3.useRef)();
|
|
94
131
|
let renderRoot = () => setData({});
|
|
95
|
-
(0,
|
|
132
|
+
(0, import_react3.useEffect)(() => {
|
|
96
133
|
context.contentRootElement = rootRef?.current || null;
|
|
97
134
|
return context.subscribe(renderRoot);
|
|
98
135
|
}, [context]);
|
|
99
136
|
let eventHandlers = context?.studioBridge?.eventHandlers || {};
|
|
100
137
|
let themeClass = context.stitchesInstance.theme.className;
|
|
101
138
|
if (context.projectId) {
|
|
102
|
-
return /* @__PURE__ */
|
|
139
|
+
return /* @__PURE__ */ import_react3.default.createElement(
|
|
103
140
|
"div",
|
|
104
141
|
{
|
|
105
142
|
className: `weaverse-content-root ${themeClass}`,
|
|
@@ -107,15 +144,21 @@ var WeaverseRoot = (0, import_react2.memo)(({ context }) => {
|
|
|
107
144
|
ref: rootRef,
|
|
108
145
|
"data-weaverse-project-id": context.projectId
|
|
109
146
|
},
|
|
110
|
-
/* @__PURE__ */
|
|
147
|
+
/* @__PURE__ */ import_react3.default.createElement(WeaverseContextProvider, { value: context }, /* @__PURE__ */ import_react3.default.createElement(
|
|
148
|
+
ItemInstance,
|
|
149
|
+
{
|
|
150
|
+
id: context.data.rootId || context.projectId,
|
|
151
|
+
parentId: ""
|
|
152
|
+
}
|
|
153
|
+
))
|
|
111
154
|
);
|
|
112
155
|
}
|
|
113
156
|
return null;
|
|
114
157
|
});
|
|
115
|
-
var ItemComponent = (0,
|
|
158
|
+
var ItemComponent = (0, import_react3.memo)(({ instance }) => {
|
|
116
159
|
let context = useWeaverse();
|
|
117
160
|
let { stitchesInstance, elementRegistry, platformType } = context;
|
|
118
|
-
let [data, setData] = (0,
|
|
161
|
+
let [data, setData] = (0, import_react3.useState)(instance.data);
|
|
119
162
|
let {
|
|
120
163
|
id,
|
|
121
164
|
type,
|
|
@@ -130,7 +173,7 @@ var ItemComponent = (0, import_react2.memo)(({ instance }) => {
|
|
|
130
173
|
data: _,
|
|
131
174
|
...rest
|
|
132
175
|
} = data;
|
|
133
|
-
(0,
|
|
176
|
+
(0, import_react3.useEffect)(() => {
|
|
134
177
|
let render = (data2) => setData({ ...data2 });
|
|
135
178
|
if (import_core.isBrowser && !instance.ref.current) {
|
|
136
179
|
Object.assign(instance.ref, {
|
|
@@ -145,11 +188,11 @@ var ItemComponent = (0, import_react2.memo)(({ instance }) => {
|
|
|
145
188
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
146
189
|
rest.ref = instance.ref;
|
|
147
190
|
}
|
|
148
|
-
let renderChildren = (children.length ? children : childIds.length ? childIds.map((cid) => ({ id: cid })) : []).map((item) => /* @__PURE__ */
|
|
191
|
+
let renderChildren = (children.length ? children : childIds.length ? childIds.map((cid) => ({ id: cid })) : []).map((item) => /* @__PURE__ */ import_react3.default.createElement(ItemInstance, { key: item.id, id: item.id, parentId: id }));
|
|
149
192
|
let style = rest.style || {};
|
|
150
193
|
if (__hidden)
|
|
151
194
|
style.display = "none";
|
|
152
|
-
return /* @__PURE__ */
|
|
195
|
+
return /* @__PURE__ */ import_react3.default.createElement(
|
|
153
196
|
Component,
|
|
154
197
|
{
|
|
155
198
|
key: id,
|
|
@@ -169,34 +212,24 @@ var ItemComponent = (0, import_react2.memo)(({ instance }) => {
|
|
|
169
212
|
return null;
|
|
170
213
|
}
|
|
171
214
|
});
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
let instance = itemInstances.get(id);
|
|
180
|
-
if (!instance) {
|
|
181
|
-
console.warn(`Item instance ${id} not found`);
|
|
182
|
-
return null;
|
|
183
|
-
}
|
|
184
|
-
return instance;
|
|
185
|
-
};
|
|
186
|
-
var ItemInstance = (0, import_react2.memo)(({ id }) => {
|
|
187
|
-
let instance = useItemInstance(id);
|
|
188
|
-
if (!instance) {
|
|
189
|
-
return /* @__PURE__ */ import_react2.default.createElement("div", { style: { display: "none" } }, "Item instance ", id, " not found");
|
|
215
|
+
var ItemInstance = (0, import_react3.memo)(
|
|
216
|
+
({ id, parentId }) => {
|
|
217
|
+
let instance = useItemInstance(id);
|
|
218
|
+
if (!instance) {
|
|
219
|
+
return /* @__PURE__ */ import_react3.default.createElement("div", { style: { display: "none" } }, "Item instance ", id, " not found");
|
|
220
|
+
}
|
|
221
|
+
return /* @__PURE__ */ import_react3.default.createElement(WeaverseItemContext.Provider, { value: { parentId, id } }, /* @__PURE__ */ import_react3.default.createElement(ItemComponent, { key: id, instance }));
|
|
190
222
|
}
|
|
191
|
-
|
|
192
|
-
});
|
|
223
|
+
);
|
|
193
224
|
// Annotate the CommonJS export names for ESM import in node:
|
|
194
225
|
0 && (module.exports = {
|
|
195
226
|
WeaverseContext,
|
|
196
|
-
WeaverseContextConsumer,
|
|
197
227
|
WeaverseContextProvider,
|
|
228
|
+
WeaverseItemContext,
|
|
198
229
|
WeaverseRoot,
|
|
230
|
+
useChildInstances,
|
|
199
231
|
useItemInstance,
|
|
232
|
+
useParentInstance,
|
|
200
233
|
useWeaverse,
|
|
201
234
|
...require("@weaverse/core")
|
|
202
235
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/context.ts","../src/hooks.ts","../src/renderer.tsx","../src/utils/css.ts"],"sourcesContent":["export * from '@weaverse/core'\nexport * from './context'\nexport * from './hooks'\nexport * from './renderer'\nexport * from './types'\n","import { type Weaverse } from '@weaverse/core'\nimport { createContext } from 'react'\n\nexport let WeaverseContext = createContext<Weaverse>({} as Weaverse)\nexport let WeaverseContextProvider = WeaverseContext.Provider\nexport let WeaverseItemContext = createContext<{\n id: string\n parentId: string\n}>({ id: '', parentId: '' })\n","import type { Weaverse, WeaverseItemStore } from '@weaverse/core'\nimport { useContext } from 'react'\nimport { WeaverseContext, WeaverseItemContext } from '~/context'\n\nexport function useWeaverse<T = Weaverse>() {\n let weaverse = useContext(WeaverseContext)\n return weaverse as T\n}\n\nexport let useItemInstance = (id?: string) => {\n let weaverse = useWeaverse()\n let { id: currentId } = useContext(WeaverseItemContext)\n let { itemInstances } = weaverse\n let instance = itemInstances.get(id || currentId)\n if (!instance) {\n console.warn(`Item instance ${id} not found`)\n return null\n }\n return instance as WeaverseItemStore\n}\n\n// get the closest parent item instance\nexport let useParentInstance = () => {\n let { parentId } = useContext(WeaverseItemContext)\n return useItemInstance(parentId || '')\n}\n\nexport let useChildInstances = (id?: string) => {\n let weaverse = useWeaverse()\n let currentInstance = useItemInstance(id)\n if (!currentInstance) return []\n let { itemInstances } = weaverse\n\n let {\n data: { children },\n } = currentInstance\n return children.map(({ id }: { id: string }) => {\n return itemInstances.get(id)\n }) as WeaverseItemStore[]\n}\n","/* eslint-disable react/no-children-prop */\nimport type { ElementData, WeaverseProjectDataType } from '@weaverse/core'\nimport { isBrowser } from '@weaverse/core'\nimport React, { memo, useEffect, useRef, useState } from 'react'\nimport { WeaverseContextProvider, WeaverseItemContext } from './context'\nimport type { ItemComponentProps, WeaverseRootPropsType } from './types'\nimport { generateItemClassName } from './utils/css'\nimport clsx from 'clsx'\nimport { useItemInstance, useWeaverse } from '~/hooks'\n\nexport let WeaverseRoot = memo(({ context }: WeaverseRootPropsType) => {\n let [, setData] = useState<WeaverseProjectDataType | unknown>(context.data)\n let rootRef = useRef<HTMLElement>()\n let renderRoot = () => setData({})\n\n useEffect(() => {\n context.contentRootElement = rootRef?.current || null\n return context.subscribe(renderRoot)\n }, [context])\n\n let eventHandlers = context?.studioBridge?.eventHandlers || {}\n let themeClass = context.stitchesInstance.theme.className\n\n if (context.projectId) {\n return (\n <div\n className={`weaverse-content-root ${themeClass}`}\n {...eventHandlers}\n ref={rootRef}\n data-weaverse-project-id={context.projectId}\n >\n <WeaverseContextProvider value={context}>\n <ItemInstance\n id={context.data.rootId || context.projectId}\n parentId={''}\n />\n </WeaverseContextProvider>\n </div>\n )\n }\n return null\n})\n\nconst ItemComponent = memo(({ instance }: ItemComponentProps) => {\n let context = useWeaverse()\n let { stitchesInstance, elementRegistry, platformType } = context\n let [data, setData] = useState<ElementData>(instance.data)\n let {\n id,\n type,\n childIds = [],\n children = [],\n parentId,\n createdAt,\n updatedAt,\n deletedAt,\n css,\n __hidden,\n data: _,\n ...rest\n } = data\n\n useEffect(() => {\n let render = (data: ElementData) => setData({ ...data })\n\n if (isBrowser && !instance.ref.current) {\n // Fallback `ref` if the element isn't created by `React.forwardRef`\n Object.assign(instance.ref, {\n current: document.querySelector(`[data-wv-id=\"${id}\"]`),\n })\n }\n return instance.subscribe(render)\n }, [instance])\n\n let Element = elementRegistry.get(type)\n\n if (Element?.Component) {\n let Component = Element.Component\n if (Component.$$typeof === Symbol.for('react.forward_ref')) {\n rest.ref = instance.ref\n }\n let renderChildren = (\n children.length\n ? children\n : childIds.length\n ? childIds.map((cid: string) => ({ id: cid }))\n : []\n ).map((item: { id: string }) => (\n <ItemInstance key={item.id} id={item.id} parentId={id} />\n ))\n\n let style = rest.style || {}\n if (__hidden) style.display = 'none'\n\n return (\n <Component\n key={id}\n data-wv-type={type}\n data-wv-id={id}\n className={clsx(\n platformType !== 'shopify-hydrogen' &&\n generateItemClassName(instance, stitchesInstance),\n rest?.data?.className,\n )}\n style={style}\n {...rest}\n children={renderChildren.length ? renderChildren : undefined}\n />\n )\n } else {\n console.log(`❌ Unknown element: ${type}`)\n return null\n }\n})\n\nlet ItemInstance = memo(\n ({ id, parentId }: { id: string; parentId: string }) => {\n let instance = useItemInstance(id)\n if (!instance) {\n return <div style={{ display: 'none' }}>Item instance {id} not found</div>\n }\n return (\n <WeaverseItemContext.Provider value={{ parentId, id }}>\n <ItemComponent key={id} instance={instance} />\n </WeaverseItemContext.Provider>\n )\n },\n)\n","import type Stitches from '@stitches/react/types/stitches'\nimport type { ElementCSS, WeaverseItemStore } from '@weaverse/core'\nimport clsx from 'clsx'\n\n// Make the css data formatted to correct order (desktop, tablet, mobile)\nfunction formatCSS(css: ElementCSS) {\n return {\n '@desktop': css['@desktop'],\n '@mobile': css['@mobile'],\n }\n}\n\nlet permanentClasses: Record<string, string> = {}\nexport function generateItemClassName(\n instance: WeaverseItemStore,\n stitchesInstance: Stitches,\n) {\n let { css, type, className: cls = '' } = instance.data\n let className = ''\n let permanentClass = ''\n let perCss = instance.Element?.permanentCss\n if (perCss) {\n if (type in permanentClasses) {\n permanentClass = permanentClasses[type]\n } else {\n // @ts-ignore\n let { className: perCls } = stitchesInstance.css(perCss)()\n Object.assign(permanentClasses, { [type]: perCls })\n permanentClass = perCls\n }\n }\n className = permanentClass\n if (css) {\n // let stitches create the style from css object and\n // then return the classname, so we can use it in the render\n let formattedCss = formatCSS(css)\n let newStitchesClass = stitchesInstance.css(formattedCss)().className || ''\n let { stitchesClass } = instance\n let otherClass = (instance.ref.current?.className || '')\n .replace(stitchesClass, '')\n .replace(cls, '')\n .replace(permanentClass, '')\n .trim()\n className = clsx(permanentClass, cls, newStitchesClass, otherClass)\n instance.stitchesClass = newStitchesClass\n }\n return className\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAc,2BAAd;;;ACCA,mBAA8B;AAEvB,IAAI,sBAAkB,4BAAwB,CAAC,CAAa;AAC5D,IAAI,0BAA0B,gBAAgB;AAC9C,IAAI,0BAAsB,4BAG9B,EAAE,IAAI,IAAI,UAAU,GAAG,CAAC;;;ACP3B,IAAAA,gBAA2B;AAGpB,SAAS,cAA4B;AAC1C,MAAI,eAAW,0BAAW,eAAe;AACzC,SAAO;AACT;AAEO,IAAI,kBAAkB,CAAC,OAAgB;AAC5C,MAAI,WAAW,YAAY;AAC3B,MAAI,EAAE,IAAI,UAAU,QAAI,0BAAW,mBAAmB;AACtD,MAAI,EAAE,cAAc,IAAI;AACxB,MAAI,WAAW,cAAc,IAAI,MAAM,SAAS;AAChD,MAAI,CAAC,UAAU;AACb,YAAQ,KAAK,iBAAiB,EAAE,YAAY;AAC5C,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAGO,IAAI,oBAAoB,MAAM;AACnC,MAAI,EAAE,SAAS,QAAI,0BAAW,mBAAmB;AACjD,SAAO,gBAAgB,YAAY,EAAE;AACvC;AAEO,IAAI,oBAAoB,CAAC,OAAgB;AAC9C,MAAI,WAAW,YAAY;AAC3B,MAAI,kBAAkB,gBAAgB,EAAE;AACxC,MAAI,CAAC;AAAiB,WAAO,CAAC;AAC9B,MAAI,EAAE,cAAc,IAAI;AAExB,MAAI;AAAA,IACF,MAAM,EAAE,SAAS;AAAA,EACnB,IAAI;AACJ,SAAO,SAAS,IAAI,CAAC,EAAE,IAAAC,IAAG,MAAsB;AAC9C,WAAO,cAAc,IAAIA,GAAE;AAAA,EAC7B,CAAC;AACH;;;ACrCA,kBAA0B;AAC1B,IAAAC,gBAAyD;;;ACDzD,kBAAiB;AAGjB,SAAS,UAAU,KAAiB;AAClC,SAAO;AAAA,IACL,YAAY,IAAI,UAAU;AAAA,IAC1B,WAAW,IAAI,SAAS;AAAA,EAC1B;AACF;AAEA,IAAI,mBAA2C,CAAC;AACzC,SAAS,sBACd,UACA,kBACA;AACA,MAAI,EAAE,KAAK,MAAM,WAAW,MAAM,GAAG,IAAI,SAAS;AAClD,MAAI,YAAY;AAChB,MAAI,iBAAiB;AACrB,MAAI,SAAS,SAAS,SAAS;AAC/B,MAAI,QAAQ;AACV,QAAI,QAAQ,kBAAkB;AAC5B,uBAAiB,iBAAiB,IAAI;AAAA,IACxC,OAAO;AAEL,UAAI,EAAE,WAAW,OAAO,IAAI,iBAAiB,IAAI,MAAM,EAAE;AACzD,aAAO,OAAO,kBAAkB,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC;AAClD,uBAAiB;AAAA,IACnB;AAAA,EACF;AACA,cAAY;AACZ,MAAI,KAAK;AAGP,QAAI,eAAe,UAAU,GAAG;AAChC,QAAI,mBAAmB,iBAAiB,IAAI,YAAY,EAAE,EAAE,aAAa;AACzE,QAAI,EAAE,cAAc,IAAI;AACxB,QAAI,cAAc,SAAS,IAAI,SAAS,aAAa,IAClD,QAAQ,eAAe,EAAE,EACzB,QAAQ,KAAK,EAAE,EACf,QAAQ,gBAAgB,EAAE,EAC1B,KAAK;AACR,oBAAY,YAAAC,SAAK,gBAAgB,KAAK,kBAAkB,UAAU;AAClE,aAAS,gBAAgB;AAAA,EAC3B;AACA,SAAO;AACT;;;ADxCA,IAAAC,eAAiB;AAGV,IAAI,mBAAe,oBAAK,CAAC,EAAE,QAAQ,MAA6B;AACrE,MAAI,CAAC,EAAE,OAAO,QAAI,wBAA4C,QAAQ,IAAI;AAC1E,MAAI,cAAU,sBAAoB;AAClC,MAAI,aAAa,MAAM,QAAQ,CAAC,CAAC;AAEjC,+BAAU,MAAM;AACd,YAAQ,qBAAqB,SAAS,WAAW;AACjD,WAAO,QAAQ,UAAU,UAAU;AAAA,EACrC,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,gBAAgB,SAAS,cAAc,iBAAiB,CAAC;AAC7D,MAAI,aAAa,QAAQ,iBAAiB,MAAM;AAEhD,MAAI,QAAQ,WAAW;AACrB,WACE,8BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,yBAAyB,UAAU;AAAA,QAC7C,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,4BAA0B,QAAQ;AAAA;AAAA,MAElC,8BAAAA,QAAA,cAAC,2BAAwB,OAAO,WAC9B,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,IAAI,QAAQ,KAAK,UAAU,QAAQ;AAAA,UACnC,UAAU;AAAA;AAAA,MACZ,CACF;AAAA,IACF;AAAA,EAEJ;AACA,SAAO;AACT,CAAC;AAED,IAAM,oBAAgB,oBAAK,CAAC,EAAE,SAAS,MAA0B;AAC/D,MAAI,UAAU,YAAY;AAC1B,MAAI,EAAE,kBAAkB,iBAAiB,aAAa,IAAI;AAC1D,MAAI,CAAC,MAAM,OAAO,QAAI,wBAAsB,SAAS,IAAI;AACzD,MAAI;AAAA,IACF;AAAA,IACA;AAAA,IACA,WAAW,CAAC;AAAA,IACZ,WAAW,CAAC;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,GAAG;AAAA,EACL,IAAI;AAEJ,+BAAU,MAAM;AACd,QAAI,SAAS,CAACC,UAAsB,QAAQ,EAAE,GAAGA,MAAK,CAAC;AAEvD,QAAI,yBAAa,CAAC,SAAS,IAAI,SAAS;AAEtC,aAAO,OAAO,SAAS,KAAK;AAAA,QAC1B,SAAS,SAAS,cAAc,gBAAgB,EAAE,IAAI;AAAA,MACxD,CAAC;AAAA,IACH;AACA,WAAO,SAAS,UAAU,MAAM;AAAA,EAClC,GAAG,CAAC,QAAQ,CAAC;AAEb,MAAI,UAAU,gBAAgB,IAAI,IAAI;AAEtC,MAAI,SAAS,WAAW;AACtB,QAAI,YAAY,QAAQ;AACxB,QAAI,UAAU,aAAa,OAAO,IAAI,mBAAmB,GAAG;AAC1D,WAAK,MAAM,SAAS;AAAA,IACtB;AACA,QAAI,kBACF,SAAS,SACL,WACA,SAAS,SACT,SAAS,IAAI,CAAC,SAAiB,EAAE,IAAI,IAAI,EAAE,IAC3C,CAAC,GACL,IAAI,CAAC,SACL,8BAAAD,QAAA,cAAC,gBAAa,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,UAAU,IAAI,CACxD;AAED,QAAI,QAAQ,KAAK,SAAS,CAAC;AAC3B,QAAI;AAAU,YAAM,UAAU;AAE9B,WACE,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,gBAAc;AAAA,QACd,cAAY;AAAA,QACZ,eAAW,aAAAE;AAAA,UACT,iBAAiB,sBACf,sBAAsB,UAAU,gBAAgB;AAAA,UAClD,MAAM,MAAM;AAAA,QACd;AAAA,QACA;AAAA,QACC,GAAG;AAAA,QACJ,UAAU,eAAe,SAAS,iBAAiB;AAAA;AAAA,IACrD;AAAA,EAEJ,OAAO;AACL,YAAQ,IAAI,2BAAsB,IAAI,EAAE;AACxC,WAAO;AAAA,EACT;AACF,CAAC;AAED,IAAI,mBAAe;AAAA,EACjB,CAAC,EAAE,IAAI,SAAS,MAAwC;AACtD,QAAI,WAAW,gBAAgB,EAAE;AACjC,QAAI,CAAC,UAAU;AACb,aAAO,8BAAAF,QAAA,cAAC,SAAI,OAAO,EAAE,SAAS,OAAO,KAAG,kBAAe,IAAG,YAAU;AAAA,IACtE;AACA,WACE,8BAAAA,QAAA,cAAC,oBAAoB,UAApB,EAA6B,OAAO,EAAE,UAAU,GAAG,KAClD,8BAAAA,QAAA,cAAC,iBAAc,KAAK,IAAI,UAAoB,CAC9C;AAAA,EAEJ;AACF;","names":["import_react","id","import_react","clsx","import_clsx","React","data","clsx"]}
|
package/dist/index.mjs
CHANGED
|
@@ -5,11 +5,46 @@ export * from "@weaverse/core";
|
|
|
5
5
|
import { createContext } from "react";
|
|
6
6
|
var WeaverseContext = createContext({});
|
|
7
7
|
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
8
|
-
var
|
|
8
|
+
var WeaverseItemContext = createContext({ id: "", parentId: "" });
|
|
9
|
+
|
|
10
|
+
// src/hooks.ts
|
|
11
|
+
import { useContext } from "react";
|
|
12
|
+
function useWeaverse() {
|
|
13
|
+
let weaverse = useContext(WeaverseContext);
|
|
14
|
+
return weaverse;
|
|
15
|
+
}
|
|
16
|
+
var useItemInstance = (id) => {
|
|
17
|
+
let weaverse = useWeaverse();
|
|
18
|
+
let { id: currentId } = useContext(WeaverseItemContext);
|
|
19
|
+
let { itemInstances } = weaverse;
|
|
20
|
+
let instance = itemInstances.get(id || currentId);
|
|
21
|
+
if (!instance) {
|
|
22
|
+
console.warn(`Item instance ${id} not found`);
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
return instance;
|
|
26
|
+
};
|
|
27
|
+
var useParentInstance = () => {
|
|
28
|
+
let { parentId } = useContext(WeaverseItemContext);
|
|
29
|
+
return useItemInstance(parentId || "");
|
|
30
|
+
};
|
|
31
|
+
var useChildInstances = (id) => {
|
|
32
|
+
let weaverse = useWeaverse();
|
|
33
|
+
let currentInstance = useItemInstance(id);
|
|
34
|
+
if (!currentInstance)
|
|
35
|
+
return [];
|
|
36
|
+
let { itemInstances } = weaverse;
|
|
37
|
+
let {
|
|
38
|
+
data: { children }
|
|
39
|
+
} = currentInstance;
|
|
40
|
+
return children.map(({ id: id2 }) => {
|
|
41
|
+
return itemInstances.get(id2);
|
|
42
|
+
});
|
|
43
|
+
};
|
|
9
44
|
|
|
10
45
|
// src/renderer.tsx
|
|
11
46
|
import { isBrowser } from "@weaverse/core";
|
|
12
|
-
import React, { memo,
|
|
47
|
+
import React, { memo, useEffect, useRef, useState } from "react";
|
|
13
48
|
|
|
14
49
|
// src/utils/css.ts
|
|
15
50
|
import clsx from "clsx";
|
|
@@ -67,7 +102,13 @@ var WeaverseRoot = memo(({ context }) => {
|
|
|
67
102
|
ref: rootRef,
|
|
68
103
|
"data-weaverse-project-id": context.projectId
|
|
69
104
|
},
|
|
70
|
-
/* @__PURE__ */ React.createElement(WeaverseContextProvider, { value: context }, /* @__PURE__ */ React.createElement(
|
|
105
|
+
/* @__PURE__ */ React.createElement(WeaverseContextProvider, { value: context }, /* @__PURE__ */ React.createElement(
|
|
106
|
+
ItemInstance,
|
|
107
|
+
{
|
|
108
|
+
id: context.data.rootId || context.projectId,
|
|
109
|
+
parentId: ""
|
|
110
|
+
}
|
|
111
|
+
))
|
|
71
112
|
);
|
|
72
113
|
}
|
|
73
114
|
return null;
|
|
@@ -105,7 +146,7 @@ var ItemComponent = memo(({ instance }) => {
|
|
|
105
146
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
106
147
|
rest.ref = instance.ref;
|
|
107
148
|
}
|
|
108
|
-
let renderChildren = (children.length ? children : childIds.length ? childIds.map((cid) => ({ id: cid })) : []).map((item) => /* @__PURE__ */ React.createElement(ItemInstance, { key: item.id, id: item.id }));
|
|
149
|
+
let renderChildren = (children.length ? children : childIds.length ? childIds.map((cid) => ({ id: cid })) : []).map((item) => /* @__PURE__ */ React.createElement(ItemInstance, { key: item.id, id: item.id, parentId: id }));
|
|
109
150
|
let style = rest.style || {};
|
|
110
151
|
if (__hidden)
|
|
111
152
|
style.display = "none";
|
|
@@ -129,32 +170,22 @@ var ItemComponent = memo(({ instance }) => {
|
|
|
129
170
|
return null;
|
|
130
171
|
}
|
|
131
172
|
});
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
let instance = itemInstances.get(id);
|
|
140
|
-
if (!instance) {
|
|
141
|
-
console.warn(`Item instance ${id} not found`);
|
|
142
|
-
return null;
|
|
143
|
-
}
|
|
144
|
-
return instance;
|
|
145
|
-
};
|
|
146
|
-
var ItemInstance = memo(({ id }) => {
|
|
147
|
-
let instance = useItemInstance(id);
|
|
148
|
-
if (!instance) {
|
|
149
|
-
return /* @__PURE__ */ React.createElement("div", { style: { display: "none" } }, "Item instance ", id, " not found");
|
|
173
|
+
var ItemInstance = memo(
|
|
174
|
+
({ id, parentId }) => {
|
|
175
|
+
let instance = useItemInstance(id);
|
|
176
|
+
if (!instance) {
|
|
177
|
+
return /* @__PURE__ */ React.createElement("div", { style: { display: "none" } }, "Item instance ", id, " not found");
|
|
178
|
+
}
|
|
179
|
+
return /* @__PURE__ */ React.createElement(WeaverseItemContext.Provider, { value: { parentId, id } }, /* @__PURE__ */ React.createElement(ItemComponent, { key: id, instance }));
|
|
150
180
|
}
|
|
151
|
-
|
|
152
|
-
});
|
|
181
|
+
);
|
|
153
182
|
export {
|
|
154
183
|
WeaverseContext,
|
|
155
|
-
WeaverseContextConsumer,
|
|
156
184
|
WeaverseContextProvider,
|
|
185
|
+
WeaverseItemContext,
|
|
157
186
|
WeaverseRoot,
|
|
187
|
+
useChildInstances,
|
|
158
188
|
useItemInstance,
|
|
189
|
+
useParentInstance,
|
|
159
190
|
useWeaverse
|
|
160
191
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/context.ts","../src/hooks.ts","../src/renderer.tsx","../src/utils/css.ts"],"sourcesContent":["export * from '@weaverse/core'\nexport * from './context'\nexport * from './hooks'\nexport * from './renderer'\nexport * from './types'\n","import { type Weaverse } from '@weaverse/core'\nimport { createContext } from 'react'\n\nexport let WeaverseContext = createContext<Weaverse>({} as Weaverse)\nexport let WeaverseContextProvider = WeaverseContext.Provider\nexport let WeaverseItemContext = createContext<{\n id: string\n parentId: string\n}>({ id: '', parentId: '' })\n","import type { Weaverse, WeaverseItemStore } from '@weaverse/core'\nimport { useContext } from 'react'\nimport { WeaverseContext, WeaverseItemContext } from '~/context'\n\nexport function useWeaverse<T = Weaverse>() {\n let weaverse = useContext(WeaverseContext)\n return weaverse as T\n}\n\nexport let useItemInstance = (id?: string) => {\n let weaverse = useWeaverse()\n let { id: currentId } = useContext(WeaverseItemContext)\n let { itemInstances } = weaverse\n let instance = itemInstances.get(id || currentId)\n if (!instance) {\n console.warn(`Item instance ${id} not found`)\n return null\n }\n return instance as WeaverseItemStore\n}\n\n// get the closest parent item instance\nexport let useParentInstance = () => {\n let { parentId } = useContext(WeaverseItemContext)\n return useItemInstance(parentId || '')\n}\n\nexport let useChildInstances = (id?: string) => {\n let weaverse = useWeaverse()\n let currentInstance = useItemInstance(id)\n if (!currentInstance) return []\n let { itemInstances } = weaverse\n\n let {\n data: { children },\n } = currentInstance\n return children.map(({ id }: { id: string }) => {\n return itemInstances.get(id)\n }) as WeaverseItemStore[]\n}\n","/* eslint-disable react/no-children-prop */\nimport type { ElementData, WeaverseProjectDataType } from '@weaverse/core'\nimport { isBrowser } from '@weaverse/core'\nimport React, { memo, useEffect, useRef, useState } from 'react'\nimport { WeaverseContextProvider, WeaverseItemContext } from './context'\nimport type { ItemComponentProps, WeaverseRootPropsType } from './types'\nimport { generateItemClassName } from './utils/css'\nimport clsx from 'clsx'\nimport { useItemInstance, useWeaverse } from '~/hooks'\n\nexport let WeaverseRoot = memo(({ context }: WeaverseRootPropsType) => {\n let [, setData] = useState<WeaverseProjectDataType | unknown>(context.data)\n let rootRef = useRef<HTMLElement>()\n let renderRoot = () => setData({})\n\n useEffect(() => {\n context.contentRootElement = rootRef?.current || null\n return context.subscribe(renderRoot)\n }, [context])\n\n let eventHandlers = context?.studioBridge?.eventHandlers || {}\n let themeClass = context.stitchesInstance.theme.className\n\n if (context.projectId) {\n return (\n <div\n className={`weaverse-content-root ${themeClass}`}\n {...eventHandlers}\n ref={rootRef}\n data-weaverse-project-id={context.projectId}\n >\n <WeaverseContextProvider value={context}>\n <ItemInstance\n id={context.data.rootId || context.projectId}\n parentId={''}\n />\n </WeaverseContextProvider>\n </div>\n )\n }\n return null\n})\n\nconst ItemComponent = memo(({ instance }: ItemComponentProps) => {\n let context = useWeaverse()\n let { stitchesInstance, elementRegistry, platformType } = context\n let [data, setData] = useState<ElementData>(instance.data)\n let {\n id,\n type,\n childIds = [],\n children = [],\n parentId,\n createdAt,\n updatedAt,\n deletedAt,\n css,\n __hidden,\n data: _,\n ...rest\n } = data\n\n useEffect(() => {\n let render = (data: ElementData) => setData({ ...data })\n\n if (isBrowser && !instance.ref.current) {\n // Fallback `ref` if the element isn't created by `React.forwardRef`\n Object.assign(instance.ref, {\n current: document.querySelector(`[data-wv-id=\"${id}\"]`),\n })\n }\n return instance.subscribe(render)\n }, [instance])\n\n let Element = elementRegistry.get(type)\n\n if (Element?.Component) {\n let Component = Element.Component\n if (Component.$$typeof === Symbol.for('react.forward_ref')) {\n rest.ref = instance.ref\n }\n let renderChildren = (\n children.length\n ? children\n : childIds.length\n ? childIds.map((cid: string) => ({ id: cid }))\n : []\n ).map((item: { id: string }) => (\n <ItemInstance key={item.id} id={item.id} parentId={id} />\n ))\n\n let style = rest.style || {}\n if (__hidden) style.display = 'none'\n\n return (\n <Component\n key={id}\n data-wv-type={type}\n data-wv-id={id}\n className={clsx(\n platformType !== 'shopify-hydrogen' &&\n generateItemClassName(instance, stitchesInstance),\n rest?.data?.className,\n )}\n style={style}\n {...rest}\n children={renderChildren.length ? renderChildren : undefined}\n />\n )\n } else {\n console.log(`❌ Unknown element: ${type}`)\n return null\n }\n})\n\nlet ItemInstance = memo(\n ({ id, parentId }: { id: string; parentId: string }) => {\n let instance = useItemInstance(id)\n if (!instance) {\n return <div style={{ display: 'none' }}>Item instance {id} not found</div>\n }\n return (\n <WeaverseItemContext.Provider value={{ parentId, id }}>\n <ItemComponent key={id} instance={instance} />\n </WeaverseItemContext.Provider>\n )\n },\n)\n","import type Stitches from '@stitches/react/types/stitches'\nimport type { ElementCSS, WeaverseItemStore } from '@weaverse/core'\nimport clsx from 'clsx'\n\n// Make the css data formatted to correct order (desktop, tablet, mobile)\nfunction formatCSS(css: ElementCSS) {\n return {\n '@desktop': css['@desktop'],\n '@mobile': css['@mobile'],\n }\n}\n\nlet permanentClasses: Record<string, string> = {}\nexport function generateItemClassName(\n instance: WeaverseItemStore,\n stitchesInstance: Stitches,\n) {\n let { css, type, className: cls = '' } = instance.data\n let className = ''\n let permanentClass = ''\n let perCss = instance.Element?.permanentCss\n if (perCss) {\n if (type in permanentClasses) {\n permanentClass = permanentClasses[type]\n } else {\n // @ts-ignore\n let { className: perCls } = stitchesInstance.css(perCss)()\n Object.assign(permanentClasses, { [type]: perCls })\n permanentClass = perCls\n }\n }\n className = permanentClass\n if (css) {\n // let stitches create the style from css object and\n // then return the classname, so we can use it in the render\n let formattedCss = formatCSS(css)\n let newStitchesClass = stitchesInstance.css(formattedCss)().className || ''\n let { stitchesClass } = instance\n let otherClass = (instance.ref.current?.className || '')\n .replace(stitchesClass, '')\n .replace(cls, '')\n .replace(permanentClass, '')\n .trim()\n className = clsx(permanentClass, cls, newStitchesClass, otherClass)\n instance.stitchesClass = newStitchesClass\n }\n return className\n}\n"],"mappings":"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","names":["id","clsx","data","clsx"]}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.
|
|
2
|
+
"version": "2.5.0",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -32,6 +32,6 @@
|
|
|
32
32
|
"name": "@weaverse/react",
|
|
33
33
|
"author": "Weaverse Team",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@weaverse/core": "2.
|
|
35
|
+
"@weaverse/core": "2.5.0"
|
|
36
36
|
}
|
|
37
37
|
}
|