dune-react 0.0.22 → 0.0.23

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.
Files changed (95) hide show
  1. package/dist/components/puck-block/banner-sections/css-marquee-banner/css-marquee-banner.js +13 -13
  2. package/dist/components/puck-block/banner-sections/dual-row-marquee/dual-row-marquee.js +8 -8
  3. package/dist/components/puck-block/banner-sections/scroll-driven-marquee/scroll-driven-marquee.js +8 -6
  4. package/dist/components/puck-block/banner-sections/scroll-parallax-text/scroll-parallax-text.js +3 -1
  5. package/dist/components/puck-block/contact-sections/contact-cards-grid/contact-cards-grid.js +1 -1
  6. package/dist/components/puck-block/contact-sections/form-with-media/form-with-media.js +1 -1
  7. package/dist/components/puck-block/contact-sections/header-form-cards/header-form-cards.js +1 -1
  8. package/dist/components/puck-block/contact-sections/header-info-fullwidth/header-info-fullwidth.js +2 -2
  9. package/dist/components/puck-block/contact-sections/info-cards-media/info-cards-media.js +2 -2
  10. package/dist/components/puck-block/contact-sections/split-info-form/split-info-form.js +1 -1
  11. package/dist/components/puck-block/cta-sections/mouse-track-cta/mouse-track-cta.js +4 -4
  12. package/dist/components/puck-block/cta-sections/side-media-cta/side-media-cta.js +1 -1
  13. package/dist/components/puck-block/cta-sections/text-block-cta/text-block-cta.js +2 -2
  14. package/dist/components/puck-block/feature-sections/feature-cards-grid/component.js +1 -1
  15. package/dist/components/puck-block/feature-sections/feature-list-split/component.js +1 -1
  16. package/dist/components/puck-block/feature-sections/tab-feature/component.js +3 -3
  17. package/dist/components/puck-block/feature-sections/text-media-split/component.js +1 -1
  18. package/dist/components/puck-block/footer-sections/centered-minimal-footer/centered-minimal-footer.js +72 -18
  19. package/dist/components/puck-block/footer-sections/centered-minimal-footer/index.d.ts +79 -0
  20. package/dist/components/puck-block/footer-sections/centered-minimal-footer/index.js +43 -1
  21. package/dist/components/puck-block/footer-sections/compact-newsletter-footer/index.d.ts +41 -0
  22. package/dist/components/puck-block/footer-sections/contact-links-footer/contact-links-footer.js +4 -3
  23. package/dist/components/puck-block/footer-sections/contact-links-footer/index.d.ts +86 -0
  24. package/dist/components/puck-block/footer-sections/contact-links-footer/index.js +1 -1
  25. package/dist/components/puck-block/footer-sections/cta-links-footer/cta-links-footer.js +3 -2
  26. package/dist/components/puck-block/footer-sections/cta-links-footer/index.d.ts +37 -0
  27. package/dist/components/puck-block/footer-sections/cta-links-footer/index.js +1 -1
  28. package/dist/components/puck-block/footer-sections/links-newsletter-footer/index.d.ts +54 -0
  29. package/dist/components/puck-block/footer-sections/newsletter-links-footer/index.d.ts +41 -0
  30. package/dist/components/puck-block/footer-sections/newsletter-top-links-footer/index.d.ts +54 -0
  31. package/dist/components/puck-block/footer-sections/props.d.ts +3 -0
  32. package/dist/components/puck-block/gallery-sections/fullscreen-portfolio/fullscreen-portfolio.js +1 -1
  33. package/dist/components/puck-block/gallery-sections/interactive-portfolio/interactive-portfolio.js +1 -1
  34. package/dist/components/puck-block/gallery-sections/portfolio-cards/portfolio-cards.js +1 -1
  35. package/dist/components/puck-block/gallery-sections/portfolio-divider/portfolio-divider.js +1 -1
  36. package/dist/components/puck-block/gallery-sections/props.d.ts +11 -1
  37. package/dist/components/puck-block/gallery-sections/props.js +7 -2
  38. package/dist/components/puck-block/gallery-sections/scroll-parallax/scroll-parallax.js +18 -0
  39. package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/scroll-parallax-portfolio.js +25 -22
  40. package/dist/components/puck-block/gallery-sections/split-carousel/index.d.ts +11 -1
  41. package/dist/components/puck-block/header-sections/centered-navbar/centered-navbar.js +3 -2
  42. package/dist/components/puck-block/header-sections/drawer-navbar/drawer-navbar.js +4 -3
  43. package/dist/components/puck-block/header-sections/floating-bordered-navbar/floating-bordered-navbar.js +5 -4
  44. package/dist/components/puck-block/header-sections/fullscreen-overlay-navbar/fullscreen-overlay-navbar.js +4 -3
  45. package/dist/components/puck-block/header-sections/mega-menu-navbar/mega-menu-navbar.js +3 -2
  46. package/dist/components/puck-block/header-sections/props.d.ts +3 -0
  47. package/dist/components/puck-block/header-sections/standard-navbar/standard-navbar.js +3 -2
  48. package/dist/components/puck-block/hero-sections/carousel-hero/component.js +3 -3
  49. package/dist/components/puck-block/hero-sections/column-scroll-hero/component.js +8 -8
  50. package/dist/components/puck-block/hero-sections/dual-marquee-hero/component.js +6 -6
  51. package/dist/components/puck-block/hero-sections/fullscreen-video-hero/component.js +1 -1
  52. package/dist/components/puck-block/hero-sections/grid-expand-hero/component.js +26 -17
  53. package/dist/components/puck-block/hero-sections/horizontal-marquee-hero/component.js +3 -3
  54. package/dist/components/puck-block/hero-sections/mouse-track-hero/component.js +60 -19
  55. package/dist/components/puck-block/hero-sections/multi-image-grid-hero/multi-image-grid-hero.js +2 -2
  56. package/dist/components/puck-block/hero-sections/overlapping-image-hero/overlapping-image-hero.js +3 -3
  57. package/dist/components/puck-block/hero-sections/parallax-images-hero/component.js +18 -6
  58. package/dist/components/puck-block/hero-sections/scatter-parallax-hero/component.js +9 -7
  59. package/dist/components/puck-block/hero-sections/scroll-expand-video-hero/component.js +7 -5
  60. package/dist/components/puck-block/hero-sections/scroll-zoom-hero/component.js +5 -3
  61. package/dist/components/puck-block/hero-sections/sticky-expand-hero/component.js +1 -1
  62. package/dist/components/puck-block/hero-sections/sticky-expand-hero/index.d.ts +13 -5
  63. package/dist/components/puck-block/hero-sections/sticky-expand-hero/index.js +2 -2
  64. package/dist/components/puck-block/hero-sections/sticky-video-hero/component.js +2 -2
  65. package/dist/components/puck-block/hero-sections/tab-hero/component.js +4 -4
  66. package/dist/components/puck-block/hero-sections/three-image-parallax-hero/component.js +3 -3
  67. package/dist/components/puck-block/hero-sections/vertical-gallery-hero/component.js +6 -6
  68. package/dist/components/puck-block/hero-sections/zoom-grid-hero/component.js +14 -12
  69. package/dist/components/puck-block/metrics-sections/center-media-stats/center-media-stats.js +1 -1
  70. package/dist/components/puck-block/metrics-sections/header-stats-row/header-stats-row.js +1 -1
  71. package/dist/components/puck-block/metrics-sections/mixed-grid-stats/mixed-grid-stats.js +2 -2
  72. package/dist/components/puck-block/metrics-sections/split-stats/split-stats.js +1 -1
  73. package/dist/components/puck-block/metrics-sections/tab-stats/tab-stats.js +3 -3
  74. package/dist/components/puck-block/pricing-sections/pricing-comparison-table/index.d.ts +47 -0
  75. package/dist/components/puck-block/pricing-sections/pricing-comparison-table/index.js +34 -0
  76. package/dist/components/puck-block/pricing-sections/split-pricing/component.js +3 -3
  77. package/dist/components/puck-block/registry.generated.d.ts +273 -6
  78. package/dist/components/puck-block/showcase-sections/tab-timeline/component.js +1 -1
  79. package/dist/components/puck-block/testimonial-sections/bento-testimonial/component.js +2 -2
  80. package/dist/components/puck-block/testimonial-sections/tab-testimonial/component.js +2 -2
  81. package/dist/components/puck-block/text-sections/prose-content/component.js +1 -1
  82. package/dist/components/puck-block/text-sections/side-media-content/component.js +1 -1
  83. package/dist/components/puck-block/text-sections/sticky-text-multi-image/component.js +3 -3
  84. package/dist/components/puck-core/core/props/media.js +6 -1
  85. package/dist/components/puck-core/fields/array-field.d.ts +7 -0
  86. package/dist/components/puck-core/fields/array-field.js +229 -0
  87. package/dist/components/puck-core/fields/auto-field.js +11 -0
  88. package/dist/components/puck-core/fields/image-upload-field.js +1 -1
  89. package/dist/components/puck-core/fields/index.d.ts +1 -0
  90. package/dist/components/puck-core/fields/object-field.js +1 -1
  91. package/dist/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.2.4/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +59 -0
  92. package/dist/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/core.esm.js +3093 -0
  93. package/dist/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4__react@19.2.4/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +592 -0
  94. package/dist/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +301 -0
  95. package/package.json +4 -1
