@weaverse/react 0.6.15 → 0.6.18
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 +13 -2
- package/dist/index.js +405 -453
- package/dist/index.mjs +408 -456
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -62,232 +62,184 @@ module.exports = __toCommonJS(src_exports);
|
|
|
62
62
|
|
|
63
63
|
// src/context.ts
|
|
64
64
|
var import_core = require("@weaverse/core");
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
// src/elements/base.tsx
|
|
68
|
-
var import_react = __toESM(require("react"));
|
|
69
|
-
var BaseElement = import_react.default.forwardRef((_a, ref) => {
|
|
70
|
-
var _b = _a, { tag, children } = _b, props = __objRest(_b, ["tag", "children"]);
|
|
71
|
-
return import_react.default.createElement(tag, __spreadValues({
|
|
72
|
-
ref
|
|
73
|
-
}, props), children);
|
|
74
|
-
});
|
|
75
|
-
BaseElement.defaultProps = {
|
|
76
|
-
tag: "div",
|
|
77
|
-
style: {}
|
|
78
|
-
};
|
|
79
|
-
var schema = {
|
|
80
|
-
type: "base",
|
|
81
|
-
parentType: "container",
|
|
82
|
-
title: "Base",
|
|
83
|
-
settings: []
|
|
84
|
-
};
|
|
85
|
-
var base_default = BaseElement;
|
|
65
|
+
var import_react10 = require("react");
|
|
86
66
|
|
|
87
67
|
// src/elements/button.tsx
|
|
88
|
-
var
|
|
89
|
-
var Button =
|
|
90
|
-
const _a = props, {
|
|
68
|
+
var React = __toESM(require("react"));
|
|
69
|
+
var Button = React.forwardRef((props, ref) => {
|
|
70
|
+
const _a = props, { openInNewTab, target, value } = _a, rest = __objRest(_a, ["openInNewTab", "target", "value"]);
|
|
91
71
|
if (target) {
|
|
92
|
-
return /* @__PURE__ */
|
|
72
|
+
return /* @__PURE__ */ React.createElement("a", __spreadProps(__spreadValues({
|
|
93
73
|
href: target,
|
|
94
|
-
target: openInNewTab ? "_blank" : "_self"
|
|
95
|
-
|
|
74
|
+
target: openInNewTab ? "_blank" : "_self",
|
|
75
|
+
rel: "noreferrer"
|
|
76
|
+
}, rest), {
|
|
96
77
|
ref
|
|
97
|
-
}
|
|
78
|
+
}), value);
|
|
98
79
|
}
|
|
99
|
-
return /* @__PURE__ */
|
|
80
|
+
return /* @__PURE__ */ React.createElement("button", __spreadValues({
|
|
100
81
|
ref
|
|
101
|
-
}, rest),
|
|
82
|
+
}, rest), value);
|
|
102
83
|
});
|
|
103
84
|
Button.defaultProps = {
|
|
104
|
-
value: "Shop now"
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
title: "Button",
|
|
85
|
+
value: "Shop now",
|
|
86
|
+
openInNewTab: false,
|
|
87
|
+
target: "",
|
|
108
88
|
type: "button",
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
{
|
|
118
|
-
type: "border"
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
type: "background"
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
type: "spacing"
|
|
125
|
-
}
|
|
126
|
-
],
|
|
127
|
-
settings: [],
|
|
128
|
-
toolbar: [
|
|
129
|
-
{
|
|
130
|
-
type: "delete"
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
type: "duplicate"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
type: "link"
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
type: "color"
|
|
89
|
+
css: {
|
|
90
|
+
"@desktop": {
|
|
91
|
+
borderRadius: "72px",
|
|
92
|
+
border: "none",
|
|
93
|
+
backgroundColor: "#0F71FF",
|
|
94
|
+
color: "#fff",
|
|
95
|
+
fontSize: "13px",
|
|
96
|
+
padding: "10px 20px"
|
|
140
97
|
}
|
|
141
|
-
],
|
|
142
|
-
data: {
|
|
143
|
-
css: {
|
|
144
|
-
"@desktop": {
|
|
145
|
-
borderRadius: "72px",
|
|
146
|
-
border: "none",
|
|
147
|
-
backgroundColor: "#0F71FF",
|
|
148
|
-
color: "#fff",
|
|
149
|
-
fontSize: "13px",
|
|
150
|
-
padding: "10px 20px"
|
|
151
|
-
}
|
|
152
|
-
},
|
|
153
|
-
target: "",
|
|
154
|
-
openInNewTab: false
|
|
155
|
-
},
|
|
156
|
-
flags: {
|
|
157
|
-
draggable: true
|
|
158
98
|
}
|
|
159
99
|
};
|
|
160
100
|
var button_default = Button;
|
|
161
101
|
|
|
162
102
|
// src/elements/container.tsx
|
|
163
|
-
var
|
|
164
|
-
var Container = (0,
|
|
165
|
-
return /* @__PURE__ */
|
|
103
|
+
var import_react = __toESM(require("react"));
|
|
104
|
+
var Container = (0, import_react.forwardRef)((props, ref) => {
|
|
105
|
+
return /* @__PURE__ */ import_react.default.createElement("div", __spreadValues({
|
|
166
106
|
ref
|
|
167
107
|
}, props));
|
|
168
108
|
});
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
"
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
gridArea: "1 / 1 / 3 / 6",
|
|
183
|
-
width: "100%",
|
|
184
|
-
height: "fit-content"
|
|
185
|
-
}
|
|
109
|
+
Container.defaultProps = {
|
|
110
|
+
css: {
|
|
111
|
+
"@desktop": {
|
|
112
|
+
alignItems: "flex-start",
|
|
113
|
+
backgroundColor: "rgba(248,203,203,0.38)",
|
|
114
|
+
display: "flex",
|
|
115
|
+
flexDirection: "column",
|
|
116
|
+
gridArea: "1 / 1 / 3 / 6",
|
|
117
|
+
height: "fit-content",
|
|
118
|
+
justifyContent: "flex-start",
|
|
119
|
+
overflow: "hidden",
|
|
120
|
+
textAlign: "left",
|
|
121
|
+
width: "100%"
|
|
186
122
|
}
|
|
187
|
-
},
|
|
188
|
-
settings: [],
|
|
189
|
-
flags: {
|
|
190
|
-
draggable: true,
|
|
191
|
-
resizable: true,
|
|
192
|
-
sortable: true
|
|
193
123
|
}
|
|
194
124
|
};
|
|
195
125
|
var container_default = Container;
|
|
196
126
|
|
|
197
|
-
// src/elements/
|
|
127
|
+
// src/elements/countdown/index.tsx
|
|
198
128
|
var import_react3 = __toESM(require("react"));
|
|
199
|
-
var Layout = (0, import_react3.forwardRef)((props, ref) => {
|
|
200
|
-
const _a = props, { css, children, rows, gap, rowSize, columns, gridSize } = _a, rest = __objRest(_a, ["css", "children", "rows", "gap", "rowSize", "columns", "gridSize"]);
|
|
201
|
-
return /* @__PURE__ */ import_react3.default.createElement("section", __spreadValues({
|
|
202
|
-
ref,
|
|
203
|
-
style: {
|
|
204
|
-
"--grid-size": gridSize + "px",
|
|
205
|
-
"--rows": rows,
|
|
206
|
-
"--columns": columns,
|
|
207
|
-
"--gap": gap + "px",
|
|
208
|
-
"--row-size": rowSize + "px",
|
|
209
|
-
"--col-size": "calc((var(--grid-size) - calc(var(--columns) - 1) * var(--gap)) / var(--columns))"
|
|
210
|
-
}
|
|
211
|
-
}, rest), /* @__PURE__ */ import_react3.default.createElement("div", {
|
|
212
|
-
"data-layout-content": true
|
|
213
|
-
}, children));
|
|
214
|
-
});
|
|
215
|
-
var schema4 = {
|
|
216
|
-
title: "Layout",
|
|
217
|
-
type: "layout",
|
|
218
|
-
parentType: "root",
|
|
219
|
-
data: {
|
|
220
|
-
css: {
|
|
221
|
-
"@desktop": {
|
|
222
|
-
paddingTop: "16px",
|
|
223
|
-
paddingBottom: "16px",
|
|
224
|
-
paddingLeft: "var(--gap)",
|
|
225
|
-
paddingRight: "var(--gap)",
|
|
226
|
-
"> [data-layout-content]": {
|
|
227
|
-
margin: "0 auto",
|
|
228
|
-
display: "grid !important",
|
|
229
|
-
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
230
|
-
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
231
|
-
gap: "var(--gap)",
|
|
232
|
-
maxWidth: "var(--grid-size)"
|
|
233
|
-
}
|
|
234
|
-
},
|
|
235
|
-
"@mobile": {
|
|
236
|
-
padding: "0 16px",
|
|
237
|
-
"> [data-layout-content]": {
|
|
238
|
-
display: "flex !important",
|
|
239
|
-
flexDirection: "column"
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
},
|
|
243
|
-
gridSize: 1224,
|
|
244
|
-
rows: 12,
|
|
245
|
-
columns: 12,
|
|
246
|
-
gap: 16,
|
|
247
|
-
rowSize: 48
|
|
248
|
-
},
|
|
249
|
-
settings: []
|
|
250
|
-
};
|
|
251
|
-
var layout_default = Layout;
|
|
252
129
|
|
|
253
|
-
// src/elements/
|
|
254
|
-
var
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
130
|
+
// src/elements/countdown/timer-block.tsx
|
|
131
|
+
var import_react2 = __toESM(require("react"));
|
|
132
|
+
function TimerBlock({ value, label }) {
|
|
133
|
+
return /* @__PURE__ */ import_react2.default.createElement("div", null, /* @__PURE__ */ import_react2.default.createElement("div", {
|
|
134
|
+
className: "wv-countdown-number"
|
|
135
|
+
}, value.toString().padStart(2, "0")), label && /* @__PURE__ */ import_react2.default.createElement("div", {
|
|
136
|
+
className: "wv-countdown-label"
|
|
137
|
+
}, label));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// src/elements/countdown/utils.ts
|
|
141
|
+
var times = ["days", "hours", "minutes", "seconds"];
|
|
142
|
+
function getTime(_seconds) {
|
|
143
|
+
const ONE_MINUTE = 60 * 1e3;
|
|
144
|
+
const ONE_HOUR = 60 * ONE_MINUTE;
|
|
145
|
+
const ONE_DAY = 24 * ONE_HOUR;
|
|
146
|
+
const days = Math.floor(_seconds / ONE_DAY);
|
|
147
|
+
const hours = Math.floor((_seconds - days * ONE_DAY) / ONE_HOUR);
|
|
148
|
+
const minutes = Math.floor((_seconds - days * ONE_DAY - hours * ONE_HOUR) / ONE_MINUTE);
|
|
149
|
+
const seconds = Math.floor((_seconds - days * ONE_DAY - hours * ONE_HOUR - minutes * ONE_MINUTE) / 1e3);
|
|
150
|
+
return { days, hours, minutes, seconds };
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// src/elements/countdown/index.tsx
|
|
154
|
+
var Countdown = (0, import_react3.forwardRef)((props, ref) => {
|
|
155
|
+
const { isDesignMode } = (0, import_react3.useContext)(WeaverseContext);
|
|
156
|
+
let _a = props, {
|
|
157
|
+
timerType,
|
|
158
|
+
startTime,
|
|
159
|
+
endTime,
|
|
160
|
+
periods,
|
|
161
|
+
redirectUrl,
|
|
162
|
+
openInNewTab,
|
|
163
|
+
showColon,
|
|
164
|
+
showLabel
|
|
165
|
+
} = _a, rest = __objRest(_a, [
|
|
166
|
+
"timerType",
|
|
167
|
+
"startTime",
|
|
168
|
+
"endTime",
|
|
169
|
+
"periods",
|
|
170
|
+
"redirectUrl",
|
|
171
|
+
"openInNewTab",
|
|
172
|
+
"showColon",
|
|
173
|
+
"showLabel"
|
|
174
|
+
]);
|
|
175
|
+
const [remaining, setRemaining] = import_react3.default.useState(0);
|
|
176
|
+
if (typeof endTime !== "number") {
|
|
177
|
+
endTime = Number.parseInt(endTime);
|
|
178
|
+
}
|
|
179
|
+
(0, import_react3.useEffect)(() => {
|
|
180
|
+
const flag = setInterval(() => {
|
|
181
|
+
const remainingTime = Math.max((timerType === "specific" ? new Date(endTime).getTime() : new Date(startTime).getTime() + periods * 60 * 1e3) - Date.now(), 0);
|
|
182
|
+
if (!isDesignMode && redirectUrl && remainingTime > 0 && remainingTime < 1e3) {
|
|
183
|
+
window.open(redirectUrl, openInNewTab ? "_blank" : "_self");
|
|
184
|
+
}
|
|
185
|
+
setRemaining(remainingTime);
|
|
186
|
+
}, 1e3);
|
|
187
|
+
return () => {
|
|
188
|
+
clearInterval(flag);
|
|
189
|
+
};
|
|
190
|
+
}, [startTime, endTime, periods, timerType]);
|
|
191
|
+
const timer = getTime(remaining);
|
|
192
|
+
return /* @__PURE__ */ import_react3.default.createElement("div", __spreadValues({
|
|
258
193
|
ref
|
|
259
|
-
}, rest), {
|
|
260
|
-
|
|
194
|
+
}, rest), times.map((time) => {
|
|
195
|
+
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, {
|
|
196
|
+
key: time
|
|
197
|
+
}, /* @__PURE__ */ import_react3.default.createElement(TimerBlock, {
|
|
198
|
+
label: showLabel ? time : "",
|
|
199
|
+
value: timer[time]
|
|
200
|
+
}), time !== "seconds" && /* @__PURE__ */ import_react3.default.createElement("span", {
|
|
201
|
+
className: `wv-countdown-number ${showColon ? "" : "hidden"}`
|
|
202
|
+
}, ":"));
|
|
261
203
|
}));
|
|
262
204
|
});
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
205
|
+
Countdown.defaultProps = {
|
|
206
|
+
timerType: "specific",
|
|
207
|
+
startTime: Date.now(),
|
|
208
|
+
endTime: 1661140528e3,
|
|
209
|
+
periods: 90,
|
|
210
|
+
redirectUrl: "https://myshop.com",
|
|
211
|
+
openInNewTab: false,
|
|
212
|
+
showLabel: true,
|
|
213
|
+
showColon: true,
|
|
214
|
+
css: {
|
|
215
|
+
"@desktop": {
|
|
216
|
+
fontFamily: "Inter",
|
|
217
|
+
fontSize: 36,
|
|
218
|
+
fontWeight: 500,
|
|
219
|
+
display: "grid",
|
|
220
|
+
gridAutoFlow: "column",
|
|
221
|
+
gap: 10,
|
|
222
|
+
"& > div": {
|
|
223
|
+
width: 48,
|
|
224
|
+
textAlign: "center"
|
|
225
|
+
},
|
|
226
|
+
"& .wv-countdown-label": {
|
|
227
|
+
fontSize: 10
|
|
228
|
+
},
|
|
229
|
+
"& > span": {
|
|
230
|
+
lineHeight: "100%"
|
|
231
|
+
},
|
|
232
|
+
"& .hidden": {
|
|
233
|
+
visibility: "hidden"
|
|
282
234
|
}
|
|
283
235
|
}
|
|
284
236
|
}
|
|
285
237
|
};
|
|
286
|
-
var
|
|
238
|
+
var countdown_default = Countdown;
|
|
287
239
|
|
|
288
240
|
// src/elements/image.tsx
|
|
289
241
|
var import_react4 = __toESM(require("react"));
|
|
290
|
-
var Image = import_react4.default.forwardRef(
|
|
242
|
+
var Image = import_react4.default.forwardRef((props, ref) => {
|
|
291
243
|
let _a = props, { src, alt, children } = _a, rest = __objRest(_a, ["src", "alt", "children"]);
|
|
292
244
|
return /* @__PURE__ */ import_react4.default.createElement("img", __spreadProps(__spreadValues({
|
|
293
245
|
ref
|
|
@@ -298,101 +250,77 @@ var Image = import_react4.default.forwardRef(function Image2(props, ref) {
|
|
|
298
250
|
});
|
|
299
251
|
Image.defaultProps = {
|
|
300
252
|
src: "https://ucarecdn.com/1cdc9d39-ca62-492e-8ec7-f1a86b241a90/",
|
|
301
|
-
alt: "weaverse image element"
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
"@desktop": {
|
|
311
|
-
width: "100%",
|
|
312
|
-
height: "100%",
|
|
313
|
-
objectFit: "cover"
|
|
314
|
-
},
|
|
315
|
-
"@mobile": {
|
|
316
|
-
display: "block"
|
|
317
|
-
}
|
|
253
|
+
alt: "weaverse image element",
|
|
254
|
+
css: {
|
|
255
|
+
"@desktop": {
|
|
256
|
+
width: "100%",
|
|
257
|
+
height: "100%",
|
|
258
|
+
objectFit: "cover"
|
|
259
|
+
},
|
|
260
|
+
"@mobile": {
|
|
261
|
+
display: "block"
|
|
318
262
|
}
|
|
319
|
-
},
|
|
320
|
-
flags: {
|
|
321
|
-
resizable: true,
|
|
322
|
-
draggable: true,
|
|
323
|
-
sortable: true
|
|
324
263
|
}
|
|
325
264
|
};
|
|
326
265
|
var image_default = Image;
|
|
327
266
|
|
|
328
|
-
// src/elements/
|
|
267
|
+
// src/elements/layout.tsx
|
|
329
268
|
var import_react5 = __toESM(require("react"));
|
|
330
|
-
var
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
if (isDesignMode) {
|
|
334
|
-
controls = false;
|
|
335
|
-
autoPlay = false;
|
|
336
|
-
}
|
|
337
|
-
console.info("9779 props", props, isDesignMode);
|
|
338
|
-
return /* @__PURE__ */ import_react5.default.createElement("video", __spreadValues({
|
|
269
|
+
var Layout = (0, import_react5.forwardRef)((props, ref) => {
|
|
270
|
+
let _a = props, { children, rows, gap, rowSize, columns, gridSize } = _a, rest = __objRest(_a, ["children", "rows", "gap", "rowSize", "columns", "gridSize"]);
|
|
271
|
+
return /* @__PURE__ */ import_react5.default.createElement("section", __spreadValues({
|
|
339
272
|
ref,
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
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", {
|
|
282
|
+
"data-layout-content": true
|
|
283
|
+
}, children));
|
|
350
284
|
});
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
var
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
type: "duplicate"
|
|
372
|
-
},
|
|
373
|
-
{
|
|
374
|
-
type: "link"
|
|
285
|
+
Layout.defaultProps = {
|
|
286
|
+
gridSize: 1224,
|
|
287
|
+
rows: 12,
|
|
288
|
+
columns: 12,
|
|
289
|
+
gap: 16,
|
|
290
|
+
rowSize: 48,
|
|
291
|
+
css: {
|
|
292
|
+
"@desktop": {
|
|
293
|
+
paddingTop: "16px",
|
|
294
|
+
paddingBottom: "16px",
|
|
295
|
+
paddingLeft: "var(--gap)",
|
|
296
|
+
paddingRight: "var(--gap)",
|
|
297
|
+
"> [data-layout-content]": {
|
|
298
|
+
margin: "0 auto",
|
|
299
|
+
display: "grid !important",
|
|
300
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
301
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
302
|
+
gap: "var(--gap)",
|
|
303
|
+
maxWidth: "var(--grid-size)"
|
|
304
|
+
}
|
|
375
305
|
},
|
|
376
|
-
{
|
|
377
|
-
|
|
306
|
+
"@mobile": {
|
|
307
|
+
padding: "0 16px",
|
|
308
|
+
"> [data-layout-content]": {
|
|
309
|
+
display: "flex !important",
|
|
310
|
+
flexDirection: "column"
|
|
311
|
+
}
|
|
378
312
|
}
|
|
379
|
-
],
|
|
380
|
-
flags: {
|
|
381
|
-
resizable: true,
|
|
382
|
-
draggable: true,
|
|
383
|
-
sortable: true
|
|
384
313
|
}
|
|
385
314
|
};
|
|
386
|
-
var
|
|
315
|
+
var layout_default = Layout;
|
|
387
316
|
|
|
388
317
|
// src/elements/map.tsx
|
|
389
318
|
var import_react6 = __toESM(require("react"));
|
|
390
319
|
var Map = (0, import_react6.forwardRef)((props, ref) => {
|
|
391
|
-
const { place, zoom } =
|
|
392
|
-
console.info("9779 props", props);
|
|
320
|
+
const _a = props, { place, zoom } = _a, rest = __objRest(_a, ["place", "zoom"]);
|
|
393
321
|
return /* @__PURE__ */ import_react6.default.createElement("div", __spreadValues({
|
|
394
322
|
ref
|
|
395
|
-
},
|
|
323
|
+
}, rest), /* @__PURE__ */ import_react6.default.createElement("iframe", {
|
|
396
324
|
loading: "lazy",
|
|
397
325
|
scrolling: "no",
|
|
398
326
|
width: "100%",
|
|
@@ -406,203 +334,224 @@ var Map = (0, import_react6.forwardRef)((props, ref) => {
|
|
|
406
334
|
});
|
|
407
335
|
Map.defaultProps = {
|
|
408
336
|
place: "Hanoi",
|
|
409
|
-
zoom: 14
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
type: "map",
|
|
414
|
-
parentType: "layout",
|
|
415
|
-
toolbar: [
|
|
416
|
-
{
|
|
417
|
-
type: "delete"
|
|
418
|
-
},
|
|
419
|
-
{
|
|
420
|
-
type: "duplicate"
|
|
421
|
-
},
|
|
422
|
-
{
|
|
423
|
-
type: "link"
|
|
424
|
-
},
|
|
425
|
-
{
|
|
426
|
-
type: "color"
|
|
427
|
-
}
|
|
428
|
-
],
|
|
429
|
-
data: {
|
|
430
|
-
css: {
|
|
431
|
-
"@desktop": {
|
|
432
|
-
gridArea: "1 / 1 / 11 / 13"
|
|
433
|
-
}
|
|
337
|
+
zoom: 14,
|
|
338
|
+
css: {
|
|
339
|
+
"@desktop": {
|
|
340
|
+
gridArea: "1 / 1 / 11 / 13"
|
|
434
341
|
}
|
|
435
|
-
},
|
|
436
|
-
flags: {
|
|
437
|
-
resizable: true,
|
|
438
|
-
draggable: true,
|
|
439
|
-
sortable: true
|
|
440
342
|
}
|
|
441
343
|
};
|
|
442
344
|
var map_default = Map;
|
|
443
345
|
|
|
444
|
-
// src/elements/
|
|
445
|
-
var
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
346
|
+
// src/elements/text.tsx
|
|
347
|
+
var React8 = __toESM(require("react"));
|
|
348
|
+
var Text = React8.forwardRef((props, ref) => {
|
|
349
|
+
let _a = props, { children, value } = _a, rest = __objRest(_a, ["children", "value"]);
|
|
350
|
+
return /* @__PURE__ */ React8.createElement("div", __spreadProps(__spreadValues({
|
|
351
|
+
ref
|
|
352
|
+
}, rest), {
|
|
353
|
+
dangerouslySetInnerHTML: { __html: value }
|
|
354
|
+
}));
|
|
355
|
+
});
|
|
356
|
+
Text.defaultProps = {
|
|
357
|
+
value: "The quick brown fox jumps over the lazy dog",
|
|
358
|
+
css: {
|
|
359
|
+
"@desktop": {
|
|
360
|
+
width: "100%",
|
|
361
|
+
height: "fit-content",
|
|
362
|
+
padding: 0,
|
|
363
|
+
margin: 0,
|
|
364
|
+
outline: "none",
|
|
365
|
+
wordBreak: "break-word",
|
|
366
|
+
overflowWrap: "break-word",
|
|
367
|
+
whiteSpace: "break-spaces"
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
};
|
|
371
|
+
var text_default = Text;
|
|
458
372
|
|
|
459
|
-
// src/elements/
|
|
373
|
+
// src/elements/video.tsx
|
|
460
374
|
var import_react7 = __toESM(require("react"));
|
|
461
|
-
var
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
375
|
+
var Video = (0, import_react7.forwardRef)((props, ref) => {
|
|
376
|
+
const { isDesignMode } = (0, import_react7.useContext)(WeaverseContext);
|
|
377
|
+
let _a = props, { src, type, controls, poster, autoPlay, loop, muted } = _a, rest = __objRest(_a, ["src", "type", "controls", "poster", "autoPlay", "loop", "muted"]);
|
|
378
|
+
return /* @__PURE__ */ import_react7.default.createElement("video", __spreadValues({
|
|
379
|
+
ref,
|
|
380
|
+
controls: isDesignMode ? false : controls,
|
|
381
|
+
autoPlay: isDesignMode ? false : autoPlay,
|
|
382
|
+
loop,
|
|
383
|
+
muted: true,
|
|
384
|
+
controlsList: "nodownload",
|
|
385
|
+
disablePictureInPicture: true
|
|
386
|
+
}, rest), /* @__PURE__ */ import_react7.default.createElement("source", {
|
|
387
|
+
src,
|
|
388
|
+
type: type || "video/mp4"
|
|
389
|
+
}));
|
|
390
|
+
});
|
|
391
|
+
Video.defaultProps = {
|
|
392
|
+
src: "https://ucarecdn.com/7cae0dab-8966-4484-9998-602728c360ca/IMG_0048.MOV",
|
|
393
|
+
poster: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
|
|
394
|
+
loop: false,
|
|
395
|
+
type: "video/mp4",
|
|
396
|
+
controls: false,
|
|
397
|
+
autoPlay: true,
|
|
398
|
+
muted: true,
|
|
399
|
+
css: {
|
|
400
|
+
"@desktop": {
|
|
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"
|
|
409
|
+
}
|
|
410
|
+
}
|
|
465
411
|
};
|
|
466
|
-
var
|
|
412
|
+
var video_default = Video;
|
|
467
413
|
|
|
468
|
-
// src/elements/
|
|
469
|
-
var
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
}, 1e3);
|
|
484
|
-
return () => {
|
|
485
|
-
clearInterval(flag);
|
|
486
|
-
};
|
|
487
|
-
}, [startTime, endTime, periods, type]);
|
|
488
|
-
const timer = getTime(remaining);
|
|
414
|
+
// src/elements/instagram.tsx
|
|
415
|
+
var import_react9 = __toESM(require("react"));
|
|
416
|
+
|
|
417
|
+
// src/elements/shared/Placeholder.tsx
|
|
418
|
+
var import_react8 = __toESM(require("react"));
|
|
419
|
+
var Placeholder = (0, import_react8.forwardRef)((props, ref) => {
|
|
420
|
+
let _a = props, { element, children } = _a, rest = __objRest(_a, ["element", "children"]);
|
|
421
|
+
let style = {
|
|
422
|
+
height: "100%",
|
|
423
|
+
display: "flex",
|
|
424
|
+
flexDirection: "column",
|
|
425
|
+
alignItems: "center",
|
|
426
|
+
justifyContent: "center",
|
|
427
|
+
color: "#374151"
|
|
428
|
+
};
|
|
489
429
|
return /* @__PURE__ */ import_react8.default.createElement("div", __spreadValues({
|
|
430
|
+
style,
|
|
490
431
|
ref
|
|
491
|
-
},
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
}), /* @__PURE__ */ import_react8.default.createElement("span", {
|
|
495
|
-
className: !showColon && "hidden"
|
|
496
|
-
}, ":"), /* @__PURE__ */ import_react8.default.createElement(timer_block_default, {
|
|
497
|
-
value: timer.hours,
|
|
498
|
-
label: showLabel && "hours"
|
|
499
|
-
}), /* @__PURE__ */ import_react8.default.createElement("span", {
|
|
500
|
-
className: !showColon && "hidden"
|
|
501
|
-
}, ":"), /* @__PURE__ */ import_react8.default.createElement(timer_block_default, {
|
|
502
|
-
value: timer.mins,
|
|
503
|
-
label: showLabel && "minutes"
|
|
504
|
-
}), /* @__PURE__ */ import_react8.default.createElement("span", {
|
|
505
|
-
className: !showColon && "hidden"
|
|
506
|
-
}, ":"), /* @__PURE__ */ import_react8.default.createElement(timer_block_default, {
|
|
507
|
-
value: timer.secs,
|
|
508
|
-
label: showLabel && "seconds"
|
|
509
|
-
}));
|
|
432
|
+
}, rest), /* @__PURE__ */ import_react8.default.createElement("div", {
|
|
433
|
+
style: { fontWeight: 600, marginBottom: "10px" }
|
|
434
|
+
}, element), /* @__PURE__ */ import_react8.default.createElement("div", null, children));
|
|
510
435
|
});
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
};
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
{
|
|
535
|
-
type: "color"
|
|
436
|
+
var Placeholder_default = Placeholder;
|
|
437
|
+
|
|
438
|
+
// src/elements/instagram.tsx
|
|
439
|
+
var INSTAGRAM_API = "https://graph.instagram.com";
|
|
440
|
+
var Instagram = (0, import_react9.forwardRef)((props, ref) => {
|
|
441
|
+
const _a = props, { token, username, numberOfImages, imagesPerRow, gap } = _a, rest = __objRest(_a, ["token", "username", "numberOfImages", "imagesPerRow", "gap"]);
|
|
442
|
+
const [media, setMedia] = (0, import_react9.useState)([]);
|
|
443
|
+
const [error, setError] = (0, import_react9.useState)(null);
|
|
444
|
+
let { isDesignMode } = (0, import_react9.useContext)(WeaverseContext);
|
|
445
|
+
(0, import_react9.useEffect)(() => {
|
|
446
|
+
if (token) {
|
|
447
|
+
let params = new URLSearchParams({
|
|
448
|
+
access_token: token,
|
|
449
|
+
fields: "id,media_type,caption,media_url,permalink"
|
|
450
|
+
});
|
|
451
|
+
fetch(`${INSTAGRAM_API}/me/media?${params.toString()}`).then((res) => res.json()).then((res) => {
|
|
452
|
+
if (res.error) {
|
|
453
|
+
setError(res);
|
|
454
|
+
} else {
|
|
455
|
+
setError(null);
|
|
456
|
+
setMedia([...res.data]);
|
|
457
|
+
}
|
|
458
|
+
}).catch(console.error);
|
|
536
459
|
}
|
|
537
|
-
]
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
460
|
+
}, [token]);
|
|
461
|
+
if (!token || error) {
|
|
462
|
+
return /* @__PURE__ */ import_react9.default.createElement("div", __spreadValues({
|
|
463
|
+
ref
|
|
464
|
+
}, rest), /* @__PURE__ */ import_react9.default.createElement(Placeholder_default, {
|
|
465
|
+
element: "Instagram"
|
|
466
|
+
}, !token ? "Connect your Instagram account to display photos on your site." : "Invalid or expired token!"));
|
|
467
|
+
}
|
|
468
|
+
let style = {
|
|
469
|
+
"--wv-ig-images-per-row": imagesPerRow,
|
|
470
|
+
"--wv-ig-images-gap": gap
|
|
471
|
+
};
|
|
472
|
+
return /* @__PURE__ */ import_react9.default.createElement("div", __spreadProps(__spreadValues({
|
|
473
|
+
ref
|
|
474
|
+
}, rest), {
|
|
475
|
+
style
|
|
476
|
+
}), /* @__PURE__ */ import_react9.default.createElement("div", {
|
|
477
|
+
className: "wv-ig-media-wrapper"
|
|
478
|
+
}, media.slice(0, numberOfImages).map((item) => {
|
|
479
|
+
let linkProps;
|
|
480
|
+
if (!isDesignMode) {
|
|
481
|
+
linkProps = { href: item.permalink, target: "_blank" };
|
|
482
|
+
}
|
|
483
|
+
return /* @__PURE__ */ import_react9.default.createElement("a", __spreadValues({
|
|
484
|
+
key: item.id
|
|
485
|
+
}, linkProps), /* @__PURE__ */ import_react9.default.createElement("img", {
|
|
486
|
+
alt: item.caption,
|
|
487
|
+
src: item.media_url
|
|
488
|
+
}));
|
|
489
|
+
})));
|
|
490
|
+
});
|
|
491
|
+
Instagram.defaultProps = {
|
|
492
|
+
token: "",
|
|
493
|
+
username: "",
|
|
494
|
+
numberOfImages: 8,
|
|
495
|
+
imagesPerRow: 4,
|
|
496
|
+
gap: 0,
|
|
497
|
+
css: {
|
|
498
|
+
"@desktop": {
|
|
499
|
+
".wv-ig-media-wrapper": {
|
|
500
|
+
overflow: "hidden",
|
|
501
|
+
maxWidth: "100%",
|
|
502
|
+
maxHeight: "100%",
|
|
544
503
|
display: "grid",
|
|
545
|
-
|
|
546
|
-
gap:
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
fontSize: 10
|
|
553
|
-
},
|
|
554
|
-
"& > span": {
|
|
555
|
-
lineHeight: "100%"
|
|
556
|
-
},
|
|
557
|
-
"& .hidden": {
|
|
558
|
-
visibility: "hidden"
|
|
504
|
+
gridTemplateColumns: "repeat(var(--wv-ig-images-per-row, 4), 1fr)",
|
|
505
|
+
gap: "var(--wv-ig-images-gap, 0px)",
|
|
506
|
+
img: {
|
|
507
|
+
aspectRatio: "1 / 1",
|
|
508
|
+
width: "100%",
|
|
509
|
+
height: "100%",
|
|
510
|
+
objectFit: "cover"
|
|
559
511
|
}
|
|
560
512
|
}
|
|
561
513
|
}
|
|
562
|
-
},
|
|
563
|
-
flags: {
|
|
564
|
-
draggable: true
|
|
565
514
|
}
|
|
566
515
|
};
|
|
567
|
-
var
|
|
516
|
+
var instagram_default = Instagram;
|
|
568
517
|
|
|
569
518
|
// src/elements/index.ts
|
|
570
519
|
var elements = {
|
|
520
|
+
Countdown: {
|
|
521
|
+
Component: countdown_default,
|
|
522
|
+
type: "countdown"
|
|
523
|
+
},
|
|
571
524
|
Button: {
|
|
572
525
|
Component: button_default,
|
|
573
|
-
|
|
574
|
-
},
|
|
575
|
-
BaseElement: {
|
|
576
|
-
Component: base_default,
|
|
577
|
-
schema
|
|
578
|
-
},
|
|
579
|
-
Text: {
|
|
580
|
-
Component: text_default,
|
|
581
|
-
schema: schema5
|
|
582
|
-
},
|
|
583
|
-
Layout: {
|
|
584
|
-
Component: layout_default,
|
|
585
|
-
schema: schema4
|
|
526
|
+
type: "button"
|
|
586
527
|
},
|
|
587
528
|
Container: {
|
|
588
529
|
Component: container_default,
|
|
589
|
-
|
|
530
|
+
type: "container"
|
|
590
531
|
},
|
|
591
532
|
Image: {
|
|
592
533
|
Component: image_default,
|
|
593
|
-
|
|
534
|
+
type: "image"
|
|
594
535
|
},
|
|
595
|
-
|
|
596
|
-
Component:
|
|
597
|
-
|
|
536
|
+
Instagram: {
|
|
537
|
+
Component: instagram_default,
|
|
538
|
+
type: "instagram"
|
|
539
|
+
},
|
|
540
|
+
Layout: {
|
|
541
|
+
Component: layout_default,
|
|
542
|
+
type: "layout"
|
|
598
543
|
},
|
|
599
544
|
Map: {
|
|
600
545
|
Component: map_default,
|
|
601
|
-
|
|
546
|
+
type: "map"
|
|
602
547
|
},
|
|
603
|
-
|
|
604
|
-
Component:
|
|
605
|
-
|
|
548
|
+
Text: {
|
|
549
|
+
Component: text_default,
|
|
550
|
+
type: "text"
|
|
551
|
+
},
|
|
552
|
+
Video: {
|
|
553
|
+
Component: video_default,
|
|
554
|
+
type: "video"
|
|
606
555
|
}
|
|
607
556
|
};
|
|
608
557
|
var elements_default = elements;
|
|
@@ -615,30 +564,31 @@ var createRootContext = (configs) => {
|
|
|
615
564
|
});
|
|
616
565
|
return rootContext;
|
|
617
566
|
};
|
|
618
|
-
var WeaverseContext = (0,
|
|
567
|
+
var WeaverseContext = (0, import_react10.createContext)({});
|
|
619
568
|
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
620
569
|
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
621
570
|
|
|
622
571
|
// src/renderer.tsx
|
|
623
572
|
var import_core2 = require("@weaverse/core");
|
|
624
|
-
var
|
|
573
|
+
var import_react11 = __toESM(require("react"));
|
|
625
574
|
|
|
626
575
|
// src/utils/index.ts
|
|
627
576
|
var shortCssObject = (css) => {
|
|
628
577
|
return {
|
|
629
|
-
"@desktop": css[
|
|
630
|
-
"@mobile": css[
|
|
578
|
+
"@desktop": css["@desktop"],
|
|
579
|
+
"@mobile": css["@mobile"]
|
|
631
580
|
};
|
|
632
581
|
};
|
|
633
582
|
function generateItemClass(instance, stitchesInstance) {
|
|
634
|
-
var _a;
|
|
583
|
+
var _a, _b, _c, _d;
|
|
635
584
|
let { css, className: cls = "" } = instance.data;
|
|
585
|
+
let defaultCss = ((_c = (_b = (_a = instance.Element) == null ? void 0 : _a.Component) == null ? void 0 : _b.defaultProps) == null ? void 0 : _c.css) || {};
|
|
636
586
|
let className = "";
|
|
637
|
-
if (css) {
|
|
638
|
-
let formattedCss = shortCssObject(css);
|
|
587
|
+
if (css || defaultCss) {
|
|
588
|
+
let formattedCss = shortCssObject(css || defaultCss);
|
|
639
589
|
let { className: newClass = "" } = stitchesInstance.css(formattedCss)();
|
|
640
590
|
let { stitchesClass } = instance;
|
|
641
|
-
let otherClass = (((
|
|
591
|
+
let otherClass = (((_d = instance.ref.current) == null ? void 0 : _d.className) || "").replace(stitchesClass, "").replace(cls, "").trim();
|
|
642
592
|
className = `${cls} ${newClass} ${otherClass}`.trim();
|
|
643
593
|
instance.stitchesClass = newClass;
|
|
644
594
|
}
|
|
@@ -648,9 +598,9 @@ function generateItemClass(instance, stitchesInstance) {
|
|
|
648
598
|
// src/renderer.tsx
|
|
649
599
|
var WeaverseRoot = ({ context }) => {
|
|
650
600
|
var _a;
|
|
651
|
-
let [, setData] = (0,
|
|
652
|
-
let rootRef = (0,
|
|
653
|
-
(0,
|
|
601
|
+
let [, setData] = (0, import_react11.useState)(context.projectData);
|
|
602
|
+
let rootRef = (0, import_react11.useRef)();
|
|
603
|
+
(0, import_react11.useEffect)(() => {
|
|
654
604
|
let update = () => setData({});
|
|
655
605
|
context.subscribe(update);
|
|
656
606
|
if (context.projectData) {
|
|
@@ -663,21 +613,22 @@ var WeaverseRoot = ({ context }) => {
|
|
|
663
613
|
}, []);
|
|
664
614
|
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
665
615
|
let themeClass = context.stitchesInstance.theme.className;
|
|
666
|
-
return /* @__PURE__ */
|
|
616
|
+
return /* @__PURE__ */ import_react11.default.createElement("div", __spreadProps(__spreadValues({
|
|
667
617
|
className: `weaverse-content-root ${themeClass}`
|
|
668
618
|
}, eventHandlers), {
|
|
669
619
|
ref: rootRef
|
|
670
|
-
}), /* @__PURE__ */
|
|
620
|
+
}), /* @__PURE__ */ import_react11.default.createElement(WeaverseContextProvider, {
|
|
671
621
|
value: context
|
|
672
|
-
}, /* @__PURE__ */
|
|
622
|
+
}, /* @__PURE__ */ import_react11.default.createElement(ItemInstance, {
|
|
673
623
|
id: context.projectData.rootId || 0
|
|
674
624
|
})));
|
|
675
625
|
};
|
|
676
626
|
var ItemComponent = ({ instance }) => {
|
|
677
|
-
let { stitchesInstance, elementInstances } = (0,
|
|
678
|
-
let [data, setData] = (0,
|
|
679
|
-
let _a = data, { id, type, childIds = [], css, className
|
|
680
|
-
(0,
|
|
627
|
+
let { stitchesInstance, elementInstances } = (0, import_react11.useContext)(WeaverseContext);
|
|
628
|
+
let [data, setData] = (0, import_react11.useState)(instance.data);
|
|
629
|
+
let _a = data, { id, type, childIds = [], css, className } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
630
|
+
(0, import_react11.useEffect)(() => {
|
|
631
|
+
var _a2;
|
|
681
632
|
let update = (data2) => setData(__spreadValues({}, data2));
|
|
682
633
|
instance.subscribe(update);
|
|
683
634
|
if (import_core2.isBrowser && !instance.ref.current) {
|
|
@@ -685,22 +636,23 @@ var ItemComponent = ({ instance }) => {
|
|
|
685
636
|
current: document.querySelector(`[data-wv-id="${id}"]`)
|
|
686
637
|
});
|
|
687
638
|
}
|
|
639
|
+
(_a2 = instance.ref.current) == null ? void 0 : _a2.removeAttribute("css");
|
|
688
640
|
return () => {
|
|
689
641
|
instance.unsubscribe(update);
|
|
690
642
|
};
|
|
691
643
|
}, []);
|
|
692
|
-
let Element = elementInstances.get(type
|
|
644
|
+
let Element = elementInstances.get(type);
|
|
693
645
|
if (Element == null ? void 0 : Element.Component) {
|
|
694
646
|
let Component = Element.Component;
|
|
695
647
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
696
648
|
rest.ref = instance.ref;
|
|
697
649
|
}
|
|
698
|
-
return /* @__PURE__ */
|
|
650
|
+
return /* @__PURE__ */ import_react11.default.createElement(Component, __spreadValues({
|
|
699
651
|
key: id,
|
|
700
652
|
"data-wv-type": type,
|
|
701
653
|
"data-wv-id": id,
|
|
702
654
|
className: generateItemClass(instance, stitchesInstance)
|
|
703
|
-
}, rest), childIds.map((id2) => /* @__PURE__ */
|
|
655
|
+
}, rest), childIds.map((id2) => /* @__PURE__ */ import_react11.default.createElement(ItemInstance, {
|
|
704
656
|
key: id2,
|
|
705
657
|
id: id2
|
|
706
658
|
})));
|
|
@@ -708,15 +660,15 @@ var ItemComponent = ({ instance }) => {
|
|
|
708
660
|
return null;
|
|
709
661
|
};
|
|
710
662
|
var ItemInstance = ({ id }) => {
|
|
711
|
-
let context = (0,
|
|
663
|
+
let context = (0, import_react11.useContext)(WeaverseContext);
|
|
712
664
|
let { itemInstances } = context;
|
|
713
665
|
let instance = itemInstances.get(id);
|
|
714
666
|
if (!instance) {
|
|
715
|
-
return /* @__PURE__ */
|
|
667
|
+
return /* @__PURE__ */ import_react11.default.createElement("div", {
|
|
716
668
|
style: { display: "none" }
|
|
717
669
|
}, "Item instance ", id, " not found");
|
|
718
670
|
}
|
|
719
|
-
return /* @__PURE__ */
|
|
671
|
+
return /* @__PURE__ */ import_react11.default.createElement(ItemComponent, {
|
|
720
672
|
instance
|
|
721
673
|
});
|
|
722
674
|
};
|