@weaverse/react 0.6.2 → 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 +93 -39
- package/dist/index.mjs +91 -43
- 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
|
});
|
|
@@ -91,24 +94,31 @@ var schema2 = {
|
|
|
91
94
|
title: "Button",
|
|
92
95
|
type: "button",
|
|
93
96
|
styles: [
|
|
97
|
+
{
|
|
98
|
+
type: "dimensions"
|
|
99
|
+
},
|
|
94
100
|
{
|
|
95
101
|
type: "alignment"
|
|
96
102
|
},
|
|
97
103
|
{
|
|
98
|
-
type: "
|
|
104
|
+
type: "border"
|
|
99
105
|
},
|
|
100
106
|
{
|
|
101
|
-
type: "
|
|
107
|
+
type: "background"
|
|
102
108
|
},
|
|
103
109
|
{
|
|
104
110
|
type: "spacing"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
settings: [],
|
|
114
|
+
toolbar: [
|
|
115
|
+
{
|
|
116
|
+
type: "delete"
|
|
105
117
|
},
|
|
106
118
|
{
|
|
107
|
-
type: "
|
|
119
|
+
type: "duplicate"
|
|
108
120
|
}
|
|
109
121
|
],
|
|
110
|
-
settings: [],
|
|
111
|
-
toolbar: [],
|
|
112
122
|
data: {
|
|
113
123
|
css: {
|
|
114
124
|
"@desktop": {
|
|
@@ -138,7 +148,7 @@ var schema3 = {
|
|
|
138
148
|
backgroundColor: "rgba(248,203,203,0.38)",
|
|
139
149
|
flexDirection: "column",
|
|
140
150
|
alignItems: "flex-start",
|
|
141
|
-
justifyContent: "
|
|
151
|
+
justifyContent: "flex-start",
|
|
142
152
|
textAlign: "left",
|
|
143
153
|
gridArea: "1 / 1 / 3 / 6",
|
|
144
154
|
overflow: "hidden",
|
|
@@ -157,7 +167,7 @@ var Layout = (0, import_react3.forwardRef)((props, ref) => {
|
|
|
157
167
|
return /* @__PURE__ */ import_react3.default.createElement("div", __spreadProps(__spreadValues({
|
|
158
168
|
ref
|
|
159
169
|
}, props), {
|
|
160
|
-
children: props.children
|
|
170
|
+
children: props.children
|
|
161
171
|
}));
|
|
162
172
|
});
|
|
163
173
|
var schema4 = {
|
|
@@ -167,12 +177,12 @@ var schema4 = {
|
|
|
167
177
|
css: {
|
|
168
178
|
"@desktop": {
|
|
169
179
|
display: "grid !important",
|
|
170
|
-
gridTemplateRows: "repeat(
|
|
171
|
-
gridTemplateColumns: "repeat($
|
|
172
|
-
gridAutoRows: "$sizes$rowSize",
|
|
180
|
+
gridTemplateRows: "repeat($row-count, $row-size)",
|
|
181
|
+
gridTemplateColumns: "repeat($column-count, 1fr)",
|
|
173
182
|
gridGap: "$gap",
|
|
174
183
|
minHeight: "104px",
|
|
175
|
-
width: "
|
|
184
|
+
width: "$width",
|
|
185
|
+
maxWidth: "$max-width",
|
|
176
186
|
margin: "0 auto"
|
|
177
187
|
},
|
|
178
188
|
"@mobile": {
|
|
@@ -200,7 +210,7 @@ Text.defaultProps = {
|
|
|
200
210
|
};
|
|
201
211
|
var schema5 = {
|
|
202
212
|
type: "text",
|
|
203
|
-
title: "Text
|
|
213
|
+
title: "Text",
|
|
204
214
|
settings: [],
|
|
205
215
|
data: {
|
|
206
216
|
css: {
|
|
@@ -219,6 +229,35 @@ var schema5 = {
|
|
|
219
229
|
};
|
|
220
230
|
var text_default = Text;
|
|
221
231
|
|
|
232
|
+
// src/elements/image.tsx
|
|
233
|
+
var import_react4 = __toESM(require("react"));
|
|
234
|
+
var Image = import_react4.default.forwardRef(function Image2(props, ref) {
|
|
235
|
+
let _a = props, { src, alt, children } = _a, rest = __objRest(_a, ["src", "alt", "children"]);
|
|
236
|
+
return /* @__PURE__ */ import_react4.default.createElement("img", __spreadProps(__spreadValues({
|
|
237
|
+
ref
|
|
238
|
+
}, rest), {
|
|
239
|
+
alt,
|
|
240
|
+
src
|
|
241
|
+
}));
|
|
242
|
+
});
|
|
243
|
+
Image.defaultProps = {
|
|
244
|
+
src: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
|
|
245
|
+
alt: "weaverse image element"
|
|
246
|
+
};
|
|
247
|
+
var schema6 = {
|
|
248
|
+
settings: [],
|
|
249
|
+
type: "image",
|
|
250
|
+
title: "Image",
|
|
251
|
+
data: {
|
|
252
|
+
css: {
|
|
253
|
+
"@desktop": {
|
|
254
|
+
padding: "10px"
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
var image_default = Image;
|
|
260
|
+
|
|
222
261
|
// src/elements/index.ts
|
|
223
262
|
var elements = {
|
|
224
263
|
Button: {
|
|
@@ -240,6 +279,10 @@ var elements = {
|
|
|
240
279
|
Container: {
|
|
241
280
|
Component: container_default,
|
|
242
281
|
schema: schema3
|
|
282
|
+
},
|
|
283
|
+
Image: {
|
|
284
|
+
Component: image_default,
|
|
285
|
+
schema: schema6
|
|
243
286
|
}
|
|
244
287
|
};
|
|
245
288
|
var elements_default = elements;
|
|
@@ -254,7 +297,7 @@ var shortCssObject = (css) => {
|
|
|
254
297
|
|
|
255
298
|
// src/renderer.tsx
|
|
256
299
|
var import_core = require("@weaverse/core");
|
|
257
|
-
var
|
|
300
|
+
var import_react5 = __toESM(require("react"));
|
|
258
301
|
var createRootContext = (configs) => {
|
|
259
302
|
const rootContext = new import_core.Weaverse(configs);
|
|
260
303
|
Object.keys(elements_default).forEach((key) => {
|
|
@@ -262,10 +305,13 @@ var createRootContext = (configs) => {
|
|
|
262
305
|
});
|
|
263
306
|
return rootContext;
|
|
264
307
|
};
|
|
308
|
+
var WeaverseContext = (0, import_react5.createContext)({});
|
|
309
|
+
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
310
|
+
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
265
311
|
var WeaverseRoot = ({ context }) => {
|
|
266
312
|
var _a;
|
|
267
|
-
let [, setData] =
|
|
268
|
-
|
|
313
|
+
let [, setData] = (0, import_react5.useState)(context.projectData);
|
|
314
|
+
(0, import_react5.useEffect)(() => {
|
|
269
315
|
let handleUpdate = () => {
|
|
270
316
|
setData({});
|
|
271
317
|
};
|
|
@@ -277,19 +323,22 @@ var WeaverseRoot = ({ context }) => {
|
|
|
277
323
|
context.unsubscribe(handleUpdate);
|
|
278
324
|
};
|
|
279
325
|
}, []);
|
|
280
|
-
let
|
|
326
|
+
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
281
327
|
let themeClass = context.stitchesInstance.theme.className;
|
|
282
|
-
return /* @__PURE__ */
|
|
328
|
+
return /* @__PURE__ */ import_react5.default.createElement("div", __spreadValues({
|
|
283
329
|
className: `weaverse-content-root ${themeClass}`
|
|
284
|
-
},
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
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
|
+
})));
|
|
288
335
|
};
|
|
289
|
-
var Item = ({ itemInstance, elementInstances
|
|
290
|
-
|
|
291
|
-
let
|
|
292
|
-
|
|
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)(() => {
|
|
293
342
|
let handleUpdate = (update) => {
|
|
294
343
|
setData(__spreadValues({}, update));
|
|
295
344
|
};
|
|
@@ -303,11 +352,15 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
303
352
|
itemInstance.unsubscribe(handleUpdate);
|
|
304
353
|
};
|
|
305
354
|
}, []);
|
|
306
|
-
let
|
|
355
|
+
let context = (0, import_react5.useContext)(WeaverseContext);
|
|
356
|
+
let className = "";
|
|
307
357
|
if (css) {
|
|
308
358
|
let formattedCss = shortCssObject(css);
|
|
309
|
-
let
|
|
310
|
-
|
|
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;
|
|
311
364
|
}
|
|
312
365
|
let element = elementInstances.get(type) || elementInstances.get("base");
|
|
313
366
|
if (element == null ? void 0 : element.Component) {
|
|
@@ -315,41 +368,42 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
315
368
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
316
369
|
rest.ref = itemInstance.ref;
|
|
317
370
|
}
|
|
318
|
-
return /* @__PURE__ */
|
|
371
|
+
return /* @__PURE__ */ import_react5.default.createElement(Component, __spreadProps(__spreadValues({
|
|
319
372
|
key: id,
|
|
320
373
|
"data-wv-type": type,
|
|
321
374
|
"data-wv-id": id
|
|
322
375
|
}, rest), {
|
|
323
|
-
className
|
|
324
|
-
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */
|
|
376
|
+
className
|
|
377
|
+
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ import_react5.default.createElement(RenderItem, {
|
|
325
378
|
key: childId,
|
|
326
|
-
itemId: childId
|
|
327
|
-
context
|
|
379
|
+
itemId: childId
|
|
328
380
|
})));
|
|
329
381
|
}
|
|
330
382
|
return null;
|
|
331
383
|
};
|
|
332
384
|
var RenderItem = ({
|
|
333
|
-
itemId
|
|
334
|
-
context
|
|
385
|
+
itemId
|
|
335
386
|
}) => {
|
|
387
|
+
let context = (0, import_react5.useContext)(WeaverseContext);
|
|
336
388
|
let { itemInstances, elementInstances } = context;
|
|
337
389
|
let itemInstance = itemInstances.get(itemId);
|
|
338
390
|
if (itemInstance) {
|
|
339
|
-
return /* @__PURE__ */
|
|
391
|
+
return /* @__PURE__ */ import_react5.default.createElement(Item, {
|
|
340
392
|
itemInstance,
|
|
341
|
-
elementInstances
|
|
342
|
-
context
|
|
393
|
+
elementInstances
|
|
343
394
|
});
|
|
344
395
|
}
|
|
345
396
|
console.warn(`Item instance ${itemId} not found`);
|
|
346
|
-
return /* @__PURE__ */
|
|
397
|
+
return /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null);
|
|
347
398
|
};
|
|
348
399
|
|
|
349
400
|
// src/index.ts
|
|
350
401
|
__reExport(src_exports, require("@weaverse/core"), module.exports);
|
|
351
402
|
// Annotate the CommonJS export names for ESM import in node:
|
|
352
403
|
0 && (module.exports = {
|
|
404
|
+
WeaverseContext,
|
|
405
|
+
WeaverseContextConsumer,
|
|
406
|
+
WeaverseContextProvider,
|
|
353
407
|
WeaverseRoot,
|
|
354
408
|
createRootContext
|
|
355
409
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -64,24 +64,31 @@ var schema2 = {
|
|
|
64
64
|
title: "Button",
|
|
65
65
|
type: "button",
|
|
66
66
|
styles: [
|
|
67
|
+
{
|
|
68
|
+
type: "dimensions"
|
|
69
|
+
},
|
|
67
70
|
{
|
|
68
71
|
type: "alignment"
|
|
69
72
|
},
|
|
70
73
|
{
|
|
71
|
-
type: "
|
|
74
|
+
type: "border"
|
|
72
75
|
},
|
|
73
76
|
{
|
|
74
|
-
type: "
|
|
77
|
+
type: "background"
|
|
75
78
|
},
|
|
76
79
|
{
|
|
77
80
|
type: "spacing"
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
settings: [],
|
|
84
|
+
toolbar: [
|
|
85
|
+
{
|
|
86
|
+
type: "delete"
|
|
78
87
|
},
|
|
79
88
|
{
|
|
80
|
-
type: "
|
|
89
|
+
type: "duplicate"
|
|
81
90
|
}
|
|
82
91
|
],
|
|
83
|
-
settings: [],
|
|
84
|
-
toolbar: [],
|
|
85
92
|
data: {
|
|
86
93
|
css: {
|
|
87
94
|
"@desktop": {
|
|
@@ -111,7 +118,7 @@ var schema3 = {
|
|
|
111
118
|
backgroundColor: "rgba(248,203,203,0.38)",
|
|
112
119
|
flexDirection: "column",
|
|
113
120
|
alignItems: "flex-start",
|
|
114
|
-
justifyContent: "
|
|
121
|
+
justifyContent: "flex-start",
|
|
115
122
|
textAlign: "left",
|
|
116
123
|
gridArea: "1 / 1 / 3 / 6",
|
|
117
124
|
overflow: "hidden",
|
|
@@ -130,7 +137,7 @@ var Layout = forwardRef3((props, ref) => {
|
|
|
130
137
|
return /* @__PURE__ */ React4.createElement("div", __spreadProps(__spreadValues({
|
|
131
138
|
ref
|
|
132
139
|
}, props), {
|
|
133
|
-
children: props.children
|
|
140
|
+
children: props.children
|
|
134
141
|
}));
|
|
135
142
|
});
|
|
136
143
|
var schema4 = {
|
|
@@ -140,12 +147,12 @@ var schema4 = {
|
|
|
140
147
|
css: {
|
|
141
148
|
"@desktop": {
|
|
142
149
|
display: "grid !important",
|
|
143
|
-
gridTemplateRows: "repeat(
|
|
144
|
-
gridTemplateColumns: "repeat($
|
|
145
|
-
gridAutoRows: "$sizes$rowSize",
|
|
150
|
+
gridTemplateRows: "repeat($row-count, $row-size)",
|
|
151
|
+
gridTemplateColumns: "repeat($column-count, 1fr)",
|
|
146
152
|
gridGap: "$gap",
|
|
147
153
|
minHeight: "104px",
|
|
148
|
-
width: "
|
|
154
|
+
width: "$width",
|
|
155
|
+
maxWidth: "$max-width",
|
|
149
156
|
margin: "0 auto"
|
|
150
157
|
},
|
|
151
158
|
"@mobile": {
|
|
@@ -173,7 +180,7 @@ Text.defaultProps = {
|
|
|
173
180
|
};
|
|
174
181
|
var schema5 = {
|
|
175
182
|
type: "text",
|
|
176
|
-
title: "Text
|
|
183
|
+
title: "Text",
|
|
177
184
|
settings: [],
|
|
178
185
|
data: {
|
|
179
186
|
css: {
|
|
@@ -192,6 +199,35 @@ var schema5 = {
|
|
|
192
199
|
};
|
|
193
200
|
var text_default = Text;
|
|
194
201
|
|
|
202
|
+
// src/elements/image.tsx
|
|
203
|
+
import React6 from "react";
|
|
204
|
+
var Image = React6.forwardRef(function Image2(props, ref) {
|
|
205
|
+
let _a = props, { src, alt, children } = _a, rest = __objRest(_a, ["src", "alt", "children"]);
|
|
206
|
+
return /* @__PURE__ */ React6.createElement("img", __spreadProps(__spreadValues({
|
|
207
|
+
ref
|
|
208
|
+
}, rest), {
|
|
209
|
+
alt,
|
|
210
|
+
src
|
|
211
|
+
}));
|
|
212
|
+
});
|
|
213
|
+
Image.defaultProps = {
|
|
214
|
+
src: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
|
|
215
|
+
alt: "weaverse image element"
|
|
216
|
+
};
|
|
217
|
+
var schema6 = {
|
|
218
|
+
settings: [],
|
|
219
|
+
type: "image",
|
|
220
|
+
title: "Image",
|
|
221
|
+
data: {
|
|
222
|
+
css: {
|
|
223
|
+
"@desktop": {
|
|
224
|
+
padding: "10px"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
var image_default = Image;
|
|
230
|
+
|
|
195
231
|
// src/elements/index.ts
|
|
196
232
|
var elements = {
|
|
197
233
|
Button: {
|
|
@@ -213,6 +249,10 @@ var elements = {
|
|
|
213
249
|
Container: {
|
|
214
250
|
Component: container_default,
|
|
215
251
|
schema: schema3
|
|
252
|
+
},
|
|
253
|
+
Image: {
|
|
254
|
+
Component: image_default,
|
|
255
|
+
schema: schema6
|
|
216
256
|
}
|
|
217
257
|
};
|
|
218
258
|
var elements_default = elements;
|
|
@@ -226,11 +266,8 @@ var shortCssObject = (css) => {
|
|
|
226
266
|
};
|
|
227
267
|
|
|
228
268
|
// src/renderer.tsx
|
|
229
|
-
import {
|
|
230
|
-
|
|
231
|
-
Weaverse
|
|
232
|
-
} from "@weaverse/core";
|
|
233
|
-
import * as React6 from "react";
|
|
269
|
+
import { isBrowser, Weaverse } from "@weaverse/core";
|
|
270
|
+
import React7, { createContext, useContext, useEffect, useState } from "react";
|
|
234
271
|
var createRootContext = (configs) => {
|
|
235
272
|
const rootContext = new Weaverse(configs);
|
|
236
273
|
Object.keys(elements_default).forEach((key) => {
|
|
@@ -238,10 +275,13 @@ var createRootContext = (configs) => {
|
|
|
238
275
|
});
|
|
239
276
|
return rootContext;
|
|
240
277
|
};
|
|
278
|
+
var WeaverseContext = createContext({});
|
|
279
|
+
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
280
|
+
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
241
281
|
var WeaverseRoot = ({ context }) => {
|
|
242
282
|
var _a;
|
|
243
|
-
let [, setData] =
|
|
244
|
-
|
|
283
|
+
let [, setData] = useState(context.projectData);
|
|
284
|
+
useEffect(() => {
|
|
245
285
|
let handleUpdate = () => {
|
|
246
286
|
setData({});
|
|
247
287
|
};
|
|
@@ -253,19 +293,22 @@ var WeaverseRoot = ({ context }) => {
|
|
|
253
293
|
context.unsubscribe(handleUpdate);
|
|
254
294
|
};
|
|
255
295
|
}, []);
|
|
256
|
-
let
|
|
296
|
+
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
257
297
|
let themeClass = context.stitchesInstance.theme.className;
|
|
258
|
-
return /* @__PURE__ */
|
|
298
|
+
return /* @__PURE__ */ React7.createElement("div", __spreadValues({
|
|
259
299
|
className: `weaverse-content-root ${themeClass}`
|
|
260
|
-
},
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
300
|
+
}, eventHandlers), /* @__PURE__ */ React7.createElement(WeaverseContextProvider, {
|
|
301
|
+
value: context
|
|
302
|
+
}, /* @__PURE__ */ React7.createElement(RenderItem, {
|
|
303
|
+
itemId: context.projectData.rootId || 0
|
|
304
|
+
})));
|
|
264
305
|
};
|
|
265
|
-
var Item = ({ itemInstance, elementInstances
|
|
266
|
-
|
|
267
|
-
let
|
|
268
|
-
|
|
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(() => {
|
|
269
312
|
let handleUpdate = (update) => {
|
|
270
313
|
setData(__spreadValues({}, update));
|
|
271
314
|
};
|
|
@@ -279,11 +322,15 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
279
322
|
itemInstance.unsubscribe(handleUpdate);
|
|
280
323
|
};
|
|
281
324
|
}, []);
|
|
282
|
-
let
|
|
325
|
+
let context = useContext(WeaverseContext);
|
|
326
|
+
let className = "";
|
|
283
327
|
if (css) {
|
|
284
328
|
let formattedCss = shortCssObject(css);
|
|
285
|
-
let
|
|
286
|
-
|
|
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;
|
|
287
334
|
}
|
|
288
335
|
let element = elementInstances.get(type) || elementInstances.get("base");
|
|
289
336
|
if (element == null ? void 0 : element.Component) {
|
|
@@ -291,40 +338,41 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
291
338
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
292
339
|
rest.ref = itemInstance.ref;
|
|
293
340
|
}
|
|
294
|
-
return /* @__PURE__ */
|
|
341
|
+
return /* @__PURE__ */ React7.createElement(Component, __spreadProps(__spreadValues({
|
|
295
342
|
key: id,
|
|
296
343
|
"data-wv-type": type,
|
|
297
344
|
"data-wv-id": id
|
|
298
345
|
}, rest), {
|
|
299
|
-
className
|
|
300
|
-
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */
|
|
346
|
+
className
|
|
347
|
+
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ React7.createElement(RenderItem, {
|
|
301
348
|
key: childId,
|
|
302
|
-
itemId: childId
|
|
303
|
-
context
|
|
349
|
+
itemId: childId
|
|
304
350
|
})));
|
|
305
351
|
}
|
|
306
352
|
return null;
|
|
307
353
|
};
|
|
308
354
|
var RenderItem = ({
|
|
309
|
-
itemId
|
|
310
|
-
context
|
|
355
|
+
itemId
|
|
311
356
|
}) => {
|
|
357
|
+
let context = useContext(WeaverseContext);
|
|
312
358
|
let { itemInstances, elementInstances } = context;
|
|
313
359
|
let itemInstance = itemInstances.get(itemId);
|
|
314
360
|
if (itemInstance) {
|
|
315
|
-
return /* @__PURE__ */
|
|
361
|
+
return /* @__PURE__ */ React7.createElement(Item, {
|
|
316
362
|
itemInstance,
|
|
317
|
-
elementInstances
|
|
318
|
-
context
|
|
363
|
+
elementInstances
|
|
319
364
|
});
|
|
320
365
|
}
|
|
321
366
|
console.warn(`Item instance ${itemId} not found`);
|
|
322
|
-
return /* @__PURE__ */
|
|
367
|
+
return /* @__PURE__ */ React7.createElement(React7.Fragment, null);
|
|
323
368
|
};
|
|
324
369
|
|
|
325
370
|
// src/index.ts
|
|
326
371
|
export * from "@weaverse/core";
|
|
327
372
|
export {
|
|
373
|
+
WeaverseContext,
|
|
374
|
+
WeaverseContextConsumer,
|
|
375
|
+
WeaverseContextProvider,
|
|
328
376
|
WeaverseRoot,
|
|
329
377
|
createRootContext
|
|
330
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
|
}
|