@weaverse/react 0.7.9 → 0.7.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +7 -2
- package/dist/index.js +431 -444
- package/dist/index.mjs +325 -340
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -27,6 +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
|
+
Elements: () => Elements,
|
|
31
|
+
SharedComponents: () => SharedComponents,
|
|
30
32
|
WeaverseContext: () => WeaverseContext,
|
|
31
33
|
WeaverseContextConsumer: () => WeaverseContextConsumer,
|
|
32
34
|
WeaverseContextProvider: () => WeaverseContextProvider,
|
|
@@ -35,10 +37,6 @@ __export(src_exports, {
|
|
|
35
37
|
});
|
|
36
38
|
module.exports = __toCommonJS(src_exports);
|
|
37
39
|
|
|
38
|
-
// src/context.ts
|
|
39
|
-
var import_core = require("@weaverse/core");
|
|
40
|
-
var import_react20 = require("react");
|
|
41
|
-
|
|
42
40
|
// src/elements/button.tsx
|
|
43
41
|
var React = __toESM(require("react"));
|
|
44
42
|
var Button = React.forwardRef((props, ref) => {
|
|
@@ -87,33 +85,46 @@ var Container = (0, import_react.forwardRef)(
|
|
|
87
85
|
}, children);
|
|
88
86
|
}
|
|
89
87
|
);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
width: "100%"
|
|
103
|
-
}
|
|
88
|
+
var css = {
|
|
89
|
+
"@desktop": {
|
|
90
|
+
alignItems: "flex-start",
|
|
91
|
+
backgroundColor: "rgba(248,203,203,0.38)",
|
|
92
|
+
display: "flex",
|
|
93
|
+
flexDirection: "column",
|
|
94
|
+
gridArea: "1 / 1 / 3 / 6",
|
|
95
|
+
height: "fit-content",
|
|
96
|
+
justifyContent: "flex-start",
|
|
97
|
+
overflow: "hidden",
|
|
98
|
+
textAlign: "left",
|
|
99
|
+
width: "100%"
|
|
104
100
|
}
|
|
105
101
|
};
|
|
102
|
+
Container.defaultProps = {};
|
|
106
103
|
var container_default = Container;
|
|
107
104
|
|
|
108
105
|
// src/elements/countdown/index.tsx
|
|
109
|
-
var
|
|
106
|
+
var import_react4 = __toESM(require("react"));
|
|
107
|
+
|
|
108
|
+
// src/context.ts
|
|
109
|
+
var import_core = require("@weaverse/core");
|
|
110
|
+
var import_react2 = require("react");
|
|
111
|
+
var createRootContext = (configs) => {
|
|
112
|
+
let rootContext = new import_core.Weaverse(configs);
|
|
113
|
+
Object.keys(Elements).forEach((key) => {
|
|
114
|
+
rootContext.registerElement(Elements[key]);
|
|
115
|
+
});
|
|
116
|
+
return rootContext;
|
|
117
|
+
};
|
|
118
|
+
var WeaverseContext = (0, import_react2.createContext)({});
|
|
119
|
+
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
120
|
+
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
110
121
|
|
|
111
122
|
// src/elements/countdown/timer-block.tsx
|
|
112
|
-
var
|
|
123
|
+
var import_react3 = __toESM(require("react"));
|
|
113
124
|
function TimerBlock({ value, label }) {
|
|
114
|
-
return /* @__PURE__ */
|
|
125
|
+
return /* @__PURE__ */ import_react3.default.createElement("div", null, /* @__PURE__ */ import_react3.default.createElement("div", {
|
|
115
126
|
className: "wv-countdown-number"
|
|
116
|
-
}, value.toString().padStart(2, "0")), label && /* @__PURE__ */
|
|
127
|
+
}, value.toString().padStart(2, "0")), label && /* @__PURE__ */ import_react3.default.createElement("div", {
|
|
117
128
|
className: "wv-countdown-label"
|
|
118
129
|
}, label));
|
|
119
130
|
}
|
|
@@ -136,9 +147,9 @@ function getTime(_seconds) {
|
|
|
136
147
|
}
|
|
137
148
|
|
|
138
149
|
// src/elements/countdown/index.tsx
|
|
139
|
-
var Countdown = (0,
|
|
150
|
+
var Countdown = (0, import_react4.forwardRef)(
|
|
140
151
|
(props, ref) => {
|
|
141
|
-
const { isDesignMode } = (0,
|
|
152
|
+
const { isDesignMode } = (0, import_react4.useContext)(WeaverseContext);
|
|
142
153
|
let {
|
|
143
154
|
timerType,
|
|
144
155
|
startTime,
|
|
@@ -150,11 +161,11 @@ var Countdown = (0, import_react3.forwardRef)(
|
|
|
150
161
|
showLabel,
|
|
151
162
|
...rest
|
|
152
163
|
} = props;
|
|
153
|
-
const [remaining, setRemaining] =
|
|
164
|
+
const [remaining, setRemaining] = import_react4.default.useState(0);
|
|
154
165
|
if (typeof endTime !== "number") {
|
|
155
166
|
endTime = Number.parseInt(endTime);
|
|
156
167
|
}
|
|
157
|
-
(0,
|
|
168
|
+
(0, import_react4.useEffect)(() => {
|
|
158
169
|
const flag = setInterval(() => {
|
|
159
170
|
const remainingTime = Math.max(
|
|
160
171
|
(timerType === "fixed-time" ? new Date(endTime).getTime() : new Date(startTime).getTime() + periods * 60 * 1e3) - Date.now(),
|
|
@@ -170,21 +181,44 @@ var Countdown = (0, import_react3.forwardRef)(
|
|
|
170
181
|
};
|
|
171
182
|
}, [startTime, endTime, periods, timerType]);
|
|
172
183
|
const timer = getTime(remaining);
|
|
173
|
-
return /* @__PURE__ */
|
|
184
|
+
return /* @__PURE__ */ import_react4.default.createElement("div", {
|
|
174
185
|
ref,
|
|
175
186
|
...rest
|
|
176
187
|
}, times.map((time) => {
|
|
177
|
-
return /* @__PURE__ */
|
|
188
|
+
return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, {
|
|
178
189
|
key: time
|
|
179
|
-
}, /* @__PURE__ */
|
|
190
|
+
}, /* @__PURE__ */ import_react4.default.createElement(TimerBlock, {
|
|
180
191
|
label: showLabel ? time : "",
|
|
181
192
|
value: timer[time]
|
|
182
|
-
}), time !== "seconds" && /* @__PURE__ */
|
|
193
|
+
}), time !== "seconds" && /* @__PURE__ */ import_react4.default.createElement("span", {
|
|
183
194
|
className: `wv-countdown-number ${showColon ? "" : "hidden"}`
|
|
184
195
|
}, ":"));
|
|
185
196
|
}));
|
|
186
197
|
}
|
|
187
198
|
);
|
|
199
|
+
var css2 = {
|
|
200
|
+
"@desktop": {
|
|
201
|
+
fontFamily: "Inter",
|
|
202
|
+
fontSize: 36,
|
|
203
|
+
fontWeight: 500,
|
|
204
|
+
display: "grid",
|
|
205
|
+
gridAutoFlow: "column",
|
|
206
|
+
gap: 10,
|
|
207
|
+
"& > div": {
|
|
208
|
+
width: 48,
|
|
209
|
+
textAlign: "center"
|
|
210
|
+
},
|
|
211
|
+
".wv-countdown-label": {
|
|
212
|
+
fontSize: 10
|
|
213
|
+
},
|
|
214
|
+
"& > span": {
|
|
215
|
+
lineHeight: "100%"
|
|
216
|
+
},
|
|
217
|
+
"& .hidden": {
|
|
218
|
+
visibility: "hidden"
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
};
|
|
188
222
|
Countdown.defaultProps = {
|
|
189
223
|
timerType: "fixed-time",
|
|
190
224
|
startTime: Date.now(),
|
|
@@ -193,38 +227,15 @@ Countdown.defaultProps = {
|
|
|
193
227
|
redirectUrl: "https://myshop.com",
|
|
194
228
|
openInNewTab: false,
|
|
195
229
|
showLabel: true,
|
|
196
|
-
showColon: true
|
|
197
|
-
css: {
|
|
198
|
-
"@desktop": {
|
|
199
|
-
fontFamily: "Inter",
|
|
200
|
-
fontSize: 36,
|
|
201
|
-
fontWeight: 500,
|
|
202
|
-
display: "grid",
|
|
203
|
-
gridAutoFlow: "column",
|
|
204
|
-
gap: 10,
|
|
205
|
-
"& > div": {
|
|
206
|
-
width: 48,
|
|
207
|
-
textAlign: "center"
|
|
208
|
-
},
|
|
209
|
-
".wv-countdown-label": {
|
|
210
|
-
fontSize: 10
|
|
211
|
-
},
|
|
212
|
-
"& > span": {
|
|
213
|
-
lineHeight: "100%"
|
|
214
|
-
},
|
|
215
|
-
"& .hidden": {
|
|
216
|
-
visibility: "hidden"
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
230
|
+
showColon: true
|
|
220
231
|
};
|
|
221
232
|
var countdown_default = Countdown;
|
|
222
233
|
|
|
223
234
|
// src/elements/image.tsx
|
|
224
|
-
var
|
|
225
|
-
var Image =
|
|
235
|
+
var import_react5 = __toESM(require("react"));
|
|
236
|
+
var Image = import_react5.default.forwardRef(
|
|
226
237
|
(props, ref) => {
|
|
227
|
-
let { isDesignMode } = (0,
|
|
238
|
+
let { isDesignMode } = (0, import_react5.useContext)(WeaverseContext);
|
|
228
239
|
let {
|
|
229
240
|
src,
|
|
230
241
|
alt,
|
|
@@ -246,40 +257,40 @@ var Image = import_react4.default.forwardRef(
|
|
|
246
257
|
console.log("TODO: click action:", onClickAction);
|
|
247
258
|
}
|
|
248
259
|
};
|
|
249
|
-
return /* @__PURE__ */
|
|
260
|
+
return /* @__PURE__ */ import_react5.default.createElement("div", {
|
|
250
261
|
ref,
|
|
251
262
|
...rest,
|
|
252
263
|
style,
|
|
253
264
|
onClick: handleClick
|
|
254
|
-
}, /* @__PURE__ */
|
|
265
|
+
}, /* @__PURE__ */ import_react5.default.createElement("img", {
|
|
255
266
|
alt,
|
|
256
267
|
src
|
|
257
268
|
}));
|
|
258
269
|
}
|
|
259
270
|
);
|
|
271
|
+
var css3 = {
|
|
272
|
+
"@desktop": {
|
|
273
|
+
img: {
|
|
274
|
+
width: "100%",
|
|
275
|
+
height: "100%",
|
|
276
|
+
objectFit: "var(--wv-img-object-fit, cover)",
|
|
277
|
+
objectPosition: "var(--wv-img-object-position, center)"
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
};
|
|
260
281
|
Image.defaultProps = {
|
|
261
282
|
src: "https://ucarecdn.com/c413b8fe-ceec-4948-9c42-a0434c4ca920/",
|
|
262
283
|
alt: "Image alt text",
|
|
263
284
|
objectFit: "cover",
|
|
264
285
|
objectPosition: "center",
|
|
265
286
|
onClickAction: "open-lightbox",
|
|
266
|
-
openLinkInNewTab: false
|
|
267
|
-
css: {
|
|
268
|
-
"@desktop": {
|
|
269
|
-
img: {
|
|
270
|
-
width: "100%",
|
|
271
|
-
height: "100%",
|
|
272
|
-
objectFit: "var(--wv-img-object-fit, cover)",
|
|
273
|
-
objectPosition: "var(--wv-img-object-position, center)"
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
}
|
|
287
|
+
openLinkInNewTab: false
|
|
277
288
|
};
|
|
278
289
|
var image_default = Image;
|
|
279
290
|
|
|
280
291
|
// src/elements/layout.tsx
|
|
281
|
-
var
|
|
282
|
-
var Layout = (0,
|
|
292
|
+
var import_react6 = __toESM(require("react"));
|
|
293
|
+
var Layout = (0, import_react6.forwardRef)((props, ref) => {
|
|
283
294
|
let { children, rows, gap, rowSize, columns, gridSize, ...rest } = props;
|
|
284
295
|
let style = {
|
|
285
296
|
"--grid-size": gridSize + "px",
|
|
@@ -289,54 +300,54 @@ var Layout = (0, import_react5.forwardRef)((props, ref) => {
|
|
|
289
300
|
"--row-size": rowSize + "px",
|
|
290
301
|
"--col-size": "calc((var(--grid-size) - calc(var(--columns) - 1) * var(--gap)) / var(--columns))"
|
|
291
302
|
};
|
|
292
|
-
return /* @__PURE__ */
|
|
303
|
+
return /* @__PURE__ */ import_react6.default.createElement("section", {
|
|
293
304
|
ref,
|
|
294
305
|
...rest,
|
|
295
306
|
style
|
|
296
|
-
}, /* @__PURE__ */
|
|
307
|
+
}, /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
297
308
|
"data-layout-content": true
|
|
298
309
|
}, children));
|
|
299
310
|
});
|
|
311
|
+
var css4 = {
|
|
312
|
+
"@desktop": {
|
|
313
|
+
paddingTop: "16px",
|
|
314
|
+
paddingBottom: "16px",
|
|
315
|
+
paddingLeft: "var(--gap)",
|
|
316
|
+
paddingRight: "var(--gap)",
|
|
317
|
+
"> [data-layout-content]": {
|
|
318
|
+
margin: "0 auto",
|
|
319
|
+
display: "grid !important",
|
|
320
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
321
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
322
|
+
gap: "var(--gap)",
|
|
323
|
+
maxWidth: "var(--grid-size)"
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
"@mobile": {
|
|
327
|
+
padding: "0 16px",
|
|
328
|
+
"> [data-layout-content]": {
|
|
329
|
+
display: "flex !important",
|
|
330
|
+
flexDirection: "column"
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
};
|
|
300
334
|
Layout.defaultProps = {
|
|
301
335
|
gridSize: 1224,
|
|
302
336
|
rows: 12,
|
|
303
337
|
columns: 12,
|
|
304
338
|
gap: 16,
|
|
305
|
-
rowSize: 48
|
|
306
|
-
css: {
|
|
307
|
-
"@desktop": {
|
|
308
|
-
paddingTop: "16px",
|
|
309
|
-
paddingBottom: "16px",
|
|
310
|
-
paddingLeft: "var(--gap)",
|
|
311
|
-
paddingRight: "var(--gap)",
|
|
312
|
-
"> [data-layout-content]": {
|
|
313
|
-
margin: "0 auto",
|
|
314
|
-
display: "grid !important",
|
|
315
|
-
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
316
|
-
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
317
|
-
gap: "var(--gap)",
|
|
318
|
-
maxWidth: "var(--grid-size)"
|
|
319
|
-
}
|
|
320
|
-
},
|
|
321
|
-
"@mobile": {
|
|
322
|
-
padding: "0 16px",
|
|
323
|
-
"> [data-layout-content]": {
|
|
324
|
-
display: "flex !important",
|
|
325
|
-
flexDirection: "column"
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
}
|
|
339
|
+
rowSize: 48
|
|
329
340
|
};
|
|
330
341
|
var layout_default = Layout;
|
|
331
342
|
|
|
332
343
|
// src/elements/map.tsx
|
|
333
|
-
var
|
|
334
|
-
var Map = (0,
|
|
344
|
+
var import_react7 = __toESM(require("react"));
|
|
345
|
+
var Map = (0, import_react7.forwardRef)((props, ref) => {
|
|
335
346
|
let { place, zoom, ...rest } = props;
|
|
336
|
-
return /* @__PURE__ */
|
|
347
|
+
return /* @__PURE__ */ import_react7.default.createElement("div", {
|
|
337
348
|
ref,
|
|
338
349
|
...rest
|
|
339
|
-
}, /* @__PURE__ */
|
|
350
|
+
}, /* @__PURE__ */ import_react7.default.createElement("iframe", {
|
|
340
351
|
loading: "lazy",
|
|
341
352
|
scrolling: "no",
|
|
342
353
|
width: "100%",
|
|
@@ -346,6 +357,7 @@ var Map = (0, import_react6.forwardRef)((props, ref) => {
|
|
|
346
357
|
style: { pointerEvents: "none" }
|
|
347
358
|
}));
|
|
348
359
|
});
|
|
360
|
+
var css5 = {};
|
|
349
361
|
Map.defaultProps = {
|
|
350
362
|
place: "Hanoi",
|
|
351
363
|
zoom: 14
|
|
@@ -364,39 +376,48 @@ var Text = React8.forwardRef(
|
|
|
364
376
|
});
|
|
365
377
|
}
|
|
366
378
|
);
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
"
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
overflowWrap: "break-word",
|
|
374
|
-
whiteSpace: "break-spaces"
|
|
375
|
-
}
|
|
379
|
+
var css6 = {
|
|
380
|
+
"@desktop": {
|
|
381
|
+
padding: "10px",
|
|
382
|
+
wordBreak: "break-word",
|
|
383
|
+
overflowWrap: "break-word",
|
|
384
|
+
whiteSpace: "break-spaces"
|
|
376
385
|
}
|
|
377
386
|
};
|
|
387
|
+
Text.defaultProps = {
|
|
388
|
+
value: "The quick brown fox jumps over the lazy dog"
|
|
389
|
+
};
|
|
378
390
|
var text_default = Text;
|
|
379
391
|
|
|
380
392
|
// src/elements/video.tsx
|
|
381
|
-
var
|
|
382
|
-
var Video = (0,
|
|
383
|
-
let { isDesignMode } = (0,
|
|
393
|
+
var import_react8 = __toESM(require("react"));
|
|
394
|
+
var Video = (0, import_react8.forwardRef)((props, ref) => {
|
|
395
|
+
let { isDesignMode } = (0, import_react8.useContext)(WeaverseContext);
|
|
384
396
|
let { src, type, controls, poster, autoPlay, loop, muted, ...rest } = props;
|
|
385
|
-
return /* @__PURE__ */
|
|
397
|
+
return /* @__PURE__ */ import_react8.default.createElement("div", {
|
|
386
398
|
ref,
|
|
387
399
|
...rest
|
|
388
|
-
}, /* @__PURE__ */
|
|
400
|
+
}, /* @__PURE__ */ import_react8.default.createElement("video", {
|
|
389
401
|
controls: isDesignMode ? false : controls,
|
|
390
402
|
autoPlay: isDesignMode ? false : autoPlay,
|
|
391
403
|
loop,
|
|
392
404
|
muted: true,
|
|
393
405
|
controlsList: "nodownload",
|
|
394
406
|
disablePictureInPicture: true
|
|
395
|
-
}, /* @__PURE__ */
|
|
407
|
+
}, /* @__PURE__ */ import_react8.default.createElement("source", {
|
|
396
408
|
src,
|
|
397
409
|
type: type || "video/mp4"
|
|
398
410
|
}), "Your browser does not support the video tag."));
|
|
399
411
|
});
|
|
412
|
+
var css7 = {
|
|
413
|
+
"@desktop": {
|
|
414
|
+
video: {
|
|
415
|
+
height: "100%",
|
|
416
|
+
width: "100%",
|
|
417
|
+
aspectRatio: "16 / 9"
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
};
|
|
400
421
|
Video.defaultProps = {
|
|
401
422
|
src: "https://youtu.be/wM-NT6hcw48",
|
|
402
423
|
poster: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
|
|
@@ -404,47 +425,38 @@ Video.defaultProps = {
|
|
|
404
425
|
type: "video/mp4",
|
|
405
426
|
controls: false,
|
|
406
427
|
autoPlay: true,
|
|
407
|
-
muted: true
|
|
408
|
-
css: {
|
|
409
|
-
"@desktop": {
|
|
410
|
-
video: {
|
|
411
|
-
height: "100%",
|
|
412
|
-
width: "100%",
|
|
413
|
-
aspectRatio: "16 / 9"
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
}
|
|
428
|
+
muted: true
|
|
417
429
|
};
|
|
418
430
|
var video_default = Video;
|
|
419
431
|
|
|
420
432
|
// src/elements/instagram.tsx
|
|
421
|
-
var
|
|
433
|
+
var import_react10 = __toESM(require("react"));
|
|
422
434
|
|
|
423
435
|
// src/elements/shared/Placeholder.tsx
|
|
424
|
-
var
|
|
425
|
-
var Placeholder = (0,
|
|
436
|
+
var import_react9 = __toESM(require("react"));
|
|
437
|
+
var Placeholder = (0, import_react9.forwardRef)(
|
|
426
438
|
(props, ref) => {
|
|
427
439
|
let { element, children, ...rest } = props;
|
|
428
|
-
return /* @__PURE__ */
|
|
440
|
+
return /* @__PURE__ */ import_react9.default.createElement("div", {
|
|
429
441
|
"data-wv-type": "placeholder",
|
|
430
442
|
style: { display: "none" },
|
|
431
443
|
ref,
|
|
432
444
|
...rest
|
|
433
|
-
}, /* @__PURE__ */
|
|
445
|
+
}, /* @__PURE__ */ import_react9.default.createElement("div", {
|
|
434
446
|
style: { fontWeight: 600, marginBottom: "10px" }
|
|
435
|
-
}, element), /* @__PURE__ */
|
|
447
|
+
}, element), /* @__PURE__ */ import_react9.default.createElement("div", null, children));
|
|
436
448
|
}
|
|
437
449
|
);
|
|
438
450
|
var Placeholder_default = Placeholder;
|
|
439
451
|
|
|
440
452
|
// src/elements/instagram.tsx
|
|
441
453
|
var INSTAGRAM_API = "https://graph.instagram.com";
|
|
442
|
-
var Instagram = (0,
|
|
454
|
+
var Instagram = (0, import_react10.forwardRef)(
|
|
443
455
|
(props, ref) => {
|
|
444
456
|
let { token, username, numberOfImages, imagesPerRow, gap, ...rest } = props;
|
|
445
|
-
let [media, setMedia] = (0,
|
|
446
|
-
let [error, setError] = (0,
|
|
447
|
-
(0,
|
|
457
|
+
let [media, setMedia] = (0, import_react10.useState)([]);
|
|
458
|
+
let [error, setError] = (0, import_react10.useState)(null);
|
|
459
|
+
(0, import_react10.useEffect)(() => {
|
|
448
460
|
if (token) {
|
|
449
461
|
let params = new URLSearchParams({
|
|
450
462
|
access_token: token,
|
|
@@ -461,10 +473,10 @@ var Instagram = (0, import_react9.forwardRef)(
|
|
|
461
473
|
}
|
|
462
474
|
}, [token]);
|
|
463
475
|
if (!token || error) {
|
|
464
|
-
return /* @__PURE__ */
|
|
476
|
+
return /* @__PURE__ */ import_react10.default.createElement("div", {
|
|
465
477
|
ref,
|
|
466
478
|
...rest
|
|
467
|
-
}, /* @__PURE__ */
|
|
479
|
+
}, /* @__PURE__ */ import_react10.default.createElement(Placeholder_default, {
|
|
468
480
|
element: "Instagram"
|
|
469
481
|
}, !token ? "Connect to Instagram to display photos on your site." : "Invalid or expired token!"));
|
|
470
482
|
}
|
|
@@ -472,65 +484,65 @@ var Instagram = (0, import_react9.forwardRef)(
|
|
|
472
484
|
"--wv-ig-images-per-row": imagesPerRow,
|
|
473
485
|
"--wv-ig-images-gap": gap + "px"
|
|
474
486
|
};
|
|
475
|
-
return /* @__PURE__ */
|
|
487
|
+
return /* @__PURE__ */ import_react10.default.createElement("div", {
|
|
476
488
|
ref,
|
|
477
489
|
...rest,
|
|
478
490
|
style
|
|
479
|
-
}, /* @__PURE__ */
|
|
491
|
+
}, /* @__PURE__ */ import_react10.default.createElement("div", {
|
|
480
492
|
className: "wv-ig-media-container"
|
|
481
493
|
}, media.slice(0, numberOfImages).map((item) => {
|
|
482
494
|
let { id, permalink, caption, media_url } = item;
|
|
483
|
-
return /* @__PURE__ */
|
|
495
|
+
return /* @__PURE__ */ import_react10.default.createElement("a", {
|
|
484
496
|
key: id,
|
|
485
497
|
href: permalink,
|
|
486
498
|
target: "_blank",
|
|
487
499
|
rel: "noreferrer"
|
|
488
|
-
}, /* @__PURE__ */
|
|
500
|
+
}, /* @__PURE__ */ import_react10.default.createElement("img", {
|
|
489
501
|
alt: caption,
|
|
490
502
|
src: media_url
|
|
491
503
|
}));
|
|
492
504
|
})));
|
|
493
505
|
}
|
|
494
506
|
);
|
|
507
|
+
var css8 = {
|
|
508
|
+
"@desktop": {
|
|
509
|
+
".wv-ig-media-container": {
|
|
510
|
+
overflow: "hidden",
|
|
511
|
+
maxWidth: "100%",
|
|
512
|
+
maxHeight: "100%",
|
|
513
|
+
display: "grid",
|
|
514
|
+
gridTemplateColumns: "repeat(var(--wv-ig-images-per-row, 4), 1fr)",
|
|
515
|
+
gap: "var(--wv-ig-images-gap, 0px)",
|
|
516
|
+
img: {
|
|
517
|
+
aspectRatio: "1 / 1",
|
|
518
|
+
width: "100%",
|
|
519
|
+
height: "100%",
|
|
520
|
+
objectFit: "cover"
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
};
|
|
495
525
|
Instagram.defaultProps = {
|
|
496
526
|
token: "",
|
|
497
527
|
username: "",
|
|
498
528
|
numberOfImages: 8,
|
|
499
529
|
imagesPerRow: 4,
|
|
500
|
-
gap: 0
|
|
501
|
-
css: {
|
|
502
|
-
"@desktop": {
|
|
503
|
-
".wv-ig-media-container": {
|
|
504
|
-
overflow: "hidden",
|
|
505
|
-
maxWidth: "100%",
|
|
506
|
-
maxHeight: "100%",
|
|
507
|
-
display: "grid",
|
|
508
|
-
gridTemplateColumns: "repeat(var(--wv-ig-images-per-row, 4), 1fr)",
|
|
509
|
-
gap: "var(--wv-ig-images-gap, 0px)",
|
|
510
|
-
img: {
|
|
511
|
-
aspectRatio: "1 / 1",
|
|
512
|
-
width: "100%",
|
|
513
|
-
height: "100%",
|
|
514
|
-
objectFit: "cover"
|
|
515
|
-
}
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
}
|
|
530
|
+
gap: 0
|
|
519
531
|
};
|
|
520
532
|
var instagram_default = Instagram;
|
|
521
533
|
|
|
522
534
|
// src/elements/accordion/index.tsx
|
|
523
|
-
var
|
|
524
|
-
var AccordionContext = (0,
|
|
535
|
+
var import_react11 = __toESM(require("react"));
|
|
536
|
+
var AccordionContext = (0, import_react11.createContext)({
|
|
525
537
|
iconName: "arrow",
|
|
526
538
|
active: [],
|
|
527
539
|
setActive: () => {
|
|
528
540
|
}
|
|
529
541
|
});
|
|
530
|
-
var Accordion = (0,
|
|
542
|
+
var Accordion = (0, import_react11.forwardRef)(
|
|
531
543
|
(props, ref) => {
|
|
532
544
|
const { iconName, children, ...rest } = props;
|
|
533
|
-
const [active, setActive] = (0,
|
|
545
|
+
const [active, setActive] = (0, import_react11.useState)([]);
|
|
534
546
|
const setOpenAccordion = (id) => {
|
|
535
547
|
if (active.includes(id)) {
|
|
536
548
|
setActive(active.filter((_id) => _id !== id));
|
|
@@ -538,31 +550,31 @@ var Accordion = (0, import_react10.forwardRef)(
|
|
|
538
550
|
setActive([...active, id]);
|
|
539
551
|
}
|
|
540
552
|
};
|
|
541
|
-
return /* @__PURE__ */
|
|
553
|
+
return /* @__PURE__ */ import_react11.default.createElement("div", {
|
|
542
554
|
ref,
|
|
543
555
|
...rest
|
|
544
|
-
}, /* @__PURE__ */
|
|
556
|
+
}, /* @__PURE__ */ import_react11.default.createElement(AccordionContext.Provider, {
|
|
545
557
|
value: { active, setActive: setOpenAccordion, iconName }
|
|
546
558
|
}, children));
|
|
547
559
|
}
|
|
548
560
|
);
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
"
|
|
553
|
-
|
|
554
|
-
flexDirection: "column",
|
|
555
|
-
gap: 4
|
|
556
|
-
}
|
|
561
|
+
var css9 = {
|
|
562
|
+
"@desktop": {
|
|
563
|
+
display: "flex",
|
|
564
|
+
flexDirection: "column",
|
|
565
|
+
gap: 4
|
|
557
566
|
}
|
|
558
567
|
};
|
|
568
|
+
Accordion.defaultProps = {
|
|
569
|
+
iconName: "arrow"
|
|
570
|
+
};
|
|
559
571
|
var accordion_default = Accordion;
|
|
560
572
|
|
|
561
573
|
// src/elements/accordion/AccordionWrapper.tsx
|
|
562
|
-
var
|
|
574
|
+
var import_react13 = __toESM(require("react"));
|
|
563
575
|
|
|
564
576
|
// src/elements/accordion/Icon.tsx
|
|
565
|
-
var
|
|
577
|
+
var import_react12 = __toESM(require("react"));
|
|
566
578
|
var ICONS = {
|
|
567
579
|
caret: {
|
|
568
580
|
animationType: "rotate90",
|
|
@@ -619,72 +631,72 @@ var rotateAnimation = {
|
|
|
619
631
|
};
|
|
620
632
|
function Icon(props) {
|
|
621
633
|
let { name, active = false, style, ...rest } = props;
|
|
622
|
-
let { stitchesInstance } = (0,
|
|
623
|
-
const { animationType, css } = ICONS[name];
|
|
634
|
+
let { stitchesInstance } = (0, import_react12.useContext)(WeaverseContext);
|
|
635
|
+
const { animationType, css: css16 } = ICONS[name];
|
|
624
636
|
if (active && animationType === "rotate90") {
|
|
625
637
|
style = { ...rotateAnimation, ...style };
|
|
626
638
|
}
|
|
627
|
-
let { className } = stitchesInstance.css(
|
|
639
|
+
let { className } = stitchesInstance.css(css16)();
|
|
628
640
|
if (active)
|
|
629
641
|
className += " active";
|
|
630
|
-
return /* @__PURE__ */
|
|
642
|
+
return /* @__PURE__ */ import_react12.default.createElement("span", {
|
|
631
643
|
style,
|
|
632
644
|
...rest
|
|
633
|
-
}, /* @__PURE__ */
|
|
645
|
+
}, /* @__PURE__ */ import_react12.default.createElement("i", {
|
|
634
646
|
className
|
|
635
647
|
}));
|
|
636
648
|
}
|
|
637
649
|
var Icon_default = Icon;
|
|
638
650
|
|
|
639
651
|
// src/elements/accordion/AccordionWrapper.tsx
|
|
640
|
-
var AccordionWrapper = (0,
|
|
652
|
+
var AccordionWrapper = (0, import_react13.forwardRef)((props, ref) => {
|
|
641
653
|
const { ["data-wv-id"]: wvId, name, children, ...rest } = props;
|
|
642
|
-
const { iconName, active, setActive } = (0,
|
|
654
|
+
const { iconName, active, setActive } = (0, import_react13.useContext)(AccordionContext);
|
|
643
655
|
const isActive = active.includes(wvId);
|
|
644
|
-
return /* @__PURE__ */
|
|
656
|
+
return /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
645
657
|
ref,
|
|
646
658
|
...rest
|
|
647
|
-
}, /* @__PURE__ */
|
|
659
|
+
}, /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
648
660
|
onClick: () => setActive(wvId),
|
|
649
661
|
className: `wv-acc-header ${isActive ? "active" : ""}`
|
|
650
|
-
}, /* @__PURE__ */
|
|
662
|
+
}, /* @__PURE__ */ import_react13.default.createElement("span", null, name), /* @__PURE__ */ import_react13.default.createElement(Icon_default, {
|
|
651
663
|
className: "wv-acc-icon",
|
|
652
664
|
active: isActive,
|
|
653
665
|
name: iconName
|
|
654
666
|
})), children);
|
|
655
667
|
});
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
"
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
"
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
'&.active + [data-wv-type="accordion.content"]': {
|
|
677
|
-
maxHeight: "var(--max-height, inherit)"
|
|
678
|
-
}
|
|
668
|
+
var css10 = {
|
|
669
|
+
"@desktop": {
|
|
670
|
+
maxHeight: "100%",
|
|
671
|
+
".wv-acc-icon": {
|
|
672
|
+
position: "absolute",
|
|
673
|
+
right: 16,
|
|
674
|
+
width: 16,
|
|
675
|
+
height: 16,
|
|
676
|
+
transition: "all 0.3s ease-in-out 0s"
|
|
677
|
+
},
|
|
678
|
+
".wv-acc-header": {
|
|
679
|
+
display: "flex",
|
|
680
|
+
alignItems: "center",
|
|
681
|
+
borderRadius: 4,
|
|
682
|
+
padding: 12,
|
|
683
|
+
marginBottom: 4,
|
|
684
|
+
border: "1px solid #76A9FA",
|
|
685
|
+
cursor: "pointer",
|
|
686
|
+
'&.active + [data-wv-type="accordion.content"]': {
|
|
687
|
+
maxHeight: "var(--max-height, inherit)"
|
|
679
688
|
}
|
|
680
689
|
}
|
|
681
690
|
}
|
|
682
691
|
};
|
|
692
|
+
AccordionWrapper.defaultProps = {
|
|
693
|
+
name: "Accordion item"
|
|
694
|
+
};
|
|
683
695
|
var AccordionWrapper_default = AccordionWrapper;
|
|
684
696
|
|
|
685
697
|
// src/elements/accordion/AccordionContent.tsx
|
|
686
|
-
var
|
|
687
|
-
var AccordionContent = (0,
|
|
698
|
+
var import_react14 = __toESM(require("react"));
|
|
699
|
+
var AccordionContent = (0, import_react14.forwardRef)(
|
|
688
700
|
(props, ref) => {
|
|
689
701
|
const { rows, columns, gap, rowSize, children, ...rest } = props;
|
|
690
702
|
let style = {
|
|
@@ -695,132 +707,132 @@ var AccordionContent = (0, import_react13.forwardRef)(
|
|
|
695
707
|
"--col-size": "calc((var(--grid-size) - calc(var(--columns) - 1) * var(--gap)) / var(--columns))",
|
|
696
708
|
"--max-height": rows * rowSize + gap * (rowSize - 1) + "px"
|
|
697
709
|
};
|
|
698
|
-
return /* @__PURE__ */
|
|
710
|
+
return /* @__PURE__ */ import_react14.default.createElement("div", {
|
|
699
711
|
ref,
|
|
700
712
|
...rest,
|
|
701
713
|
style
|
|
702
|
-
},
|
|
714
|
+
}, import_react14.default.Children.count(children) > 0 ? children : /* @__PURE__ */ import_react14.default.createElement(Placeholder_default, {
|
|
703
715
|
element: "Accordion Content"
|
|
704
716
|
}, "Drag and drop an element here."));
|
|
705
717
|
}
|
|
706
718
|
);
|
|
719
|
+
var css11 = {
|
|
720
|
+
"@desktop": {
|
|
721
|
+
width: "100%",
|
|
722
|
+
maxWidth: "var(--grid-size)",
|
|
723
|
+
display: "grid",
|
|
724
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
725
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
726
|
+
gap: "var(--gap)",
|
|
727
|
+
overflow: "hidden",
|
|
728
|
+
maxHeight: 0,
|
|
729
|
+
transition: "all var(--transition-duration, 0.3s) ease-in-out",
|
|
730
|
+
borderRadius: 4
|
|
731
|
+
}
|
|
732
|
+
};
|
|
707
733
|
AccordionContent.defaultProps = {
|
|
708
734
|
rows: 3,
|
|
709
735
|
columns: 12,
|
|
710
736
|
gap: 4,
|
|
711
|
-
rowSize: 48
|
|
712
|
-
css: {
|
|
713
|
-
"@desktop": {
|
|
714
|
-
width: "100%",
|
|
715
|
-
maxWidth: "var(--grid-size)",
|
|
716
|
-
display: "grid",
|
|
717
|
-
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
718
|
-
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
719
|
-
gap: "var(--gap)",
|
|
720
|
-
overflow: "hidden",
|
|
721
|
-
maxHeight: 0,
|
|
722
|
-
transition: "all var(--transition-duration, 0.3s) ease-in-out",
|
|
723
|
-
borderRadius: 4
|
|
724
|
-
}
|
|
725
|
-
}
|
|
737
|
+
rowSize: 48
|
|
726
738
|
};
|
|
727
739
|
var AccordionContent_default = AccordionContent;
|
|
728
740
|
|
|
729
741
|
// src/elements/tab/index.tsx
|
|
730
|
-
var
|
|
742
|
+
var import_react16 = __toESM(require("react"));
|
|
731
743
|
|
|
732
744
|
// src/elements/tab/TabHeaderWrapper.tsx
|
|
733
|
-
var
|
|
745
|
+
var import_react15 = __toESM(require("react"));
|
|
734
746
|
function TabHeader(props) {
|
|
735
747
|
const { wvId } = props;
|
|
736
|
-
const { active, setActive } = (0,
|
|
737
|
-
const { itemInstances } = (0,
|
|
748
|
+
const { active, setActive } = (0, import_react15.useContext)(TabContext);
|
|
749
|
+
const { itemInstances } = (0, import_react15.useContext)(WeaverseContext);
|
|
738
750
|
const instance = itemInstances.get(wvId);
|
|
739
|
-
let [data, setData] = (0,
|
|
740
|
-
(0,
|
|
751
|
+
let [data, setData] = (0, import_react15.useState)(instance.data);
|
|
752
|
+
(0, import_react15.useEffect)(() => {
|
|
741
753
|
let update = (data2) => setData({ ...data2 });
|
|
742
754
|
instance.subscribe(update);
|
|
743
755
|
}, []);
|
|
744
|
-
return /* @__PURE__ */
|
|
756
|
+
return /* @__PURE__ */ import_react15.default.createElement("div", {
|
|
745
757
|
onClick: () => setActive(wvId),
|
|
746
758
|
className: `wv-tab-header${active === wvId ? " active" : ""}`
|
|
747
759
|
}, data.name);
|
|
748
760
|
}
|
|
749
761
|
function TabHeaderWrapper(props) {
|
|
750
|
-
const { itemInstances } = (0,
|
|
762
|
+
const { itemInstances } = (0, import_react15.useContext)(WeaverseContext);
|
|
751
763
|
const instance = itemInstances.get(props.wvId);
|
|
752
764
|
const data = instance.data;
|
|
753
765
|
const childIds = data.childIds;
|
|
754
|
-
return /* @__PURE__ */
|
|
766
|
+
return /* @__PURE__ */ import_react15.default.createElement("div", {
|
|
755
767
|
className: "wv-tab-header-wrapper"
|
|
756
|
-
}, childIds.map((id) => /* @__PURE__ */
|
|
768
|
+
}, childIds.map((id) => /* @__PURE__ */ import_react15.default.createElement(TabHeader, {
|
|
757
769
|
key: id,
|
|
758
770
|
wvId: id
|
|
759
771
|
})));
|
|
760
772
|
}
|
|
761
773
|
|
|
762
774
|
// src/elements/tab/index.tsx
|
|
763
|
-
var TabContext = (0,
|
|
775
|
+
var TabContext = (0, import_react16.createContext)({
|
|
764
776
|
active: null,
|
|
765
777
|
setActive: () => {
|
|
766
778
|
}
|
|
767
779
|
});
|
|
768
|
-
var Tab = (0,
|
|
780
|
+
var Tab = (0, import_react16.forwardRef)((props, ref) => {
|
|
769
781
|
var _a, _b, _c;
|
|
770
782
|
const wvId = props["data-wv-id"];
|
|
771
783
|
const { fullWidthTabHeader, children, ...rest } = props;
|
|
772
|
-
const defaultActive = (_c = (_b = (_a =
|
|
773
|
-
const [active, setActive] = (0,
|
|
784
|
+
const defaultActive = (_c = (_b = (_a = import_react16.default.Children.toArray(children)) == null ? void 0 : _a[0]) == null ? void 0 : _b.props) == null ? void 0 : _c.id;
|
|
785
|
+
const [active, setActive] = (0, import_react16.useState)(defaultActive);
|
|
774
786
|
const setOpenTab = (id) => {
|
|
775
787
|
if (id !== active) {
|
|
776
788
|
setActive(id);
|
|
777
789
|
}
|
|
778
790
|
};
|
|
779
|
-
return /* @__PURE__ */
|
|
791
|
+
return /* @__PURE__ */ import_react16.default.createElement("div", {
|
|
780
792
|
ref,
|
|
781
793
|
...rest,
|
|
782
794
|
style: {
|
|
783
795
|
"--tab-width": fullWidthTabHeader ? "100%" : "auto"
|
|
784
796
|
}
|
|
785
|
-
}, /* @__PURE__ */
|
|
797
|
+
}, /* @__PURE__ */ import_react16.default.createElement(TabContext.Provider, {
|
|
786
798
|
value: { active, setActive: setOpenTab }
|
|
787
|
-
}, /* @__PURE__ */
|
|
799
|
+
}, /* @__PURE__ */ import_react16.default.createElement(TabHeaderWrapper, {
|
|
788
800
|
wvId
|
|
789
801
|
}), children));
|
|
790
802
|
});
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
"
|
|
803
|
+
var css12 = {
|
|
804
|
+
"@desktop": {
|
|
805
|
+
display: "flex",
|
|
806
|
+
flexDirection: "column",
|
|
807
|
+
gap: 4,
|
|
808
|
+
"& .wv-tab-header-wrapper": {
|
|
809
|
+
width: "100%",
|
|
795
810
|
display: "flex",
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
cursor: "pointer",
|
|
808
|
-
textAlign: "center",
|
|
809
|
-
width: "var(--tab-width, auto)",
|
|
810
|
-
"&.active": {
|
|
811
|
-
backgroundColor: "#E4E7EB"
|
|
812
|
-
}
|
|
811
|
+
marginBottom: 10
|
|
812
|
+
},
|
|
813
|
+
"& .wv-tab-header": {
|
|
814
|
+
backgroundColor: "#fff",
|
|
815
|
+
padding: "15px 24px",
|
|
816
|
+
border: "1px solid #E4E7EB",
|
|
817
|
+
cursor: "pointer",
|
|
818
|
+
textAlign: "center",
|
|
819
|
+
width: "var(--tab-width, auto)",
|
|
820
|
+
"&.active": {
|
|
821
|
+
backgroundColor: "#E4E7EB"
|
|
813
822
|
}
|
|
814
823
|
}
|
|
815
824
|
}
|
|
816
825
|
};
|
|
826
|
+
Tab.defaultProps = {
|
|
827
|
+
fullWidthTabHeader: false
|
|
828
|
+
};
|
|
817
829
|
var tab_default = Tab;
|
|
818
830
|
|
|
819
831
|
// src/elements/tab/TabContent.tsx
|
|
820
|
-
var
|
|
821
|
-
var TabContent = (0,
|
|
832
|
+
var import_react17 = __toESM(require("react"));
|
|
833
|
+
var TabContent = (0, import_react17.forwardRef)(
|
|
822
834
|
(props, ref) => {
|
|
823
|
-
const { active } = (0,
|
|
835
|
+
const { active } = (0, import_react17.useContext)(TabContext);
|
|
824
836
|
const wvId = props["data-wv-id"];
|
|
825
837
|
const { rows, columns, gap, rowSize, children, ...rest } = props;
|
|
826
838
|
let style = {
|
|
@@ -832,58 +844,58 @@ var TabContent = (0, import_react16.forwardRef)(
|
|
|
832
844
|
"--max-height": rows * rowSize + gap * (rowSize - 1) + "px",
|
|
833
845
|
"--content-active": active === wvId ? "grid" : "none"
|
|
834
846
|
};
|
|
835
|
-
return /* @__PURE__ */
|
|
847
|
+
return /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
836
848
|
ref,
|
|
837
849
|
...rest,
|
|
838
850
|
style
|
|
839
|
-
},
|
|
851
|
+
}, import_react17.default.Children.count(children) > 0 ? children : /* @__PURE__ */ import_react17.default.createElement(Placeholder_default, {
|
|
840
852
|
element: "Tab Content"
|
|
841
853
|
}, "Drag and drop an element here."));
|
|
842
854
|
}
|
|
843
855
|
);
|
|
856
|
+
var css13 = {
|
|
857
|
+
"@desktop": {
|
|
858
|
+
width: "100%",
|
|
859
|
+
maxWidth: "var(--grid-size)",
|
|
860
|
+
display: "var(--content-active, none)",
|
|
861
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
862
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
863
|
+
gap: "var(--gap)",
|
|
864
|
+
borderRadius: 4
|
|
865
|
+
}
|
|
866
|
+
};
|
|
844
867
|
TabContent.defaultProps = {
|
|
845
868
|
rows: 3,
|
|
846
869
|
columns: 12,
|
|
847
870
|
gap: 4,
|
|
848
871
|
rowSize: 48,
|
|
849
|
-
name: "Tab header"
|
|
850
|
-
css: {
|
|
851
|
-
"@desktop": {
|
|
852
|
-
width: "100%",
|
|
853
|
-
maxWidth: "var(--grid-size)",
|
|
854
|
-
display: "var(--content-active, none)",
|
|
855
|
-
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
856
|
-
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
857
|
-
gap: "var(--gap)",
|
|
858
|
-
borderRadius: 4
|
|
859
|
-
}
|
|
860
|
-
}
|
|
872
|
+
name: "Tab header"
|
|
861
873
|
};
|
|
862
874
|
var TabContent_default = TabContent;
|
|
863
875
|
|
|
864
876
|
// src/elements/slider/index.tsx
|
|
865
|
-
var
|
|
877
|
+
var import_react18 = __toESM(require("react"));
|
|
866
878
|
var import_carousel = require("nuka-carousel/lib/carousel");
|
|
867
|
-
var Slider = (0,
|
|
868
|
-
const { isDesignMode } = (0,
|
|
879
|
+
var Slider = (0, import_react18.forwardRef)((props, ref) => {
|
|
880
|
+
const { isDesignMode } = (0, import_react18.useContext)(WeaverseContext);
|
|
869
881
|
const { autoplay, delay, children, ...rest } = props;
|
|
870
|
-
return /* @__PURE__ */
|
|
882
|
+
return /* @__PURE__ */ import_react18.default.createElement("div", {
|
|
871
883
|
...rest,
|
|
872
884
|
ref
|
|
873
|
-
}, /* @__PURE__ */
|
|
885
|
+
}, /* @__PURE__ */ import_react18.default.createElement(import_carousel.Carousel, {
|
|
874
886
|
dragging: false,
|
|
875
|
-
renderCenterLeftControls: (props2) => /* @__PURE__ */
|
|
887
|
+
renderCenterLeftControls: (props2) => /* @__PURE__ */ import_react18.default.createElement("button", {
|
|
876
888
|
className: "wv-slider-btn",
|
|
877
889
|
onClick: props2.previousSlide,
|
|
878
890
|
disabled: (isDesignMode || !autoplay) && props2.currentSlide === 0
|
|
879
|
-
}, /* @__PURE__ */
|
|
891
|
+
}, /* @__PURE__ */ import_react18.default.createElement("i", {
|
|
880
892
|
className: "wv-slider-arrow wv-slider-arrow-left"
|
|
881
893
|
})),
|
|
882
|
-
renderCenterRightControls: (props2) => /* @__PURE__ */
|
|
894
|
+
renderCenterRightControls: (props2) => /* @__PURE__ */ import_react18.default.createElement("button", {
|
|
883
895
|
className: "wv-slider-btn",
|
|
884
896
|
onClick: props2.nextSlide,
|
|
885
897
|
disabled: (isDesignMode || !autoplay) && props2.slideCount === props2.currentSlide
|
|
886
|
-
}, /* @__PURE__ */
|
|
898
|
+
}, /* @__PURE__ */ import_react18.default.createElement("i", {
|
|
887
899
|
className: "wv-slider-arrow wv-slider-arrow-right"
|
|
888
900
|
})),
|
|
889
901
|
wrapAround: !isDesignMode,
|
|
@@ -891,50 +903,50 @@ var Slider = (0, import_react17.forwardRef)((props, ref) => {
|
|
|
891
903
|
autoplayInterval: delay * 1e3
|
|
892
904
|
}, children));
|
|
893
905
|
});
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
"
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
"
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
},
|
|
923
|
-
"& .wv-slider-arrow-left": {
|
|
924
|
-
transform: "rotate(135deg)",
|
|
925
|
-
marginLeft: 5
|
|
926
|
-
}
|
|
906
|
+
var css14 = {
|
|
907
|
+
"@desktop": {
|
|
908
|
+
"& .wv-slider-btn": {
|
|
909
|
+
borderRadius: "100%",
|
|
910
|
+
width: 40,
|
|
911
|
+
height: 40,
|
|
912
|
+
background: "#fff",
|
|
913
|
+
border: "none",
|
|
914
|
+
cursor: "pointer",
|
|
915
|
+
"&[disabled]": {
|
|
916
|
+
cursor: "not-allowed"
|
|
917
|
+
},
|
|
918
|
+
"&:hover .wv-slider-arrow": {
|
|
919
|
+
borderColor: "#999"
|
|
920
|
+
},
|
|
921
|
+
"& .wv-slider-arrow": {
|
|
922
|
+
border: "solid black",
|
|
923
|
+
borderWidth: "0 1px 1px 0",
|
|
924
|
+
display: "inline-block",
|
|
925
|
+
padding: 5
|
|
926
|
+
},
|
|
927
|
+
"& .wv-slider-arrow-right": {
|
|
928
|
+
transform: "rotate(-45deg)",
|
|
929
|
+
marginRight: 5
|
|
930
|
+
},
|
|
931
|
+
"& .wv-slider-arrow-left": {
|
|
932
|
+
transform: "rotate(135deg)",
|
|
933
|
+
marginLeft: 5
|
|
927
934
|
}
|
|
928
935
|
}
|
|
929
936
|
}
|
|
930
937
|
};
|
|
938
|
+
Slider.defaultProps = {
|
|
939
|
+
fullWidth: true,
|
|
940
|
+
autoplay: true,
|
|
941
|
+
delay: 3
|
|
942
|
+
};
|
|
931
943
|
var slider_default = Slider;
|
|
932
944
|
|
|
933
945
|
// src/elements/slider/SliderContent.tsx
|
|
934
|
-
var
|
|
935
|
-
var SliderContent = (0,
|
|
946
|
+
var import_react19 = __toESM(require("react"));
|
|
947
|
+
var SliderContent = (0, import_react19.forwardRef)(
|
|
936
948
|
(props, ref) => {
|
|
937
|
-
const { isDesignMode } = (0,
|
|
949
|
+
const { isDesignMode } = (0, import_react19.useContext)(WeaverseContext);
|
|
938
950
|
const {
|
|
939
951
|
mediaUrl,
|
|
940
952
|
targetLink,
|
|
@@ -960,15 +972,27 @@ var SliderContent = (0, import_react18.forwardRef)(
|
|
|
960
972
|
window.open(targetLink, openInNewTab ? "_blank" : "_self");
|
|
961
973
|
}
|
|
962
974
|
};
|
|
963
|
-
return /* @__PURE__ */
|
|
975
|
+
return /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
964
976
|
...rest,
|
|
965
977
|
style,
|
|
966
978
|
onClick: handleClick
|
|
967
|
-
},
|
|
979
|
+
}, import_react19.default.Children.count(children) > 0 ? children : /* @__PURE__ */ import_react19.default.createElement(Placeholder_default, {
|
|
968
980
|
element: "Slider Content"
|
|
969
981
|
}, "Drag and drop an element here."));
|
|
970
982
|
}
|
|
971
983
|
);
|
|
984
|
+
var css15 = {
|
|
985
|
+
"@desktop": {
|
|
986
|
+
width: "100%",
|
|
987
|
+
maxWidth: "var(--grid-size)",
|
|
988
|
+
display: "grid",
|
|
989
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
990
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
991
|
+
gap: "var(--gap)",
|
|
992
|
+
borderRadius: 4,
|
|
993
|
+
backgroundImage: "var(--background-url, none)"
|
|
994
|
+
}
|
|
995
|
+
};
|
|
972
996
|
SliderContent.defaultProps = {
|
|
973
997
|
name: "Slider",
|
|
974
998
|
mediaUrl: "",
|
|
@@ -977,64 +1001,19 @@ SliderContent.defaultProps = {
|
|
|
977
1001
|
rows: 4,
|
|
978
1002
|
columns: 12,
|
|
979
1003
|
gap: 4,
|
|
980
|
-
rowSize: 48
|
|
981
|
-
css: {
|
|
982
|
-
"@desktop": {
|
|
983
|
-
width: "100%",
|
|
984
|
-
maxWidth: "var(--grid-size)",
|
|
985
|
-
display: "grid",
|
|
986
|
-
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
987
|
-
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
988
|
-
gap: "var(--gap)",
|
|
989
|
-
borderRadius: 4,
|
|
990
|
-
backgroundImage: "var(--background-url, none)"
|
|
991
|
-
}
|
|
992
|
-
}
|
|
1004
|
+
rowSize: 48
|
|
993
1005
|
};
|
|
994
1006
|
var SliderContent_default = SliderContent;
|
|
995
1007
|
|
|
996
|
-
// src/elements/custom-html.tsx
|
|
997
|
-
var import_react19 = __toESM(require("react"));
|
|
998
|
-
var CustomHTML = (0, import_react19.forwardRef)(
|
|
999
|
-
(props, ref) => {
|
|
1000
|
-
const { content, children, ...rest } = props;
|
|
1001
|
-
const { isDesignMode } = (0, import_react19.useContext)(WeaverseContext);
|
|
1002
|
-
const style = {
|
|
1003
|
-
"--pointer-events": isDesignMode ? "none" : "auto"
|
|
1004
|
-
};
|
|
1005
|
-
if (!content)
|
|
1006
|
-
return /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
1007
|
-
ref,
|
|
1008
|
-
...rest
|
|
1009
|
-
}, /* @__PURE__ */ import_react19.default.createElement(Placeholder_default, {
|
|
1010
|
-
element: "Custom HTML"
|
|
1011
|
-
}, "Add your custom HTML code."));
|
|
1012
|
-
return /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
1013
|
-
ref,
|
|
1014
|
-
...rest,
|
|
1015
|
-
style,
|
|
1016
|
-
dangerouslySetInnerHTML: { __html: content }
|
|
1017
|
-
});
|
|
1018
|
-
}
|
|
1019
|
-
);
|
|
1020
|
-
CustomHTML.defaultProps = {
|
|
1021
|
-
content: "",
|
|
1022
|
-
type: "custom.html",
|
|
1023
|
-
css: {
|
|
1024
|
-
"@desktop": {
|
|
1025
|
-
"& > *": {
|
|
1026
|
-
pointerEvents: "var(--pointer-events, unset)"
|
|
1027
|
-
}
|
|
1028
|
-
}
|
|
1029
|
-
}
|
|
1030
|
-
};
|
|
1031
|
-
var custom_html_default = CustomHTML;
|
|
1032
|
-
|
|
1033
1008
|
// src/elements/index.ts
|
|
1009
|
+
var SharedComponents = {
|
|
1010
|
+
Placeholder: Placeholder_default
|
|
1011
|
+
};
|
|
1034
1012
|
var Elements = {
|
|
1035
1013
|
Countdown: {
|
|
1036
1014
|
Component: countdown_default,
|
|
1037
|
-
type: "countdown"
|
|
1015
|
+
type: "countdown",
|
|
1016
|
+
defaultCss: css2
|
|
1038
1017
|
},
|
|
1039
1018
|
Button: {
|
|
1040
1019
|
Component: button_default,
|
|
@@ -1042,100 +1021,110 @@ var Elements = {
|
|
|
1042
1021
|
},
|
|
1043
1022
|
Container: {
|
|
1044
1023
|
Component: container_default,
|
|
1045
|
-
type: "container"
|
|
1024
|
+
type: "container",
|
|
1025
|
+
defaultCss: css
|
|
1046
1026
|
},
|
|
1047
1027
|
Image: {
|
|
1048
1028
|
Component: image_default,
|
|
1049
|
-
type: "image"
|
|
1029
|
+
type: "image",
|
|
1030
|
+
defaultCss: css3
|
|
1050
1031
|
},
|
|
1051
1032
|
Instagram: {
|
|
1052
1033
|
Component: instagram_default,
|
|
1053
|
-
type: "instagram"
|
|
1034
|
+
type: "instagram",
|
|
1035
|
+
defaultCss: css8
|
|
1054
1036
|
},
|
|
1055
1037
|
Layout: {
|
|
1056
1038
|
Component: layout_default,
|
|
1057
|
-
type: "layout"
|
|
1039
|
+
type: "layout",
|
|
1040
|
+
defaultCss: css4
|
|
1058
1041
|
},
|
|
1059
1042
|
Map: {
|
|
1060
1043
|
Component: map_default,
|
|
1061
|
-
type: "map"
|
|
1044
|
+
type: "map",
|
|
1045
|
+
defaultCss: css5
|
|
1062
1046
|
},
|
|
1063
1047
|
Text: {
|
|
1064
1048
|
Component: text_default,
|
|
1065
|
-
type: "text"
|
|
1049
|
+
type: "text",
|
|
1050
|
+
defaultCss: css6
|
|
1066
1051
|
},
|
|
1067
1052
|
Video: {
|
|
1068
1053
|
Component: video_default,
|
|
1069
|
-
type: "video"
|
|
1054
|
+
type: "video",
|
|
1055
|
+
defaultCss: css7
|
|
1070
1056
|
},
|
|
1071
1057
|
Accordion: {
|
|
1072
1058
|
Component: accordion_default,
|
|
1073
|
-
type: "accordion"
|
|
1059
|
+
type: "accordion",
|
|
1060
|
+
defaultCss: css9
|
|
1074
1061
|
},
|
|
1075
1062
|
AccordionWrapper: {
|
|
1076
1063
|
Component: AccordionWrapper_default,
|
|
1077
|
-
type: "accordion.wrapper"
|
|
1064
|
+
type: "accordion.wrapper",
|
|
1065
|
+
defaultCss: css10
|
|
1078
1066
|
},
|
|
1079
1067
|
AccordionContent: {
|
|
1080
1068
|
Component: AccordionContent_default,
|
|
1081
|
-
type: "accordion.content"
|
|
1069
|
+
type: "accordion.content",
|
|
1070
|
+
defaultCss: css11
|
|
1082
1071
|
},
|
|
1083
1072
|
Tab: {
|
|
1084
1073
|
Component: tab_default,
|
|
1085
|
-
type: "tab"
|
|
1074
|
+
type: "tab",
|
|
1075
|
+
defaultCss: css12
|
|
1086
1076
|
},
|
|
1087
1077
|
TabContent: {
|
|
1088
1078
|
Component: TabContent_default,
|
|
1089
|
-
type: "tab.content"
|
|
1079
|
+
type: "tab.content",
|
|
1080
|
+
defaultCss: css13
|
|
1090
1081
|
},
|
|
1091
1082
|
Slider: {
|
|
1092
1083
|
Component: slider_default,
|
|
1093
|
-
type: "slider"
|
|
1084
|
+
type: "slider",
|
|
1085
|
+
defaultCss: css14
|
|
1094
1086
|
},
|
|
1095
1087
|
SliderContent: {
|
|
1096
1088
|
Component: SliderContent_default,
|
|
1097
|
-
type: "slider.content"
|
|
1098
|
-
|
|
1099
|
-
CustomHTML: {
|
|
1100
|
-
Component: custom_html_default,
|
|
1101
|
-
type: "custom.html"
|
|
1089
|
+
type: "slider.content",
|
|
1090
|
+
defaultCss: css15
|
|
1102
1091
|
}
|
|
1103
1092
|
};
|
|
1104
1093
|
|
|
1105
|
-
// src/context.ts
|
|
1106
|
-
var createRootContext = (configs) => {
|
|
1107
|
-
let rootContext = new import_core.Weaverse(configs);
|
|
1108
|
-
Object.keys(Elements).forEach((key) => {
|
|
1109
|
-
rootContext.registerElement(Elements[key]);
|
|
1110
|
-
});
|
|
1111
|
-
return rootContext;
|
|
1112
|
-
};
|
|
1113
|
-
var WeaverseContext = (0, import_react20.createContext)({});
|
|
1114
|
-
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
1115
|
-
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
1116
|
-
|
|
1117
1094
|
// src/renderer.tsx
|
|
1118
1095
|
var import_core2 = require("@weaverse/core");
|
|
1119
|
-
var
|
|
1096
|
+
var import_react20 = __toESM(require("react"));
|
|
1120
1097
|
|
|
1121
1098
|
// src/utils/index.ts
|
|
1122
|
-
function shortCssObject(
|
|
1099
|
+
function shortCssObject(css16) {
|
|
1123
1100
|
return {
|
|
1124
|
-
"@desktop":
|
|
1125
|
-
"@mobile":
|
|
1101
|
+
"@desktop": css16["@desktop"],
|
|
1102
|
+
"@mobile": css16["@mobile"]
|
|
1126
1103
|
};
|
|
1127
1104
|
}
|
|
1105
|
+
var permanentClasses = {};
|
|
1128
1106
|
function generateItemClass(instance, stitchesInstance) {
|
|
1129
|
-
var _a, _b
|
|
1130
|
-
let { css, className: cls = "" } = instance.data;
|
|
1131
|
-
let defaultCss = ((_c = (_b = (_a = instance.Element) == null ? void 0 : _a.Component) == null ? void 0 : _b.defaultProps) == null ? void 0 : _c.css) || {};
|
|
1107
|
+
var _a, _b;
|
|
1108
|
+
let { css: css16, type, className: cls = "" } = instance.data;
|
|
1132
1109
|
let className = "";
|
|
1133
|
-
|
|
1134
|
-
|
|
1110
|
+
let permanentClass = "";
|
|
1111
|
+
let perCss = (_a = instance.Element) == null ? void 0 : _a.permanentCss;
|
|
1112
|
+
if (perCss) {
|
|
1113
|
+
if (type in permanentClasses) {
|
|
1114
|
+
permanentClass = permanentClasses[type];
|
|
1115
|
+
} else {
|
|
1116
|
+
let { className: perCls } = stitchesInstance.css(perCss)();
|
|
1117
|
+
Object.assign(permanentClasses, { [type]: perCls });
|
|
1118
|
+
permanentClass = perCls;
|
|
1119
|
+
}
|
|
1120
|
+
}
|
|
1121
|
+
className = permanentClass;
|
|
1122
|
+
if (css16) {
|
|
1123
|
+
let formattedCss = shortCssObject(css16);
|
|
1135
1124
|
let { className: newClass = "" } = stitchesInstance.css(formattedCss)();
|
|
1136
1125
|
let { stitchesClass } = instance;
|
|
1137
|
-
let otherClass = (((
|
|
1138
|
-
className = `${cls} ${newClass} ${otherClass}`.trim();
|
|
1126
|
+
let otherClass = (((_b = instance.ref.current) == null ? void 0 : _b.className) || "").replace(stitchesClass, "").replace(cls, "").replace(permanentClass, "").trim();
|
|
1127
|
+
className = `${permanentClass} ${cls} ${newClass} ${otherClass}`.trim();
|
|
1139
1128
|
instance.stitchesClass = newClass;
|
|
1140
1129
|
}
|
|
1141
1130
|
return className;
|
|
@@ -1144,10 +1133,10 @@ function generateItemClass(instance, stitchesInstance) {
|
|
|
1144
1133
|
// src/renderer.tsx
|
|
1145
1134
|
var WeaverseRoot = ({ context }) => {
|
|
1146
1135
|
var _a, _b;
|
|
1147
|
-
let [, setData] = (0,
|
|
1148
|
-
let rootRef = (0,
|
|
1136
|
+
let [, setData] = (0, import_react20.useState)(context.projectData);
|
|
1137
|
+
let rootRef = (0, import_react20.useRef)();
|
|
1149
1138
|
let update = () => setData({});
|
|
1150
|
-
(0,
|
|
1139
|
+
(0, import_react20.useEffect)(() => {
|
|
1151
1140
|
context.subscribe(update);
|
|
1152
1141
|
context.contentRootElement = rootRef.current;
|
|
1153
1142
|
return () => {
|
|
@@ -1156,22 +1145,21 @@ var WeaverseRoot = ({ context }) => {
|
|
|
1156
1145
|
}, []);
|
|
1157
1146
|
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
1158
1147
|
let themeClass = context.stitchesInstance.theme.className;
|
|
1159
|
-
return ((_b = context.projectData) == null ? void 0 : _b.rootId) ? /* @__PURE__ */
|
|
1148
|
+
return ((_b = context.projectData) == null ? void 0 : _b.rootId) ? /* @__PURE__ */ import_react20.default.createElement("div", {
|
|
1160
1149
|
className: `weaverse-content-root ${themeClass}`,
|
|
1161
1150
|
...eventHandlers,
|
|
1162
1151
|
ref: rootRef
|
|
1163
|
-
}, /* @__PURE__ */
|
|
1152
|
+
}, /* @__PURE__ */ import_react20.default.createElement(WeaverseContextProvider, {
|
|
1164
1153
|
value: context
|
|
1165
|
-
}, /* @__PURE__ */
|
|
1154
|
+
}, /* @__PURE__ */ import_react20.default.createElement(ItemInstance, {
|
|
1166
1155
|
id: context.projectData.rootId
|
|
1167
1156
|
}))) : null;
|
|
1168
1157
|
};
|
|
1169
1158
|
var ItemComponent = ({ instance }) => {
|
|
1170
|
-
let { stitchesInstance, elementInstances } = (0,
|
|
1171
|
-
let [data, setData] = (0,
|
|
1172
|
-
let { id, type, childIds = [], css, className, ...rest } = data;
|
|
1173
|
-
(0,
|
|
1174
|
-
var _a;
|
|
1159
|
+
let { stitchesInstance, elementInstances } = (0, import_react20.useContext)(WeaverseContext);
|
|
1160
|
+
let [data, setData] = (0, import_react20.useState)(instance.data);
|
|
1161
|
+
let { id, type, childIds = [], css: css16, className, ...rest } = data;
|
|
1162
|
+
(0, import_react20.useEffect)(() => {
|
|
1175
1163
|
let update = (data2) => setData({ ...data2 });
|
|
1176
1164
|
instance.subscribe(update);
|
|
1177
1165
|
if (import_core2.isBrowser && !instance.ref.current) {
|
|
@@ -1179,10 +1167,7 @@ var ItemComponent = ({ instance }) => {
|
|
|
1179
1167
|
current: document.querySelector(`[data-wv-id="${id}"]`)
|
|
1180
1168
|
});
|
|
1181
1169
|
}
|
|
1182
|
-
(
|
|
1183
|
-
return () => {
|
|
1184
|
-
instance.unsubscribe(update);
|
|
1185
|
-
};
|
|
1170
|
+
return () => instance.unsubscribe(update);
|
|
1186
1171
|
}, []);
|
|
1187
1172
|
let Element = elementInstances.get(type);
|
|
1188
1173
|
if (Element == null ? void 0 : Element.Component) {
|
|
@@ -1190,13 +1175,13 @@ var ItemComponent = ({ instance }) => {
|
|
|
1190
1175
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
1191
1176
|
rest.ref = instance.ref;
|
|
1192
1177
|
}
|
|
1193
|
-
return /* @__PURE__ */
|
|
1178
|
+
return /* @__PURE__ */ import_react20.default.createElement(Component, {
|
|
1194
1179
|
key: id,
|
|
1195
1180
|
"data-wv-type": type,
|
|
1196
1181
|
"data-wv-id": id,
|
|
1197
1182
|
className: generateItemClass(instance, stitchesInstance),
|
|
1198
1183
|
...rest
|
|
1199
|
-
}, childIds.map((id2) => /* @__PURE__ */
|
|
1184
|
+
}, childIds.map((id2) => /* @__PURE__ */ import_react20.default.createElement(ItemInstance, {
|
|
1200
1185
|
key: id2,
|
|
1201
1186
|
id: id2
|
|
1202
1187
|
})));
|
|
@@ -1204,15 +1189,15 @@ var ItemComponent = ({ instance }) => {
|
|
|
1204
1189
|
return null;
|
|
1205
1190
|
};
|
|
1206
1191
|
var ItemInstance = ({ id }) => {
|
|
1207
|
-
let context = (0,
|
|
1192
|
+
let context = (0, import_react20.useContext)(WeaverseContext);
|
|
1208
1193
|
let { itemInstances } = context;
|
|
1209
1194
|
let instance = itemInstances.get(id);
|
|
1210
1195
|
if (!instance) {
|
|
1211
|
-
return /* @__PURE__ */
|
|
1196
|
+
return /* @__PURE__ */ import_react20.default.createElement("div", {
|
|
1212
1197
|
style: { display: "none" }
|
|
1213
1198
|
}, "Item instance ", id, " not found");
|
|
1214
1199
|
}
|
|
1215
|
-
return /* @__PURE__ */
|
|
1200
|
+
return /* @__PURE__ */ import_react20.default.createElement(ItemComponent, {
|
|
1216
1201
|
instance
|
|
1217
1202
|
});
|
|
1218
1203
|
};
|
|
@@ -1221,6 +1206,8 @@ var ItemInstance = ({ id }) => {
|
|
|
1221
1206
|
__reExport(src_exports, require("@weaverse/core"), module.exports);
|
|
1222
1207
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1223
1208
|
0 && (module.exports = {
|
|
1209
|
+
Elements,
|
|
1210
|
+
SharedComponents,
|
|
1224
1211
|
WeaverseContext,
|
|
1225
1212
|
WeaverseContextConsumer,
|
|
1226
1213
|
WeaverseContextProvider,
|