@weaverse/react 0.7.27 → 0.7.30
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 +41 -11
- package/dist/index.js +333 -225
- package/dist/index.mjs +284 -160
- 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
|
+
}
|
|
180
|
+
|
|
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
|
+
}
|
|
155
192
|
|
|
156
|
-
// src/elements/
|
|
157
|
-
var
|
|
158
|
-
var Countdown = (0, import_react5.forwardRef)(
|
|
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,46 +504,38 @@ 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
|
|
509
|
+
// src/elements/Video/index.tsx
|
|
510
|
+
var import_react11 = __toESM(require("react"));
|
|
475
511
|
|
|
476
|
-
// src/elements/
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
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,
|
|
519
|
+
loop,
|
|
520
|
+
muted,
|
|
521
|
+
controlsList: "nodownload",
|
|
522
|
+
disablePictureInPicture: true
|
|
523
|
+
}, /* @__PURE__ */ import_react8.default.createElement("source", {
|
|
524
|
+
src,
|
|
525
|
+
type: type || "video/mp4"
|
|
526
|
+
}), /* @__PURE__ */ import_react8.default.createElement("source", {
|
|
527
|
+
src,
|
|
528
|
+
type: "video/ogg"
|
|
529
|
+
}), "Your browser does not support the video tag.");
|
|
486
530
|
}
|
|
487
531
|
|
|
488
|
-
// src/elements/
|
|
532
|
+
// src/elements/Video/Vimeo.tsx
|
|
489
533
|
var import_react9 = __toESM(require("react"));
|
|
490
|
-
function Youtube(props) {
|
|
491
|
-
let { youtubeId, controls, autoPlay, loop, muted } = props;
|
|
492
|
-
let params = `autoplay=${autoPlay ? 1 : 0}&controls=${controls ? 1 : 0}&loop=${loop ? 1 : 0}&mute=${muted ? 1 : 0}`;
|
|
493
|
-
let youtubeSrc = `https://www.youtube.com/embed/${youtubeId}?${params}`;
|
|
494
|
-
let allow = `accelerometer;${autoPlay ? "autoplay;" : ""} clipboard-write; encrypted-media; gyroscope; picture-in-picture`;
|
|
495
|
-
return /* @__PURE__ */ import_react9.default.createElement("iframe", {
|
|
496
|
-
src: youtubeSrc,
|
|
497
|
-
width: "100%",
|
|
498
|
-
height: "100%",
|
|
499
|
-
allowFullScreen: true,
|
|
500
|
-
allow
|
|
501
|
-
});
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
// src/elements/video/vimeo.tsx
|
|
505
|
-
var import_react10 = __toESM(require("react"));
|
|
506
534
|
function Vimeo(props) {
|
|
507
535
|
let { vimeoId, controls, autoPlay, loop, muted } = props;
|
|
508
536
|
let params = `autoplay=${autoPlay}&loop=${loop}&controls=${controls}&muted=${muted}`;
|
|
509
537
|
let vimeoSrc = `https://player.vimeo.com/video/${vimeoId}?${params}`;
|
|
510
|
-
return /* @__PURE__ */
|
|
538
|
+
return /* @__PURE__ */ import_react9.default.createElement("iframe", {
|
|
511
539
|
src: vimeoSrc,
|
|
512
540
|
width: "100%",
|
|
513
541
|
height: "100%",
|
|
@@ -515,29 +543,30 @@ function Vimeo(props) {
|
|
|
515
543
|
});
|
|
516
544
|
}
|
|
517
545
|
|
|
518
|
-
// src/elements/
|
|
519
|
-
var
|
|
520
|
-
function
|
|
521
|
-
let {
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
loop,
|
|
526
|
-
muted
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
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
|
+
});
|
|
536
565
|
}
|
|
537
566
|
|
|
538
|
-
// src/elements/
|
|
539
|
-
var Video = (0,
|
|
540
|
-
let { isDesignMode } = (0,
|
|
567
|
+
// src/elements/Video/index.tsx
|
|
568
|
+
var Video = (0, import_react11.forwardRef)((props, ref) => {
|
|
569
|
+
let { isDesignMode } = (0, import_react11.useContext)(WeaverseContext);
|
|
541
570
|
let {
|
|
542
571
|
src,
|
|
543
572
|
controls,
|
|
@@ -553,21 +582,21 @@ var Video = (0, import_react12.forwardRef)((props, ref) => {
|
|
|
553
582
|
let youtubeId = getYoutubeEmbedId(src);
|
|
554
583
|
let vimeoId = getVimeoId(src);
|
|
555
584
|
if (youtubeId) {
|
|
556
|
-
content = /* @__PURE__ */
|
|
585
|
+
content = /* @__PURE__ */ import_react11.default.createElement(Youtube, {
|
|
557
586
|
...videoProps,
|
|
558
587
|
youtubeId
|
|
559
588
|
});
|
|
560
589
|
} else if (vimeoId) {
|
|
561
|
-
content = /* @__PURE__ */
|
|
590
|
+
content = /* @__PURE__ */ import_react11.default.createElement(Vimeo, {
|
|
562
591
|
...videoProps,
|
|
563
592
|
vimeoId
|
|
564
593
|
});
|
|
565
594
|
} else {
|
|
566
|
-
content = /* @__PURE__ */
|
|
595
|
+
content = /* @__PURE__ */ import_react11.default.createElement(HTMLVideo, {
|
|
567
596
|
...videoProps
|
|
568
597
|
});
|
|
569
598
|
}
|
|
570
|
-
return /* @__PURE__ */
|
|
599
|
+
return /* @__PURE__ */ import_react11.default.createElement("div", {
|
|
571
600
|
ref,
|
|
572
601
|
...rest
|
|
573
602
|
}, content);
|
|
@@ -589,35 +618,34 @@ Video.defaultProps = {
|
|
|
589
618
|
autoPlay: true,
|
|
590
619
|
muted: true
|
|
591
620
|
};
|
|
592
|
-
var
|
|
593
|
-
|
|
594
|
-
// src/elements/instagram.tsx
|
|
595
|
-
var import_react14 = __toESM(require("react"));
|
|
621
|
+
var Video_default = Video;
|
|
596
622
|
|
|
597
|
-
// src/elements/
|
|
623
|
+
// src/elements/Instagram.tsx
|
|
598
624
|
var import_react13 = __toESM(require("react"));
|
|
599
|
-
|
|
625
|
+
|
|
626
|
+
// src/components/Placeholder.tsx
|
|
627
|
+
var import_react12 = __toESM(require("react"));
|
|
628
|
+
var Placeholder = (0, import_react12.forwardRef)(
|
|
600
629
|
(props, ref) => {
|
|
601
630
|
let { element, children, ...rest } = props;
|
|
602
|
-
return /* @__PURE__ */
|
|
631
|
+
return /* @__PURE__ */ import_react12.default.createElement("div", {
|
|
603
632
|
"data-wv-placeholder": true,
|
|
604
633
|
ref,
|
|
605
634
|
...rest
|
|
606
|
-
}, /* @__PURE__ */
|
|
635
|
+
}, /* @__PURE__ */ import_react12.default.createElement("div", {
|
|
607
636
|
style: { fontWeight: 600, marginBottom: "10px" }
|
|
608
|
-
}, element), /* @__PURE__ */
|
|
637
|
+
}, element), /* @__PURE__ */ import_react12.default.createElement("div", null, children));
|
|
609
638
|
}
|
|
610
639
|
);
|
|
611
640
|
var Placeholder_default = Placeholder;
|
|
612
641
|
|
|
613
|
-
// src/elements/
|
|
614
|
-
var
|
|
615
|
-
var Instagram = (0, import_react14.forwardRef)(
|
|
642
|
+
// src/elements/Instagram.tsx
|
|
643
|
+
var Instagram = (0, import_react13.forwardRef)(
|
|
616
644
|
(props, ref) => {
|
|
617
645
|
let { token, username, numberOfImages, imagesPerRow, gap, ...rest } = props;
|
|
618
|
-
let [media, setMedia] = (0,
|
|
619
|
-
let [error, setError] = (0,
|
|
620
|
-
(0,
|
|
646
|
+
let [media, setMedia] = (0, import_react13.useState)([]);
|
|
647
|
+
let [error, setError] = (0, import_react13.useState)(null);
|
|
648
|
+
(0, import_react13.useEffect)(() => {
|
|
621
649
|
if (token) {
|
|
622
650
|
let params = new URLSearchParams({
|
|
623
651
|
access_token: token,
|
|
@@ -634,10 +662,10 @@ var Instagram = (0, import_react14.forwardRef)(
|
|
|
634
662
|
}
|
|
635
663
|
}, [token]);
|
|
636
664
|
if (!token || error) {
|
|
637
|
-
return /* @__PURE__ */
|
|
665
|
+
return /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
638
666
|
ref,
|
|
639
667
|
...rest
|
|
640
|
-
}, /* @__PURE__ */
|
|
668
|
+
}, /* @__PURE__ */ import_react13.default.createElement(Placeholder_default, {
|
|
641
669
|
element: "Instagram"
|
|
642
670
|
}, !token ? "Connect to Instagram to display photos on your site." : "Invalid or expired token!"));
|
|
643
671
|
}
|
|
@@ -645,20 +673,20 @@ var Instagram = (0, import_react14.forwardRef)(
|
|
|
645
673
|
"--wv-ig-images-per-row": imagesPerRow,
|
|
646
674
|
"--wv-ig-images-gap": gap + "px"
|
|
647
675
|
};
|
|
648
|
-
return /* @__PURE__ */
|
|
676
|
+
return /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
649
677
|
ref,
|
|
650
678
|
...rest,
|
|
651
679
|
style
|
|
652
|
-
}, /* @__PURE__ */
|
|
680
|
+
}, /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
653
681
|
className: "wv-ig-media-container"
|
|
654
682
|
}, media.slice(0, numberOfImages).map((item) => {
|
|
655
683
|
let { id, permalink, caption, media_url } = item;
|
|
656
|
-
return /* @__PURE__ */
|
|
684
|
+
return /* @__PURE__ */ import_react13.default.createElement("a", {
|
|
657
685
|
key: id,
|
|
658
686
|
href: permalink,
|
|
659
687
|
target: "_blank",
|
|
660
688
|
rel: "noreferrer"
|
|
661
|
-
}, /* @__PURE__ */
|
|
689
|
+
}, /* @__PURE__ */ import_react13.default.createElement("img", {
|
|
662
690
|
alt: caption,
|
|
663
691
|
src: media_url
|
|
664
692
|
}));
|
|
@@ -681,6 +709,19 @@ var permanentCss2 = {
|
|
|
681
709
|
objectFit: "cover"
|
|
682
710
|
}
|
|
683
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
|
+
}
|
|
684
725
|
}
|
|
685
726
|
};
|
|
686
727
|
Instagram.defaultProps = {
|
|
@@ -690,106 +731,176 @@ Instagram.defaultProps = {
|
|
|
690
731
|
imagesPerRow: 4,
|
|
691
732
|
gap: 0
|
|
692
733
|
};
|
|
693
|
-
var
|
|
734
|
+
var Instagram_default = Instagram;
|
|
694
735
|
|
|
695
736
|
// src/elements/index.ts
|
|
696
|
-
var SharedComponents = {
|
|
697
|
-
Placeholder: Placeholder_default
|
|
698
|
-
};
|
|
699
737
|
var Elements = {
|
|
700
738
|
Countdown: {
|
|
701
|
-
Component:
|
|
739
|
+
Component: Countdown_default,
|
|
702
740
|
type: "countdown",
|
|
703
741
|
defaultCss: css3
|
|
704
742
|
},
|
|
705
743
|
Button: {
|
|
706
|
-
Component:
|
|
744
|
+
Component: Button_default,
|
|
707
745
|
type: "button",
|
|
708
746
|
defaultCss: css
|
|
709
747
|
},
|
|
710
748
|
Container: {
|
|
711
|
-
Component:
|
|
749
|
+
Component: Container_default,
|
|
712
750
|
type: "container",
|
|
713
751
|
defaultCss: css2
|
|
714
752
|
},
|
|
715
753
|
Image: {
|
|
716
|
-
Component:
|
|
754
|
+
Component: Image_default,
|
|
717
755
|
type: "image",
|
|
718
756
|
defaultCss: css4
|
|
719
757
|
},
|
|
720
758
|
Instagram: {
|
|
721
|
-
Component:
|
|
759
|
+
Component: Instagram_default,
|
|
722
760
|
type: "instagram",
|
|
723
761
|
defaultCss: css9,
|
|
724
762
|
permanentCss: permanentCss2
|
|
725
763
|
},
|
|
726
764
|
Layout: {
|
|
727
|
-
Component:
|
|
765
|
+
Component: Layout_default,
|
|
728
766
|
type: "layout",
|
|
729
767
|
defaultCss: css5,
|
|
730
768
|
permanentCss
|
|
731
769
|
},
|
|
732
770
|
Map: {
|
|
733
|
-
Component:
|
|
771
|
+
Component: Map_default,
|
|
734
772
|
type: "map",
|
|
735
773
|
defaultCss: css6
|
|
736
774
|
},
|
|
737
775
|
Text: {
|
|
738
|
-
Component:
|
|
776
|
+
Component: Text_default,
|
|
739
777
|
type: "text",
|
|
740
778
|
defaultCss: css7
|
|
741
779
|
},
|
|
742
780
|
Video: {
|
|
743
|
-
Component:
|
|
781
|
+
Component: Video_default,
|
|
744
782
|
type: "video",
|
|
745
783
|
defaultCss: css8
|
|
746
784
|
}
|
|
747
785
|
};
|
|
748
786
|
|
|
749
|
-
// src/
|
|
750
|
-
var
|
|
751
|
-
|
|
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;
|
|
752
798
|
|
|
753
|
-
// src/
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
className = `${permanentClass} ${cls} ${newClass} ${otherClass}`.trim();
|
|
782
|
-
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))));
|
|
783
827
|
}
|
|
784
|
-
|
|
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
|
+
})));
|
|
785
887
|
}
|
|
786
888
|
|
|
889
|
+
// src/components/index.ts
|
|
890
|
+
var Components = {
|
|
891
|
+
Placeholder: Placeholder_default,
|
|
892
|
+
Spinner,
|
|
893
|
+
ModalComponents: Modal_exports
|
|
894
|
+
};
|
|
895
|
+
|
|
787
896
|
// src/renderer.tsx
|
|
897
|
+
var import_core2 = require("@weaverse/core");
|
|
898
|
+
var import_react18 = __toESM(require("react"));
|
|
788
899
|
var WeaverseRoot = ({ context }) => {
|
|
789
|
-
let [, setData] = (0,
|
|
790
|
-
let rootRef = (0,
|
|
900
|
+
let [, setData] = (0, import_react18.useState)(context.projectData);
|
|
901
|
+
let rootRef = (0, import_react18.useRef)();
|
|
791
902
|
let renderRoot = () => setData({});
|
|
792
|
-
(0,
|
|
903
|
+
(0, import_react18.useEffect)(() => {
|
|
793
904
|
context.subscribe(renderRoot);
|
|
794
905
|
context.contentRootElement = rootRef.current;
|
|
795
906
|
return () => {
|
|
@@ -799,23 +910,23 @@ var WeaverseRoot = ({ context }) => {
|
|
|
799
910
|
let eventHandlers = context?.studioBridge?.eventHandlers || {};
|
|
800
911
|
let themeClass = context.stitchesInstance.theme.className;
|
|
801
912
|
if (context.projectData?.rootId) {
|
|
802
|
-
return /* @__PURE__ */
|
|
913
|
+
return /* @__PURE__ */ import_react18.default.createElement("div", {
|
|
803
914
|
className: `weaverse-content-root ${themeClass}`,
|
|
804
915
|
...eventHandlers,
|
|
805
916
|
ref: rootRef
|
|
806
|
-
}, /* @__PURE__ */
|
|
917
|
+
}, /* @__PURE__ */ import_react18.default.createElement(WeaverseContextProvider, {
|
|
807
918
|
value: context
|
|
808
|
-
}, /* @__PURE__ */
|
|
919
|
+
}, /* @__PURE__ */ import_react18.default.createElement(ItemInstance, {
|
|
809
920
|
id: context.projectData.rootId
|
|
810
921
|
})));
|
|
811
922
|
}
|
|
812
923
|
return null;
|
|
813
924
|
};
|
|
814
925
|
var ItemComponent = ({ instance }) => {
|
|
815
|
-
let { stitchesInstance, elementInstances } = (0,
|
|
816
|
-
let [data, setData] = (0,
|
|
926
|
+
let { stitchesInstance, elementInstances } = (0, import_react18.useContext)(WeaverseContext);
|
|
927
|
+
let [data, setData] = (0, import_react18.useState)(instance.data);
|
|
817
928
|
let { id, type, childIds = [], css: css10, className, ...rest } = data;
|
|
818
|
-
(0,
|
|
929
|
+
(0, import_react18.useEffect)(() => {
|
|
819
930
|
let render = (data2) => setData({ ...data2 });
|
|
820
931
|
instance.subscribe(render);
|
|
821
932
|
if (import_core2.isBrowser && !instance.ref.current) {
|
|
@@ -831,13 +942,13 @@ var ItemComponent = ({ instance }) => {
|
|
|
831
942
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
832
943
|
rest.ref = instance.ref;
|
|
833
944
|
}
|
|
834
|
-
return /* @__PURE__ */
|
|
945
|
+
return /* @__PURE__ */ import_react18.default.createElement(Component, {
|
|
835
946
|
key: id,
|
|
836
947
|
"data-wv-type": type,
|
|
837
948
|
"data-wv-id": id,
|
|
838
949
|
className: generateItemClass(instance, stitchesInstance),
|
|
839
950
|
...rest
|
|
840
|
-
}, childIds.map((id2) => /* @__PURE__ */
|
|
951
|
+
}, childIds.map((id2) => /* @__PURE__ */ import_react18.default.createElement(ItemInstance, {
|
|
841
952
|
key: id2,
|
|
842
953
|
id: id2
|
|
843
954
|
})));
|
|
@@ -847,26 +958,23 @@ var ItemComponent = ({ instance }) => {
|
|
|
847
958
|
}
|
|
848
959
|
};
|
|
849
960
|
var ItemInstance = ({ id }) => {
|
|
850
|
-
let context = (0,
|
|
961
|
+
let context = (0, import_react18.useContext)(WeaverseContext);
|
|
851
962
|
let { itemInstances } = context;
|
|
852
963
|
let instance = itemInstances.get(id);
|
|
853
964
|
if (!instance) {
|
|
854
|
-
return /* @__PURE__ */
|
|
965
|
+
return /* @__PURE__ */ import_react18.default.createElement("div", {
|
|
855
966
|
style: { display: "none" }
|
|
856
967
|
}, "Item instance ", id, " not found");
|
|
857
968
|
}
|
|
858
|
-
return /* @__PURE__ */
|
|
969
|
+
return /* @__PURE__ */ import_react18.default.createElement(ItemComponent, {
|
|
859
970
|
key: id,
|
|
860
971
|
instance
|
|
861
972
|
});
|
|
862
973
|
};
|
|
863
|
-
|
|
864
|
-
// src/index.ts
|
|
865
|
-
__reExport(src_exports, require("@weaverse/core"), module.exports);
|
|
866
974
|
// Annotate the CommonJS export names for ESM import in node:
|
|
867
975
|
0 && (module.exports = {
|
|
976
|
+
Components,
|
|
868
977
|
Elements,
|
|
869
|
-
SharedComponents,
|
|
870
978
|
WeaverseContext,
|
|
871
979
|
WeaverseContextConsumer,
|
|
872
980
|
WeaverseContextProvider,
|