@@ -199,15 +199,15 @@ const OverlappingImageHeroDefaults = {
199
199
  buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
200
200
  firstImage: {
201
201
  src: "https://picsum.photos/seed/hero-square/1200/1200",
202
- alt: "Relume placeholder image 1"
202
+ alt: "Placeholder image 1"
203
203
  },
204
204
  secondImage: {
205
205
  src: "https://picsum.photos/seed/hero-portrait/800/1200",
206
- alt: "Relume placeholder image 2"
206
+ alt: "Placeholder image 2"
207
207
  },
208
208
  thirdImage: {
209
209
  src: "https://picsum.photos/seed/hero-dim/1200/800",
210
- alt: "Relume placeholder image 3"
210
+ alt: "Placeholder image 3"
211
211
  },
212
212
  styles: {
213
213
  textPosition: "left",
@@ -6,6 +6,7 @@ import { CompoundImage } from "../../../puck-base/image.js";
6
6
  import { useRef } from "react";
7
7
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
8
8
  import { useScrollContainer } from "../../../../hooks/use-scroll-container.js";
9
+ import { useEditorContext } from "../../../puck-core/core/context/editor-context.js";
9
10
  import { cn } from "../../../../utils/css-utils.js";
10
11
  const ParallaxImagesHero = (props) => {
11
12
  const { heading, description, buttons = [], images = [], styles } = {
@@ -13,6 +14,7 @@ const ParallaxImagesHero = (props) => {
13
14
  ...props
14
15
  };
15
16
  const { className: sectionClassName, style: sectionStyle, css } = styles ?? {};
17
+ const { isEditor } = useEditorContext();
16
18
  const transformRef = useRef(null);
17
19
  const [scrollContainerRef] = useScrollContainer(transformRef);
18
20
  const { scrollYProgress } = useScroll({
@@ -24,6 +26,16 @@ const ParallaxImagesHero = (props) => {
24
26
  });
25
27
  const yFirst = useTransform(animatedScrollYProgress, [0, 1], ["0vh", "-87.5vh"]);
26
28
  const ySecond = useTransform(animatedScrollYProgress, [0, 1], ["0vh", "-39.6vh"]);
29
+ if (isEditor) {
30
+ return /* @__PURE__ */ jsx(SectionWrapper, { ref: transformRef, className: cn("relative px-[5%]", sectionClassName), style: sectionStyle, css, children: /* @__PURE__ */ jsxs("div", { className: "relative overflow-hidden", children: [
31
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-4 py-8", children: images.slice(0, 6).map((image, index) => /* @__PURE__ */ jsx("div", { className: "relative aspect-square", children: /* @__PURE__ */ jsx(CompoundImage, { src: image.src, className: "absolute inset-0 size-full object-cover", alt: image.alt }) }, index)) }),
32
+ /* @__PURE__ */ jsx("div", { className: "container relative flex max-w-lg items-center py-16 text-center", children: /* @__PURE__ */ jsxs("div", { children: [
33
+ /* @__PURE__ */ jsx("h1", { className: "mb-5 text-6xl font-bold md:mb-6 md:text-9xl lg:text-10xl", children: heading }),
34
+ /* @__PURE__ */ jsx("p", { className: "relative z-20 md:text-md", children: description }),
35
+ /* @__PURE__ */ jsx("div", { className: "relative z-20 mt-6 flex items-center justify-center gap-x-4 md:mt-8", children: buttons.map((button, index) => /* @__PURE__ */ jsx(CompoundButton, { label: button.label, variant: button.variant, size: button.size, action: button.action, icon: button.icon }, index)) })
36
+ ] }) })
37
+ ] }) });
38
+ }
27
39
  return /* @__PURE__ */ jsx(SectionWrapper, { ref: transformRef, className: cn("relative h-[150vh] px-[5%] md:h-[300vh]", sectionClassName), style: sectionStyle, css, children: /* @__PURE__ */ jsxs("div", { className: "sticky top-0 h-screen overflow-hidden", children: [
28
40
  /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-auto top-0 z-10", children: /* @__PURE__ */ jsx(motion.div, { className: "flex flex-col gap-[26vw] pt-[70vh]", style: { y: yFirst }, children: images.slice(0, 4).map((image, index) => /* @__PURE__ */ jsx(
29
41
  "div",
@@ -93,27 +105,27 @@ const ParallaxImagesHeroDefaults = {
93
105
  images: [
94
106
  {
95
107
  src: "https://picsum.photos/seed/hero-square/1200/1200",
96
- alt: "Relume placeholder image 1"
108
+ alt: "Placeholder image 1"
97
109
  },
98
110
  {
99
111
  src: "https://picsum.photos/seed/hero-square/1200/1200",
100
- alt: "Relume placeholder image 2"
112
+ alt: "Placeholder image 2"
101
113
  },
102
114
  {
103
115
  src: "https://picsum.photos/seed/hero-square/1200/1200",
104
- alt: "Relume placeholder image 3"
116
+ alt: "Placeholder image 3"
105
117
  },
106
118
  {
107
119
  src: "https://picsum.photos/seed/hero-square/1200/1200",
108
- alt: "Relume placeholder image 4"
120
+ alt: "Placeholder image 4"
109
121
  },
110
122
  {
111
123
  src: "https://picsum.photos/seed/hero-square/1200/1200",
112
- alt: "Relume placeholder image 5"
124
+ alt: "Placeholder image 5"
113
125
  },
114
126
  {
115
127
  src: "https://picsum.photos/seed/hero-square/1200/1200",
116
- alt: "Relume placeholder image 6"
128
+ alt: "Placeholder image 6"
117
129
  }
118
130
  ]
119
131
  };
@@ -6,6 +6,7 @@ import { CompoundButton } from "../../../puck-base/button.js";
6
6
  import { CompoundImage } from "../../../puck-base/image.js";
7
7
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
8
8
  import { useScrollContainer } from "../../../../hooks/use-scroll-container.js";
9
+ import { useEditorContext } from "../../../puck-core/core/context/editor-context.js";
9
10
  import { useScroll, useTransform, motion } from "framer-motion";
10
11
  const ScatterParallaxHero = (props) => {
11
12
  const { heading, description, buttons = [], images = [], styles } = {
@@ -13,6 +14,7 @@ const ScatterParallaxHero = (props) => {
13
14
  ...props
14
15
  };
15
16
  const { className: sectionClassName, style: sectionStyle, css } = styles ?? {};
17
+ const { isEditor } = useEditorContext();
16
18
  const sectionRef = useRef(null);
17
19
  const [scrollContainerRef] = useScrollContainer(sectionRef);
18
20
  const { scrollYProgress } = useScroll(
@@ -52,12 +54,12 @@ const ScatterParallaxHero = (props) => {
52
54
  /* @__PURE__ */ jsx(
53
55
  motion.div,
54
56
  {
55
- style: containerMotion,
57
+ style: isEditor ? { y: "0%", scale: 1, opacity: 1 } : containerMotion,
56
58
  className: "absolute inset-0 z-10 flex origin-bottom items-end justify-center",
57
59
  children: images.map((image, index) => /* @__PURE__ */ jsx(
58
60
  motion.div,
59
61
  {
60
- style: imageMotions[index],
62
+ style: isEditor ? { x: 0, y: 0 } : imageMotions[index],
61
63
  className: cn("absolute w-full max-w-[9rem] sm:max-w-[15rem] lg:max-w-xs", {
62
64
  "left-[-25%] top-[65%] sm:top-[45%] md:left-[-20%] lg:left-[-10%] lg:top-[12%] ": index === 0,
63
65
  "bottom-[5%] left-[-8%] md:left-[5%] lg:bottom-[10%]": index === 1,
@@ -82,23 +84,23 @@ const ScatterParallaxHeroDefaults = {
82
84
  images: [
83
85
  {
84
86
  src: "https://picsum.photos/seed/hero-square/1200/1200",
85
- alt: "Relume placeholder image 1"
87
+ alt: "Placeholder image 1"
86
88
  },
87
89
  {
88
90
  src: "https://picsum.photos/seed/hero-square/1200/1200",
89
- alt: "Relume placeholder image 2"
91
+ alt: "Placeholder image 2"
90
92
  },
91
93
  {
92
94
  src: "https://picsum.photos/seed/hero-square/1200/1200",
93
- alt: "Relume placeholder image 3"
95
+ alt: "Placeholder image 3"
94
96
  },
95
97
  {
96
98
  src: "https://picsum.photos/seed/hero-square/1200/1200",
97
- alt: "Relume placeholder image 4"
99
+ alt: "Placeholder image 4"
98
100
  },
99
101
  {
100
102
  src: "https://picsum.photos/seed/hero-square/1200/1200",
101
- alt: "Relume placeholder image 5"
103
+ alt: "Placeholder image 5"
102
104
  }
103
105
  ]
104
106
  };
@@ -8,6 +8,7 @@ import { useScroll, useSpring, useTransform, motion } from "framer-motion";
8
8
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
9
9
  import { useScrollContainer } from "../../../../hooks/use-scroll-container.js";
10
10
  import { cn } from "../../../../utils/css-utils.js";
11
+ import { useEditorContext } from "../../../puck-core/core/context/editor-context.js";
11
12
  import { FaCirclePlay } from "../../../../node_modules/.pnpm/react-icons@5.6.0_react@19.2.4/node_modules/react-icons/fa6/index.js";
12
13
  import { CgSpinner } from "../../../../node_modules/.pnpm/react-icons@5.6.0_react@19.2.4/node_modules/react-icons/cg/index.js";
13
14
  const ScrollExpandVideoHero = (props) => {
@@ -17,6 +18,7 @@ const ScrollExpandVideoHero = (props) => {
17
18
  };
18
19
  const image = images == null ? void 0 : images[0];
19
20
  const { className: sectionClassName, style: sectionStyle, css } = styles ?? {};
21
+ const { isEditor } = useEditorContext();
20
22
  const [isIframeLoaded, setIsIframeLoaded] = useState(false);
21
23
  const transformRef = useRef(null);
22
24
  const [scrollContainerRef] = useScrollContainer(transformRef);
@@ -37,11 +39,11 @@ const ScrollExpandVideoHero = (props) => {
37
39
  SectionWrapper,
38
40
  {
39
41
  ref: transformRef,
40
- className: cn("relative flex h-[300vh] flex-col items-center", sectionClassName),
42
+ className: cn("relative flex flex-col items-center", isEditor ? "h-auto" : "h-[300vh]", sectionClassName),
41
43
  style: sectionStyle,
42
44
  css,
43
45
  children: [
44
- /* @__PURE__ */ jsx("div", { className: "px-[5%]", children: /* @__PURE__ */ jsx("div", { className: "sticky top-0 z-0 mx-auto flex min-h-[80vh] max-w-lg items-center justify-center py-16 text-center md:py-24 lg:py-28", children: /* @__PURE__ */ jsxs(motion.div, { style: { opacity: fadeOut, scale: scaleDown }, children: [
46
+ /* @__PURE__ */ jsx("div", { className: "px-[5%]", children: /* @__PURE__ */ jsx("div", { className: cn("z-0 mx-auto flex min-h-[80vh] max-w-lg items-center justify-center py-16 text-center md:py-24 lg:py-28", !isEditor && "sticky top-0"), children: /* @__PURE__ */ jsxs(motion.div, { style: isEditor ? { opacity: 1, scale: 1 } : { opacity: fadeOut, scale: scaleDown }, children: [
45
47
  /* @__PURE__ */ jsx("h1", { className: "mb-5 text-6xl font-bold md:mb-6 md:text-9xl lg:text-10xl", children: heading }),
46
48
  /* @__PURE__ */ jsx("p", { className: "md:text-md", children: description }),
47
49
  /* @__PURE__ */ jsx("div", { className: "mt-6 flex items-center justify-center gap-x-4 md:mt-8", children: buttons.map((button, index) => /* @__PURE__ */ jsx(CompoundButton, { label: button.label, variant: button.variant, size: button.size, action: button.action, icon: button.icon }, index)) })
@@ -49,8 +51,8 @@ const ScrollExpandVideoHero = (props) => {
49
51
  /* @__PURE__ */ jsx(
50
52
  motion.div,
51
53
  {
52
- style: { width, height, y },
53
- className: "sticky top-[10vh] z-10 mb-[-10vh] flex flex-col justify-start",
54
+ style: isEditor ? { width: "100%", height: "100vh", y: 0 } : { width, height, y },
55
+ className: cn("z-10 flex flex-col justify-start", isEditor ? "relative" : "sticky top-[10vh] mb-[-10vh]"),
54
56
  children: /* @__PURE__ */ jsxs(Dialog, { children: [
55
57
  /* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxs("button", { className: "relative flex size-full items-center justify-center", children: [
56
58
  /* @__PURE__ */ jsx(CompoundImage, { src: image.src, alt: image.alt, className: "size-full object-cover" }),
@@ -88,7 +90,7 @@ const ScrollExpandVideoHeroDefaults = {
88
90
  video: "https://www.youtube.com/embed/8DKLYsikxTs?si=Ch9W0KrDWWUiCMMW",
89
91
  images: [{
90
92
  src: "https://picsum.photos/seed/hero-video/1200/800",
91
- alt: "Relume placeholder image"
93
+ alt: "Placeholder image"
92
94
  }]
93
95
  };
94
96
  export {
@@ -6,6 +6,7 @@ import { VideoIframe } from "../../../shadcn/video-iframe.js";
6
6
  import { Dialog, DialogTrigger, DialogContent } from "../../../shadcn/dialog.js";
7
7
  import { useMediaQuery } from "../../../../hooks/use-media-query.js";
8
8
  import { useScrollContainer } from "../../../../hooks/use-scroll-container.js";
9
+ import { useEditorContext } from "../../../puck-core/core/context/editor-context.js";
9
10
  import { CompoundButton } from "../../../puck-base/button.js";
10
11
  import { CompoundImage } from "../../../puck-base/image.js";
11
12
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
@@ -30,6 +31,7 @@ const ScrollZoomHero = (props) => {
30
31
  css,
31
32
  mediaType
32
33
  } = rawStyles ?? {};
34
+ const { isEditor } = useEditorContext();
33
35
  const isMobile = useMediaQuery("(max-width: 767px)");
34
36
  const sectionRef = useRef(null);
35
37
  const [scrollContainerRef] = useScrollContainer(sectionRef);
@@ -71,7 +73,7 @@ const ScrollZoomHero = (props) => {
71
73
  role: "button",
72
74
  tabIndex: 0,
73
75
  className: "relative flex size-full cursor-pointer origin-top-right items-center justify-center",
74
- style: { scale: isMobile ? 1 : scaleValue },
76
+ style: { scale: isMobile || isEditor ? 1 : scaleValue },
75
77
  children: [
76
78
  /* @__PURE__ */ jsx(
77
79
  CompoundImage,
@@ -91,7 +93,7 @@ const ScrollZoomHero = (props) => {
91
93
  motion.div,
92
94
  {
93
95
  className: "flex origin-top-right flex-col items-end justify-center md:h-[60vh] lg:h-[80vh] lg:justify-start",
94
- style: { scale: isMobile ? 1 : scaleValue },
96
+ style: { scale: isMobile || isEditor ? 1 : scaleValue },
95
97
  children: /* @__PURE__ */ jsx(
96
98
  CompoundImage,
97
99
  {
@@ -114,7 +116,7 @@ const ScrollZoomHeroDefaults = {
114
116
  images: [
115
117
  {
116
118
  src: "https://picsum.photos/seed/hero-video/1200/800",
117
- alt: "Relume placeholder image"
119
+ alt: "Placeholder image"
118
120
  }
119
121
  ],
120
122
  styles: {
@@ -59,7 +59,7 @@ const StickyExpandHeroDefaults = {
59
59
  buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
60
60
  images: [{
61
61
  src: "https://picsum.photos/seed/hero-landscape/1200/800",
62
- alt: "Relume placeholder image"
62
+ alt: "Placeholder image"
63
63
  }]
64
64
  };
65
65
  export {
@@ -91,14 +91,22 @@ declare const conf: {
91
91
  readonly instructions: "Buttons must use the same size";
92
92
  };
93
93
  };
94
- image: {
95
- type: "object";
96
- objectFields: {
97
- src: import("@puckeditor/core").Field<string>;
98
- alt: {
94
+ images: {
95
+ readonly type: "array";
96
+ readonly max: 10;
97
+ readonly getItemSummary: (item: {
98
+ alt?: string;
99
+ }, index?: number) => string;
100
+ readonly arrayFields: {
101
+ readonly src: import("@puckeditor/core").Field<string>;
102
+ readonly alt: {
99
103
  type: "text";
100
104
  };
101
105
  };
106
+ readonly defaultItemProps: {
107
+ alt: string;
108
+ src: string;
109
+ };
102
110
  };
103
111
  };
104
112
  defaultProps: StickyExpandHeroProps;
@@ -1,13 +1,13 @@
1
1
  import { StickyExpandHero, StickyExpandHeroDefaults } from "./component.js";
2
2
  import { descriptionField, headingField } from "../../../puck-core/core/props/content.js";
3
3
  import { buttonsField } from "../../../puck-core/core/props/interactive.js";
4
- import { imageField } from "../../../puck-core/core/props/media.js";
4
+ import { imagesField } from "../../../puck-core/core/props/media.js";
5
5
  const conf = {
6
6
  fields: {
7
7
  heading: headingField,
8
8
  description: descriptionField,
9
9
  buttons: buttonsField,
10
- image: imageField
10
+ images: imagesField
11
11
  },
12
12
  defaultProps: StickyExpandHeroDefaults,
13
13
  render: StickyExpandHero
@@ -208,11 +208,11 @@ const StickyVideoHeroDefaults = {
208
208
  video: "https://www.youtube.com/embed/8DKLYsikxTs?si=Ch9W0KrDWWUiCMMW",
209
209
  images: [{
210
210
  src: "https://picsum.photos/seed/hero-video/1200/800",
211
- alt: "Relume placeholder image"
211
+ alt: "Placeholder image"
212
212
  }],
213
213
  videoImage: {
214
214
  src: "https://picsum.photos/seed/hero-video/1200/800",
215
- alt: "Relume placeholder image"
215
+ alt: "Placeholder image"
216
216
  },
217
217
  styles: { variant: "centered" }
218
218
  };
@@ -108,7 +108,7 @@ const TabHeroDefaults = {
108
108
  buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
109
109
  image: {
110
110
  src: "https://picsum.photos/seed/hero-landscape/1200/800",
111
- alt: "Relume placeholder image 1"
111
+ alt: "Placeholder image 1"
112
112
  }
113
113
  },
114
114
  {
@@ -118,7 +118,7 @@ const TabHeroDefaults = {
118
118
  buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
119
119
  image: {
120
120
  src: "https://picsum.photos/seed/hero-landscape/1200/800",
121
- alt: "Relume placeholder image 2"
121
+ alt: "Placeholder image 2"
122
122
  }
123
123
  },
124
124
  {
@@ -128,7 +128,7 @@ const TabHeroDefaults = {
128
128
  buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
129
129
  image: {
130
130
  src: "https://picsum.photos/seed/hero-landscape/1200/800",
131
- alt: "Relume placeholder image 3"
131
+ alt: "Placeholder image 3"
132
132
  }
133
133
  },
134
134
  {
@@ -138,7 +138,7 @@ const TabHeroDefaults = {
138
138
  buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
139
139
  image: {
140
140
  src: "https://picsum.photos/seed/hero-landscape/1200/800",
141
- alt: "Relume placeholder image 4"
141
+ alt: "Placeholder image 4"
142
142
  }
143
143
  }
144
144
  ]
@@ -159,15 +159,15 @@ const ThreeImageParallaxHeroDefaults = {
159
159
  buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
160
160
  imageLeft: {
161
161
  src: "https://picsum.photos/seed/hero-portrait/800/1200",
162
- alt: "Relume placeholder image 1"
162
+ alt: "Placeholder image 1"
163
163
  },
164
164
  imageCenter: {
165
165
  src: "https://picsum.photos/seed/hero-square/1200/1200",
166
- alt: "Relume placeholder image 2"
166
+ alt: "Placeholder image 2"
167
167
  },
168
168
  imageRight: {
169
169
  src: "https://picsum.photos/seed/hero-portrait/800/1200",
170
- alt: "Relume placeholder image 3"
170
+ alt: "Placeholder image 3"
171
171
  },
172
172
  styles: {
173
173
  textAlign: "left",
@@ -74,27 +74,27 @@ const VerticalGalleryHeroDefaults = {
74
74
  images: [
75
75
  {
76
76
  src: "https://picsum.photos/seed/hero-square/1200/1200",
77
- alt: "Relume placeholder image 1"
77
+ alt: "Placeholder image 1"
78
78
  },
79
79
  {
80
80
  src: "https://picsum.photos/seed/hero-square/1200/1200",
81
- alt: "Relume placeholder image 2"
81
+ alt: "Placeholder image 2"
82
82
  },
83
83
  {
84
84
  src: "https://picsum.photos/seed/hero-square/1200/1200",
85
- alt: "Relume placeholder image 3"
85
+ alt: "Placeholder image 3"
86
86
  },
87
87
  {
88
88
  src: "https://picsum.photos/seed/hero-square/1200/1200",
89
- alt: "Relume placeholder image 4"
89
+ alt: "Placeholder image 4"
90
90
  },
91
91
  {
92
92
  src: "https://picsum.photos/seed/hero-square/1200/1200",
93
- alt: "Relume placeholder image 5"
93
+ alt: "Placeholder image 5"
94
94
  },
95
95
  {
96
96
  src: "https://picsum.photos/seed/hero-square/1200/1200",
97
- alt: "Relume placeholder image 6"
97
+ alt: "Placeholder image 6"
98
98
  }
99
99
  ]
100
100
  };
@@ -6,6 +6,7 @@ import { CompoundButton } from "../../../puck-base/button.js";
6
6
  import { CompoundImage } from "../../../puck-base/image.js";
7
7
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
8
8
  import { useScrollContainer } from "../../../../hooks/use-scroll-container.js";
9
+ import { useEditorContext } from "../../../puck-core/core/context/editor-context.js";
9
10
  import { useScroll, useTransform, motion } from "framer-motion";
10
11
  const ZoomGridHero = (props) => {
11
12
  const { heading, description, buttons = [], images = [], styles } = {
@@ -13,6 +14,7 @@ const ZoomGridHero = (props) => {
13
14
  ...props
14
15
  };
15
16
  const { className: sectionClassName, style: sectionStyle, css } = styles ?? {};
17
+ const { isEditor } = useEditorContext();
16
18
  const sectionRef = useRef(null);
17
19
  const [scrollContainerRef] = useScrollContainer(sectionRef);
18
20
  const { scrollYProgress } = useScroll(
@@ -26,7 +28,7 @@ const ZoomGridHero = (props) => {
26
28
  motion.div,
27
29
  {
28
30
  className: "flex h-full items-center justify-center",
29
- style: { opacity: opacityContent },
31
+ style: { opacity: isEditor ? 1 : opacityContent },
30
32
  children: /* @__PURE__ */ jsx("div", { className: "px-[5%] py-8 md:py-12 lg:py-14", children: /* @__PURE__ */ jsxs("div", { className: "relative z-10 mx-auto max-w-lg text-center", children: [
31
33
  /* @__PURE__ */ jsx("h1", { className: "mb-5 text-6xl font-bold text-text-alternative md:mb-6 md:text-9xl lg:text-10xl", children: heading }),
32
34
  /* @__PURE__ */ jsx("p", { className: "text-text-alternative md:text-md", children: description }),
@@ -39,13 +41,13 @@ const ZoomGridHero = (props) => {
39
41
  motion.div,
40
42
  {
41
43
  className: "absolute inset-0 z-10 bg-black/50",
42
- style: { opacity: opacityOverlay }
44
+ style: { opacity: isEditor ? 0 : opacityOverlay }
43
45
  }
44
46
  ),
45
47
  /* @__PURE__ */ jsx(
46
48
  motion.div,
47
49
  {
48
- style: { scale },
50
+ style: { scale: isEditor ? 1 : scale },
49
51
  className: "grid size-full auto-cols-fr grid-cols-1 gap-x-4 gap-y-4 md:grid-cols-3",
50
52
  children: images.map((image, index) => /* @__PURE__ */ jsx(
51
53
  "div",
@@ -77,39 +79,39 @@ const ZoomGridHeroDefaults = {
77
79
  images: [
78
80
  {
79
81
  src: "https://picsum.photos/seed/hero-square/1200/1200",
80
- alt: "Relume placeholder image 1"
82
+ alt: "Placeholder image 1"
81
83
  },
82
84
  {
83
85
  src: "https://picsum.photos/seed/hero-square/1200/1200",
84
- alt: "Relume placeholder image 2"
86
+ alt: "Placeholder image 2"
85
87
  },
86
88
  {
87
89
  src: "https://picsum.photos/seed/hero-square/1200/1200",
88
- alt: "Relume placeholder image 3"
90
+ alt: "Placeholder image 3"
89
91
  },
90
92
  {
91
93
  src: "https://picsum.photos/seed/hero-square/1200/1200",
92
- alt: "Relume placeholder image 4"
94
+ alt: "Placeholder image 4"
93
95
  },
94
96
  {
95
97
  src: "https://picsum.photos/seed/hero-square/1200/1200",
96
- alt: "Relume placeholder image 5"
98
+ alt: "Placeholder image 5"
97
99
  },
98
100
  {
99
101
  src: "https://picsum.photos/seed/hero-square/1200/1200",
100
- alt: "Relume placeholder image 6"
102
+ alt: "Placeholder image 6"
101
103
  },
102
104
  {
103
105
  src: "https://picsum.photos/seed/hero-square/1200/1200",
104
- alt: "Relume placeholder image 7"
106
+ alt: "Placeholder image 7"
105
107
  },
106
108
  {
107
109
  src: "https://picsum.photos/seed/hero-square/1200/1200",
108
- alt: "Relume placeholder image 8"
110
+ alt: "Placeholder image 8"
109
111
  },
110
112
  {
111
113
  src: "https://picsum.photos/seed/hero-square/1200/1200",
112
- alt: "Relume placeholder image 9"
114
+ alt: "Placeholder image 9"
113
115
  }
114
116
  ]
115
117
  };
@@ -105,7 +105,7 @@ const CenterMediaStatsDefaults = {
105
105
  ],
106
106
  image: {
107
107
  src: "https://picsum.photos/seed/stats-media/1200/800",
108
- alt: "Relume placeholder image"
108
+ alt: "Placeholder image"
109
109
  },
110
110
  styles: {
111
111
  mediaPosition: "left",
@@ -94,7 +94,7 @@ const HeaderStatsRowDefaults = {
94
94
  ],
95
95
  image: {
96
96
  src: "https://picsum.photos/seed/stats-bg/1920/1080",
97
- alt: "Relume placeholder image"
97
+ alt: "Placeholder image"
98
98
  },
99
99
  styles: {
100
100
  textLayout: "twoColumn",
@@ -86,7 +86,7 @@ const MixedGridStatsDefaults = {
86
86
  {
87
87
  image: {
88
88
  src: "https://picsum.photos/seed/stats-card1/800/600",
89
- alt: "Relume placeholder image"
89
+ alt: "Placeholder image"
90
90
  }
91
91
  },
92
92
  {
@@ -102,7 +102,7 @@ const MixedGridStatsDefaults = {
102
102
  {
103
103
  image: {
104
104
  src: "https://picsum.photos/seed/stats-card2/800/600",
105
- alt: "Relume placeholder image"
105
+ alt: "Placeholder image"
106
106
  }
107
107
  }
108
108
  ],
@@ -88,7 +88,7 @@ const SplitStatsDefaults = {
88
88
  ],
89
89
  image: {
90
90
  src: "https://picsum.photos/seed/stats-split-bg/1920/1080",
91
- alt: "Relume placeholder image"
91
+ alt: "Placeholder image"
92
92
  },
93
93
  styles: {
94
94
  statsLayout: "2x2",
@@ -115,7 +115,7 @@ const TabStatsDefaults = {
115
115
  description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
116
116
  image: {
117
117
  src: "https://picsum.photos/seed/stats-tab1/800/600",
118
- alt: "Relume placeholder image 1"
118
+ alt: "Placeholder image 1"
119
119
  }
120
120
  },
121
121
  {
@@ -126,7 +126,7 @@ const TabStatsDefaults = {
126
126
  video: {
127
127
  image: {
128
128
  src: "https://picsum.photos/seed/stats-tab2/800/600",
129
- alt: "Relume placeholder image 2"
129
+ alt: "Placeholder image 2"
130
130
  },
131
131
  url: "https://www.youtube.com/embed/8DKLYsikxTs?si=Ch9W0KrDWWUiCMMW"
132
132
  }
@@ -138,7 +138,7 @@ const TabStatsDefaults = {
138
138
  description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
139
139
  image: {
140
140
  src: "https://picsum.photos/seed/stats-tab3/800/600",
141
- alt: "Relume placeholder image 3"
141
+ alt: "Placeholder image 3"
142
142
  }
143
143
  }
144
144
  ],
@@ -43,6 +43,53 @@ declare const conf: {
43
43
  };
44
44
  };
45
45
  };
46
+ defaultTabValue: {
47
+ type: "radio";
48
+ label: string;
49
+ options: {
50
+ label: string;
51
+ value: string;
52
+ }[];
53
+ };
54
+ tabs: {
55
+ type: "array";
56
+ label: string;
57
+ getItemSummary: (item: {
58
+ tabName?: string;
59
+ }, index?: number) => string;
60
+ arrayFields: {
61
+ value: {
62
+ type: "radio";
63
+ label: string;
64
+ options: {
65
+ label: string;
66
+ value: string;
67
+ }[];
68
+ };
69
+ tabName: {
70
+ type: "text";
71
+ label: string;
72
+ };
73
+ pricingPlans: {
74
+ type: "array";
75
+ label: string;
76
+ getItemSummary: (item: {
77
+ planName?: string;
78
+ }, index?: number) => string;
79
+ arrayFields: {
80
+ planName: {
81
+ type: "text";
82
+ };
83
+ monthlyPrice: {
84
+ type: "text";
85
+ };
86
+ description: {
87
+ type: "textarea";
88
+ };
89
+ };
90
+ };
91
+ };
92
+ };
46
93
  styles: {
47
94
  type: string;
48
95
  label: string;