@weaverse/react 0.7.63 → 0.7.65

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,4 +1,4 @@
1
- import { WeaverseType, Weaverse, ElementCSS, WeaverseItemStore, WeaverseElement } from '@weaverse/core';
1
+ import { WeaverseType, Weaverse, WeaverseElement, ElementCSS, WeaverseItemStore } from '@weaverse/core';
2
2
  export * from '@weaverse/core';
3
3
  import * as React$1 from 'react';
4
4
  import React__default, { HTMLAttributes, CSSProperties, ReactElement, ReactNode } from 'react';
@@ -21,6 +21,7 @@ declare let ArrowLeft: (props: HTMLAttributes<SVGElement>) => JSX.Element;
21
21
  declare let ArrowRight: (props: HTMLAttributes<SVGElement>) => JSX.Element;
22
22
  declare let Image: (props: HTMLAttributes<SVGElement>) => JSX.Element;
23
23
  declare let ShoppingCart: (props: HTMLAttributes<SVGElement>) => JSX.Element;
24
+ declare let Storefront: (props: HTMLAttributes<SVGElement>) => JSX.Element;
24
25
  declare let Eye: (props: HTMLAttributes<SVGElement>) => JSX.Element;
25
26
 
26
27
  declare const PhosphorIcons_CircleNotch: typeof CircleNotch;
@@ -31,6 +32,7 @@ declare const PhosphorIcons_ArrowLeft: typeof ArrowLeft;
31
32
  declare const PhosphorIcons_ArrowRight: typeof ArrowRight;
32
33
  declare const PhosphorIcons_Image: typeof Image;
33
34
  declare const PhosphorIcons_ShoppingCart: typeof ShoppingCart;
35
+ declare const PhosphorIcons_Storefront: typeof Storefront;
34
36
  declare const PhosphorIcons_Eye: typeof Eye;
