@weaverse/react 0.6.4 → 0.6.8
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 +96 -45
- package/dist/index.mjs +89 -44
- 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
|
});
|
|
@@ -79,7 +82,15 @@ var base_default = BaseElement;
|
|
|
79
82
|
// src/elements/button.tsx
|
|
80
83
|
var React2 = __toESM(require("react"));
|
|
81
84
|
var Button = React2.forwardRef((props, ref) => {
|
|
82
|
-
const _a = props, { buttonType, css } = _a, rest = __objRest(_a, ["buttonType", "css"]);
|
|
85
|
+
const _a = props, { buttonType, css, openInNewTab = false, target = "" } = _a, rest = __objRest(_a, ["buttonType", "css", "openInNewTab", "target"]);
|
|
86
|
+
if (target) {
|
|
87
|
+
return /* @__PURE__ */ React2.createElement("a", {
|
|
88
|
+
href: target,
|
|
89
|
+
target: openInNewTab ? "_blank" : "_self"
|
|
90
|
+
}, /* @__PURE__ */ React2.createElement("button", __spreadValues({
|
|
91
|
+
ref
|
|
92
|
+
}, rest), props.value));
|
|
93
|
+
}
|
|
83
94
|
return /* @__PURE__ */ React2.createElement("button", __spreadValues({
|
|
84
95
|
ref
|
|
85
96
|
}, rest), props.value);
|
|
@@ -114,6 +125,12 @@ var schema2 = {
|
|
|
114
125
|
},
|
|
115
126
|
{
|
|
116
127
|
type: "duplicate"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: "link"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: "color"
|
|
117
134
|
}
|
|
118
135
|
],
|
|
119
136
|
data: {
|
|
@@ -123,7 +140,9 @@ var schema2 = {
|
|
|
123
140
|
fontSize: "13px",
|
|
124
141
|
padding: "10px 15px"
|
|
125
142
|
}
|
|
126
|
-
}
|
|
143
|
+
},
|
|
144
|
+
target: "",
|
|
145
|
+
openInNewTab: false
|
|
127
146
|
}
|
|
128
147
|
};
|
|
129
148
|
var button_default = Button;
|
|
@@ -161,11 +180,20 @@ var container_default = Container;
|
|
|
161
180
|
// src/elements/layout.tsx
|
|
162
181
|
var import_react3 = __toESM(require("react"));
|
|
163
182
|
var Layout = (0, import_react3.forwardRef)((props, ref) => {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
183
|
+
const _a = props, { css, children, rows, gap, rowSize, columns, gridSize } = _a, rest = __objRest(_a, ["css", "children", "rows", "gap", "rowSize", "columns", "gridSize"]);
|
|
184
|
+
return /* @__PURE__ */ import_react3.default.createElement("section", __spreadValues({
|
|
185
|
+
ref,
|
|
186
|
+
style: {
|
|
187
|
+
"--grid-size": gridSize + "px",
|
|
188
|
+
"--rows": rows,
|
|
189
|
+
"--columns": columns,
|
|
190
|
+
"--gap": gap + "px",
|
|
191
|
+
"--row-size": rowSize + "px",
|
|
192
|
+
"--col-size": "calc((var(--grid-size) - calc(var(--columns) - 1) * var(--gap)) / var(--columns))"
|
|
193
|
+
}
|
|
194
|
+
}, rest), /* @__PURE__ */ import_react3.default.createElement("div", {
|
|
195
|
+
"data-layout-content": true
|
|
196
|
+
}, children));
|
|
169
197
|
});
|
|
170
198
|
var schema4 = {
|
|
171
199
|
title: "Layout",
|
|
@@ -173,20 +201,33 @@ var schema4 = {
|
|
|
173
201
|
data: {
|
|
174
202
|
css: {
|
|
175
203
|
"@desktop": {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
204
|
+
overflow: "hidden",
|
|
205
|
+
paddingTop: "16px",
|
|
206
|
+
paddingBottom: "16px",
|
|
207
|
+
paddingLeft: "var(--gap)",
|
|
208
|
+
paddingRight: "var(--gap)",
|
|
209
|
+
"> [data-layout-content]": {
|
|
210
|
+
margin: "0 auto",
|
|
211
|
+
display: "grid !important",
|
|
212
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
213
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
214
|
+
gap: "var(--gap)",
|
|
215
|
+
maxWidth: "var(--grid-size)"
|
|
216
|
+
}
|
|
184
217
|
},
|
|
185
218
|
"@mobile": {
|
|
186
|
-
|
|
187
|
-
|
|
219
|
+
padding: "0",
|
|
220
|
+
"> [data-layout-content]": {
|
|
221
|
+
display: "flex !important",
|
|
222
|
+
flexDirection: "column"
|
|
223
|
+
}
|
|
188
224
|
}
|
|
189
|
-
}
|
|
225
|
+
},
|
|
226
|
+
gridSize: 1224,
|
|
227
|
+
rows: 12,
|
|
228
|
+
columns: 12,
|
|
229
|
+
gap: 16,
|
|
230
|
+
rowSize: 48
|
|
190
231
|
},
|
|
191
232
|
settings: []
|
|
192
233
|
};
|
|
@@ -207,7 +248,7 @@ Text.defaultProps = {
|
|
|
207
248
|
};
|
|
208
249
|
var schema5 = {
|
|
209
250
|
type: "text",
|
|
210
|
-
title: "Text
|
|
251
|
+
title: "Text",
|
|
211
252
|
settings: [],
|
|
212
253
|
data: {
|
|
213
254
|
css: {
|
|
@@ -294,7 +335,7 @@ var shortCssObject = (css) => {
|
|
|
294
335
|
|
|
295
336
|
// src/renderer.tsx
|
|
296
337
|
var import_core = require("@weaverse/core");
|
|
297
|
-
var
|
|
338
|
+
var import_react5 = __toESM(require("react"));
|
|
298
339
|
var createRootContext = (configs) => {
|
|
299
340
|
const rootContext = new import_core.Weaverse(configs);
|
|
300
341
|
Object.keys(elements_default).forEach((key) => {
|
|
@@ -302,10 +343,13 @@ var createRootContext = (configs) => {
|
|
|
302
343
|
});
|
|
303
344
|
return rootContext;
|
|
304
345
|
};
|
|
346
|
+
var WeaverseContext = (0, import_react5.createContext)({});
|
|
347
|
+
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
348
|
+
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
305
349
|
var WeaverseRoot = ({ context }) => {
|
|
306
350
|
var _a;
|
|
307
|
-
let [, setData] =
|
|
308
|
-
|
|
351
|
+
let [, setData] = (0, import_react5.useState)(context.projectData);
|
|
352
|
+
(0, import_react5.useEffect)(() => {
|
|
309
353
|
let handleUpdate = () => {
|
|
310
354
|
setData({});
|
|
311
355
|
};
|
|
@@ -319,17 +363,19 @@ var WeaverseRoot = ({ context }) => {
|
|
|
319
363
|
}, []);
|
|
320
364
|
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
321
365
|
let themeClass = context.stitchesInstance.theme.className;
|
|
322
|
-
return /* @__PURE__ */
|
|
366
|
+
return /* @__PURE__ */ import_react5.default.createElement("div", __spreadValues({
|
|
323
367
|
className: `weaverse-content-root ${themeClass}`
|
|
324
|
-
}, eventHandlers), /* @__PURE__ */
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
368
|
+
}, eventHandlers), /* @__PURE__ */ import_react5.default.createElement(WeaverseContextProvider, {
|
|
369
|
+
value: context
|
|
370
|
+
}, /* @__PURE__ */ import_react5.default.createElement(RenderItem, {
|
|
371
|
+
itemId: context.projectData.rootId || 0
|
|
372
|
+
})));
|
|
328
373
|
};
|
|
329
|
-
var Item = ({ itemInstance, elementInstances
|
|
330
|
-
|
|
331
|
-
let
|
|
332
|
-
|
|
374
|
+
var Item = ({ itemInstance, elementInstances }) => {
|
|
375
|
+
var _b;
|
|
376
|
+
let [data, setData] = (0, import_react5.useState)(itemInstance.data);
|
|
377
|
+
let _a = data, { id, type, childIds, css, className: cls = "" } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
378
|
+
(0, import_react5.useEffect)(() => {
|
|
333
379
|
let handleUpdate = (update) => {
|
|
334
380
|
setData(__spreadValues({}, update));
|
|
335
381
|
};
|
|
@@ -343,11 +389,15 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
343
389
|
itemInstance.unsubscribe(handleUpdate);
|
|
344
390
|
};
|
|
345
391
|
}, []);
|
|
346
|
-
let
|
|
392
|
+
let context = (0, import_react5.useContext)(WeaverseContext);
|
|
393
|
+
let className = "";
|
|
347
394
|
if (css) {
|
|
348
395
|
let formattedCss = shortCssObject(css);
|
|
349
|
-
let
|
|
350
|
-
|
|
396
|
+
let { className: newClass = "" } = context.stitchesInstance.css(formattedCss)();
|
|
397
|
+
let { stitchesClass } = itemInstance;
|
|
398
|
+
let otherClass = (((_b = itemInstance.ref.current) == null ? void 0 : _b.className) || "").replace(stitchesClass, "").replace(cls, "").trim();
|
|
399
|
+
className = `${cls} ${newClass} ${otherClass}`.trim();
|
|
400
|
+
itemInstance.stitchesClass = newClass;
|
|
351
401
|
}
|
|
352
402
|
let element = elementInstances.get(type) || elementInstances.get("base");
|
|
353
403
|
if (element == null ? void 0 : element.Component) {
|
|
@@ -355,41 +405,42 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
355
405
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
356
406
|
rest.ref = itemInstance.ref;
|
|
357
407
|
}
|
|
358
|
-
return /* @__PURE__ */
|
|
408
|
+
return /* @__PURE__ */ import_react5.default.createElement(Component, __spreadProps(__spreadValues({
|
|
359
409
|
key: id,
|
|
360
410
|
"data-wv-type": type,
|
|
361
411
|
"data-wv-id": id
|
|
362
412
|
}, rest), {
|
|
363
|
-
className
|
|
364
|
-
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */
|
|
413
|
+
className
|
|
414
|
+
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ import_react5.default.createElement(RenderItem, {
|
|
365
415
|
key: childId,
|
|
366
|
-
itemId: childId
|
|
367
|
-
context
|
|
416
|
+
itemId: childId
|
|
368
417
|
})));
|
|
369
418
|
}
|
|
370
419
|
return null;
|
|
371
420
|
};
|
|
372
421
|
var RenderItem = ({
|
|
373
|
-
itemId
|
|
374
|
-
context
|
|
422
|
+
itemId
|
|
375
423
|
}) => {
|
|
424
|
+
let context = (0, import_react5.useContext)(WeaverseContext);
|
|
376
425
|
let { itemInstances, elementInstances } = context;
|
|
377
426
|
let itemInstance = itemInstances.get(itemId);
|
|
378
427
|
if (itemInstance) {
|
|
379
|
-
return /* @__PURE__ */
|
|
428
|
+
return /* @__PURE__ */ import_react5.default.createElement(Item, {
|
|
380
429
|
itemInstance,
|
|
381
|
-
elementInstances
|
|
382
|
-
context
|
|
430
|
+
elementInstances
|
|
383
431
|
});
|
|
384
432
|
}
|
|
385
433
|
console.warn(`Item instance ${itemId} not found`);
|
|
386
|
-
return /* @__PURE__ */
|
|
434
|
+
return /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null);
|
|
387
435
|
};
|
|
388
436
|
|
|
389
437
|
// src/index.ts
|
|
390
438
|
__reExport(src_exports, require("@weaverse/core"), module.exports);
|
|
391
439
|
// Annotate the CommonJS export names for ESM import in node:
|
|
392
440
|
0 && (module.exports = {
|
|
441
|
+
WeaverseContext,
|
|
442
|
+
WeaverseContextConsumer,
|
|
443
|
+
WeaverseContextProvider,
|
|
393
444
|
WeaverseRoot,
|
|
394
445
|
createRootContext
|
|
395
446
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -52,7 +52,15 @@ var base_default = BaseElement;
|
|
|
52
52
|
// src/elements/button.tsx
|
|
53
53
|
import * as React2 from "react";
|
|
54
54
|
var Button = React2.forwardRef((props, ref) => {
|
|
55
|
-
const _a = props, { buttonType, css } = _a, rest = __objRest(_a, ["buttonType", "css"]);
|
|
55
|
+
const _a = props, { buttonType, css, openInNewTab = false, target = "" } = _a, rest = __objRest(_a, ["buttonType", "css", "openInNewTab", "target"]);
|
|
56
|
+
if (target) {
|
|
57
|
+
return /* @__PURE__ */ React2.createElement("a", {
|
|
58
|
+
href: target,
|
|
59
|
+
target: openInNewTab ? "_blank" : "_self"
|
|
60
|
+
}, /* @__PURE__ */ React2.createElement("button", __spreadValues({
|
|
61
|
+
ref
|
|
62
|
+
}, rest), props.value));
|
|
63
|
+
}
|
|
56
64
|
return /* @__PURE__ */ React2.createElement("button", __spreadValues({
|
|
57
65
|
ref
|
|
58
66
|
}, rest), props.value);
|
|
@@ -87,6 +95,12 @@ var schema2 = {
|
|
|
87
95
|
},
|
|
88
96
|
{
|
|
89
97
|
type: "duplicate"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: "link"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: "color"
|
|
90
104
|
}
|
|
91
105
|
],
|
|
92
106
|
data: {
|
|
@@ -96,7 +110,9 @@ var schema2 = {
|
|
|
96
110
|
fontSize: "13px",
|
|
97
111
|
padding: "10px 15px"
|
|
98
112
|
}
|
|
99
|
-
}
|
|
113
|
+
},
|
|
114
|
+
target: "",
|
|
115
|
+
openInNewTab: false
|
|
100
116
|
}
|
|
101
117
|
};
|
|
102
118
|
var button_default = Button;
|
|
@@ -134,11 +150,20 @@ var container_default = Container;
|
|
|
134
150
|
// src/elements/layout.tsx
|
|
135
151
|
import React4, { forwardRef as forwardRef3 } from "react";
|
|
136
152
|
var Layout = forwardRef3((props, ref) => {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
153
|
+
const _a = props, { css, children, rows, gap, rowSize, columns, gridSize } = _a, rest = __objRest(_a, ["css", "children", "rows", "gap", "rowSize", "columns", "gridSize"]);
|
|
154
|
+
return /* @__PURE__ */ React4.createElement("section", __spreadValues({
|
|
155
|
+
ref,
|
|
156
|
+
style: {
|
|
157
|
+
"--grid-size": gridSize + "px",
|
|
158
|
+
"--rows": rows,
|
|
159
|
+
"--columns": columns,
|
|
160
|
+
"--gap": gap + "px",
|
|
161
|
+
"--row-size": rowSize + "px",
|
|
162
|
+
"--col-size": "calc((var(--grid-size) - calc(var(--columns) - 1) * var(--gap)) / var(--columns))"
|
|
163
|
+
}
|
|
164
|
+
}, rest), /* @__PURE__ */ React4.createElement("div", {
|
|
165
|
+
"data-layout-content": true
|
|
166
|
+
}, children));
|
|
142
167
|
});
|
|
143
168
|
var schema4 = {
|
|
144
169
|
title: "Layout",
|
|
@@ -146,20 +171,33 @@ var schema4 = {
|
|
|
146
171
|
data: {
|
|
147
172
|
css: {
|
|
148
173
|
"@desktop": {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
174
|
+
overflow: "hidden",
|
|
175
|
+
paddingTop: "16px",
|
|
176
|
+
paddingBottom: "16px",
|
|
177
|
+
paddingLeft: "var(--gap)",
|
|
178
|
+
paddingRight: "var(--gap)",
|
|
179
|
+
"> [data-layout-content]": {
|
|
180
|
+
margin: "0 auto",
|
|
181
|
+
display: "grid !important",
|
|
182
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
183
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
184
|
+
gap: "var(--gap)",
|
|
185
|
+
maxWidth: "var(--grid-size)"
|
|
186
|
+
}
|
|
157
187
|
},
|
|
158
188
|
"@mobile": {
|
|
159
|
-
|
|
160
|
-
|
|
189
|
+
padding: "0",
|
|
190
|
+
"> [data-layout-content]": {
|
|
191
|
+
display: "flex !important",
|
|
192
|
+
flexDirection: "column"
|
|
193
|
+
}
|
|
161
194
|
}
|
|
162
|
-
}
|
|
195
|
+
},
|
|
196
|
+
gridSize: 1224,
|
|
197
|
+
rows: 12,
|
|
198
|
+
columns: 12,
|
|
199
|
+
gap: 16,
|
|
200
|
+
rowSize: 48
|
|
163
201
|
},
|
|
164
202
|
settings: []
|
|
165
203
|
};
|
|
@@ -180,7 +218,7 @@ Text.defaultProps = {
|
|
|
180
218
|
};
|
|
181
219
|
var schema5 = {
|
|
182
220
|
type: "text",
|
|
183
|
-
title: "Text
|
|
221
|
+
title: "Text",
|
|
184
222
|
settings: [],
|
|
185
223
|
data: {
|
|
186
224
|
css: {
|
|
@@ -266,11 +304,8 @@ var shortCssObject = (css) => {
|
|
|
266
304
|
};
|
|
267
305
|
|
|
268
306
|
// src/renderer.tsx
|
|
269
|
-
import {
|
|
270
|
-
|
|
271
|
-
Weaverse
|
|
272
|
-
} from "@weaverse/core";
|
|
273
|
-
import * as React7 from "react";
|
|
307
|
+
import { isBrowser, Weaverse } from "@weaverse/core";
|
|
308
|
+
import React7, { createContext, useContext, useEffect, useState } from "react";
|
|
274
309
|
var createRootContext = (configs) => {
|
|
275
310
|
const rootContext = new Weaverse(configs);
|
|
276
311
|
Object.keys(elements_default).forEach((key) => {
|
|
@@ -278,10 +313,13 @@ var createRootContext = (configs) => {
|
|
|
278
313
|
});
|
|
279
314
|
return rootContext;
|
|
280
315
|
};
|
|
316
|
+
var WeaverseContext = createContext({});
|
|
317
|
+
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
318
|
+
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
281
319
|
var WeaverseRoot = ({ context }) => {
|
|
282
320
|
var _a;
|
|
283
|
-
let [, setData] =
|
|
284
|
-
|
|
321
|
+
let [, setData] = useState(context.projectData);
|
|
322
|
+
useEffect(() => {
|
|
285
323
|
let handleUpdate = () => {
|
|
286
324
|
setData({});
|
|
287
325
|
};
|
|
@@ -297,15 +335,17 @@ var WeaverseRoot = ({ context }) => {
|
|
|
297
335
|
let themeClass = context.stitchesInstance.theme.className;
|
|
298
336
|
return /* @__PURE__ */ React7.createElement("div", __spreadValues({
|
|
299
337
|
className: `weaverse-content-root ${themeClass}`
|
|
300
|
-
}, eventHandlers), /* @__PURE__ */ React7.createElement(
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
338
|
+
}, eventHandlers), /* @__PURE__ */ React7.createElement(WeaverseContextProvider, {
|
|
339
|
+
value: context
|
|
340
|
+
}, /* @__PURE__ */ React7.createElement(RenderItem, {
|
|
341
|
+
itemId: context.projectData.rootId || 0
|
|
342
|
+
})));
|
|
304
343
|
};
|
|
305
|
-
var Item = ({ itemInstance, elementInstances
|
|
306
|
-
|
|
307
|
-
let
|
|
308
|
-
|
|
344
|
+
var Item = ({ itemInstance, elementInstances }) => {
|
|
345
|
+
var _b;
|
|
346
|
+
let [data, setData] = useState(itemInstance.data);
|
|
347
|
+
let _a = data, { id, type, childIds, css, className: cls = "" } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
348
|
+
useEffect(() => {
|
|
309
349
|
let handleUpdate = (update) => {
|
|
310
350
|
setData(__spreadValues({}, update));
|
|
311
351
|
};
|
|
@@ -319,11 +359,15 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
319
359
|
itemInstance.unsubscribe(handleUpdate);
|
|
320
360
|
};
|
|
321
361
|
}, []);
|
|
322
|
-
let
|
|
362
|
+
let context = useContext(WeaverseContext);
|
|
363
|
+
let className = "";
|
|
323
364
|
if (css) {
|
|
324
365
|
let formattedCss = shortCssObject(css);
|
|
325
|
-
let
|
|
326
|
-
|
|
366
|
+
let { className: newClass = "" } = context.stitchesInstance.css(formattedCss)();
|
|
367
|
+
let { stitchesClass } = itemInstance;
|
|
368
|
+
let otherClass = (((_b = itemInstance.ref.current) == null ? void 0 : _b.className) || "").replace(stitchesClass, "").replace(cls, "").trim();
|
|
369
|
+
className = `${cls} ${newClass} ${otherClass}`.trim();
|
|
370
|
+
itemInstance.stitchesClass = newClass;
|
|
327
371
|
}
|
|
328
372
|
let element = elementInstances.get(type) || elementInstances.get("base");
|
|
329
373
|
if (element == null ? void 0 : element.Component) {
|
|
@@ -336,26 +380,24 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
336
380
|
"data-wv-type": type,
|
|
337
381
|
"data-wv-id": id
|
|
338
382
|
}, rest), {
|
|
339
|
-
className
|
|
383
|
+
className
|
|
340
384
|
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ React7.createElement(RenderItem, {
|
|
341
385
|
key: childId,
|
|
342
|
-
itemId: childId
|
|
343
|
-
context
|
|
386
|
+
itemId: childId
|
|
344
387
|
})));
|
|
345
388
|
}
|
|
346
389
|
return null;
|
|
347
390
|
};
|
|
348
391
|
var RenderItem = ({
|
|
349
|
-
itemId
|
|
350
|
-
context
|
|
392
|
+
itemId
|
|
351
393
|
}) => {
|
|
394
|
+
let context = useContext(WeaverseContext);
|
|
352
395
|
let { itemInstances, elementInstances } = context;
|
|
353
396
|
let itemInstance = itemInstances.get(itemId);
|
|
354
397
|
if (itemInstance) {
|
|
355
398
|
return /* @__PURE__ */ React7.createElement(Item, {
|
|
356
399
|
itemInstance,
|
|
357
|
-
elementInstances
|
|
358
|
-
context
|
|
400
|
+
elementInstances
|
|
359
401
|
});
|
|
360
402
|
}
|
|
361
403
|
console.warn(`Item instance ${itemId} not found`);
|
|
@@ -365,6 +407,9 @@ var RenderItem = ({
|
|
|
365
407
|
// src/index.ts
|
|
366
408
|
export * from "@weaverse/core";
|
|
367
409
|
export {
|
|
410
|
+
WeaverseContext,
|
|
411
|
+
WeaverseContextConsumer,
|
|
412
|
+
WeaverseContextProvider,
|
|
368
413
|
WeaverseRoot,
|
|
369
414
|
createRootContext
|
|
370
415
|
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.6.
|
|
2
|
+
"version": "0.6.8",
|
|
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.8"
|
|
35
35
|
}
|
|
36
36
|
}
|