@weaverse/react 1.0.10 → 1.0.12

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
@@ -44,8 +44,8 @@ module.exports = __toCommonJS(src_exports);
44
44
  __reExport(src_exports, require("@weaverse/core"), module.exports);
45
45
 
46
46
  // src/context.ts
47
- var import_core2 = require("@weaverse/core");
48
- var import_react36 = require("react");
47
+ var import_core = require("@weaverse/core");
48
+ var import_react37 = require("react");
49
49
 
50
50
  // src/elements/button.tsx
51
51
  var React = __toESM(require("react"));
@@ -694,7 +694,7 @@ Video.defaultProps = {
694
694
  var video_default = Video;
695
695
 
696
696
  // src/elements/instagram.tsx
697
- var import_react30 = __toESM(require("react"));
697
+ var import_react31 = __toESM(require("react"));
698
698
 
699
699
  // src/components/modal/index.tsx
700
700
  var modal_exports = {};
@@ -1664,7 +1664,7 @@ function Tooltip({ children }) {
1664
1664
 
1665
1665
  // src/components/slider/index.tsx
1666
1666
  var import_clsx3 = __toESM(require("clsx"));
1667
- var import_react25 = require("keen-slider/react");
1667
+ var import_react25 = require("keen-slider/react.es");
1668
1668
  var import_react26 = __toESM(require("react"));
1669
1669
 
1670
1670
  // src/components/slider/arrows.tsx
@@ -1936,6 +1936,25 @@ var Placeholder = (0, import_react29.forwardRef)(
1936
1936
  );
1937
1937
  var placeholder_default = Placeholder;
1938
1938
 
1939
+ // src/components/no-hydrate.tsx
1940
+ var import_react30 = __toESM(require("react"));
1941
+ function NoHydrate({
1942
+ getHTML,
1943
+ ...rest
1944
+ }) {
1945
+ let id = (0, import_react30.useId)();
1946
+ let [html] = (0, import_react30.useState)(() => {
1947
+ if (typeof document === "undefined") {
1948
+ return getHTML?.() ?? "";
1949
+ }
1950
+ let el = document.getElementById(id);
1951
+ if (!el)
1952
+ return getHTML?.() ?? "";
1953
+ return el.innerHTML;
1954
+ });
1955
+ return /* @__PURE__ */ import_react30.default.createElement("div", { ...rest, id, dangerouslySetInnerHTML: { __html: html } });
1956
+ }
1957
+
1939
1958
  // src/components/index.ts
1940
1959
  var Components = {
1941
1960
  Background,
@@ -1945,7 +1964,8 @@ var Components = {
1945
1964
  Placeholder: placeholder_default,
1946
1965
  Spinner,
1947
1966
  Slider,
1948
- Tooltip
1967
+ Tooltip,
1968
+ NoHydrate
1949
1969
  };
1950
1970
  var SliderComponents = {
1951
1971
  Arrows,
@@ -1955,12 +1975,12 @@ var SliderComponents = {
1955
1975
  };
1956
1976
 
1957
1977
  // src/elements/instagram.tsx
1958
- var Instagram = (0, import_react30.forwardRef)(
1978
+ var Instagram = (0, import_react31.forwardRef)(
1959
1979
  (props, ref) => {
1960
1980
  let { token, username, numberOfImages, imagesPerRow, gap, ...rest } = props;
1961
- let [media, setMedia] = (0, import_react30.useState)([]);
1962
- let [error, setError] = (0, import_react30.useState)(null);
1963
- (0, import_react30.useEffect)(() => {
1981
+ let [media, setMedia] = (0, import_react31.useState)([]);
1982
+ let [error, setError] = (0, import_react31.useState)(null);
1983
+ (0, import_react31.useEffect)(() => {
1964
1984
  if (token) {
1965
1985
  let params = new URLSearchParams({
1966
1986
  access_token: token,
@@ -1977,13 +1997,13 @@ var Instagram = (0, import_react30.forwardRef)(
1977
1997
  }
1978
1998
  }, [token]);
1979
1999
  if (!token || error) {
1980
- 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!"));
2000
+ return /* @__PURE__ */ import_react31.default.createElement("div", { ref, ...rest }, /* @__PURE__ */ import_react31.default.createElement(Components.Placeholder, { element: "Instagram" }, !token ? "Connect to Instagram to display photos on your site." : "Invalid or expired token!"));
1981
2001
  }
1982
2002
  let style = {
1983
2003
  "--wv-ig-images-per-row": imagesPerRow,
1984
2004
  "--wv-ig-images-gap": gap + "px"
1985
2005
  };
1986
- 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) => {
2006
+ return /* @__PURE__ */ import_react31.default.createElement("div", { ref, ...rest, style }, /* @__PURE__ */ import_react31.default.createElement("div", { className: "wv-ig-media-container" }, media.slice(0, numberOfImages).map((item) => {
1987
2007
  let {
1988
2008
  id,
1989
2009
  permalink,
@@ -1993,9 +2013,9 @@ var Instagram = (0, import_react30.forwardRef)(
1993
2013
  thumbnail_url
1994
2014
  } = item;
1995
2015
  if (media_type === "VIDEO") {
1996
- 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" }));
2016
+ return /* @__PURE__ */ import_react31.default.createElement("video", { key: id, controls: true, poster: thumbnail_url }, /* @__PURE__ */ import_react31.default.createElement("source", { src: media_url, type: "video/mp4" }));
1997
2017
  }
1998
- 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 }));
2018
+ return /* @__PURE__ */ import_react31.default.createElement("a", { key: id, href: permalink, target: "_blank", rel: "noreferrer" }, /* @__PURE__ */ import_react31.default.createElement("img", { alt: caption, src: media_url }));
1999
2019
  })));
2000
2020
  }
2001
2021
  );
@@ -2062,13 +2082,13 @@ Instagram.defaultProps = {
2062
2082
  var instagram_default = Instagram;
2063
2083
 
2064
2084
  // src/elements/slideshow/index.tsx
2065
- var import_react33 = require("@stitches/react");
2085
+ var import_react34 = require("@stitches/react");
2066
2086
  var import_clsx6 = __toESM(require("clsx"));
2067
- var import_react34 = __toESM(require("react"));
2087
+ var import_react35 = __toESM(require("react"));
2068
2088
 
2069
2089
  // src/elements/slideshow/use-slideshow-configs.ts
2070
- var import_react31 = require("keen-slider/react");
2071
- var import_react32 = __toESM(require("react"));
2090
+ var import_react32 = require("keen-slider/react");
2091
+ var import_react33 = __toESM(require("react"));
2072
2092
 
2073
2093
  // src/utils/css.ts
2074
2094
  var import_clsx5 = __toESM(require("clsx"));
@@ -2128,19 +2148,19 @@ function useSlideshowConfigs(props) {
2128
2148
  changeSlidesEvery,
2129
2149
  children
2130
2150
  } = props;
2131
- let { isDesignMode, isPreviewMode } = (0, import_react32.useContext)(WeaverseContext);
2132
- let [opacities, setOpacities] = import_react32.default.useState([]);
2133
- let [cssLoaded, setCssLoaded] = (0, import_react32.useState)(false);
2134
- let [created, setCreated] = (0, import_react32.useState)(false);
2135
- let [ready, setReady] = (0, import_react32.useState)(false);
2136
- let [currentSlide, setCurrentSlide] = (0, import_react32.useState)(0);
2151
+ let { isDesignMode, isPreviewMode } = (0, import_react33.useContext)(WeaverseContext);
2152
+ let [opacities, setOpacities] = import_react33.default.useState([]);
2153
+ let [cssLoaded, setCssLoaded] = (0, import_react33.useState)(false);
2154
+ let [created, setCreated] = (0, import_react33.useState)(false);
2155
+ let [ready, setReady] = (0, import_react33.useState)(false);
2156
+ let [currentSlide, setCurrentSlide] = (0, import_react33.useState)(0);
2137
2157
  let sliderPlugins = [ResizePlugin];
2138
2158
  if (autoRotate && (isPreviewMode || !isDesignMode)) {
2139
2159
  sliderPlugins.push(AutoplayPlugin(changeSlidesEvery));
2140
2160
  }
2141
- let [sliderRef, instanceRef] = (0, import_react31.useKeenSlider)(
2161
+ let [sliderRef, instanceRef] = (0, import_react32.useKeenSlider)(
2142
2162
  {
2143
- slides: animation === "fade" ? import_react32.default.Children.count(children) : { perView: slidesPerView, number: import_react32.default.Children.count(children) },
2163
+ slides: animation === "fade" ? import_react33.default.Children.count(children) : { perView: slidesPerView, number: import_react33.default.Children.count(children) },
2144
2164
  drag: isPreviewMode || !isDesignMode,
2145
2165
  loop,
2146
2166
  selector: animation === "fade" ? null : ".keen-slider__slide",
@@ -2170,13 +2190,13 @@ function useSlideshowConfigs(props) {
2170
2190
  },
2171
2191
  sliderPlugins
2172
2192
  );
2173
- (0, import_react32.useEffect)(() => {
2193
+ (0, import_react33.useEffect)(() => {
2174
2194
  loadCSS({
2175
2195
  rel: "stylesheet",
2176
2196
  href: "https://cdn.jsdelivr.net/npm/keen-slider@latest/keen-slider.min.css"
2177
2197
  }).then(() => setCssLoaded(true));
2178
2198
  }, []);
2179
- (0, import_react32.useEffect)(() => {
2199
+ (0, import_react33.useEffect)(() => {
2180
2200
  if (created && cssLoaded) {
2181
2201
  setReady(true);
2182
2202
  }
@@ -2192,7 +2212,7 @@ function useSlideshowConfigs(props) {
2192
2212
  }
2193
2213
 
2194
2214
  // src/elements/slideshow/index.tsx
2195
- var Slideshow = (0, import_react34.forwardRef)((props, ref) => {
2215
+ var Slideshow = (0, import_react35.forwardRef)((props, ref) => {
2196
2216
  let {
2197
2217
  animation,
2198
2218
  showArrows,
@@ -2211,7 +2231,7 @@ var Slideshow = (0, import_react34.forwardRef)((props, ref) => {
2211
2231
  };
2212
2232
  let faderClass = "";
2213
2233
  if (animation === "fade") {
2214
- faderClass = (0, import_react33.css)({
2234
+ faderClass = (0, import_react34.css)({
2215
2235
  ".keen-slider__slide": opacities.reduce((acc, opacity, index) => {
2216
2236
  acc[`&:nth-child(${index + 1})`] = {
2217
2237
  opacity
@@ -2229,7 +2249,7 @@ var Slideshow = (0, import_react34.forwardRef)((props, ref) => {
2229
2249
  showArrowsOnHover && "show-on-hover",
2230
2250
  `arrows--${arrowsColor}`
2231
2251
  );
2232
- 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(
2252
+ return /* @__PURE__ */ import_react35.default.createElement("div", { ref, style, ...rest }, /* @__PURE__ */ import_react35.default.createElement("div", { ref: sliderRef, className: _className }, children), showArrows && created && instanceRef?.current && /* @__PURE__ */ import_react35.default.createElement(
2233
2253
  Arrows,
2234
2254
  {
2235
2255
  instanceRef,
@@ -2238,7 +2258,7 @@ var Slideshow = (0, import_react34.forwardRef)((props, ref) => {
2238
2258
  icon: arrowIcon,
2239
2259
  offset: 20
2240
2260
  }
2241
- ), showDots && created && instanceRef?.current && /* @__PURE__ */ import_react34.default.createElement(
2261
+ ), showDots && created && instanceRef?.current && /* @__PURE__ */ import_react35.default.createElement(
2242
2262
  Dots,
2243
2263
  {
2244
2264
  instanceRef,
@@ -2319,7 +2339,7 @@ Slideshow.defaultProps = {
2319
2339
  var slideshow_default = Slideshow;
2320
2340
 
2321
2341
  // src/elements/slideshow/slide.tsx
2322
- var import_react35 = __toESM(require("react"));
2342
+ var import_react36 = __toESM(require("react"));
2323
2343
 
2324
2344
  // src/elements/slideshow/position.ts
2325
2345
  var slidePositionMap = {
@@ -2362,7 +2382,7 @@ var slidePositionMap = {
2362
2382
  };
2363
2383
 
2364
2384
  // src/elements/slideshow/slide.tsx
2365
- var Slide = (0, import_react35.forwardRef)((props, ref) => {
2385
+ var Slide = (0, import_react36.forwardRef)((props, ref) => {
2366
2386
  let {
2367
2387
  contentPosition,
2368
2388
  backgroundColor,
@@ -2374,7 +2394,7 @@ var Slide = (0, import_react35.forwardRef)((props, ref) => {
2374
2394
  children,
2375
2395
  ...rest
2376
2396
  } = props;
2377
- return /* @__PURE__ */ import_react35.default.createElement("div", { className: "keen-slider__slide" }, /* @__PURE__ */ import_react35.default.createElement(
2397
+ return /* @__PURE__ */ import_react36.default.createElement("div", { className: "keen-slider__slide" }, /* @__PURE__ */ import_react36.default.createElement(
2378
2398
  Background,
2379
2399
  {
2380
2400
  backgroundColor,
@@ -2383,14 +2403,14 @@ var Slide = (0, import_react35.forwardRef)((props, ref) => {
2383
2403
  backgroundPosition,
2384
2404
  className: "slide-background"
2385
2405
  }
2386
- ), /* @__PURE__ */ import_react35.default.createElement(
2406
+ ), /* @__PURE__ */ import_react36.default.createElement(
2387
2407
  Overlay,
2388
2408
  {
2389
2409
  enableOverlay,
2390
2410
  overlayOpacity,
2391
2411
  className: "slide-overlay"
2392
2412
  }
2393
- ), /* @__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")));
2413
+ ), /* @__PURE__ */ import_react36.default.createElement("div", { ref, style: slidePositionMap[contentPosition], ...rest }, children?.length ? children : /* @__PURE__ */ import_react36.default.createElement(placeholder_default, { element: "Slide", className: "wv-slide-placeholder" }, "Drag and drop elements here")));
2394
2414
  });
2395
2415
  var css12 = {
2396
2416
  "@desktop": {
@@ -2482,12 +2502,28 @@ var Elements = {
2482
2502
  }
2483
2503
  };
2484
2504
 
2505
+ // src/context.ts
2506
+ var createRootContext = (configs) => {
2507
+ let rootContext = new import_core.Weaverse(configs);
2508
+ Object.keys(Elements).forEach((key) => {
2509
+ rootContext.registerElement(Elements[key]);
2510
+ });
2511
+ return rootContext;
2512
+ };
2513
+ var WeaverseContext = (0, import_react37.createContext)({});
2514
+ var WeaverseContextProvider = WeaverseContext.Provider;
2515
+ var WeaverseContextConsumer = WeaverseContext.Consumer;
2516
+
2517
+ // src/renderer.tsx
2518
+ var import_core3 = require("@weaverse/core");
2519
+ var import_react38 = __toESM(require("react"));
2520
+
2485
2521
  // src/utils/uploadcare.ts
2486
- var import_core = require("@weaverse/core");
2522
+ var import_core2 = require("@weaverse/core");
2487
2523
  function initUploadCareAdaptiveDelivery(baseUrl) {
2488
2524
  try {
2489
2525
  Promise.resolve().then(() => {
2490
- if (import_core.isBrowser && !window.Blinkloader) {
2526
+ if (import_core2.isBrowser && !window.Blinkloader) {
2491
2527
  ;
2492
2528
  (function(src, cb) {
2493
2529
  let s = document.createElement("script");
@@ -2512,26 +2548,12 @@ function initUploadCareAdaptiveDelivery(baseUrl) {
2512
2548
  }
2513
2549
  }
2514
2550
 
2515
- // src/context.ts
2516
- var createRootContext = (configs) => {
2517
- let rootContext = new import_core2.Weaverse(configs);
2518
- Object.keys(Elements).forEach((key) => {
2519
- rootContext.registerElement(Elements[key]);
2520
- });
2521
- return rootContext;
2522
- };
2523
- var WeaverseContext = (0, import_react36.createContext)({});
2524
- var WeaverseContextProvider = WeaverseContext.Provider;
2525
- var WeaverseContextConsumer = WeaverseContext.Consumer;
2526
-
2527
2551
  // src/renderer.tsx
2528
- var import_core3 = require("@weaverse/core");
2529
- var import_react37 = __toESM(require("react"));
2530
2552
  var WeaverseRoot = ({ context }) => {
2531
- let [, setData] = (0, import_react37.useState)(context.data);
2532
- let rootRef = (0, import_react37.useRef)();
2553
+ let [, setData] = (0, import_react38.useState)(context.data);
2554
+ let rootRef = (0, import_react38.useRef)();
2533
2555
  let renderRoot = () => setData({});
2534
- (0, import_react37.useEffect)(() => {
2556
+ (0, import_react38.useEffect)(() => {
2535
2557
  context.subscribe(renderRoot);
2536
2558
  context.contentRootElement = rootRef.current;
2537
2559
  initUploadCareAdaptiveDelivery(context.weaverseHost);
@@ -2542,24 +2564,25 @@ var WeaverseRoot = ({ context }) => {
2542
2564
  let eventHandlers = context?.studioBridge?.eventHandlers || {};
2543
2565
  let themeClass = context.stitchesInstance.theme.className;
2544
2566
  if (context.data?.rootId) {
2545
- return /* @__PURE__ */ import_react37.default.createElement(
2567
+ return /* @__PURE__ */ import_react38.default.createElement(
2546
2568
  "div",
2547
2569
  {
2548
2570
  className: `weaverse-content-root ${themeClass}`,
2549
2571
  ...eventHandlers,
2572
+ suppressHydrationWarning: true,
2550
2573
  ref: rootRef
2551
2574
  },
2552
- /* @__PURE__ */ import_react37.default.createElement(WeaverseContextProvider, { value: context }, /* @__PURE__ */ import_react37.default.createElement(ItemInstance, { id: context.data.rootId })),
2553
- context.platformType === "react-ssr" ? /* @__PURE__ */ import_react37.default.createElement(StitchesSSR, { stitchesInstance: context.stitchesInstance }) : null
2575
+ /* @__PURE__ */ import_react38.default.createElement(WeaverseContextProvider, { value: context }, /* @__PURE__ */ import_react38.default.createElement(ItemInstance, { id: context.data.rootId })),
2576
+ context.platformType === "react-ssr" ? /* @__PURE__ */ import_react38.default.createElement(StitchesSSR, { stitchesInstance: context.stitchesInstance }) : null
2554
2577
  );
2555
2578
  }
2556
2579
  return null;
2557
2580
  };
2558
2581
  var ItemComponent = ({ instance }) => {
2559
- let { stitchesInstance, elementInstances } = (0, import_react37.useContext)(WeaverseContext);
2560
- let [data, setData] = (0, import_react37.useState)(instance.data);
2582
+ let { stitchesInstance, elementInstances } = (0, import_react38.useContext)(WeaverseContext);
2583
+ let [data, setData] = (0, import_react38.useState)(instance.data);
2561
2584
  let { id, type, childIds = [], css: css13, className, ...rest } = data;
2562
- (0, import_react37.useEffect)(() => {
2585
+ (0, import_react38.useEffect)(() => {
2563
2586
  let render = (data2) => setData({ ...data2 });
2564
2587
  instance.subscribe(render);
2565
2588
  if (import_core3.isBrowser && !instance.ref.current) {
@@ -2575,7 +2598,7 @@ var ItemComponent = ({ instance }) => {
2575
2598
  if (Component.$$typeof === Symbol.for("react.forward_ref")) {
2576
2599
  rest.ref = instance.ref;
2577
2600
  }
2578
- return /* @__PURE__ */ import_react37.default.createElement(
2601
+ return /* @__PURE__ */ import_react38.default.createElement(
2579
2602
  Component,
2580
2603
  {
2581
2604
  key: id,
@@ -2584,7 +2607,7 @@ var ItemComponent = ({ instance }) => {
2584
2607
  className: generateItemClassName(instance, stitchesInstance),
2585
2608
  ...rest
2586
2609
  },
2587
- childIds.map((id2) => /* @__PURE__ */ import_react37.default.createElement(ItemInstance, { key: id2, id: id2 }))
2610
+ childIds.map((id2) => /* @__PURE__ */ import_react38.default.createElement(ItemInstance, { key: id2, id: id2 }))
2588
2611
  );
2589
2612
  } else {
2590
2613
  console.log(`Unknown element: ${type}`);
@@ -2593,7 +2616,7 @@ var ItemComponent = ({ instance }) => {
2593
2616
  };
2594
2617
  var StitchesSSR = ({ stitchesInstance }) => {
2595
2618
  const stitchesCss2 = stitchesInstance.getCssText();
2596
- return /* @__PURE__ */ import_react37.default.createElement(
2619
+ return /* @__PURE__ */ import_react38.default.createElement(
2597
2620
  "style",
2598
2621
  {
2599
2622
  id: "stitches",
@@ -2604,13 +2627,13 @@ var StitchesSSR = ({ stitchesInstance }) => {
2604
2627
  );
2605
2628
  };
2606
2629
  var ItemInstance = ({ id }) => {
2607
- let context = (0, import_react37.useContext)(WeaverseContext);
2630
+ let context = (0, import_react38.useContext)(WeaverseContext);
2608
2631
  let { itemInstances } = context;
2609
2632
  let instance = itemInstances.get(id);
2610
2633
  if (!instance) {
2611
- return /* @__PURE__ */ import_react37.default.createElement("div", { style: { display: "none" } }, "Item instance ", id, " not found");
2634
+ return /* @__PURE__ */ import_react38.default.createElement("div", { style: { display: "none" } }, "Item instance ", id, " not found");
2612
2635
  }
2613
- return /* @__PURE__ */ import_react37.default.createElement(ItemComponent, { key: id, instance });
2636
+ return /* @__PURE__ */ import_react38.default.createElement(ItemComponent, { key: id, instance });
2614
2637
  };
2615
2638
  // Annotate the CommonJS export names for ESM import in node:
2616
2639
  0 && (module.exports = {
package/dist/index.mjs CHANGED
@@ -658,7 +658,7 @@ Video.defaultProps = {
658
658
  var video_default = Video;
659
659
 
660
660
  // src/elements/instagram.tsx
661
- import React25, { forwardRef as forwardRef10, useEffect as useEffect3, useState as useState3 } from "react";
661
+ import React26, { forwardRef as forwardRef10, useEffect as useEffect3, useState as useState4 } from "react";
662
662
 
663
663
  // src/components/modal/index.tsx
664
664
  var modal_exports = {};
@@ -1628,7 +1628,7 @@ function Tooltip({ children }) {
1628
1628
 
1629
1629
  // src/components/slider/index.tsx
1630
1630
  import clsx3 from "clsx";
1631
- import { useKeenSlider } from "keen-slider/react";
1631
+ import { useKeenSlider } from "keen-slider/react.es";
1632
1632
  import React22, { useState as useState2 } from "react";
1633
1633
 
1634
1634
  // src/components/slider/arrows.tsx
@@ -1900,6 +1900,25 @@ var Placeholder = forwardRef9(
1900
1900
  );
1901
1901
  var placeholder_default = Placeholder;
1902
1902
 
1903
+ // src/components/no-hydrate.tsx
1904
+ import React25, { useId, useState as useState3 } from "react";
1905
+ function NoHydrate({
1906
+ getHTML,
1907
+ ...rest
1908
+ }) {
1909
+ let id = useId();
1910
+ let [html] = useState3(() => {
1911
+ if (typeof document === "undefined") {
1912
+ return getHTML?.() ?? "";
1913
+ }
1914
+ let el = document.getElementById(id);
1915
+ if (!el)
1916
+ return getHTML?.() ?? "";
1917
+ return el.innerHTML;
1918
+ });
1919
+ return /* @__PURE__ */ React25.createElement("div", { ...rest, id, dangerouslySetInnerHTML: { __html: html } });
1920
+ }
1921
+
1903
1922
  // src/components/index.ts
1904
1923
  var Components = {
1905
1924
  Background,
@@ -1909,7 +1928,8 @@ var Components = {
1909
1928
  Placeholder: placeholder_default,
1910
1929
  Spinner,
1911
1930
  Slider,
1912
- Tooltip
1931
+ Tooltip,
1932
+ NoHydrate
1913
1933
  };
1914
1934
  var SliderComponents = {
1915
1935
  Arrows,
@@ -1922,8 +1942,8 @@ var SliderComponents = {
1922
1942
  var Instagram = forwardRef10(
1923
1943
  (props, ref) => {
1924
1944
  let { token, username, numberOfImages, imagesPerRow, gap, ...rest } = props;
1925
- let [media, setMedia] = useState3([]);
1926
- let [error, setError] = useState3(null);
1945
+ let [media, setMedia] = useState4([]);
1946
+ let [error, setError] = useState4(null);
1927
1947
  useEffect3(() => {
1928
1948
  if (token) {
1929
1949
  let params = new URLSearchParams({
@@ -1941,13 +1961,13 @@ var Instagram = forwardRef10(
1941
1961
  }
1942
1962
  }, [token]);
1943
1963
  if (!token || error) {
1944
- return /* @__PURE__ */ React25.createElement("div", { ref, ...rest }, /* @__PURE__ */ React25.createElement(Components.Placeholder, { element: "Instagram" }, !token ? "Connect to Instagram to display photos on your site." : "Invalid or expired token!"));
1964
+ return /* @__PURE__ */ React26.createElement("div", { ref, ...rest }, /* @__PURE__ */ React26.createElement(Components.Placeholder, { element: "Instagram" }, !token ? "Connect to Instagram to display photos on your site." : "Invalid or expired token!"));
1945
1965
  }
1946
1966
  let style = {
1947
1967
  "--wv-ig-images-per-row": imagesPerRow,
1948
1968
  "--wv-ig-images-gap": gap + "px"
1949
1969
  };
1950
- return /* @__PURE__ */ React25.createElement("div", { ref, ...rest, style }, /* @__PURE__ */ React25.createElement("div", { className: "wv-ig-media-container" }, media.slice(0, numberOfImages).map((item) => {
1970
+ return /* @__PURE__ */ React26.createElement("div", { ref, ...rest, style }, /* @__PURE__ */ React26.createElement("div", { className: "wv-ig-media-container" }, media.slice(0, numberOfImages).map((item) => {
1951
1971
  let {
1952
1972
  id,
1953
1973
  permalink,
@@ -1957,9 +1977,9 @@ var Instagram = forwardRef10(
1957
1977
  thumbnail_url
1958
1978
  } = item;
1959
1979
  if (media_type === "VIDEO") {
1960
- return /* @__PURE__ */ React25.createElement("video", { key: id, controls: true, poster: thumbnail_url }, /* @__PURE__ */ React25.createElement("source", { src: media_url, type: "video/mp4" }));
1980
+ return /* @__PURE__ */ React26.createElement("video", { key: id, controls: true, poster: thumbnail_url }, /* @__PURE__ */ React26.createElement("source", { src: media_url, type: "video/mp4" }));
1961
1981
  }
1962
- return /* @__PURE__ */ React25.createElement("a", { key: id, href: permalink, target: "_blank", rel: "noreferrer" }, /* @__PURE__ */ React25.createElement("img", { alt: caption, src: media_url }));
1982
+ return /* @__PURE__ */ React26.createElement("a", { key: id, href: permalink, target: "_blank", rel: "noreferrer" }, /* @__PURE__ */ React26.createElement("img", { alt: caption, src: media_url }));
1963
1983
  })));
1964
1984
  }
1965
1985
  );
@@ -2028,11 +2048,11 @@ var instagram_default = Instagram;
2028
2048
  // src/elements/slideshow/index.tsx
2029
2049
  import { css as stitchesCss } from "@stitches/react";
2030
2050
  import clsx6 from "clsx";
2031
- import React27, { forwardRef as forwardRef11 } from "react";
2051
+ import React28, { forwardRef as forwardRef11 } from "react";
2032
2052
 
2033
2053
  // src/elements/slideshow/use-slideshow-configs.ts
2034
2054
  import { useKeenSlider as useKeenSlider2 } from "keen-slider/react";
2035
- import React26, { useContext as useContext5, useEffect as useEffect4, useState as useState4 } from "react";
2055
+ import React27, { useContext as useContext5, useEffect as useEffect4, useState as useState5 } from "react";
2036
2056
 
2037
2057
  // src/utils/css.ts
2038
2058
  import clsx5 from "clsx";
@@ -2093,18 +2113,18 @@ function useSlideshowConfigs(props) {
2093
2113
  children
2094
2114
  } = props;
2095
2115
  let { isDesignMode, isPreviewMode } = useContext5(WeaverseContext);
2096
- let [opacities, setOpacities] = React26.useState([]);
2097
- let [cssLoaded, setCssLoaded] = useState4(false);
2098
- let [created, setCreated] = useState4(false);
2099
- let [ready, setReady] = useState4(false);
2100
- let [currentSlide, setCurrentSlide] = useState4(0);
2116
+ let [opacities, setOpacities] = React27.useState([]);
2117
+ let [cssLoaded, setCssLoaded] = useState5(false);
2118
+ let [created, setCreated] = useState5(false);
2119
+ let [ready, setReady] = useState5(false);
2120
+ let [currentSlide, setCurrentSlide] = useState5(0);
2101
2121
  let sliderPlugins = [ResizePlugin];
2102
2122
  if (autoRotate && (isPreviewMode || !isDesignMode)) {
2103
2123
  sliderPlugins.push(AutoplayPlugin(changeSlidesEvery));
2104
2124
  }
2105
2125
  let [sliderRef, instanceRef] = useKeenSlider2(
2106
2126
  {
2107
- slides: animation === "fade" ? React26.Children.count(children) : { perView: slidesPerView, number: React26.Children.count(children) },
2127
+ slides: animation === "fade" ? React27.Children.count(children) : { perView: slidesPerView, number: React27.Children.count(children) },
2108
2128
  drag: isPreviewMode || !isDesignMode,
2109
2129
  loop,
2110
2130
  selector: animation === "fade" ? null : ".keen-slider__slide",
@@ -2193,7 +2213,7 @@ var Slideshow = forwardRef11((props, ref) => {
2193
2213
  showArrowsOnHover && "show-on-hover",
2194
2214
  `arrows--${arrowsColor}`
2195
2215
  );
2196
- return /* @__PURE__ */ React27.createElement("div", { ref, style, ...rest }, /* @__PURE__ */ React27.createElement("div", { ref: sliderRef, className: _className }, children), showArrows && created && instanceRef?.current && /* @__PURE__ */ React27.createElement(
2216
+ return /* @__PURE__ */ React28.createElement("div", { ref, style, ...rest }, /* @__PURE__ */ React28.createElement("div", { ref: sliderRef, className: _className }, children), showArrows && created && instanceRef?.current && /* @__PURE__ */ React28.createElement(
2197
2217
  Arrows,
2198
2218
  {
2199
2219
  instanceRef,
@@ -2202,7 +2222,7 @@ var Slideshow = forwardRef11((props, ref) => {
2202
2222
  icon: arrowIcon,
2203
2223
  offset: 20
2204
2224
  }
2205
- ), showDots && created && instanceRef?.current && /* @__PURE__ */ React27.createElement(
2225
+ ), showDots && created && instanceRef?.current && /* @__PURE__ */ React28.createElement(
2206
2226
  Dots,
2207
2227
  {
2208
2228
  instanceRef,
@@ -2283,7 +2303,7 @@ Slideshow.defaultProps = {
2283
2303
  var slideshow_default = Slideshow;
2284
2304
 
2285
2305
  // src/elements/slideshow/slide.tsx
2286
- import React28, { forwardRef as forwardRef12 } from "react";
2306
+ import React29, { forwardRef as forwardRef12 } from "react";
2287
2307
 
2288
2308
  // src/elements/slideshow/position.ts
2289
2309
  var slidePositionMap = {
@@ -2338,7 +2358,7 @@ var Slide = forwardRef12((props, ref) => {
2338
2358
  children,
2339
2359
  ...rest
2340
2360
  } = props;
2341
- return /* @__PURE__ */ React28.createElement("div", { className: "keen-slider__slide" }, /* @__PURE__ */ React28.createElement(
2361
+ return /* @__PURE__ */ React29.createElement("div", { className: "keen-slider__slide" }, /* @__PURE__ */ React29.createElement(
2342
2362
  Background,
2343
2363
  {
2344
2364
  backgroundColor,
@@ -2347,14 +2367,14 @@ var Slide = forwardRef12((props, ref) => {
2347
2367
  backgroundPosition,
2348
2368
  className: "slide-background"
2349
2369
  }
2350
- ), /* @__PURE__ */ React28.createElement(
2370
+ ), /* @__PURE__ */ React29.createElement(
2351
2371
  Overlay,
2352
2372
  {
2353
2373
  enableOverlay,
2354
2374
  overlayOpacity,
2355
2375
  className: "slide-overlay"
2356
2376
  }
2357
- ), /* @__PURE__ */ React28.createElement("div", { ref, style: slidePositionMap[contentPosition], ...rest }, children?.length ? children : /* @__PURE__ */ React28.createElement(placeholder_default, { element: "Slide", className: "wv-slide-placeholder" }, "Drag and drop elements here")));
2377
+ ), /* @__PURE__ */ React29.createElement("div", { ref, style: slidePositionMap[contentPosition], ...rest }, children?.length ? children : /* @__PURE__ */ React29.createElement(placeholder_default, { element: "Slide", className: "wv-slide-placeholder" }, "Drag and drop elements here")));
2358
2378
  });
2359
2379
  var css12 = {
2360
2380
  "@desktop": {
@@ -2446,6 +2466,22 @@ var Elements = {
2446
2466
  }
2447
2467
  };
2448
2468
 
2469
+ // src/context.ts
2470
+ var createRootContext = (configs) => {
2471
+ let rootContext = new Weaverse(configs);
2472
+ Object.keys(Elements).forEach((key) => {
2473
+ rootContext.registerElement(Elements[key]);
2474
+ });
2475
+ return rootContext;
2476
+ };
2477
+ var WeaverseContext = createContext({});
2478
+ var WeaverseContextProvider = WeaverseContext.Provider;
2479
+ var WeaverseContextConsumer = WeaverseContext.Consumer;
2480
+
2481
+ // src/renderer.tsx
2482
+ import { isBrowser as isBrowser2 } from "@weaverse/core";
2483
+ import React30, { useContext as useContext6, useEffect as useEffect5, useRef, useState as useState6 } from "react";
2484
+
2449
2485
  // src/utils/uploadcare.ts
2450
2486
  import { isBrowser } from "@weaverse/core";
2451
2487
  function initUploadCareAdaptiveDelivery(baseUrl) {
@@ -2476,23 +2512,9 @@ function initUploadCareAdaptiveDelivery(baseUrl) {
2476
2512
  }
2477
2513
  }
2478
2514
 
2479
- // src/context.ts
2480
- var createRootContext = (configs) => {
2481
- let rootContext = new Weaverse(configs);
2482
- Object.keys(Elements).forEach((key) => {
2483
- rootContext.registerElement(Elements[key]);
2484
- });
2485
- return rootContext;
2486
- };
2487
- var WeaverseContext = createContext({});
2488
- var WeaverseContextProvider = WeaverseContext.Provider;
2489
- var WeaverseContextConsumer = WeaverseContext.Consumer;
2490
-
2491
2515
  // src/renderer.tsx
2492
- import { isBrowser as isBrowser2 } from "@weaverse/core";
2493
- import React29, { useContext as useContext6, useEffect as useEffect5, useRef, useState as useState5 } from "react";
2494
2516
  var WeaverseRoot = ({ context }) => {
2495
- let [, setData] = useState5(context.data);
2517
+ let [, setData] = useState6(context.data);
2496
2518
  let rootRef = useRef();
2497
2519
  let renderRoot = () => setData({});
2498
2520
  useEffect5(() => {
@@ -2506,22 +2528,23 @@ var WeaverseRoot = ({ context }) => {
2506
2528
  let eventHandlers = context?.studioBridge?.eventHandlers || {};
2507
2529
  let themeClass = context.stitchesInstance.theme.className;
2508
2530
  if (context.data?.rootId) {
2509
- return /* @__PURE__ */ React29.createElement(
2531
+ return /* @__PURE__ */ React30.createElement(
2510
2532
  "div",
2511
2533
  {
2512
2534
  className: `weaverse-content-root ${themeClass}`,
2513
2535
  ...eventHandlers,
2536
+ suppressHydrationWarning: true,
2514
2537
  ref: rootRef
2515
2538
  },
2516
- /* @__PURE__ */ React29.createElement(WeaverseContextProvider, { value: context }, /* @__PURE__ */ React29.createElement(ItemInstance, { id: context.data.rootId })),
2517
- context.platformType === "react-ssr" ? /* @__PURE__ */ React29.createElement(StitchesSSR, { stitchesInstance: context.stitchesInstance }) : null
2539
+ /* @__PURE__ */ React30.createElement(WeaverseContextProvider, { value: context }, /* @__PURE__ */ React30.createElement(ItemInstance, { id: context.data.rootId })),
2540
+ context.platformType === "react-ssr" ? /* @__PURE__ */ React30.createElement(StitchesSSR, { stitchesInstance: context.stitchesInstance }) : null
2518
2541
  );
2519
2542
  }
2520
2543
  return null;
2521
2544
  };
2522
2545
  var ItemComponent = ({ instance }) => {
2523
2546
  let { stitchesInstance, elementInstances } = useContext6(WeaverseContext);
2524
- let [data, setData] = useState5(instance.data);
2547
+ let [data, setData] = useState6(instance.data);
2525
2548
  let { id, type, childIds = [], css: css13, className, ...rest } = data;
2526
2549
  useEffect5(() => {
2527
2550
  let render = (data2) => setData({ ...data2 });
@@ -2539,7 +2562,7 @@ var ItemComponent = ({ instance }) => {
2539
2562
  if (Component.$$typeof === Symbol.for("react.forward_ref")) {
2540
2563
  rest.ref = instance.ref;
2541
2564
  }
2542
- return /* @__PURE__ */ React29.createElement(
2565
+ return /* @__PURE__ */ React30.createElement(
2543
2566
  Component,
2544
2567
  {
2545
2568
  key: id,
@@ -2548,7 +2571,7 @@ var ItemComponent = ({ instance }) => {
2548
2571
  className: generateItemClassName(instance, stitchesInstance),
2549
2572
  ...rest
2550
2573
  },
2551
- childIds.map((id2) => /* @__PURE__ */ React29.createElement(ItemInstance, { key: id2, id: id2 }))
2574
+ childIds.map((id2) => /* @__PURE__ */ React30.createElement(ItemInstance, { key: id2, id: id2 }))
2552
2575
  );
2553
2576
  } else {
2554
2577
  console.log(`Unknown element: ${type}`);
@@ -2557,7 +2580,7 @@ var ItemComponent = ({ instance }) => {
2557
2580
  };
2558
2581
  var StitchesSSR = ({ stitchesInstance }) => {
2559
2582
  const stitchesCss2 = stitchesInstance.getCssText();
2560
- return /* @__PURE__ */ React29.createElement(
2583
+ return /* @__PURE__ */ React30.createElement(
2561
2584
  "style",
2562
2585
  {
2563
2586
  id: "stitches",
@@ -2572,9 +2595,9 @@ var ItemInstance = ({ id }) => {
2572
2595
  let { itemInstances } = context;
2573
2596
  let instance = itemInstances.get(id);
2574
2597
  if (!instance) {
2575
- return /* @__PURE__ */ React29.createElement("div", { style: { display: "none" } }, "Item instance ", id, " not found");
2598
+ return /* @__PURE__ */ React30.createElement("div", { style: { display: "none" } }, "Item instance ", id, " not found");
2576
2599
  }
2577
- return /* @__PURE__ */ React29.createElement(ItemComponent, { key: id, instance });
2600
+ return /* @__PURE__ */ React30.createElement(ItemComponent, { key: id, instance });
2578
2601
  };
2579
2602
  export {
2580
2603
  Components,
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.10",
2
+ "version": "1.0.12",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -32,9 +32,9 @@
32
32
  "name": "@weaverse/react",
33
33
  "author": "Weaverse Team",
34
34
  "dependencies": {
35
- "@radix-ui/react-dialog": "^1.0.2",
35
+ "@radix-ui/react-dialog": "^1.0.3",
36
36
  "@stitches/react": "^1.2.8",
37
- "@weaverse/core": "1.0.10",
37
+ "@weaverse/core": "1.0.12",
38
38
  "clsx": "^1.2.1",
39
39
  "keen-slider": "^6.8.5"
40
40
  }
package/dist/index.d.ts DELETED
@@ -1,333 +0,0 @@
1
- import { WeaverseType, Weaverse, WeaverseElement, ElementCSS, WeaverseItemStore } from '@weaverse/core';
2
- export * from '@weaverse/core';
3
- import * as React$1 from 'react';
4
- import React__default, { HTMLAttributes, CSSProperties, ReactElement, ReactNode } from 'react';
5
- import * as keen_slider_react from 'keen-slider/react';
6
- import { KeenSliderPlugin } from 'keen-slider/react';
7
- import * as _radix_ui_react_dialog from '@radix-ui/react-dialog';
8
- import { DialogContentProps, DialogProps, DialogTitleProps, DialogCloseProps } from '@radix-ui/react-dialog';
9
- import { KeenSliderInstance } from 'keen-slider';
10
-
11
- declare let createRootContext: (configs: WeaverseType) => Weaverse;
12
- declare let WeaverseContext: React$1.Context<Weaverse>;
13
- declare let WeaverseContextProvider: React$1.Provider<Weaverse>;
14
- declare let WeaverseContextConsumer: React$1.Consumer<Weaverse>;
15
-
16
- declare let Circle: (props: HTMLAttributes<SVGElement>) => JSX.Element;
17
- declare let CircleNotch: (props: HTMLAttributes<SVGElement>) => JSX.Element;
18
- declare let X: (props: HTMLAttributes<SVGElement>) => JSX.Element;
19
- declare let Minus: (props: HTMLAttributes<SVGElement>) => JSX.Element;
20
- declare let Plus: (props: HTMLAttributes<SVGElement>) => JSX.Element;
21
- declare let CaretLeft: (props: HTMLAttributes<SVGElement>) => JSX.Element;
22
- declare let CaretRight: (props: HTMLAttributes<SVGElement>) => JSX.Element;
23
- declare let ArrowLeft: (props: HTMLAttributes<SVGElement>) => JSX.Element;
24
- declare let ArrowRight: (props: HTMLAttributes<SVGElement>) => JSX.Element;
25
- declare let Image: (props: HTMLAttributes<SVGElement>) => JSX.Element;
26
- declare let ShoppingCart: (props: HTMLAttributes<SVGElement>) => JSX.Element;
27
- declare let Storefront: (props: HTMLAttributes<SVGElement>) => JSX.Element;
28
- declare let Package: (props: HTMLAttributes<SVGElement>) => JSX.Element;
29
- declare let HandBag: (props: HTMLAttributes<SVGElement>) => JSX.Element;
30
- declare let Tag: (props: HTMLAttributes<SVGElement>) => JSX.Element;
31
- declare let Backpack: (props: HTMLAttributes<SVGElement>) => JSX.Element;
32
- declare let Newspaper: (props: HTMLAttributes<SVGElement>) => JSX.Element;
33
- declare let Eye: (props: HTMLAttributes<SVGElement>) => JSX.Element;
34
-
35
- declare const PhosphorIcons_Circle: typeof Circle;
36
- declare const PhosphorIcons_CircleNotch: typeof CircleNotch;
37
- declare const PhosphorIcons_X: typeof X;
38
- declare const PhosphorIcons_Minus: typeof Minus;
39
- declare const PhosphorIcons_Plus: typeof Plus;
40
- declare const PhosphorIcons_CaretLeft: typeof CaretLeft;
41
- declare const PhosphorIcons_CaretRight: typeof CaretRight;
42
- declare const PhosphorIcons_ArrowLeft: typeof ArrowLeft;
43
- declare const PhosphorIcons_ArrowRight: typeof ArrowRight;
44
- declare const PhosphorIcons_Image: typeof Image;
45
- declare const PhosphorIcons_ShoppingCart: typeof ShoppingCart;
46
- declare const PhosphorIcons_Storefront: typeof Storefront;
47
- declare const PhosphorIcons_Package: typeof Package;
48
- declare const PhosphorIcons_HandBag: typeof HandBag;
49
- declare const PhosphorIcons_Tag: typeof Tag;
50
- declare const PhosphorIcons_Backpack: typeof Backpack;
51
- declare const PhosphorIcons_Newspaper: typeof Newspaper;
52
- declare const PhosphorIcons_Eye: typeof Eye;
53
- declare namespace PhosphorIcons {
54
- export {
55
- PhosphorIcons_Circle as Circle,
56
- PhosphorIcons_CircleNotch as CircleNotch,
57
- PhosphorIcons_X as X,
58
- PhosphorIcons_Minus as Minus,
59
- PhosphorIcons_Plus as Plus,
60
- PhosphorIcons_CaretLeft as CaretLeft,
61
- PhosphorIcons_CaretRight as CaretRight,
62
- PhosphorIcons_ArrowLeft as ArrowLeft,
63
- PhosphorIcons_ArrowRight as ArrowRight,
64
- PhosphorIcons_Image as Image,
65
- PhosphorIcons_ShoppingCart as ShoppingCart,
66
- PhosphorIcons_Storefront as Storefront,
67
- PhosphorIcons_Package as Package,
68
- PhosphorIcons_HandBag as HandBag,
69
- PhosphorIcons_Tag as Tag,
70
- PhosphorIcons_Backpack as Backpack,
71
- PhosphorIcons_Newspaper as Newspaper,
72
- PhosphorIcons_Eye as Eye,
73
- };
74
- }
75
-
76
- interface ModalContentProps extends DialogContentProps {
77
- size?: 'auto' | 'fullscreen';
78
- portal?: boolean;
79
- }
80
- type WeaverseIcon = keyof typeof PhosphorIcons;
81
- interface WeaverseIconProps extends HTMLAttributes<SVGElement> {
82
- name: WeaverseIcon;
83
- }
84
- interface TooltipProps {
85
- children: React.ReactNode;
86
- }
87
- interface SliderProps {
88
- children: React.ReactNode;
89
- className?: string;
90
- gap?: number;
91
- arrowOffset: number;
92
- slidesPerView: number;
93
- }
94
- interface SliderArrowsProps {
95
- currentSlide: number;
96
- instanceRef: React.MutableRefObject<KeenSliderInstance | null>;
97
- offset: number;
98
- icon: 'caret' | 'arrow';
99
- className?: string;
100
- }
101
- interface SliderDotsProps {
102
- currentSlide: number;
103
- instanceRef: React.MutableRefObject<KeenSliderInstance | null>;
104
- className?: string;
105
- absolute?: boolean;
106
- position?: 'top' | 'bottom' | 'left' | 'right';
107
- color: 'light' | 'dark';
108
- }
109
- interface OverlayProps {
110
- enableOverlay: boolean;
111
- overlayOpacity: number;
112
- className?: string;
113
- }
114
- interface BackgroundProps {
115
- backgroundColor?: string;
116
- backgroundImage?: string;
117
- backgroundFit?: CSSProperties['objectFit'];
118
- backgroundPosition?: CSSProperties['objectPosition'];
119
- className?: string;
120
- }
121
-
122
- declare let Modal: (props: DialogProps) => JSX.Element;
123
- declare let ModalTrigger: React__default.ForwardRefExoticComponent<_radix_ui_react_dialog.DialogTriggerProps & React__default.RefAttributes<HTMLButtonElement>>;
124
- declare let ModalHeader: React__default.ForwardRefExoticComponent<DialogTitleProps & React__default.RefAttributes<HTMLHeadingElement>>;
125
- declare let ModalContent: React__default.ForwardRefExoticComponent<ModalContentProps & React__default.RefAttributes<HTMLDivElement>>;
126
- declare let ModalClose: React__default.ForwardRefExoticComponent<DialogCloseProps & React__default.RefAttributes<HTMLButtonElement>>;
127
-
128
- declare const ModalComponents_Modal: typeof Modal;
129
- declare const ModalComponents_ModalTrigger: typeof ModalTrigger;
130
- declare const ModalComponents_ModalHeader: typeof ModalHeader;
131
- declare const ModalComponents_ModalContent: typeof ModalContent;
132
- declare const ModalComponents_ModalClose: typeof ModalClose;
133
- declare namespace ModalComponents {
134
- export {
135
- ModalComponents_Modal as Modal,
136
- ModalComponents_ModalTrigger as ModalTrigger,
137
- ModalComponents_ModalHeader as ModalHeader,
138
- ModalComponents_ModalContent as ModalContent,
139
- ModalComponents_ModalClose as ModalClose,
140
- };
141
- }
142
-
143
- declare function Spinner(): JSX.Element;
144
-
145
- declare function Icon({ name, className, ...props }: WeaverseIconProps): JSX.Element;
146
-
147
- declare function Tooltip({ children }: TooltipProps): JSX.Element;
148
-
149
- declare function Slider(props: SliderProps): JSX.Element;
150
-
151
- declare function Background(props: BackgroundProps): JSX.Element | null;
152
-
153
- declare function Overlay(props: OverlayProps): JSX.Element | null;
154
-
155
- declare function Arrows(props: SliderArrowsProps): JSX.Element;
156
-
157
- declare function Dots(props: SliderDotsProps): JSX.Element;
158
-
159
- declare function AutoplayPlugin(changeSlidesEvery: number): KeenSliderPlugin;
160
-
161
- declare let Components: {
162
- Background: typeof Background;
163
- Icon: typeof Icon;
164
- ModalComponents: typeof ModalComponents;
165
- Overlay: typeof Overlay;
166
- Placeholder: React$1.ForwardRefExoticComponent<PlaceholderProps & React$1.RefAttributes<HTMLDivElement>>;
167
- Spinner: typeof Spinner;
168
- Slider: typeof Slider;
169
- Tooltip: typeof Tooltip;
170
- };
171
- declare let SliderComponents: {
172
- Arrows: typeof Arrows;
173
- Dots: typeof Dots;
174
- ResizePlugin: keen_slider_react.KeenSliderPlugin<{}, {}, keen_slider_react.KeenSliderHooks>;
175
- AutoplayPlugin: typeof AutoplayPlugin;
176
- };
177
-
178
- declare const Elements: Record<string, WeaverseElement>;
179
-
180
- interface WeaverseElementProps extends Partial<ReactElement> {
181
- css?: ElementCSS;
182
- children?: ReactElement | ReactElement[] | ReactNode | ReactNode[];
183
- className?: string;
184
- ['data-wv-id']?: string;
185
- }
186
- type WeaverseRootPropsType = {
187
- context: Weaverse;
188
- };
189
- type ItemComponentProps = {
190
- instance: InstanceType<typeof WeaverseItemStore>;
191
- };
192
- interface PlaceholderProps {
193
- element: string;
194
- children: ReactElement | ReactElement[] | ReactNode | ReactNode[];
195
- style?: CSSProperties;
196
- className?: string;
197
- }
198
- interface ButtonElementProps extends WeaverseElementProps {
199
- type: 'button' | 'submit' | 'reset';
200
- text: string;
201
- clickAction: 'none' | 'openLink';
202
- linkTo: string;
203
- openInNewTab: boolean;
204
- }
205
- interface ContainerElementProps extends WeaverseElementProps {
206
- [key: string]: any;
207
- }
208
- interface ImageElementProps extends WeaverseElementProps {
209
- src: string;
210
- alt: string;
211
- objectFit: CSSProperties['objectFit'];
212
- objectPosition: CSSProperties['objectPosition'];
213
- clickAction: 'none' | 'openLightbox' | 'openLink';
214
- linkTo?: string;
215
- openLinkInNewTab?: boolean;
216
- }
217
- interface GridContentElementProps extends WeaverseElementProps {
218
- rows: number;
219
- columns: number;
220
- gap: number;
221
- rowSize: number;
222
- }
223
- interface BackgroundDataProps {
224
- backgroundColor?: string;
225
- backgroundImage?: string;
226
- objectFit?: CSSProperties['objectFit'];
227
- objectPosition?: CSSProperties['objectPosition'];
228
- }
229
- interface LayoutElementProps extends BackgroundDataProps, WeaverseElementProps {
230
- contentSize: number;
231
- gridSize: number;
232
- rows: number;
233
- columns: number;
234
- gap: number;
235
- rowSize: number;
236
- enableOverlay: boolean;
237
- overlayOpacity: number;
238
- }
239
- interface LayoutBackgroundProps {
240
- imgUrl?: string;
241
- bgColor?: string;
242
- objectFit?: CSSProperties['objectFit'];
243
- objectPosition?: CSSProperties['objectPosition'];
244
- }
245
- interface MapElementProps extends WeaverseElementProps {
246
- place: string;
247
- zoom: number;
248
- }
249
- interface TextElementProps extends WeaverseElementProps {
250
- value: string;
251
- }
252
- interface ScrollingTextElementProps extends WeaverseElementProps {
253
- value: string;
254
- gap: number;
255
- speed: number;
256
- pauseOnHover: boolean;
257
- }
258
- interface VideoCommonProps {
259
- src: string;
260
- type?: string;
261
- poster: string;
262
- loop: boolean;
263
- controls: boolean;
264
- autoPlay: boolean;
265
- muted: boolean;
266
- }
267
- type VideoElementProps = VideoCommonProps & WeaverseElementProps;
268
- interface YoutubeElementProps extends VideoCommonProps {
269
- youtubeId: string;
270
- }
271
- interface VimeoElementProps extends VideoCommonProps {
272
- vimeoId: string;
273
- }
274
- type CountdownTimeKey = 'days' | 'hours' | 'minutes' | 'seconds';
275
- type CountdownTimerType = 'fixed-time' | 'evergreen';
276
- interface CountdownElementProps extends WeaverseElementProps {
277
- timerType: CountdownTimerType;
278
- startTime: number;
279
- endTime: number;
280
- periods: number;
281
- redirectWhenTimerStops: boolean;
282
- redirectUrl: string;
283
- openInNewTab: boolean;
284
- showLabel: boolean;
285
- showColon: boolean;
286
- }
287
- type TimerBlockProps = {
288
- label: string;
289
- value: string | number;
290
- };
291
- interface InstagramElementProps extends WeaverseElementProps {
292
- token: string;
293
- username: string;
294
- numberOfImages: number;
295
- imagesPerRow: number;
296
- gap: number;
297
- }
298
- type InstagramMedia = {
299
- id: string;
300
- media_type: 'IMAGE' | 'CAROUSEL_ALBUM' | 'VIDEO';
301
- media_url: string;
302
- permalink: string;
303
- caption: string;
304
- thumbnail_url: string;
305
- };
306
- interface SlideshowProps extends WeaverseElementProps {
307
- animation: 'slide' | 'fade';
308
- slidesPerView: number;
309
- spacing: number;
310
- showArrows: boolean;
311
- showArrowsOnHover: boolean;
312
- arrowIcon: 'caret' | 'arrow';
313
- arrowsColor: 'light' | 'dark';
314
- showDots: boolean;
315
- dotsPosition: 'top' | 'bottom' | 'left' | 'right';
316
- dotsColor: 'light' | 'dark';
317
- loop: boolean;
318
- autoRotate: boolean;
319
- changeSlidesEvery: number;
320
- }
321
- interface SlideProps extends WeaverseElementProps, BackgroundProps, OverlayProps {
322
- contentPosition: string;
323
- children: ReactElement[];
324
- }
325
- declare global {
326
- interface Window {
327
- weaverseSlideshowInstances: Record<string, KeenSliderInstance>;
328
- }
329
- }
330
-
331
- declare let WeaverseRoot: ({ context }: WeaverseRootPropsType) => JSX.Element | null;
332
-
333
- export { BackgroundProps, ButtonElementProps, Components, ContainerElementProps, CountdownElementProps, CountdownTimeKey, CountdownTimerType, Elements, GridContentElementProps, ImageElementProps, InstagramElementProps, InstagramMedia, ItemComponentProps, LayoutBackgroundProps, LayoutElementProps, MapElementProps, ModalContentProps, OverlayProps, PlaceholderProps, ScrollingTextElementProps, SlideProps, SliderArrowsProps, SliderComponents, SliderDotsProps, SliderProps, SlideshowProps, TextElementProps, TimerBlockProps, TooltipProps, VideoCommonProps, VideoElementProps, VimeoElementProps, WeaverseContext, WeaverseContextConsumer, WeaverseContextProvider, WeaverseElementProps, WeaverseIcon, WeaverseIconProps, WeaverseRoot, WeaverseRootPropsType, YoutubeElementProps, createRootContext };