35
37
  declare namespace PhosphorIcons {
36
38
  export {
@@ -42,6 +44,7 @@ declare namespace PhosphorIcons {
42
44
  PhosphorIcons_ArrowRight as ArrowRight,
43
45
  PhosphorIcons_Image as Image,
44
46
  PhosphorIcons_ShoppingCart as ShoppingCart,
47
+ PhosphorIcons_Storefront as Storefront,
45
48
  PhosphorIcons_Eye as Eye,
46
49
  };
47
50
  }
@@ -90,10 +93,69 @@ interface BackgroundProps {
90
93
  className?: string;
91
94
  }
92
95
 
96
+ declare let Modal: (props: DialogProps) => JSX.Element;
97
+ declare let ModalTrigger: React__default.ForwardRefExoticComponent<_radix_ui_react_dialog.DialogTriggerProps & React__default.RefAttributes<HTMLButtonElement>>;
98
+ declare let ModalHeader: React__default.ForwardRefExoticComponent<DialogTitleProps & React__default.RefAttributes<HTMLHeadingElement>>;
99
+ declare let ModalContent: React__default.ForwardRefExoticComponent<ModalContentProps & React__default.RefAttributes<HTMLDivElement>>;
100
+ declare let ModalClose: React__default.ForwardRefExoticComponent<DialogCloseProps & React__default.RefAttributes<HTMLButtonElement>>;
101
+
102
+ declare const ModalComponents_Modal: typeof Modal;
103
+ declare const ModalComponents_ModalTrigger: typeof ModalTrigger;
104
+ declare const ModalComponents_ModalHeader: typeof ModalHeader;
105
+ declare const ModalComponents_ModalContent: typeof ModalContent;
106
+ declare const ModalComponents_ModalClose: typeof ModalClose;
107
+ declare namespace ModalComponents {
108
+ export {
109
+ ModalComponents_Modal as Modal,
110
+ ModalComponents_ModalTrigger as ModalTrigger,
111
+ ModalComponents_ModalHeader as ModalHeader,
112
+ ModalComponents_ModalContent as ModalContent,
113
+ ModalComponents_ModalClose as ModalClose,
114
+ };
115
+ }
116
+
117
+ declare function Spinner(): JSX.Element;
118
+
119
+ declare function Icon({ name, className, ...props }: WeaverseIconProps): JSX.Element;
120
+
121
+ declare function Tooltip({ children }: TooltipProps): JSX.Element;
122
+
123
+ declare function Slider(props: SliderProps): JSX.Element;
124
+
125
+ declare function Background(props: BackgroundProps): JSX.Element | null;
126
+
127
+ declare function Overlay(props: OverlayProps): JSX.Element | null;
128
+
129
+ declare function Arrows(props: SliderArrowsProps): JSX.Element;
130
+
131
+ declare function Dots(props: SliderDotsProps): JSX.Element;
132
+
133
+ declare function AutoplayPlugin(changeSlidesEvery: number): KeenSliderPlugin;
134
+
135
+ declare let Components: {
136
+ Background: typeof Background;
137
+ Icon: typeof Icon;
138
+ ModalComponents: typeof ModalComponents;
139
+ Overlay: typeof Overlay;
140
+ Placeholder: React$1.ForwardRefExoticComponent<PlaceholderProps & React$1.RefAttributes<HTMLDivElement>>;
141
+ Spinner: typeof Spinner;
142
+ Slider: typeof Slider;
143
+ Tooltip: typeof Tooltip;
144
+ };
145
+ declare let SliderComponents: {
146
+ Arrows: typeof Arrows;
147
+ Dots: typeof Dots;
148
+ ResizePlugin: keen_slider_react.KeenSliderPlugin<{}, {}, keen_slider_react.KeenSliderHooks>;
149
+ AutoplayPlugin: typeof AutoplayPlugin;
150
+ };
151
+
152
+ declare const Elements: Record<string, WeaverseElement>;
153
+
93
154
  interface WeaverseElementProps extends Partial<ReactElement> {
94
155
  css?: ElementCSS;
95
156
  children?: ReactElement | ReactElement[] | ReactNode | ReactNode[];
96
157
  className?: string;
158
+ ['data-wv-id']?: string;
97
159
  }
98
160
  type WeaverseRootPropsType = {
99
161
  context: Weaverse;
@@ -225,65 +287,12 @@ interface SlideProps extends WeaverseElementProps, BackgroundProps, OverlayProps
225
287
  contentPosition: string;
226
288
  children: ReactElement[];
227
289
  }
228
-
229
- declare let Modal: (props: DialogProps) => JSX.Element;
230
- declare let ModalTrigger: React__default.ForwardRefExoticComponent<_radix_ui_react_dialog.DialogTriggerProps & React__default.RefAttributes<HTMLButtonElement>>;
231
- declare let ModalHeader: React__default.ForwardRefExoticComponent<DialogTitleProps & React__default.RefAttributes<HTMLHeadingElement>>;
232
- declare let ModalContent: React__default.ForwardRefExoticComponent<ModalContentProps & React__default.RefAttributes<HTMLDivElement>>;
233
- declare let ModalClose: React__default.ForwardRefExoticComponent<DialogCloseProps & React__default.RefAttributes<HTMLButtonElement>>;
234
-
235
- declare const ModalComponents_Modal: typeof Modal;
236
- declare const ModalComponents_ModalTrigger: typeof ModalTrigger;
237
- declare const ModalComponents_ModalHeader: typeof ModalHeader;
238
- declare const ModalComponents_ModalContent: typeof ModalContent;
239
- declare const ModalComponents_ModalClose: typeof ModalClose;
240
- declare namespace ModalComponents {
241
- export {
242
- ModalComponents_Modal as Modal,
243
- ModalComponents_ModalTrigger as ModalTrigger,
244
- ModalComponents_ModalHeader as ModalHeader,
245
- ModalComponents_ModalContent as ModalContent,
246
- ModalComponents_ModalClose as ModalClose,
247
- };
290
+ declare global {
291
+ interface Window {
292
+ weaverseSlideshowInstances: Record<string, KeenSliderInstance>;
293
+ }
248
294
  }
249
295
 
250
- declare function Spinner(): JSX.Element;
251
-
252
- declare function Icon({ name, className, ...props }: WeaverseIconProps): JSX.Element;
253
-
254
- declare function Tooltip({ children }: TooltipProps): JSX.Element;
255
-
256
- declare function Slider(props: SliderProps): JSX.Element;
257
-
258
- declare function Background(props: BackgroundProps): JSX.Element | null;
259
-
260
- declare function Overlay(props: OverlayProps): JSX.Element | null;
261
-
262
- declare function Arrows(props: SliderArrowsProps): JSX.Element;
263
-
264
- declare function Dots(props: SliderDotsProps): JSX.Element;
265
-
266
- declare function AutoplayPlugin(changeSlidesEvery: number): KeenSliderPlugin;
267
-
268
- declare let Components: {
269
- Background: typeof Background;
270
- Icon: typeof Icon;
271
- ModalComponents: typeof ModalComponents;
272
- Overlay: typeof Overlay;
273
- Placeholder: React$1.ForwardRefExoticComponent<PlaceholderProps & React$1.RefAttributes<HTMLDivElement>>;
274
- Spinner: typeof Spinner;
275
- Slider: typeof Slider;
276
- Tooltip: typeof Tooltip;
277
- };
278
- declare let SliderComponents: {
279
- Arrows: typeof Arrows;
280
- Dots: typeof Dots;
281
- ResizePlugin: keen_slider_react.KeenSliderPlugin<{}, {}, keen_slider_react.KeenSliderHooks>;
282
- AutoplayPlugin: typeof AutoplayPlugin;
283
- };
284
-
285
- declare const Elements: Record<string, WeaverseElement>;
286
-
287
296
  declare let WeaverseRoot: ({ context }: WeaverseRootPropsType) => JSX.Element | null;
288
297
 
289
- export { BackgroundProps, ButtonElementProps, Components, ContainerElementProps, CountdownElementProps, CountdownTimeKey, CountdownTimerType, Elements, GridContentElementProps, ImageElementProps, InstagramElementProps, InstagramMedia, ItemComponentProps, LayoutBackgroundProps, LayoutElementProps, MapElementProps, ModalContentProps, OverlayProps, PlaceholderProps, SlideProps, SliderArrowsProps, SliderComponents, SliderDotsProps, SliderProps, SlideshowProps, TextElementProps, TimerBlockProps, TooltipProps, VideoCommonProps, VideoElementProps, VimeoElementProps, WeaverseContext, WeaverseContextConsumer, WeaverseContextProvider, WeaverseElementProps, WeaverseIcon, WeaverseIconProps, WeaverseRoot, WeaverseRootPropsType, YoutubeElementProps, createRootContext };
298
+ export { ButtonElementProps, Components, ContainerElementProps, CountdownElementProps, CountdownTimeKey, CountdownTimerType, Elements, GridContentElementProps, ImageElementProps, InstagramElementProps, InstagramMedia, ItemComponentProps, LayoutBackgroundProps, LayoutElementProps, MapElementProps, PlaceholderProps, SlideProps, SliderComponents, SlideshowProps, TextElementProps, TimerBlockProps, VideoCommonProps, VideoElementProps, VimeoElementProps, WeaverseContext, WeaverseContextConsumer, WeaverseContextProvider, WeaverseElementProps, WeaverseRoot, WeaverseRootPropsType, YoutubeElementProps, createRootContext };
package/dist/index.js CHANGED
@@ -43,7 +43,7 @@ __reExport(src_exports, require("@weaverse/core"), module.exports);
43
43
  var import_core = require("@weaverse/core");
44
44
  var import_react30 = require("react");
45
45
 
46
- // src/elements/Button.tsx
46
+ // src/elements/button.tsx
47
47
  var React = __toESM(require("react"));
48
48
  var import_react = require("react");
49
49
  var Button = React.forwardRef((props, ref) => {
@@ -88,9 +88,9 @@ var css = {
88
88
  }
89
89
  }
90
90
  };
91
- var Button_default = Button;
91
+ var button_default = Button;
92
92
 
93
- // src/elements/Container.tsx
93
+ // src/elements/container.tsx
94
94
  var import_react2 = __toESM(require("react"));
95
95
  var Container = (0, import_react2.forwardRef)(
96
96
  (props, ref) => {
@@ -111,9 +111,9 @@ var css2 = {
111
111
  }
112
112
  };
113
113
  Container.defaultProps = {};
114
- var Container_default = Container;
114
+ var container_default = Container;
115
115
 
116
- // src/elements/Countdown/index.tsx
116
+ // src/elements/countdown/index.tsx
117
117
  var import_react4 = __toESM(require("react"));
118
118
 
119
119
  // src/constant/index.ts
@@ -146,7 +146,7 @@ function getVimeoId(url) {
146
146
  return match ? match[1] : null;
147
147
  }
148
148
 
149
- // src/elements/Countdown/TimerBlock.tsx
149
+ // src/elements/countdown/timer-block.tsx
150
150
  var import_react3 = __toESM(require("react"));
151
151
  function TimerBlock({ value, label }) {
152
152
  return /* @__PURE__ */ import_react3.default.createElement("div", {
@@ -158,7 +158,7 @@ function TimerBlock({ value, label }) {
158
158
  }, label));
159
159
  }
160
160
 
161
- // src/elements/Countdown/index.tsx
161
+ // src/elements/countdown/index.tsx
162
162
  var Countdown = (0, import_react4.forwardRef)(
163
163
  (props, ref) => {
164
164
  const { isDesignMode } = (0, import_react4.useContext)(WeaverseContext);
@@ -271,9 +271,9 @@ Countdown.defaultProps = {
271
271
  showLabel: true,
272
272
  showColon: true
273
273
  };
274
- var Countdown_default = Countdown;
274
+ var countdown_default = Countdown;
275
275
 
276
- // src/elements/Image.tsx
276
+ // src/elements/image.tsx
277
277
  var import_react5 = __toESM(require("react"));
278
278
  var Image = import_react5.default.forwardRef(
279
279
  (props, ref) => {
@@ -330,12 +330,12 @@ Image.defaultProps = {
330
330
  openLinkInNewTab: false,
331
331
  linkTo: ""
332
332
  };
333
- var Image_default = Image;
333
+ var image_default = Image;
334
334
 
335
- // src/elements/Layout/index.tsx
335
+ // src/elements/layout/index.tsx
336
336
  var import_react8 = __toESM(require("react"));
337
337
 
338
- // src/elements/Layout/Background.tsx
338
+ // src/elements/layout/Background.tsx
339
339
  var import_react6 = __toESM(require("react"));
340
340
  function Background(props) {
341
341
  let { bgColor, imgUrl, objectFit, objectPosition } = props;
@@ -358,7 +358,7 @@ function Background(props) {
358
358
  return null;
359
359
  }
360
360
 
361
- // src/elements/Layout/Overlay.tsx
361
+ // src/elements/layout/Overlay.tsx
362
362
  var import_react7 = __toESM(require("react"));
363
363
  function Overlay(props) {
364
364
  let { enableOverlay, overlayOpacity } = props;
@@ -374,7 +374,7 @@ function Overlay(props) {
374
374
  return null;
375
375
  }
376
376
 
377
- // src/elements/Layout/index.tsx
377
+ // src/elements/layout/index.tsx
378
378
  var Layout = (0, import_react8.forwardRef)((props, ref) => {
379
379
  let {
380
380
  children,
@@ -469,9 +469,9 @@ Layout.defaultProps = {
469
469
  enableOverlay: false,
470
470
  overlayOpacity: 30
471
471
  };
472
- var Layout_default = Layout;
472
+ var layout_default = Layout;
473
473
 
474
- // src/elements/Map.tsx
474
+ // src/elements/map.tsx
475
475
  var import_react9 = __toESM(require("react"));
476
476
  var Map = (0, import_react9.forwardRef)((props, ref) => {
477
477
  let { place, zoom, ...rest } = props;
@@ -503,9 +503,9 @@ Map.defaultProps = {
503
503
  place: "Hanoi",
504
504
  zoom: 14
505
505
  };
506
- var Map_default = Map;
506
+ var map_default = Map;
507
507
 
508
- // src/elements/Text.tsx
508
+ // src/elements/text.tsx
509
509
  var React10 = __toESM(require("react"));
510
510
  var Text = React10.forwardRef(
511
511
  (props, ref) => {
@@ -534,12 +534,12 @@ var css7 = {
534
534
  Text.defaultProps = {
535
535
  value: "<p>The quick brown fox jumps over the lazy dog</p>"
536
536
  };
537
- var Text_default = Text;
537
+ var text_default = Text;
538
538
 
539
- // src/elements/Video/index.tsx
539
+ // src/elements/video/index.tsx
540
540
  var import_react13 = __toESM(require("react"));
541
541
 
542
- // src/elements/Video/HTMLVideo.tsx
542
+ // src/elements/video/html-video.tsx
543
543
  var import_react10 = __toESM(require("react"));
544
544
  function HTMLVideo(props) {
545
545
  let { src, type, controls, autoPlay, loop, muted } = props;
@@ -559,7 +559,7 @@ function HTMLVideo(props) {
559
559
  }), "Your browser does not support the video tag.");
560
560
  }
561
561
 
562
- // src/elements/Video/Vimeo.tsx
562
+ // src/elements/video/vimeo.tsx
563
563
  var import_react11 = __toESM(require("react"));
564
564
  function Vimeo(props) {
565
565
  let { vimeoId, controls, autoPlay, loop, muted } = props;
@@ -573,7 +573,7 @@ function Vimeo(props) {
573
573
  });
574
574
  }
575
575
 
576
- // src/elements/Video/Youtube.tsx
576
+ // src/elements/video/youtube.tsx
577
577
  var import_react12 = __toESM(require("react"));
578
578
  function Youtube(props) {
579
579
  let { youtubeId, controls, autoPlay, loop, muted } = props;
@@ -589,12 +589,11 @@ function Youtube(props) {
589
589
  src: youtubeSrc,
590
590
  width: "100%",
591
591
  height: "100%",
592
- allowFullScreen: true,
593
592
  allow
594
593
  });
595
594
  }
596
595
 
597
- // src/elements/Video/index.tsx
596
+ // src/elements/video/index.tsx
598
597
  var Video = (0, import_react13.forwardRef)((props, ref) => {
599
598
  let { isDesignMode } = (0, import_react13.useContext)(WeaverseContext);
600
599
  let {
@@ -656,24 +655,24 @@ Video.defaultProps = {
656
655
  autoPlay: true,
657
656
  muted: true
658
657
  };
659
- var Video_default = Video;
658
+ var video_default = Video;
660
659
 
661
- // src/elements/Slideshow/index.tsx
660
+ // src/elements/slideshow/index.tsx
662
661
  var import_react22 = require("@stitches/react");
663
662
  var import_clsx5 = __toESM(require("clsx"));
664
663
  var import_react23 = __toESM(require("react"));
665
664
 
666
- // src/components/Slider/Arrows.tsx
665
+ // src/components/slider/arrows.tsx
667
666
  var import_react16 = require("@stitches/react");
668
667
  var import_clsx2 = __toESM(require("clsx"));
669
668
  var import_react17 = __toESM(require("react"));
670
669
 
671
- // src/components/Icons/index.tsx
670
+ // src/components/icons/index.tsx
672
671
  var import_react15 = __toESM(require("react"));
673
672
 
674
- // src/components/Icons/Phosphor.tsx
675
- var Phosphor_exports = {};
676
- __export(Phosphor_exports, {
673
+ // src/components/icons/phosphor.tsx
674
+ var phosphor_exports = {};
675
+ __export(phosphor_exports, {
677
676
  ArrowLeft: () => ArrowLeft,
678
677
  ArrowRight: () => ArrowRight,
679
678
  CircleNotch: () => CircleNotch,
@@ -682,6 +681,7 @@ __export(Phosphor_exports, {
682
681
  Minus: () => Minus,
683
682
  Plus: () => Plus,
684
683
  ShoppingCart: () => ShoppingCart,
684
+ Storefront: () => Storefront,
685
685
  X: () => X
686
686
  });
687
687
  var import_react14 = __toESM(require("react"));
@@ -883,6 +883,55 @@ var ShoppingCart = (props) => {
883
883
  strokeWidth: "16"
884
884
  }));
885
885
  };
886
+ var Storefront = (props) => {
887
+ return /* @__PURE__ */ import_react14.default.createElement("svg", {
888
+ xmlns: "http://www.w3.org/2000/svg",
889
+ width: "192",
890
+ height: "192",
891
+ fill: "currentColor",
892
+ viewBox: "0 0 256 256",
893
+ ...props
894
+ }, /* @__PURE__ */ import_react14.default.createElement("rect", {
895
+ width: "256",
896
+ height: "256",
897
+ fill: "none"
898
+ }), /* @__PURE__ */ import_react14.default.createElement("path", {
899
+ d: "M48,139.6V208a8,8,0,0,0,8,8H200a8,8,0,0,0,8-8V139.6",
900
+ fill: "none",
901
+ stroke: "currentColor",
902
+ strokeLinecap: "round",
903
+ strokeLinejoin: "round",
904
+ strokeWidth: "8"
905
+ }), /* @__PURE__ */ import_react14.default.createElement("path", {
906
+ d: "M54,40H202a8.1,8.1,0,0,1,7.7,5.8L224,96H32L46.3,45.8A8.1,8.1,0,0,1,54,40Z",
907
+ fill: "none",
908
+ stroke: "currentColor",
909
+ strokeLinecap: "round",
910
+ strokeLinejoin: "round",
911
+ strokeWidth: "8"
912
+ }), /* @__PURE__ */ import_react14.default.createElement("path", {
913
+ d: "M96,96v16a32,32,0,0,1-64,0V96",
914
+ fill: "none",
915
+ stroke: "currentColor",
916
+ strokeLinecap: "round",
917
+ strokeLinejoin: "round",
918
+ strokeWidth: "8"
919
+ }), /* @__PURE__ */ import_react14.default.createElement("path", {
920
+ d: "M160,96v16a32,32,0,0,1-64,0V96",
921
+ fill: "none",
922
+ stroke: "currentColor",
923
+ strokeLinecap: "round",
924
+ strokeLinejoin: "round",
925
+ strokeWidth: "8"
926
+ }), /* @__PURE__ */ import_react14.default.createElement("path", {
927
+ d: "M224,96v16a32,32,0,0,1-64,0V96",
928
+ fill: "none",
929
+ stroke: "currentColor",
930
+ strokeLinecap: "round",
931
+ strokeLinejoin: "round",
932
+ strokeWidth: "8"
933
+ }));
934
+ };
886
935
  var Eye = (props) => {
887
936
  return /* @__PURE__ */ import_react14.default.createElement("svg", {
888
937
  xmlns: "http://www.w3.org/2000/svg",
@@ -914,10 +963,10 @@ var Eye = (props) => {
914
963
  }));
915
964
  };
916
965
 
917
- // src/components/Icons/index.tsx
966
+ // src/components/icons/index.tsx
918
967
  var import_clsx = __toESM(require("clsx"));
919
968
  function Icon({ name, className, ...props }) {
920
- let WeaverseIcon = Phosphor_exports[name];
969
+ let WeaverseIcon = phosphor_exports[name];
921
970
  let cls = (0, import_clsx.default)("wv-icon", className);
922
971
  return /* @__PURE__ */ import_react15.default.createElement(WeaverseIcon, {
923
972
  className: cls,
@@ -925,7 +974,7 @@ function Icon({ name, className, ...props }) {
925
974
  });
926
975
  }
927
976
 
928
- // src/components/Slider/Arrows.tsx
977
+ // src/components/slider/arrows.tsx
929
978
  function Arrows(props) {
930
979
  let { currentSlide, instanceRef, className, offset } = props;
931
980
  let isFirst = currentSlide === 0;
@@ -1000,7 +1049,7 @@ var StyledArrows = (0, import_react16.styled)("div", {
1000
1049
  }
1001
1050
  });
1002
1051
 
1003
- // src/components/Slider/Dots.tsx
1052
+ // src/components/slider/dots.tsx
1004
1053
  var import_react18 = require("@stitches/react");
1005
1054
  var import_clsx3 = __toESM(require("clsx"));
1006
1055
  var import_react19 = __toESM(require("react"));
@@ -1071,11 +1120,11 @@ var StyledDots = (0, import_react18.styled)("div", {
1071
1120
  }
1072
1121
  });
1073
1122
 
1074
- // src/elements/Slideshow/useSlideshowConfigs.ts
1123
+ // src/elements/slideshow/use-slideshow-configs.ts
1075
1124
  var import_react20 = require("keen-slider/react");
1076
1125
  var import_react21 = __toESM(require("react"));
1077
1126
 
1078
- // src/components/Slider/AutoplayPlugin.ts
1127
+ // src/components/slider/autoplay-plugin.ts
1079
1128
  function AutoplayPlugin(changeSlidesEvery) {
1080
1129
  return (slider) => {
1081
1130
  let timeout;
@@ -1108,7 +1157,7 @@ function AutoplayPlugin(changeSlidesEvery) {
1108
1157
  };
1109
1158
  }
1110
1159
 
1111
- // src/components/Slider/ResizePlugin.ts
1160
+ // src/components/slider/resize-plugin.ts
1112
1161
  var ResizePlugin = (slider) => {
1113
1162
  let observer = new ResizeObserver(() => slider.update());
1114
1163
  slider.on("created", () => {
@@ -1167,7 +1216,7 @@ function loadCSS(attrs) {
1167
1216
  });
1168
1217
  }
1169
1218
 
1170
- // src/elements/Slideshow/useSlideshowConfigs.ts
1219
+ // src/elements/slideshow/use-slideshow-configs.ts
1171
1220
  function useSlideshowConfigs(props) {
1172
1221
  let {
1173
1222
  animation,
@@ -1193,8 +1242,19 @@ function useSlideshowConfigs(props) {
1193
1242
  drag: isPreviewMode || !isDesignMode,
1194
1243
  loop,
1195
1244
  selector: animation === "fade" ? null : ".keen-slider__slide",
1196
- created: () => {
1245
+ created: (slider) => {
1197
1246
  setCreated(true);
1247
+ if (isDesignMode) {
1248
+ let slideshowElement = slider.container.closest(
1249
+ '[data-wv-type="slideshow"]'
1250
+ );
1251
+ let elementId = slideshowElement?.getAttribute("data-wv-id");
1252
+ if (elementId) {
1253
+ window.weaverseSlideshowInstances = {
1254
+ [elementId]: slider
1255
+ };
1256
+ }
1257
+ }
1198
1258
  },
1199
1259
  slideChanged: (slider) => {
1200
1260
  setCurrentSlide(slider.track.details.rel);
@@ -1229,7 +1289,7 @@ function useSlideshowConfigs(props) {
1229
1289
  };
1230
1290
  }
1231
1291
 
1232
- // src/elements/Slideshow/index.tsx
1292
+ // src/elements/slideshow/index.tsx
1233
1293
  var Slideshow = (0, import_react23.forwardRef)((props, ref) => {
1234
1294
  let {
1235
1295
  animation,
@@ -1310,12 +1370,12 @@ Slideshow.defaultProps = {
1310
1370
  autoRotate: false,
1311
1371
  changeSlidesEvery: 5
1312
1372
  };
1313
- var Slideshow_default = Slideshow;
1373
+ var slideshow_default = Slideshow;
1314
1374
 
1315
- // src/elements/Slideshow/Slide.tsx
1375
+ // src/elements/slideshow/slide.tsx
1316
1376
  var import_react29 = __toESM(require("react"));
1317
1377
 
1318
- // src/components/Background.tsx
1378
+ // src/components/background.tsx
1319
1379
  var import_react24 = require("@stitches/react");
1320
1380
  var import_react25 = __toESM(require("react"));
1321
1381
  function Background2(props) {
@@ -1355,7 +1415,7 @@ var StyledBackground = (0, import_react24.styled)("div", {
1355
1415
  }
1356
1416
  });
1357
1417
 
1358
- // src/components/Overlay.tsx
1418
+ // src/components/overlay.tsx
1359
1419
  var import_react26 = require("@stitches/react");
1360
1420
  var import_react27 = __toESM(require("react"));
1361
1421
  function Overlay2(props) {
@@ -1375,7 +1435,7 @@ var StyledOverlay = (0, import_react26.styled)("div", {
1375
1435
  backgroundColor: "rgba(0, 0, 0, var(--overlay-opacity, .3))"
1376
1436
  });
1377
1437
 
1378
- // src/components/Placeholder.tsx
1438
+ // src/components/placeholder.tsx
1379
1439
  var import_react28 = __toESM(require("react"));
1380
1440
  var Placeholder = (0, import_react28.forwardRef)(
1381
1441
  (props, ref) => {
@@ -1390,9 +1450,9 @@ var Placeholder = (0, import_react28.forwardRef)(
1390
1450
  }, element), /* @__PURE__ */ import_react28.default.createElement("div", null, children));
1391
1451
  }
1392
1452
  );
1393
- var Placeholder_default = Placeholder;
1453
+ var placeholder_default = Placeholder;
1394
1454
 
1395
- // src/elements/Slideshow/position.ts
1455
+ // src/elements/slideshow/position.ts
1396
1456
  var slidePositionMap = {
1397
1457
  "top left": {
1398
1458
  justifyContent: "flex-start",
@@ -1432,7 +1492,7 @@ var slidePositionMap = {
1432
1492
  }
1433
1493
  };
1434
1494
 
1435
- // src/elements/Slideshow/Slide.tsx
1495
+ // src/elements/slideshow/slide.tsx
1436
1496
  var Slide = (0, import_react29.forwardRef)((props, ref) => {
1437
1497
  let {
1438
1498
  contentPosition,
@@ -1461,7 +1521,7 @@ var Slide = (0, import_react29.forwardRef)((props, ref) => {
1461
1521
  ref,
1462
1522
  style: slidePositionMap[contentPosition],
1463
1523
  ...rest
1464
- }, children?.length ? children : /* @__PURE__ */ import_react29.default.createElement(Placeholder_default, {
1524
+ }, children?.length ? children : /* @__PURE__ */ import_react29.default.createElement(placeholder_default, {
1465
1525
  element: "Slide",
1466
1526
  className: "wv-slide-placeholder"
1467
1527
  }, "Drag and drop elements here")));
@@ -1489,57 +1549,57 @@ Slide.defaultProps = {
1489
1549
  enableOverlay: false,
1490
1550
  overlayOpacity: 30
1491
1551
  };
1492
- var Slide_default = Slide;
1552
+ var slide_default = Slide;
1493
1553
 
1494
1554
  // src/elements/index.ts
1495
1555
  var Elements = {
1496
1556
  Countdown: {
1497
- Component: Countdown_default,
1557
+ Component: countdown_default,
1498
1558
  type: "countdown",
1499
1559
  defaultCss: css3
1500
1560
  },
1501
1561
  Button: {
1502
- Component: Button_default,
1562
+ Component: button_default,
1503
1563
  type: "button",
1504
1564
  defaultCss: css
1505
1565
  },
1506
1566
  Container: {
1507
- Component: Container_default,
1567
+ Component: container_default,
1508
1568
  type: "container",
1509
1569
  defaultCss: css2
1510
1570
  },
1511
1571
  Image: {
1512
- Component: Image_default,
1572
+ Component: image_default,
1513
1573
  type: "image",
1514
1574
  defaultCss: css4
1515
1575
  },
1516
1576
  Layout: {
1517
- Component: Layout_default,
1577
+ Component: layout_default,
1518
1578
  type: "layout",
1519
1579
  defaultCss: css5
1520
1580
  },
1521
1581
  Map: {
1522
- Component: Map_default,
1582
+ Component: map_default,
1523
1583
  type: "map",
1524
1584
  defaultCss: css6
1525
1585
  },
1526
1586
  Text: {
1527
- Component: Text_default,
1587
+ Component: text_default,
1528
1588
  type: "text",
1529
1589
  defaultCss: css7
1530
1590
  },
1531
1591
  Video: {
1532
- Component: Video_default,
1592
+ Component: video_default,
1533
1593
  type: "video",
1534
1594
  defaultCss: css8
1535
1595
  },
1536
1596
  Slideshow: {
1537
- Component: Slideshow_default,
1597
+ Component: slideshow_default,
1538
1598
  type: "slideshow",
1539
1599
  defaultCss: css9
1540
1600
  },
1541
1601
  Slide: {
1542
- Component: Slide_default,
1602
+ Component: slide_default,
1543
1603
  type: "slide",
1544
1604
  defaultCss: css10
1545
1605
  }
@@ -1557,9 +1617,9 @@ var WeaverseContext = (0, import_react30.createContext)({});
1557
1617
  var WeaverseContextProvider = WeaverseContext.Provider;
1558
1618
  var WeaverseContextConsumer = WeaverseContext.Consumer;
1559
1619
 
1560
- // src/components/Modal/index.tsx
1561
- var Modal_exports = {};
1562
- __export(Modal_exports, {
1620
+ // src/components/modal/index.tsx
1621
+ var modal_exports = {};
1622
+ __export(modal_exports, {
1563
1623
  Modal: () => Modal,
1564
1624
  ModalClose: () => ModalClose,
1565
1625
  ModalContent: () => ModalContent,
@@ -1569,7 +1629,7 @@ __export(Modal_exports, {
1569
1629
  var import_react_dialog2 = require("@radix-ui/react-dialog");
1570
1630
  var import_react33 = __toESM(require("react"));
1571
1631
 
1572
- // src/components/Modal/styled.ts
1632
+ // src/components/modal/styled.ts
1573
1633
  var import_react_dialog = require("@radix-ui/react-dialog");
1574
1634
  var import_react31 = require("@stitches/react");
1575
1635
  var overlayShow = (0, import_react31.keyframes)({
@@ -1652,7 +1712,7 @@ var StyledCloseIcon = (0, import_react31.styled)("button", {
1652
1712
  }
1653
1713
  });
1654
1714
 
1655
- // src/components/Modal/useOpenChangeEffect.ts
1715
+ // src/components/modal/use-open-change-effect.ts
1656
1716
  var import_react32 = require("react");
1657
1717
  function useOpenChangeEffect(props) {
1658
1718
  let { open, defaultOpen, onOpenChange } = props;
@@ -1678,7 +1738,7 @@ function useOpenChangeEffect(props) {
1678
1738
  return handleOpenChange;
1679
1739
  }
1680
1740
 
1681
- // src/components/Modal/index.tsx
1741
+ // src/components/modal/index.tsx
1682
1742
  var Modal = (props) => {
1683
1743
  let { children, open, defaultOpen, onOpenChange, ...rest } = props;
1684
1744
  let handleOpenChange = useOpenChangeEffect(props);
@@ -1736,7 +1796,7 @@ var ModalClose = (0, import_react33.forwardRef)(
1736
1796
  }
1737
1797
  );
1738
1798
 
1739
- // src/components/Spinner.tsx
1799
+ // src/components/spinner.tsx
1740
1800
  var import_react34 = __toESM(require("react"));
1741
1801
  function Spinner() {
1742
1802
  return /* @__PURE__ */ import_react34.default.createElement("span", {
@@ -1747,7 +1807,7 @@ function Spinner() {
1747
1807
  }));
1748
1808
  }
1749
1809
 
1750
- // src/components/Tooltip.tsx
1810
+ // src/components/tooltip.tsx
1751
1811
  var import_react35 = __toESM(require("react"));
1752
1812
  function Tooltip({ children }) {
1753
1813
  return /* @__PURE__ */ import_react35.default.createElement("span", {
@@ -1755,7 +1815,7 @@ function Tooltip({ children }) {
1755
1815
  }, children);
1756
1816
  }
1757
1817
 
1758
- // src/components/Slider/index.tsx
1818
+ // src/components/slider/index.tsx
1759
1819
  var import_clsx6 = __toESM(require("clsx"));
1760
1820
  var import_react36 = require("keen-slider/react");
1761
1821
  var import_react37 = __toESM(require("react"));
@@ -1806,9 +1866,9 @@ function Slider(props) {
1806
1866
  var Components = {
1807
1867
  Background: Background2,
1808
1868
  Icon,
1809
- ModalComponents: Modal_exports,
1869
+ ModalComponents: modal_exports,
1810
1870
  Overlay: Overlay2,
1811
- Placeholder: Placeholder_default,
1871
+ Placeholder: placeholder_default,
1812
1872
  Spinner,
1813
1873
  Slider,
1814
1874
  Tooltip
package/dist/index.mjs CHANGED
@@ -11,7 +11,7 @@ export * from "@weaverse/core";
11
11
  import { Weaverse } from "@weaverse/core";
12
12
  import { createContext } from "react";
13
13
 
14
- // src/elements/Button.tsx
14
+ // src/elements/button.tsx
15
15
  import * as React from "react";
16
16
  import { useContext } from "react";
17
17
  var Button = React.forwardRef((props, ref) => {
@@ -56,9 +56,9 @@ var css = {
56
56
  }
57
57
  }
58
58
  };
59
- var Button_default = Button;
59
+ var button_default = Button;
60
60
 
61
- // src/elements/Container.tsx
61
+ // src/elements/container.tsx
62
62
  import React2, { forwardRef as forwardRef2 } from "react";
63
63
  var Container = forwardRef2(
64
64
  (props, ref) => {
@@ -79,9 +79,9 @@ var css2 = {
79
79
  }
80
80
  };
81
81
  Container.defaultProps = {};
82
- var Container_default = Container;
82
+ var container_default = Container;
83
83
 
84
- // src/elements/Countdown/index.tsx
84
+ // src/elements/countdown/index.tsx
85
85
  import React4, { forwardRef as forwardRef3, useContext as useContext2, useEffect } from "react";
86
86
 
87
87
  // src/constant/index.ts
@@ -114,7 +114,7 @@ function getVimeoId(url) {
114
114
  return match ? match[1] : null;
115
115
  }
116
116
 
117
- // src/elements/Countdown/TimerBlock.tsx
117
+ // src/elements/countdown/timer-block.tsx
118
118
  import React3 from "react";
119
119
  function TimerBlock({ value, label }) {
120
120
  return /* @__PURE__ */ React3.createElement("div", {
@@ -126,7 +126,7 @@ function TimerBlock({ value, label }) {
126
126
  }, label));
127
127
  }
128
128
 
129
- // src/elements/Countdown/index.tsx
129
+ // src/elements/countdown/index.tsx
130
130
  var Countdown = forwardRef3(
131
131
  (props, ref) => {
132
132
  const { isDesignMode } = useContext2(WeaverseContext);
@@ -239,9 +239,9 @@ Countdown.defaultProps = {
239
239
  showLabel: true,
240
240
  showColon: true
241
241
  };
242
- var Countdown_default = Countdown;
242
+ var countdown_default = Countdown;
243
243
 
244
- // src/elements/Image.tsx
244
+ // src/elements/image.tsx
245
245
  import React5 from "react";
246
246
  var Image = React5.forwardRef(
247
247
  (props, ref) => {
@@ -298,12 +298,12 @@ Image.defaultProps = {
298
298
  openLinkInNewTab: false,
299
299
  linkTo: ""
300
300
  };
301
- var Image_default = Image;
301
+ var image_default = Image;
302
302
 
303
- // src/elements/Layout/index.tsx
303
+ // src/elements/layout/index.tsx
304
304
  import React8, { forwardRef as forwardRef4 } from "react";
305
305
 
306
- // src/elements/Layout/Background.tsx
306
+ // src/elements/layout/Background.tsx
307
307
  import React6 from "react";
308
308
  function Background(props) {
309
309
  let { bgColor, imgUrl, objectFit, objectPosition } = props;
@@ -326,7 +326,7 @@ function Background(props) {
326
326
  return null;
327
327
  }
328
328
 
329
- // src/elements/Layout/Overlay.tsx
329
+ // src/elements/layout/Overlay.tsx
330
330
  import React7 from "react";
331
331
  function Overlay(props) {
332
332
  let { enableOverlay, overlayOpacity } = props;
@@ -342,7 +342,7 @@ function Overlay(props) {
342
342
  return null;
343
343
  }
344
344
 
345
- // src/elements/Layout/index.tsx
345
+ // src/elements/layout/index.tsx
346
346
  var Layout = forwardRef4((props, ref) => {
347
347
  let {
348
348
  children,
@@ -437,9 +437,9 @@ Layout.defaultProps = {
437
437
  enableOverlay: false,
438
438
  overlayOpacity: 30
439
439
  };
440
- var Layout_default = Layout;
440
+ var layout_default = Layout;
441
441
 
442
- // src/elements/Map.tsx
442
+ // src/elements/map.tsx
443
443
  import React9, { forwardRef as forwardRef5 } from "react";
444
444
  var Map = forwardRef5((props, ref) => {
445
445
  let { place, zoom, ...rest } = props;
@@ -471,9 +471,9 @@ Map.defaultProps = {
471
471
  place: "Hanoi",
472
472
  zoom: 14
473
473
  };
474
- var Map_default = Map;
474
+ var map_default = Map;
475
475
 
476
- // src/elements/Text.tsx
476
+ // src/elements/text.tsx
477
477
  import * as React10 from "react";
478
478
  var Text = React10.forwardRef(
479
479
  (props, ref) => {
@@ -502,12 +502,12 @@ var css7 = {
502
502
  Text.defaultProps = {
503
503
  value: "<p>The quick brown fox jumps over the lazy dog</p>"
504
504
  };
505
- var Text_default = Text;
505
+ var text_default = Text;
506
506
 
507
- // src/elements/Video/index.tsx
507
+ // src/elements/video/index.tsx
508
508
  import React14, { forwardRef as forwardRef7, useContext as useContext3 } from "react";
509
509
 
510
- // src/elements/Video/HTMLVideo.tsx
510
+ // src/elements/video/html-video.tsx
511
511
  import React11 from "react";
512
512
  function HTMLVideo(props) {
513
513
  let { src, type, controls, autoPlay, loop, muted } = props;
@@ -527,7 +527,7 @@ function HTMLVideo(props) {
527
527
  }), "Your browser does not support the video tag.");
528
528
  }
529
529
 
530
- // src/elements/Video/Vimeo.tsx
530
+ // src/elements/video/vimeo.tsx
531
531
  import React12 from "react";
532
532
  function Vimeo(props) {
533
533
  let { vimeoId, controls, autoPlay, loop, muted } = props;
@@ -541,7 +541,7 @@ function Vimeo(props) {
541
541
  });
542
542
  }
543
543
 
544
- // src/elements/Video/Youtube.tsx
544
+ // src/elements/video/youtube.tsx
545
545
  import React13 from "react";
546
546
  function Youtube(props) {
547
547
  let { youtubeId, controls, autoPlay, loop, muted } = props;
@@ -557,12 +557,11 @@ function Youtube(props) {
557
557
  src: youtubeSrc,
558
558
  width: "100%",
559
559
  height: "100%",
560
- allowFullScreen: true,
561
560
  allow
562
561
  });
563
562
  }
564
563
 
565
- // src/elements/Video/index.tsx
564
+ // src/elements/video/index.tsx
566
565
  var Video = forwardRef7((props, ref) => {
567
566
  let { isDesignMode } = useContext3(WeaverseContext);
568
567
  let {
@@ -624,24 +623,24 @@ Video.defaultProps = {
624
623
  autoPlay: true,
625
624
  muted: true
626
625
  };
627
- var Video_default = Video;
626
+ var video_default = Video;
628
627
 
629
- // src/elements/Slideshow/index.tsx
628
+ // src/elements/slideshow/index.tsx
630
629
  import { css as stitchesCss } from "@stitches/react";
631
630
  import clsx5 from "clsx";
632
631
  import React20, { forwardRef as forwardRef8 } from "react";
633
632
 
634
- // src/components/Slider/Arrows.tsx
633
+ // src/components/slider/arrows.tsx
635
634
  import { styled } from "@stitches/react";
636
635
  import clsx2 from "clsx";
637
636
  import React17 from "react";
638
637
 
639
- // src/components/Icons/index.tsx
638
+ // src/components/icons/index.tsx
640
639
  import React16 from "react";
641
640
 
642
- // src/components/Icons/Phosphor.tsx
643
- var Phosphor_exports = {};
644
- __export(Phosphor_exports, {
641
+ // src/components/icons/phosphor.tsx
642
+ var phosphor_exports = {};
643
+ __export(phosphor_exports, {
645
644
  ArrowLeft: () => ArrowLeft,
646
645
  ArrowRight: () => ArrowRight,
647
646
  CircleNotch: () => CircleNotch,
@@ -650,6 +649,7 @@ __export(Phosphor_exports, {
650
649
  Minus: () => Minus,
651
650
  Plus: () => Plus,
652
651
  ShoppingCart: () => ShoppingCart,
652
+ Storefront: () => Storefront,
653
653
  X: () => X
654
654
  });
655
655
  import React15 from "react";
@@ -851,6 +851,55 @@ var ShoppingCart = (props) => {
851
851
  strokeWidth: "16"
852
852
  }));
853
853
  };
854
+ var Storefront = (props) => {
855
+ return /* @__PURE__ */ React15.createElement("svg", {
856
+ xmlns: "http://www.w3.org/2000/svg",
857
+ width: "192",
858
+ height: "192",
859
+ fill: "currentColor",
860
+ viewBox: "0 0 256 256",
861
+ ...props
862
+ }, /* @__PURE__ */ React15.createElement("rect", {
863
+ width: "256",
864
+ height: "256",
865
+ fill: "none"
866
+ }), /* @__PURE__ */ React15.createElement("path", {
867
+ d: "M48,139.6V208a8,8,0,0,0,8,8H200a8,8,0,0,0,8-8V139.6",
868
+ fill: "none",
869
+ stroke: "currentColor",
870
+ strokeLinecap: "round",
871
+ strokeLinejoin: "round",
872
+ strokeWidth: "8"
873
+ }), /* @__PURE__ */ React15.createElement("path", {
874
+ d: "M54,40H202a8.1,8.1,0,0,1,7.7,5.8L224,96H32L46.3,45.8A8.1,8.1,0,0,1,54,40Z",
875
+ fill: "none",
876
+ stroke: "currentColor",
877
+ strokeLinecap: "round",
878
+ strokeLinejoin: "round",
879
+ strokeWidth: "8"
880
+ }), /* @__PURE__ */ React15.createElement("path", {
881
+ d: "M96,96v16a32,32,0,0,1-64,0V96",
882
+ fill: "none",
883
+ stroke: "currentColor",
884
+ strokeLinecap: "round",
885
+ strokeLinejoin: "round",
886
+ strokeWidth: "8"
887
+ }), /* @__PURE__ */ React15.createElement("path", {
888
+ d: "M160,96v16a32,32,0,0,1-64,0V96",
889
+ fill: "none",
890
+ stroke: "currentColor",
891
+ strokeLinecap: "round",
892
+ strokeLinejoin: "round",
893
+ strokeWidth: "8"
894
+ }), /* @__PURE__ */ React15.createElement("path", {
895
+ d: "M224,96v16a32,32,0,0,1-64,0V96",
896
+ fill: "none",
897
+ stroke: "currentColor",
898
+ strokeLinecap: "round",
899
+ strokeLinejoin: "round",
900
+ strokeWidth: "8"
901
+ }));
902
+ };
854
903
  var Eye = (props) => {
855
904
  return /* @__PURE__ */ React15.createElement("svg", {
856
905
  xmlns: "http://www.w3.org/2000/svg",
@@ -882,10 +931,10 @@ var Eye = (props) => {
882
931
  }));
883
932
  };
884
933
 
885
- // src/components/Icons/index.tsx
934
+ // src/components/icons/index.tsx
886
935
  import clsx from "clsx";
887
936
  function Icon({ name, className, ...props }) {
888
- let WeaverseIcon = Phosphor_exports[name];
937
+ let WeaverseIcon = phosphor_exports[name];
889
938
  let cls = clsx("wv-icon", className);
890
939
  return /* @__PURE__ */ React16.createElement(WeaverseIcon, {
891
940
  className: cls,
@@ -893,7 +942,7 @@ function Icon({ name, className, ...props }) {
893
942
  });
894
943
  }
895
944
 
896
- // src/components/Slider/Arrows.tsx
945
+ // src/components/slider/arrows.tsx
897
946
  function Arrows(props) {
898
947
  let { currentSlide, instanceRef, className, offset } = props;
899
948
  let isFirst = currentSlide === 0;
@@ -968,7 +1017,7 @@ var StyledArrows = styled("div", {
968
1017
  }
969
1018
  });
970
1019
 
971
- // src/components/Slider/Dots.tsx
1020
+ // src/components/slider/dots.tsx
972
1021
  import { styled as styled2 } from "@stitches/react";
973
1022
  import clsx3 from "clsx";
974
1023
  import React18 from "react";
@@ -1039,11 +1088,11 @@ var StyledDots = styled2("div", {
1039
1088
  }
1040
1089
  });
1041
1090
 
1042
- // src/elements/Slideshow/useSlideshowConfigs.ts
1091
+ // src/elements/slideshow/use-slideshow-configs.ts
1043
1092
  import { useKeenSlider } from "keen-slider/react";
1044
1093
  import React19, { useContext as useContext4, useEffect as useEffect2, useState } from "react";
1045
1094
 
1046
- // src/components/Slider/AutoplayPlugin.ts
1095
+ // src/components/slider/autoplay-plugin.ts
1047
1096
  function AutoplayPlugin(changeSlidesEvery) {
1048
1097
  return (slider) => {
1049
1098
  let timeout;
@@ -1076,7 +1125,7 @@ function AutoplayPlugin(changeSlidesEvery) {
1076
1125
  };
1077
1126
  }
1078
1127
 
1079
- // src/components/Slider/ResizePlugin.ts
1128
+ // src/components/slider/resize-plugin.ts
1080
1129
  var ResizePlugin = (slider) => {
1081
1130
  let observer = new ResizeObserver(() => slider.update());
1082
1131
  slider.on("created", () => {
@@ -1135,7 +1184,7 @@ function loadCSS(attrs) {
1135
1184
  });
1136
1185
  }
1137
1186
 
1138
- // src/elements/Slideshow/useSlideshowConfigs.ts
1187
+ // src/elements/slideshow/use-slideshow-configs.ts
1139
1188
  function useSlideshowConfigs(props) {
1140
1189
  let {
1141
1190
  animation,
@@ -1161,8 +1210,19 @@ function useSlideshowConfigs(props) {
1161
1210
  drag: isPreviewMode || !isDesignMode,
1162
1211
  loop,
1163
1212
  selector: animation === "fade" ? null : ".keen-slider__slide",
1164
- created: () => {
1213
+ created: (slider) => {
1165
1214
  setCreated(true);
1215
+ if (isDesignMode) {
1216
+ let slideshowElement = slider.container.closest(
1217
+ '[data-wv-type="slideshow"]'
1218
+ );
1219
+ let elementId = slideshowElement?.getAttribute("data-wv-id");
1220
+ if (elementId) {
1221
+ window.weaverseSlideshowInstances = {
1222
+ [elementId]: slider
1223
+ };
1224
+ }
1225
+ }
1166
1226
  },
1167
1227
  slideChanged: (slider) => {
1168
1228
  setCurrentSlide(slider.track.details.rel);
@@ -1197,7 +1257,7 @@ function useSlideshowConfigs(props) {
1197
1257
  };
1198
1258
  }
1199
1259
 
1200
- // src/elements/Slideshow/index.tsx
1260
+ // src/elements/slideshow/index.tsx
1201
1261
  var Slideshow = forwardRef8((props, ref) => {
1202
1262
  let {
1203
1263
  animation,
@@ -1278,12 +1338,12 @@ Slideshow.defaultProps = {
1278
1338
  autoRotate: false,
1279
1339
  changeSlidesEvery: 5
1280
1340
  };
1281
- var Slideshow_default = Slideshow;
1341
+ var slideshow_default = Slideshow;
1282
1342
 
1283
- // src/elements/Slideshow/Slide.tsx
1343
+ // src/elements/slideshow/slide.tsx
1284
1344
  import React24, { forwardRef as forwardRef10 } from "react";
1285
1345
 
1286
- // src/components/Background.tsx
1346
+ // src/components/background.tsx
1287
1347
  import { styled as styled3 } from "@stitches/react";
1288
1348
  import React21 from "react";
1289
1349
  function Background2(props) {
@@ -1323,7 +1383,7 @@ var StyledBackground = styled3("div", {
1323
1383
  }
1324
1384
  });
1325
1385
 
1326
- // src/components/Overlay.tsx
1386
+ // src/components/overlay.tsx
1327
1387
  import { styled as styled4 } from "@stitches/react";
1328
1388
  import React22 from "react";
1329
1389
  function Overlay2(props) {
@@ -1343,7 +1403,7 @@ var StyledOverlay = styled4("div", {
1343
1403
  backgroundColor: "rgba(0, 0, 0, var(--overlay-opacity, .3))"
1344
1404
  });
1345
1405
 
1346
- // src/components/Placeholder.tsx
1406
+ // src/components/placeholder.tsx
1347
1407
  import React23, { forwardRef as forwardRef9 } from "react";
1348
1408
  var Placeholder = forwardRef9(
1349
1409
  (props, ref) => {
@@ -1358,9 +1418,9 @@ var Placeholder = forwardRef9(
1358
1418
  }, element), /* @__PURE__ */ React23.createElement("div", null, children));
1359
1419
  }
1360
1420
  );
1361
- var Placeholder_default = Placeholder;
1421
+ var placeholder_default = Placeholder;
1362
1422
 
1363
- // src/elements/Slideshow/position.ts
1423
+ // src/elements/slideshow/position.ts
1364
1424
  var slidePositionMap = {
1365
1425
  "top left": {
1366
1426
  justifyContent: "flex-start",
@@ -1400,7 +1460,7 @@ var slidePositionMap = {
1400
1460
  }
1401
1461
  };
1402
1462
 
1403
- // src/elements/Slideshow/Slide.tsx
1463
+ // src/elements/slideshow/slide.tsx
1404
1464
  var Slide = forwardRef10((props, ref) => {
1405
1465
  let {
1406
1466
  contentPosition,
@@ -1429,7 +1489,7 @@ var Slide = forwardRef10((props, ref) => {
1429
1489
  ref,
1430
1490
  style: slidePositionMap[contentPosition],
1431
1491
  ...rest
1432
- }, children?.length ? children : /* @__PURE__ */ React24.createElement(Placeholder_default, {
1492
+ }, children?.length ? children : /* @__PURE__ */ React24.createElement(placeholder_default, {
1433
1493
  element: "Slide",
1434
1494
  className: "wv-slide-placeholder"
1435
1495
  }, "Drag and drop elements here")));
@@ -1457,57 +1517,57 @@ Slide.defaultProps = {
1457
1517
  enableOverlay: false,
1458
1518
  overlayOpacity: 30
1459
1519
  };
1460
- var Slide_default = Slide;
1520
+ var slide_default = Slide;
1461
1521
 
1462
1522
  // src/elements/index.ts
1463
1523
  var Elements = {
1464
1524
  Countdown: {
1465
- Component: Countdown_default,
1525
+ Component: countdown_default,
1466
1526
  type: "countdown",
1467
1527
  defaultCss: css3
1468
1528
  },
1469
1529
  Button: {
1470
- Component: Button_default,
1530
+ Component: button_default,
1471
1531
  type: "button",
1472
1532
  defaultCss: css
1473
1533
  },
1474
1534
  Container: {
1475
- Component: Container_default,
1535
+ Component: container_default,
1476
1536
  type: "container",
1477
1537
  defaultCss: css2
1478
1538
  },
1479
1539
  Image: {
1480
- Component: Image_default,
1540
+ Component: image_default,
1481
1541
  type: "image",
1482
1542
  defaultCss: css4
1483
1543
  },
1484
1544
  Layout: {
1485
- Component: Layout_default,
1545
+ Component: layout_default,
1486
1546
  type: "layout",
1487
1547
  defaultCss: css5
1488
1548
  },
1489
1549
  Map: {
1490
- Component: Map_default,
1550
+ Component: map_default,
1491
1551
  type: "map",
1492
1552
  defaultCss: css6
1493
1553
  },
1494
1554
  Text: {
1495
- Component: Text_default,
1555
+ Component: text_default,
1496
1556
  type: "text",
1497
1557
  defaultCss: css7
1498
1558
  },
1499
1559
  Video: {
1500
- Component: Video_default,
1560
+ Component: video_default,
1501
1561
  type: "video",
1502
1562
  defaultCss: css8
1503
1563
  },
1504
1564
  Slideshow: {
1505
- Component: Slideshow_default,
1565
+ Component: slideshow_default,
1506
1566
  type: "slideshow",
1507
1567
  defaultCss: css9
1508
1568
  },
1509
1569
  Slide: {
1510
- Component: Slide_default,
1570
+ Component: slide_default,
1511
1571
  type: "slide",
1512
1572
  defaultCss: css10
1513
1573
  }
@@ -1525,9 +1585,9 @@ var WeaverseContext = createContext({});
1525
1585
  var WeaverseContextProvider = WeaverseContext.Provider;
1526
1586
  var WeaverseContextConsumer = WeaverseContext.Consumer;
1527
1587
 
1528
- // src/components/Modal/index.tsx
1529
- var Modal_exports = {};
1530
- __export(Modal_exports, {
1588
+ // src/components/modal/index.tsx
1589
+ var modal_exports = {};
1590
+ __export(modal_exports, {
1531
1591
  Modal: () => Modal,
1532
1592
  ModalClose: () => ModalClose,
1533
1593
  ModalContent: () => ModalContent,
@@ -1537,7 +1597,7 @@ __export(Modal_exports, {
1537
1597
  import { Close, Portal, Root, Trigger } from "@radix-ui/react-dialog";
1538
1598
  import React25, { forwardRef as forwardRef11 } from "react";
1539
1599
 
1540
- // src/components/Modal/styled.ts
1600
+ // src/components/modal/styled.ts
1541
1601
  import { Content, Overlay as Overlay3, Title } from "@radix-ui/react-dialog";
1542
1602
  import { keyframes, styled as styled5 } from "@stitches/react";
1543
1603
  var overlayShow = keyframes({
@@ -1620,7 +1680,7 @@ var StyledCloseIcon = styled5("button", {
1620
1680
  }
1621
1681
  });
1622
1682
 
1623
- // src/components/Modal/useOpenChangeEffect.ts
1683
+ // src/components/modal/use-open-change-effect.ts
1624
1684
  import { useContext as useContext5, useEffect as useEffect3 } from "react";
1625
1685
  function useOpenChangeEffect(props) {
1626
1686
  let { open, defaultOpen, onOpenChange } = props;
@@ -1646,7 +1706,7 @@ function useOpenChangeEffect(props) {
1646
1706
  return handleOpenChange;
1647
1707
  }
1648
1708
 
1649
- // src/components/Modal/index.tsx
1709
+ // src/components/modal/index.tsx
1650
1710
  var Modal = (props) => {
1651
1711
  let { children, open, defaultOpen, onOpenChange, ...rest } = props;
1652
1712
  let handleOpenChange = useOpenChangeEffect(props);
@@ -1704,7 +1764,7 @@ var ModalClose = forwardRef11(
1704
1764
  }
1705
1765
  );
1706
1766
 
1707
- // src/components/Spinner.tsx
1767
+ // src/components/spinner.tsx
1708
1768
  import React26 from "react";
1709
1769
  function Spinner() {
1710
1770
  return /* @__PURE__ */ React26.createElement("span", {
@@ -1715,7 +1775,7 @@ function Spinner() {
1715
1775
  }));
1716
1776
  }
1717
1777
 
1718
- // src/components/Tooltip.tsx
1778
+ // src/components/tooltip.tsx
1719
1779
  import React27 from "react";
1720
1780
  function Tooltip({ children }) {
1721
1781
  return /* @__PURE__ */ React27.createElement("span", {
@@ -1723,7 +1783,7 @@ function Tooltip({ children }) {
1723
1783
  }, children);
1724
1784
  }
1725
1785
 
1726
- // src/components/Slider/index.tsx
1786
+ // src/components/slider/index.tsx
1727
1787
  import clsx6 from "clsx";
1728
1788
  import { useKeenSlider as useKeenSlider2 } from "keen-slider/react";
1729
1789
  import React28, { useState as useState2 } from "react";
@@ -1774,9 +1834,9 @@ function Slider(props) {
1774
1834
  var Components = {
1775
1835
  Background: Background2,
1776
1836
  Icon,
1777
- ModalComponents: Modal_exports,
1837
+ ModalComponents: modal_exports,
1778
1838
  Overlay: Overlay2,
1779
- Placeholder: Placeholder_default,
1839
+ Placeholder: placeholder_default,
1780
1840
  Spinner,
1781
1841
  Slider,
1782
1842
  Tooltip
@@ -1790,12 +1850,12 @@ var SliderComponents = {
1790
1850
 
1791
1851
  // src/renderer.tsx
1792
1852
  import { isBrowser } from "@weaverse/core";
1793
- import React29, { useContext as useContext6, useEffect as useEffect5, useRef, useState as useState3 } from "react";
1853
+ import React29, { useContext as useContext6, useEffect as useEffect4, useRef, useState as useState3 } from "react";
1794
1854
  var WeaverseRoot = ({ context }) => {
1795
1855
  let [, setData] = useState3(context.projectData);
1796
1856
  let rootRef = useRef();
1797
1857
  let renderRoot = () => setData({});
1798
- useEffect5(() => {
1858
+ useEffect4(() => {
1799
1859
  context.subscribe(renderRoot);
1800
1860
  context.contentRootElement = rootRef.current;
1801
1861
  return () => {
@@ -1821,7 +1881,7 @@ var ItemComponent = ({ instance }) => {
1821
1881
  let { stitchesInstance, elementInstances } = useContext6(WeaverseContext);
1822
1882
  let [data, setData] = useState3(instance.data);
1823
1883
  let { id, type, childIds = [], css: css11, className, ...rest } = data;
1824
- useEffect5(() => {
1884
+ useEffect4(() => {
1825
1885
  let render = (data2) => setData({ ...data2 });
1826
1886
  instance.subscribe(render);
1827
1887
  if (isBrowser && !instance.ref.current) {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.7.63",
2
+ "version": "0.7.65",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  "dependencies": {
35
35
  "@radix-ui/react-dialog": "^1.0.2",
36
36
  "@stitches/react": "^1.2.8",
37
- "@weaverse/core": "0.7.63",
37
+ "@weaverse/core": "0.7.65",
38
38
  "clsx": "^1.2.1",
39
39
  "keen-slider": "^6.8.5"
40
40
  }