@weaverse/react 0.7.9 → 0.7.11
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 +7 -2
- package/dist/index.js +431 -444
- package/dist/index.mjs +325 -340
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
// src/context.ts
|
|
2
|
-
import { Weaverse } from "@weaverse/core";
|
|
3
|
-
import { createContext as createContext3 } from "react";
|
|
4
|
-
|
|
5
1
|
// src/elements/button.tsx
|
|
6
2
|
import * as React from "react";
|
|
7
3
|
var Button = React.forwardRef((props, ref) => {
|
|
@@ -50,27 +46,40 @@ var Container = forwardRef2(
|
|
|
50
46
|
}, children);
|
|
51
47
|
}
|
|
52
48
|
);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
width: "100%"
|
|
66
|
-
}
|
|
49
|
+
var css = {
|
|
50
|
+
"@desktop": {
|
|
51
|
+
alignItems: "flex-start",
|
|
52
|
+
backgroundColor: "rgba(248,203,203,0.38)",
|
|
53
|
+
display: "flex",
|
|
54
|
+
flexDirection: "column",
|
|
55
|
+
gridArea: "1 / 1 / 3 / 6",
|
|
56
|
+
height: "fit-content",
|
|
57
|
+
justifyContent: "flex-start",
|
|
58
|
+
overflow: "hidden",
|
|
59
|
+
textAlign: "left",
|
|
60
|
+
width: "100%"
|
|
67
61
|
}
|
|
68
62
|
};
|
|
63
|
+
Container.defaultProps = {};
|
|
69
64
|
var container_default = Container;
|
|
70
65
|
|
|
71
66
|
// src/elements/countdown/index.tsx
|
|
72
67
|
import React4, { forwardRef as forwardRef3, useContext, useEffect } from "react";
|
|
73
68
|
|
|
69
|
+
// src/context.ts
|
|
70
|
+
import { Weaverse } from "@weaverse/core";
|
|
71
|
+
import { createContext } from "react";
|
|
72
|
+
var createRootContext = (configs) => {
|
|
73
|
+
let rootContext = new Weaverse(configs);
|
|
74
|
+
Object.keys(Elements).forEach((key) => {
|
|
75
|
+
rootContext.registerElement(Elements[key]);
|
|
76
|
+
});
|
|
77
|
+
return rootContext;
|
|
78
|
+
};
|
|
79
|
+
var WeaverseContext = createContext({});
|
|
80
|
+
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
81
|
+
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
82
|
+
|
|
74
83
|
// src/elements/countdown/timer-block.tsx
|
|
75
84
|
import React3 from "react";
|
|
76
85
|
function TimerBlock({ value, label }) {
|
|
@@ -148,6 +157,29 @@ var Countdown = forwardRef3(
|
|
|
148
157
|
}));
|
|
149
158
|
}
|
|
150
159
|
);
|
|
160
|
+
var css2 = {
|
|
161
|
+
"@desktop": {
|
|
162
|
+
fontFamily: "Inter",
|
|
163
|
+
fontSize: 36,
|
|
164
|
+
fontWeight: 500,
|
|
165
|
+
display: "grid",
|
|
166
|
+
gridAutoFlow: "column",
|
|
167
|
+
gap: 10,
|
|
168
|
+
"& > div": {
|
|
169
|
+
width: 48,
|
|
170
|
+
textAlign: "center"
|
|
171
|
+
},
|
|
172
|
+
".wv-countdown-label": {
|
|
173
|
+
fontSize: 10
|
|
174
|
+
},
|
|
175
|
+
"& > span": {
|
|
176
|
+
lineHeight: "100%"
|
|
177
|
+
},
|
|
178
|
+
"& .hidden": {
|
|
179
|
+
visibility: "hidden"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
};
|
|
151
183
|
Countdown.defaultProps = {
|
|
152
184
|
timerType: "fixed-time",
|
|
153
185
|
startTime: Date.now(),
|
|
@@ -156,30 +188,7 @@ Countdown.defaultProps = {
|
|
|
156
188
|
redirectUrl: "https://myshop.com",
|
|
157
189
|
openInNewTab: false,
|
|
158
190
|
showLabel: true,
|
|
159
|
-
showColon: true
|
|
160
|
-
css: {
|
|
161
|
-
"@desktop": {
|
|
162
|
-
fontFamily: "Inter",
|
|
163
|
-
fontSize: 36,
|
|
164
|
-
fontWeight: 500,
|
|
165
|
-
display: "grid",
|
|
166
|
-
gridAutoFlow: "column",
|
|
167
|
-
gap: 10,
|
|
168
|
-
"& > div": {
|
|
169
|
-
width: 48,
|
|
170
|
-
textAlign: "center"
|
|
171
|
-
},
|
|
172
|
-
".wv-countdown-label": {
|
|
173
|
-
fontSize: 10
|
|
174
|
-
},
|
|
175
|
-
"& > span": {
|
|
176
|
-
lineHeight: "100%"
|
|
177
|
-
},
|
|
178
|
-
"& .hidden": {
|
|
179
|
-
visibility: "hidden"
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
191
|
+
showColon: true
|
|
183
192
|
};
|
|
184
193
|
var countdown_default = Countdown;
|
|
185
194
|
|
|
@@ -220,23 +229,23 @@ var Image = React5.forwardRef(
|
|
|
220
229
|
}));
|
|
221
230
|
}
|
|
222
231
|
);
|
|
232
|
+
var css3 = {
|
|
233
|
+
"@desktop": {
|
|
234
|
+
img: {
|
|
235
|
+
width: "100%",
|
|
236
|
+
height: "100%",
|
|
237
|
+
objectFit: "var(--wv-img-object-fit, cover)",
|
|
238
|
+
objectPosition: "var(--wv-img-object-position, center)"
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
};
|
|
223
242
|
Image.defaultProps = {
|
|
224
243
|
src: "https://ucarecdn.com/c413b8fe-ceec-4948-9c42-a0434c4ca920/",
|
|
225
244
|
alt: "Image alt text",
|
|
226
245
|
objectFit: "cover",
|
|
227
246
|
objectPosition: "center",
|
|
228
247
|
onClickAction: "open-lightbox",
|
|
229
|
-
openLinkInNewTab: false
|
|
230
|
-
css: {
|
|
231
|
-
"@desktop": {
|
|
232
|
-
img: {
|
|
233
|
-
width: "100%",
|
|
234
|
-
height: "100%",
|
|
235
|
-
objectFit: "var(--wv-img-object-fit, cover)",
|
|
236
|
-
objectPosition: "var(--wv-img-object-position, center)"
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
248
|
+
openLinkInNewTab: false
|
|
240
249
|
};
|
|
241
250
|
var image_default = Image;
|
|
242
251
|
|
|
@@ -260,35 +269,35 @@ var Layout = forwardRef4((props, ref) => {
|
|
|
260
269
|
"data-layout-content": true
|
|
261
270
|
}, children));
|
|
262
271
|
});
|
|
272
|
+
var css4 = {
|
|
273
|
+
"@desktop": {
|
|
274
|
+
paddingTop: "16px",
|
|
275
|
+
paddingBottom: "16px",
|
|
276
|
+
paddingLeft: "var(--gap)",
|
|
277
|
+
paddingRight: "var(--gap)",
|
|
278
|
+
"> [data-layout-content]": {
|
|
279
|
+
margin: "0 auto",
|
|
280
|
+
display: "grid !important",
|
|
281
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
282
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
283
|
+
gap: "var(--gap)",
|
|
284
|
+
maxWidth: "var(--grid-size)"
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
"@mobile": {
|
|
288
|
+
padding: "0 16px",
|
|
289
|
+
"> [data-layout-content]": {
|
|
290
|
+
display: "flex !important",
|
|
291
|
+
flexDirection: "column"
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
};
|
|
263
295
|
Layout.defaultProps = {
|
|
264
296
|
gridSize: 1224,
|
|
265
297
|
rows: 12,
|
|
266
298
|
columns: 12,
|
|
267
299
|
gap: 16,
|
|
268
|
-
rowSize: 48
|
|
269
|
-
css: {
|
|
270
|
-
"@desktop": {
|
|
271
|
-
paddingTop: "16px",
|
|
272
|
-
paddingBottom: "16px",
|
|
273
|
-
paddingLeft: "var(--gap)",
|
|
274
|
-
paddingRight: "var(--gap)",
|
|
275
|
-
"> [data-layout-content]": {
|
|
276
|
-
margin: "0 auto",
|
|
277
|
-
display: "grid !important",
|
|
278
|
-
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
279
|
-
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
280
|
-
gap: "var(--gap)",
|
|
281
|
-
maxWidth: "var(--grid-size)"
|
|
282
|
-
}
|
|
283
|
-
},
|
|
284
|
-
"@mobile": {
|
|
285
|
-
padding: "0 16px",
|
|
286
|
-
"> [data-layout-content]": {
|
|
287
|
-
display: "flex !important",
|
|
288
|
-
flexDirection: "column"
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
}
|
|
300
|
+
rowSize: 48
|
|
292
301
|
};
|
|
293
302
|
var layout_default = Layout;
|
|
294
303
|
|
|
@@ -309,6 +318,7 @@ var Map = forwardRef5((props, ref) => {
|
|
|
309
318
|
style: { pointerEvents: "none" }
|
|
310
319
|
}));
|
|
311
320
|
});
|
|
321
|
+
var css5 = {};
|
|
312
322
|
Map.defaultProps = {
|
|
313
323
|
place: "Hanoi",
|
|
314
324
|
zoom: 14
|
|
@@ -327,17 +337,17 @@ var Text = React8.forwardRef(
|
|
|
327
337
|
});
|
|
328
338
|
}
|
|
329
339
|
);
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
"
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
overflowWrap: "break-word",
|
|
337
|
-
whiteSpace: "break-spaces"
|
|
338
|
-
}
|
|
340
|
+
var css6 = {
|
|
341
|
+
"@desktop": {
|
|
342
|
+
padding: "10px",
|
|
343
|
+
wordBreak: "break-word",
|
|
344
|
+
overflowWrap: "break-word",
|
|
345
|
+
whiteSpace: "break-spaces"
|
|
339
346
|
}
|
|
340
347
|
};
|
|
348
|
+
Text.defaultProps = {
|
|
349
|
+
value: "The quick brown fox jumps over the lazy dog"
|
|
350
|
+
};
|
|
341
351
|
var text_default = Text;
|
|
342
352
|
|
|
343
353
|
// src/elements/video.tsx
|
|
@@ -360,6 +370,15 @@ var Video = forwardRef7((props, ref) => {
|
|
|
360
370
|
type: type || "video/mp4"
|
|
361
371
|
}), "Your browser does not support the video tag."));
|
|
362
372
|
});
|
|
373
|
+
var css7 = {
|
|
374
|
+
"@desktop": {
|
|
375
|
+
video: {
|
|
376
|
+
height: "100%",
|
|
377
|
+
width: "100%",
|
|
378
|
+
aspectRatio: "16 / 9"
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
};
|
|
363
382
|
Video.defaultProps = {
|
|
364
383
|
src: "https://youtu.be/wM-NT6hcw48",
|
|
365
384
|
poster: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
|
|
@@ -367,16 +386,7 @@ Video.defaultProps = {
|
|
|
367
386
|
type: "video/mp4",
|
|
368
387
|
controls: false,
|
|
369
388
|
autoPlay: true,
|
|
370
|
-
muted: true
|
|
371
|
-
css: {
|
|
372
|
-
"@desktop": {
|
|
373
|
-
video: {
|
|
374
|
-
height: "100%",
|
|
375
|
-
width: "100%",
|
|
376
|
-
aspectRatio: "16 / 9"
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
}
|
|
389
|
+
muted: true
|
|
380
390
|
};
|
|
381
391
|
var video_default = Video;
|
|
382
392
|
|
|
@@ -455,36 +465,36 @@ var Instagram = forwardRef9(
|
|
|
455
465
|
})));
|
|
456
466
|
}
|
|
457
467
|
);
|
|
468
|
+
var css8 = {
|
|
469
|
+
"@desktop": {
|
|
470
|
+
".wv-ig-media-container": {
|
|
471
|
+
overflow: "hidden",
|
|
472
|
+
maxWidth: "100%",
|
|
473
|
+
maxHeight: "100%",
|
|
474
|
+
display: "grid",
|
|
475
|
+
gridTemplateColumns: "repeat(var(--wv-ig-images-per-row, 4), 1fr)",
|
|
476
|
+
gap: "var(--wv-ig-images-gap, 0px)",
|
|
477
|
+
img: {
|
|
478
|
+
aspectRatio: "1 / 1",
|
|
479
|
+
width: "100%",
|
|
480
|
+
height: "100%",
|
|
481
|
+
objectFit: "cover"
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
};
|
|
458
486
|
Instagram.defaultProps = {
|
|
459
487
|
token: "",
|
|
460
488
|
username: "",
|
|
461
489
|
numberOfImages: 8,
|
|
462
490
|
imagesPerRow: 4,
|
|
463
|
-
gap: 0
|
|
464
|
-
css: {
|
|
465
|
-
"@desktop": {
|
|
466
|
-
".wv-ig-media-container": {
|
|
467
|
-
overflow: "hidden",
|
|
468
|
-
maxWidth: "100%",
|
|
469
|
-
maxHeight: "100%",
|
|
470
|
-
display: "grid",
|
|
471
|
-
gridTemplateColumns: "repeat(var(--wv-ig-images-per-row, 4), 1fr)",
|
|
472
|
-
gap: "var(--wv-ig-images-gap, 0px)",
|
|
473
|
-
img: {
|
|
474
|
-
aspectRatio: "1 / 1",
|
|
475
|
-
width: "100%",
|
|
476
|
-
height: "100%",
|
|
477
|
-
objectFit: "cover"
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
}
|
|
491
|
+
gap: 0
|
|
482
492
|
};
|
|
483
493
|
var instagram_default = Instagram;
|
|
484
494
|
|
|
485
495
|
// src/elements/accordion/index.tsx
|
|
486
|
-
import React12, { createContext, forwardRef as forwardRef10, useState as useState2 } from "react";
|
|
487
|
-
var AccordionContext =
|
|
496
|
+
import React12, { createContext as createContext2, forwardRef as forwardRef10, useState as useState2 } from "react";
|
|
497
|
+
var AccordionContext = createContext2({
|
|
488
498
|
iconName: "arrow",
|
|
489
499
|
active: [],
|
|
490
500
|
setActive: () => {
|
|
@@ -509,16 +519,16 @@ var Accordion = forwardRef10(
|
|
|
509
519
|
}, children));
|
|
510
520
|
}
|
|
511
521
|
);
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
"
|
|
516
|
-
|
|
517
|
-
flexDirection: "column",
|
|
518
|
-
gap: 4
|
|
519
|
-
}
|
|
522
|
+
var css9 = {
|
|
523
|
+
"@desktop": {
|
|
524
|
+
display: "flex",
|
|
525
|
+
flexDirection: "column",
|
|
526
|
+
gap: 4
|
|
520
527
|
}
|
|
521
528
|
};
|
|
529
|
+
Accordion.defaultProps = {
|
|
530
|
+
iconName: "arrow"
|
|
531
|
+
};
|
|
522
532
|
var accordion_default = Accordion;
|
|
523
533
|
|
|
524
534
|
// src/elements/accordion/AccordionWrapper.tsx
|
|
@@ -583,11 +593,11 @@ var rotateAnimation = {
|
|
|
583
593
|
function Icon(props) {
|
|
584
594
|
let { name, active = false, style, ...rest } = props;
|
|
585
595
|
let { stitchesInstance } = useContext4(WeaverseContext);
|
|
586
|
-
const { animationType, css } = ICONS[name];
|
|
596
|
+
const { animationType, css: css16 } = ICONS[name];
|
|
587
597
|
if (active && animationType === "rotate90") {
|
|
588
598
|
style = { ...rotateAnimation, ...style };
|
|
589
599
|
}
|
|
590
|
-
let { className } = stitchesInstance.css(
|
|
600
|
+
let { className } = stitchesInstance.css(css16)();
|
|
591
601
|
if (active)
|
|
592
602
|
className += " active";
|
|
593
603
|
return /* @__PURE__ */ React13.createElement("span", {
|
|
@@ -616,33 +626,33 @@ var AccordionWrapper = forwardRef11((props, ref) => {
|
|
|
616
626
|
name: iconName
|
|
617
627
|
})), children);
|
|
618
628
|
});
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
"
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
"
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
'&.active + [data-wv-type="accordion.content"]': {
|
|
640
|
-
maxHeight: "var(--max-height, inherit)"
|
|
641
|
-
}
|
|
629
|
+
var css10 = {
|
|
630
|
+
"@desktop": {
|
|
631
|
+
maxHeight: "100%",
|
|
632
|
+
".wv-acc-icon": {
|
|
633
|
+
position: "absolute",
|
|
634
|
+
right: 16,
|
|
635
|
+
width: 16,
|
|
636
|
+
height: 16,
|
|
637
|
+
transition: "all 0.3s ease-in-out 0s"
|
|
638
|
+
},
|
|
639
|
+
".wv-acc-header": {
|
|
640
|
+
display: "flex",
|
|
641
|
+
alignItems: "center",
|
|
642
|
+
borderRadius: 4,
|
|
643
|
+
padding: 12,
|
|
644
|
+
marginBottom: 4,
|
|
645
|
+
border: "1px solid #76A9FA",
|
|
646
|
+
cursor: "pointer",
|
|
647
|
+
'&.active + [data-wv-type="accordion.content"]': {
|
|
648
|
+
maxHeight: "var(--max-height, inherit)"
|
|
642
649
|
}
|
|
643
650
|
}
|
|
644
651
|
}
|
|
645
652
|
};
|
|
653
|
+
AccordionWrapper.defaultProps = {
|
|
654
|
+
name: "Accordion item"
|
|
655
|
+
};
|
|
646
656
|
var AccordionWrapper_default = AccordionWrapper;
|
|
647
657
|
|
|
648
658
|
// src/elements/accordion/AccordionContent.tsx
|
|
@@ -667,30 +677,30 @@ var AccordionContent = forwardRef12(
|
|
|
667
677
|
}, "Drag and drop an element here."));
|
|
668
678
|
}
|
|
669
679
|
);
|
|
680
|
+
var css11 = {
|
|
681
|
+
"@desktop": {
|
|
682
|
+
width: "100%",
|
|
683
|
+
maxWidth: "var(--grid-size)",
|
|
684
|
+
display: "grid",
|
|
685
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
686
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
687
|
+
gap: "var(--gap)",
|
|
688
|
+
overflow: "hidden",
|
|
689
|
+
maxHeight: 0,
|
|
690
|
+
transition: "all var(--transition-duration, 0.3s) ease-in-out",
|
|
691
|
+
borderRadius: 4
|
|
692
|
+
}
|
|
693
|
+
};
|
|
670
694
|
AccordionContent.defaultProps = {
|
|
671
695
|
rows: 3,
|
|
672
696
|
columns: 12,
|
|
673
697
|
gap: 4,
|
|
674
|
-
rowSize: 48
|
|
675
|
-
css: {
|
|
676
|
-
"@desktop": {
|
|
677
|
-
width: "100%",
|
|
678
|
-
maxWidth: "var(--grid-size)",
|
|
679
|
-
display: "grid",
|
|
680
|
-
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
681
|
-
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
682
|
-
gap: "var(--gap)",
|
|
683
|
-
overflow: "hidden",
|
|
684
|
-
maxHeight: 0,
|
|
685
|
-
transition: "all var(--transition-duration, 0.3s) ease-in-out",
|
|
686
|
-
borderRadius: 4
|
|
687
|
-
}
|
|
688
|
-
}
|
|
698
|
+
rowSize: 48
|
|
689
699
|
};
|
|
690
700
|
var AccordionContent_default = AccordionContent;
|
|
691
701
|
|
|
692
702
|
// src/elements/tab/index.tsx
|
|
693
|
-
import React17, { createContext as
|
|
703
|
+
import React17, { createContext as createContext3, forwardRef as forwardRef13, useState as useState4 } from "react";
|
|
694
704
|
|
|
695
705
|
// src/elements/tab/TabHeaderWrapper.tsx
|
|
696
706
|
import React16, { useContext as useContext6, useEffect as useEffect3, useState as useState3 } from "react";
|
|
@@ -723,7 +733,7 @@ function TabHeaderWrapper(props) {
|
|
|
723
733
|
}
|
|
724
734
|
|
|
725
735
|
// src/elements/tab/index.tsx
|
|
726
|
-
var TabContext =
|
|
736
|
+
var TabContext = createContext3({
|
|
727
737
|
active: null,
|
|
728
738
|
setActive: () => {
|
|
729
739
|
}
|
|
@@ -751,32 +761,32 @@ var Tab = forwardRef13((props, ref) => {
|
|
|
751
761
|
wvId
|
|
752
762
|
}), children));
|
|
753
763
|
});
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
"
|
|
764
|
+
var css12 = {
|
|
765
|
+
"@desktop": {
|
|
766
|
+
display: "flex",
|
|
767
|
+
flexDirection: "column",
|
|
768
|
+
gap: 4,
|
|
769
|
+
"& .wv-tab-header-wrapper": {
|
|
770
|
+
width: "100%",
|
|
758
771
|
display: "flex",
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
cursor: "pointer",
|
|
771
|
-
textAlign: "center",
|
|
772
|
-
width: "var(--tab-width, auto)",
|
|
773
|
-
"&.active": {
|
|
774
|
-
backgroundColor: "#E4E7EB"
|
|
775
|
-
}
|
|
772
|
+
marginBottom: 10
|
|
773
|
+
},
|
|
774
|
+
"& .wv-tab-header": {
|
|
775
|
+
backgroundColor: "#fff",
|
|
776
|
+
padding: "15px 24px",
|
|
777
|
+
border: "1px solid #E4E7EB",
|
|
778
|
+
cursor: "pointer",
|
|
779
|
+
textAlign: "center",
|
|
780
|
+
width: "var(--tab-width, auto)",
|
|
781
|
+
"&.active": {
|
|
782
|
+
backgroundColor: "#E4E7EB"
|
|
776
783
|
}
|
|
777
784
|
}
|
|
778
785
|
}
|
|
779
786
|
};
|
|
787
|
+
Tab.defaultProps = {
|
|
788
|
+
fullWidthTabHeader: false
|
|
789
|
+
};
|
|
780
790
|
var tab_default = Tab;
|
|
781
791
|
|
|
782
792
|
// src/elements/tab/TabContent.tsx
|
|
@@ -804,23 +814,23 @@ var TabContent = forwardRef14(
|
|
|
804
814
|
}, "Drag and drop an element here."));
|
|
805
815
|
}
|
|
806
816
|
);
|
|
817
|
+
var css13 = {
|
|
818
|
+
"@desktop": {
|
|
819
|
+
width: "100%",
|
|
820
|
+
maxWidth: "var(--grid-size)",
|
|
821
|
+
display: "var(--content-active, none)",
|
|
822
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
823
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
824
|
+
gap: "var(--gap)",
|
|
825
|
+
borderRadius: 4
|
|
826
|
+
}
|
|
827
|
+
};
|
|
807
828
|
TabContent.defaultProps = {
|
|
808
829
|
rows: 3,
|
|
809
830
|
columns: 12,
|
|
810
831
|
gap: 4,
|
|
811
832
|
rowSize: 48,
|
|
812
|
-
name: "Tab header"
|
|
813
|
-
css: {
|
|
814
|
-
"@desktop": {
|
|
815
|
-
width: "100%",
|
|
816
|
-
maxWidth: "var(--grid-size)",
|
|
817
|
-
display: "var(--content-active, none)",
|
|
818
|
-
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
819
|
-
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
820
|
-
gap: "var(--gap)",
|
|
821
|
-
borderRadius: 4
|
|
822
|
-
}
|
|
823
|
-
}
|
|
833
|
+
name: "Tab header"
|
|
824
834
|
};
|
|
825
835
|
var TabContent_default = TabContent;
|
|
826
836
|
|
|
@@ -854,43 +864,43 @@ var Slider = forwardRef15((props, ref) => {
|
|
|
854
864
|
autoplayInterval: delay * 1e3
|
|
855
865
|
}, children));
|
|
856
866
|
});
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
"
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
"
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
},
|
|
886
|
-
"& .wv-slider-arrow-left": {
|
|
887
|
-
transform: "rotate(135deg)",
|
|
888
|
-
marginLeft: 5
|
|
889
|
-
}
|
|
867
|
+
var css14 = {
|
|
868
|
+
"@desktop": {
|
|
869
|
+
"& .wv-slider-btn": {
|
|
870
|
+
borderRadius: "100%",
|
|
871
|
+
width: 40,
|
|
872
|
+
height: 40,
|
|
873
|
+
background: "#fff",
|
|
874
|
+
border: "none",
|
|
875
|
+
cursor: "pointer",
|
|
876
|
+
"&[disabled]": {
|
|
877
|
+
cursor: "not-allowed"
|
|
878
|
+
},
|
|
879
|
+
"&:hover .wv-slider-arrow": {
|
|
880
|
+
borderColor: "#999"
|
|
881
|
+
},
|
|
882
|
+
"& .wv-slider-arrow": {
|
|
883
|
+
border: "solid black",
|
|
884
|
+
borderWidth: "0 1px 1px 0",
|
|
885
|
+
display: "inline-block",
|
|
886
|
+
padding: 5
|
|
887
|
+
},
|
|
888
|
+
"& .wv-slider-arrow-right": {
|
|
889
|
+
transform: "rotate(-45deg)",
|
|
890
|
+
marginRight: 5
|
|
891
|
+
},
|
|
892
|
+
"& .wv-slider-arrow-left": {
|
|
893
|
+
transform: "rotate(135deg)",
|
|
894
|
+
marginLeft: 5
|
|
890
895
|
}
|
|
891
896
|
}
|
|
892
897
|
}
|
|
893
898
|
};
|
|
899
|
+
Slider.defaultProps = {
|
|
900
|
+
fullWidth: true,
|
|
901
|
+
autoplay: true,
|
|
902
|
+
delay: 3
|
|
903
|
+
};
|
|
894
904
|
var slider_default = Slider;
|
|
895
905
|
|
|
896
906
|
// src/elements/slider/SliderContent.tsx
|
|
@@ -932,6 +942,18 @@ var SliderContent = forwardRef16(
|
|
|
932
942
|
}, "Drag and drop an element here."));
|
|
933
943
|
}
|
|
934
944
|
);
|
|
945
|
+
var css15 = {
|
|
946
|
+
"@desktop": {
|
|
947
|
+
width: "100%",
|
|
948
|
+
maxWidth: "var(--grid-size)",
|
|
949
|
+
display: "grid",
|
|
950
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
951
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
952
|
+
gap: "var(--gap)",
|
|
953
|
+
borderRadius: 4,
|
|
954
|
+
backgroundImage: "var(--background-url, none)"
|
|
955
|
+
}
|
|
956
|
+
};
|
|
935
957
|
SliderContent.defaultProps = {
|
|
936
958
|
name: "Slider",
|
|
937
959
|
mediaUrl: "",
|
|
@@ -940,64 +962,19 @@ SliderContent.defaultProps = {
|
|
|
940
962
|
rows: 4,
|
|
941
963
|
columns: 12,
|
|
942
964
|
gap: 4,
|
|
943
|
-
rowSize: 48
|
|
944
|
-
css: {
|
|
945
|
-
"@desktop": {
|
|
946
|
-
width: "100%",
|
|
947
|
-
maxWidth: "var(--grid-size)",
|
|
948
|
-
display: "grid",
|
|
949
|
-
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
950
|
-
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
951
|
-
gap: "var(--gap)",
|
|
952
|
-
borderRadius: 4,
|
|
953
|
-
backgroundImage: "var(--background-url, none)"
|
|
954
|
-
}
|
|
955
|
-
}
|
|
965
|
+
rowSize: 48
|
|
956
966
|
};
|
|
957
967
|
var SliderContent_default = SliderContent;
|
|
958
968
|
|
|
959
|
-
// src/elements/custom-html.tsx
|
|
960
|
-
import React21, { forwardRef as forwardRef17, useContext as useContext10 } from "react";
|
|
961
|
-
var CustomHTML = forwardRef17(
|
|
962
|
-
(props, ref) => {
|
|
963
|
-
const { content, children, ...rest } = props;
|
|
964
|
-
const { isDesignMode } = useContext10(WeaverseContext);
|
|
965
|
-
const style = {
|
|
966
|
-
"--pointer-events": isDesignMode ? "none" : "auto"
|
|
967
|
-
};
|
|
968
|
-
if (!content)
|
|
969
|
-
return /* @__PURE__ */ React21.createElement("div", {
|
|
970
|
-
ref,
|
|
971
|
-
...rest
|
|
972
|
-
}, /* @__PURE__ */ React21.createElement(Placeholder_default, {
|
|
973
|
-
element: "Custom HTML"
|
|
974
|
-
}, "Add your custom HTML code."));
|
|
975
|
-
return /* @__PURE__ */ React21.createElement("div", {
|
|
976
|
-
ref,
|
|
977
|
-
...rest,
|
|
978
|
-
style,
|
|
979
|
-
dangerouslySetInnerHTML: { __html: content }
|
|
980
|
-
});
|
|
981
|
-
}
|
|
982
|
-
);
|
|
983
|
-
CustomHTML.defaultProps = {
|
|
984
|
-
content: "",
|
|
985
|
-
type: "custom.html",
|
|
986
|
-
css: {
|
|
987
|
-
"@desktop": {
|
|
988
|
-
"& > *": {
|
|
989
|
-
pointerEvents: "var(--pointer-events, unset)"
|
|
990
|
-
}
|
|
991
|
-
}
|
|
992
|
-
}
|
|
993
|
-
};
|
|
994
|
-
var custom_html_default = CustomHTML;
|
|
995
|
-
|
|
996
969
|
// src/elements/index.ts
|
|
970
|
+
var SharedComponents = {
|
|
971
|
+
Placeholder: Placeholder_default
|
|
972
|
+
};
|
|
997
973
|
var Elements = {
|
|
998
974
|
Countdown: {
|
|
999
975
|
Component: countdown_default,
|
|
1000
|
-
type: "countdown"
|
|
976
|
+
type: "countdown",
|
|
977
|
+
defaultCss: css2
|
|
1001
978
|
},
|
|
1002
979
|
Button: {
|
|
1003
980
|
Component: button_default,
|
|
@@ -1005,100 +982,110 @@ var Elements = {
|
|
|
1005
982
|
},
|
|
1006
983
|
Container: {
|
|
1007
984
|
Component: container_default,
|
|
1008
|
-
type: "container"
|
|
985
|
+
type: "container",
|
|
986
|
+
defaultCss: css
|
|
1009
987
|
},
|
|
1010
988
|
Image: {
|
|
1011
989
|
Component: image_default,
|
|
1012
|
-
type: "image"
|
|
990
|
+
type: "image",
|
|
991
|
+
defaultCss: css3
|
|
1013
992
|
},
|
|
1014
993
|
Instagram: {
|
|
1015
994
|
Component: instagram_default,
|
|
1016
|
-
type: "instagram"
|
|
995
|
+
type: "instagram",
|
|
996
|
+
defaultCss: css8
|
|
1017
997
|
},
|
|
1018
998
|
Layout: {
|
|
1019
999
|
Component: layout_default,
|
|
1020
|
-
type: "layout"
|
|
1000
|
+
type: "layout",
|
|
1001
|
+
defaultCss: css4
|
|
1021
1002
|
},
|
|
1022
1003
|
Map: {
|
|
1023
1004
|
Component: map_default,
|
|
1024
|
-
type: "map"
|
|
1005
|
+
type: "map",
|
|
1006
|
+
defaultCss: css5
|
|
1025
1007
|
},
|
|
1026
1008
|
Text: {
|
|
1027
1009
|
Component: text_default,
|
|
1028
|
-
type: "text"
|
|
1010
|
+
type: "text",
|
|
1011
|
+
defaultCss: css6
|
|
1029
1012
|
},
|
|
1030
1013
|
Video: {
|
|
1031
1014
|
Component: video_default,
|
|
1032
|
-
type: "video"
|
|
1015
|
+
type: "video",
|
|
1016
|
+
defaultCss: css7
|
|
1033
1017
|
},
|
|
1034
1018
|
Accordion: {
|
|
1035
1019
|
Component: accordion_default,
|
|
1036
|
-
type: "accordion"
|
|
1020
|
+
type: "accordion",
|
|
1021
|
+
defaultCss: css9
|
|
1037
1022
|
},
|
|
1038
1023
|
AccordionWrapper: {
|
|
1039
1024
|
Component: AccordionWrapper_default,
|
|
1040
|
-
type: "accordion.wrapper"
|
|
1025
|
+
type: "accordion.wrapper",
|
|
1026
|
+
defaultCss: css10
|
|
1041
1027
|
},
|
|
1042
1028
|
AccordionContent: {
|
|
1043
1029
|
Component: AccordionContent_default,
|
|
1044
|
-
type: "accordion.content"
|
|
1030
|
+
type: "accordion.content",
|
|
1031
|
+
defaultCss: css11
|
|
1045
1032
|
},
|
|
1046
1033
|
Tab: {
|
|
1047
1034
|
Component: tab_default,
|
|
1048
|
-
type: "tab"
|
|
1035
|
+
type: "tab",
|
|
1036
|
+
defaultCss: css12
|
|
1049
1037
|
},
|
|
1050
1038
|
TabContent: {
|
|
1051
1039
|
Component: TabContent_default,
|
|
1052
|
-
type: "tab.content"
|
|
1040
|
+
type: "tab.content",
|
|
1041
|
+
defaultCss: css13
|
|
1053
1042
|
},
|
|
1054
1043
|
Slider: {
|
|
1055
1044
|
Component: slider_default,
|
|
1056
|
-
type: "slider"
|
|
1045
|
+
type: "slider",
|
|
1046
|
+
defaultCss: css14
|
|
1057
1047
|
},
|
|
1058
1048
|
SliderContent: {
|
|
1059
1049
|
Component: SliderContent_default,
|
|
1060
|
-
type: "slider.content"
|
|
1061
|
-
|
|
1062
|
-
CustomHTML: {
|
|
1063
|
-
Component: custom_html_default,
|
|
1064
|
-
type: "custom.html"
|
|
1050
|
+
type: "slider.content",
|
|
1051
|
+
defaultCss: css15
|
|
1065
1052
|
}
|
|
1066
1053
|
};
|
|
1067
1054
|
|
|
1068
|
-
// src/context.ts
|
|
1069
|
-
var createRootContext = (configs) => {
|
|
1070
|
-
let rootContext = new Weaverse(configs);
|
|
1071
|
-
Object.keys(Elements).forEach((key) => {
|
|
1072
|
-
rootContext.registerElement(Elements[key]);
|
|
1073
|
-
});
|
|
1074
|
-
return rootContext;
|
|
1075
|
-
};
|
|
1076
|
-
var WeaverseContext = createContext3({});
|
|
1077
|
-
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
1078
|
-
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
1079
|
-
|
|
1080
1055
|
// src/renderer.tsx
|
|
1081
1056
|
import { isBrowser } from "@weaverse/core";
|
|
1082
|
-
import
|
|
1057
|
+
import React21, { useContext as useContext10, useEffect as useEffect4, useRef, useState as useState5 } from "react";
|
|
1083
1058
|
|
|
1084
1059
|
// src/utils/index.ts
|
|
1085
|
-
function shortCssObject(
|
|
1060
|
+
function shortCssObject(css16) {
|
|
1086
1061
|
return {
|
|
1087
|
-
"@desktop":
|
|
1088
|
-
"@mobile":
|
|
1062
|
+
"@desktop": css16["@desktop"],
|
|
1063
|
+
"@mobile": css16["@mobile"]
|
|
1089
1064
|
};
|
|
1090
1065
|
}
|
|
1066
|
+
var permanentClasses = {};
|
|
1091
1067
|
function generateItemClass(instance, stitchesInstance) {
|
|
1092
|
-
var _a, _b
|
|
1093
|
-
let { css, className: cls = "" } = instance.data;
|
|
1094
|
-
let defaultCss = ((_c = (_b = (_a = instance.Element) == null ? void 0 : _a.Component) == null ? void 0 : _b.defaultProps) == null ? void 0 : _c.css) || {};
|
|
1068
|
+
var _a, _b;
|
|
1069
|
+
let { css: css16, type, className: cls = "" } = instance.data;
|
|
1095
1070
|
let className = "";
|
|
1096
|
-
|
|
1097
|
-
|
|
1071
|
+
let permanentClass = "";
|
|
1072
|
+
let perCss = (_a = instance.Element) == null ? void 0 : _a.permanentCss;
|
|
1073
|
+
if (perCss) {
|
|
1074
|
+
if (type in permanentClasses) {
|
|
1075
|
+
permanentClass = permanentClasses[type];
|
|
1076
|
+
} else {
|
|
1077
|
+
let { className: perCls } = stitchesInstance.css(perCss)();
|
|
1078
|
+
Object.assign(permanentClasses, { [type]: perCls });
|
|
1079
|
+
permanentClass = perCls;
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
className = permanentClass;
|
|
1083
|
+
if (css16) {
|
|
1084
|
+
let formattedCss = shortCssObject(css16);
|
|
1098
1085
|
let { className: newClass = "" } = stitchesInstance.css(formattedCss)();
|
|
1099
1086
|
let { stitchesClass } = instance;
|
|
1100
|
-
let otherClass = (((
|
|
1101
|
-
className = `${cls} ${newClass} ${otherClass}`.trim();
|
|
1087
|
+
let otherClass = (((_b = instance.ref.current) == null ? void 0 : _b.className) || "").replace(stitchesClass, "").replace(cls, "").replace(permanentClass, "").trim();
|
|
1088
|
+
className = `${permanentClass} ${cls} ${newClass} ${otherClass}`.trim();
|
|
1102
1089
|
instance.stitchesClass = newClass;
|
|
1103
1090
|
}
|
|
1104
1091
|
return className;
|
|
@@ -1119,22 +1106,21 @@ var WeaverseRoot = ({ context }) => {
|
|
|
1119
1106
|
}, []);
|
|
1120
1107
|
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
1121
1108
|
let themeClass = context.stitchesInstance.theme.className;
|
|
1122
|
-
return ((_b = context.projectData) == null ? void 0 : _b.rootId) ? /* @__PURE__ */
|
|
1109
|
+
return ((_b = context.projectData) == null ? void 0 : _b.rootId) ? /* @__PURE__ */ React21.createElement("div", {
|
|
1123
1110
|
className: `weaverse-content-root ${themeClass}`,
|
|
1124
1111
|
...eventHandlers,
|
|
1125
1112
|
ref: rootRef
|
|
1126
|
-
}, /* @__PURE__ */
|
|
1113
|
+
}, /* @__PURE__ */ React21.createElement(WeaverseContextProvider, {
|
|
1127
1114
|
value: context
|
|
1128
|
-
}, /* @__PURE__ */
|
|
1115
|
+
}, /* @__PURE__ */ React21.createElement(ItemInstance, {
|
|
1129
1116
|
id: context.projectData.rootId
|
|
1130
1117
|
}))) : null;
|
|
1131
1118
|
};
|
|
1132
1119
|
var ItemComponent = ({ instance }) => {
|
|
1133
|
-
let { stitchesInstance, elementInstances } =
|
|
1120
|
+
let { stitchesInstance, elementInstances } = useContext10(WeaverseContext);
|
|
1134
1121
|
let [data, setData] = useState5(instance.data);
|
|
1135
|
-
let { id, type, childIds = [], css, className, ...rest } = data;
|
|
1122
|
+
let { id, type, childIds = [], css: css16, className, ...rest } = data;
|
|
1136
1123
|
useEffect4(() => {
|
|
1137
|
-
var _a;
|
|
1138
1124
|
let update = (data2) => setData({ ...data2 });
|
|
1139
1125
|
instance.subscribe(update);
|
|
1140
1126
|
if (isBrowser && !instance.ref.current) {
|
|
@@ -1142,10 +1128,7 @@ var ItemComponent = ({ instance }) => {
|
|
|
1142
1128
|
current: document.querySelector(`[data-wv-id="${id}"]`)
|
|
1143
1129
|
});
|
|
1144
1130
|
}
|
|
1145
|
-
(
|
|
1146
|
-
return () => {
|
|
1147
|
-
instance.unsubscribe(update);
|
|
1148
|
-
};
|
|
1131
|
+
return () => instance.unsubscribe(update);
|
|
1149
1132
|
}, []);
|
|
1150
1133
|
let Element = elementInstances.get(type);
|
|
1151
1134
|
if (Element == null ? void 0 : Element.Component) {
|
|
@@ -1153,13 +1136,13 @@ var ItemComponent = ({ instance }) => {
|
|
|
1153
1136
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
1154
1137
|
rest.ref = instance.ref;
|
|
1155
1138
|
}
|
|
1156
|
-
return /* @__PURE__ */
|
|
1139
|
+
return /* @__PURE__ */ React21.createElement(Component, {
|
|
1157
1140
|
key: id,
|
|
1158
1141
|
"data-wv-type": type,
|
|
1159
1142
|
"data-wv-id": id,
|
|
1160
1143
|
className: generateItemClass(instance, stitchesInstance),
|
|
1161
1144
|
...rest
|
|
1162
|
-
}, childIds.map((id2) => /* @__PURE__ */
|
|
1145
|
+
}, childIds.map((id2) => /* @__PURE__ */ React21.createElement(ItemInstance, {
|
|
1163
1146
|
key: id2,
|
|
1164
1147
|
id: id2
|
|
1165
1148
|
})));
|
|
@@ -1167,15 +1150,15 @@ var ItemComponent = ({ instance }) => {
|
|
|
1167
1150
|
return null;
|
|
1168
1151
|
};
|
|
1169
1152
|
var ItemInstance = ({ id }) => {
|
|
1170
|
-
let context =
|
|
1153
|
+
let context = useContext10(WeaverseContext);
|
|
1171
1154
|
let { itemInstances } = context;
|
|
1172
1155
|
let instance = itemInstances.get(id);
|
|
1173
1156
|
if (!instance) {
|
|
1174
|
-
return /* @__PURE__ */
|
|
1157
|
+
return /* @__PURE__ */ React21.createElement("div", {
|
|
1175
1158
|
style: { display: "none" }
|
|
1176
1159
|
}, "Item instance ", id, " not found");
|
|
1177
1160
|
}
|
|
1178
|
-
return /* @__PURE__ */
|
|
1161
|
+
return /* @__PURE__ */ React21.createElement(ItemComponent, {
|
|
1179
1162
|
instance
|
|
1180
1163
|
});
|
|
1181
1164
|
};
|
|
@@ -1183,6 +1166,8 @@ var ItemInstance = ({ id }) => {
|
|
|
1183
1166
|
// src/index.ts
|
|
1184
1167
|
export * from "@weaverse/core";
|
|
1185
1168
|
export {
|
|
1169
|
+
Elements,
|
|
1170
|
+
SharedComponents,
|
|
1186
1171
|
WeaverseContext,
|
|
1187
1172
|
WeaverseContextConsumer,
|
|
1188
1173
|
WeaverseContextProvider,
|