@weaverse/react 0.6.20 → 0.6.21
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 +5 -74
- package/dist/index.js +99 -143
- package/dist/index.mjs +89 -133
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { WeaverseType, Weaverse, ElementCSS, WeaverseItemStore } from '@weaverse/core';
|
|
2
|
+
import { WeaverseType, Weaverse, WeaverseItemStore } from '@weaverse/core';
|
|
4
3
|
export * from '@weaverse/core';
|
|
5
4
|
|
|
6
5
|
declare let createRootContext: (configs: WeaverseType) => Weaverse;
|
|
@@ -8,85 +7,17 @@ declare let WeaverseContext: react.Context<Weaverse>;
|
|
|
8
7
|
declare let WeaverseContextProvider: react.Provider<Weaverse>;
|
|
9
8
|
declare let WeaverseContextConsumer: react.Consumer<Weaverse>;
|
|
10
9
|
|
|
11
|
-
interface WeaverseElementProps
|
|
12
|
-
|
|
13
|
-
children?: ReactElement | ReactElement[] | ReactNode | ReactNode[];
|
|
10
|
+
interface WeaverseElementProps {
|
|
11
|
+
children?: React.ReactNode;
|
|
14
12
|
}
|
|
15
13
|
declare type WeaverseRootPropsType = {
|
|
16
14
|
context: Weaverse;
|
|
17
15
|
};
|
|
16
|
+
declare type CountdownTimeKey = 'days' | 'hours' | 'minutes' | 'seconds';
|
|
18
17
|
declare type ItemComponentProps = {
|
|
19
18
|
instance: InstanceType<typeof WeaverseItemStore>;
|
|
20
19
|
};
|
|
21
|
-
interface PlaceholderProps extends WeaverseElementProps {
|
|
22
|
-
element: string;
|
|
23
|
-
}
|
|
24
|
-
interface ButtonElementProps extends WeaverseElementProps {
|
|
25
|
-
value: string;
|
|
26
|
-
openInNewTab: boolean;
|
|
27
|
-
target: string;
|
|
28
|
-
type: 'button' | 'submit' | 'reset';
|
|
29
|
-
}
|
|
30
|
-
interface ContainerElementProps extends WeaverseElementProps {
|
|
31
|
-
[key: string]: any;
|
|
32
|
-
}
|
|
33
|
-
interface ImageElementProps extends WeaverseElementProps {
|
|
34
|
-
src: string;
|
|
35
|
-
alt: string;
|
|
36
|
-
}
|
|
37
|
-
interface LayoutElementProps extends WeaverseElementProps {
|
|
38
|
-
gridSize: number;
|
|
39
|
-
rows: number;
|
|
40
|
-
columns: number;
|
|
41
|
-
gap: number;
|
|
42
|
-
rowSize: number;
|
|
43
|
-
}
|
|
44
|
-
interface MapElementProps extends WeaverseElementProps {
|
|
45
|
-
place: string;
|
|
46
|
-
zoom: number;
|
|
47
|
-
}
|
|
48
|
-
interface TextElementProps extends WeaverseElementProps {
|
|
49
|
-
value: string;
|
|
50
|
-
}
|
|
51
|
-
interface VideoElementProps extends WeaverseElementProps {
|
|
52
|
-
src: string;
|
|
53
|
-
poster: string;
|
|
54
|
-
loop: boolean;
|
|
55
|
-
type: string;
|
|
56
|
-
controls: boolean;
|
|
57
|
-
autoPlay: boolean;
|
|
58
|
-
muted: boolean;
|
|
59
|
-
}
|
|
60
|
-
declare type CountdownTimeKey = 'days' | 'hours' | 'minutes' | 'seconds';
|
|
61
|
-
interface CountdownElementProps extends WeaverseElementProps {
|
|
62
|
-
timerType: 'fixed-time' | 'evergreen';
|
|
63
|
-
startTime: number;
|
|
64
|
-
endTime: number;
|
|
65
|
-
periods: number;
|
|
66
|
-
redirectUrl: string;
|
|
67
|
-
openInNewTab: boolean;
|
|
68
|
-
showLabel: boolean;
|
|
69
|
-
showColon: boolean;
|
|
70
|
-
}
|
|
71
|
-
declare type TimerBlockProps = {
|
|
72
|
-
label: string;
|
|
73
|
-
value: number;
|
|
74
|
-
};
|
|
75
|
-
interface InstagramElementProps extends WeaverseElementProps {
|
|
76
|
-
token: string;
|
|
77
|
-
username: string;
|
|
78
|
-
numberOfImages: number;
|
|
79
|
-
imagesPerRow: number;
|
|
80
|
-
gap: number;
|
|
81
|
-
}
|
|
82
|
-
declare type InstagramMedia = {
|
|
83
|
-
id: string;
|
|
84
|
-
media_type: 'IMAGE' | 'CAROUSEL_ALBUM';
|
|
85
|
-
media_url: string;
|
|
86
|
-
permalink: string;
|
|
87
|
-
caption: string;
|
|
88
|
-
};
|
|
89
20
|
|
|
90
21
|
declare let WeaverseRoot: ({ context }: WeaverseRootPropsType) => JSX.Element;
|
|
91
22
|
|
|
92
|
-
export {
|
|
23
|
+
export { CountdownTimeKey, ItemComponentProps, WeaverseContext, WeaverseContextConsumer, WeaverseContextProvider, WeaverseElementProps, WeaverseRoot, WeaverseRootPropsType, createRootContext };
|
package/dist/index.js
CHANGED
|
@@ -62,12 +62,12 @@ module.exports = __toCommonJS(src_exports);
|
|
|
62
62
|
|
|
63
63
|
// src/context.ts
|
|
64
64
|
var import_core = require("@weaverse/core");
|
|
65
|
-
var
|
|
65
|
+
var import_react9 = require("react");
|
|
66
66
|
|
|
67
67
|
// src/elements/button.tsx
|
|
68
68
|
var React = __toESM(require("react"));
|
|
69
69
|
var Button = React.forwardRef((props, ref) => {
|
|
70
|
-
|
|
70
|
+
const _a = props, { openInNewTab, target, value } = _a, rest = __objRest(_a, ["openInNewTab", "target", "value"]);
|
|
71
71
|
if (target) {
|
|
72
72
|
return /* @__PURE__ */ React.createElement("a", __spreadProps(__spreadValues({
|
|
73
73
|
href: target,
|
|
@@ -102,10 +102,9 @@ var button_default = Button;
|
|
|
102
102
|
// src/elements/container.tsx
|
|
103
103
|
var import_react = __toESM(require("react"));
|
|
104
104
|
var Container = (0, import_react.forwardRef)((props, ref) => {
|
|
105
|
-
let _a = props, { children } = _a, rest = __objRest(_a, ["children"]);
|
|
106
105
|
return /* @__PURE__ */ import_react.default.createElement("div", __spreadValues({
|
|
107
106
|
ref
|
|
108
|
-
},
|
|
107
|
+
}, props));
|
|
109
108
|
});
|
|
110
109
|
Container.defaultProps = {
|
|
111
110
|
css: {
|
|
@@ -179,7 +178,7 @@ var Countdown = (0, import_react3.forwardRef)((props, ref) => {
|
|
|
179
178
|
}
|
|
180
179
|
(0, import_react3.useEffect)(() => {
|
|
181
180
|
const flag = setInterval(() => {
|
|
182
|
-
const remainingTime = Math.max((timerType === "
|
|
181
|
+
const remainingTime = Math.max((timerType === "specific" ? new Date(endTime).getTime() : new Date(startTime).getTime() + periods * 60 * 1e3) - Date.now(), 0);
|
|
183
182
|
if (!isDesignMode && redirectUrl && remainingTime > 0 && remainingTime < 1e3) {
|
|
184
183
|
window.open(redirectUrl, openInNewTab ? "_blank" : "_self");
|
|
185
184
|
}
|
|
@@ -204,7 +203,7 @@ var Countdown = (0, import_react3.forwardRef)((props, ref) => {
|
|
|
204
203
|
}));
|
|
205
204
|
});
|
|
206
205
|
Countdown.defaultProps = {
|
|
207
|
-
timerType: "
|
|
206
|
+
timerType: "specific",
|
|
208
207
|
startTime: Date.now(),
|
|
209
208
|
endTime: 1661140528e3,
|
|
210
209
|
periods: 90,
|
|
@@ -241,10 +240,10 @@ var countdown_default = Countdown;
|
|
|
241
240
|
// src/elements/image.tsx
|
|
242
241
|
var import_react4 = __toESM(require("react"));
|
|
243
242
|
var Image = import_react4.default.forwardRef((props, ref) => {
|
|
244
|
-
let _a = props, { src, alt } = _a, rest = __objRest(_a, ["src", "alt"]);
|
|
245
|
-
return /* @__PURE__ */ import_react4.default.createElement("
|
|
243
|
+
let _a = props, { src, alt, children } = _a, rest = __objRest(_a, ["src", "alt", "children"]);
|
|
244
|
+
return /* @__PURE__ */ import_react4.default.createElement("img", __spreadProps(__spreadValues({
|
|
246
245
|
ref
|
|
247
|
-
}, rest),
|
|
246
|
+
}, rest), {
|
|
248
247
|
alt,
|
|
249
248
|
src
|
|
250
249
|
}));
|
|
@@ -254,11 +253,12 @@ Image.defaultProps = {
|
|
|
254
253
|
alt: "weaverse image element",
|
|
255
254
|
css: {
|
|
256
255
|
"@desktop": {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
256
|
+
width: "100%",
|
|
257
|
+
height: "100%",
|
|
258
|
+
objectFit: "cover"
|
|
259
|
+
},
|
|
260
|
+
"@mobile": {
|
|
261
|
+
display: "block"
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
264
|
};
|
|
@@ -268,19 +268,17 @@ var image_default = Image;
|
|
|
268
268
|
var import_react5 = __toESM(require("react"));
|
|
269
269
|
var Layout = (0, import_react5.forwardRef)((props, ref) => {
|
|
270
270
|
let _a = props, { children, rows, gap, rowSize, columns, gridSize } = _a, rest = __objRest(_a, ["children", "rows", "gap", "rowSize", "columns", "gridSize"]);
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}, rest), {
|
|
282
|
-
style
|
|
283
|
-
}), /* @__PURE__ */ import_react5.default.createElement("div", {
|
|
271
|
+
return /* @__PURE__ */ import_react5.default.createElement("section", __spreadValues({
|
|
272
|
+
ref,
|
|
273
|
+
style: {
|
|
274
|
+
"--grid-size": gridSize + "px",
|
|
275
|
+
"--rows": rows,
|
|
276
|
+
"--columns": columns,
|
|
277
|
+
"--gap": gap + "px",
|
|
278
|
+
"--row-size": rowSize + "px",
|
|
279
|
+
"--col-size": "calc((var(--grid-size) - calc(var(--columns) - 1) * var(--gap)) / var(--columns))"
|
|
280
|
+
}
|
|
281
|
+
}, rest), /* @__PURE__ */ import_react5.default.createElement("div", {
|
|
284
282
|
"data-layout-content": true
|
|
285
283
|
}, children));
|
|
286
284
|
});
|
|
@@ -319,7 +317,7 @@ var layout_default = Layout;
|
|
|
319
317
|
// src/elements/map.tsx
|
|
320
318
|
var import_react6 = __toESM(require("react"));
|
|
321
319
|
var Map = (0, import_react6.forwardRef)((props, ref) => {
|
|
322
|
-
|
|
320
|
+
const _a = props, { place, zoom } = _a, rest = __objRest(_a, ["place", "zoom"]);
|
|
323
321
|
return /* @__PURE__ */ import_react6.default.createElement("div", __spreadValues({
|
|
324
322
|
ref
|
|
325
323
|
}, rest), /* @__PURE__ */ import_react6.default.createElement("iframe", {
|
|
@@ -329,12 +327,19 @@ var Map = (0, import_react6.forwardRef)((props, ref) => {
|
|
|
329
327
|
height: "100%",
|
|
330
328
|
title: "map",
|
|
331
329
|
src: `https://maps.google.com/maps?z=${zoom}&t=m&q=${place}&ie=UTF8&&output=embed`,
|
|
332
|
-
style: {
|
|
330
|
+
style: {
|
|
331
|
+
pointerEvents: "none"
|
|
332
|
+
}
|
|
333
333
|
}));
|
|
334
334
|
});
|
|
335
335
|
Map.defaultProps = {
|
|
336
336
|
place: "Hanoi",
|
|
337
|
-
zoom: 14
|
|
337
|
+
zoom: 14,
|
|
338
|
+
css: {
|
|
339
|
+
"@desktop": {
|
|
340
|
+
gridArea: "1 / 1 / 11 / 13"
|
|
341
|
+
}
|
|
342
|
+
}
|
|
338
343
|
};
|
|
339
344
|
var map_default = Map;
|
|
340
345
|
|
|
@@ -354,7 +359,8 @@ Text.defaultProps = {
|
|
|
354
359
|
"@desktop": {
|
|
355
360
|
width: "100%",
|
|
356
361
|
height: "fit-content",
|
|
357
|
-
padding:
|
|
362
|
+
padding: 0,
|
|
363
|
+
margin: 0,
|
|
358
364
|
outline: "none",
|
|
359
365
|
wordBreak: "break-word",
|
|
360
366
|
overflowWrap: "break-word",
|
|
@@ -367,24 +373,23 @@ var text_default = Text;
|
|
|
367
373
|
// src/elements/video.tsx
|
|
368
374
|
var import_react7 = __toESM(require("react"));
|
|
369
375
|
var Video = (0, import_react7.forwardRef)((props, ref) => {
|
|
370
|
-
|
|
376
|
+
const { isDesignMode } = (0, import_react7.useContext)(WeaverseContext);
|
|
371
377
|
let _a = props, { src, type, controls, poster, autoPlay, loop, muted } = _a, rest = __objRest(_a, ["src", "type", "controls", "poster", "autoPlay", "loop", "muted"]);
|
|
372
|
-
return /* @__PURE__ */ import_react7.default.createElement("
|
|
373
|
-
ref
|
|
374
|
-
}, rest), /* @__PURE__ */ import_react7.default.createElement("video", {
|
|
378
|
+
return /* @__PURE__ */ import_react7.default.createElement("video", __spreadValues({
|
|
379
|
+
ref,
|
|
375
380
|
controls: isDesignMode ? false : controls,
|
|
376
381
|
autoPlay: isDesignMode ? false : autoPlay,
|
|
377
382
|
loop,
|
|
378
383
|
muted: true,
|
|
379
384
|
controlsList: "nodownload",
|
|
380
385
|
disablePictureInPicture: true
|
|
381
|
-
}, /* @__PURE__ */ import_react7.default.createElement("source", {
|
|
386
|
+
}, rest), /* @__PURE__ */ import_react7.default.createElement("source", {
|
|
382
387
|
src,
|
|
383
388
|
type: type || "video/mp4"
|
|
384
|
-
})
|
|
389
|
+
}));
|
|
385
390
|
});
|
|
386
391
|
Video.defaultProps = {
|
|
387
|
-
src: "https://
|
|
392
|
+
src: "https://ucarecdn.com/7cae0dab-8966-4484-9998-602728c360ca/IMG_0048.MOV",
|
|
388
393
|
poster: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
|
|
389
394
|
loop: false,
|
|
390
395
|
type: "video/mp4",
|
|
@@ -393,113 +398,64 @@ Video.defaultProps = {
|
|
|
393
398
|
muted: true,
|
|
394
399
|
css: {
|
|
395
400
|
"@desktop": {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
+
height: "fit-content",
|
|
402
|
+
margin: 0,
|
|
403
|
+
outline: "none",
|
|
404
|
+
overflowWrap: "break-word",
|
|
405
|
+
padding: 0,
|
|
406
|
+
whitespace: "break-spaces",
|
|
407
|
+
width: "100%",
|
|
408
|
+
wordBreak: "break-word"
|
|
401
409
|
}
|
|
402
410
|
}
|
|
403
411
|
};
|
|
404
412
|
var video_default = Video;
|
|
405
413
|
|
|
406
414
|
// src/elements/instagram.tsx
|
|
407
|
-
var import_react9 = __toESM(require("react"));
|
|
408
|
-
|
|
409
|
-
// src/elements/shared/Placeholder.tsx
|
|
410
415
|
var import_react8 = __toESM(require("react"));
|
|
411
|
-
var
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
};
|
|
421
|
-
return /* @__PURE__ */ import_react8.default.createElement("div", __spreadValues({
|
|
422
|
-
style,
|
|
423
|
-
ref
|
|
424
|
-
}, rest), /* @__PURE__ */ import_react8.default.createElement("div", {
|
|
425
|
-
style: { fontWeight: 600, marginBottom: "10px" }
|
|
426
|
-
}, element), /* @__PURE__ */ import_react8.default.createElement("div", null, children));
|
|
427
|
-
});
|
|
428
|
-
var Placeholder_default = Placeholder;
|
|
429
|
-
|
|
430
|
-
// src/elements/instagram.tsx
|
|
431
|
-
var INSTAGRAM_API = "https://graph.instagram.com";
|
|
432
|
-
var Instagram = (0, import_react9.forwardRef)((props, ref) => {
|
|
433
|
-
const _a = props, { token, username, numberOfImages, imagesPerRow, gap } = _a, rest = __objRest(_a, ["token", "username", "numberOfImages", "imagesPerRow", "gap"]);
|
|
434
|
-
const [media, setMedia] = (0, import_react9.useState)([]);
|
|
435
|
-
const [error, setError] = (0, import_react9.useState)(null);
|
|
436
|
-
let { isDesignMode } = (0, import_react9.useContext)(WeaverseContext);
|
|
437
|
-
(0, import_react9.useEffect)(() => {
|
|
438
|
-
if (token) {
|
|
439
|
-
let params = new URLSearchParams({
|
|
440
|
-
access_token: token,
|
|
441
|
-
fields: "id,media_type,caption,media_url,permalink"
|
|
442
|
-
});
|
|
443
|
-
fetch(`${INSTAGRAM_API}/me/media?${params.toString()}`).then((res) => res.json()).then((res) => {
|
|
444
|
-
if (res.error) {
|
|
445
|
-
setError(res);
|
|
446
|
-
} else {
|
|
447
|
-
setError(null);
|
|
448
|
-
setMedia([...res.data]);
|
|
449
|
-
}
|
|
450
|
-
}).catch(setError);
|
|
451
|
-
}
|
|
416
|
+
var Instagram = (0, import_react8.forwardRef)((props, ref) => {
|
|
417
|
+
const { stitchesInstance } = (0, import_react8.useContext)(WeaverseContext);
|
|
418
|
+
const _a = props, { token, numberOfImages, imagesPerRow, className } = _a, rest = __objRest(_a, ["token", "numberOfImages", "imagesPerRow", "className"]);
|
|
419
|
+
const [media, setMedia] = (0, import_react8.useState)([]);
|
|
420
|
+
(0, import_react8.useEffect)(() => {
|
|
421
|
+
const url = `https://graph.instagram.com/me/media?fields=id,media_type,caption,media_url&access_token=${token}`;
|
|
422
|
+
fetch(url).then((res) => res.json()).then((res) => {
|
|
423
|
+
setMedia(res.data);
|
|
424
|
+
});
|
|
452
425
|
}, [token]);
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
ref
|
|
456
|
-
}, rest), /* @__PURE__ */ import_react9.default.createElement(Placeholder_default, {
|
|
457
|
-
element: "Instagram"
|
|
458
|
-
}, !token ? "Connect your Instagram account to display photos on your site." : "Invalid or expired token!"));
|
|
459
|
-
}
|
|
460
|
-
let style = {
|
|
461
|
-
"--wv-ig-images-per-row": imagesPerRow,
|
|
462
|
-
"--wv-ig-images-gap": gap
|
|
426
|
+
const css = {
|
|
427
|
+
gridTemplateColumns: `repeat(${imagesPerRow[0] || 1}, 1fr)`
|
|
463
428
|
};
|
|
464
|
-
|
|
429
|
+
const { className: instagramClass = "" } = stitchesInstance.css(css)();
|
|
430
|
+
return /* @__PURE__ */ import_react8.default.createElement("div", __spreadValues({
|
|
431
|
+
className: `${className} ${instagramClass}`,
|
|
465
432
|
ref
|
|
466
|
-
}, rest), {
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
linkProps = { href: item.permalink, target: "_blank" };
|
|
474
|
-
}
|
|
475
|
-
return /* @__PURE__ */ import_react9.default.createElement("a", __spreadValues({
|
|
476
|
-
key: item.id
|
|
477
|
-
}, linkProps), /* @__PURE__ */ import_react9.default.createElement("img", {
|
|
433
|
+
}, rest), !token ? "Token is empty" : media.map((item, key) => {
|
|
434
|
+
return /* @__PURE__ */ import_react8.default.createElement("div", {
|
|
435
|
+
key,
|
|
436
|
+
className: "wv-instagram-item"
|
|
437
|
+
}, /* @__PURE__ */ import_react8.default.createElement("img", {
|
|
438
|
+
width: "100%",
|
|
439
|
+
height: "100%",
|
|
478
440
|
alt: item.caption,
|
|
479
441
|
src: item.media_url
|
|
480
442
|
}));
|
|
481
|
-
}))
|
|
443
|
+
}));
|
|
482
444
|
});
|
|
483
445
|
Instagram.defaultProps = {
|
|
484
446
|
token: "",
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
imagesPerRow: 4,
|
|
488
|
-
gap: 0,
|
|
447
|
+
numberOfImages: [12],
|
|
448
|
+
imagesPerRow: [4],
|
|
489
449
|
css: {
|
|
490
450
|
"@desktop": {
|
|
491
|
-
"
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
aspectRatio: "1 / 1",
|
|
500
|
-
width: "100%",
|
|
501
|
-
height: "100%",
|
|
502
|
-
objectFit: "cover"
|
|
451
|
+
display: "grid",
|
|
452
|
+
gridTemplateColumns: "repeat(4, 1fr)",
|
|
453
|
+
"& .wv-instagram-item": {
|
|
454
|
+
width: "100%",
|
|
455
|
+
height: "100%",
|
|
456
|
+
backgroundColor: "red",
|
|
457
|
+
"& img": {
|
|
458
|
+
objectFit: "contain"
|
|
503
459
|
}
|
|
504
460
|
}
|
|
505
461
|
}
|
|
@@ -556,13 +512,13 @@ var createRootContext = (configs) => {
|
|
|
556
512
|
});
|
|
557
513
|
return rootContext;
|
|
558
514
|
};
|
|
559
|
-
var WeaverseContext = (0,
|
|
515
|
+
var WeaverseContext = (0, import_react9.createContext)({});
|
|
560
516
|
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
561
517
|
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
562
518
|
|
|
563
519
|
// src/renderer.tsx
|
|
564
520
|
var import_core2 = require("@weaverse/core");
|
|
565
|
-
var
|
|
521
|
+
var import_react10 = __toESM(require("react"));
|
|
566
522
|
|
|
567
523
|
// src/utils/index.ts
|
|
568
524
|
var shortCssObject = (css) => {
|
|
@@ -590,9 +546,9 @@ function generateItemClass(instance, stitchesInstance) {
|
|
|
590
546
|
// src/renderer.tsx
|
|
591
547
|
var WeaverseRoot = ({ context }) => {
|
|
592
548
|
var _a;
|
|
593
|
-
let [, setData] = (0,
|
|
594
|
-
let rootRef = (0,
|
|
595
|
-
(0,
|
|
549
|
+
let [, setData] = (0, import_react10.useState)(context.projectData);
|
|
550
|
+
let rootRef = (0, import_react10.useRef)();
|
|
551
|
+
(0, import_react10.useEffect)(() => {
|
|
596
552
|
let update = () => setData({});
|
|
597
553
|
context.subscribe(update);
|
|
598
554
|
if (context.projectData) {
|
|
@@ -605,21 +561,21 @@ var WeaverseRoot = ({ context }) => {
|
|
|
605
561
|
}, []);
|
|
606
562
|
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
607
563
|
let themeClass = context.stitchesInstance.theme.className;
|
|
608
|
-
return /* @__PURE__ */
|
|
564
|
+
return /* @__PURE__ */ import_react10.default.createElement("div", __spreadProps(__spreadValues({
|
|
609
565
|
className: `weaverse-content-root ${themeClass}`
|
|
610
566
|
}, eventHandlers), {
|
|
611
567
|
ref: rootRef
|
|
612
|
-
}), /* @__PURE__ */
|
|
568
|
+
}), /* @__PURE__ */ import_react10.default.createElement(WeaverseContextProvider, {
|
|
613
569
|
value: context
|
|
614
|
-
}, /* @__PURE__ */
|
|
570
|
+
}, /* @__PURE__ */ import_react10.default.createElement(ItemInstance, {
|
|
615
571
|
id: context.projectData.rootId || 0
|
|
616
572
|
})));
|
|
617
573
|
};
|
|
618
574
|
var ItemComponent = ({ instance }) => {
|
|
619
|
-
let { stitchesInstance, elementInstances } = (0,
|
|
620
|
-
let [data, setData] = (0,
|
|
575
|
+
let { stitchesInstance, elementInstances } = (0, import_react10.useContext)(WeaverseContext);
|
|
576
|
+
let [data, setData] = (0, import_react10.useState)(instance.data);
|
|
621
577
|
let _a = data, { id, type, childIds = [], css, className } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
622
|
-
(0,
|
|
578
|
+
(0, import_react10.useEffect)(() => {
|
|
623
579
|
var _a2;
|
|
624
580
|
let update = (data2) => setData(__spreadValues({}, data2));
|
|
625
581
|
instance.subscribe(update);
|
|
@@ -639,12 +595,12 @@ var ItemComponent = ({ instance }) => {
|
|
|
639
595
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
640
596
|
rest.ref = instance.ref;
|
|
641
597
|
}
|
|
642
|
-
return /* @__PURE__ */
|
|
598
|
+
return /* @__PURE__ */ import_react10.default.createElement(Component, __spreadValues({
|
|
643
599
|
key: id,
|
|
644
600
|
"data-wv-type": type,
|
|
645
601
|
"data-wv-id": id,
|
|
646
602
|
className: generateItemClass(instance, stitchesInstance)
|
|
647
|
-
}, rest), childIds.map((id2) => /* @__PURE__ */
|
|
603
|
+
}, rest), childIds.map((id2) => /* @__PURE__ */ import_react10.default.createElement(ItemInstance, {
|
|
648
604
|
key: id2,
|
|
649
605
|
id: id2
|
|
650
606
|
})));
|
|
@@ -652,15 +608,15 @@ var ItemComponent = ({ instance }) => {
|
|
|
652
608
|
return null;
|
|
653
609
|
};
|
|
654
610
|
var ItemInstance = ({ id }) => {
|
|
655
|
-
let context = (0,
|
|
611
|
+
let context = (0, import_react10.useContext)(WeaverseContext);
|
|
656
612
|
let { itemInstances } = context;
|
|
657
613
|
let instance = itemInstances.get(id);
|
|
658
614
|
if (!instance) {
|
|
659
|
-
return /* @__PURE__ */
|
|
615
|
+
return /* @__PURE__ */ import_react10.default.createElement("div", {
|
|
660
616
|
style: { display: "none" }
|
|
661
617
|
}, "Item instance ", id, " not found");
|
|
662
618
|
}
|
|
663
|
-
return /* @__PURE__ */
|
|
619
|
+
return /* @__PURE__ */ import_react10.default.createElement(ItemComponent, {
|
|
664
620
|
instance
|
|
665
621
|
});
|
|
666
622
|
};
|
package/dist/index.mjs
CHANGED
|
@@ -37,7 +37,7 @@ import { createContext } from "react";
|
|
|
37
37
|
// src/elements/button.tsx
|
|
38
38
|
import * as React from "react";
|
|
39
39
|
var Button = React.forwardRef((props, ref) => {
|
|
40
|
-
|
|
40
|
+
const _a = props, { openInNewTab, target, value } = _a, rest = __objRest(_a, ["openInNewTab", "target", "value"]);
|
|
41
41
|
if (target) {
|
|
42
42
|
return /* @__PURE__ */ React.createElement("a", __spreadProps(__spreadValues({
|
|
43
43
|
href: target,
|
|
@@ -72,10 +72,9 @@ var button_default = Button;
|
|
|
72
72
|
// src/elements/container.tsx
|
|
73
73
|
import React2, { forwardRef as forwardRef2 } from "react";
|
|
74
74
|
var Container = forwardRef2((props, ref) => {
|
|
75
|
-
let _a = props, { children } = _a, rest = __objRest(_a, ["children"]);
|
|
76
75
|
return /* @__PURE__ */ React2.createElement("div", __spreadValues({
|
|
77
76
|
ref
|
|
78
|
-
},
|
|
77
|
+
}, props));
|
|
79
78
|
});
|
|
80
79
|
Container.defaultProps = {
|
|
81
80
|
css: {
|
|
@@ -149,7 +148,7 @@ var Countdown = forwardRef3((props, ref) => {
|
|
|
149
148
|
}
|
|
150
149
|
useEffect(() => {
|
|
151
150
|
const flag = setInterval(() => {
|
|
152
|
-
const remainingTime = Math.max((timerType === "
|
|
151
|
+
const remainingTime = Math.max((timerType === "specific" ? new Date(endTime).getTime() : new Date(startTime).getTime() + periods * 60 * 1e3) - Date.now(), 0);
|
|
153
152
|
if (!isDesignMode && redirectUrl && remainingTime > 0 && remainingTime < 1e3) {
|
|
154
153
|
window.open(redirectUrl, openInNewTab ? "_blank" : "_self");
|
|
155
154
|
}
|
|
@@ -174,7 +173,7 @@ var Countdown = forwardRef3((props, ref) => {
|
|
|
174
173
|
}));
|
|
175
174
|
});
|
|
176
175
|
Countdown.defaultProps = {
|
|
177
|
-
timerType: "
|
|
176
|
+
timerType: "specific",
|
|
178
177
|
startTime: Date.now(),
|
|
179
178
|
endTime: 1661140528e3,
|
|
180
179
|
periods: 90,
|
|
@@ -211,10 +210,10 @@ var countdown_default = Countdown;
|
|
|
211
210
|
// src/elements/image.tsx
|
|
212
211
|
import React5 from "react";
|
|
213
212
|
var Image = React5.forwardRef((props, ref) => {
|
|
214
|
-
let _a = props, { src, alt } = _a, rest = __objRest(_a, ["src", "alt"]);
|
|
215
|
-
return /* @__PURE__ */ React5.createElement("
|
|
213
|
+
let _a = props, { src, alt, children } = _a, rest = __objRest(_a, ["src", "alt", "children"]);
|
|
214
|
+
return /* @__PURE__ */ React5.createElement("img", __spreadProps(__spreadValues({
|
|
216
215
|
ref
|
|
217
|
-
}, rest),
|
|
216
|
+
}, rest), {
|
|
218
217
|
alt,
|
|
219
218
|
src
|
|
220
219
|
}));
|
|
@@ -224,11 +223,12 @@ Image.defaultProps = {
|
|
|
224
223
|
alt: "weaverse image element",
|
|
225
224
|
css: {
|
|
226
225
|
"@desktop": {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
226
|
+
width: "100%",
|
|
227
|
+
height: "100%",
|
|
228
|
+
objectFit: "cover"
|
|
229
|
+
},
|
|
230
|
+
"@mobile": {
|
|
231
|
+
display: "block"
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
};
|
|
@@ -238,19 +238,17 @@ var image_default = Image;
|
|
|
238
238
|
import React6, { forwardRef as forwardRef4 } from "react";
|
|
239
239
|
var Layout = forwardRef4((props, ref) => {
|
|
240
240
|
let _a = props, { children, rows, gap, rowSize, columns, gridSize } = _a, rest = __objRest(_a, ["children", "rows", "gap", "rowSize", "columns", "gridSize"]);
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}, rest), {
|
|
252
|
-
style
|
|
253
|
-
}), /* @__PURE__ */ React6.createElement("div", {
|
|
241
|
+
return /* @__PURE__ */ React6.createElement("section", __spreadValues({
|
|
242
|
+
ref,
|
|
243
|
+
style: {
|
|
244
|
+
"--grid-size": gridSize + "px",
|
|
245
|
+
"--rows": rows,
|
|
246
|
+
"--columns": columns,
|
|
247
|
+
"--gap": gap + "px",
|
|
248
|
+
"--row-size": rowSize + "px",
|
|
249
|
+
"--col-size": "calc((var(--grid-size) - calc(var(--columns) - 1) * var(--gap)) / var(--columns))"
|
|
250
|
+
}
|
|
251
|
+
}, rest), /* @__PURE__ */ React6.createElement("div", {
|
|
254
252
|
"data-layout-content": true
|
|
255
253
|
}, children));
|
|
256
254
|
});
|
|
@@ -289,7 +287,7 @@ var layout_default = Layout;
|
|
|
289
287
|
// src/elements/map.tsx
|
|
290
288
|
import React7, { forwardRef as forwardRef5 } from "react";
|
|
291
289
|
var Map = forwardRef5((props, ref) => {
|
|
292
|
-
|
|
290
|
+
const _a = props, { place, zoom } = _a, rest = __objRest(_a, ["place", "zoom"]);
|
|
293
291
|
return /* @__PURE__ */ React7.createElement("div", __spreadValues({
|
|
294
292
|
ref
|
|
295
293
|
}, rest), /* @__PURE__ */ React7.createElement("iframe", {
|
|
@@ -299,12 +297,19 @@ var Map = forwardRef5((props, ref) => {
|
|
|
299
297
|
height: "100%",
|
|
300
298
|
title: "map",
|
|
301
299
|
src: `https://maps.google.com/maps?z=${zoom}&t=m&q=${place}&ie=UTF8&&output=embed`,
|
|
302
|
-
style: {
|
|
300
|
+
style: {
|
|
301
|
+
pointerEvents: "none"
|
|
302
|
+
}
|
|
303
303
|
}));
|
|
304
304
|
});
|
|
305
305
|
Map.defaultProps = {
|
|
306
306
|
place: "Hanoi",
|
|
307
|
-
zoom: 14
|
|
307
|
+
zoom: 14,
|
|
308
|
+
css: {
|
|
309
|
+
"@desktop": {
|
|
310
|
+
gridArea: "1 / 1 / 11 / 13"
|
|
311
|
+
}
|
|
312
|
+
}
|
|
308
313
|
};
|
|
309
314
|
var map_default = Map;
|
|
310
315
|
|
|
@@ -324,7 +329,8 @@ Text.defaultProps = {
|
|
|
324
329
|
"@desktop": {
|
|
325
330
|
width: "100%",
|
|
326
331
|
height: "fit-content",
|
|
327
|
-
padding:
|
|
332
|
+
padding: 0,
|
|
333
|
+
margin: 0,
|
|
328
334
|
outline: "none",
|
|
329
335
|
wordBreak: "break-word",
|
|
330
336
|
overflowWrap: "break-word",
|
|
@@ -337,24 +343,23 @@ var text_default = Text;
|
|
|
337
343
|
// src/elements/video.tsx
|
|
338
344
|
import React9, { forwardRef as forwardRef7, useContext as useContext2 } from "react";
|
|
339
345
|
var Video = forwardRef7((props, ref) => {
|
|
340
|
-
|
|
346
|
+
const { isDesignMode } = useContext2(WeaverseContext);
|
|
341
347
|
let _a = props, { src, type, controls, poster, autoPlay, loop, muted } = _a, rest = __objRest(_a, ["src", "type", "controls", "poster", "autoPlay", "loop", "muted"]);
|
|
342
|
-
return /* @__PURE__ */ React9.createElement("
|
|
343
|
-
ref
|
|
344
|
-
}, rest), /* @__PURE__ */ React9.createElement("video", {
|
|
348
|
+
return /* @__PURE__ */ React9.createElement("video", __spreadValues({
|
|
349
|
+
ref,
|
|
345
350
|
controls: isDesignMode ? false : controls,
|
|
346
351
|
autoPlay: isDesignMode ? false : autoPlay,
|
|
347
352
|
loop,
|
|
348
353
|
muted: true,
|
|
349
354
|
controlsList: "nodownload",
|
|
350
355
|
disablePictureInPicture: true
|
|
351
|
-
}, /* @__PURE__ */ React9.createElement("source", {
|
|
356
|
+
}, rest), /* @__PURE__ */ React9.createElement("source", {
|
|
352
357
|
src,
|
|
353
358
|
type: type || "video/mp4"
|
|
354
|
-
})
|
|
359
|
+
}));
|
|
355
360
|
});
|
|
356
361
|
Video.defaultProps = {
|
|
357
|
-
src: "https://
|
|
362
|
+
src: "https://ucarecdn.com/7cae0dab-8966-4484-9998-602728c360ca/IMG_0048.MOV",
|
|
358
363
|
poster: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
|
|
359
364
|
loop: false,
|
|
360
365
|
type: "video/mp4",
|
|
@@ -363,113 +368,64 @@ Video.defaultProps = {
|
|
|
363
368
|
muted: true,
|
|
364
369
|
css: {
|
|
365
370
|
"@desktop": {
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
+
height: "fit-content",
|
|
372
|
+
margin: 0,
|
|
373
|
+
outline: "none",
|
|
374
|
+
overflowWrap: "break-word",
|
|
375
|
+
padding: 0,
|
|
376
|
+
whitespace: "break-spaces",
|
|
377
|
+
width: "100%",
|
|
378
|
+
wordBreak: "break-word"
|
|
371
379
|
}
|
|
372
380
|
}
|
|
373
381
|
};
|
|
374
382
|
var video_default = Video;
|
|
375
383
|
|
|
376
384
|
// src/elements/instagram.tsx
|
|
377
|
-
import
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
var Placeholder = forwardRef8((props, ref) => {
|
|
382
|
-
let _a = props, { element, children } = _a, rest = __objRest(_a, ["element", "children"]);
|
|
383
|
-
let style = {
|
|
384
|
-
height: "100%",
|
|
385
|
-
display: "flex",
|
|
386
|
-
flexDirection: "column",
|
|
387
|
-
alignItems: "center",
|
|
388
|
-
justifyContent: "center",
|
|
389
|
-
color: "#374151"
|
|
390
|
-
};
|
|
391
|
-
return /* @__PURE__ */ React10.createElement("div", __spreadValues({
|
|
392
|
-
style,
|
|
393
|
-
ref
|
|
394
|
-
}, rest), /* @__PURE__ */ React10.createElement("div", {
|
|
395
|
-
style: { fontWeight: 600, marginBottom: "10px" }
|
|
396
|
-
}, element), /* @__PURE__ */ React10.createElement("div", null, children));
|
|
397
|
-
});
|
|
398
|
-
var Placeholder_default = Placeholder;
|
|
399
|
-
|
|
400
|
-
// src/elements/instagram.tsx
|
|
401
|
-
var INSTAGRAM_API = "https://graph.instagram.com";
|
|
402
|
-
var Instagram = forwardRef9((props, ref) => {
|
|
403
|
-
const _a = props, { token, username, numberOfImages, imagesPerRow, gap } = _a, rest = __objRest(_a, ["token", "username", "numberOfImages", "imagesPerRow", "gap"]);
|
|
385
|
+
import React10, { forwardRef as forwardRef8, useContext as useContext3, useEffect as useEffect2, useState } from "react";
|
|
386
|
+
var Instagram = forwardRef8((props, ref) => {
|
|
387
|
+
const { stitchesInstance } = useContext3(WeaverseContext);
|
|
388
|
+
const _a = props, { token, numberOfImages, imagesPerRow, className } = _a, rest = __objRest(_a, ["token", "numberOfImages", "imagesPerRow", "className"]);
|
|
404
389
|
const [media, setMedia] = useState([]);
|
|
405
|
-
const [error, setError] = useState(null);
|
|
406
|
-
let { isDesignMode } = useContext3(WeaverseContext);
|
|
407
390
|
useEffect2(() => {
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
});
|
|
413
|
-
fetch(`${INSTAGRAM_API}/me/media?${params.toString()}`).then((res) => res.json()).then((res) => {
|
|
414
|
-
if (res.error) {
|
|
415
|
-
setError(res);
|
|
416
|
-
} else {
|
|
417
|
-
setError(null);
|
|
418
|
-
setMedia([...res.data]);
|
|
419
|
-
}
|
|
420
|
-
}).catch(setError);
|
|
421
|
-
}
|
|
391
|
+
const url = `https://graph.instagram.com/me/media?fields=id,media_type,caption,media_url&access_token=${token}`;
|
|
392
|
+
fetch(url).then((res) => res.json()).then((res) => {
|
|
393
|
+
setMedia(res.data);
|
|
394
|
+
});
|
|
422
395
|
}, [token]);
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
ref
|
|
426
|
-
}, rest), /* @__PURE__ */ React11.createElement(Placeholder_default, {
|
|
427
|
-
element: "Instagram"
|
|
428
|
-
}, !token ? "Connect your Instagram account to display photos on your site." : "Invalid or expired token!"));
|
|
429
|
-
}
|
|
430
|
-
let style = {
|
|
431
|
-
"--wv-ig-images-per-row": imagesPerRow,
|
|
432
|
-
"--wv-ig-images-gap": gap
|
|
396
|
+
const css = {
|
|
397
|
+
gridTemplateColumns: `repeat(${imagesPerRow[0] || 1}, 1fr)`
|
|
433
398
|
};
|
|
434
|
-
|
|
399
|
+
const { className: instagramClass = "" } = stitchesInstance.css(css)();
|
|
400
|
+
return /* @__PURE__ */ React10.createElement("div", __spreadValues({
|
|
401
|
+
className: `${className} ${instagramClass}`,
|
|
435
402
|
ref
|
|
436
|
-
}, rest), {
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
linkProps = { href: item.permalink, target: "_blank" };
|
|
444
|
-
}
|
|
445
|
-
return /* @__PURE__ */ React11.createElement("a", __spreadValues({
|
|
446
|
-
key: item.id
|
|
447
|
-
}, linkProps), /* @__PURE__ */ React11.createElement("img", {
|
|
403
|
+
}, rest), !token ? "Token is empty" : media.map((item, key) => {
|
|
404
|
+
return /* @__PURE__ */ React10.createElement("div", {
|
|
405
|
+
key,
|
|
406
|
+
className: "wv-instagram-item"
|
|
407
|
+
}, /* @__PURE__ */ React10.createElement("img", {
|
|
408
|
+
width: "100%",
|
|
409
|
+
height: "100%",
|
|
448
410
|
alt: item.caption,
|
|
449
411
|
src: item.media_url
|
|
450
412
|
}));
|
|
451
|
-
}))
|
|
413
|
+
}));
|
|
452
414
|
});
|
|
453
415
|
Instagram.defaultProps = {
|
|
454
416
|
token: "",
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
imagesPerRow: 4,
|
|
458
|
-
gap: 0,
|
|
417
|
+
numberOfImages: [12],
|
|
418
|
+
imagesPerRow: [4],
|
|
459
419
|
css: {
|
|
460
420
|
"@desktop": {
|
|
461
|
-
"
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
aspectRatio: "1 / 1",
|
|
470
|
-
width: "100%",
|
|
471
|
-
height: "100%",
|
|
472
|
-
objectFit: "cover"
|
|
421
|
+
display: "grid",
|
|
422
|
+
gridTemplateColumns: "repeat(4, 1fr)",
|
|
423
|
+
"& .wv-instagram-item": {
|
|
424
|
+
width: "100%",
|
|
425
|
+
height: "100%",
|
|
426
|
+
backgroundColor: "red",
|
|
427
|
+
"& img": {
|
|
428
|
+
objectFit: "contain"
|
|
473
429
|
}
|
|
474
430
|
}
|
|
475
431
|
}
|
|
@@ -532,7 +488,7 @@ var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
|
532
488
|
|
|
533
489
|
// src/renderer.tsx
|
|
534
490
|
import { isBrowser } from "@weaverse/core";
|
|
535
|
-
import
|
|
491
|
+
import React11, { useContext as useContext4, useEffect as useEffect3, useRef, useState as useState2 } from "react";
|
|
536
492
|
|
|
537
493
|
// src/utils/index.ts
|
|
538
494
|
var shortCssObject = (css) => {
|
|
@@ -575,13 +531,13 @@ var WeaverseRoot = ({ context }) => {
|
|
|
575
531
|
}, []);
|
|
576
532
|
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
577
533
|
let themeClass = context.stitchesInstance.theme.className;
|
|
578
|
-
return /* @__PURE__ */
|
|
534
|
+
return /* @__PURE__ */ React11.createElement("div", __spreadProps(__spreadValues({
|
|
579
535
|
className: `weaverse-content-root ${themeClass}`
|
|
580
536
|
}, eventHandlers), {
|
|
581
537
|
ref: rootRef
|
|
582
|
-
}), /* @__PURE__ */
|
|
538
|
+
}), /* @__PURE__ */ React11.createElement(WeaverseContextProvider, {
|
|
583
539
|
value: context
|
|
584
|
-
}, /* @__PURE__ */
|
|
540
|
+
}, /* @__PURE__ */ React11.createElement(ItemInstance, {
|
|
585
541
|
id: context.projectData.rootId || 0
|
|
586
542
|
})));
|
|
587
543
|
};
|
|
@@ -609,12 +565,12 @@ var ItemComponent = ({ instance }) => {
|
|
|
609
565
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
610
566
|
rest.ref = instance.ref;
|
|
611
567
|
}
|
|
612
|
-
return /* @__PURE__ */
|
|
568
|
+
return /* @__PURE__ */ React11.createElement(Component, __spreadValues({
|
|
613
569
|
key: id,
|
|
614
570
|
"data-wv-type": type,
|
|
615
571
|
"data-wv-id": id,
|
|
616
572
|
className: generateItemClass(instance, stitchesInstance)
|
|
617
|
-
}, rest), childIds.map((id2) => /* @__PURE__ */
|
|
573
|
+
}, rest), childIds.map((id2) => /* @__PURE__ */ React11.createElement(ItemInstance, {
|
|
618
574
|
key: id2,
|
|
619
575
|
id: id2
|
|
620
576
|
})));
|
|
@@ -626,11 +582,11 @@ var ItemInstance = ({ id }) => {
|
|
|
626
582
|
let { itemInstances } = context;
|
|
627
583
|
let instance = itemInstances.get(id);
|
|
628
584
|
if (!instance) {
|
|
629
|
-
return /* @__PURE__ */
|
|
585
|
+
return /* @__PURE__ */ React11.createElement("div", {
|
|
630
586
|
style: { display: "none" }
|
|
631
587
|
}, "Item instance ", id, " not found");
|
|
632
588
|
}
|
|
633
|
-
return /* @__PURE__ */
|
|
589
|
+
return /* @__PURE__ */ React11.createElement(ItemComponent, {
|
|
634
590
|
instance
|
|
635
591
|
});
|
|
636
592
|
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.6.
|
|
2
|
+
"version": "0.6.21",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -31,6 +31,6 @@
|
|
|
31
31
|
"name": "@weaverse/react",
|
|
32
32
|
"author": "Weaverse Team",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@weaverse/core": "0.6.
|
|
34
|
+
"@weaverse/core": "0.6.21"
|
|
35
35
|
}
|
|
36
36
|
}
|