@weaverse/react 1.0.5 → 1.0.7

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.js CHANGED
@@ -45,7 +45,7 @@ __reExport(src_exports, require("@weaverse/core"), module.exports);
45
45
 
46
46
  // src/context.ts
47
47
  var import_core2 = require("@weaverse/core");
48
- var import_react30 = require("react");
48
+ var import_react36 = require("react");
49
49
 
50
50
  // src/elements/button.tsx
51
51
  var React = __toESM(require("react"));
@@ -123,6 +123,7 @@ var import_react4 = __toESM(require("react"));
123
123
  // src/constant/index.ts
124
124
  var TIMES = ["days", "hours", "minutes", "seconds"];
125
125
  var COUNTDOWN_KEY = "wv-cd-evergreen-start";
126
+ var INSTAGRAM_API = "https://graph.instagram.com";
126
127
 
127
128
  // src/utils/index.ts
128
129
  function getTime(_seconds) {
@@ -325,46 +326,65 @@ Image.defaultProps = {
325
326
  };
326
327
  var image_default = Image;
327
328
 
328
- // src/elements/layout/index.tsx
329
+ // src/elements/layout.tsx
329
330
  var import_react8 = __toESM(require("react"));
330
331
 
331
- // src/elements/layout/Background.tsx
332
+ // src/components/background.tsx
332
333
  var import_react6 = __toESM(require("react"));
333
334
  function Background(props) {
334
- let { bgColor, imgUrl, objectFit, objectPosition } = props;
335
+ let {
336
+ backgroundColor,
337
+ backgroundImage,
338
+ backgroundFit,
339
+ backgroundPosition,
340
+ className
341
+ } = props;
335
342
  let style = {
336
- ["--layout-bg-color"]: bgColor,
337
- ["--layout-bg-image-object-fit"]: objectFit,
338
- ["--layout-bg-image-position"]: objectPosition
343
+ display: "block",
344
+ position: "absolute",
345
+ inset: 0,
346
+ backgroundColor
339
347
  };
340
- if (imgUrl || bgColor) {
341
- return /* @__PURE__ */ import_react6.default.createElement("div", { style, className: "wv-layout-background" }, imgUrl && /* @__PURE__ */ import_react6.default.createElement(
348
+ if (backgroundImage || backgroundColor) {
349
+ return /* @__PURE__ */ import_react6.default.createElement("div", { style, className }, backgroundImage && /* @__PURE__ */ import_react6.default.createElement(
342
350
  "img",
343
351
  {
344
352
  width: "100%",
345
353
  height: "100%",
346
- "data-blink-src": imgUrl,
347
- alt: "Section background"
354
+ "data-blink-src": backgroundImage,
355
+ alt: "Background",
356
+ style: {
357
+ objectFit: backgroundFit,
358
+ objectPosition: backgroundPosition
359
+ }
348
360
  }
349
361
  ));
350
362
  }
351
363
  return null;
352
364
  }
353
365
 
354
- // src/elements/layout/Overlay.tsx
366
+ // src/components/overlay.tsx
355
367
  var import_react7 = __toESM(require("react"));
356
368
  function Overlay(props) {
357
- let { enableOverlay, overlayOpacity } = props;
369
+ let { enableOverlay, overlayOpacity, className } = props;
358
370
  if (enableOverlay) {
359
- let style = {
360
- ["--layout-overlay-opacity"]: overlayOpacity / 100
361
- };
362
- return /* @__PURE__ */ import_react7.default.createElement("div", { className: "wv-layout-overlay", style });
371
+ return /* @__PURE__ */ import_react7.default.createElement(
372
+ "div",
373
+ {
374
+ className,
375
+ style: {
376
+ position: "absolute",
377
+ inset: 0,
378
+ display: "block",
379
+ backgroundColor: `rgba(0, 0, 0, ${overlayOpacity / 100})`
380
+ }
381
+ }
382
+ );
363
383
  }
364
384
  return null;
365
385
  }
366
386
 
367
- // src/elements/layout/index.tsx
387
+ // src/elements/layout.tsx
368
388
  var Layout = (0, import_react8.forwardRef)((props, ref) => {
369
389
  let {
370
390
  children,
@@ -395,10 +415,10 @@ var Layout = (0, import_react8.forwardRef)((props, ref) => {
395
415
  return /* @__PURE__ */ import_react8.default.createElement("div", { ref, ...rest, style }, /* @__PURE__ */ import_react8.default.createElement(
396
416
  Background,
397
417
  {
398
- imgUrl: backgroundImage,
399
- bgColor: backgroundColor,
400
- objectFit,
401
- objectPosition
418
+ backgroundImage,
419
+ backgroundColor,
420
+ backgroundFit: objectFit,
421
+ backgroundPosition: objectPosition
402
422
  }
403
423
  ), /* @__PURE__ */ import_react8.default.createElement(Overlay, { enableOverlay, overlayOpacity }), /* @__PURE__ */ import_react8.default.createElement("div", { "data-layout-content": true }, children));
404
424
  });
@@ -415,22 +435,6 @@ var css5 = {
415
435
  gridAutoRows: "var(--row-size)",
416
436
  gap: "var(--gap)",
417
437
  maxWidth: "var(--layout-content-width)"
418
- },
419
- ".wv-layout-background": {
420
- display: "block",
421
- position: "absolute",
422
- inset: 0,
423
- backgroundColor: "var(--layout-bg-color)",
424
- img: {
425
- objectFit: "var(--layout-bg-image-object-fit, cover)",
426
- objectPosition: "var(--layout-bg-image-position, 50% 50%)"
427
- }
428
- },
429
- ".wv-layout-overlay": {
430
- display: "block",
431
- position: "absolute",
432
- inset: 0,
433
- backgroundColor: "rgba(0, 0, 0, var(--layout-overlay-opacity, 0.5))"
434
438
  }
435
439
  },
436
440
  "@mobile": {
@@ -510,7 +514,7 @@ var css7 = {
510
514
  overflow: "hidden",
511
515
  ".wv-text-content": {
512
516
  width: "100%",
513
- height: "100%",
517
+ height: "fit-content",
514
518
  "> p, > h1, > h2, > h3, > h4, > h5, > h6": {
515
519
  all: "inherit",
516
520
  margin: "0",
@@ -527,14 +531,76 @@ Text.defaultProps = {
527
531
  };
528
532
  var text_default = Text;
529
533
 
534
+ // src/elements/scrolling-text.tsx
535
+ var import_react10 = __toESM(require("react"));
536
+ var import_react11 = require("react");
537
+ var ScrollingText = import_react10.default.forwardRef((props, ref) => {
538
+ let { children, value, gap, speed, pauseOnHover, ...rest } = props;
539
+ let [playState, setPlayState] = (0, import_react11.useState)("running");
540
+ let style = {
541
+ "--gap": `${gap}px`,
542
+ "--speed": `${speed}s`,
543
+ "--play-state": playState
544
+ };
545
+ let events = {};
546
+ if (pauseOnHover) {
547
+ events = {
548
+ onMouseEnter: () => setPlayState("paused"),
549
+ onMouseLeave: () => setPlayState("running")
550
+ };
551
+ }
552
+ return /* @__PURE__ */ import_react10.default.createElement("div", { ref, ...rest }, /* @__PURE__ */ import_react10.default.createElement("div", { className: "wv-scrolling-text__container", style, ...events }, Array.from({ length: 30 }).map((_, i) => /* @__PURE__ */ import_react10.default.createElement(
553
+ "div",
554
+ {
555
+ key: i,
556
+ className: "wv-text-content",
557
+ dangerouslySetInnerHTML: { __html: value }
558
+ }
559
+ ))));
560
+ });
561
+ var css8 = {
562
+ "@desktop": {
563
+ display: "flex",
564
+ padding: "10px",
565
+ overflow: "hidden",
566
+ ".wv-scrolling-text__container": {
567
+ visibility: "visible",
568
+ whiteSpace: "nowrap",
569
+ display: "flex",
570
+ gap: "var(--gap, 40px)",
571
+ animation: "wv-scrolling-text var(--speed, 100s) linear infinite",
572
+ animationPlayState: "var(--play-state, running)",
573
+ ".wv-text-content": {
574
+ width: "100%",
575
+ height: "fit-content",
576
+ "> p, > h1, > h2, > h3, > h4, > h5, > h6": {
577
+ all: "inherit",
578
+ margin: "0",
579
+ wordBreak: "break-word",
580
+ overflowWrap: "break-word",
581
+ width: "auto",
582
+ height: "auto"
583
+ }
584
+ }
585
+ }
586
+ }
587
+ };
588
+ ScrollingText.defaultProps = {
589
+ value: "<p>The quick brown fox jumps over the lazy dog</p>",
590
+ gap: 40,
591
+ speed: 200,
592
+ pauseOnHover: true
593
+ };
594
+ var scrolling_text_default = ScrollingText;
595
+
530
596
  // src/elements/video/index.tsx
531
- var import_react13 = __toESM(require("react"));
597
+ var import_react15 = __toESM(require("react"));
532
598
 
533
599
  // src/elements/video/html-video.tsx
534
- var import_react10 = __toESM(require("react"));
600
+ var import_react12 = __toESM(require("react"));
535
601
  function HTMLVideo(props) {
536
602
  let { src, type, controls, autoPlay, loop, muted } = props;
537
- return /* @__PURE__ */ import_react10.default.createElement(
603
+ return /* @__PURE__ */ import_react12.default.createElement(
538
604
  "video",
539
605
  {
540
606
  controls,
@@ -544,23 +610,23 @@ function HTMLVideo(props) {
544
610
  controlsList: "nodownload",
545
611
  disablePictureInPicture: true
546
612
  },
547
- /* @__PURE__ */ import_react10.default.createElement("source", { src, type: type || "video/mp4" }),
548
- /* @__PURE__ */ import_react10.default.createElement("source", { src, type: "video/ogg" }),
613
+ /* @__PURE__ */ import_react12.default.createElement("source", { src, type: type || "video/mp4" }),
614
+ /* @__PURE__ */ import_react12.default.createElement("source", { src, type: "video/ogg" }),
549
615
  "Your browser does not support the video tag."
550
616
  );
551
617
  }
552
618
 
553
619
  // src/elements/video/vimeo.tsx
554
- var import_react11 = __toESM(require("react"));
620
+ var import_react13 = __toESM(require("react"));
555
621
  function Vimeo(props) {
556
622
  let { vimeoId, controls, autoPlay, loop, muted } = props;
557
623
  let params = `autoplay=${autoPlay}&loop=${loop}&controls=${controls}&muted=${muted}`;
558
624
  let vimeoSrc = `https://player.vimeo.com/video/${vimeoId}?${params}`;
559
- return /* @__PURE__ */ import_react11.default.createElement("iframe", { src: vimeoSrc, width: "100%", height: "100%", allowFullScreen: true });
625
+ return /* @__PURE__ */ import_react13.default.createElement("iframe", { src: vimeoSrc, width: "100%", height: "100%", allowFullScreen: true });
560
626
  }
561
627
 
562
628
  // src/elements/video/youtube.tsx
563
- var import_react12 = __toESM(require("react"));
629
+ var import_react14 = __toESM(require("react"));
564
630
  function Youtube(props) {
565
631
  let { youtubeId, controls, autoPlay, loop, muted } = props;
566
632
  let params = new URLSearchParams({
@@ -571,12 +637,12 @@ function Youtube(props) {
571
637
  });
572
638
  let youtubeSrc = `https://www.youtube.com/embed/${youtubeId}?playlist=${youtubeId}&${params.toString()}`;
573
639
  let allow = `accelerometer;${autoPlay ? "autoplay;" : ""} clipboard-write; encrypted-media; gyroscope; picture-in-picture`;
574
- return /* @__PURE__ */ import_react12.default.createElement("iframe", { src: youtubeSrc, width: "100%", height: "100%", allow });
640
+ return /* @__PURE__ */ import_react14.default.createElement("iframe", { src: youtubeSrc, width: "100%", height: "100%", allow });
575
641
  }
576
642
 
577
643
  // src/elements/video/index.tsx
578
- var Video = (0, import_react13.forwardRef)((props, ref) => {
579
- let { isDesignMode } = (0, import_react13.useContext)(WeaverseContext);
644
+ var Video = (0, import_react15.forwardRef)((props, ref) => {
645
+ let { isDesignMode } = (0, import_react15.useContext)(WeaverseContext);
580
646
  let {
581
647
  src,
582
648
  controls,
@@ -592,15 +658,15 @@ var Video = (0, import_react13.forwardRef)((props, ref) => {
592
658
  let youtubeId = getYoutubeEmbedId(src);
593
659
  let vimeoId = getVimeoId(src);
594
660
  if (youtubeId) {
595
- content = /* @__PURE__ */ import_react13.default.createElement(Youtube, { ...videoProps, youtubeId });
661
+ content = /* @__PURE__ */ import_react15.default.createElement(Youtube, { ...videoProps, youtubeId });
596
662
  } else if (vimeoId) {
597
- content = /* @__PURE__ */ import_react13.default.createElement(Vimeo, { ...videoProps, vimeoId });
663
+ content = /* @__PURE__ */ import_react15.default.createElement(Vimeo, { ...videoProps, vimeoId });
598
664
  } else {
599
- content = /* @__PURE__ */ import_react13.default.createElement(HTMLVideo, { ...videoProps });
665
+ content = /* @__PURE__ */ import_react15.default.createElement(HTMLVideo, { ...videoProps });
600
666
  }
601
- return /* @__PURE__ */ import_react13.default.createElement("div", { ref, ...rest }, content);
667
+ return /* @__PURE__ */ import_react15.default.createElement("div", { ref, ...rest }, content);
602
668
  });
603
- var css8 = {
669
+ var css9 = {
604
670
  "@desktop": {
605
671
  video: {
606
672
  height: "100%",
@@ -627,18 +693,23 @@ Video.defaultProps = {
627
693
  };
628
694
  var video_default = Video;
629
695
 
630
- // src/elements/slideshow/index.tsx
631
- var import_react22 = require("@stitches/react");
632
- var import_clsx5 = __toESM(require("clsx"));
633
- var import_react23 = __toESM(require("react"));
696
+ // src/elements/instagram.tsx
697
+ var import_react30 = __toESM(require("react"));
634
698
 
635
- // src/components/slider/arrows.tsx
636
- var import_react16 = require("@stitches/react");
637
- var import_clsx2 = __toESM(require("clsx"));
638
- var import_react17 = __toESM(require("react"));
699
+ // src/components/modal/index.tsx
700
+ var modal_exports = {};
701
+ __export(modal_exports, {
702
+ Modal: () => Modal,
703
+ ModalClose: () => ModalClose,
704
+ ModalContent: () => ModalContent,
705
+ ModalHeader: () => ModalHeader,
706
+ ModalTrigger: () => ModalTrigger
707
+ });
708
+ var import_react_dialog2 = require("@radix-ui/react-dialog");
709
+ var import_react20 = __toESM(require("react"));
639
710
 
640
711
  // src/components/icons/index.tsx
641
- var import_react15 = __toESM(require("react"));
712
+ var import_react17 = __toESM(require("react"));
642
713
 
643
714
  // src/components/icons/phosphor.tsx
644
715
  var phosphor_exports = {};
@@ -648,8 +719,10 @@ __export(phosphor_exports, {
648
719
  Backpack: () => Backpack,
649
720
  CaretLeft: () => CaretLeft,
650
721
  CaretRight: () => CaretRight,
722
+ Circle: () => Circle,
651
723
  CircleNotch: () => CircleNotch,
652
724
  Eye: () => Eye,
725
+ HandBag: () => HandBag,
653
726
  Image: () => Image2,
654
727
  Minus: () => Minus,
655
728
  Newspaper: () => Newspaper,
@@ -657,11 +730,27 @@ __export(phosphor_exports, {
657
730
  Plus: () => Plus,
658
731
  ShoppingCart: () => ShoppingCart,
659
732
  Storefront: () => Storefront,
733
+ Tag: () => Tag,
660
734
  X: () => X
661
735
  });
662
- var import_react14 = __toESM(require("react"));
736
+ var import_react16 = __toESM(require("react"));
737
+ var Circle = (props) => {
738
+ return /* @__PURE__ */ import_react16.default.createElement(
739
+ "svg",
740
+ {
741
+ xmlns: "http://www.w3.org/2000/svg",
742
+ width: "192",
743
+ height: "192",
744
+ fill: "currentColor",
745
+ viewBox: "0 0 256 256",
746
+ ...props
747
+ },
748
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
749
+ /* @__PURE__ */ import_react16.default.createElement("circle", { cx: "128", cy: "128", r: "104" })
750
+ );
751
+ };
663
752
  var CircleNotch = (props) => {
664
- return /* @__PURE__ */ import_react14.default.createElement(
753
+ return /* @__PURE__ */ import_react16.default.createElement(
665
754
  "svg",
666
755
  {
667
756
  xmlns: "http://www.w3.org/2000/svg",
@@ -669,7 +758,7 @@ var CircleNotch = (props) => {
669
758
  viewBox: "0 0 24 24",
670
759
  ...props
671
760
  },
672
- /* @__PURE__ */ import_react14.default.createElement(
761
+ /* @__PURE__ */ import_react16.default.createElement(
673
762
  "circle",
674
763
  {
675
764
  style: { opacity: ".25" },
@@ -680,7 +769,7 @@ var CircleNotch = (props) => {
680
769
  strokeWidth: "4"
681
770
  }
682
771
  ),
683
- /* @__PURE__ */ import_react14.default.createElement(
772
+ /* @__PURE__ */ import_react16.default.createElement(
684
773
  "path",
685
774
  {
686
775
  style: { opacity: ".75" },
@@ -691,7 +780,7 @@ var CircleNotch = (props) => {
691
780
  );
692
781
  };
693
782
  var X = (props) => {
694
- return /* @__PURE__ */ import_react14.default.createElement(
783
+ return /* @__PURE__ */ import_react16.default.createElement(
695
784
  "svg",
696
785
  {
697
786
  xmlns: "http://www.w3.org/2000/svg",
@@ -701,8 +790,8 @@ var X = (props) => {
701
790
  viewBox: "0 0 256 256",
702
791
  ...props
703
792
  },
704
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
705
- /* @__PURE__ */ import_react14.default.createElement(
793
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
794
+ /* @__PURE__ */ import_react16.default.createElement(
706
795
  "line",
707
796
  {
708
797
  x1: "200",
@@ -716,7 +805,7 @@ var X = (props) => {
716
805
  strokeWidth: "12"
717
806
  }
718
807
  ),
719
- /* @__PURE__ */ import_react14.default.createElement(
808
+ /* @__PURE__ */ import_react16.default.createElement(
720
809
  "line",
721
810
  {
722
811
  x1: "200",
@@ -733,37 +822,77 @@ var X = (props) => {
733
822
  );
734
823
  };
735
824
  var Minus = (props) => {
736
- return /* @__PURE__ */ import_react14.default.createElement(
825
+ return /* @__PURE__ */ import_react16.default.createElement(
737
826
  "svg",
738
827
  {
739
- width: "196",
740
- height: "196",
741
- fill: "currentColor",
742
- stroke: "currentColor",
743
828
  xmlns: "http://www.w3.org/2000/svg",
744
- viewBox: "0 0 384 512",
829
+ width: "192",
830
+ height: "192",
831
+ fill: "currentColor",
832
+ viewBox: "0 0 256 256",
745
833
  ...props
746
834
  },
747
- /* @__PURE__ */ import_react14.default.createElement("path", { d: "M376 232H8c-4.42 0-8 3.58-8 8v32c0 4.42 3.58 8 8 8h368c4.42 0 8-3.58 8-8v-32c0-4.42-3.58-8-8-8z" })
835
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
836
+ /* @__PURE__ */ import_react16.default.createElement(
837
+ "line",
838
+ {
839
+ x1: "40",
840
+ y1: "128",
841
+ x2: "216",
842
+ y2: "128",
843
+ fill: "none",
844
+ stroke: "currentColor",
845
+ strokeLinecap: "round",
846
+ strokeLinejoin: "round",
847
+ strokeWidth: "16"
848
+ }
849
+ )
748
850
  );
749
851
  };
750
852
  var Plus = (props) => {
751
- return /* @__PURE__ */ import_react14.default.createElement(
853
+ return /* @__PURE__ */ import_react16.default.createElement(
752
854
  "svg",
753
855
  {
754
- width: "196",
755
- height: "196",
756
- fill: "currentColor",
757
- stroke: "currentColor",
758
856
  xmlns: "http://www.w3.org/2000/svg",
759
- viewBox: "0 0 384 512",
857
+ width: "192",
858
+ height: "192",
859
+ fill: "currentColor",
860
+ viewBox: "0 0 256 256",
760
861
  ...props
761
862
  },
762
- /* @__PURE__ */ import_react14.default.createElement("path", { d: "M376 232H216V72c0-4.42-3.58-8-8-8h-32c-4.42 0-8 3.58-8 8v160H8c-4.42 0-8 3.58-8 8v32c0 4.42 3.58 8 8 8h160v160c0 4.42 3.58 8 8 8h32c4.42 0 8-3.58 8-8V280h160c4.42 0 8-3.58 8-8v-32c0-4.42-3.58-8-8-8z" })
863
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
864
+ /* @__PURE__ */ import_react16.default.createElement(
865
+ "line",
866
+ {
867
+ x1: "40",
868
+ y1: "128",
869
+ x2: "216",
870
+ y2: "128",
871
+ fill: "none",
872
+ stroke: "currentColor",
873
+ strokeLinecap: "round",
874
+ strokeLinejoin: "round",
875
+ strokeWidth: "16"
876
+ }
877
+ ),
878
+ /* @__PURE__ */ import_react16.default.createElement(
879
+ "line",
880
+ {
881
+ x1: "128",
882
+ y1: "40",
883
+ x2: "128",
884
+ y2: "216",
885
+ fill: "none",
886
+ stroke: "currentColor",
887
+ strokeLinecap: "round",
888
+ strokeLinejoin: "round",
889
+ strokeWidth: "16"
890
+ }
891
+ )
763
892
  );
764
893
  };
765
894
  var CaretLeft = (props) => {
766
- return /* @__PURE__ */ import_react14.default.createElement(
895
+ return /* @__PURE__ */ import_react16.default.createElement(
767
896
  "svg",
768
897
  {
769
898
  xmlns: "http://www.w3.org/2000/svg",
@@ -773,8 +902,8 @@ var CaretLeft = (props) => {
773
902
  viewBox: "0 0 256 256",
774
903
  ...props
775
904
  },
776
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
777
- /* @__PURE__ */ import_react14.default.createElement(
905
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
906
+ /* @__PURE__ */ import_react16.default.createElement(
778
907
  "polyline",
779
908
  {
780
909
  points: "160 208 80 128 160 48",
@@ -788,7 +917,7 @@ var CaretLeft = (props) => {
788
917
  );
789
918
  };
790
919
  var CaretRight = (props) => {
791
- return /* @__PURE__ */ import_react14.default.createElement(
920
+ return /* @__PURE__ */ import_react16.default.createElement(
792
921
  "svg",
793
922
  {
794
923
  xmlns: "http://www.w3.org/2000/svg",
@@ -798,8 +927,8 @@ var CaretRight = (props) => {
798
927
  viewBox: "0 0 256 256",
799
928
  ...props
800
929
  },
801
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
802
- /* @__PURE__ */ import_react14.default.createElement(
930
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
931
+ /* @__PURE__ */ import_react16.default.createElement(
803
932
  "polyline",
804
933
  {
805
934
  points: "96 48 176 128 96 208",
@@ -813,7 +942,7 @@ var CaretRight = (props) => {
813
942
  );
814
943
  };
815
944
  var ArrowLeft = (props) => {
816
- return /* @__PURE__ */ import_react14.default.createElement(
945
+ return /* @__PURE__ */ import_react16.default.createElement(
817
946
  "svg",
818
947
  {
819
948
  xmlns: "http://www.w3.org/2000/svg",
@@ -823,8 +952,8 @@ var ArrowLeft = (props) => {
823
952
  viewBox: "0 0 256 256",
824
953
  ...props
825
954
  },
826
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
827
- /* @__PURE__ */ import_react14.default.createElement(
955
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
956
+ /* @__PURE__ */ import_react16.default.createElement(
828
957
  "line",
829
958
  {
830
959
  x1: "216",
@@ -838,7 +967,7 @@ var ArrowLeft = (props) => {
838
967
  strokeWidth: "16"
839
968
  }
840
969
  ),
841
- /* @__PURE__ */ import_react14.default.createElement(
970
+ /* @__PURE__ */ import_react16.default.createElement(
842
971
  "polyline",
843
972
  {
844
973
  points: "112 56 40 128 112 200",
@@ -852,7 +981,7 @@ var ArrowLeft = (props) => {
852
981
  );
853
982
  };
854
983
  var ArrowRight = (props) => {
855
- return /* @__PURE__ */ import_react14.default.createElement(
984
+ return /* @__PURE__ */ import_react16.default.createElement(
856
985
  "svg",
857
986
  {
858
987
  xmlns: "http://www.w3.org/2000/svg",
@@ -862,8 +991,8 @@ var ArrowRight = (props) => {
862
991
  viewBox: "0 0 256 256",
863
992
  ...props
864
993
  },
865
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
866
- /* @__PURE__ */ import_react14.default.createElement(
994
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
995
+ /* @__PURE__ */ import_react16.default.createElement(
867
996
  "line",
868
997
  {
869
998
  x1: "40",
@@ -877,7 +1006,7 @@ var ArrowRight = (props) => {
877
1006
  strokeWidth: "16"
878
1007
  }
879
1008
  ),
880
- /* @__PURE__ */ import_react14.default.createElement(
1009
+ /* @__PURE__ */ import_react16.default.createElement(
881
1010
  "polyline",
882
1011
  {
883
1012
  points: "144 56 216 128 144 200",
@@ -891,7 +1020,7 @@ var ArrowRight = (props) => {
891
1020
  );
892
1021
  };
893
1022
  var Image2 = (props) => {
894
- return /* @__PURE__ */ import_react14.default.createElement(
1023
+ return /* @__PURE__ */ import_react16.default.createElement(
895
1024
  "svg",
896
1025
  {
897
1026
  xmlns: "http://www.w3.org/2000/svg",
@@ -900,11 +1029,11 @@ var Image2 = (props) => {
900
1029
  viewBox: "0 0 640 512",
901
1030
  ...props
902
1031
  },
903
- /* @__PURE__ */ import_react14.default.createElement("path", { d: "M480 80C480 35.82 515.8 0 560 0C604.2 0 640 35.82 640 80C640 124.2 604.2 160 560 160C515.8 160 480 124.2 480 80zM0 456.1C0 445.6 2.964 435.3 8.551 426.4L225.3 81.01C231.9 70.42 243.5 64 256 64C268.5 64 280.1 70.42 286.8 81.01L412.7 281.7L460.9 202.7C464.1 196.1 472.2 192 480 192C487.8 192 495 196.1 499.1 202.7L631.1 419.1C636.9 428.6 640 439.7 640 450.9C640 484.6 612.6 512 578.9 512H55.91C25.03 512 .0006 486.1 .0006 456.1L0 456.1z" })
1032
+ /* @__PURE__ */ import_react16.default.createElement("path", { d: "M480 80C480 35.82 515.8 0 560 0C604.2 0 640 35.82 640 80C640 124.2 604.2 160 560 160C515.8 160 480 124.2 480 80zM0 456.1C0 445.6 2.964 435.3 8.551 426.4L225.3 81.01C231.9 70.42 243.5 64 256 64C268.5 64 280.1 70.42 286.8 81.01L412.7 281.7L460.9 202.7C464.1 196.1 472.2 192 480 192C487.8 192 495 196.1 499.1 202.7L631.1 419.1C636.9 428.6 640 439.7 640 450.9C640 484.6 612.6 512 578.9 512H55.91C25.03 512 .0006 486.1 .0006 456.1L0 456.1z" })
904
1033
  );
905
1034
  };
906
1035
  var ShoppingCart = (props) => {
907
- return /* @__PURE__ */ import_react14.default.createElement(
1036
+ return /* @__PURE__ */ import_react16.default.createElement(
908
1037
  "svg",
909
1038
  {
910
1039
  xmlns: "http://www.w3.org/2000/svg",
@@ -914,8 +1043,8 @@ var ShoppingCart = (props) => {
914
1043
  viewBox: "0 0 256 256",
915
1044
  ...props
916
1045
  },
917
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
918
- /* @__PURE__ */ import_react14.default.createElement(
1046
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1047
+ /* @__PURE__ */ import_react16.default.createElement(
919
1048
  "path",
920
1049
  {
921
1050
  d: "M184,184H69.8L41.9,30.6A8,8,0,0,0,34.1,24H16",
@@ -926,7 +1055,7 @@ var ShoppingCart = (props) => {
926
1055
  strokeWidth: "16"
927
1056
  }
928
1057
  ),
929
- /* @__PURE__ */ import_react14.default.createElement(
1058
+ /* @__PURE__ */ import_react16.default.createElement(
930
1059
  "circle",
931
1060
  {
932
1061
  cx: "80",
@@ -939,7 +1068,7 @@ var ShoppingCart = (props) => {
939
1068
  strokeWidth: "16"
940
1069
  }
941
1070
  ),
942
- /* @__PURE__ */ import_react14.default.createElement(
1071
+ /* @__PURE__ */ import_react16.default.createElement(
943
1072
  "circle",
944
1073
  {
945
1074
  cx: "184",
@@ -952,7 +1081,7 @@ var ShoppingCart = (props) => {
952
1081
  strokeWidth: "16"
953
1082
  }
954
1083
  ),
955
- /* @__PURE__ */ import_react14.default.createElement(
1084
+ /* @__PURE__ */ import_react16.default.createElement(
956
1085
  "path",
957
1086
  {
958
1087
  d: "M62.5,144H188.1a15.9,15.9,0,0,0,15.7-13.1L216,64H48",
@@ -966,7 +1095,7 @@ var ShoppingCart = (props) => {
966
1095
  );
967
1096
  };
968
1097
  var Storefront = (props) => {
969
- return /* @__PURE__ */ import_react14.default.createElement(
1098
+ return /* @__PURE__ */ import_react16.default.createElement(
970
1099
  "svg",
971
1100
  {
972
1101
  xmlns: "http://www.w3.org/2000/svg",
@@ -976,8 +1105,8 @@ var Storefront = (props) => {
976
1105
  viewBox: "0 0 256 256",
977
1106
  ...props
978
1107
  },
979
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
980
- /* @__PURE__ */ import_react14.default.createElement(
1108
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1109
+ /* @__PURE__ */ import_react16.default.createElement(
981
1110
  "path",
982
1111
  {
983
1112
  d: "M48,139.6V208a8,8,0,0,0,8,8H200a8,8,0,0,0,8-8V139.6",
@@ -988,7 +1117,7 @@ var Storefront = (props) => {
988
1117
  strokeWidth: "12"
989
1118
  }
990
1119
  ),
991
- /* @__PURE__ */ import_react14.default.createElement(
1120
+ /* @__PURE__ */ import_react16.default.createElement(
992
1121
  "path",
993
1122
  {
994
1123
  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",
@@ -999,7 +1128,7 @@ var Storefront = (props) => {
999
1128
  strokeWidth: "12"
1000
1129
  }
1001
1130
  ),
1002
- /* @__PURE__ */ import_react14.default.createElement(
1131
+ /* @__PURE__ */ import_react16.default.createElement(
1003
1132
  "path",
1004
1133
  {
1005
1134
  d: "M96,96v16a32,32,0,0,1-64,0V96",
@@ -1010,7 +1139,7 @@ var Storefront = (props) => {
1010
1139
  strokeWidth: "12"
1011
1140
  }
1012
1141
  ),
1013
- /* @__PURE__ */ import_react14.default.createElement(
1142
+ /* @__PURE__ */ import_react16.default.createElement(
1014
1143
  "path",
1015
1144
  {
1016
1145
  d: "M160,96v16a32,32,0,0,1-64,0V96",
@@ -1021,7 +1150,7 @@ var Storefront = (props) => {
1021
1150
  strokeWidth: "12"
1022
1151
  }
1023
1152
  ),
1024
- /* @__PURE__ */ import_react14.default.createElement(
1153
+ /* @__PURE__ */ import_react16.default.createElement(
1025
1154
  "path",
1026
1155
  {
1027
1156
  d: "M224,96v16a32,32,0,0,1-64,0V96",
@@ -1035,7 +1164,7 @@ var Storefront = (props) => {
1035
1164
  );
1036
1165
  };
1037
1166
  var Package = (props) => {
1038
- return /* @__PURE__ */ import_react14.default.createElement(
1167
+ return /* @__PURE__ */ import_react16.default.createElement(
1039
1168
  "svg",
1040
1169
  {
1041
1170
  xmlns: "http://www.w3.org/2000/svg",
@@ -1045,8 +1174,8 @@ var Package = (props) => {
1045
1174
  viewBox: "0 0 256 256",
1046
1175
  ...props
1047
1176
  },
1048
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1049
- /* @__PURE__ */ import_react14.default.createElement(
1177
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1178
+ /* @__PURE__ */ import_react16.default.createElement(
1050
1179
  "path",
1051
1180
  {
1052
1181
  d: "M224,177.3V78.7a8.1,8.1,0,0,0-4.1-7l-88-49.5a7.8,7.8,0,0,0-7.8,0l-88,49.5a8.1,8.1,0,0,0-4.1,7v98.6a8.1,8.1,0,0,0,4.1,7l88,49.5a7.8,7.8,0,0,0,7.8,0l88-49.5A8.1,8.1,0,0,0,224,177.3Z",
@@ -1057,7 +1186,7 @@ var Package = (props) => {
1057
1186
  strokeWidth: "8"
1058
1187
  }
1059
1188
  ),
1060
- /* @__PURE__ */ import_react14.default.createElement(
1189
+ /* @__PURE__ */ import_react16.default.createElement(
1061
1190
  "polyline",
1062
1191
  {
1063
1192
  points: "177 152.5 177 100.5 80 47",
@@ -1068,7 +1197,7 @@ var Package = (props) => {
1068
1197
  strokeWidth: "8"
1069
1198
  }
1070
1199
  ),
1071
- /* @__PURE__ */ import_react14.default.createElement(
1200
+ /* @__PURE__ */ import_react16.default.createElement(
1072
1201
  "polyline",
1073
1202
  {
1074
1203
  points: "222.9 74.6 128.9 128 33.1 74.6",
@@ -1079,7 +1208,7 @@ var Package = (props) => {
1079
1208
  strokeWidth: "8"
1080
1209
  }
1081
1210
  ),
1082
- /* @__PURE__ */ import_react14.default.createElement(
1211
+ /* @__PURE__ */ import_react16.default.createElement(
1083
1212
  "line",
1084
1213
  {
1085
1214
  x1: "128.9",
@@ -1095,8 +1224,70 @@ var Package = (props) => {
1095
1224
  )
1096
1225
  );
1097
1226
  };
1227
+ var HandBag = (props) => {
1228
+ return /* @__PURE__ */ import_react16.default.createElement(
1229
+ "svg",
1230
+ {
1231
+ xmlns: "http://www.w3.org/2000/svg",
1232
+ width: "192",
1233
+ height: "192",
1234
+ fill: "currentColor",
1235
+ viewBox: "0 0 256 256",
1236
+ ...props
1237
+ },
1238
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1239
+ /* @__PURE__ */ import_react16.default.createElement(
1240
+ "path",
1241
+ {
1242
+ d: "M208.8,72H47.2a8.1,8.1,0,0,0-8,7.1L25,207.1a8,8,0,0,0,7.9,8.9H223.1a8,8,0,0,0,7.9-8.9l-14.2-128A8.1,8.1,0,0,0,208.8,72Z",
1243
+ fill: "none",
1244
+ stroke: "currentColor",
1245
+ strokeLinecap: "round",
1246
+ strokeLinejoin: "round",
1247
+ strokeWidth: "16"
1248
+ }
1249
+ ),
1250
+ /* @__PURE__ */ import_react16.default.createElement(
1251
+ "path",
1252
+ {
1253
+ d: "M88,104V72a40,40,0,0,1,80,0v32",
1254
+ fill: "none",
1255
+ stroke: "currentColor",
1256
+ strokeLinecap: "round",
1257
+ strokeLinejoin: "round",
1258
+ strokeWidth: "16"
1259
+ }
1260
+ )
1261
+ );
1262
+ };
1263
+ var Tag = (props) => {
1264
+ return /* @__PURE__ */ import_react16.default.createElement(
1265
+ "svg",
1266
+ {
1267
+ xmlns: "http://www.w3.org/2000/svg",
1268
+ width: "192",
1269
+ height: "192",
1270
+ fill: "currentColor",
1271
+ viewBox: "0 0 256 256",
1272
+ ...props
1273
+ },
1274
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1275
+ /* @__PURE__ */ import_react16.default.createElement(
1276
+ "path",
1277
+ {
1278
+ d: "M122.7,25.9,42,42,25.9,122.7a8,8,0,0,0,2.2,7.2L132.5,234.3a7.9,7.9,0,0,0,11.3,0l90.5-90.5a7.9,7.9,0,0,0,0-11.3L129.9,28.1A8,8,0,0,0,122.7,25.9Z",
1279
+ fill: "none",
1280
+ stroke: "currentColor",
1281
+ strokeLinecap: "round",
1282
+ strokeLinejoin: "round",
1283
+ strokeWidth: "16"
1284
+ }
1285
+ ),
1286
+ /* @__PURE__ */ import_react16.default.createElement("circle", { cx: "84", cy: "84", r: "12" })
1287
+ );
1288
+ };
1098
1289
  var Backpack = (props) => {
1099
- return /* @__PURE__ */ import_react14.default.createElement(
1290
+ return /* @__PURE__ */ import_react16.default.createElement(
1100
1291
  "svg",
1101
1292
  {
1102
1293
  xmlns: "http://www.w3.org/2000/svg",
@@ -1106,8 +1297,8 @@ var Backpack = (props) => {
1106
1297
  viewBox: "0 0 256 256",
1107
1298
  ...props
1108
1299
  },
1109
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1110
- /* @__PURE__ */ import_react14.default.createElement(
1300
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1301
+ /* @__PURE__ */ import_react16.default.createElement(
1111
1302
  "path",
1112
1303
  {
1113
1304
  d: "M96,48h64a48,48,0,0,1,48,48V216a8,8,0,0,1-8,8H56a8,8,0,0,1-8-8V96A48,48,0,0,1,96,48Z",
@@ -1118,7 +1309,7 @@ var Backpack = (props) => {
1118
1309
  strokeWidth: "12"
1119
1310
  }
1120
1311
  ),
1121
- /* @__PURE__ */ import_react14.default.createElement(
1312
+ /* @__PURE__ */ import_react16.default.createElement(
1122
1313
  "path",
1123
1314
  {
1124
1315
  d: "M80,224V152a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v72",
@@ -1129,7 +1320,7 @@ var Backpack = (props) => {
1129
1320
  strokeWidth: "12"
1130
1321
  }
1131
1322
  ),
1132
- /* @__PURE__ */ import_react14.default.createElement(
1323
+ /* @__PURE__ */ import_react16.default.createElement(
1133
1324
  "path",
1134
1325
  {
1135
1326
  d: "M96,48V32a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V48",
@@ -1140,7 +1331,7 @@ var Backpack = (props) => {
1140
1331
  strokeWidth: "12"
1141
1332
  }
1142
1333
  ),
1143
- /* @__PURE__ */ import_react14.default.createElement(
1334
+ /* @__PURE__ */ import_react16.default.createElement(
1144
1335
  "line",
1145
1336
  {
1146
1337
  x1: "112",
@@ -1154,7 +1345,7 @@ var Backpack = (props) => {
1154
1345
  strokeWidth: "12"
1155
1346
  }
1156
1347
  ),
1157
- /* @__PURE__ */ import_react14.default.createElement(
1348
+ /* @__PURE__ */ import_react16.default.createElement(
1158
1349
  "line",
1159
1350
  {
1160
1351
  x1: "80",
@@ -1168,7 +1359,7 @@ var Backpack = (props) => {
1168
1359
  strokeWidth: "12"
1169
1360
  }
1170
1361
  ),
1171
- /* @__PURE__ */ import_react14.default.createElement(
1362
+ /* @__PURE__ */ import_react16.default.createElement(
1172
1363
  "line",
1173
1364
  {
1174
1365
  x1: "144",
@@ -1185,7 +1376,7 @@ var Backpack = (props) => {
1185
1376
  );
1186
1377
  };
1187
1378
  var Newspaper = (props) => {
1188
- return /* @__PURE__ */ import_react14.default.createElement(
1379
+ return /* @__PURE__ */ import_react16.default.createElement(
1189
1380
  "svg",
1190
1381
  {
1191
1382
  xmlns: "http://www.w3.org/2000/svg",
@@ -1195,8 +1386,8 @@ var Newspaper = (props) => {
1195
1386
  viewBox: "0 0 256 256",
1196
1387
  ...props
1197
1388
  },
1198
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1199
- /* @__PURE__ */ import_react14.default.createElement(
1389
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1390
+ /* @__PURE__ */ import_react16.default.createElement(
1200
1391
  "line",
1201
1392
  {
1202
1393
  x1: "96",
@@ -1210,7 +1401,7 @@ var Newspaper = (props) => {
1210
1401
  strokeWidth: "8"
1211
1402
  }
1212
1403
  ),
1213
- /* @__PURE__ */ import_react14.default.createElement(
1404
+ /* @__PURE__ */ import_react16.default.createElement(
1214
1405
  "line",
1215
1406
  {
1216
1407
  x1: "96",
@@ -1224,7 +1415,7 @@ var Newspaper = (props) => {
1224
1415
  strokeWidth: "8"
1225
1416
  }
1226
1417
  ),
1227
- /* @__PURE__ */ import_react14.default.createElement(
1418
+ /* @__PURE__ */ import_react16.default.createElement(
1228
1419
  "path",
1229
1420
  {
1230
1421
  d: "M32,200a16,16,0,0,0,16-16V64a8,8,0,0,1,8-8H216a8,8,0,0,1,8,8V184a16,16,0,0,1-16,16Z",
@@ -1235,7 +1426,7 @@ var Newspaper = (props) => {
1235
1426
  strokeWidth: "8"
1236
1427
  }
1237
1428
  ),
1238
- /* @__PURE__ */ import_react14.default.createElement(
1429
+ /* @__PURE__ */ import_react16.default.createElement(
1239
1430
  "path",
1240
1431
  {
1241
1432
  d: "M32,200a16,16,0,0,1-16-16h0V88",
@@ -1249,7 +1440,7 @@ var Newspaper = (props) => {
1249
1440
  );
1250
1441
  };
1251
1442
  var Eye = (props) => {
1252
- return /* @__PURE__ */ import_react14.default.createElement(
1443
+ return /* @__PURE__ */ import_react16.default.createElement(
1253
1444
  "svg",
1254
1445
  {
1255
1446
  xmlns: "http://www.w3.org/2000/svg",
@@ -1259,8 +1450,8 @@ var Eye = (props) => {
1259
1450
  viewBox: "0 0 256 256",
1260
1451
  ...props
1261
1452
  },
1262
- /* @__PURE__ */ import_react14.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1263
- /* @__PURE__ */ import_react14.default.createElement(
1453
+ /* @__PURE__ */ import_react16.default.createElement("rect", { width: "256", height: "256", fill: "none" }),
1454
+ /* @__PURE__ */ import_react16.default.createElement(
1264
1455
  "path",
1265
1456
  {
1266
1457
  d: "M128,56C48,56,16,128,16,128s32,72,112,72,112-72,112-72S208,56,128,56Z",
@@ -1271,7 +1462,7 @@ var Eye = (props) => {
1271
1462
  strokeWidth: "12"
1272
1463
  }
1273
1464
  ),
1274
- /* @__PURE__ */ import_react14.default.createElement(
1465
+ /* @__PURE__ */ import_react16.default.createElement(
1275
1466
  "circle",
1276
1467
  {
1277
1468
  cx: "128",
@@ -1292,65 +1483,249 @@ var import_clsx = __toESM(require("clsx"));
1292
1483
  function Icon({ name, className, ...props }) {
1293
1484
  let WeaverseIcon = phosphor_exports[name];
1294
1485
  let cls = (0, import_clsx.default)("wv-icon", className);
1295
- return /* @__PURE__ */ import_react15.default.createElement(WeaverseIcon, { className: cls, ...props });
1486
+ return /* @__PURE__ */ import_react17.default.createElement(WeaverseIcon, { className: cls, ...props });
1296
1487
  }
1297
1488
 
1298
- // src/components/slider/arrows.tsx
1299
- function Arrows(props) {
1300
- let { currentSlide, instanceRef, className, icon, offset } = props;
1301
- let isFirst = currentSlide === 0;
1302
- let isLast = false;
1303
- if (instanceRef.current) {
1304
- isLast = currentSlide === instanceRef?.current?.track?.details?.maxIdx;
1489
+ // src/components/modal/styled.ts
1490
+ var import_react_dialog = require("@radix-ui/react-dialog");
1491
+ var import_react18 = require("@stitches/react");
1492
+ var overlayShow = (0, import_react18.keyframes)({
1493
+ "0%": { opacity: 0 },
1494
+ "100%": { opacity: 1 }
1495
+ });
1496
+ var contentShow = (0, import_react18.keyframes)({
1497
+ "0%": { opacity: 0, transform: "translate(-50%, -48%) scale(.96)" },
1498
+ "100%": { opacity: 1, transform: "translate(-50%, -50%) scale(1)" }
1499
+ });
1500
+ var StyledOverlay = (0, import_react18.styled)(import_react_dialog.Overlay, {
1501
+ display: "block !important",
1502
+ backgroundColor: "rgba(0, 0, 0, .3)",
1503
+ position: "fixed",
1504
+ zIndex: 99999,
1505
+ inset: 0,
1506
+ animation: `${overlayShow} 300ms cubic-bezier(0.16, 1, 0.3, 1)`
1507
+ });
1508
+ var StyledTitle = (0, import_react18.styled)(import_react_dialog.Title, {
1509
+ margin: "0 0 24px",
1510
+ fontWeight: 500,
1511
+ fontSize: 24,
1512
+ "@media (max-width: 768px)": {
1513
+ margin: "0 0 16px",
1514
+ fontSize: 20
1305
1515
  }
1306
- let style = {
1307
- "--offset": `${offset}px`
1308
- };
1309
- return /* @__PURE__ */ import_react17.default.createElement(StyledArrows, { className, style }, /* @__PURE__ */ import_react17.default.createElement(
1310
- "button",
1311
- {
1312
- type: "button",
1313
- className: (0, import_clsx2.default)("arrow arrow--left", isFirst && "arrow--disabled"),
1314
- onClick: (e) => {
1315
- e.stopPropagation();
1316
- instanceRef?.current?.prev();
1317
- }
1318
- },
1319
- /* @__PURE__ */ import_react17.default.createElement(Icon, { name: icon === "caret" ? "CaretLeft" : "ArrowLeft" })
1320
- ), /* @__PURE__ */ import_react17.default.createElement(
1321
- "button",
1322
- {
1323
- type: "button",
1324
- className: (0, import_clsx2.default)("arrow arrow--right", isLast && "arrow--disabled"),
1325
- onClick: (e) => {
1326
- e.stopPropagation();
1327
- instanceRef?.current?.next();
1328
- }
1329
- },
1330
- /* @__PURE__ */ import_react17.default.createElement(Icon, { name: icon === "caret" ? "CaretRight" : "ArrowRight" })
1331
- ));
1332
- }
1333
- var StyledArrows = (0, import_react16.styled)("div", {
1334
- ".arrow": {
1335
- position: "absolute",
1336
- top: "50%",
1337
- transform: "translateY(-50%)",
1338
- width: "44px",
1339
- height: "44px",
1340
- padding: "8px",
1341
- color: "#191919",
1342
- backgroundColor: "#f2f2f2",
1343
- textAlign: "center",
1344
- transition: "all 0.2s ease-in-out",
1345
- borderRadius: "4px",
1346
- border: "none",
1347
- cursor: "pointer",
1348
- "&:hover": {
1349
- backgroundColor: "#191919",
1350
- color: "#f2f2f2"
1351
- },
1352
- svg: {
1353
- verticalAlign: "middle",
1516
+ });
1517
+ var StyledContent = (0, import_react18.styled)(import_react_dialog.Content, {
1518
+ backgroundColor: "white",
1519
+ borderRadius: 6,
1520
+ boxShadow: "hsl(206 22% 7% / 35%) 0px 10px 38px -10px, hsl(206 22% 7% / 20%) 0px 10px 20px -15px",
1521
+ position: "fixed",
1522
+ top: "50%",
1523
+ left: "50%",
1524
+ transform: "translate(-50%, -50%)",
1525
+ padding: 24,
1526
+ animation: `${contentShow} 300ms cubic-bezier(0.16, 1, 0.3, 1)`,
1527
+ zIndex: 99999,
1528
+ maxWidth: "90vw",
1529
+ width: "auto",
1530
+ "*": {
1531
+ maxWidth: "100%"
1532
+ },
1533
+ "&:focus": { outline: "none" },
1534
+ '&[data-size="fullscreen"]': {
1535
+ width: "100vw",
1536
+ height: "100vh",
1537
+ maxWidth: "100vw",
1538
+ borderRadius: 0
1539
+ },
1540
+ "@media (max-width: 768px)": {
1541
+ width: "90vw",
1542
+ padding: 12,
1543
+ '&[data-size="fullscreen"]': {
1544
+ width: "100vw"
1545
+ }
1546
+ }
1547
+ });
1548
+ var StyledCloseIcon = (0, import_react18.styled)("button", {
1549
+ all: "unset",
1550
+ cursor: "pointer",
1551
+ fontFamily: "inherit",
1552
+ borderRadius: "100%",
1553
+ height: 32,
1554
+ width: 32,
1555
+ padding: 4,
1556
+ display: "inline-flex",
1557
+ alignItems: "center",
1558
+ justifyContent: "center",
1559
+ color: "rgb(55, 65, 81)",
1560
+ position: "absolute",
1561
+ top: 8,
1562
+ right: 8,
1563
+ "&:hover": {
1564
+ backgroundColor: "rgba(112, 112, 112, .1)"
1565
+ },
1566
+ svg: {
1567
+ width: 24,
1568
+ height: 24
1569
+ }
1570
+ });
1571
+
1572
+ // src/components/modal/use-open-change-effect.ts
1573
+ var import_react19 = require("react");
1574
+ function useOpenChangeEffect(props) {
1575
+ let { open, defaultOpen, onOpenChange } = props;
1576
+ let rootCtx = (0, import_react19.useContext)(WeaverseContext);
1577
+ let toggleRootzIndex = (open2) => {
1578
+ let { contentRootElement } = rootCtx;
1579
+ if (contentRootElement) {
1580
+ if (open2) {
1581
+ contentRootElement.classList.add("modal-open");
1582
+ } else {
1583
+ contentRootElement.classList.remove("modal-open");
1584
+ }
1585
+ }
1586
+ };
1587
+ (0, import_react19.useEffect)(() => {
1588
+ let isOpen = open || defaultOpen;
1589
+ toggleRootzIndex(isOpen);
1590
+ }, [open, defaultOpen]);
1591
+ let handleOpenChange = (open2) => {
1592
+ toggleRootzIndex(open2);
1593
+ onOpenChange?.(open2);
1594
+ };
1595
+ return handleOpenChange;
1596
+ }
1597
+
1598
+ // src/components/modal/index.tsx
1599
+ var Modal = (props) => {
1600
+ let { children, open, defaultOpen, onOpenChange, ...rest } = props;
1601
+ let handleOpenChange = useOpenChangeEffect(props);
1602
+ return /* @__PURE__ */ import_react20.default.createElement(
1603
+ import_react_dialog2.Root,
1604
+ {
1605
+ open,
1606
+ defaultOpen,
1607
+ onOpenChange: handleOpenChange,
1608
+ ...rest
1609
+ },
1610
+ children
1611
+ );
1612
+ };
1613
+ var ModalTrigger = import_react_dialog2.Trigger;
1614
+ var ModalHeader = (0, import_react20.forwardRef)(
1615
+ (props, ref) => {
1616
+ let { children, ...rest } = props;
1617
+ return /* @__PURE__ */ import_react20.default.createElement(StyledTitle, { ref, ...rest, "data-wv-modal-header": true }, children);
1618
+ }
1619
+ );
1620
+ var ModalContent = (0, import_react20.forwardRef)(
1621
+ (props, ref) => {
1622
+ let { children, size, portal, ...rest } = props;
1623
+ let modalContent = /* @__PURE__ */ import_react20.default.createElement(import_react20.default.Fragment, null, /* @__PURE__ */ import_react20.default.createElement(StyledOverlay, null), /* @__PURE__ */ import_react20.default.createElement(
1624
+ StyledContent,
1625
+ {
1626
+ ...rest,
1627
+ onCloseAutoFocus: (e) => e.preventDefault(),
1628
+ "data-wv-modal": true,
1629
+ "data-size": size,
1630
+ ref
1631
+ },
1632
+ /* @__PURE__ */ import_react20.default.createElement(ModalClose, null),
1633
+ /* @__PURE__ */ import_react20.default.createElement("div", { className: "wv-modal-content" }, children)
1634
+ ));
1635
+ if (portal) {
1636
+ return /* @__PURE__ */ import_react20.default.createElement(import_react_dialog2.Portal, null, modalContent);
1637
+ }
1638
+ return modalContent;
1639
+ }
1640
+ );
1641
+ ModalContent.defaultProps = {
1642
+ size: "auto",
1643
+ portal: false
1644
+ };
1645
+ var ModalClose = (0, import_react20.forwardRef)(
1646
+ (props, ref) => {
1647
+ let { asChild, children, ...rest } = props;
1648
+ let closeIcon = /* @__PURE__ */ import_react20.default.createElement(StyledCloseIcon, null, /* @__PURE__ */ import_react20.default.createElement(Icon, { name: "X" }));
1649
+ return /* @__PURE__ */ import_react20.default.createElement(import_react_dialog2.Close, { asChild: true, ...rest, ref }, asChild ? children : closeIcon);
1650
+ }
1651
+ );
1652
+
1653
+ // src/components/spinner.tsx
1654
+ var import_react21 = __toESM(require("react"));
1655
+ function Spinner() {
1656
+ return /* @__PURE__ */ import_react21.default.createElement("span", { className: "wv-spinner-wrapper" }, /* @__PURE__ */ import_react21.default.createElement(Icon, { name: "CircleNotch", className: "wv-spinner" }));
1657
+ }
1658
+
1659
+ // src/components/tooltip.tsx
1660
+ var import_react22 = __toESM(require("react"));
1661
+ function Tooltip({ children }) {
1662
+ return /* @__PURE__ */ import_react22.default.createElement("span", { className: "wv-tooltip" }, children);
1663
+ }
1664
+
1665
+ // src/components/slider/index.tsx
1666
+ var import_clsx3 = __toESM(require("clsx"));
1667
+ var import_react25 = require("keen-slider/react");
1668
+ var import_react26 = __toESM(require("react"));
1669
+
1670
+ // src/components/slider/arrows.tsx
1671
+ var import_react23 = require("@stitches/react");
1672
+ var import_clsx2 = __toESM(require("clsx"));
1673
+ var import_react24 = __toESM(require("react"));
1674
+ function Arrows(props) {
1675
+ let { currentSlide, instanceRef, className, icon, offset } = props;
1676
+ let isFirst = currentSlide === 0;
1677
+ let isLast = false;
1678
+ if (instanceRef.current) {
1679
+ isLast = currentSlide === instanceRef?.current?.track?.details?.maxIdx;
1680
+ }
1681
+ let style = {
1682
+ "--offset": `${offset}px`
1683
+ };
1684
+ return /* @__PURE__ */ import_react24.default.createElement(StyledArrows, { className, style }, /* @__PURE__ */ import_react24.default.createElement(
1685
+ "button",
1686
+ {
1687
+ type: "button",
1688
+ className: (0, import_clsx2.default)("arrow arrow--left", isFirst && "arrow--disabled"),
1689
+ onClick: (e) => {
1690
+ e.stopPropagation();
1691
+ instanceRef?.current?.prev();
1692
+ }
1693
+ },
1694
+ /* @__PURE__ */ import_react24.default.createElement(Icon, { name: icon === "caret" ? "CaretLeft" : "ArrowLeft" })
1695
+ ), /* @__PURE__ */ import_react24.default.createElement(
1696
+ "button",
1697
+ {
1698
+ type: "button",
1699
+ className: (0, import_clsx2.default)("arrow arrow--right", isLast && "arrow--disabled"),
1700
+ onClick: (e) => {
1701
+ e.stopPropagation();
1702
+ instanceRef?.current?.next();
1703
+ }
1704
+ },
1705
+ /* @__PURE__ */ import_react24.default.createElement(Icon, { name: icon === "caret" ? "CaretRight" : "ArrowRight" })
1706
+ ));
1707
+ }
1708
+ var StyledArrows = (0, import_react23.styled)("div", {
1709
+ ".arrow": {
1710
+ position: "absolute",
1711
+ top: "50%",
1712
+ transform: "translateY(-50%)",
1713
+ width: "44px",
1714
+ height: "44px",
1715
+ padding: "8px",
1716
+ color: "#191919",
1717
+ backgroundColor: "#f2f2f2",
1718
+ textAlign: "center",
1719
+ transition: "all 0.2s ease-in-out",
1720
+ borderRadius: "4px",
1721
+ border: "none",
1722
+ cursor: "pointer",
1723
+ "&:hover": {
1724
+ backgroundColor: "#191919",
1725
+ color: "#f2f2f2"
1726
+ },
1727
+ svg: {
1728
+ verticalAlign: "middle",
1354
1729
  width: "22px",
1355
1730
  height: "22px"
1356
1731
  },
@@ -1371,22 +1746,81 @@ var StyledArrows = (0, import_react16.styled)("div", {
1371
1746
  }
1372
1747
  });
1373
1748
 
1749
+ // src/components/slider/resize-plugin.ts
1750
+ var ResizePlugin = (slider) => {
1751
+ let observer = new ResizeObserver(() => slider.update());
1752
+ slider.on("created", () => {
1753
+ observer.observe(slider.container);
1754
+ });
1755
+ slider.on("destroyed", () => {
1756
+ observer.unobserve(slider.container);
1757
+ });
1758
+ };
1759
+
1760
+ // src/components/slider/index.tsx
1761
+ function Slider(props) {
1762
+ let { children, className, gap, slidesPerView, arrowOffset } = props;
1763
+ let [currentSlide, setCurrentSlide] = (0, import_react26.useState)(0);
1764
+ let [created, setCreated] = (0, import_react26.useState)(false);
1765
+ let [ref, instanceRef] = (0, import_react25.useKeenSlider)(
1766
+ {
1767
+ slides: { perView: slidesPerView, spacing: gap },
1768
+ breakpoints: {
1769
+ "(max-width: 1024px)": {
1770
+ slides: { perView: 3, spacing: gap }
1771
+ },
1772
+ "(max-width: 768px)": {
1773
+ slides: {
1774
+ perView: 1,
1775
+ spacing: 32
1776
+ }
1777
+ }
1778
+ },
1779
+ created: () => {
1780
+ setCreated(true);
1781
+ },
1782
+ slideChanged: (slider) => {
1783
+ setCurrentSlide(slider.track.details.rel);
1784
+ }
1785
+ },
1786
+ [ResizePlugin]
1787
+ );
1788
+ let _className = (0, import_clsx3.default)("keen-slider", className);
1789
+ let arrowsClass = (0, import_clsx3.default)(className && `${className}-arrows`);
1790
+ return /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, /* @__PURE__ */ import_react26.default.createElement("div", { ref, className: _className }, /* @__PURE__ */ import_react26.default.createElement(
1791
+ "link",
1792
+ {
1793
+ rel: "stylesheet",
1794
+ href: "https://cdn.jsdelivr.net/npm/keen-slider@latest/keen-slider.min.css"
1795
+ }
1796
+ ), children), created && instanceRef?.current && /* @__PURE__ */ import_react26.default.createElement(
1797
+ Arrows,
1798
+ {
1799
+ currentSlide,
1800
+ instanceRef,
1801
+ className: arrowsClass,
1802
+ offset: arrowOffset,
1803
+ icon: "arrow"
1804
+ }
1805
+ ));
1806
+ }
1807
+
1374
1808
  // src/components/slider/dots.tsx
1375
- var import_react18 = require("@stitches/react");
1376
- var import_clsx3 = __toESM(require("clsx"));
1377
- var import_react19 = __toESM(require("react"));
1809
+ var import_react27 = require("@stitches/react");
1810
+ var import_clsx4 = __toESM(require("clsx"));
1811
+ var import_react28 = __toESM(require("react"));
1378
1812
  function Dots(props) {
1379
1813
  let { currentSlide, instanceRef, className, absolute, position, color } = props;
1380
- let _className = (0, import_clsx3.default)(
1814
+ let _className = (0, import_clsx4.default)(
1381
1815
  className,
1382
1816
  absolute && "dots--absolute",
1383
1817
  position && `dots--${position}`,
1384
1818
  color && `dots--${color}`
1385
1819
  );
1386
- return /* @__PURE__ */ import_react19.default.createElement(StyledDots, { className: _className }, [...Array(instanceRef.current?.track.details.slides.length).keys()].map(
1820
+ return /* @__PURE__ */ import_react28.default.createElement(StyledDots, { className: _className }, [...Array(instanceRef.current?.track.details.slides.length).keys()].map(
1387
1821
  (idx) => {
1388
- let className2 = (0, import_clsx3.default)("dot", currentSlide === idx && "dot--active");
1389
- return /* @__PURE__ */ import_react19.default.createElement(
1822
+ let className2 = (0, import_clsx4.default)("dot", currentSlide === idx && "dot--active");
1823
+ return /* @__PURE__ */ import_react28.default.createElement(
1390
1824
  "button",
1391
1825
  {
1392
1826
  key: idx,
@@ -1398,7 +1832,7 @@ function Dots(props) {
1398
1832
  }
1399
1833
  ));
1400
1834
  }
1401
- var StyledDots = (0, import_react18.styled)("div", {
1835
+ var StyledDots = (0, import_react27.styled)("div", {
1402
1836
  padding: "10px 0",
1403
1837
  display: "flex",
1404
1838
  justifyContent: "center",
@@ -1443,10 +1877,6 @@ var StyledDots = (0, import_react18.styled)("div", {
1443
1877
  }
1444
1878
  });
1445
1879
 
1446
- // src/elements/slideshow/use-slideshow-configs.ts
1447
- var import_react20 = require("keen-slider/react");
1448
- var import_react21 = __toESM(require("react"));
1449
-
1450
1880
  // src/components/slider/autoplay-plugin.ts
1451
1881
  function AutoplayPlugin(changeSlidesEvery) {
1452
1882
  return (slider) => {
@@ -1480,28 +1910,161 @@ function AutoplayPlugin(changeSlidesEvery) {
1480
1910
  };
1481
1911
  }
1482
1912
 
1483
- // src/components/slider/resize-plugin.ts
1484
- var ResizePlugin = (slider) => {
1485
- let observer = new ResizeObserver(() => slider.update());
1486
- slider.on("created", () => {
1487
- observer.observe(slider.container);
1488
- });
1489
- slider.on("destroyed", () => {
1490
- observer.unobserve(slider.container);
1491
- });
1913
+ // src/components/placeholder.tsx
1914
+ var import_react29 = __toESM(require("react"));
1915
+ var Placeholder = (0, import_react29.forwardRef)(
1916
+ (props, ref) => {
1917
+ let { element, className, children, ...rest } = props;
1918
+ return /* @__PURE__ */ import_react29.default.createElement("div", { "data-wv-placeholder": true, ref, className, ...rest }, /* @__PURE__ */ import_react29.default.createElement("div", { style: { fontWeight: 600, marginBottom: "10px" } }, element), /* @__PURE__ */ import_react29.default.createElement("div", null, children));
1919
+ }
1920
+ );
1921
+ var placeholder_default = Placeholder;
1922
+
1923
+ // src/components/index.ts
1924
+ var Components = {
1925
+ Background,
1926
+ Icon,
1927
+ ModalComponents: modal_exports,
1928
+ Overlay,
1929
+ Placeholder: placeholder_default,
1930
+ Spinner,
1931
+ Slider,
1932
+ Tooltip
1933
+ };
1934
+ var SliderComponents = {
1935
+ Arrows,
1936
+ Dots,
1937
+ ResizePlugin,
1938
+ AutoplayPlugin
1492
1939
  };
1493
1940
 
1941
+ // src/elements/instagram.tsx
1942
+ var Instagram = (0, import_react30.forwardRef)(
1943
+ (props, ref) => {
1944
+ let { token, username, numberOfImages, imagesPerRow, gap, ...rest } = props;
1945
+ let [media, setMedia] = (0, import_react30.useState)([]);
1946
+ let [error, setError] = (0, import_react30.useState)(null);
1947
+ (0, import_react30.useEffect)(() => {
1948
+ if (token) {
1949
+ let params = new URLSearchParams({
1950
+ access_token: token,
1951
+ fields: "id,media_type,caption,media_url,permalink,thumbnail_url"
1952
+ });
1953
+ fetch(`${INSTAGRAM_API}/me/media?${params.toString()}`).then((res) => res.json()).then((res) => {
1954
+ if (res.error) {
1955
+ setError(res);
1956
+ } else {
1957
+ setError(null);
1958
+ setMedia([...res.data]);
1959
+ }
1960
+ }).catch(setError);
1961
+ }
1962
+ }, [token]);
1963
+ if (!token || error) {
1964
+ return /* @__PURE__ */ import_react30.default.createElement("div", { ref, ...rest }, /* @__PURE__ */ import_react30.default.createElement(Components.Placeholder, { element: "Instagram" }, !token ? "Connect to Instagram to display photos on your site." : "Invalid or expired token!"));
1965
+ }
1966
+ let style = {
1967
+ "--wv-ig-images-per-row": imagesPerRow,
1968
+ "--wv-ig-images-gap": gap + "px"
1969
+ };
1970
+ return /* @__PURE__ */ import_react30.default.createElement("div", { ref, ...rest, style }, /* @__PURE__ */ import_react30.default.createElement("div", { className: "wv-ig-media-container" }, media.slice(0, numberOfImages).map((item) => {
1971
+ let {
1972
+ id,
1973
+ permalink,
1974
+ caption,
1975
+ media_url,
1976
+ media_type,
1977
+ thumbnail_url
1978
+ } = item;
1979
+ if (media_type === "VIDEO") {
1980
+ return /* @__PURE__ */ import_react30.default.createElement("video", { key: id, controls: true, poster: thumbnail_url }, /* @__PURE__ */ import_react30.default.createElement("source", { src: media_url, type: "video/mp4" }));
1981
+ }
1982
+ return /* @__PURE__ */ import_react30.default.createElement("a", { key: id, href: permalink, target: "_blank", rel: "noreferrer" }, /* @__PURE__ */ import_react30.default.createElement("img", { alt: caption, src: media_url }));
1983
+ })));
1984
+ }
1985
+ );
1986
+ var css10 = {
1987
+ // '@desktop': {
1988
+ // '.wv-ig-media-container': {
1989
+ // overflow: 'hidden',
1990
+ // maxWidth: '100%',
1991
+ // maxHeight: '100%',
1992
+ // display: 'grid',
1993
+ // gridTemplateColumns: 'repeat(var(--wv-ig-images-per-row, 4), 1fr)',
1994
+ // gap: 'var(--wv-ig-images-gap, 0px)',
1995
+ // img: {
1996
+ // // aspectRatio: '1 / 1',
1997
+ // maxWidth: '100%',
1998
+ // maxHeight: '100%',
1999
+ // objectFit: 'cover',
2000
+ // },
2001
+ // },
2002
+ // },
2003
+ };
2004
+ var permanentCss = {
2005
+ "@desktop": {
2006
+ ".wv-ig-media-container": {
2007
+ overflow: "hidden",
2008
+ maxWidth: "100%",
2009
+ maxHeight: "100%",
2010
+ display: "grid",
2011
+ gridTemplateColumns: "repeat(var(--wv-ig-images-per-row, 4), 1fr)",
2012
+ gap: "var(--wv-ig-images-gap, 0px)",
2013
+ img: {
2014
+ // aspectRatio: '1 / 1',
2015
+ maxWidth: "100%",
2016
+ maxHeight: "100%",
2017
+ objectFit: "cover"
2018
+ },
2019
+ video: {
2020
+ width: "100%",
2021
+ height: "100%"
2022
+ }
2023
+ }
2024
+ },
2025
+ "@mobile": {
2026
+ ".wv-ig-media-container": {
2027
+ overflowX: "auto",
2028
+ display: "flex",
2029
+ scrollSnapType: "x mandatory"
2030
+ },
2031
+ ".wv-ig-media-container a": {
2032
+ scrollSnapAlign: "start",
2033
+ flexGrow: 0,
2034
+ flexShrink: 0,
2035
+ flexBasis: "100%"
2036
+ }
2037
+ }
2038
+ };
2039
+ Instagram.defaultProps = {
2040
+ token: "",
2041
+ username: "",
2042
+ numberOfImages: 8,
2043
+ imagesPerRow: 4,
2044
+ gap: 0
2045
+ };
2046
+ var instagram_default = Instagram;
2047
+
2048
+ // src/elements/slideshow/index.tsx
2049
+ var import_react33 = require("@stitches/react");
2050
+ var import_clsx6 = __toESM(require("clsx"));
2051
+ var import_react34 = __toESM(require("react"));
2052
+
2053
+ // src/elements/slideshow/use-slideshow-configs.ts
2054
+ var import_react31 = require("keen-slider/react");
2055
+ var import_react32 = __toESM(require("react"));
2056
+
1494
2057
  // src/utils/css.ts
1495
- var import_clsx4 = __toESM(require("clsx"));
1496
- function formatCSS(css11) {
2058
+ var import_clsx5 = __toESM(require("clsx"));
2059
+ function formatCSS(css13) {
1497
2060
  return {
1498
- "@desktop": css11["@desktop"],
1499
- "@mobile": css11["@mobile"]
2061
+ "@desktop": css13["@desktop"],
2062
+ "@mobile": css13["@mobile"]
1500
2063
  };
1501
2064
  }
1502
2065
  var permanentClasses = {};
1503
2066
  function generateItemClassName(instance, stitchesInstance) {
1504
- let { css: css11, type, className: cls = "" } = instance.data;
2067
+ let { css: css13, type, className: cls = "" } = instance.data;
1505
2068
  let className = "";
1506
2069
  let permanentClass = "";
1507
2070
  let perCss = instance.Element?.permanentCss;
@@ -1515,12 +2078,12 @@ function generateItemClassName(instance, stitchesInstance) {
1515
2078
  }
1516
2079
  }
1517
2080
  className = permanentClass;
1518
- if (css11) {
1519
- let formattedCss = formatCSS(css11);
2081
+ if (css13) {
2082
+ let formattedCss = formatCSS(css13);
1520
2083
  let newStitchesClass = stitchesInstance.css(formattedCss)().className || "";
1521
2084
  let { stitchesClass } = instance;
1522
2085
  let otherClass = (instance.ref.current?.className || "").replace(stitchesClass, "").replace(cls, "").replace(permanentClass, "").trim();
1523
- className = (0, import_clsx4.default)(permanentClass, cls, newStitchesClass, otherClass);
2086
+ className = (0, import_clsx5.default)(permanentClass, cls, newStitchesClass, otherClass);
1524
2087
  instance.stitchesClass = newStitchesClass;
1525
2088
  }
1526
2089
  return className;
@@ -1549,19 +2112,19 @@ function useSlideshowConfigs(props) {
1549
2112
  changeSlidesEvery,
1550
2113
  children
1551
2114
  } = props;
1552
- let { isDesignMode, isPreviewMode } = (0, import_react21.useContext)(WeaverseContext);
1553
- let [opacities, setOpacities] = import_react21.default.useState([]);
1554
- let [cssLoaded, setCssLoaded] = (0, import_react21.useState)(false);
1555
- let [created, setCreated] = (0, import_react21.useState)(false);
1556
- let [ready, setReady] = (0, import_react21.useState)(false);
1557
- let [currentSlide, setCurrentSlide] = (0, import_react21.useState)(0);
2115
+ let { isDesignMode, isPreviewMode } = (0, import_react32.useContext)(WeaverseContext);
2116
+ let [opacities, setOpacities] = import_react32.default.useState([]);
2117
+ let [cssLoaded, setCssLoaded] = (0, import_react32.useState)(false);
2118
+ let [created, setCreated] = (0, import_react32.useState)(false);
2119
+ let [ready, setReady] = (0, import_react32.useState)(false);
2120
+ let [currentSlide, setCurrentSlide] = (0, import_react32.useState)(0);
1558
2121
  let sliderPlugins = [ResizePlugin];
1559
2122
  if (autoRotate && (isPreviewMode || !isDesignMode)) {
1560
2123
  sliderPlugins.push(AutoplayPlugin(changeSlidesEvery));
1561
2124
  }
1562
- let [sliderRef, instanceRef] = (0, import_react20.useKeenSlider)(
2125
+ let [sliderRef, instanceRef] = (0, import_react31.useKeenSlider)(
1563
2126
  {
1564
- slides: animation === "fade" ? import_react21.default.Children.count(children) : { perView: slidesPerView, number: import_react21.default.Children.count(children) },
2127
+ slides: animation === "fade" ? import_react32.default.Children.count(children) : { perView: slidesPerView, number: import_react32.default.Children.count(children) },
1565
2128
  drag: isPreviewMode || !isDesignMode,
1566
2129
  loop,
1567
2130
  selector: animation === "fade" ? null : ".keen-slider__slide",
@@ -1591,13 +2154,13 @@ function useSlideshowConfigs(props) {
1591
2154
  },
1592
2155
  sliderPlugins
1593
2156
  );
1594
- (0, import_react21.useEffect)(() => {
2157
+ (0, import_react32.useEffect)(() => {
1595
2158
  loadCSS({
1596
2159
  rel: "stylesheet",
1597
2160
  href: "https://cdn.jsdelivr.net/npm/keen-slider@latest/keen-slider.min.css"
1598
2161
  }).then(() => setCssLoaded(true));
1599
2162
  }, []);
1600
- (0, import_react21.useEffect)(() => {
2163
+ (0, import_react32.useEffect)(() => {
1601
2164
  if (created && cssLoaded) {
1602
2165
  setReady(true);
1603
2166
  }
@@ -1613,7 +2176,7 @@ function useSlideshowConfigs(props) {
1613
2176
  }
1614
2177
 
1615
2178
  // src/elements/slideshow/index.tsx
1616
- var Slideshow = (0, import_react23.forwardRef)((props, ref) => {
2179
+ var Slideshow = (0, import_react34.forwardRef)((props, ref) => {
1617
2180
  let {
1618
2181
  animation,
1619
2182
  showArrows,
@@ -1632,7 +2195,7 @@ var Slideshow = (0, import_react23.forwardRef)((props, ref) => {
1632
2195
  };
1633
2196
  let faderClass = "";
1634
2197
  if (animation === "fade") {
1635
- faderClass = (0, import_react22.css)({
2198
+ faderClass = (0, import_react33.css)({
1636
2199
  ".keen-slider__slide": opacities.reduce((acc, opacity, index) => {
1637
2200
  acc[`&:nth-child(${index + 1})`] = {
1638
2201
  opacity
@@ -1641,16 +2204,16 @@ var Slideshow = (0, import_react23.forwardRef)((props, ref) => {
1641
2204
  }, {})
1642
2205
  })().className;
1643
2206
  }
1644
- let _className = (0, import_clsx5.default)(
2207
+ let _className = (0, import_clsx6.default)(
1645
2208
  faderClass,
1646
2209
  animation === "slide" ? "keen-slider" : "keen-fader"
1647
2210
  );
1648
- let arrowsClass = (0, import_clsx5.default)(
2211
+ let arrowsClass = (0, import_clsx6.default)(
1649
2212
  "wv-slideshow--arrows",
1650
2213
  showArrowsOnHover && "show-on-hover",
1651
2214
  `arrows--${arrowsColor}`
1652
2215
  );
1653
- return /* @__PURE__ */ import_react23.default.createElement("div", { ref, style, ...rest }, /* @__PURE__ */ import_react23.default.createElement("div", { ref: sliderRef, className: _className }, children), showArrows && created && instanceRef?.current && /* @__PURE__ */ import_react23.default.createElement(
2216
+ return /* @__PURE__ */ import_react34.default.createElement("div", { ref, style, ...rest }, /* @__PURE__ */ import_react34.default.createElement("div", { ref: sliderRef, className: _className }, children), showArrows && created && instanceRef?.current && /* @__PURE__ */ import_react34.default.createElement(
1654
2217
  Arrows,
1655
2218
  {
1656
2219
  instanceRef,
@@ -1659,7 +2222,7 @@ var Slideshow = (0, import_react23.forwardRef)((props, ref) => {
1659
2222
  icon: arrowIcon,
1660
2223
  offset: 20
1661
2224
  }
1662
- ), showDots && created && instanceRef?.current && /* @__PURE__ */ import_react23.default.createElement(
2225
+ ), showDots && created && instanceRef?.current && /* @__PURE__ */ import_react34.default.createElement(
1663
2226
  Dots,
1664
2227
  {
1665
2228
  instanceRef,
@@ -1671,7 +2234,7 @@ var Slideshow = (0, import_react23.forwardRef)((props, ref) => {
1671
2234
  }
1672
2235
  ));
1673
2236
  });
1674
- var css9 = {
2237
+ var css11 = {
1675
2238
  "@desktop": {
1676
2239
  opacity: "var(--slider-opacity, 0)",
1677
2240
  padding: "32px 0",
@@ -1730,90 +2293,17 @@ Slideshow.defaultProps = {
1730
2293
  showArrowsOnHover: false,
1731
2294
  arrowIcon: "caret",
1732
2295
  arrowsColor: "dark",
1733
- showDots: true,
1734
- dotsPosition: "bottom",
1735
- dotsColor: "dark",
1736
- loop: true,
1737
- autoRotate: false,
1738
- changeSlidesEvery: 5
1739
- };
1740
- var slideshow_default = Slideshow;
1741
-
1742
- // src/elements/slideshow/slide.tsx
1743
- var import_react29 = __toESM(require("react"));
1744
-
1745
- // src/components/background.tsx
1746
- var import_react24 = require("@stitches/react");
1747
- var import_react25 = __toESM(require("react"));
1748
- function Background2(props) {
1749
- let {
1750
- backgroundColor,
1751
- backgroundImage,
1752
- backgroundFit,
1753
- backgroundPosition,
1754
- className
1755
- } = props;
1756
- let style = {
1757
- ["--bg-color"]: backgroundColor,
1758
- ["--bg-fit"]: backgroundFit,
1759
- ["--bg-position"]: backgroundPosition
1760
- };
1761
- if (backgroundImage || backgroundColor) {
1762
- return /* @__PURE__ */ import_react25.default.createElement(StyledBackground, { style, className }, backgroundImage && /* @__PURE__ */ import_react25.default.createElement(
1763
- "img",
1764
- {
1765
- width: "100%",
1766
- height: "100%",
1767
- "data-blink-src": backgroundImage,
1768
- alt: "Background"
1769
- }
1770
- ));
1771
- }
1772
- return null;
1773
- }
1774
- var StyledBackground = (0, import_react24.styled)("div", {
1775
- display: "block !important",
1776
- position: "absolute",
1777
- inset: 0,
1778
- backgroundColor: "var(--bg-color)",
1779
- img: {
1780
- objectFit: "var(--bg-fit, cover)",
1781
- objectPosition: "var(--bg-position, 50% 50%)"
1782
- }
1783
- });
1784
-
1785
- // src/components/overlay.tsx
1786
- var import_react26 = require("@stitches/react");
1787
- var import_react27 = __toESM(require("react"));
1788
- function Overlay2(props) {
1789
- let { enableOverlay: enabled, overlayOpacity: opacity, className } = props;
1790
- if (enabled) {
1791
- return /* @__PURE__ */ import_react27.default.createElement(
1792
- StyledOverlay,
1793
- {
1794
- className,
1795
- css: { ["--overlay-opacity"]: opacity / 100 }
1796
- }
1797
- );
1798
- }
1799
- return null;
1800
- }
1801
- var StyledOverlay = (0, import_react26.styled)("div", {
1802
- display: "block !important",
1803
- position: "absolute",
1804
- inset: 0,
1805
- backgroundColor: "rgba(0, 0, 0, var(--overlay-opacity, .3))"
1806
- });
2296
+ showDots: true,
2297
+ dotsPosition: "bottom",
2298
+ dotsColor: "dark",
2299
+ loop: true,
2300
+ autoRotate: false,
2301
+ changeSlidesEvery: 5
2302
+ };
2303
+ var slideshow_default = Slideshow;
1807
2304
 
1808
- // src/components/placeholder.tsx
1809
- var import_react28 = __toESM(require("react"));
1810
- var Placeholder = (0, import_react28.forwardRef)(
1811
- (props, ref) => {
1812
- let { element, className, children, ...rest } = props;
1813
- return /* @__PURE__ */ import_react28.default.createElement("div", { "data-wv-placeholder": true, ref, className, ...rest }, /* @__PURE__ */ import_react28.default.createElement("div", { style: { fontWeight: 600, marginBottom: "10px" } }, element), /* @__PURE__ */ import_react28.default.createElement("div", null, children));
1814
- }
1815
- );
1816
- var placeholder_default = Placeholder;
2305
+ // src/elements/slideshow/slide.tsx
2306
+ var import_react35 = __toESM(require("react"));
1817
2307
 
1818
2308
  // src/elements/slideshow/position.ts
1819
2309
  var slidePositionMap = {
@@ -1856,7 +2346,7 @@ var slidePositionMap = {
1856
2346
  };
1857
2347
 
1858
2348
  // src/elements/slideshow/slide.tsx
1859
- var Slide = (0, import_react29.forwardRef)((props, ref) => {
2349
+ var Slide = (0, import_react35.forwardRef)((props, ref) => {
1860
2350
  let {
1861
2351
  contentPosition,
1862
2352
  backgroundColor,
@@ -1868,8 +2358,8 @@ var Slide = (0, import_react29.forwardRef)((props, ref) => {
1868
2358
  children,
1869
2359
  ...rest
1870
2360
  } = props;
1871
- return /* @__PURE__ */ import_react29.default.createElement("div", { className: "keen-slider__slide" }, /* @__PURE__ */ import_react29.default.createElement(
1872
- Background2,
2361
+ return /* @__PURE__ */ import_react35.default.createElement("div", { className: "keen-slider__slide" }, /* @__PURE__ */ import_react35.default.createElement(
2362
+ Background,
1873
2363
  {
1874
2364
  backgroundColor,
1875
2365
  backgroundImage,
@@ -1877,16 +2367,16 @@ var Slide = (0, import_react29.forwardRef)((props, ref) => {
1877
2367
  backgroundPosition,
1878
2368
  className: "slide-background"
1879
2369
  }
1880
- ), /* @__PURE__ */ import_react29.default.createElement(
1881
- Overlay2,
2370
+ ), /* @__PURE__ */ import_react35.default.createElement(
2371
+ Overlay,
1882
2372
  {
1883
2373
  enableOverlay,
1884
2374
  overlayOpacity,
1885
2375
  className: "slide-overlay"
1886
2376
  }
1887
- ), /* @__PURE__ */ import_react29.default.createElement("div", { ref, style: slidePositionMap[contentPosition], ...rest }, children?.length ? children : /* @__PURE__ */ import_react29.default.createElement(placeholder_default, { element: "Slide", className: "wv-slide-placeholder" }, "Drag and drop elements here")));
2377
+ ), /* @__PURE__ */ import_react35.default.createElement("div", { ref, style: slidePositionMap[contentPosition], ...rest }, children?.length ? children : /* @__PURE__ */ import_react35.default.createElement(placeholder_default, { element: "Slide", className: "wv-slide-placeholder" }, "Drag and drop elements here")));
1888
2378
  });
1889
- var css10 = {
2379
+ var css12 = {
1890
2380
  "@desktop": {
1891
2381
  position: "relative",
1892
2382
  height: "100%",
@@ -1933,12 +2423,12 @@ var Elements = {
1933
2423
  type: "image",
1934
2424
  defaultCss: css4
1935
2425
  },
1936
- // Instagram: {
1937
- // Component: Instagram.default,
1938
- // type: 'instagram',
1939
- // defaultCss: Instagram.css,
1940
- // permanentCss: Instagram.permanentCss,
1941
- // },
2426
+ Instagram: {
2427
+ Component: instagram_default,
2428
+ type: "instagram",
2429
+ defaultCss: css10,
2430
+ permanentCss
2431
+ },
1942
2432
  Layout: {
1943
2433
  Component: layout_default,
1944
2434
  type: "layout",
@@ -1954,45 +2444,25 @@ var Elements = {
1954
2444
  type: "text",
1955
2445
  defaultCss: css7
1956
2446
  },
2447
+ ScrollingText: {
2448
+ Component: scrolling_text_default,
2449
+ type: "scrolling-text",
2450
+ defaultCss: css8
2451
+ },
1957
2452
  Video: {
1958
2453
  Component: video_default,
1959
2454
  type: "video",
1960
- defaultCss: css8
2455
+ defaultCss: css9
1961
2456
  },
1962
- // Accordion: {
1963
- // Component: Accordion.default,
1964
- // type: 'accordion',
1965
- // defaultCss: Accordion.css,
1966
- // },
1967
- // AccordionWrapper: {
1968
- // Component: AccordionWrapper.default,
1969
- // type: 'accordion.wrapper',
1970
- // defaultCss: AccordionWrapper.css,
1971
- // },
1972
- // AccordionContent: {
1973
- // Component: AccordionContent.default,
1974
- // type: 'accordion.content',
1975
- // defaultCss: AccordionContent.css,
1976
- // },
1977
- // Tab: {
1978
- // Component: Tab.default,
1979
- // type: 'tab',
1980
- // defaultCss: Tab.css,
1981
- // },
1982
- // TabContent: {
1983
- // Component: TabContent.default,
1984
- // type: 'tab.content',
1985
- // defaultCss: TabContent.css,
1986
- // },
1987
2457
  Slideshow: {
1988
2458
  Component: slideshow_default,
1989
2459
  type: "slideshow",
1990
- defaultCss: css9
2460
+ defaultCss: css11
1991
2461
  },
1992
2462
  Slide: {
1993
2463
  Component: slide_default,
1994
2464
  type: "slide",
1995
- defaultCss: css10
2465
+ defaultCss: css12
1996
2466
  }
1997
2467
  };
1998
2468
 
@@ -2034,275 +2504,18 @@ var createRootContext = (configs) => {
2034
2504
  });
2035
2505
  return rootContext;
2036
2506
  };
2037
- var WeaverseContext = (0, import_react30.createContext)({});
2507
+ var WeaverseContext = (0, import_react36.createContext)({});
2038
2508
  var WeaverseContextProvider = WeaverseContext.Provider;
2039
2509
  var WeaverseContextConsumer = WeaverseContext.Consumer;
2040
2510
 
2041
- // src/components/modal/index.tsx
2042
- var modal_exports = {};
2043
- __export(modal_exports, {
2044
- Modal: () => Modal,
2045
- ModalClose: () => ModalClose,
2046
- ModalContent: () => ModalContent,
2047
- ModalHeader: () => ModalHeader,
2048
- ModalTrigger: () => ModalTrigger
2049
- });
2050
- var import_react_dialog2 = require("@radix-ui/react-dialog");
2051
- var import_react33 = __toESM(require("react"));
2052
-
2053
- // src/components/modal/styled.ts
2054
- var import_react_dialog = require("@radix-ui/react-dialog");
2055
- var import_react31 = require("@stitches/react");
2056
- var overlayShow = (0, import_react31.keyframes)({
2057
- "0%": { opacity: 0 },
2058
- "100%": { opacity: 1 }
2059
- });
2060
- var contentShow = (0, import_react31.keyframes)({
2061
- "0%": { opacity: 0, transform: "translate(-50%, -48%) scale(.96)" },
2062
- "100%": { opacity: 1, transform: "translate(-50%, -50%) scale(1)" }
2063
- });
2064
- var StyledOverlay2 = (0, import_react31.styled)(import_react_dialog.Overlay, {
2065
- display: "block !important",
2066
- backgroundColor: "rgba(0, 0, 0, .3)",
2067
- position: "fixed",
2068
- zIndex: 99999,
2069
- inset: 0,
2070
- animation: `${overlayShow} 300ms cubic-bezier(0.16, 1, 0.3, 1)`
2071
- });
2072
- var StyledTitle = (0, import_react31.styled)(import_react_dialog.Title, {
2073
- margin: "0 0 24px",
2074
- fontWeight: 500,
2075
- fontSize: 24,
2076
- "@media (max-width: 768px)": {
2077
- margin: "0 0 16px",
2078
- fontSize: 20
2079
- }
2080
- });
2081
- var StyledContent = (0, import_react31.styled)(import_react_dialog.Content, {
2082
- backgroundColor: "white",
2083
- borderRadius: 6,
2084
- boxShadow: "hsl(206 22% 7% / 35%) 0px 10px 38px -10px, hsl(206 22% 7% / 20%) 0px 10px 20px -15px",
2085
- position: "fixed",
2086
- top: "50%",
2087
- left: "50%",
2088
- transform: "translate(-50%, -50%)",
2089
- padding: 24,
2090
- animation: `${contentShow} 300ms cubic-bezier(0.16, 1, 0.3, 1)`,
2091
- zIndex: 99999,
2092
- maxWidth: "90vw",
2093
- width: "auto",
2094
- "*": {
2095
- maxWidth: "100%"
2096
- },
2097
- "&:focus": { outline: "none" },
2098
- '&[data-size="fullscreen"]': {
2099
- width: "100vw",
2100
- height: "100vh",
2101
- maxWidth: "100vw",
2102
- borderRadius: 0
2103
- },
2104
- "@media (max-width: 768px)": {
2105
- width: "90vw",
2106
- padding: 12,
2107
- '&[data-size="fullscreen"]': {
2108
- width: "100vw"
2109
- }
2110
- }
2111
- });
2112
- var StyledCloseIcon = (0, import_react31.styled)("button", {
2113
- all: "unset",
2114
- cursor: "pointer",
2115
- fontFamily: "inherit",
2116
- borderRadius: "100%",
2117
- height: 32,
2118
- width: 32,
2119
- padding: 4,
2120
- display: "inline-flex",
2121
- alignItems: "center",
2122
- justifyContent: "center",
2123
- color: "rgb(55, 65, 81)",
2124
- position: "absolute",
2125
- top: 8,
2126
- right: 8,
2127
- "&:hover": {
2128
- backgroundColor: "rgba(112, 112, 112, .1)"
2129
- },
2130
- svg: {
2131
- width: 24,
2132
- height: 24
2133
- }
2134
- });
2135
-
2136
- // src/components/modal/use-open-change-effect.ts
2137
- var import_react32 = require("react");
2138
- function useOpenChangeEffect(props) {
2139
- let { open, defaultOpen, onOpenChange } = props;
2140
- let rootCtx = (0, import_react32.useContext)(WeaverseContext);
2141
- let toggleRootzIndex = (open2) => {
2142
- let { contentRootElement } = rootCtx;
2143
- if (contentRootElement) {
2144
- if (open2) {
2145
- contentRootElement.classList.add("modal-open");
2146
- } else {
2147
- contentRootElement.classList.remove("modal-open");
2148
- }
2149
- }
2150
- };
2151
- (0, import_react32.useEffect)(() => {
2152
- let isOpen = open || defaultOpen;
2153
- toggleRootzIndex(isOpen);
2154
- }, [open, defaultOpen]);
2155
- let handleOpenChange = (open2) => {
2156
- toggleRootzIndex(open2);
2157
- onOpenChange?.(open2);
2158
- };
2159
- return handleOpenChange;
2160
- }
2161
-
2162
- // src/components/modal/index.tsx
2163
- var Modal = (props) => {
2164
- let { children, open, defaultOpen, onOpenChange, ...rest } = props;
2165
- let handleOpenChange = useOpenChangeEffect(props);
2166
- return /* @__PURE__ */ import_react33.default.createElement(
2167
- import_react_dialog2.Root,
2168
- {
2169
- open,
2170
- defaultOpen,
2171
- onOpenChange: handleOpenChange,
2172
- ...rest
2173
- },
2174
- children
2175
- );
2176
- };
2177
- var ModalTrigger = import_react_dialog2.Trigger;
2178
- var ModalHeader = (0, import_react33.forwardRef)(
2179
- (props, ref) => {
2180
- let { children, ...rest } = props;
2181
- return /* @__PURE__ */ import_react33.default.createElement(StyledTitle, { ref, ...rest, "data-wv-modal-header": true }, children);
2182
- }
2183
- );
2184
- var ModalContent = (0, import_react33.forwardRef)(
2185
- (props, ref) => {
2186
- let { children, size, portal, ...rest } = props;
2187
- let modalContent = /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(StyledOverlay2, null), /* @__PURE__ */ import_react33.default.createElement(
2188
- StyledContent,
2189
- {
2190
- ...rest,
2191
- onCloseAutoFocus: (e) => e.preventDefault(),
2192
- "data-wv-modal": true,
2193
- "data-size": size,
2194
- ref
2195
- },
2196
- /* @__PURE__ */ import_react33.default.createElement(ModalClose, null),
2197
- /* @__PURE__ */ import_react33.default.createElement("div", { className: "wv-modal-content" }, children)
2198
- ));
2199
- if (portal) {
2200
- return /* @__PURE__ */ import_react33.default.createElement(import_react_dialog2.Portal, null, modalContent);
2201
- }
2202
- return modalContent;
2203
- }
2204
- );
2205
- ModalContent.defaultProps = {
2206
- size: "auto",
2207
- portal: false
2208
- };
2209
- var ModalClose = (0, import_react33.forwardRef)(
2210
- (props, ref) => {
2211
- let { asChild, children, ...rest } = props;
2212
- let closeIcon = /* @__PURE__ */ import_react33.default.createElement(StyledCloseIcon, null, /* @__PURE__ */ import_react33.default.createElement(Icon, { name: "X" }));
2213
- return /* @__PURE__ */ import_react33.default.createElement(import_react_dialog2.Close, { asChild: true, ...rest, ref }, asChild ? children : closeIcon);
2214
- }
2215
- );
2216
-
2217
- // src/components/spinner.tsx
2218
- var import_react34 = __toESM(require("react"));
2219
- function Spinner() {
2220
- return /* @__PURE__ */ import_react34.default.createElement("span", { className: "wv-spinner-wrapper" }, /* @__PURE__ */ import_react34.default.createElement(Icon, { name: "CircleNotch", className: "wv-spinner" }));
2221
- }
2222
-
2223
- // src/components/tooltip.tsx
2224
- var import_react35 = __toESM(require("react"));
2225
- function Tooltip({ children }) {
2226
- return /* @__PURE__ */ import_react35.default.createElement("span", { className: "wv-tooltip" }, children);
2227
- }
2228
-
2229
- // src/components/slider/index.tsx
2230
- var import_clsx6 = __toESM(require("clsx"));
2231
- var import_react36 = require("keen-slider/react");
2232
- var import_react37 = __toESM(require("react"));
2233
- function Slider(props) {
2234
- let { children, className, gap, slidesPerView, arrowOffset } = props;
2235
- let [currentSlide, setCurrentSlide] = (0, import_react37.useState)(0);
2236
- let [created, setCreated] = (0, import_react37.useState)(false);
2237
- let [ref, instanceRef] = (0, import_react36.useKeenSlider)(
2238
- {
2239
- slides: { perView: slidesPerView, spacing: gap },
2240
- breakpoints: {
2241
- "(max-width: 1024px)": {
2242
- slides: { perView: 3, spacing: gap }
2243
- },
2244
- "(max-width: 768px)": {
2245
- slides: {
2246
- perView: 1,
2247
- spacing: 32
2248
- }
2249
- }
2250
- },
2251
- created: () => {
2252
- setCreated(true);
2253
- },
2254
- slideChanged: (slider) => {
2255
- setCurrentSlide(slider.track.details.rel);
2256
- }
2257
- },
2258
- [ResizePlugin]
2259
- );
2260
- let _className = (0, import_clsx6.default)("keen-slider", className);
2261
- let arrowsClass = (0, import_clsx6.default)(className && `${className}-arrows`);
2262
- return /* @__PURE__ */ import_react37.default.createElement(import_react37.default.Fragment, null, /* @__PURE__ */ import_react37.default.createElement("div", { ref, className: _className }, /* @__PURE__ */ import_react37.default.createElement(
2263
- "link",
2264
- {
2265
- rel: "stylesheet",
2266
- href: "https://cdn.jsdelivr.net/npm/keen-slider@latest/keen-slider.min.css"
2267
- }
2268
- ), children), created && instanceRef?.current && /* @__PURE__ */ import_react37.default.createElement(
2269
- Arrows,
2270
- {
2271
- currentSlide,
2272
- instanceRef,
2273
- className: arrowsClass,
2274
- offset: arrowOffset,
2275
- icon: "arrow"
2276
- }
2277
- ));
2278
- }
2279
-
2280
- // src/components/index.ts
2281
- var Components = {
2282
- Background: Background2,
2283
- Icon,
2284
- ModalComponents: modal_exports,
2285
- Overlay: Overlay2,
2286
- Placeholder: placeholder_default,
2287
- Spinner,
2288
- Slider,
2289
- Tooltip
2290
- };
2291
- var SliderComponents = {
2292
- Arrows,
2293
- Dots,
2294
- ResizePlugin,
2295
- AutoplayPlugin
2296
- };
2297
-
2298
2511
  // src/renderer.tsx
2299
2512
  var import_core3 = require("@weaverse/core");
2300
- var import_react38 = __toESM(require("react"));
2513
+ var import_react37 = __toESM(require("react"));
2301
2514
  var WeaverseRoot = ({ context }) => {
2302
- let [, setData] = (0, import_react38.useState)(context.data);
2303
- let rootRef = (0, import_react38.useRef)();
2515
+ let [, setData] = (0, import_react37.useState)(context.data);
2516
+ let rootRef = (0, import_react37.useRef)();
2304
2517
  let renderRoot = () => setData({});
2305
- (0, import_react38.useEffect)(() => {
2518
+ (0, import_react37.useEffect)(() => {
2306
2519
  context.subscribe(renderRoot);
2307
2520
  context.contentRootElement = rootRef.current;
2308
2521
  initUploadCareAdaptiveDelivery(context.weaverseHost);
@@ -2313,24 +2526,24 @@ var WeaverseRoot = ({ context }) => {
2313
2526
  let eventHandlers = context?.studioBridge?.eventHandlers || {};
2314
2527
  let themeClass = context.stitchesInstance.theme.className;
2315
2528
  if (context.data?.rootId) {
2316
- return /* @__PURE__ */ import_react38.default.createElement(
2529
+ return /* @__PURE__ */ import_react37.default.createElement(
2317
2530
  "div",
2318
2531
  {
2319
2532
  className: `weaverse-content-root ${themeClass}`,
2320
2533
  ...eventHandlers,
2321
2534
  ref: rootRef
2322
2535
  },
2323
- /* @__PURE__ */ import_react38.default.createElement(WeaverseContextProvider, { value: context }, /* @__PURE__ */ import_react38.default.createElement(ItemInstance, { id: context.data.rootId })),
2324
- context.platformType === "react-ssr" ? /* @__PURE__ */ import_react38.default.createElement(StitchesSSR, { stitchesInstance: context.stitchesInstance }) : null
2536
+ /* @__PURE__ */ import_react37.default.createElement(WeaverseContextProvider, { value: context }, /* @__PURE__ */ import_react37.default.createElement(ItemInstance, { id: context.data.rootId })),
2537
+ context.platformType === "react-ssr" ? /* @__PURE__ */ import_react37.default.createElement(StitchesSSR, { stitchesInstance: context.stitchesInstance }) : null
2325
2538
  );
2326
2539
  }
2327
2540
  return null;
2328
2541
  };
2329
2542
  var ItemComponent = ({ instance }) => {
2330
- let { stitchesInstance, elementInstances } = (0, import_react38.useContext)(WeaverseContext);
2331
- let [data, setData] = (0, import_react38.useState)(instance.data);
2332
- let { id, type, childIds = [], css: css11, className, ...rest } = data;
2333
- (0, import_react38.useEffect)(() => {
2543
+ let { stitchesInstance, elementInstances } = (0, import_react37.useContext)(WeaverseContext);
2544
+ let [data, setData] = (0, import_react37.useState)(instance.data);
2545
+ let { id, type, childIds = [], css: css13, className, ...rest } = data;
2546
+ (0, import_react37.useEffect)(() => {
2334
2547
  let render = (data2) => setData({ ...data2 });
2335
2548
  instance.subscribe(render);
2336
2549
  if (import_core3.isBrowser && !instance.ref.current) {
@@ -2346,7 +2559,7 @@ var ItemComponent = ({ instance }) => {
2346
2559
  if (Component.$$typeof === Symbol.for("react.forward_ref")) {
2347
2560
  rest.ref = instance.ref;
2348
2561
  }
2349
- return /* @__PURE__ */ import_react38.default.createElement(
2562
+ return /* @__PURE__ */ import_react37.default.createElement(
2350
2563
  Component,
2351
2564
  {
2352
2565
  key: id,
@@ -2355,7 +2568,7 @@ var ItemComponent = ({ instance }) => {
2355
2568
  className: generateItemClassName(instance, stitchesInstance),
2356
2569
  ...rest
2357
2570
  },
2358
- childIds.map((id2) => /* @__PURE__ */ import_react38.default.createElement(ItemInstance, { key: id2, id: id2 }))
2571
+ childIds.map((id2) => /* @__PURE__ */ import_react37.default.createElement(ItemInstance, { key: id2, id: id2 }))
2359
2572
  );
2360
2573
  } else {
2361
2574
  console.log(`Unknown element: ${type}`);
@@ -2364,7 +2577,7 @@ var ItemComponent = ({ instance }) => {
2364
2577
  };
2365
2578
  var StitchesSSR = ({ stitchesInstance }) => {
2366
2579
  const stitchesCss2 = stitchesInstance.getCssText();
2367
- return /* @__PURE__ */ import_react38.default.createElement(
2580
+ return /* @__PURE__ */ import_react37.default.createElement(
2368
2581
  "style",
2369
2582
  {
2370
2583
  id: "stitches",
@@ -2375,13 +2588,13 @@ var StitchesSSR = ({ stitchesInstance }) => {
2375
2588
  );
2376
2589
  };
2377
2590
  var ItemInstance = ({ id }) => {
2378
- let context = (0, import_react38.useContext)(WeaverseContext);
2591
+ let context = (0, import_react37.useContext)(WeaverseContext);
2379
2592
  let { itemInstances } = context;
2380
2593
  let instance = itemInstances.get(id);
2381
2594
  if (!instance) {
2382
- return /* @__PURE__ */ import_react38.default.createElement("div", { style: { display: "none" } }, "Item instance ", id, " not found");
2595
+ return /* @__PURE__ */ import_react37.default.createElement("div", { style: { display: "none" } }, "Item instance ", id, " not found");
2383
2596
  }
2384
- return /* @__PURE__ */ import_react38.default.createElement(ItemComponent, { key: id, instance });
2597
+ return /* @__PURE__ */ import_react37.default.createElement(ItemComponent, { key: id, instance });
2385
2598
  };
2386
2599
  // Annotate the CommonJS export names for ESM import in node:
2387
2600
  0 && (module.exports = {