@weaverse/react 0.6.4 → 0.6.5
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 +9 -1
- package/dist/index.js +41 -27
- package/dist/index.mjs +34 -26
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { WeaverseType, Weaverse } from '@weaverse/core';
|
|
2
2
|
export * from '@weaverse/core';
|
|
3
|
+
import React$1 from 'react';
|
|
3
4
|
|
|
4
5
|
declare const createRootContext: (configs: WeaverseType) => Weaverse;
|
|
6
|
+
declare let WeaverseContext: React$1.Context<Weaverse>;
|
|
7
|
+
declare let WeaverseContextProvider: React$1.Provider<Weaverse>;
|
|
8
|
+
declare let WeaverseContextConsumer: React$1.Consumer<Weaverse>;
|
|
5
9
|
declare type WeaverseRootPropsType = {
|
|
6
10
|
context: Weaverse;
|
|
7
11
|
};
|
|
8
12
|
declare const WeaverseRoot: ({ context }: WeaverseRootPropsType) => JSX.Element;
|
|
9
13
|
|
|
10
|
-
|
|
14
|
+
interface WeaverseElementProps {
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { WeaverseContext, WeaverseContextConsumer, WeaverseContextProvider, WeaverseElementProps, WeaverseRoot, WeaverseRootPropsType, createRootContext };
|
package/dist/index.js
CHANGED
|
@@ -52,6 +52,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
52
52
|
// src/index.ts
|
|
53
53
|
var src_exports = {};
|
|
54
54
|
__export(src_exports, {
|
|
55
|
+
WeaverseContext: () => WeaverseContext,
|
|
56
|
+
WeaverseContextConsumer: () => WeaverseContextConsumer,
|
|
57
|
+
WeaverseContextProvider: () => WeaverseContextProvider,
|
|
55
58
|
WeaverseRoot: () => WeaverseRoot,
|
|
56
59
|
createRootContext: () => createRootContext
|
|
57
60
|
});
|
|
@@ -207,7 +210,7 @@ Text.defaultProps = {
|
|
|
207
210
|
};
|
|
208
211
|
var schema5 = {
|
|
209
212
|
type: "text",
|
|
210
|
-
title: "Text
|
|
213
|
+
title: "Text",
|
|
211
214
|
settings: [],
|
|
212
215
|
data: {
|
|
213
216
|
css: {
|
|
@@ -294,7 +297,7 @@ var shortCssObject = (css) => {
|
|
|
294
297
|
|
|
295
298
|
// src/renderer.tsx
|
|
296
299
|
var import_core = require("@weaverse/core");
|
|
297
|
-
var
|
|
300
|
+
var import_react5 = __toESM(require("react"));
|
|
298
301
|
var createRootContext = (configs) => {
|
|
299
302
|
const rootContext = new import_core.Weaverse(configs);
|
|
300
303
|
Object.keys(elements_default).forEach((key) => {
|
|
@@ -302,10 +305,13 @@ var createRootContext = (configs) => {
|
|
|
302
305
|
});
|
|
303
306
|
return rootContext;
|
|
304
307
|
};
|
|
308
|
+
var WeaverseContext = (0, import_react5.createContext)({});
|
|
309
|
+
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
310
|
+
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
305
311
|
var WeaverseRoot = ({ context }) => {
|
|
306
312
|
var _a;
|
|
307
|
-
let [, setData] =
|
|
308
|
-
|
|
313
|
+
let [, setData] = (0, import_react5.useState)(context.projectData);
|
|
314
|
+
(0, import_react5.useEffect)(() => {
|
|
309
315
|
let handleUpdate = () => {
|
|
310
316
|
setData({});
|
|
311
317
|
};
|
|
@@ -319,17 +325,20 @@ var WeaverseRoot = ({ context }) => {
|
|
|
319
325
|
}, []);
|
|
320
326
|
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
321
327
|
let themeClass = context.stitchesInstance.theme.className;
|
|
322
|
-
return /* @__PURE__ */
|
|
328
|
+
return /* @__PURE__ */ import_react5.default.createElement("div", __spreadValues({
|
|
323
329
|
className: `weaverse-content-root ${themeClass}`
|
|
324
|
-
}, eventHandlers), /* @__PURE__ */
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
330
|
+
}, eventHandlers), /* @__PURE__ */ import_react5.default.createElement(WeaverseContextProvider, {
|
|
331
|
+
value: context
|
|
332
|
+
}, /* @__PURE__ */ import_react5.default.createElement(RenderItem, {
|
|
333
|
+
itemId: context.projectData.rootId || 0
|
|
334
|
+
})));
|
|
328
335
|
};
|
|
329
|
-
var Item = ({ itemInstance, elementInstances
|
|
330
|
-
|
|
331
|
-
let
|
|
332
|
-
|
|
336
|
+
var Item = ({ itemInstance, elementInstances }) => {
|
|
337
|
+
var _b;
|
|
338
|
+
let [data, setData] = (0, import_react5.useState)(itemInstance.data);
|
|
339
|
+
let _a = data, { id, type, childIds, css, className: cls = "" } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
340
|
+
console.log("data", data);
|
|
341
|
+
(0, import_react5.useEffect)(() => {
|
|
333
342
|
let handleUpdate = (update) => {
|
|
334
343
|
setData(__spreadValues({}, update));
|
|
335
344
|
};
|
|
@@ -343,11 +352,15 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
343
352
|
itemInstance.unsubscribe(handleUpdate);
|
|
344
353
|
};
|
|
345
354
|
}, []);
|
|
346
|
-
let
|
|
355
|
+
let context = (0, import_react5.useContext)(WeaverseContext);
|
|
356
|
+
let className = "";
|
|
347
357
|
if (css) {
|
|
348
358
|
let formattedCss = shortCssObject(css);
|
|
349
|
-
let
|
|
350
|
-
|
|
359
|
+
let { className: newClass = "" } = context.stitchesInstance.css(formattedCss)();
|
|
360
|
+
let { stitchesClass } = itemInstance;
|
|
361
|
+
let otherClass = (((_b = itemInstance.ref.current) == null ? void 0 : _b.className) || "").replace(stitchesClass, "").replace(cls, "").trim();
|
|
362
|
+
className = `${cls} ${newClass} ${otherClass}`.trim();
|
|
363
|
+
itemInstance.stitchesClass = newClass;
|
|
351
364
|
}
|
|
352
365
|
let element = elementInstances.get(type) || elementInstances.get("base");
|
|
353
366
|
if (element == null ? void 0 : element.Component) {
|
|
@@ -355,41 +368,42 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
355
368
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
356
369
|
rest.ref = itemInstance.ref;
|
|
357
370
|
}
|
|
358
|
-
return /* @__PURE__ */
|
|
371
|
+
return /* @__PURE__ */ import_react5.default.createElement(Component, __spreadProps(__spreadValues({
|
|
359
372
|
key: id,
|
|
360
373
|
"data-wv-type": type,
|
|
361
374
|
"data-wv-id": id
|
|
362
375
|
}, rest), {
|
|
363
|
-
className
|
|
364
|
-
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */
|
|
376
|
+
className
|
|
377
|
+
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ import_react5.default.createElement(RenderItem, {
|
|
365
378
|
key: childId,
|
|
366
|
-
itemId: childId
|
|
367
|
-
context
|
|
379
|
+
itemId: childId
|
|
368
380
|
})));
|
|
369
381
|
}
|
|
370
382
|
return null;
|
|
371
383
|
};
|
|
372
384
|
var RenderItem = ({
|
|
373
|
-
itemId
|
|
374
|
-
context
|
|
385
|
+
itemId
|
|
375
386
|
}) => {
|
|
387
|
+
let context = (0, import_react5.useContext)(WeaverseContext);
|
|
376
388
|
let { itemInstances, elementInstances } = context;
|
|
377
389
|
let itemInstance = itemInstances.get(itemId);
|
|
378
390
|
if (itemInstance) {
|
|
379
|
-
return /* @__PURE__ */
|
|
391
|
+
return /* @__PURE__ */ import_react5.default.createElement(Item, {
|
|
380
392
|
itemInstance,
|
|
381
|
-
elementInstances
|
|
382
|
-
context
|
|
393
|
+
elementInstances
|
|
383
394
|
});
|
|
384
395
|
}
|
|
385
396
|
console.warn(`Item instance ${itemId} not found`);
|
|
386
|
-
return /* @__PURE__ */
|
|
397
|
+
return /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null);
|
|
387
398
|
};
|
|
388
399
|
|
|
389
400
|
// src/index.ts
|
|
390
401
|
__reExport(src_exports, require("@weaverse/core"), module.exports);
|
|
391
402
|
// Annotate the CommonJS export names for ESM import in node:
|
|
392
403
|
0 && (module.exports = {
|
|
404
|
+
WeaverseContext,
|
|
405
|
+
WeaverseContextConsumer,
|
|
406
|
+
WeaverseContextProvider,
|
|
393
407
|
WeaverseRoot,
|
|
394
408
|
createRootContext
|
|
395
409
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -180,7 +180,7 @@ Text.defaultProps = {
|
|
|
180
180
|
};
|
|
181
181
|
var schema5 = {
|
|
182
182
|
type: "text",
|
|
183
|
-
title: "Text
|
|
183
|
+
title: "Text",
|
|
184
184
|
settings: [],
|
|
185
185
|
data: {
|
|
186
186
|
css: {
|
|
@@ -266,11 +266,8 @@ var shortCssObject = (css) => {
|
|
|
266
266
|
};
|
|
267
267
|
|
|
268
268
|
// src/renderer.tsx
|
|
269
|
-
import {
|
|
270
|
-
|
|
271
|
-
Weaverse
|
|
272
|
-
} from "@weaverse/core";
|
|
273
|
-
import * as React7 from "react";
|
|
269
|
+
import { isBrowser, Weaverse } from "@weaverse/core";
|
|
270
|
+
import React7, { createContext, useContext, useEffect, useState } from "react";
|
|
274
271
|
var createRootContext = (configs) => {
|
|
275
272
|
const rootContext = new Weaverse(configs);
|
|
276
273
|
Object.keys(elements_default).forEach((key) => {
|
|
@@ -278,10 +275,13 @@ var createRootContext = (configs) => {
|
|
|
278
275
|
});
|
|
279
276
|
return rootContext;
|
|
280
277
|
};
|
|
278
|
+
var WeaverseContext = createContext({});
|
|
279
|
+
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
280
|
+
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
281
281
|
var WeaverseRoot = ({ context }) => {
|
|
282
282
|
var _a;
|
|
283
|
-
let [, setData] =
|
|
284
|
-
|
|
283
|
+
let [, setData] = useState(context.projectData);
|
|
284
|
+
useEffect(() => {
|
|
285
285
|
let handleUpdate = () => {
|
|
286
286
|
setData({});
|
|
287
287
|
};
|
|
@@ -297,15 +297,18 @@ var WeaverseRoot = ({ context }) => {
|
|
|
297
297
|
let themeClass = context.stitchesInstance.theme.className;
|
|
298
298
|
return /* @__PURE__ */ React7.createElement("div", __spreadValues({
|
|
299
299
|
className: `weaverse-content-root ${themeClass}`
|
|
300
|
-
}, eventHandlers), /* @__PURE__ */ React7.createElement(
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
300
|
+
}, eventHandlers), /* @__PURE__ */ React7.createElement(WeaverseContextProvider, {
|
|
301
|
+
value: context
|
|
302
|
+
}, /* @__PURE__ */ React7.createElement(RenderItem, {
|
|
303
|
+
itemId: context.projectData.rootId || 0
|
|
304
|
+
})));
|
|
304
305
|
};
|
|
305
|
-
var Item = ({ itemInstance, elementInstances
|
|
306
|
-
|
|
307
|
-
let
|
|
308
|
-
|
|
306
|
+
var Item = ({ itemInstance, elementInstances }) => {
|
|
307
|
+
var _b;
|
|
308
|
+
let [data, setData] = useState(itemInstance.data);
|
|
309
|
+
let _a = data, { id, type, childIds, css, className: cls = "" } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
310
|
+
console.log("data", data);
|
|
311
|
+
useEffect(() => {
|
|
309
312
|
let handleUpdate = (update) => {
|
|
310
313
|
setData(__spreadValues({}, update));
|
|
311
314
|
};
|
|
@@ -319,11 +322,15 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
319
322
|
itemInstance.unsubscribe(handleUpdate);
|
|
320
323
|
};
|
|
321
324
|
}, []);
|
|
322
|
-
let
|
|
325
|
+
let context = useContext(WeaverseContext);
|
|
326
|
+
let className = "";
|
|
323
327
|
if (css) {
|
|
324
328
|
let formattedCss = shortCssObject(css);
|
|
325
|
-
let
|
|
326
|
-
|
|
329
|
+
let { className: newClass = "" } = context.stitchesInstance.css(formattedCss)();
|
|
330
|
+
let { stitchesClass } = itemInstance;
|
|
331
|
+
let otherClass = (((_b = itemInstance.ref.current) == null ? void 0 : _b.className) || "").replace(stitchesClass, "").replace(cls, "").trim();
|
|
332
|
+
className = `${cls} ${newClass} ${otherClass}`.trim();
|
|
333
|
+
itemInstance.stitchesClass = newClass;
|
|
327
334
|
}
|
|
328
335
|
let element = elementInstances.get(type) || elementInstances.get("base");
|
|
329
336
|
if (element == null ? void 0 : element.Component) {
|
|
@@ -336,26 +343,24 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
336
343
|
"data-wv-type": type,
|
|
337
344
|
"data-wv-id": id
|
|
338
345
|
}, rest), {
|
|
339
|
-
className
|
|
346
|
+
className
|
|
340
347
|
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ React7.createElement(RenderItem, {
|
|
341
348
|
key: childId,
|
|
342
|
-
itemId: childId
|
|
343
|
-
context
|
|
349
|
+
itemId: childId
|
|
344
350
|
})));
|
|
345
351
|
}
|
|
346
352
|
return null;
|
|
347
353
|
};
|
|
348
354
|
var RenderItem = ({
|
|
349
|
-
itemId
|
|
350
|
-
context
|
|
355
|
+
itemId
|
|
351
356
|
}) => {
|
|
357
|
+
let context = useContext(WeaverseContext);
|
|
352
358
|
let { itemInstances, elementInstances } = context;
|
|
353
359
|
let itemInstance = itemInstances.get(itemId);
|
|
354
360
|
if (itemInstance) {
|
|
355
361
|
return /* @__PURE__ */ React7.createElement(Item, {
|
|
356
362
|
itemInstance,
|
|
357
|
-
elementInstances
|
|
358
|
-
context
|
|
363
|
+
elementInstances
|
|
359
364
|
});
|
|
360
365
|
}
|
|
361
366
|
console.warn(`Item instance ${itemId} not found`);
|
|
@@ -365,6 +370,9 @@ var RenderItem = ({
|
|
|
365
370
|
// src/index.ts
|
|
366
371
|
export * from "@weaverse/core";
|
|
367
372
|
export {
|
|
373
|
+
WeaverseContext,
|
|
374
|
+
WeaverseContextConsumer,
|
|
375
|
+
WeaverseContextProvider,
|
|
368
376
|
WeaverseRoot,
|
|
369
377
|
createRootContext
|
|
370
378
|
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.6.
|
|
2
|
+
"version": "0.6.5",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -31,6 +31,6 @@
|
|
|
31
31
|
"name": "@weaverse/react",
|
|
32
32
|
"author": "Weaverse Team",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@weaverse/core": "0.6.
|
|
34
|
+
"@weaverse/core": "0.6.5"
|
|
35
35
|
}
|
|
36
36
|
}
|