@weaverse/react 0.7.26 → 0.7.28
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 +50 -13
- package/dist/index.js +378 -191
- package/dist/index.mjs +347 -144
- package/package.json +4 -2
package/dist/index.js
CHANGED
|
@@ -27,8 +27,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
27
27
|
// src/index.ts
|
|
28
28
|
var src_exports = {};
|
|
29
29
|
__export(src_exports, {
|
|
30
|
+
Components: () => Components,
|
|
30
31
|
Elements: () => Elements,
|
|
31
|
-
SharedComponents: () => SharedComponents,
|
|
32
32
|
WeaverseContext: () => WeaverseContext,
|
|
33
33
|
WeaverseContextConsumer: () => WeaverseContextConsumer,
|
|
34
34
|
WeaverseContextProvider: () => WeaverseContextProvider,
|
|
@@ -36,28 +36,17 @@ __export(src_exports, {
|
|
|
36
36
|
createRootContext: () => createRootContext
|
|
37
37
|
});
|
|
38
38
|
module.exports = __toCommonJS(src_exports);
|
|
39
|
-
|
|
40
|
-
// src/elements/button.tsx
|
|
41
|
-
var React = __toESM(require("react"));
|
|
42
|
-
var import_react2 = require("react");
|
|
39
|
+
__reExport(src_exports, require("@weaverse/core"), module.exports);
|
|
43
40
|
|
|
44
41
|
// src/context.ts
|
|
45
42
|
var import_core = require("@weaverse/core");
|
|
46
|
-
var
|
|
47
|
-
var createRootContext = (configs) => {
|
|
48
|
-
let rootContext = new import_core.Weaverse(configs);
|
|
49
|
-
Object.keys(Elements).forEach((key) => {
|
|
50
|
-
rootContext.registerElement(Elements[key]);
|
|
51
|
-
});
|
|
52
|
-
return rootContext;
|
|
53
|
-
};
|
|
54
|
-
var WeaverseContext = (0, import_react.createContext)({});
|
|
55
|
-
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
56
|
-
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
43
|
+
var import_react14 = require("react");
|
|
57
44
|
|
|
58
|
-
// src/elements/
|
|
45
|
+
// src/elements/Button.tsx
|
|
46
|
+
var React = __toESM(require("react"));
|
|
47
|
+
var import_react = require("react");
|
|
59
48
|
var Button = React.forwardRef((props, ref) => {
|
|
60
|
-
let { isDesignMode } = (0,
|
|
49
|
+
let { isDesignMode } = (0, import_react.useContext)(WeaverseContext);
|
|
61
50
|
let { text, clickAction, linkTo, openInNewTab, ...rest } = props;
|
|
62
51
|
if (clickAction && linkTo) {
|
|
63
52
|
return /* @__PURE__ */ React.createElement("a", {
|
|
@@ -91,14 +80,14 @@ var css = {
|
|
|
91
80
|
textDecoration: "none"
|
|
92
81
|
}
|
|
93
82
|
};
|
|
94
|
-
var
|
|
83
|
+
var Button_default = Button;
|
|
95
84
|
|
|
96
|
-
// src/elements/
|
|
97
|
-
var
|
|
98
|
-
var Container = (0,
|
|
85
|
+
// src/elements/Container.tsx
|
|
86
|
+
var import_react2 = __toESM(require("react"));
|
|
87
|
+
var Container = (0, import_react2.forwardRef)(
|
|
99
88
|
(props, ref) => {
|
|
100
89
|
let { children, ...rest } = props;
|
|
101
|
-
return /* @__PURE__ */
|
|
90
|
+
return /* @__PURE__ */ import_react2.default.createElement("div", {
|
|
102
91
|
ref,
|
|
103
92
|
...rest
|
|
104
93
|
}, children);
|
|
@@ -119,45 +108,92 @@ var css2 = {
|
|
|
119
108
|
}
|
|
120
109
|
};
|
|
121
110
|
Container.defaultProps = {};
|
|
122
|
-
var
|
|
123
|
-
|
|
124
|
-
// src/elements/countdown/index.tsx
|
|
125
|
-
var import_react5 = __toESM(require("react"));
|
|
111
|
+
var Container_default = Container;
|
|
126
112
|
|
|
127
|
-
// src/elements/
|
|
113
|
+
// src/elements/Countdown/index.tsx
|
|
128
114
|
var import_react4 = __toESM(require("react"));
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
115
|
+
|
|
116
|
+
// src/constant/index.ts
|
|
117
|
+
var TIMES = ["days", "hours", "minutes", "seconds"];
|
|
118
|
+
var COUNTDOWN_KEY = "wv-cd-evergreen-start";
|
|
119
|
+
var INSTAGRAM_API = "https://graph.instagram.com";
|
|
120
|
+
|
|
121
|
+
// src/utils/css.ts
|
|
122
|
+
function shortCssObject(css10) {
|
|
123
|
+
return {
|
|
124
|
+
"@desktop": css10["@desktop"],
|
|
125
|
+
"@mobile": css10["@mobile"]
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
var permanentClasses = {};
|
|
129
|
+
function generateItemClass(instance, stitchesInstance) {
|
|
130
|
+
let { css: css10, type, className: cls = "" } = instance.data;
|
|
131
|
+
let className = "";
|
|
132
|
+
let permanentClass = "";
|
|
133
|
+
let perCss = instance.Element?.permanentCss;
|
|
134
|
+
if (perCss) {
|
|
135
|
+
if (type in permanentClasses) {
|
|
136
|
+
permanentClass = permanentClasses[type];
|
|
137
|
+
} else {
|
|
138
|
+
let { className: perCls } = stitchesInstance.css(perCss)();
|
|
139
|
+
Object.assign(permanentClasses, { [type]: perCls });
|
|
140
|
+
permanentClass = perCls;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
className = permanentClass;
|
|
144
|
+
if (css10) {
|
|
145
|
+
let formattedCss = shortCssObject(css10);
|
|
146
|
+
let { className: newClass = "" } = stitchesInstance.css(formattedCss)();
|
|
147
|
+
let { stitchesClass } = instance;
|
|
148
|
+
let otherClass = (instance.ref.current?.className || "").replace(stitchesClass, "").replace(cls, "").replace(permanentClass, "").trim();
|
|
149
|
+
className = `${permanentClass} ${cls} ${newClass} ${otherClass}`.trim();
|
|
150
|
+
instance.stitchesClass = newClass;
|
|
151
|
+
}
|
|
152
|
+
return className;
|
|
137
153
|
}
|
|
138
154
|
|
|
139
|
-
// src/
|
|
140
|
-
var times = ["days", "hours", "minutes", "seconds"];
|
|
155
|
+
// src/utils/index.ts
|
|
141
156
|
function getTime(_seconds) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
157
|
+
let ONE_MINUTE = 60 * 1e3;
|
|
158
|
+
let ONE_HOUR = 60 * ONE_MINUTE;
|
|
159
|
+
let ONE_DAY = 24 * ONE_HOUR;
|
|
160
|
+
let days = Math.floor(_seconds / ONE_DAY);
|
|
161
|
+
let hours = Math.floor((_seconds - days * ONE_DAY) / ONE_HOUR);
|
|
162
|
+
let minutes = Math.floor(
|
|
148
163
|
(_seconds - days * ONE_DAY - hours * ONE_HOUR) / ONE_MINUTE
|
|
149
164
|
);
|
|
150
|
-
|
|
165
|
+
let seconds = Math.floor(
|
|
151
166
|
(_seconds - days * ONE_DAY - hours * ONE_HOUR - minutes * ONE_MINUTE) / 1e3
|
|
152
167
|
);
|
|
153
168
|
return { days, hours, minutes, seconds };
|
|
154
169
|
}
|
|
170
|
+
function getYoutubeEmbedId(url) {
|
|
171
|
+
const match = url.match(
|
|
172
|
+
/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+)/
|
|
173
|
+
);
|
|
174
|
+
return match ? match[1] : null;
|
|
175
|
+
}
|
|
176
|
+
function getVimeoId(url) {
|
|
177
|
+
const match = url.match(/(?:https?:\/\/)?(?:www\.)?vimeo\.com\/(.+)/);
|
|
178
|
+
return match ? match[1] : null;
|
|
179
|
+
}
|
|
155
180
|
|
|
156
|
-
// src/elements/
|
|
157
|
-
var
|
|
158
|
-
|
|
181
|
+
// src/elements/Countdown/TimerBlock.tsx
|
|
182
|
+
var import_react3 = __toESM(require("react"));
|
|
183
|
+
function TimerBlock({ value, label }) {
|
|
184
|
+
return /* @__PURE__ */ import_react3.default.createElement("div", {
|
|
185
|
+
className: "wv-cd-block"
|
|
186
|
+
}, /* @__PURE__ */ import_react3.default.createElement("div", {
|
|
187
|
+
className: "wv-cd-number"
|
|
188
|
+
}, typeof value === "string" ? value : value.toString().padStart(2, "0")), label && /* @__PURE__ */ import_react3.default.createElement("div", {
|
|
189
|
+
className: "wv-cd-label"
|
|
190
|
+
}, label));
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// src/elements/Countdown/index.tsx
|
|
194
|
+
var Countdown = (0, import_react4.forwardRef)(
|
|
159
195
|
(props, ref) => {
|
|
160
|
-
const { isDesignMode } = (0,
|
|
196
|
+
const { isDesignMode } = (0, import_react4.useContext)(WeaverseContext);
|
|
161
197
|
let {
|
|
162
198
|
timerType,
|
|
163
199
|
startTime: startTimeProp,
|
|
@@ -169,7 +205,7 @@ var Countdown = (0, import_react5.forwardRef)(
|
|
|
169
205
|
showLabel,
|
|
170
206
|
...rest
|
|
171
207
|
} = props;
|
|
172
|
-
const [remaining, setRemaining] =
|
|
208
|
+
const [remaining, setRemaining] = import_react4.default.useState(0);
|
|
173
209
|
let periods = periodsProp * 60 * 1e3;
|
|
174
210
|
const handleEnd = () => {
|
|
175
211
|
if (!isDesignMode && redirectUrl)
|
|
@@ -178,16 +214,16 @@ var Countdown = (0, import_react5.forwardRef)(
|
|
|
178
214
|
const getStartTime = () => {
|
|
179
215
|
let startTime = startTimeProp;
|
|
180
216
|
if (timerType === "evergreen") {
|
|
181
|
-
const start = localStorage.getItem(
|
|
217
|
+
const start = localStorage.getItem(COUNTDOWN_KEY);
|
|
182
218
|
if (start) {
|
|
183
219
|
startTime = Number.parseInt(start);
|
|
184
220
|
if (startTime + periods < Date.now()) {
|
|
185
221
|
startTime = Date.now();
|
|
186
|
-
localStorage.setItem(
|
|
222
|
+
localStorage.setItem(COUNTDOWN_KEY, startTime.toString());
|
|
187
223
|
}
|
|
188
224
|
} else {
|
|
189
225
|
startTime = Date.now();
|
|
190
|
-
localStorage.setItem(
|
|
226
|
+
localStorage.setItem(COUNTDOWN_KEY, startTime.toString());
|
|
191
227
|
}
|
|
192
228
|
}
|
|
193
229
|
return startTime;
|
|
@@ -203,7 +239,7 @@ var Countdown = (0, import_react5.forwardRef)(
|
|
|
203
239
|
}
|
|
204
240
|
setRemaining(remainingTime);
|
|
205
241
|
};
|
|
206
|
-
(0,
|
|
242
|
+
(0, import_react4.useEffect)(() => {
|
|
207
243
|
let intervalFlag = setInterval(
|
|
208
244
|
handleRemaining,
|
|
209
245
|
1e3
|
|
@@ -213,16 +249,16 @@ var Countdown = (0, import_react5.forwardRef)(
|
|
|
213
249
|
};
|
|
214
250
|
}, [startTimeProp, endTimeProp, periods, timerType]);
|
|
215
251
|
const timer = getTime(remaining);
|
|
216
|
-
return /* @__PURE__ */
|
|
252
|
+
return /* @__PURE__ */ import_react4.default.createElement("div", {
|
|
217
253
|
ref,
|
|
218
254
|
...rest
|
|
219
|
-
},
|
|
220
|
-
return /* @__PURE__ */
|
|
255
|
+
}, TIMES.map((time) => {
|
|
256
|
+
return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, {
|
|
221
257
|
key: time
|
|
222
|
-
}, /* @__PURE__ */
|
|
258
|
+
}, /* @__PURE__ */ import_react4.default.createElement(TimerBlock, {
|
|
223
259
|
label: showLabel ? time : "",
|
|
224
260
|
value: remaining === 0 ? "--" : timer[time]
|
|
225
|
-
}), time !== "seconds" && /* @__PURE__ */
|
|
261
|
+
}), time !== "seconds" && /* @__PURE__ */ import_react4.default.createElement("div", null, /* @__PURE__ */ import_react4.default.createElement("span", {
|
|
226
262
|
className: `wv-cd-number ${showColon ? "" : "hidden"}`
|
|
227
263
|
}, ":")));
|
|
228
264
|
}));
|
|
@@ -264,11 +300,11 @@ Countdown.defaultProps = {
|
|
|
264
300
|
showLabel: true,
|
|
265
301
|
showColon: true
|
|
266
302
|
};
|
|
267
|
-
var
|
|
303
|
+
var Countdown_default = Countdown;
|
|
268
304
|
|
|
269
|
-
// src/elements/
|
|
270
|
-
var
|
|
271
|
-
var Image =
|
|
305
|
+
// src/elements/Image.tsx
|
|
306
|
+
var import_react5 = __toESM(require("react"));
|
|
307
|
+
var Image = import_react5.default.forwardRef(
|
|
272
308
|
(props, ref) => {
|
|
273
309
|
let {
|
|
274
310
|
src,
|
|
@@ -284,18 +320,18 @@ var Image = import_react6.default.forwardRef(
|
|
|
284
320
|
"--wv-img-object-fit": objectFit,
|
|
285
321
|
"--wv-img-object-position": objectPosition
|
|
286
322
|
};
|
|
287
|
-
let content = /* @__PURE__ */
|
|
323
|
+
let content = /* @__PURE__ */ import_react5.default.createElement("img", {
|
|
288
324
|
alt,
|
|
289
325
|
"data-blink-src": src
|
|
290
326
|
});
|
|
291
327
|
if (onClickAction === "open-link" && linkTo) {
|
|
292
328
|
let target = openLinkInNewTab ? "_blank" : "_self";
|
|
293
|
-
content = /* @__PURE__ */
|
|
329
|
+
content = /* @__PURE__ */ import_react5.default.createElement("a", {
|
|
294
330
|
href: linkTo,
|
|
295
331
|
target
|
|
296
332
|
}, content);
|
|
297
333
|
}
|
|
298
|
-
return /* @__PURE__ */
|
|
334
|
+
return /* @__PURE__ */ import_react5.default.createElement("div", {
|
|
299
335
|
ref,
|
|
300
336
|
...rest,
|
|
301
337
|
style
|
|
@@ -324,11 +360,11 @@ Image.defaultProps = {
|
|
|
324
360
|
openLinkInNewTab: false,
|
|
325
361
|
linkTo: ""
|
|
326
362
|
};
|
|
327
|
-
var
|
|
363
|
+
var Image_default = Image;
|
|
328
364
|
|
|
329
|
-
// src/elements/
|
|
330
|
-
var
|
|
331
|
-
var Layout = (0,
|
|
365
|
+
// src/elements/Layout.tsx
|
|
366
|
+
var import_react6 = __toESM(require("react"));
|
|
367
|
+
var Layout = (0, import_react6.forwardRef)((props, ref) => {
|
|
332
368
|
let {
|
|
333
369
|
children,
|
|
334
370
|
rows,
|
|
@@ -349,15 +385,15 @@ var Layout = (0, import_react7.forwardRef)((props, ref) => {
|
|
|
349
385
|
"--row-size": rowSize + "px",
|
|
350
386
|
"--col-size": "calc((var(--grid-size) - calc(var(--columns) - 1) * var(--gap)) / var(--columns))"
|
|
351
387
|
};
|
|
352
|
-
return /* @__PURE__ */
|
|
388
|
+
return /* @__PURE__ */ import_react6.default.createElement("section", {
|
|
353
389
|
ref,
|
|
354
390
|
...rest,
|
|
355
391
|
style
|
|
356
|
-
}, /* @__PURE__ */
|
|
392
|
+
}, /* @__PURE__ */ import_react6.default.createElement(LayoutBackground, {
|
|
357
393
|
imgUrl: backgroundImage,
|
|
358
394
|
bgColor: backgroundColor,
|
|
359
395
|
objectFit
|
|
360
|
-
}), /* @__PURE__ */
|
|
396
|
+
}), /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
361
397
|
"data-layout-content": true
|
|
362
398
|
}, children));
|
|
363
399
|
});
|
|
@@ -367,10 +403,10 @@ var LayoutBackground = (props) => {
|
|
|
367
403
|
["--bg-color"]: bgColor,
|
|
368
404
|
["--object-fit"]: objectFit
|
|
369
405
|
};
|
|
370
|
-
return imgUrl || bgColor ? /* @__PURE__ */
|
|
406
|
+
return imgUrl || bgColor ? /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
371
407
|
"data-wv-bg": true,
|
|
372
408
|
style
|
|
373
|
-
}, imgUrl && /* @__PURE__ */
|
|
409
|
+
}, imgUrl && /* @__PURE__ */ import_react6.default.createElement("img", {
|
|
374
410
|
width: "100%",
|
|
375
411
|
height: "100%",
|
|
376
412
|
"data-blink-src": imgUrl,
|
|
@@ -419,16 +455,16 @@ Layout.defaultProps = {
|
|
|
419
455
|
gap: 16,
|
|
420
456
|
rowSize: 48
|
|
421
457
|
};
|
|
422
|
-
var
|
|
458
|
+
var Layout_default = Layout;
|
|
423
459
|
|
|
424
|
-
// src/elements/
|
|
425
|
-
var
|
|
426
|
-
var Map = (0,
|
|
460
|
+
// src/elements/Map.tsx
|
|
461
|
+
var import_react7 = __toESM(require("react"));
|
|
462
|
+
var Map = (0, import_react7.forwardRef)((props, ref) => {
|
|
427
463
|
let { place, zoom, ...rest } = props;
|
|
428
|
-
return /* @__PURE__ */
|
|
464
|
+
return /* @__PURE__ */ import_react7.default.createElement("div", {
|
|
429
465
|
ref,
|
|
430
466
|
...rest
|
|
431
|
-
}, /* @__PURE__ */
|
|
467
|
+
}, /* @__PURE__ */ import_react7.default.createElement("iframe", {
|
|
432
468
|
loading: "lazy",
|
|
433
469
|
scrolling: "no",
|
|
434
470
|
width: "100%",
|
|
@@ -443,9 +479,9 @@ Map.defaultProps = {
|
|
|
443
479
|
place: "Hanoi",
|
|
444
480
|
zoom: 14
|
|
445
481
|
};
|
|
446
|
-
var
|
|
482
|
+
var Map_default = Map;
|
|
447
483
|
|
|
448
|
-
// src/elements/
|
|
484
|
+
// src/elements/Text.tsx
|
|
449
485
|
var React8 = __toESM(require("react"));
|
|
450
486
|
var Text = React8.forwardRef(
|
|
451
487
|
(props, ref) => {
|
|
@@ -468,30 +504,102 @@ var css7 = {
|
|
|
468
504
|
Text.defaultProps = {
|
|
469
505
|
value: "The quick brown fox jumps over the lazy dog"
|
|
470
506
|
};
|
|
471
|
-
var
|
|
507
|
+
var Text_default = Text;
|
|
472
508
|
|
|
473
|
-
// src/elements/
|
|
474
|
-
var
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
autoPlay: isDesignMode ? false : autoPlay,
|
|
509
|
+
// src/elements/Video/index.tsx
|
|
510
|
+
var import_react11 = __toESM(require("react"));
|
|
511
|
+
|
|
512
|
+
// src/elements/Video/HTMLVideo.tsx
|
|
513
|
+
var import_react8 = __toESM(require("react"));
|
|
514
|
+
function HTMLVideo(props) {
|
|
515
|
+
let { src, type, controls, autoPlay, loop, muted } = props;
|
|
516
|
+
return /* @__PURE__ */ import_react8.default.createElement("video", {
|
|
517
|
+
controls,
|
|
518
|
+
autoPlay,
|
|
484
519
|
loop,
|
|
485
|
-
muted
|
|
520
|
+
muted,
|
|
486
521
|
controlsList: "nodownload",
|
|
487
522
|
disablePictureInPicture: true
|
|
488
|
-
}, /* @__PURE__ */
|
|
523
|
+
}, /* @__PURE__ */ import_react8.default.createElement("source", {
|
|
489
524
|
src,
|
|
490
525
|
type: type || "video/mp4"
|
|
491
|
-
}), /* @__PURE__ */
|
|
526
|
+
}), /* @__PURE__ */ import_react8.default.createElement("source", {
|
|
492
527
|
src,
|
|
493
528
|
type: "video/ogg"
|
|
494
|
-
}), "Your browser does not support the video tag.")
|
|
529
|
+
}), "Your browser does not support the video tag.");
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
// src/elements/Video/Vimeo.tsx
|
|
533
|
+
var import_react9 = __toESM(require("react"));
|
|
534
|
+
function Vimeo(props) {
|
|
535
|
+
let { vimeoId, controls, autoPlay, loop, muted } = props;
|
|
536
|
+
let params = `autoplay=${autoPlay}&loop=${loop}&controls=${controls}&muted=${muted}`;
|
|
537
|
+
let vimeoSrc = `https://player.vimeo.com/video/${vimeoId}?${params}`;
|
|
538
|
+
return /* @__PURE__ */ import_react9.default.createElement("iframe", {
|
|
539
|
+
src: vimeoSrc,
|
|
540
|
+
width: "100%",
|
|
541
|
+
height: "100%",
|
|
542
|
+
allowFullScreen: true
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
// src/elements/Video/Youtube.tsx
|
|
547
|
+
var import_react10 = __toESM(require("react"));
|
|
548
|
+
function Youtube(props) {
|
|
549
|
+
let { youtubeId, controls, autoPlay, loop, muted } = props;
|
|
550
|
+
let params = new URLSearchParams({
|
|
551
|
+
autoplay: autoPlay ? "1" : "0",
|
|
552
|
+
controls: controls ? "1" : "0",
|
|
553
|
+
loop: loop ? "1" : "0",
|
|
554
|
+
mute: muted ? "1" : "0"
|
|
555
|
+
});
|
|
556
|
+
let youtubeSrc = `https://www.youtube.com/embed/${youtubeId}?${params.toString()}`;
|
|
557
|
+
let allow = `accelerometer;${autoPlay ? "autoplay;" : ""} clipboard-write; encrypted-media; gyroscope; picture-in-picture`;
|
|
558
|
+
return /* @__PURE__ */ import_react10.default.createElement("iframe", {
|
|
559
|
+
src: youtubeSrc,
|
|
560
|
+
width: "100%",
|
|
561
|
+
height: "100%",
|
|
562
|
+
allowFullScreen: true,
|
|
563
|
+
allow
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
// src/elements/Video/index.tsx
|
|
568
|
+
var Video = (0, import_react11.forwardRef)((props, ref) => {
|
|
569
|
+
let { isDesignMode } = (0, import_react11.useContext)(WeaverseContext);
|
|
570
|
+
let {
|
|
571
|
+
src,
|
|
572
|
+
controls,
|
|
573
|
+
poster,
|
|
574
|
+
autoPlay: originAutoPlay,
|
|
575
|
+
loop,
|
|
576
|
+
muted,
|
|
577
|
+
...rest
|
|
578
|
+
} = props;
|
|
579
|
+
let autoPlay = !isDesignMode && originAutoPlay;
|
|
580
|
+
let videoProps = { src, controls, poster, autoPlay, loop, muted };
|
|
581
|
+
let content;
|
|
582
|
+
let youtubeId = getYoutubeEmbedId(src);
|
|
583
|
+
let vimeoId = getVimeoId(src);
|
|
584
|
+
if (youtubeId) {
|
|
585
|
+
content = /* @__PURE__ */ import_react11.default.createElement(Youtube, {
|
|
586
|
+
...videoProps,
|
|
587
|
+
youtubeId
|
|
588
|
+
});
|
|
589
|
+
} else if (vimeoId) {
|
|
590
|
+
content = /* @__PURE__ */ import_react11.default.createElement(Vimeo, {
|
|
591
|
+
...videoProps,
|
|
592
|
+
vimeoId
|
|
593
|
+
});
|
|
594
|
+
} else {
|
|
595
|
+
content = /* @__PURE__ */ import_react11.default.createElement(HTMLVideo, {
|
|
596
|
+
...videoProps
|
|
597
|
+
});
|
|
598
|
+
}
|
|
599
|
+
return /* @__PURE__ */ import_react11.default.createElement("div", {
|
|
600
|
+
ref,
|
|
601
|
+
...rest
|
|
602
|
+
}, content);
|
|
495
603
|
});
|
|
496
604
|
var css8 = {
|
|
497
605
|
"@desktop": {
|
|
@@ -506,40 +614,38 @@ Video.defaultProps = {
|
|
|
506
614
|
src: "https://youtu.be/wM-NT6hcw48",
|
|
507
615
|
poster: "https://ucarecdn.com/c413b8fe-ceec-4948-9c42-a0434c4ca920/-/preview/-/quality/smart/-/format/auto/",
|
|
508
616
|
loop: false,
|
|
509
|
-
type: "video/mp4",
|
|
510
617
|
controls: false,
|
|
511
618
|
autoPlay: true,
|
|
512
619
|
muted: true
|
|
513
620
|
};
|
|
514
|
-
var
|
|
621
|
+
var Video_default = Video;
|
|
515
622
|
|
|
516
|
-
// src/elements/
|
|
517
|
-
var
|
|
623
|
+
// src/elements/Instagram.tsx
|
|
624
|
+
var import_react13 = __toESM(require("react"));
|
|
518
625
|
|
|
519
|
-
// src/
|
|
520
|
-
var
|
|
521
|
-
var Placeholder = (0,
|
|
626
|
+
// src/components/Placeholder.tsx
|
|
627
|
+
var import_react12 = __toESM(require("react"));
|
|
628
|
+
var Placeholder = (0, import_react12.forwardRef)(
|
|
522
629
|
(props, ref) => {
|
|
523
630
|
let { element, children, ...rest } = props;
|
|
524
|
-
return /* @__PURE__ */
|
|
631
|
+
return /* @__PURE__ */ import_react12.default.createElement("div", {
|
|
525
632
|
"data-wv-placeholder": true,
|
|
526
633
|
ref,
|
|
527
634
|
...rest
|
|
528
|
-
}, /* @__PURE__ */
|
|
635
|
+
}, /* @__PURE__ */ import_react12.default.createElement("div", {
|
|
529
636
|
style: { fontWeight: 600, marginBottom: "10px" }
|
|
530
|
-
}, element), /* @__PURE__ */
|
|
637
|
+
}, element), /* @__PURE__ */ import_react12.default.createElement("div", null, children));
|
|
531
638
|
}
|
|
532
639
|
);
|
|
533
640
|
var Placeholder_default = Placeholder;
|
|
534
641
|
|
|
535
|
-
// src/elements/
|
|
536
|
-
var
|
|
537
|
-
var Instagram = (0, import_react11.forwardRef)(
|
|
642
|
+
// src/elements/Instagram.tsx
|
|
643
|
+
var Instagram = (0, import_react13.forwardRef)(
|
|
538
644
|
(props, ref) => {
|
|
539
645
|
let { token, username, numberOfImages, imagesPerRow, gap, ...rest } = props;
|
|
540
|
-
let [media, setMedia] = (0,
|
|
541
|
-
let [error, setError] = (0,
|
|
542
|
-
(0,
|
|
646
|
+
let [media, setMedia] = (0, import_react13.useState)([]);
|
|
647
|
+
let [error, setError] = (0, import_react13.useState)(null);
|
|
648
|
+
(0, import_react13.useEffect)(() => {
|
|
543
649
|
if (token) {
|
|
544
650
|
let params = new URLSearchParams({
|
|
545
651
|
access_token: token,
|
|
@@ -556,10 +662,10 @@ var Instagram = (0, import_react11.forwardRef)(
|
|
|
556
662
|
}
|
|
557
663
|
}, [token]);
|
|
558
664
|
if (!token || error) {
|
|
559
|
-
return /* @__PURE__ */
|
|
665
|
+
return /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
560
666
|
ref,
|
|
561
667
|
...rest
|
|
562
|
-
}, /* @__PURE__ */
|
|
668
|
+
}, /* @__PURE__ */ import_react13.default.createElement(Placeholder_default, {
|
|
563
669
|
element: "Instagram"
|
|
564
670
|
}, !token ? "Connect to Instagram to display photos on your site." : "Invalid or expired token!"));
|
|
565
671
|
}
|
|
@@ -567,27 +673,28 @@ var Instagram = (0, import_react11.forwardRef)(
|
|
|
567
673
|
"--wv-ig-images-per-row": imagesPerRow,
|
|
568
674
|
"--wv-ig-images-gap": gap + "px"
|
|
569
675
|
};
|
|
570
|
-
return /* @__PURE__ */
|
|
676
|
+
return /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
571
677
|
ref,
|
|
572
678
|
...rest,
|
|
573
679
|
style
|
|
574
|
-
}, /* @__PURE__ */
|
|
680
|
+
}, /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
575
681
|
className: "wv-ig-media-container"
|
|
576
682
|
}, media.slice(0, numberOfImages).map((item) => {
|
|
577
683
|
let { id, permalink, caption, media_url } = item;
|
|
578
|
-
return /* @__PURE__ */
|
|
684
|
+
return /* @__PURE__ */ import_react13.default.createElement("a", {
|
|
579
685
|
key: id,
|
|
580
686
|
href: permalink,
|
|
581
687
|
target: "_blank",
|
|
582
688
|
rel: "noreferrer"
|
|
583
|
-
}, /* @__PURE__ */
|
|
689
|
+
}, /* @__PURE__ */ import_react13.default.createElement("img", {
|
|
584
690
|
alt: caption,
|
|
585
691
|
src: media_url
|
|
586
692
|
}));
|
|
587
693
|
})));
|
|
588
694
|
}
|
|
589
695
|
);
|
|
590
|
-
var css9 = {
|
|
696
|
+
var css9 = {};
|
|
697
|
+
var permanentCss2 = {
|
|
591
698
|
"@desktop": {
|
|
592
699
|
".wv-ig-media-container": {
|
|
593
700
|
overflow: "hidden",
|
|
@@ -597,12 +704,24 @@ var css9 = {
|
|
|
597
704
|
gridTemplateColumns: "repeat(var(--wv-ig-images-per-row, 4), 1fr)",
|
|
598
705
|
gap: "var(--wv-ig-images-gap, 0px)",
|
|
599
706
|
img: {
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
height: "100%",
|
|
707
|
+
maxWidth: "100%",
|
|
708
|
+
maxHeight: "100%",
|
|
603
709
|
objectFit: "cover"
|
|
604
710
|
}
|
|
605
711
|
}
|
|
712
|
+
},
|
|
713
|
+
"@mobile": {
|
|
714
|
+
".wv-ig-media-container": {
|
|
715
|
+
overflowX: "auto",
|
|
716
|
+
display: "flex",
|
|
717
|
+
scrollSnapType: "x mandatory"
|
|
718
|
+
},
|
|
719
|
+
".wv-ig-media-container a": {
|
|
720
|
+
scrollSnapAlign: "start",
|
|
721
|
+
flexGrow: 0,
|
|
722
|
+
flexShrink: 0,
|
|
723
|
+
flexBasis: "100%"
|
|
724
|
+
}
|
|
606
725
|
}
|
|
607
726
|
};
|
|
608
727
|
Instagram.defaultProps = {
|
|
@@ -612,105 +731,176 @@ Instagram.defaultProps = {
|
|
|
612
731
|
imagesPerRow: 4,
|
|
613
732
|
gap: 0
|
|
614
733
|
};
|
|
615
|
-
var
|
|
734
|
+
var Instagram_default = Instagram;
|
|
616
735
|
|
|
617
736
|
// src/elements/index.ts
|
|
618
|
-
var SharedComponents = {
|
|
619
|
-
Placeholder: Placeholder_default
|
|
620
|
-
};
|
|
621
737
|
var Elements = {
|
|
622
738
|
Countdown: {
|
|
623
|
-
Component:
|
|
739
|
+
Component: Countdown_default,
|
|
624
740
|
type: "countdown",
|
|
625
741
|
defaultCss: css3
|
|
626
742
|
},
|
|
627
743
|
Button: {
|
|
628
|
-
Component:
|
|
744
|
+
Component: Button_default,
|
|
629
745
|
type: "button",
|
|
630
746
|
defaultCss: css
|
|
631
747
|
},
|
|
632
748
|
Container: {
|
|
633
|
-
Component:
|
|
749
|
+
Component: Container_default,
|
|
634
750
|
type: "container",
|
|
635
751
|
defaultCss: css2
|
|
636
752
|
},
|
|
637
753
|
Image: {
|
|
638
|
-
Component:
|
|
754
|
+
Component: Image_default,
|
|
639
755
|
type: "image",
|
|
640
756
|
defaultCss: css4
|
|
641
757
|
},
|
|
642
758
|
Instagram: {
|
|
643
|
-
Component:
|
|
759
|
+
Component: Instagram_default,
|
|
644
760
|
type: "instagram",
|
|
645
|
-
defaultCss: css9
|
|
761
|
+
defaultCss: css9,
|
|
762
|
+
permanentCss: permanentCss2
|
|
646
763
|
},
|
|
647
764
|
Layout: {
|
|
648
|
-
Component:
|
|
765
|
+
Component: Layout_default,
|
|
649
766
|
type: "layout",
|
|
650
767
|
defaultCss: css5,
|
|
651
768
|
permanentCss
|
|
652
769
|
},
|
|
653
770
|
Map: {
|
|
654
|
-
Component:
|
|
771
|
+
Component: Map_default,
|
|
655
772
|
type: "map",
|
|
656
773
|
defaultCss: css6
|
|
657
774
|
},
|
|
658
775
|
Text: {
|
|
659
|
-
Component:
|
|
776
|
+
Component: Text_default,
|
|
660
777
|
type: "text",
|
|
661
778
|
defaultCss: css7
|
|
662
779
|
},
|
|
663
780
|
Video: {
|
|
664
|
-
Component:
|
|
781
|
+
Component: Video_default,
|
|
665
782
|
type: "video",
|
|
666
783
|
defaultCss: css8
|
|
667
784
|
}
|
|
668
785
|
};
|
|
669
786
|
|
|
670
|
-
// src/
|
|
671
|
-
var
|
|
672
|
-
|
|
787
|
+
// src/context.ts
|
|
788
|
+
var createRootContext = (configs) => {
|
|
789
|
+
let rootContext = new import_core.Weaverse(configs);
|
|
790
|
+
Object.keys(Elements).forEach((key) => {
|
|
791
|
+
rootContext.registerElement(Elements[key]);
|
|
792
|
+
});
|
|
793
|
+
return rootContext;
|
|
794
|
+
};
|
|
795
|
+
var WeaverseContext = (0, import_react14.createContext)({});
|
|
796
|
+
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
797
|
+
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
673
798
|
|
|
674
|
-
// src/
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
className = `${permanentClass} ${cls} ${newClass} ${otherClass}`.trim();
|
|
703
|
-
instance.stitchesClass = newClass;
|
|
799
|
+
// src/components/Modal.tsx
|
|
800
|
+
var Modal_exports = {};
|
|
801
|
+
__export(Modal_exports, {
|
|
802
|
+
Modal: () => Modal,
|
|
803
|
+
ModalClose: () => ModalClose,
|
|
804
|
+
ModalContent: () => ModalContent,
|
|
805
|
+
ModalHeader: () => ModalHeader,
|
|
806
|
+
ModalTrigger: () => ModalTrigger
|
|
807
|
+
});
|
|
808
|
+
var import_react15 = __toESM(require("react"));
|
|
809
|
+
var import_react_dialog = require("@radix-ui/react-dialog");
|
|
810
|
+
var import_react16 = require("@stitches/react");
|
|
811
|
+
var Modal = import_react_dialog.Root;
|
|
812
|
+
var ModalTrigger = import_react_dialog.Trigger;
|
|
813
|
+
var ModalHeader = (0, import_react16.styled)(import_react_dialog.Title, {
|
|
814
|
+
margin: 0,
|
|
815
|
+
fontWeight: 500,
|
|
816
|
+
color: "#ededef",
|
|
817
|
+
fontSize: 17
|
|
818
|
+
});
|
|
819
|
+
var ModalContent = (0, import_react15.forwardRef)(
|
|
820
|
+
(props, ref) => {
|
|
821
|
+
let { children, ...rest } = props;
|
|
822
|
+
return /* @__PURE__ */ import_react15.default.createElement(import_react_dialog.Portal, null, /* @__PURE__ */ import_react15.default.createElement(StyledOverlay, null), /* @__PURE__ */ import_react15.default.createElement(StyledContent, {
|
|
823
|
+
...rest,
|
|
824
|
+
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
825
|
+
ref
|
|
826
|
+
}, /* @__PURE__ */ import_react15.default.createElement("div", null, /* @__PURE__ */ import_react15.default.createElement(ModalClose, null), /* @__PURE__ */ import_react15.default.createElement("div", null, children))));
|
|
704
827
|
}
|
|
705
|
-
|
|
828
|
+
);
|
|
829
|
+
var ModalClose = import_react_dialog.Close;
|
|
830
|
+
ModalClose.defaultProps = {
|
|
831
|
+
asChild: true
|
|
832
|
+
};
|
|
833
|
+
var overlayShow = (0, import_react16.keyframes)({
|
|
834
|
+
"0%": { opacity: 0 },
|
|
835
|
+
"100%": { opacity: 1 }
|
|
836
|
+
});
|
|
837
|
+
var contentShow = (0, import_react16.keyframes)({
|
|
838
|
+
"0%": { opacity: 0, transform: "translate(-50%, -48%) scale(.96)" },
|
|
839
|
+
"100%": { opacity: 1, transform: "translate(-50%, -50%) scale(1)" }
|
|
840
|
+
});
|
|
841
|
+
var StyledOverlay = (0, import_react16.styled)(import_react_dialog.Overlay, {
|
|
842
|
+
backgroundColor: "#707070",
|
|
843
|
+
position: "fixed",
|
|
844
|
+
zIndex: 9999,
|
|
845
|
+
inset: 0,
|
|
846
|
+
animation: `${overlayShow} 150ms cubic-bezier(0.16, 1, 0.3, 1)`
|
|
847
|
+
});
|
|
848
|
+
var StyledContent = (0, import_react16.styled)(import_react_dialog.Content, {
|
|
849
|
+
backgroundColor: "white",
|
|
850
|
+
borderRadius: 6,
|
|
851
|
+
boxShadow: "hsl(206 22% 7% / 35%) 0px 10px 38px -10px, hsl(206 22% 7% / 20%) 0px 10px 20px -15px",
|
|
852
|
+
position: "fixed",
|
|
853
|
+
top: "50%",
|
|
854
|
+
left: "50%",
|
|
855
|
+
transform: "translate(-50%, -50%)",
|
|
856
|
+
width: "90vw",
|
|
857
|
+
maxWidth: "450px",
|
|
858
|
+
maxHeight: "85vh",
|
|
859
|
+
padding: 25,
|
|
860
|
+
animation: `${contentShow} 150ms cubic-bezier(0.16, 1, 0.3, 1)`,
|
|
861
|
+
"&:focus": { outline: "none" },
|
|
862
|
+
zIndex: 9999
|
|
863
|
+
});
|
|
864
|
+
|
|
865
|
+
// src/components/Spinner.tsx
|
|
866
|
+
var import_react17 = __toESM(require("react"));
|
|
867
|
+
function Spinner() {
|
|
868
|
+
return /* @__PURE__ */ import_react17.default.createElement("span", {
|
|
869
|
+
className: "wv-spinner-wrapper"
|
|
870
|
+
}, /* @__PURE__ */ import_react17.default.createElement("svg", {
|
|
871
|
+
className: "wv-spinner",
|
|
872
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
873
|
+
fill: "none",
|
|
874
|
+
viewBox: "0 0 24 24"
|
|
875
|
+
}, /* @__PURE__ */ import_react17.default.createElement("circle", {
|
|
876
|
+
style: { opacity: ".25" },
|
|
877
|
+
cx: "12",
|
|
878
|
+
cy: "12",
|
|
879
|
+
r: "10",
|
|
880
|
+
stroke: "currentColor",
|
|
881
|
+
strokeWidth: "4"
|
|
882
|
+
}), /* @__PURE__ */ import_react17.default.createElement("path", {
|
|
883
|
+
style: { opacity: ".75" },
|
|
884
|
+
fill: "currentColor",
|
|
885
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
886
|
+
})));
|
|
706
887
|
}
|
|
707
888
|
|
|
889
|
+
// src/components/index.ts
|
|
890
|
+
var Components = {
|
|
891
|
+
Placeholder: Placeholder_default,
|
|
892
|
+
Spinner,
|
|
893
|
+
ModalComponents: Modal_exports
|
|
894
|
+
};
|
|
895
|
+
|
|
708
896
|
// src/renderer.tsx
|
|
897
|
+
var import_core2 = require("@weaverse/core");
|
|
898
|
+
var import_react18 = __toESM(require("react"));
|
|
709
899
|
var WeaverseRoot = ({ context }) => {
|
|
710
|
-
let [, setData] = (0,
|
|
711
|
-
let rootRef = (0,
|
|
900
|
+
let [, setData] = (0, import_react18.useState)(context.projectData);
|
|
901
|
+
let rootRef = (0, import_react18.useRef)();
|
|
712
902
|
let renderRoot = () => setData({});
|
|
713
|
-
(0,
|
|
903
|
+
(0, import_react18.useEffect)(() => {
|
|
714
904
|
context.subscribe(renderRoot);
|
|
715
905
|
context.contentRootElement = rootRef.current;
|
|
716
906
|
return () => {
|
|
@@ -720,23 +910,23 @@ var WeaverseRoot = ({ context }) => {
|
|
|
720
910
|
let eventHandlers = context?.studioBridge?.eventHandlers || {};
|
|
721
911
|
let themeClass = context.stitchesInstance.theme.className;
|
|
722
912
|
if (context.projectData?.rootId) {
|
|
723
|
-
return /* @__PURE__ */
|
|
913
|
+
return /* @__PURE__ */ import_react18.default.createElement("div", {
|
|
724
914
|
className: `weaverse-content-root ${themeClass}`,
|
|
725
915
|
...eventHandlers,
|
|
726
916
|
ref: rootRef
|
|
727
|
-
}, /* @__PURE__ */
|
|
917
|
+
}, /* @__PURE__ */ import_react18.default.createElement(WeaverseContextProvider, {
|
|
728
918
|
value: context
|
|
729
|
-
}, /* @__PURE__ */
|
|
919
|
+
}, /* @__PURE__ */ import_react18.default.createElement(ItemInstance, {
|
|
730
920
|
id: context.projectData.rootId
|
|
731
921
|
})));
|
|
732
922
|
}
|
|
733
923
|
return null;
|
|
734
924
|
};
|
|
735
925
|
var ItemComponent = ({ instance }) => {
|
|
736
|
-
let { stitchesInstance, elementInstances } = (0,
|
|
737
|
-
let [data, setData] = (0,
|
|
926
|
+
let { stitchesInstance, elementInstances } = (0, import_react18.useContext)(WeaverseContext);
|
|
927
|
+
let [data, setData] = (0, import_react18.useState)(instance.data);
|
|
738
928
|
let { id, type, childIds = [], css: css10, className, ...rest } = data;
|
|
739
|
-
(0,
|
|
929
|
+
(0, import_react18.useEffect)(() => {
|
|
740
930
|
let render = (data2) => setData({ ...data2 });
|
|
741
931
|
instance.subscribe(render);
|
|
742
932
|
if (import_core2.isBrowser && !instance.ref.current) {
|
|
@@ -752,13 +942,13 @@ var ItemComponent = ({ instance }) => {
|
|
|
752
942
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
753
943
|
rest.ref = instance.ref;
|
|
754
944
|
}
|
|
755
|
-
return /* @__PURE__ */
|
|
945
|
+
return /* @__PURE__ */ import_react18.default.createElement(Component, {
|
|
756
946
|
key: id,
|
|
757
947
|
"data-wv-type": type,
|
|
758
948
|
"data-wv-id": id,
|
|
759
949
|
className: generateItemClass(instance, stitchesInstance),
|
|
760
950
|
...rest
|
|
761
|
-
}, childIds.map((id2) => /* @__PURE__ */
|
|
951
|
+
}, childIds.map((id2) => /* @__PURE__ */ import_react18.default.createElement(ItemInstance, {
|
|
762
952
|
key: id2,
|
|
763
953
|
id: id2
|
|
764
954
|
})));
|
|
@@ -768,26 +958,23 @@ var ItemComponent = ({ instance }) => {
|
|
|
768
958
|
}
|
|
769
959
|
};
|
|
770
960
|
var ItemInstance = ({ id }) => {
|
|
771
|
-
let context = (0,
|
|
961
|
+
let context = (0, import_react18.useContext)(WeaverseContext);
|
|
772
962
|
let { itemInstances } = context;
|
|
773
963
|
let instance = itemInstances.get(id);
|
|
774
964
|
if (!instance) {
|
|
775
|
-
return /* @__PURE__ */
|
|
965
|
+
return /* @__PURE__ */ import_react18.default.createElement("div", {
|
|
776
966
|
style: { display: "none" }
|
|
777
967
|
}, "Item instance ", id, " not found");
|
|
778
968
|
}
|
|
779
|
-
return /* @__PURE__ */
|
|
969
|
+
return /* @__PURE__ */ import_react18.default.createElement(ItemComponent, {
|
|
780
970
|
key: id,
|
|
781
971
|
instance
|
|
782
972
|
});
|
|
783
973
|
};
|
|
784
|
-
|
|
785
|
-
// src/index.ts
|
|
786
|
-
__reExport(src_exports, require("@weaverse/core"), module.exports);
|
|
787
974
|
// Annotate the CommonJS export names for ESM import in node:
|
|
788
975
|
0 && (module.exports = {
|
|
976
|
+
Components,
|
|
789
977
|
Elements,
|
|
790
|
-
SharedComponents,
|
|
791
978
|
WeaverseContext,
|
|
792
979
|
WeaverseContextConsumer,
|
|
793
980
|
WeaverseContextProvider,
|