@weaverse/react 0.4.3 → 0.5.1
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 +1 -2
- package/dist/index.js +73 -35
- package/dist/index.mjs +73 -35
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -4,8 +4,7 @@ export * from '@weaverse/core';
|
|
|
4
4
|
declare const createRootContext: (configs: WeaverseType) => Weaverse;
|
|
5
5
|
declare type WeaverseRootPropsType = {
|
|
6
6
|
context: Weaverse;
|
|
7
|
-
defaultData: any;
|
|
8
7
|
};
|
|
9
|
-
declare const WeaverseRoot: ({ context
|
|
8
|
+
declare const WeaverseRoot: ({ context }: WeaverseRootPropsType) => JSX.Element;
|
|
10
9
|
|
|
11
10
|
export { WeaverseRoot, WeaverseRootPropsType, createRootContext };
|
package/dist/index.js
CHANGED
|
@@ -177,25 +177,62 @@ var schema2 = {
|
|
|
177
177
|
};
|
|
178
178
|
var button_default = Button;
|
|
179
179
|
|
|
180
|
-
// src/elements/
|
|
180
|
+
// src/elements/flex.tsx
|
|
181
181
|
var import_react2 = __toESM(require("react"));
|
|
182
|
-
var
|
|
182
|
+
var Flex = (0, import_react2.forwardRef)((props, ref) => {
|
|
183
183
|
return /* @__PURE__ */ import_react2.default.createElement("div", __spreadValues({
|
|
184
184
|
ref
|
|
185
185
|
}, props));
|
|
186
186
|
});
|
|
187
187
|
var schema3 = {
|
|
188
|
+
title: "Flex",
|
|
189
|
+
type: "flex",
|
|
190
|
+
data: {
|
|
191
|
+
css: {
|
|
192
|
+
"@desktop": {
|
|
193
|
+
display: "flex",
|
|
194
|
+
backgroundColor: "rgba(248,203,203,0.38)",
|
|
195
|
+
gridArea: "1 / 1 / 3 / 3"
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
settings: [
|
|
200
|
+
{
|
|
201
|
+
tab: "Layout",
|
|
202
|
+
label: "Flex",
|
|
203
|
+
inspectors: [
|
|
204
|
+
{
|
|
205
|
+
type: "flex"
|
|
206
|
+
}
|
|
207
|
+
]
|
|
208
|
+
}
|
|
209
|
+
]
|
|
210
|
+
};
|
|
211
|
+
var flex_default = Flex;
|
|
212
|
+
|
|
213
|
+
// src/elements/grid.tsx
|
|
214
|
+
var import_react3 = __toESM(require("react"));
|
|
215
|
+
var Grid = (0, import_react3.forwardRef)((props, ref) => {
|
|
216
|
+
return /* @__PURE__ */ import_react3.default.createElement("div", __spreadValues({
|
|
217
|
+
ref
|
|
218
|
+
}, props));
|
|
219
|
+
});
|
|
220
|
+
var schema4 = {
|
|
188
221
|
title: "Grid",
|
|
189
222
|
type: "grid",
|
|
190
223
|
data: {
|
|
191
224
|
css: {
|
|
192
225
|
"@desktop": {
|
|
193
226
|
display: "grid",
|
|
194
|
-
gridTemplateRows: "repeat(auto-fill,
|
|
195
|
-
gridTemplateColumns: "repeat(
|
|
196
|
-
gridGap: "
|
|
227
|
+
gridTemplateRows: "repeat(auto-fill, $rowSize)",
|
|
228
|
+
gridTemplateColumns: "repeat($columns, 1fr)",
|
|
229
|
+
gridGap: "$gap",
|
|
197
230
|
minHeight: "480px",
|
|
198
231
|
backgroundColor: "#c7c7c7"
|
|
232
|
+
},
|
|
233
|
+
"@mobile": {
|
|
234
|
+
gridTemplateRows: "100%",
|
|
235
|
+
gridTemplateColumns: "100%"
|
|
199
236
|
}
|
|
200
237
|
}
|
|
201
238
|
},
|
|
@@ -214,10 +251,10 @@ var schema3 = {
|
|
|
214
251
|
var grid_default = Grid;
|
|
215
252
|
|
|
216
253
|
// src/elements/text.tsx
|
|
217
|
-
var
|
|
218
|
-
var Text =
|
|
254
|
+
var React5 = __toESM(require("react"));
|
|
255
|
+
var Text = React5.forwardRef((props, ref) => {
|
|
219
256
|
let _a = props, { children, value } = _a, rest = __objRest(_a, ["children", "value"]);
|
|
220
|
-
return /* @__PURE__ */
|
|
257
|
+
return /* @__PURE__ */ React5.createElement("span", __spreadProps(__spreadValues({
|
|
221
258
|
ref
|
|
222
259
|
}, rest), {
|
|
223
260
|
contentEditable: true,
|
|
@@ -228,7 +265,7 @@ Text.defaultProps = {
|
|
|
228
265
|
value: "sample text",
|
|
229
266
|
tag: "span"
|
|
230
267
|
};
|
|
231
|
-
var
|
|
268
|
+
var schema5 = {
|
|
232
269
|
type: "text",
|
|
233
270
|
title: "Text Settings",
|
|
234
271
|
settings: [
|
|
@@ -264,10 +301,14 @@ var elements = {
|
|
|
264
301
|
},
|
|
265
302
|
Text: {
|
|
266
303
|
Component: text_default,
|
|
267
|
-
schema:
|
|
304
|
+
schema: schema5
|
|
268
305
|
},
|
|
269
306
|
Grid: {
|
|
270
307
|
Component: grid_default,
|
|
308
|
+
schema: schema4
|
|
309
|
+
},
|
|
310
|
+
Flex: {
|
|
311
|
+
Component: flex_default,
|
|
271
312
|
schema: schema3
|
|
272
313
|
}
|
|
273
314
|
};
|
|
@@ -284,7 +325,7 @@ var shortCssObject = (css) => {
|
|
|
284
325
|
|
|
285
326
|
// src/renderer.tsx
|
|
286
327
|
var import_core = require("@weaverse/core");
|
|
287
|
-
var
|
|
328
|
+
var React6 = __toESM(require("react"));
|
|
288
329
|
var createRootContext = (configs) => {
|
|
289
330
|
const rootContext = new import_core.Weaverse(configs);
|
|
290
331
|
Object.keys(elements_default).forEach((key) => {
|
|
@@ -292,39 +333,34 @@ var createRootContext = (configs) => {
|
|
|
292
333
|
});
|
|
293
334
|
return rootContext;
|
|
294
335
|
};
|
|
295
|
-
var WeaverseRoot = ({
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
var _a, _b, _c;
|
|
300
|
-
let [, setData] = React5.useState(context.projectData);
|
|
301
|
-
React5.useEffect(() => {
|
|
336
|
+
var WeaverseRoot = ({ context }) => {
|
|
337
|
+
var _a;
|
|
338
|
+
let [, setData] = React6.useState(context.projectData);
|
|
339
|
+
React6.useEffect(() => {
|
|
302
340
|
let handleUpdate = () => {
|
|
303
|
-
setData(
|
|
341
|
+
setData({});
|
|
304
342
|
};
|
|
305
343
|
context.subscribe(handleUpdate);
|
|
306
|
-
context.
|
|
344
|
+
if (context.projectData) {
|
|
345
|
+
setTimeout(handleUpdate, 110);
|
|
346
|
+
}
|
|
307
347
|
return () => {
|
|
308
348
|
context.unsubscribe(handleUpdate);
|
|
309
349
|
};
|
|
310
350
|
}, []);
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
return /* @__PURE__ */ React5.createElement("div", __spreadValues({
|
|
317
|
-
className: `weaverse-root`,
|
|
318
|
-
id: "weaverse-root"
|
|
319
|
-
}, handleProps), /* @__PURE__ */ React5.createElement(RenderItem, {
|
|
351
|
+
let handleProps = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.handleProps) || {};
|
|
352
|
+
let themeClass = context.stitchesInstance.theme.className;
|
|
353
|
+
return /* @__PURE__ */ React6.createElement("div", __spreadValues({
|
|
354
|
+
className: `weaverse-content-root ${themeClass}`
|
|
355
|
+
}, handleProps), /* @__PURE__ */ React6.createElement(RenderItem, {
|
|
320
356
|
itemId: context.projectData.rootId || 0,
|
|
321
357
|
context
|
|
322
358
|
}));
|
|
323
359
|
};
|
|
324
360
|
var Item = ({ itemInstance, elementInstances, context }) => {
|
|
325
|
-
let [data, setData] =
|
|
361
|
+
let [data, setData] = React6.useState(itemInstance.data);
|
|
326
362
|
let _a = data, { id, type, childIds, css, className } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
327
|
-
|
|
363
|
+
React6.useEffect(() => {
|
|
328
364
|
let handleUpdate = (update) => {
|
|
329
365
|
setData(__spreadValues({}, update));
|
|
330
366
|
};
|
|
@@ -350,12 +386,13 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
350
386
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
351
387
|
rest.ref = itemInstance.ref;
|
|
352
388
|
}
|
|
353
|
-
return /* @__PURE__ */
|
|
389
|
+
return /* @__PURE__ */ React6.createElement(Component, __spreadProps(__spreadValues({
|
|
354
390
|
key: id,
|
|
391
|
+
"data-wv-type": type,
|
|
355
392
|
"data-wv-id": id
|
|
356
393
|
}, rest), {
|
|
357
394
|
className: realClassName
|
|
358
|
-
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */
|
|
395
|
+
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ React6.createElement(RenderItem, {
|
|
359
396
|
key: childId,
|
|
360
397
|
itemId: childId,
|
|
361
398
|
context
|
|
@@ -370,13 +407,14 @@ var RenderItem = ({
|
|
|
370
407
|
let { itemInstances, elementInstances } = context;
|
|
371
408
|
let itemInstance = itemInstances.get(itemId);
|
|
372
409
|
if (itemInstance) {
|
|
373
|
-
return /* @__PURE__ */
|
|
410
|
+
return /* @__PURE__ */ React6.createElement(Item, {
|
|
374
411
|
itemInstance,
|
|
375
412
|
elementInstances,
|
|
376
413
|
context
|
|
377
414
|
});
|
|
378
415
|
}
|
|
379
|
-
|
|
416
|
+
console.warn(`Item instance ${itemId} not found`);
|
|
417
|
+
return /* @__PURE__ */ React6.createElement(React6.Fragment, null);
|
|
380
418
|
};
|
|
381
419
|
|
|
382
420
|
// src/index.ts
|
package/dist/index.mjs
CHANGED
|
@@ -150,25 +150,62 @@ var schema2 = {
|
|
|
150
150
|
};
|
|
151
151
|
var button_default = Button;
|
|
152
152
|
|
|
153
|
-
// src/elements/
|
|
153
|
+
// src/elements/flex.tsx
|
|
154
154
|
import React3, { forwardRef as forwardRef2 } from "react";
|
|
155
|
-
var
|
|
155
|
+
var Flex = forwardRef2((props, ref) => {
|
|
156
156
|
return /* @__PURE__ */ React3.createElement("div", __spreadValues({
|
|
157
157
|
ref
|
|
158
158
|
}, props));
|
|
159
159
|
});
|
|
160
160
|
var schema3 = {
|
|
161
|
+
title: "Flex",
|
|
162
|
+
type: "flex",
|
|
163
|
+
data: {
|
|
164
|
+
css: {
|
|
165
|
+
"@desktop": {
|
|
166
|
+
display: "flex",
|
|
167
|
+
backgroundColor: "rgba(248,203,203,0.38)",
|
|
168
|
+
gridArea: "1 / 1 / 3 / 3"
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
settings: [
|
|
173
|
+
{
|
|
174
|
+
tab: "Layout",
|
|
175
|
+
label: "Flex",
|
|
176
|
+
inspectors: [
|
|
177
|
+
{
|
|
178
|
+
type: "flex"
|
|
179
|
+
}
|
|
180
|
+
]
|
|
181
|
+
}
|
|
182
|
+
]
|
|
183
|
+
};
|
|
184
|
+
var flex_default = Flex;
|
|
185
|
+
|
|
186
|
+
// src/elements/grid.tsx
|
|
187
|
+
import React4, { forwardRef as forwardRef3 } from "react";
|
|
188
|
+
var Grid = forwardRef3((props, ref) => {
|
|
189
|
+
return /* @__PURE__ */ React4.createElement("div", __spreadValues({
|
|
190
|
+
ref
|
|
191
|
+
}, props));
|
|
192
|
+
});
|
|
193
|
+
var schema4 = {
|
|
161
194
|
title: "Grid",
|
|
162
195
|
type: "grid",
|
|
163
196
|
data: {
|
|
164
197
|
css: {
|
|
165
198
|
"@desktop": {
|
|
166
199
|
display: "grid",
|
|
167
|
-
gridTemplateRows: "repeat(auto-fill,
|
|
168
|
-
gridTemplateColumns: "repeat(
|
|
169
|
-
gridGap: "
|
|
200
|
+
gridTemplateRows: "repeat(auto-fill, $rowSize)",
|
|
201
|
+
gridTemplateColumns: "repeat($columns, 1fr)",
|
|
202
|
+
gridGap: "$gap",
|
|
170
203
|
minHeight: "480px",
|
|
171
204
|
backgroundColor: "#c7c7c7"
|
|
205
|
+
},
|
|
206
|
+
"@mobile": {
|
|
207
|
+
gridTemplateRows: "100%",
|
|
208
|
+
gridTemplateColumns: "100%"
|
|
172
209
|
}
|
|
173
210
|
}
|
|
174
211
|
},
|
|
@@ -187,10 +224,10 @@ var schema3 = {
|
|
|
187
224
|
var grid_default = Grid;
|
|
188
225
|
|
|
189
226
|
// src/elements/text.tsx
|
|
190
|
-
import * as
|
|
191
|
-
var Text =
|
|
227
|
+
import * as React5 from "react";
|
|
228
|
+
var Text = React5.forwardRef((props, ref) => {
|
|
192
229
|
let _a = props, { children, value } = _a, rest = __objRest(_a, ["children", "value"]);
|
|
193
|
-
return /* @__PURE__ */
|
|
230
|
+
return /* @__PURE__ */ React5.createElement("span", __spreadProps(__spreadValues({
|
|
194
231
|
ref
|
|
195
232
|
}, rest), {
|
|
196
233
|
contentEditable: true,
|
|
@@ -201,7 +238,7 @@ Text.defaultProps = {
|
|
|
201
238
|
value: "sample text",
|
|
202
239
|
tag: "span"
|
|
203
240
|
};
|
|
204
|
-
var
|
|
241
|
+
var schema5 = {
|
|
205
242
|
type: "text",
|
|
206
243
|
title: "Text Settings",
|
|
207
244
|
settings: [
|
|
@@ -237,10 +274,14 @@ var elements = {
|
|
|
237
274
|
},
|
|
238
275
|
Text: {
|
|
239
276
|
Component: text_default,
|
|
240
|
-
schema:
|
|
277
|
+
schema: schema5
|
|
241
278
|
},
|
|
242
279
|
Grid: {
|
|
243
280
|
Component: grid_default,
|
|
281
|
+
schema: schema4
|
|
282
|
+
},
|
|
283
|
+
Flex: {
|
|
284
|
+
Component: flex_default,
|
|
244
285
|
schema: schema3
|
|
245
286
|
}
|
|
246
287
|
};
|
|
@@ -260,7 +301,7 @@ import {
|
|
|
260
301
|
isBrowser,
|
|
261
302
|
Weaverse
|
|
262
303
|
} from "@weaverse/core";
|
|
263
|
-
import * as
|
|
304
|
+
import * as React6 from "react";
|
|
264
305
|
var createRootContext = (configs) => {
|
|
265
306
|
const rootContext = new Weaverse(configs);
|
|
266
307
|
Object.keys(elements_default).forEach((key) => {
|
|
@@ -268,39 +309,34 @@ var createRootContext = (configs) => {
|
|
|
268
309
|
});
|
|
269
310
|
return rootContext;
|
|
270
311
|
};
|
|
271
|
-
var WeaverseRoot = ({
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
var _a, _b, _c;
|
|
276
|
-
let [, setData] = React5.useState(context.projectData);
|
|
277
|
-
React5.useEffect(() => {
|
|
312
|
+
var WeaverseRoot = ({ context }) => {
|
|
313
|
+
var _a;
|
|
314
|
+
let [, setData] = React6.useState(context.projectData);
|
|
315
|
+
React6.useEffect(() => {
|
|
278
316
|
let handleUpdate = () => {
|
|
279
|
-
setData(
|
|
317
|
+
setData({});
|
|
280
318
|
};
|
|
281
319
|
context.subscribe(handleUpdate);
|
|
282
|
-
context.
|
|
320
|
+
if (context.projectData) {
|
|
321
|
+
setTimeout(handleUpdate, 110);
|
|
322
|
+
}
|
|
283
323
|
return () => {
|
|
284
324
|
context.unsubscribe(handleUpdate);
|
|
285
325
|
};
|
|
286
326
|
}, []);
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
return /* @__PURE__ */ React5.createElement("div", __spreadValues({
|
|
293
|
-
className: `weaverse-root`,
|
|
294
|
-
id: "weaverse-root"
|
|
295
|
-
}, handleProps), /* @__PURE__ */ React5.createElement(RenderItem, {
|
|
327
|
+
let handleProps = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.handleProps) || {};
|
|
328
|
+
let themeClass = context.stitchesInstance.theme.className;
|
|
329
|
+
return /* @__PURE__ */ React6.createElement("div", __spreadValues({
|
|
330
|
+
className: `weaverse-content-root ${themeClass}`
|
|
331
|
+
}, handleProps), /* @__PURE__ */ React6.createElement(RenderItem, {
|
|
296
332
|
itemId: context.projectData.rootId || 0,
|
|
297
333
|
context
|
|
298
334
|
}));
|
|
299
335
|
};
|
|
300
336
|
var Item = ({ itemInstance, elementInstances, context }) => {
|
|
301
|
-
let [data, setData] =
|
|
337
|
+
let [data, setData] = React6.useState(itemInstance.data);
|
|
302
338
|
let _a = data, { id, type, childIds, css, className } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
303
|
-
|
|
339
|
+
React6.useEffect(() => {
|
|
304
340
|
let handleUpdate = (update) => {
|
|
305
341
|
setData(__spreadValues({}, update));
|
|
306
342
|
};
|
|
@@ -326,12 +362,13 @@ var Item = ({ itemInstance, elementInstances, context }) => {
|
|
|
326
362
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
327
363
|
rest.ref = itemInstance.ref;
|
|
328
364
|
}
|
|
329
|
-
return /* @__PURE__ */
|
|
365
|
+
return /* @__PURE__ */ React6.createElement(Component, __spreadProps(__spreadValues({
|
|
330
366
|
key: id,
|
|
367
|
+
"data-wv-type": type,
|
|
331
368
|
"data-wv-id": id
|
|
332
369
|
}, rest), {
|
|
333
370
|
className: realClassName
|
|
334
|
-
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */
|
|
371
|
+
}), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ React6.createElement(RenderItem, {
|
|
335
372
|
key: childId,
|
|
336
373
|
itemId: childId,
|
|
337
374
|
context
|
|
@@ -346,13 +383,14 @@ var RenderItem = ({
|
|
|
346
383
|
let { itemInstances, elementInstances } = context;
|
|
347
384
|
let itemInstance = itemInstances.get(itemId);
|
|
348
385
|
if (itemInstance) {
|
|
349
|
-
return /* @__PURE__ */
|
|
386
|
+
return /* @__PURE__ */ React6.createElement(Item, {
|
|
350
387
|
itemInstance,
|
|
351
388
|
elementInstances,
|
|
352
389
|
context
|
|
353
390
|
});
|
|
354
391
|
}
|
|
355
|
-
|
|
392
|
+
console.warn(`Item instance ${itemId} not found`);
|
|
393
|
+
return /* @__PURE__ */ React6.createElement(React6.Fragment, null);
|
|
356
394
|
};
|
|
357
395
|
|
|
358
396
|
// src/index.ts
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.5.1",
|
|
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": "
|
|
34
|
+
"@weaverse/core": "0.5.0"
|
|
35
35
|
}
|
|
36
36
|
}
|