@weaverse/react 0.6.10 → 0.6.15
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.js +302 -25
- package/dist/index.mjs +297 -20
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -62,7 +62,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
62
62
|
|
|
63
63
|
// src/context.ts
|
|
64
64
|
var import_core = require("@weaverse/core");
|
|
65
|
-
var
|
|
65
|
+
var import_react9 = require("react");
|
|
66
66
|
|
|
67
67
|
// src/elements/base.tsx
|
|
68
68
|
var import_react = __toESM(require("react"));
|
|
@@ -78,6 +78,7 @@ BaseElement.defaultProps = {
|
|
|
78
78
|
};
|
|
79
79
|
var schema = {
|
|
80
80
|
type: "base",
|
|
81
|
+
parentType: "container",
|
|
81
82
|
title: "Base",
|
|
82
83
|
settings: []
|
|
83
84
|
};
|
|
@@ -100,11 +101,12 @@ var Button = React2.forwardRef((props, ref) => {
|
|
|
100
101
|
}, rest), props.value);
|
|
101
102
|
});
|
|
102
103
|
Button.defaultProps = {
|
|
103
|
-
value: "
|
|
104
|
+
value: "Shop now"
|
|
104
105
|
};
|
|
105
106
|
var schema2 = {
|
|
106
107
|
title: "Button",
|
|
107
108
|
type: "button",
|
|
109
|
+
parentType: "container",
|
|
108
110
|
styles: [
|
|
109
111
|
{
|
|
110
112
|
type: "dimensions"
|
|
@@ -140,13 +142,19 @@ var schema2 = {
|
|
|
140
142
|
data: {
|
|
141
143
|
css: {
|
|
142
144
|
"@desktop": {
|
|
143
|
-
borderRadius: "
|
|
145
|
+
borderRadius: "72px",
|
|
146
|
+
border: "none",
|
|
147
|
+
backgroundColor: "#0F71FF",
|
|
148
|
+
color: "#fff",
|
|
144
149
|
fontSize: "13px",
|
|
145
|
-
padding: "10px
|
|
150
|
+
padding: "10px 20px"
|
|
146
151
|
}
|
|
147
152
|
},
|
|
148
153
|
target: "",
|
|
149
154
|
openInNewTab: false
|
|
155
|
+
},
|
|
156
|
+
flags: {
|
|
157
|
+
draggable: true
|
|
150
158
|
}
|
|
151
159
|
};
|
|
152
160
|
var button_default = Button;
|
|
@@ -161,6 +169,7 @@ var Container = (0, import_react2.forwardRef)((props, ref) => {
|
|
|
161
169
|
var schema3 = {
|
|
162
170
|
title: "Container",
|
|
163
171
|
type: "container",
|
|
172
|
+
parentType: "layout",
|
|
164
173
|
data: {
|
|
165
174
|
css: {
|
|
166
175
|
"@desktop": {
|
|
@@ -171,13 +180,17 @@ var schema3 = {
|
|
|
171
180
|
justifyContent: "flex-start",
|
|
172
181
|
textAlign: "left",
|
|
173
182
|
gridArea: "1 / 1 / 3 / 6",
|
|
174
|
-
overflow: "hidden",
|
|
175
183
|
width: "100%",
|
|
176
184
|
height: "fit-content"
|
|
177
185
|
}
|
|
178
186
|
}
|
|
179
187
|
},
|
|
180
|
-
settings: []
|
|
188
|
+
settings: [],
|
|
189
|
+
flags: {
|
|
190
|
+
draggable: true,
|
|
191
|
+
resizable: true,
|
|
192
|
+
sortable: true
|
|
193
|
+
}
|
|
181
194
|
};
|
|
182
195
|
var container_default = Container;
|
|
183
196
|
|
|
@@ -202,6 +215,7 @@ var Layout = (0, import_react3.forwardRef)((props, ref) => {
|
|
|
202
215
|
var schema4 = {
|
|
203
216
|
title: "Layout",
|
|
204
217
|
type: "layout",
|
|
218
|
+
parentType: "root",
|
|
205
219
|
data: {
|
|
206
220
|
css: {
|
|
207
221
|
"@desktop": {
|
|
@@ -219,7 +233,7 @@ var schema4 = {
|
|
|
219
233
|
}
|
|
220
234
|
},
|
|
221
235
|
"@mobile": {
|
|
222
|
-
padding: "0",
|
|
236
|
+
padding: "0 16px",
|
|
223
237
|
"> [data-layout-content]": {
|
|
224
238
|
display: "flex !important",
|
|
225
239
|
flexDirection: "column"
|
|
@@ -251,6 +265,7 @@ Text.defaultProps = {
|
|
|
251
265
|
};
|
|
252
266
|
var schema5 = {
|
|
253
267
|
type: "text",
|
|
268
|
+
parentType: "container",
|
|
254
269
|
title: "Text",
|
|
255
270
|
settings: [],
|
|
256
271
|
data: {
|
|
@@ -263,7 +278,7 @@ var schema5 = {
|
|
|
263
278
|
outline: "none",
|
|
264
279
|
wordBreak: "break-word",
|
|
265
280
|
overflowWrap: "break-word",
|
|
266
|
-
|
|
281
|
+
whiteSpace: "break-spaces"
|
|
267
282
|
}
|
|
268
283
|
}
|
|
269
284
|
}
|
|
@@ -282,12 +297,13 @@ var Image = import_react4.default.forwardRef(function Image2(props, ref) {
|
|
|
282
297
|
}));
|
|
283
298
|
});
|
|
284
299
|
Image.defaultProps = {
|
|
285
|
-
src: "https://ucarecdn.com/
|
|
300
|
+
src: "https://ucarecdn.com/1cdc9d39-ca62-492e-8ec7-f1a86b241a90/",
|
|
286
301
|
alt: "weaverse image element"
|
|
287
302
|
};
|
|
288
303
|
var schema6 = {
|
|
289
304
|
settings: [],
|
|
290
305
|
type: "image",
|
|
306
|
+
parentType: "layout",
|
|
291
307
|
title: "Image",
|
|
292
308
|
data: {
|
|
293
309
|
css: {
|
|
@@ -295,12 +311,261 @@ var schema6 = {
|
|
|
295
311
|
width: "100%",
|
|
296
312
|
height: "100%",
|
|
297
313
|
objectFit: "cover"
|
|
314
|
+
},
|
|
315
|
+
"@mobile": {
|
|
316
|
+
display: "block"
|
|
298
317
|
}
|
|
299
318
|
}
|
|
319
|
+
},
|
|
320
|
+
flags: {
|
|
321
|
+
resizable: true,
|
|
322
|
+
draggable: true,
|
|
323
|
+
sortable: true
|
|
300
324
|
}
|
|
301
325
|
};
|
|
302
326
|
var image_default = Image;
|
|
303
327
|
|
|
328
|
+
// src/elements/video.tsx
|
|
329
|
+
var import_react5 = __toESM(require("react"));
|
|
330
|
+
var Video = (0, import_react5.forwardRef)((props, ref) => {
|
|
331
|
+
const { isDesignMode } = (0, import_react5.useContext)(WeaverseContext);
|
|
332
|
+
let _a = props, { src, type, controls, autoPlay, loop, muted } = _a, rest = __objRest(_a, ["src", "type", "controls", "autoPlay", "loop", "muted"]);
|
|
333
|
+
if (isDesignMode) {
|
|
334
|
+
controls = false;
|
|
335
|
+
autoPlay = false;
|
|
336
|
+
}
|
|
337
|
+
console.info("9779 props", props, isDesignMode);
|
|
338
|
+
return /* @__PURE__ */ import_react5.default.createElement("video", __spreadValues({
|
|
339
|
+
ref,
|
|
340
|
+
controls,
|
|
341
|
+
autoPlay,
|
|
342
|
+
loop,
|
|
343
|
+
muted: true
|
|
344
|
+
}, rest), /* @__PURE__ */ import_react5.default.createElement("source", {
|
|
345
|
+
src,
|
|
346
|
+
type: type || "video/mp4",
|
|
347
|
+
controlsList: "nodownload",
|
|
348
|
+
disablePictureInPicture: true
|
|
349
|
+
}));
|
|
350
|
+
});
|
|
351
|
+
Video.defaultProps = {
|
|
352
|
+
src: "https://ucarecdn.com/7cae0dab-8966-4484-9998-602728c360ca/IMG_0048.MOV",
|
|
353
|
+
poster: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
|
|
354
|
+
loop: false,
|
|
355
|
+
type: "video/mp4",
|
|
356
|
+
controls: false,
|
|
357
|
+
autoPlay: true,
|
|
358
|
+
muted: true,
|
|
359
|
+
width: "100%",
|
|
360
|
+
height: "auto"
|
|
361
|
+
};
|
|
362
|
+
var schema7 = {
|
|
363
|
+
title: "Video",
|
|
364
|
+
type: "video",
|
|
365
|
+
parentType: "layout",
|
|
366
|
+
toolbar: [
|
|
367
|
+
{
|
|
368
|
+
type: "delete"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
type: "duplicate"
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
type: "link"
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
type: "color"
|
|
378
|
+
}
|
|
379
|
+
],
|
|
380
|
+
flags: {
|
|
381
|
+
resizable: true,
|
|
382
|
+
draggable: true,
|
|
383
|
+
sortable: true
|
|
384
|
+
}
|
|
385
|
+
};
|
|
386
|
+
var video_default = Video;
|
|
387
|
+
|
|
388
|
+
// src/elements/map.tsx
|
|
389
|
+
var import_react6 = __toESM(require("react"));
|
|
390
|
+
var Map = (0, import_react6.forwardRef)((props, ref) => {
|
|
391
|
+
const { place, zoom } = props;
|
|
392
|
+
console.info("9779 props", props);
|
|
393
|
+
return /* @__PURE__ */ import_react6.default.createElement("div", __spreadValues({
|
|
394
|
+
ref
|
|
395
|
+
}, props), /* @__PURE__ */ import_react6.default.createElement("iframe", {
|
|
396
|
+
loading: "lazy",
|
|
397
|
+
scrolling: "no",
|
|
398
|
+
width: "100%",
|
|
399
|
+
height: "100%",
|
|
400
|
+
title: "map",
|
|
401
|
+
src: `https://maps.google.com/maps?z=${zoom}&t=m&q=${place}&ie=UTF8&&output=embed`,
|
|
402
|
+
style: {
|
|
403
|
+
pointerEvents: "none"
|
|
404
|
+
}
|
|
405
|
+
}));
|
|
406
|
+
});
|
|
407
|
+
Map.defaultProps = {
|
|
408
|
+
place: "Hanoi",
|
|
409
|
+
zoom: 14
|
|
410
|
+
};
|
|
411
|
+
var schema8 = {
|
|
412
|
+
title: "Map",
|
|
413
|
+
type: "map",
|
|
414
|
+
parentType: "layout",
|
|
415
|
+
toolbar: [
|
|
416
|
+
{
|
|
417
|
+
type: "delete"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
type: "duplicate"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
type: "link"
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
type: "color"
|
|
427
|
+
}
|
|
428
|
+
],
|
|
429
|
+
data: {
|
|
430
|
+
css: {
|
|
431
|
+
"@desktop": {
|
|
432
|
+
gridArea: "1 / 1 / 11 / 13"
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
flags: {
|
|
437
|
+
resizable: true,
|
|
438
|
+
draggable: true,
|
|
439
|
+
sortable: true
|
|
440
|
+
}
|
|
441
|
+
};
|
|
442
|
+
var map_default = Map;
|
|
443
|
+
|
|
444
|
+
// src/elements/countdown/index.tsx
|
|
445
|
+
var import_react8 = __toESM(require("react"));
|
|
446
|
+
|
|
447
|
+
// src/elements/countdown/utils.ts
|
|
448
|
+
function getTime(seconds) {
|
|
449
|
+
const ONE_MINUTE = 60 * 1e3;
|
|
450
|
+
const ONE_HOUR = 60 * ONE_MINUTE;
|
|
451
|
+
const ONE_DAY = 24 * ONE_HOUR;
|
|
452
|
+
const days = Math.floor(seconds / ONE_DAY);
|
|
453
|
+
const hours = Math.floor((seconds - days * ONE_DAY) / ONE_HOUR);
|
|
454
|
+
const mins = Math.floor((seconds - days * ONE_DAY - hours * ONE_HOUR) / ONE_MINUTE);
|
|
455
|
+
const secs = Math.floor((seconds - days * ONE_DAY - hours * ONE_HOUR - mins * ONE_MINUTE) / 1e3);
|
|
456
|
+
return { days, hours, mins, secs };
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
// src/elements/countdown/timer-block.tsx
|
|
460
|
+
var import_react7 = __toESM(require("react"));
|
|
461
|
+
var TimerBlock = (props) => {
|
|
462
|
+
return /* @__PURE__ */ import_react7.default.createElement("div", null, /* @__PURE__ */ import_react7.default.createElement("div", null, props.value.toString().padStart(2, "0")), props.label && /* @__PURE__ */ import_react7.default.createElement("div", {
|
|
463
|
+
className: "wv-countdown-label"
|
|
464
|
+
}, props.label));
|
|
465
|
+
};
|
|
466
|
+
var timer_block_default = TimerBlock;
|
|
467
|
+
|
|
468
|
+
// src/elements/countdown/index.tsx
|
|
469
|
+
var Countdown = (0, import_react8.forwardRef)((props, ref) => {
|
|
470
|
+
const { isDesignMode } = (0, import_react8.useContext)(WeaverseContext);
|
|
471
|
+
let { type, startTime, endTime, periods, redirectUrl, openInNewTab, showColon, showLabel } = props;
|
|
472
|
+
const [remaining, setRemaining] = import_react8.default.useState(0);
|
|
473
|
+
if (typeof endTime !== "number") {
|
|
474
|
+
endTime = Number.parseInt(endTime);
|
|
475
|
+
}
|
|
476
|
+
(0, import_react8.useEffect)(() => {
|
|
477
|
+
const flag = setInterval(() => {
|
|
478
|
+
const remainingTime = Math.max((type === "specific" ? new Date(endTime).getTime() : new Date(startTime) + periods * 60 * 1e3) - Date.now(), 0);
|
|
479
|
+
if (!isDesignMode && redirectUrl && remainingTime > 0 && remainingTime < 1e3) {
|
|
480
|
+
window.open(redirectUrl, openInNewTab ? "_blank" : "_self");
|
|
481
|
+
}
|
|
482
|
+
setRemaining(remainingTime);
|
|
483
|
+
}, 1e3);
|
|
484
|
+
return () => {
|
|
485
|
+
clearInterval(flag);
|
|
486
|
+
};
|
|
487
|
+
}, [startTime, endTime, periods, type]);
|
|
488
|
+
const timer = getTime(remaining);
|
|
489
|
+
return /* @__PURE__ */ import_react8.default.createElement("div", __spreadValues({
|
|
490
|
+
ref
|
|
491
|
+
}, props), /* @__PURE__ */ import_react8.default.createElement(timer_block_default, {
|
|
492
|
+
value: timer.days,
|
|
493
|
+
label: showLabel && "days"
|
|
494
|
+
}), /* @__PURE__ */ import_react8.default.createElement("span", {
|
|
495
|
+
className: !showColon && "hidden"
|
|
496
|
+
}, ":"), /* @__PURE__ */ import_react8.default.createElement(timer_block_default, {
|
|
497
|
+
value: timer.hours,
|
|
498
|
+
label: showLabel && "hours"
|
|
499
|
+
}), /* @__PURE__ */ import_react8.default.createElement("span", {
|
|
500
|
+
className: !showColon && "hidden"
|
|
501
|
+
}, ":"), /* @__PURE__ */ import_react8.default.createElement(timer_block_default, {
|
|
502
|
+
value: timer.mins,
|
|
503
|
+
label: showLabel && "minutes"
|
|
504
|
+
}), /* @__PURE__ */ import_react8.default.createElement("span", {
|
|
505
|
+
className: !showColon && "hidden"
|
|
506
|
+
}, ":"), /* @__PURE__ */ import_react8.default.createElement(timer_block_default, {
|
|
507
|
+
value: timer.secs,
|
|
508
|
+
label: showLabel && "seconds"
|
|
509
|
+
}));
|
|
510
|
+
});
|
|
511
|
+
Countdown.defaultProps = {
|
|
512
|
+
type: "specific",
|
|
513
|
+
startTime: Date.now(),
|
|
514
|
+
endTime: 1661140528e3,
|
|
515
|
+
redirectUrl: "",
|
|
516
|
+
openInNewTab: false,
|
|
517
|
+
showLabel: true,
|
|
518
|
+
showColon: true
|
|
519
|
+
};
|
|
520
|
+
var schema9 = {
|
|
521
|
+
title: "Countdown",
|
|
522
|
+
type: "countdown",
|
|
523
|
+
parentType: "container",
|
|
524
|
+
toolbar: [
|
|
525
|
+
{
|
|
526
|
+
type: "delete"
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
type: "duplicate"
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
type: "link"
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
type: "color"
|
|
536
|
+
}
|
|
537
|
+
],
|
|
538
|
+
data: {
|
|
539
|
+
css: {
|
|
540
|
+
"@desktop": {
|
|
541
|
+
fontFamily: "Inter",
|
|
542
|
+
fontSize: 36,
|
|
543
|
+
fontWeight: 500,
|
|
544
|
+
display: "grid",
|
|
545
|
+
gridAutoFlow: "column",
|
|
546
|
+
gap: 10,
|
|
547
|
+
"& > div": {
|
|
548
|
+
width: 48,
|
|
549
|
+
textAlign: "center"
|
|
550
|
+
},
|
|
551
|
+
"& .wv-countdown-label": {
|
|
552
|
+
fontSize: 10
|
|
553
|
+
},
|
|
554
|
+
"& > span": {
|
|
555
|
+
lineHeight: "100%"
|
|
556
|
+
},
|
|
557
|
+
"& .hidden": {
|
|
558
|
+
visibility: "hidden"
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
},
|
|
563
|
+
flags: {
|
|
564
|
+
draggable: true
|
|
565
|
+
}
|
|
566
|
+
};
|
|
567
|
+
var countdown_default = Countdown;
|
|
568
|
+
|
|
304
569
|
// src/elements/index.ts
|
|
305
570
|
var elements = {
|
|
306
571
|
Button: {
|
|
@@ -326,6 +591,18 @@ var elements = {
|
|
|
326
591
|
Image: {
|
|
327
592
|
Component: image_default,
|
|
328
593
|
schema: schema6
|
|
594
|
+
},
|
|
595
|
+
Video: {
|
|
596
|
+
Component: video_default,
|
|
597
|
+
schema: schema7
|
|
598
|
+
},
|
|
599
|
+
Map: {
|
|
600
|
+
Component: map_default,
|
|
601
|
+
schema: schema8
|
|
602
|
+
},
|
|
603
|
+
Countdown: {
|
|
604
|
+
Component: countdown_default,
|
|
605
|
+
schema: schema9
|
|
329
606
|
}
|
|
330
607
|
};
|
|
331
608
|
var elements_default = elements;
|
|
@@ -338,13 +615,13 @@ var createRootContext = (configs) => {
|
|
|
338
615
|
});
|
|
339
616
|
return rootContext;
|
|
340
617
|
};
|
|
341
|
-
var WeaverseContext = (0,
|
|
618
|
+
var WeaverseContext = (0, import_react9.createContext)({});
|
|
342
619
|
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
343
620
|
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
344
621
|
|
|
345
622
|
// src/renderer.tsx
|
|
346
623
|
var import_core2 = require("@weaverse/core");
|
|
347
|
-
var
|
|
624
|
+
var import_react10 = __toESM(require("react"));
|
|
348
625
|
|
|
349
626
|
// src/utils/index.ts
|
|
350
627
|
var shortCssObject = (css) => {
|
|
@@ -371,9 +648,9 @@ function generateItemClass(instance, stitchesInstance) {
|
|
|
371
648
|
// src/renderer.tsx
|
|
372
649
|
var WeaverseRoot = ({ context }) => {
|
|
373
650
|
var _a;
|
|
374
|
-
let [, setData] = (0,
|
|
375
|
-
let rootRef = (0,
|
|
376
|
-
(0,
|
|
651
|
+
let [, setData] = (0, import_react10.useState)(context.projectData);
|
|
652
|
+
let rootRef = (0, import_react10.useRef)();
|
|
653
|
+
(0, import_react10.useEffect)(() => {
|
|
377
654
|
let update = () => setData({});
|
|
378
655
|
context.subscribe(update);
|
|
379
656
|
if (context.projectData) {
|
|
@@ -386,21 +663,21 @@ var WeaverseRoot = ({ context }) => {
|
|
|
386
663
|
}, []);
|
|
387
664
|
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
388
665
|
let themeClass = context.stitchesInstance.theme.className;
|
|
389
|
-
return /* @__PURE__ */
|
|
666
|
+
return /* @__PURE__ */ import_react10.default.createElement("div", __spreadProps(__spreadValues({
|
|
390
667
|
className: `weaverse-content-root ${themeClass}`
|
|
391
668
|
}, eventHandlers), {
|
|
392
669
|
ref: rootRef
|
|
393
|
-
}), /* @__PURE__ */
|
|
670
|
+
}), /* @__PURE__ */ import_react10.default.createElement(WeaverseContextProvider, {
|
|
394
671
|
value: context
|
|
395
|
-
}, /* @__PURE__ */
|
|
672
|
+
}, /* @__PURE__ */ import_react10.default.createElement(ItemInstance, {
|
|
396
673
|
id: context.projectData.rootId || 0
|
|
397
674
|
})));
|
|
398
675
|
};
|
|
399
676
|
var ItemComponent = ({ instance }) => {
|
|
400
|
-
let { stitchesInstance, elementInstances } = (0,
|
|
401
|
-
let [data, setData] = (0,
|
|
677
|
+
let { stitchesInstance, elementInstances } = (0, import_react10.useContext)(WeaverseContext);
|
|
678
|
+
let [data, setData] = (0, import_react10.useState)(instance.data);
|
|
402
679
|
let _a = data, { id, type, childIds = [], css, className: cls = "" } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
403
|
-
(0,
|
|
680
|
+
(0, import_react10.useEffect)(() => {
|
|
404
681
|
let update = (data2) => setData(__spreadValues({}, data2));
|
|
405
682
|
instance.subscribe(update);
|
|
406
683
|
if (import_core2.isBrowser && !instance.ref.current) {
|
|
@@ -418,12 +695,12 @@ var ItemComponent = ({ instance }) => {
|
|
|
418
695
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
419
696
|
rest.ref = instance.ref;
|
|
420
697
|
}
|
|
421
|
-
return /* @__PURE__ */
|
|
698
|
+
return /* @__PURE__ */ import_react10.default.createElement(Component, __spreadValues({
|
|
422
699
|
key: id,
|
|
423
700
|
"data-wv-type": type,
|
|
424
701
|
"data-wv-id": id,
|
|
425
702
|
className: generateItemClass(instance, stitchesInstance)
|
|
426
|
-
}, rest), childIds.map((id2) => /* @__PURE__ */
|
|
703
|
+
}, rest), childIds.map((id2) => /* @__PURE__ */ import_react10.default.createElement(ItemInstance, {
|
|
427
704
|
key: id2,
|
|
428
705
|
id: id2
|
|
429
706
|
})));
|
|
@@ -431,15 +708,15 @@ var ItemComponent = ({ instance }) => {
|
|
|
431
708
|
return null;
|
|
432
709
|
};
|
|
433
710
|
var ItemInstance = ({ id }) => {
|
|
434
|
-
let context = (0,
|
|
711
|
+
let context = (0, import_react10.useContext)(WeaverseContext);
|
|
435
712
|
let { itemInstances } = context;
|
|
436
713
|
let instance = itemInstances.get(id);
|
|
437
714
|
if (!instance) {
|
|
438
|
-
return /* @__PURE__ */
|
|
715
|
+
return /* @__PURE__ */ import_react10.default.createElement("div", {
|
|
439
716
|
style: { display: "none" }
|
|
440
717
|
}, "Item instance ", id, " not found");
|
|
441
718
|
}
|
|
442
|
-
return /* @__PURE__ */
|
|
719
|
+
return /* @__PURE__ */ import_react10.default.createElement(ItemComponent, {
|
|
443
720
|
instance
|
|
444
721
|
});
|
|
445
722
|
};
|
package/dist/index.mjs
CHANGED
|
@@ -48,6 +48,7 @@ BaseElement.defaultProps = {
|
|
|
48
48
|
};
|
|
49
49
|
var schema = {
|
|
50
50
|
type: "base",
|
|
51
|
+
parentType: "container",
|
|
51
52
|
title: "Base",
|
|
52
53
|
settings: []
|
|
53
54
|
};
|
|
@@ -70,11 +71,12 @@ var Button = React2.forwardRef((props, ref) => {
|
|
|
70
71
|
}, rest), props.value);
|
|
71
72
|
});
|
|
72
73
|
Button.defaultProps = {
|
|
73
|
-
value: "
|
|
74
|
+
value: "Shop now"
|
|
74
75
|
};
|
|
75
76
|
var schema2 = {
|
|
76
77
|
title: "Button",
|
|
77
78
|
type: "button",
|
|
79
|
+
parentType: "container",
|
|
78
80
|
styles: [
|
|
79
81
|
{
|
|
80
82
|
type: "dimensions"
|
|
@@ -110,13 +112,19 @@ var schema2 = {
|
|
|
110
112
|
data: {
|
|
111
113
|
css: {
|
|
112
114
|
"@desktop": {
|
|
113
|
-
borderRadius: "
|
|
115
|
+
borderRadius: "72px",
|
|
116
|
+
border: "none",
|
|
117
|
+
backgroundColor: "#0F71FF",
|
|
118
|
+
color: "#fff",
|
|
114
119
|
fontSize: "13px",
|
|
115
|
-
padding: "10px
|
|
120
|
+
padding: "10px 20px"
|
|
116
121
|
}
|
|
117
122
|
},
|
|
118
123
|
target: "",
|
|
119
124
|
openInNewTab: false
|
|
125
|
+
},
|
|
126
|
+
flags: {
|
|
127
|
+
draggable: true
|
|
120
128
|
}
|
|
121
129
|
};
|
|
122
130
|
var button_default = Button;
|
|
@@ -131,6 +139,7 @@ var Container = forwardRef2((props, ref) => {
|
|
|
131
139
|
var schema3 = {
|
|
132
140
|
title: "Container",
|
|
133
141
|
type: "container",
|
|
142
|
+
parentType: "layout",
|
|
134
143
|
data: {
|
|
135
144
|
css: {
|
|
136
145
|
"@desktop": {
|
|
@@ -141,13 +150,17 @@ var schema3 = {
|
|
|
141
150
|
justifyContent: "flex-start",
|
|
142
151
|
textAlign: "left",
|
|
143
152
|
gridArea: "1 / 1 / 3 / 6",
|
|
144
|
-
overflow: "hidden",
|
|
145
153
|
width: "100%",
|
|
146
154
|
height: "fit-content"
|
|
147
155
|
}
|
|
148
156
|
}
|
|
149
157
|
},
|
|
150
|
-
settings: []
|
|
158
|
+
settings: [],
|
|
159
|
+
flags: {
|
|
160
|
+
draggable: true,
|
|
161
|
+
resizable: true,
|
|
162
|
+
sortable: true
|
|
163
|
+
}
|
|
151
164
|
};
|
|
152
165
|
var container_default = Container;
|
|
153
166
|
|
|
@@ -172,6 +185,7 @@ var Layout = forwardRef3((props, ref) => {
|
|
|
172
185
|
var schema4 = {
|
|
173
186
|
title: "Layout",
|
|
174
187
|
type: "layout",
|
|
188
|
+
parentType: "root",
|
|
175
189
|
data: {
|
|
176
190
|
css: {
|
|
177
191
|
"@desktop": {
|
|
@@ -189,7 +203,7 @@ var schema4 = {
|
|
|
189
203
|
}
|
|
190
204
|
},
|
|
191
205
|
"@mobile": {
|
|
192
|
-
padding: "0",
|
|
206
|
+
padding: "0 16px",
|
|
193
207
|
"> [data-layout-content]": {
|
|
194
208
|
display: "flex !important",
|
|
195
209
|
flexDirection: "column"
|
|
@@ -221,6 +235,7 @@ Text.defaultProps = {
|
|
|
221
235
|
};
|
|
222
236
|
var schema5 = {
|
|
223
237
|
type: "text",
|
|
238
|
+
parentType: "container",
|
|
224
239
|
title: "Text",
|
|
225
240
|
settings: [],
|
|
226
241
|
data: {
|
|
@@ -233,7 +248,7 @@ var schema5 = {
|
|
|
233
248
|
outline: "none",
|
|
234
249
|
wordBreak: "break-word",
|
|
235
250
|
overflowWrap: "break-word",
|
|
236
|
-
|
|
251
|
+
whiteSpace: "break-spaces"
|
|
237
252
|
}
|
|
238
253
|
}
|
|
239
254
|
}
|
|
@@ -252,12 +267,13 @@ var Image = React6.forwardRef(function Image2(props, ref) {
|
|
|
252
267
|
}));
|
|
253
268
|
});
|
|
254
269
|
Image.defaultProps = {
|
|
255
|
-
src: "https://ucarecdn.com/
|
|
270
|
+
src: "https://ucarecdn.com/1cdc9d39-ca62-492e-8ec7-f1a86b241a90/",
|
|
256
271
|
alt: "weaverse image element"
|
|
257
272
|
};
|
|
258
273
|
var schema6 = {
|
|
259
274
|
settings: [],
|
|
260
275
|
type: "image",
|
|
276
|
+
parentType: "layout",
|
|
261
277
|
title: "Image",
|
|
262
278
|
data: {
|
|
263
279
|
css: {
|
|
@@ -265,12 +281,261 @@ var schema6 = {
|
|
|
265
281
|
width: "100%",
|
|
266
282
|
height: "100%",
|
|
267
283
|
objectFit: "cover"
|
|
284
|
+
},
|
|
285
|
+
"@mobile": {
|
|
286
|
+
display: "block"
|
|
268
287
|
}
|
|
269
288
|
}
|
|
289
|
+
},
|
|
290
|
+
flags: {
|
|
291
|
+
resizable: true,
|
|
292
|
+
draggable: true,
|
|
293
|
+
sortable: true
|
|
270
294
|
}
|
|
271
295
|
};
|
|
272
296
|
var image_default = Image;
|
|
273
297
|
|
|
298
|
+
// src/elements/video.tsx
|
|
299
|
+
import React7, { forwardRef as forwardRef5, useContext } from "react";
|
|
300
|
+
var Video = forwardRef5((props, ref) => {
|
|
301
|
+
const { isDesignMode } = useContext(WeaverseContext);
|
|
302
|
+
let _a = props, { src, type, controls, autoPlay, loop, muted } = _a, rest = __objRest(_a, ["src", "type", "controls", "autoPlay", "loop", "muted"]);
|
|
303
|
+
if (isDesignMode) {
|
|
304
|
+
controls = false;
|
|
305
|
+
autoPlay = false;
|
|
306
|
+
}
|
|
307
|
+
console.info("9779 props", props, isDesignMode);
|
|
308
|
+
return /* @__PURE__ */ React7.createElement("video", __spreadValues({
|
|
309
|
+
ref,
|
|
310
|
+
controls,
|
|
311
|
+
autoPlay,
|
|
312
|
+
loop,
|
|
313
|
+
muted: true
|
|
314
|
+
}, rest), /* @__PURE__ */ React7.createElement("source", {
|
|
315
|
+
src,
|
|
316
|
+
type: type || "video/mp4",
|
|
317
|
+
controlsList: "nodownload",
|
|
318
|
+
disablePictureInPicture: true
|
|
319
|
+
}));
|
|
320
|
+
});
|
|
321
|
+
Video.defaultProps = {
|
|
322
|
+
src: "https://ucarecdn.com/7cae0dab-8966-4484-9998-602728c360ca/IMG_0048.MOV",
|
|
323
|
+
poster: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
|
|
324
|
+
loop: false,
|
|
325
|
+
type: "video/mp4",
|
|
326
|
+
controls: false,
|
|
327
|
+
autoPlay: true,
|
|
328
|
+
muted: true,
|
|
329
|
+
width: "100%",
|
|
330
|
+
height: "auto"
|
|
331
|
+
};
|
|
332
|
+
var schema7 = {
|
|
333
|
+
title: "Video",
|
|
334
|
+
type: "video",
|
|
335
|
+
parentType: "layout",
|
|
336
|
+
toolbar: [
|
|
337
|
+
{
|
|
338
|
+
type: "delete"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
type: "duplicate"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
type: "link"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
type: "color"
|
|
348
|
+
}
|
|
349
|
+
],
|
|
350
|
+
flags: {
|
|
351
|
+
resizable: true,
|
|
352
|
+
draggable: true,
|
|
353
|
+
sortable: true
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
var video_default = Video;
|
|
357
|
+
|
|
358
|
+
// src/elements/map.tsx
|
|
359
|
+
import React8, { forwardRef as forwardRef6 } from "react";
|
|
360
|
+
var Map = forwardRef6((props, ref) => {
|
|
361
|
+
const { place, zoom } = props;
|
|
362
|
+
console.info("9779 props", props);
|
|
363
|
+
return /* @__PURE__ */ React8.createElement("div", __spreadValues({
|
|
364
|
+
ref
|
|
365
|
+
}, props), /* @__PURE__ */ React8.createElement("iframe", {
|
|
366
|
+
loading: "lazy",
|
|
367
|
+
scrolling: "no",
|
|
368
|
+
width: "100%",
|
|
369
|
+
height: "100%",
|
|
370
|
+
title: "map",
|
|
371
|
+
src: `https://maps.google.com/maps?z=${zoom}&t=m&q=${place}&ie=UTF8&&output=embed`,
|
|
372
|
+
style: {
|
|
373
|
+
pointerEvents: "none"
|
|
374
|
+
}
|
|
375
|
+
}));
|
|
376
|
+
});
|
|
377
|
+
Map.defaultProps = {
|
|
378
|
+
place: "Hanoi",
|
|
379
|
+
zoom: 14
|
|
380
|
+
};
|
|
381
|
+
var schema8 = {
|
|
382
|
+
title: "Map",
|
|
383
|
+
type: "map",
|
|
384
|
+
parentType: "layout",
|
|
385
|
+
toolbar: [
|
|
386
|
+
{
|
|
387
|
+
type: "delete"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
type: "duplicate"
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
type: "link"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
type: "color"
|
|
397
|
+
}
|
|
398
|
+
],
|
|
399
|
+
data: {
|
|
400
|
+
css: {
|
|
401
|
+
"@desktop": {
|
|
402
|
+
gridArea: "1 / 1 / 11 / 13"
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
flags: {
|
|
407
|
+
resizable: true,
|
|
408
|
+
draggable: true,
|
|
409
|
+
sortable: true
|
|
410
|
+
}
|
|
411
|
+
};
|
|
412
|
+
var map_default = Map;
|
|
413
|
+
|
|
414
|
+
// src/elements/countdown/index.tsx
|
|
415
|
+
import React10, { forwardRef as forwardRef7, useContext as useContext2, useEffect } from "react";
|
|
416
|
+
|
|
417
|
+
// src/elements/countdown/utils.ts
|
|
418
|
+
function getTime(seconds) {
|
|
419
|
+
const ONE_MINUTE = 60 * 1e3;
|
|
420
|
+
const ONE_HOUR = 60 * ONE_MINUTE;
|
|
421
|
+
const ONE_DAY = 24 * ONE_HOUR;
|
|
422
|
+
const days = Math.floor(seconds / ONE_DAY);
|
|
423
|
+
const hours = Math.floor((seconds - days * ONE_DAY) / ONE_HOUR);
|
|
424
|
+
const mins = Math.floor((seconds - days * ONE_DAY - hours * ONE_HOUR) / ONE_MINUTE);
|
|
425
|
+
const secs = Math.floor((seconds - days * ONE_DAY - hours * ONE_HOUR - mins * ONE_MINUTE) / 1e3);
|
|
426
|
+
return { days, hours, mins, secs };
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// src/elements/countdown/timer-block.tsx
|
|
430
|
+
import React9 from "react";
|
|
431
|
+
var TimerBlock = (props) => {
|
|
432
|
+
return /* @__PURE__ */ React9.createElement("div", null, /* @__PURE__ */ React9.createElement("div", null, props.value.toString().padStart(2, "0")), props.label && /* @__PURE__ */ React9.createElement("div", {
|
|
433
|
+
className: "wv-countdown-label"
|
|
434
|
+
}, props.label));
|
|
435
|
+
};
|
|
436
|
+
var timer_block_default = TimerBlock;
|
|
437
|
+
|
|
438
|
+
// src/elements/countdown/index.tsx
|
|
439
|
+
var Countdown = forwardRef7((props, ref) => {
|
|
440
|
+
const { isDesignMode } = useContext2(WeaverseContext);
|
|
441
|
+
let { type, startTime, endTime, periods, redirectUrl, openInNewTab, showColon, showLabel } = props;
|
|
442
|
+
const [remaining, setRemaining] = React10.useState(0);
|
|
443
|
+
if (typeof endTime !== "number") {
|
|
444
|
+
endTime = Number.parseInt(endTime);
|
|
445
|
+
}
|
|
446
|
+
useEffect(() => {
|
|
447
|
+
const flag = setInterval(() => {
|
|
448
|
+
const remainingTime = Math.max((type === "specific" ? new Date(endTime).getTime() : new Date(startTime) + periods * 60 * 1e3) - Date.now(), 0);
|
|
449
|
+
if (!isDesignMode && redirectUrl && remainingTime > 0 && remainingTime < 1e3) {
|
|
450
|
+
window.open(redirectUrl, openInNewTab ? "_blank" : "_self");
|
|
451
|
+
}
|
|
452
|
+
setRemaining(remainingTime);
|
|
453
|
+
}, 1e3);
|
|
454
|
+
return () => {
|
|
455
|
+
clearInterval(flag);
|
|
456
|
+
};
|
|
457
|
+
}, [startTime, endTime, periods, type]);
|
|
458
|
+
const timer = getTime(remaining);
|
|
459
|
+
return /* @__PURE__ */ React10.createElement("div", __spreadValues({
|
|
460
|
+
ref
|
|
461
|
+
}, props), /* @__PURE__ */ React10.createElement(timer_block_default, {
|
|
462
|
+
value: timer.days,
|
|
463
|
+
label: showLabel && "days"
|
|
464
|
+
}), /* @__PURE__ */ React10.createElement("span", {
|
|
465
|
+
className: !showColon && "hidden"
|
|
466
|
+
}, ":"), /* @__PURE__ */ React10.createElement(timer_block_default, {
|
|
467
|
+
value: timer.hours,
|
|
468
|
+
label: showLabel && "hours"
|
|
469
|
+
}), /* @__PURE__ */ React10.createElement("span", {
|
|
470
|
+
className: !showColon && "hidden"
|
|
471
|
+
}, ":"), /* @__PURE__ */ React10.createElement(timer_block_default, {
|
|
472
|
+
value: timer.mins,
|
|
473
|
+
label: showLabel && "minutes"
|
|
474
|
+
}), /* @__PURE__ */ React10.createElement("span", {
|
|
475
|
+
className: !showColon && "hidden"
|
|
476
|
+
}, ":"), /* @__PURE__ */ React10.createElement(timer_block_default, {
|
|
477
|
+
value: timer.secs,
|
|
478
|
+
label: showLabel && "seconds"
|
|
479
|
+
}));
|
|
480
|
+
});
|
|
481
|
+
Countdown.defaultProps = {
|
|
482
|
+
type: "specific",
|
|
483
|
+
startTime: Date.now(),
|
|
484
|
+
endTime: 1661140528e3,
|
|
485
|
+
redirectUrl: "",
|
|
486
|
+
openInNewTab: false,
|
|
487
|
+
showLabel: true,
|
|
488
|
+
showColon: true
|
|
489
|
+
};
|
|
490
|
+
var schema9 = {
|
|
491
|
+
title: "Countdown",
|
|
492
|
+
type: "countdown",
|
|
493
|
+
parentType: "container",
|
|
494
|
+
toolbar: [
|
|
495
|
+
{
|
|
496
|
+
type: "delete"
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
type: "duplicate"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
type: "link"
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
type: "color"
|
|
506
|
+
}
|
|
507
|
+
],
|
|
508
|
+
data: {
|
|
509
|
+
css: {
|
|
510
|
+
"@desktop": {
|
|
511
|
+
fontFamily: "Inter",
|
|
512
|
+
fontSize: 36,
|
|
513
|
+
fontWeight: 500,
|
|
514
|
+
display: "grid",
|
|
515
|
+
gridAutoFlow: "column",
|
|
516
|
+
gap: 10,
|
|
517
|
+
"& > div": {
|
|
518
|
+
width: 48,
|
|
519
|
+
textAlign: "center"
|
|
520
|
+
},
|
|
521
|
+
"& .wv-countdown-label": {
|
|
522
|
+
fontSize: 10
|
|
523
|
+
},
|
|
524
|
+
"& > span": {
|
|
525
|
+
lineHeight: "100%"
|
|
526
|
+
},
|
|
527
|
+
"& .hidden": {
|
|
528
|
+
visibility: "hidden"
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
},
|
|
533
|
+
flags: {
|
|
534
|
+
draggable: true
|
|
535
|
+
}
|
|
536
|
+
};
|
|
537
|
+
var countdown_default = Countdown;
|
|
538
|
+
|
|
274
539
|
// src/elements/index.ts
|
|
275
540
|
var elements = {
|
|
276
541
|
Button: {
|
|
@@ -296,6 +561,18 @@ var elements = {
|
|
|
296
561
|
Image: {
|
|
297
562
|
Component: image_default,
|
|
298
563
|
schema: schema6
|
|
564
|
+
},
|
|
565
|
+
Video: {
|
|
566
|
+
Component: video_default,
|
|
567
|
+
schema: schema7
|
|
568
|
+
},
|
|
569
|
+
Map: {
|
|
570
|
+
Component: map_default,
|
|
571
|
+
schema: schema8
|
|
572
|
+
},
|
|
573
|
+
Countdown: {
|
|
574
|
+
Component: countdown_default,
|
|
575
|
+
schema: schema9
|
|
299
576
|
}
|
|
300
577
|
};
|
|
301
578
|
var elements_default = elements;
|
|
@@ -314,7 +591,7 @@ var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
|
314
591
|
|
|
315
592
|
// src/renderer.tsx
|
|
316
593
|
import { isBrowser } from "@weaverse/core";
|
|
317
|
-
import
|
|
594
|
+
import React11, { useContext as useContext3, useEffect as useEffect2, useRef, useState } from "react";
|
|
318
595
|
|
|
319
596
|
// src/utils/index.ts
|
|
320
597
|
var shortCssObject = (css) => {
|
|
@@ -343,7 +620,7 @@ var WeaverseRoot = ({ context }) => {
|
|
|
343
620
|
var _a;
|
|
344
621
|
let [, setData] = useState(context.projectData);
|
|
345
622
|
let rootRef = useRef();
|
|
346
|
-
|
|
623
|
+
useEffect2(() => {
|
|
347
624
|
let update = () => setData({});
|
|
348
625
|
context.subscribe(update);
|
|
349
626
|
if (context.projectData) {
|
|
@@ -356,21 +633,21 @@ var WeaverseRoot = ({ context }) => {
|
|
|
356
633
|
}, []);
|
|
357
634
|
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
358
635
|
let themeClass = context.stitchesInstance.theme.className;
|
|
359
|
-
return /* @__PURE__ */
|
|
636
|
+
return /* @__PURE__ */ React11.createElement("div", __spreadProps(__spreadValues({
|
|
360
637
|
className: `weaverse-content-root ${themeClass}`
|
|
361
638
|
}, eventHandlers), {
|
|
362
639
|
ref: rootRef
|
|
363
|
-
}), /* @__PURE__ */
|
|
640
|
+
}), /* @__PURE__ */ React11.createElement(WeaverseContextProvider, {
|
|
364
641
|
value: context
|
|
365
|
-
}, /* @__PURE__ */
|
|
642
|
+
}, /* @__PURE__ */ React11.createElement(ItemInstance, {
|
|
366
643
|
id: context.projectData.rootId || 0
|
|
367
644
|
})));
|
|
368
645
|
};
|
|
369
646
|
var ItemComponent = ({ instance }) => {
|
|
370
|
-
let { stitchesInstance, elementInstances } =
|
|
647
|
+
let { stitchesInstance, elementInstances } = useContext3(WeaverseContext);
|
|
371
648
|
let [data, setData] = useState(instance.data);
|
|
372
649
|
let _a = data, { id, type, childIds = [], css, className: cls = "" } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
373
|
-
|
|
650
|
+
useEffect2(() => {
|
|
374
651
|
let update = (data2) => setData(__spreadValues({}, data2));
|
|
375
652
|
instance.subscribe(update);
|
|
376
653
|
if (isBrowser && !instance.ref.current) {
|
|
@@ -388,12 +665,12 @@ var ItemComponent = ({ instance }) => {
|
|
|
388
665
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
389
666
|
rest.ref = instance.ref;
|
|
390
667
|
}
|
|
391
|
-
return /* @__PURE__ */
|
|
668
|
+
return /* @__PURE__ */ React11.createElement(Component, __spreadValues({
|
|
392
669
|
key: id,
|
|
393
670
|
"data-wv-type": type,
|
|
394
671
|
"data-wv-id": id,
|
|
395
672
|
className: generateItemClass(instance, stitchesInstance)
|
|
396
|
-
}, rest), childIds.map((id2) => /* @__PURE__ */
|
|
673
|
+
}, rest), childIds.map((id2) => /* @__PURE__ */ React11.createElement(ItemInstance, {
|
|
397
674
|
key: id2,
|
|
398
675
|
id: id2
|
|
399
676
|
})));
|
|
@@ -401,15 +678,15 @@ var ItemComponent = ({ instance }) => {
|
|
|
401
678
|
return null;
|
|
402
679
|
};
|
|
403
680
|
var ItemInstance = ({ id }) => {
|
|
404
|
-
let context =
|
|
681
|
+
let context = useContext3(WeaverseContext);
|
|
405
682
|
let { itemInstances } = context;
|
|
406
683
|
let instance = itemInstances.get(id);
|
|
407
684
|
if (!instance) {
|
|
408
|
-
return /* @__PURE__ */
|
|
685
|
+
return /* @__PURE__ */ React11.createElement("div", {
|
|
409
686
|
style: { display: "none" }
|
|
410
687
|
}, "Item instance ", id, " not found");
|
|
411
688
|
}
|
|
412
|
-
return /* @__PURE__ */
|
|
689
|
+
return /* @__PURE__ */ React11.createElement(ItemComponent, {
|
|
413
690
|
instance
|
|
414
691
|
});
|
|
415
692
|
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.6.
|
|
2
|
+
"version": "0.6.15",
|
|
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.15"
|
|
35
35
|
}
|
|
36
36
|
}
|