@weaverse/react 0.7.9 → 0.7.10

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 CHANGED
@@ -1,8 +1,13 @@
1
1
  import * as react from 'react';
2
2
  import { ReactElement, ReactNode, CSSProperties } from 'react';
3
- import { WeaverseType, Weaverse, ElementCSS, WeaverseItemStore } from '@weaverse/core';
3
+ import { ElementsMap, WeaverseType, Weaverse, ElementCSS, WeaverseItemStore } from '@weaverse/core';
4
4
  export * from '@weaverse/core';
5
5
 
6
+ declare const SharedComponents: {
7
+ Placeholder: react.ForwardRefExoticComponent<PlaceholderProps & react.RefAttributes<HTMLDivElement>>;
8
+ };
9
+ declare const Elements: ElementsMap;
10
+
6
11
  declare let createRootContext: (configs: WeaverseType) => Weaverse;
7
12
  declare let WeaverseContext: react.Context<Weaverse>;
8
13
  declare let WeaverseContextProvider: react.Provider<Weaverse>;
@@ -102,4 +107,4 @@ declare type InstagramMedia = {
102
107
 
103
108
  declare let WeaverseRoot: ({ context }: WeaverseRootPropsType) => JSX.Element | null;
104
109
 
105
- export { ButtonElementProps, ContainerElementProps, CountdownElementProps, CountdownTimeKey, CountdownTimerType, GridContentElementProps, ImageElementProps, InstagramElementProps, InstagramMedia, ItemComponentProps, LayoutElementProps, MapElementProps, PlaceholderProps, TextElementProps, TimerBlockProps, VideoElementProps, WeaverseContext, WeaverseContextConsumer, WeaverseContextProvider, WeaverseElementProps, WeaverseRoot, WeaverseRootPropsType, createRootContext };
110
+ export { ButtonElementProps, ContainerElementProps, CountdownElementProps, CountdownTimeKey, CountdownTimerType, Elements, GridContentElementProps, ImageElementProps, InstagramElementProps, InstagramMedia, ItemComponentProps, LayoutElementProps, MapElementProps, PlaceholderProps, SharedComponents, TextElementProps, TimerBlockProps, VideoElementProps, WeaverseContext, WeaverseContextConsumer, WeaverseContextProvider, WeaverseElementProps, WeaverseRoot, WeaverseRootPropsType, createRootContext };
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) => {
@@ -106,14 +104,28 @@ Container.defaultProps = {
106
104
  var container_default = Container;
107
105
 
108
106
  // src/elements/countdown/index.tsx
109
- var import_react3 = __toESM(require("react"));
107
+ var import_react4 = __toESM(require("react"));
108
+
109
+ // src/context.ts
110
+ var import_core = require("@weaverse/core");
111
+ var import_react2 = require("react");
112
+ var createRootContext = (configs) => {
113
+ let rootContext = new import_core.Weaverse(configs);
114
+ Object.keys(Elements).forEach((key) => {
115
+ rootContext.registerElement(Elements[key]);
116
+ });
117
+ return rootContext;
118
+ };
119
+ var WeaverseContext = (0, import_react2.createContext)({});
120
+ var WeaverseContextProvider = WeaverseContext.Provider;
121
+ var WeaverseContextConsumer = WeaverseContext.Consumer;
110
122
 
111
123
  // src/elements/countdown/timer-block.tsx
112
- var import_react2 = __toESM(require("react"));
124
+ var import_react3 = __toESM(require("react"));
113
125
  function TimerBlock({ value, label }) {
114
- return /* @__PURE__ */ import_react2.default.createElement("div", null, /* @__PURE__ */ import_react2.default.createElement("div", {
126
+ return /* @__PURE__ */ import_react3.default.createElement("div", null, /* @__PURE__ */ import_react3.default.createElement("div", {
115
127
  className: "wv-countdown-number"
116
- }, value.toString().padStart(2, "0")), label && /* @__PURE__ */ import_react2.default.createElement("div", {
128
+ }, value.toString().padStart(2, "0")), label && /* @__PURE__ */ import_react3.default.createElement("div", {
117
129
  className: "wv-countdown-label"
118
130
  }, label));
119
131
  }
@@ -136,9 +148,9 @@ function getTime(_seconds) {
136
148
  }
137
149
 
138
150
  // src/elements/countdown/index.tsx
139
- var Countdown = (0, import_react3.forwardRef)(
151
+ var Countdown = (0, import_react4.forwardRef)(
140
152
  (props, ref) => {
141
- const { isDesignMode } = (0, import_react3.useContext)(WeaverseContext);
153
+ const { isDesignMode } = (0, import_react4.useContext)(WeaverseContext);
142
154
  let {
143
155
  timerType,
144
156
  startTime,
@@ -150,11 +162,11 @@ var Countdown = (0, import_react3.forwardRef)(
150
162
  showLabel,
151
163
  ...rest
152
164
  } = props;
153
- const [remaining, setRemaining] = import_react3.default.useState(0);
165
+ const [remaining, setRemaining] = import_react4.default.useState(0);
154
166
  if (typeof endTime !== "number") {
155
167
  endTime = Number.parseInt(endTime);
156
168
  }
157
- (0, import_react3.useEffect)(() => {
169
+ (0, import_react4.useEffect)(() => {
158
170
  const flag = setInterval(() => {
159
171
  const remainingTime = Math.max(
160
172
  (timerType === "fixed-time" ? new Date(endTime).getTime() : new Date(startTime).getTime() + periods * 60 * 1e3) - Date.now(),
@@ -170,16 +182,16 @@ var Countdown = (0, import_react3.forwardRef)(
170
182
  };
171
183
  }, [startTime, endTime, periods, timerType]);
172
184
  const timer = getTime(remaining);
173
- return /* @__PURE__ */ import_react3.default.createElement("div", {
185
+ return /* @__PURE__ */ import_react4.default.createElement("div", {
174
186
  ref,
175
187
  ...rest
176
188
  }, times.map((time) => {
177
- return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, {
189
+ return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, {
178
190
  key: time
179
- }, /* @__PURE__ */ import_react3.default.createElement(TimerBlock, {
191
+ }, /* @__PURE__ */ import_react4.default.createElement(TimerBlock, {
180
192
  label: showLabel ? time : "",
181
193
  value: timer[time]
182
- }), time !== "seconds" && /* @__PURE__ */ import_react3.default.createElement("span", {
194
+ }), time !== "seconds" && /* @__PURE__ */ import_react4.default.createElement("span", {
183
195
  className: `wv-countdown-number ${showColon ? "" : "hidden"}`
184
196
  }, ":"));
185
197
  }));
@@ -221,10 +233,10 @@ Countdown.defaultProps = {
221
233
  var countdown_default = Countdown;
222
234
 
223
235
  // src/elements/image.tsx
224
- var import_react4 = __toESM(require("react"));
225
- var Image = import_react4.default.forwardRef(
236
+ var import_react5 = __toESM(require("react"));
237
+ var Image = import_react5.default.forwardRef(
226
238
  (props, ref) => {
227
- let { isDesignMode } = (0, import_react4.useContext)(WeaverseContext);
239
+ let { isDesignMode } = (0, import_react5.useContext)(WeaverseContext);
228
240
  let {
229
241
  src,
230
242
  alt,
@@ -246,12 +258,12 @@ var Image = import_react4.default.forwardRef(
246
258
  console.log("TODO: click action:", onClickAction);
247
259
  }
248
260
  };
249
- return /* @__PURE__ */ import_react4.default.createElement("div", {
261
+ return /* @__PURE__ */ import_react5.default.createElement("div", {
250
262
  ref,
251
263
  ...rest,
252
264
  style,
253
265
  onClick: handleClick
254
- }, /* @__PURE__ */ import_react4.default.createElement("img", {
266
+ }, /* @__PURE__ */ import_react5.default.createElement("img", {
255
267
  alt,
256
268
  src
257
269
  }));
@@ -278,8 +290,8 @@ Image.defaultProps = {
278
290
  var image_default = Image;
279
291
 
280
292
  // src/elements/layout.tsx
281
- var import_react5 = __toESM(require("react"));
282
- var Layout = (0, import_react5.forwardRef)((props, ref) => {
293
+ var import_react6 = __toESM(require("react"));
294
+ var Layout = (0, import_react6.forwardRef)((props, ref) => {
283
295
  let { children, rows, gap, rowSize, columns, gridSize, ...rest } = props;
284
296
  let style = {
285
297
  "--grid-size": gridSize + "px",
@@ -289,11 +301,11 @@ var Layout = (0, import_react5.forwardRef)((props, ref) => {
289
301
  "--row-size": rowSize + "px",
290
302
  "--col-size": "calc((var(--grid-size) - calc(var(--columns) - 1) * var(--gap)) / var(--columns))"
291
303
  };
292
- return /* @__PURE__ */ import_react5.default.createElement("section", {
304
+ return /* @__PURE__ */ import_react6.default.createElement("section", {
293
305
  ref,
294
306
  ...rest,
295
307
  style
296
- }, /* @__PURE__ */ import_react5.default.createElement("div", {
308
+ }, /* @__PURE__ */ import_react6.default.createElement("div", {
297
309
  "data-layout-content": true
298
310
  }, children));
299
311
  });
@@ -330,13 +342,13 @@ Layout.defaultProps = {
330
342
  var layout_default = Layout;
331
343
 
332
344
  // src/elements/map.tsx
333
- var import_react6 = __toESM(require("react"));
334
- var Map = (0, import_react6.forwardRef)((props, ref) => {
345
+ var import_react7 = __toESM(require("react"));
346
+ var Map = (0, import_react7.forwardRef)((props, ref) => {
335
347
  let { place, zoom, ...rest } = props;
336
- return /* @__PURE__ */ import_react6.default.createElement("div", {
348
+ return /* @__PURE__ */ import_react7.default.createElement("div", {
337
349
  ref,
338
350
  ...rest
339
- }, /* @__PURE__ */ import_react6.default.createElement("iframe", {
351
+ }, /* @__PURE__ */ import_react7.default.createElement("iframe", {
340
352
  loading: "lazy",
341
353
  scrolling: "no",
342
354
  width: "100%",
@@ -378,21 +390,21 @@ Text.defaultProps = {
378
390
  var text_default = Text;
379
391
 
380
392
  // src/elements/video.tsx
381
- var import_react7 = __toESM(require("react"));
382
- var Video = (0, import_react7.forwardRef)((props, ref) => {
383
- let { isDesignMode } = (0, import_react7.useContext)(WeaverseContext);
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__ */ import_react7.default.createElement("div", {
397
+ return /* @__PURE__ */ import_react8.default.createElement("div", {
386
398
  ref,
387
399
  ...rest
388
- }, /* @__PURE__ */ import_react7.default.createElement("video", {
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__ */ import_react7.default.createElement("source", {
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."));
@@ -418,33 +430,33 @@ Video.defaultProps = {
418
430
  var video_default = Video;
419
431
 
420
432
  // src/elements/instagram.tsx
421
- var import_react9 = __toESM(require("react"));
433
+ var import_react10 = __toESM(require("react"));
422
434
 
423
435
  // src/elements/shared/Placeholder.tsx
424
- var import_react8 = __toESM(require("react"));
425
- var Placeholder = (0, import_react8.forwardRef)(
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__ */ import_react8.default.createElement("div", {
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__ */ import_react8.default.createElement("div", {
445
+ }, /* @__PURE__ */ import_react9.default.createElement("div", {
434
446
  style: { fontWeight: 600, marginBottom: "10px" }
435
- }, element), /* @__PURE__ */ import_react8.default.createElement("div", null, children));
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, import_react9.forwardRef)(
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, import_react9.useState)([]);
446
- let [error, setError] = (0, import_react9.useState)(null);
447
- (0, import_react9.useEffect)(() => {
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__ */ import_react9.default.createElement("div", {
476
+ return /* @__PURE__ */ import_react10.default.createElement("div", {
465
477
  ref,
466
478
  ...rest
467
- }, /* @__PURE__ */ import_react9.default.createElement(Placeholder_default, {
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,20 +484,20 @@ 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__ */ import_react9.default.createElement("div", {
487
+ return /* @__PURE__ */ import_react10.default.createElement("div", {
476
488
  ref,
477
489
  ...rest,
478
490
  style
479
- }, /* @__PURE__ */ import_react9.default.createElement("div", {
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__ */ import_react9.default.createElement("a", {
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__ */ import_react9.default.createElement("img", {
500
+ }, /* @__PURE__ */ import_react10.default.createElement("img", {
489
501
  alt: caption,
490
502
  src: media_url
491
503
  }));
@@ -520,17 +532,17 @@ Instagram.defaultProps = {
520
532
  var instagram_default = Instagram;
521
533
 
522
534
  // src/elements/accordion/index.tsx
523
- var import_react10 = __toESM(require("react"));
524
- var AccordionContext = (0, import_react10.createContext)({
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, import_react10.forwardRef)(
542
+ var Accordion = (0, import_react11.forwardRef)(
531
543
  (props, ref) => {
532
544
  const { iconName, children, ...rest } = props;
533
- const [active, setActive] = (0, import_react10.useState)([]);
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,10 +550,10 @@ var Accordion = (0, import_react10.forwardRef)(
538
550
  setActive([...active, id]);
539
551
  }
540
552
  };
541
- return /* @__PURE__ */ import_react10.default.createElement("div", {
553
+ return /* @__PURE__ */ import_react11.default.createElement("div", {
542
554
  ref,
543
555
  ...rest
544
- }, /* @__PURE__ */ import_react10.default.createElement(AccordionContext.Provider, {
556
+ }, /* @__PURE__ */ import_react11.default.createElement(AccordionContext.Provider, {
545
557
  value: { active, setActive: setOpenAccordion, iconName }
546
558
  }, children));
547
559
  }
@@ -559,10 +571,10 @@ Accordion.defaultProps = {
559
571
  var accordion_default = Accordion;
560
572
 
561
573
  // src/elements/accordion/AccordionWrapper.tsx
562
- var import_react12 = __toESM(require("react"));
574
+ var import_react13 = __toESM(require("react"));
563
575
 
564
576
  // src/elements/accordion/Icon.tsx
565
- var import_react11 = __toESM(require("react"));
577
+ var import_react12 = __toESM(require("react"));
566
578
  var ICONS = {
567
579
  caret: {
568
580
  animationType: "rotate90",
@@ -619,7 +631,7 @@ var rotateAnimation = {
619
631
  };
620
632
  function Icon(props) {
621
633
  let { name, active = false, style, ...rest } = props;
622
- let { stitchesInstance } = (0, import_react11.useContext)(WeaverseContext);
634
+ let { stitchesInstance } = (0, import_react12.useContext)(WeaverseContext);
623
635
  const { animationType, css } = ICONS[name];
624
636
  if (active && animationType === "rotate90") {
625
637
  style = { ...rotateAnimation, ...style };
@@ -627,27 +639,27 @@ function Icon(props) {
627
639
  let { className } = stitchesInstance.css(css)();
628
640
  if (active)
629
641
  className += " active";
630
- return /* @__PURE__ */ import_react11.default.createElement("span", {
642
+ return /* @__PURE__ */ import_react12.default.createElement("span", {
631
643
  style,
632
644
  ...rest
633
- }, /* @__PURE__ */ import_react11.default.createElement("i", {
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, import_react12.forwardRef)((props, ref) => {
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, import_react12.useContext)(AccordionContext);
654
+ const { iconName, active, setActive } = (0, import_react13.useContext)(AccordionContext);
643
655
  const isActive = active.includes(wvId);
644
- return /* @__PURE__ */ import_react12.default.createElement("div", {
656
+ return /* @__PURE__ */ import_react13.default.createElement("div", {
645
657
  ref,
646
658
  ...rest
647
- }, /* @__PURE__ */ import_react12.default.createElement("div", {
659
+ }, /* @__PURE__ */ import_react13.default.createElement("div", {
648
660
  onClick: () => setActive(wvId),
649
661
  className: `wv-acc-header ${isActive ? "active" : ""}`
650
- }, /* @__PURE__ */ import_react12.default.createElement("span", null, name), /* @__PURE__ */ import_react12.default.createElement(Icon_default, {
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
@@ -683,8 +695,8 @@ AccordionWrapper.defaultProps = {
683
695
  var AccordionWrapper_default = AccordionWrapper;
684
696
 
685
697
  // src/elements/accordion/AccordionContent.tsx
686
- var import_react13 = __toESM(require("react"));
687
- var AccordionContent = (0, import_react13.forwardRef)(
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,11 +707,11 @@ 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__ */ import_react13.default.createElement("div", {
710
+ return /* @__PURE__ */ import_react14.default.createElement("div", {
699
711
  ref,
700
712
  ...rest,
701
713
  style
702
- }, import_react13.default.Children.count(children) > 0 ? children : /* @__PURE__ */ import_react13.default.createElement(Placeholder_default, {
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
  }
@@ -727,64 +739,64 @@ AccordionContent.defaultProps = {
727
739
  var AccordionContent_default = AccordionContent;
728
740
 
729
741
  // src/elements/tab/index.tsx
730
- var import_react15 = __toESM(require("react"));
742
+ var import_react16 = __toESM(require("react"));
731
743
 
732
744
  // src/elements/tab/TabHeaderWrapper.tsx
733
- var import_react14 = __toESM(require("react"));
745
+ var import_react15 = __toESM(require("react"));
734
746
  function TabHeader(props) {
735
747
  const { wvId } = props;
736
- const { active, setActive } = (0, import_react14.useContext)(TabContext);
737
- const { itemInstances } = (0, import_react14.useContext)(WeaverseContext);
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, import_react14.useState)(instance.data);
740
- (0, import_react14.useEffect)(() => {
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__ */ import_react14.default.createElement("div", {
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, import_react14.useContext)(WeaverseContext);
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__ */ import_react14.default.createElement("div", {
766
+ return /* @__PURE__ */ import_react15.default.createElement("div", {
755
767
  className: "wv-tab-header-wrapper"
756
- }, childIds.map((id) => /* @__PURE__ */ import_react14.default.createElement(TabHeader, {
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, import_react15.createContext)({
775
+ var TabContext = (0, import_react16.createContext)({
764
776
  active: null,
765
777
  setActive: () => {
766
778
  }
767
779
  });
768
- var Tab = (0, import_react15.forwardRef)((props, ref) => {
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 = import_react15.default.Children.toArray(children)) == null ? void 0 : _a[0]) == null ? void 0 : _b.props) == null ? void 0 : _c.id;
773
- const [active, setActive] = (0, import_react15.useState)(defaultActive);
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__ */ import_react15.default.createElement("div", {
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__ */ import_react15.default.createElement(TabContext.Provider, {
797
+ }, /* @__PURE__ */ import_react16.default.createElement(TabContext.Provider, {
786
798
  value: { active, setActive: setOpenTab }
787
- }, /* @__PURE__ */ import_react15.default.createElement(TabHeaderWrapper, {
799
+ }, /* @__PURE__ */ import_react16.default.createElement(TabHeaderWrapper, {
788
800
  wvId
789
801
  }), children));
790
802
  });
@@ -817,10 +829,10 @@ Tab.defaultProps = {
817
829
  var tab_default = Tab;
818
830
 
819
831
  // src/elements/tab/TabContent.tsx
820
- var import_react16 = __toESM(require("react"));
821
- var TabContent = (0, import_react16.forwardRef)(
832
+ var import_react17 = __toESM(require("react"));
833
+ var TabContent = (0, import_react17.forwardRef)(
822
834
  (props, ref) => {
823
- const { active } = (0, import_react16.useContext)(TabContext);
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,11 +844,11 @@ 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__ */ import_react16.default.createElement("div", {
847
+ return /* @__PURE__ */ import_react17.default.createElement("div", {
836
848
  ref,
837
849
  ...rest,
838
850
  style
839
- }, import_react16.default.Children.count(children) > 0 ? children : /* @__PURE__ */ import_react16.default.createElement(Placeholder_default, {
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
  }
@@ -862,28 +874,28 @@ TabContent.defaultProps = {
862
874
  var TabContent_default = TabContent;
863
875
 
864
876
  // src/elements/slider/index.tsx
865
- var import_react17 = __toESM(require("react"));
877
+ var import_react18 = __toESM(require("react"));
866
878
  var import_carousel = require("nuka-carousel/lib/carousel");
867
- var Slider = (0, import_react17.forwardRef)((props, ref) => {
868
- const { isDesignMode } = (0, import_react17.useContext)(WeaverseContext);
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__ */ import_react17.default.createElement("div", {
882
+ return /* @__PURE__ */ import_react18.default.createElement("div", {
871
883
  ...rest,
872
884
  ref
873
- }, /* @__PURE__ */ import_react17.default.createElement(import_carousel.Carousel, {
885
+ }, /* @__PURE__ */ import_react18.default.createElement(import_carousel.Carousel, {
874
886
  dragging: false,
875
- renderCenterLeftControls: (props2) => /* @__PURE__ */ import_react17.default.createElement("button", {
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__ */ import_react17.default.createElement("i", {
891
+ }, /* @__PURE__ */ import_react18.default.createElement("i", {
880
892
  className: "wv-slider-arrow wv-slider-arrow-left"
881
893
  })),
882
- renderCenterRightControls: (props2) => /* @__PURE__ */ import_react17.default.createElement("button", {
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__ */ import_react17.default.createElement("i", {
898
+ }, /* @__PURE__ */ import_react18.default.createElement("i", {
887
899
  className: "wv-slider-arrow wv-slider-arrow-right"
888
900
  })),
889
901
  wrapAround: !isDesignMode,
@@ -931,10 +943,10 @@ Slider.defaultProps = {
931
943
  var slider_default = Slider;
932
944
 
933
945
  // src/elements/slider/SliderContent.tsx
934
- var import_react18 = __toESM(require("react"));
935
- var SliderContent = (0, import_react18.forwardRef)(
946
+ var import_react19 = __toESM(require("react"));
947
+ var SliderContent = (0, import_react19.forwardRef)(
936
948
  (props, ref) => {
937
- const { isDesignMode } = (0, import_react18.useContext)(WeaverseContext);
949
+ const { isDesignMode } = (0, import_react19.useContext)(WeaverseContext);
938
950
  const {
939
951
  mediaUrl,
940
952
  targetLink,
@@ -960,11 +972,11 @@ var SliderContent = (0, import_react18.forwardRef)(
960
972
  window.open(targetLink, openInNewTab ? "_blank" : "_self");
961
973
  }
962
974
  };
963
- return /* @__PURE__ */ import_react18.default.createElement("div", {
975
+ return /* @__PURE__ */ import_react19.default.createElement("div", {
964
976
  ...rest,
965
977
  style,
966
978
  onClick: handleClick
967
- }, import_react18.default.Children.count(children) > 0 ? children : /* @__PURE__ */ import_react18.default.createElement(Placeholder_default, {
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
  }
@@ -993,44 +1005,10 @@ SliderContent.defaultProps = {
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,
@@ -1095,28 +1073,12 @@ var Elements = {
1095
1073
  SliderContent: {
1096
1074
  Component: SliderContent_default,
1097
1075
  type: "slider.content"
1098
- },
1099
- CustomHTML: {
1100
- Component: custom_html_default,
1101
- type: "custom.html"
1102
1076
  }
1103
1077
  };
1104
1078
 
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
1079
  // src/renderer.tsx
1118
1080
  var import_core2 = require("@weaverse/core");
1119
- var import_react21 = __toESM(require("react"));
1081
+ var import_react20 = __toESM(require("react"));
1120
1082
 
1121
1083
  // src/utils/index.ts
1122
1084
  function shortCssObject(css) {
@@ -1126,15 +1088,14 @@ function shortCssObject(css) {
1126
1088
  };
1127
1089
  }
1128
1090
  function generateItemClass(instance, stitchesInstance) {
1129
- var _a, _b, _c, _d;
1091
+ var _a;
1130
1092
  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) || {};
1132
1093
  let className = "";
1133
- if (css || defaultCss) {
1134
- let formattedCss = shortCssObject(css || defaultCss);
1094
+ if (css) {
1095
+ let formattedCss = shortCssObject(css);
1135
1096
  let { className: newClass = "" } = stitchesInstance.css(formattedCss)();
1136
1097
  let { stitchesClass } = instance;
1137
- let otherClass = (((_d = instance.ref.current) == null ? void 0 : _d.className) || "").replace(stitchesClass, "").replace(cls, "").trim();
1098
+ let otherClass = (((_a = instance.ref.current) == null ? void 0 : _a.className) || "").replace(stitchesClass, "").replace(cls, "").trim();
1138
1099
  className = `${cls} ${newClass} ${otherClass}`.trim();
1139
1100
  instance.stitchesClass = newClass;
1140
1101
  }
@@ -1144,10 +1105,10 @@ function generateItemClass(instance, stitchesInstance) {
1144
1105
  // src/renderer.tsx
1145
1106
  var WeaverseRoot = ({ context }) => {
1146
1107
  var _a, _b;
1147
- let [, setData] = (0, import_react21.useState)(context.projectData);
1148
- let rootRef = (0, import_react21.useRef)();
1108
+ let [, setData] = (0, import_react20.useState)(context.projectData);
1109
+ let rootRef = (0, import_react20.useRef)();
1149
1110
  let update = () => setData({});
1150
- (0, import_react21.useEffect)(() => {
1111
+ (0, import_react20.useEffect)(() => {
1151
1112
  context.subscribe(update);
1152
1113
  context.contentRootElement = rootRef.current;
1153
1114
  return () => {
@@ -1156,22 +1117,21 @@ var WeaverseRoot = ({ context }) => {
1156
1117
  }, []);
1157
1118
  let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
1158
1119
  let themeClass = context.stitchesInstance.theme.className;
1159
- return ((_b = context.projectData) == null ? void 0 : _b.rootId) ? /* @__PURE__ */ import_react21.default.createElement("div", {
1120
+ return ((_b = context.projectData) == null ? void 0 : _b.rootId) ? /* @__PURE__ */ import_react20.default.createElement("div", {
1160
1121
  className: `weaverse-content-root ${themeClass}`,
1161
1122
  ...eventHandlers,
1162
1123
  ref: rootRef
1163
- }, /* @__PURE__ */ import_react21.default.createElement(WeaverseContextProvider, {
1124
+ }, /* @__PURE__ */ import_react20.default.createElement(WeaverseContextProvider, {
1164
1125
  value: context
1165
- }, /* @__PURE__ */ import_react21.default.createElement(ItemInstance, {
1126
+ }, /* @__PURE__ */ import_react20.default.createElement(ItemInstance, {
1166
1127
  id: context.projectData.rootId
1167
1128
  }))) : null;
1168
1129
  };
1169
1130
  var ItemComponent = ({ instance }) => {
1170
- let { stitchesInstance, elementInstances } = (0, import_react21.useContext)(WeaverseContext);
1171
- let [data, setData] = (0, import_react21.useState)(instance.data);
1131
+ let { stitchesInstance, elementInstances } = (0, import_react20.useContext)(WeaverseContext);
1132
+ let [data, setData] = (0, import_react20.useState)(instance.data);
1172
1133
  let { id, type, childIds = [], css, className, ...rest } = data;
1173
- (0, import_react21.useEffect)(() => {
1174
- var _a;
1134
+ (0, import_react20.useEffect)(() => {
1175
1135
  let update = (data2) => setData({ ...data2 });
1176
1136
  instance.subscribe(update);
1177
1137
  if (import_core2.isBrowser && !instance.ref.current) {
@@ -1179,10 +1139,7 @@ var ItemComponent = ({ instance }) => {
1179
1139
  current: document.querySelector(`[data-wv-id="${id}"]`)
1180
1140
  });
1181
1141
  }
1182
- (_a = instance.ref.current) == null ? void 0 : _a.removeAttribute("css");
1183
- return () => {
1184
- instance.unsubscribe(update);
1185
- };
1142
+ return () => instance.unsubscribe(update);
1186
1143
  }, []);
1187
1144
  let Element = elementInstances.get(type);
1188
1145
  if (Element == null ? void 0 : Element.Component) {
@@ -1190,13 +1147,13 @@ var ItemComponent = ({ instance }) => {
1190
1147
  if (Component.$$typeof === Symbol.for("react.forward_ref")) {
1191
1148
  rest.ref = instance.ref;
1192
1149
  }
1193
- return /* @__PURE__ */ import_react21.default.createElement(Component, {
1150
+ return /* @__PURE__ */ import_react20.default.createElement(Component, {
1194
1151
  key: id,
1195
1152
  "data-wv-type": type,
1196
1153
  "data-wv-id": id,
1197
1154
  className: generateItemClass(instance, stitchesInstance),
1198
1155
  ...rest
1199
- }, childIds.map((id2) => /* @__PURE__ */ import_react21.default.createElement(ItemInstance, {
1156
+ }, childIds.map((id2) => /* @__PURE__ */ import_react20.default.createElement(ItemInstance, {
1200
1157
  key: id2,
1201
1158
  id: id2
1202
1159
  })));
@@ -1204,15 +1161,15 @@ var ItemComponent = ({ instance }) => {
1204
1161
  return null;
1205
1162
  };
1206
1163
  var ItemInstance = ({ id }) => {
1207
- let context = (0, import_react21.useContext)(WeaverseContext);
1164
+ let context = (0, import_react20.useContext)(WeaverseContext);
1208
1165
  let { itemInstances } = context;
1209
1166
  let instance = itemInstances.get(id);
1210
1167
  if (!instance) {
1211
- return /* @__PURE__ */ import_react21.default.createElement("div", {
1168
+ return /* @__PURE__ */ import_react20.default.createElement("div", {
1212
1169
  style: { display: "none" }
1213
1170
  }, "Item instance ", id, " not found");
1214
1171
  }
1215
- return /* @__PURE__ */ import_react21.default.createElement(ItemComponent, {
1172
+ return /* @__PURE__ */ import_react20.default.createElement(ItemComponent, {
1216
1173
  instance
1217
1174
  });
1218
1175
  };
@@ -1221,6 +1178,8 @@ var ItemInstance = ({ id }) => {
1221
1178
  __reExport(src_exports, require("@weaverse/core"), module.exports);
1222
1179
  // Annotate the CommonJS export names for ESM import in node:
1223
1180
  0 && (module.exports = {
1181
+ Elements,
1182
+ SharedComponents,
1224
1183
  WeaverseContext,
1225
1184
  WeaverseContextConsumer,
1226
1185
  WeaverseContextProvider,
package/dist/index.mjs CHANGED
@@ -1,7 +1,3 @@
1
- // src/context.ts
2
- import { Weaverse } from "@weaverse/core";
3
- import { createContext as createContext3 } from "react";
4
-
5
1
  // src/elements/button.tsx
6
2
  import * as React from "react";
7
3
  var Button = React.forwardRef((props, ref) => {
@@ -71,6 +67,20 @@ var container_default = Container;
71
67
  // src/elements/countdown/index.tsx
72
68
  import React4, { forwardRef as forwardRef3, useContext, useEffect } from "react";
73
69
 
70
+ // src/context.ts
71
+ import { Weaverse } from "@weaverse/core";
72
+ import { createContext } from "react";
73
+ var createRootContext = (configs) => {
74
+ let rootContext = new Weaverse(configs);
75
+ Object.keys(Elements).forEach((key) => {
76
+ rootContext.registerElement(Elements[key]);
77
+ });
78
+ return rootContext;
79
+ };
80
+ var WeaverseContext = createContext({});
81
+ var WeaverseContextProvider = WeaverseContext.Provider;
82
+ var WeaverseContextConsumer = WeaverseContext.Consumer;
83
+
74
84
  // src/elements/countdown/timer-block.tsx
75
85
  import React3 from "react";
76
86
  function TimerBlock({ value, label }) {
@@ -483,8 +493,8 @@ Instagram.defaultProps = {
483
493
  var instagram_default = Instagram;
484
494
 
485
495
  // src/elements/accordion/index.tsx
486
- import React12, { createContext, forwardRef as forwardRef10, useState as useState2 } from "react";
487
- var AccordionContext = createContext({
496
+ import React12, { createContext as createContext2, forwardRef as forwardRef10, useState as useState2 } from "react";
497
+ var AccordionContext = createContext2({
488
498
  iconName: "arrow",
489
499
  active: [],
490
500
  setActive: () => {
@@ -690,7 +700,7 @@ AccordionContent.defaultProps = {
690
700
  var AccordionContent_default = AccordionContent;
691
701
 
692
702
  // src/elements/tab/index.tsx
693
- import React17, { createContext as createContext2, forwardRef as forwardRef13, useState as useState4 } from "react";
703
+ import React17, { createContext as createContext3, forwardRef as forwardRef13, useState as useState4 } from "react";
694
704
 
695
705
  // src/elements/tab/TabHeaderWrapper.tsx
696
706
  import React16, { useContext as useContext6, useEffect as useEffect3, useState as useState3 } from "react";
@@ -723,7 +733,7 @@ function TabHeaderWrapper(props) {
723
733
  }
724
734
 
725
735
  // src/elements/tab/index.tsx
726
- var TabContext = createContext2({
736
+ var TabContext = createContext3({
727
737
  active: null,
728
738
  setActive: () => {
729
739
  }
@@ -956,44 +966,10 @@ SliderContent.defaultProps = {
956
966
  };
957
967
  var SliderContent_default = SliderContent;
958
968
 
959
- // src/elements/custom-html.tsx
960
- import React21, { forwardRef as forwardRef17, useContext as useContext10 } from "react";
961
- var CustomHTML = forwardRef17(
962
- (props, ref) => {
963
- const { content, children, ...rest } = props;
964
- const { isDesignMode } = useContext10(WeaverseContext);
965
- const style = {
966
- "--pointer-events": isDesignMode ? "none" : "auto"
967
- };
968
- if (!content)
969
- return /* @__PURE__ */ React21.createElement("div", {
970
- ref,
971
- ...rest
972
- }, /* @__PURE__ */ React21.createElement(Placeholder_default, {
973
- element: "Custom HTML"
974
- }, "Add your custom HTML code."));
975
- return /* @__PURE__ */ React21.createElement("div", {
976
- ref,
977
- ...rest,
978
- style,
979
- dangerouslySetInnerHTML: { __html: content }
980
- });
981
- }
982
- );
983
- CustomHTML.defaultProps = {
984
- content: "",
985
- type: "custom.html",
986
- css: {
987
- "@desktop": {
988
- "& > *": {
989
- pointerEvents: "var(--pointer-events, unset)"
990
- }
991
- }
992
- }
993
- };
994
- var custom_html_default = CustomHTML;
995
-
996
969
  // src/elements/index.ts
970
+ var SharedComponents = {
971
+ Placeholder: Placeholder_default
972
+ };
997
973
  var Elements = {
998
974
  Countdown: {
999
975
  Component: countdown_default,
@@ -1058,28 +1034,12 @@ var Elements = {
1058
1034
  SliderContent: {
1059
1035
  Component: SliderContent_default,
1060
1036
  type: "slider.content"
1061
- },
1062
- CustomHTML: {
1063
- Component: custom_html_default,
1064
- type: "custom.html"
1065
1037
  }
1066
1038
  };
1067
1039
 
1068
- // src/context.ts
1069
- var createRootContext = (configs) => {
1070
- let rootContext = new Weaverse(configs);
1071
- Object.keys(Elements).forEach((key) => {
1072
- rootContext.registerElement(Elements[key]);
1073
- });
1074
- return rootContext;
1075
- };
1076
- var WeaverseContext = createContext3({});
1077
- var WeaverseContextProvider = WeaverseContext.Provider;
1078
- var WeaverseContextConsumer = WeaverseContext.Consumer;
1079
-
1080
1040
  // src/renderer.tsx
1081
1041
  import { isBrowser } from "@weaverse/core";
1082
- import React22, { useContext as useContext11, useEffect as useEffect4, useRef, useState as useState5 } from "react";
1042
+ import React21, { useContext as useContext10, useEffect as useEffect4, useRef, useState as useState5 } from "react";
1083
1043
 
1084
1044
  // src/utils/index.ts
1085
1045
  function shortCssObject(css) {
@@ -1089,15 +1049,14 @@ function shortCssObject(css) {
1089
1049
  };
1090
1050
  }
1091
1051
  function generateItemClass(instance, stitchesInstance) {
1092
- var _a, _b, _c, _d;
1052
+ var _a;
1093
1053
  let { css, className: cls = "" } = instance.data;
1094
- let defaultCss = ((_c = (_b = (_a = instance.Element) == null ? void 0 : _a.Component) == null ? void 0 : _b.defaultProps) == null ? void 0 : _c.css) || {};
1095
1054
  let className = "";
1096
- if (css || defaultCss) {
1097
- let formattedCss = shortCssObject(css || defaultCss);
1055
+ if (css) {
1056
+ let formattedCss = shortCssObject(css);
1098
1057
  let { className: newClass = "" } = stitchesInstance.css(formattedCss)();
1099
1058
  let { stitchesClass } = instance;
1100
- let otherClass = (((_d = instance.ref.current) == null ? void 0 : _d.className) || "").replace(stitchesClass, "").replace(cls, "").trim();
1059
+ let otherClass = (((_a = instance.ref.current) == null ? void 0 : _a.className) || "").replace(stitchesClass, "").replace(cls, "").trim();
1101
1060
  className = `${cls} ${newClass} ${otherClass}`.trim();
1102
1061
  instance.stitchesClass = newClass;
1103
1062
  }
@@ -1119,22 +1078,21 @@ var WeaverseRoot = ({ context }) => {
1119
1078
  }, []);
1120
1079
  let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
1121
1080
  let themeClass = context.stitchesInstance.theme.className;
1122
- return ((_b = context.projectData) == null ? void 0 : _b.rootId) ? /* @__PURE__ */ React22.createElement("div", {
1081
+ return ((_b = context.projectData) == null ? void 0 : _b.rootId) ? /* @__PURE__ */ React21.createElement("div", {
1123
1082
  className: `weaverse-content-root ${themeClass}`,
1124
1083
  ...eventHandlers,
1125
1084
  ref: rootRef
1126
- }, /* @__PURE__ */ React22.createElement(WeaverseContextProvider, {
1085
+ }, /* @__PURE__ */ React21.createElement(WeaverseContextProvider, {
1127
1086
  value: context
1128
- }, /* @__PURE__ */ React22.createElement(ItemInstance, {
1087
+ }, /* @__PURE__ */ React21.createElement(ItemInstance, {
1129
1088
  id: context.projectData.rootId
1130
1089
  }))) : null;
1131
1090
  };
1132
1091
  var ItemComponent = ({ instance }) => {
1133
- let { stitchesInstance, elementInstances } = useContext11(WeaverseContext);
1092
+ let { stitchesInstance, elementInstances } = useContext10(WeaverseContext);
1134
1093
  let [data, setData] = useState5(instance.data);
1135
1094
  let { id, type, childIds = [], css, className, ...rest } = data;
1136
1095
  useEffect4(() => {
1137
- var _a;
1138
1096
  let update = (data2) => setData({ ...data2 });
1139
1097
  instance.subscribe(update);
1140
1098
  if (isBrowser && !instance.ref.current) {
@@ -1142,10 +1100,7 @@ var ItemComponent = ({ instance }) => {
1142
1100
  current: document.querySelector(`[data-wv-id="${id}"]`)
1143
1101
  });
1144
1102
  }
1145
- (_a = instance.ref.current) == null ? void 0 : _a.removeAttribute("css");
1146
- return () => {
1147
- instance.unsubscribe(update);
1148
- };
1103
+ return () => instance.unsubscribe(update);
1149
1104
  }, []);
1150
1105
  let Element = elementInstances.get(type);
1151
1106
  if (Element == null ? void 0 : Element.Component) {
@@ -1153,13 +1108,13 @@ var ItemComponent = ({ instance }) => {
1153
1108
  if (Component.$$typeof === Symbol.for("react.forward_ref")) {
1154
1109
  rest.ref = instance.ref;
1155
1110
  }
1156
- return /* @__PURE__ */ React22.createElement(Component, {
1111
+ return /* @__PURE__ */ React21.createElement(Component, {
1157
1112
  key: id,
1158
1113
  "data-wv-type": type,
1159
1114
  "data-wv-id": id,
1160
1115
  className: generateItemClass(instance, stitchesInstance),
1161
1116
  ...rest
1162
- }, childIds.map((id2) => /* @__PURE__ */ React22.createElement(ItemInstance, {
1117
+ }, childIds.map((id2) => /* @__PURE__ */ React21.createElement(ItemInstance, {
1163
1118
  key: id2,
1164
1119
  id: id2
1165
1120
  })));
@@ -1167,15 +1122,15 @@ var ItemComponent = ({ instance }) => {
1167
1122
  return null;
1168
1123
  };
1169
1124
  var ItemInstance = ({ id }) => {
1170
- let context = useContext11(WeaverseContext);
1125
+ let context = useContext10(WeaverseContext);
1171
1126
  let { itemInstances } = context;
1172
1127
  let instance = itemInstances.get(id);
1173
1128
  if (!instance) {
1174
- return /* @__PURE__ */ React22.createElement("div", {
1129
+ return /* @__PURE__ */ React21.createElement("div", {
1175
1130
  style: { display: "none" }
1176
1131
  }, "Item instance ", id, " not found");
1177
1132
  }
1178
- return /* @__PURE__ */ React22.createElement(ItemComponent, {
1133
+ return /* @__PURE__ */ React21.createElement(ItemComponent, {
1179
1134
  instance
1180
1135
  });
1181
1136
  };
@@ -1183,6 +1138,8 @@ var ItemInstance = ({ id }) => {
1183
1138
  // src/index.ts
1184
1139
  export * from "@weaverse/core";
1185
1140
  export {
1141
+ Elements,
1142
+ SharedComponents,
1186
1143
  WeaverseContext,
1187
1144
  WeaverseContextConsumer,
1188
1145
  WeaverseContextProvider,
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.7.9",
2
+ "version": "0.7.10",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -31,7 +31,7 @@
31
31
  "name": "@weaverse/react",
32
32
  "author": "Weaverse Team",
33
33
  "dependencies": {
34
- "@weaverse/core": "0.7.9",
34
+ "@weaverse/core": "0.7.10",
35
35
  "nuka-carousel": "^5.3.0"
36
36
  }
37
37
  }