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
@@ -69,39 +69,39 @@ const CssMarqueeBanner = (props) => {
69
69
  };
70
70
  const CssMarqueeBannerDefaults = {
71
71
  headings: [
72
- "Relume Library",
73
- "Relume Library",
74
- "Relume Library",
75
- "Relume Library",
76
- "Relume Library"
72
+ "Brand Name",
73
+ "Brand Name",
74
+ "Brand Name",
75
+ "Brand Name",
76
+ "Brand Name"
77
77
  ],
78
78
  sections: [
79
79
  {
80
- title: "Relume Library",
80
+ title: "Brand Name",
81
81
  image: {
82
82
  src: "https://picsum.photos/seed/banner-marquee-1/400/267",
83
- alt: "Relume Library"
83
+ alt: "Brand Name"
84
84
  }
85
85
  },
86
86
  {
87
- title: "Relume Library",
87
+ title: "Brand Name",
88
88
  image: {
89
89
  src: "https://picsum.photos/seed/banner-marquee-2/400/267",
90
- alt: "Relume Library"
90
+ alt: "Brand Name"
91
91
  }
92
92
  },
93
93
  {
94
- title: "Relume Library",
94
+ title: "Brand Name",
95
95
  image: {
96
96
  src: "https://picsum.photos/seed/banner-marquee-3/400/267",
97
- alt: "Relume Library"
97
+ alt: "Brand Name"
98
98
  }
99
99
  },
100
100
  {
101
- title: "Relume Library",
101
+ title: "Brand Name",
102
102
  image: {
103
103
  src: "https://picsum.photos/seed/banner-marquee-4/400/267",
104
- alt: "Relume Library"
104
+ alt: "Brand Name"
105
105
  }
106
106
  }
107
107
  ],
@@ -72,16 +72,16 @@ const DualRowMarquee = (props) => {
72
72
  };
73
73
  const DualRowMarqueeDefaults = {
74
74
  headingsTop: [
75
- { title: "Relume Library", image: { src: "https://picsum.photos/seed/banner-dual-1/100/100", alt: "Relume Library 1" } },
76
- { title: "Relume Library", image: { src: "https://picsum.photos/seed/banner-dual-2/100/100", alt: "Relume Library 2" } },
77
- { title: "Relume Library", image: { src: "https://picsum.photos/seed/banner-dual-3/100/100", alt: "Relume Library 3" } },
78
- { title: "Relume Library", image: { src: "https://picsum.photos/seed/banner-dual-4/100/100", alt: "Relume Library 4" } }
75
+ { title: "Brand Name", image: { src: "https://picsum.photos/seed/banner-dual-1/100/100", alt: "Brand Name 1" } },
76
+ { title: "Brand Name", image: { src: "https://picsum.photos/seed/banner-dual-2/100/100", alt: "Brand Name 2" } },
77
+ { title: "Brand Name", image: { src: "https://picsum.photos/seed/banner-dual-3/100/100", alt: "Brand Name 3" } },
78
+ { title: "Brand Name", image: { src: "https://picsum.photos/seed/banner-dual-4/100/100", alt: "Brand Name 4" } }
79
79
  ],
80
80
  headingsBottom: [
81
- { title: "Relume Library", image: { src: "https://picsum.photos/seed/banner-dual-5/100/100", alt: "Relume Library 5" } },
82
- { title: "Relume Library", image: { src: "https://picsum.photos/seed/banner-dual-6/100/100", alt: "Relume Library 6" } },
83
- { title: "Relume Library", image: { src: "https://picsum.photos/seed/banner-dual-7/100/100", alt: "Relume Library 7" } },
84
- { title: "Relume Library", image: { src: "https://picsum.photos/seed/banner-dual-8/100/100", alt: "Relume Library 8" } }
81
+ { title: "Brand Name", image: { src: "https://picsum.photos/seed/banner-dual-5/100/100", alt: "Brand Name 5" } },
82
+ { title: "Brand Name", image: { src: "https://picsum.photos/seed/banner-dual-6/100/100", alt: "Brand Name 6" } },
83
+ { title: "Brand Name", image: { src: "https://picsum.photos/seed/banner-dual-7/100/100", alt: "Brand Name 7" } },
84
+ { title: "Brand Name", image: { src: "https://picsum.photos/seed/banner-dual-8/100/100", alt: "Brand Name 8" } }
85
85
  ]
86
86
  };
87
87
  export {
@@ -5,6 +5,7 @@ import { useRef } from "react";
5
5
  import { cn } from "../../../../utils/css-utils.js";
6
6
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
7
7
  import { useScrollContainer } from "../../../../hooks/use-scroll-container.js";
8
+ import { useEditorContext } from "../../../puck-core/core/context/editor-context.js";
8
9
  const ScrollDrivenMarquee = (props) => {
9
10
  const {
10
11
  headings = [],
@@ -18,6 +19,7 @@ const ScrollDrivenMarquee = (props) => {
18
19
  style: sectionStyle,
19
20
  css
20
21
  } = styles ?? {};
22
+ const { isEditor } = useEditorContext();
21
23
  const sectionRef = useRef(null);
22
24
  const [scrollContainerRef] = useScrollContainer(sectionRef);
23
25
  const { scrollYProgress } = useScroll({
@@ -30,7 +32,7 @@ const ScrollDrivenMarquee = (props) => {
30
32
  motion.div,
31
33
  {
32
34
  className: "ml-12 grid auto-cols-max grid-flow-col grid-cols-[max-content] gap-12",
33
- style: { x: headingTranslate },
35
+ style: { x: isEditor ? "0%" : headingTranslate },
34
36
  children: headings.map((heading, headingIndex) => /* @__PURE__ */ jsx("h1", { className: "text-md font-bold md:text-lg", children: heading }, headingIndex))
35
37
  },
36
38
  index
@@ -38,11 +40,11 @@ const ScrollDrivenMarquee = (props) => {
38
40
  };
39
41
  const ScrollDrivenMarqueeDefaults = {
40
42
  headings: [
41
- "Relume Library",
42
- "Relume Library",
43
- "Relume Library",
44
- "Relume Library",
45
- "Relume Library"
43
+ "Brand Name",
44
+ "Brand Name",
45
+ "Brand Name",
46
+ "Brand Name",
47
+ "Brand Name"
46
48
  ]
47
49
  };
48
50
  export {
@@ -5,6 +5,7 @@ import { useScroll, useTransform, motion } from "framer-motion";
5
5
  import { cn } from "../../../../utils/css-utils.js";
6
6
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
7
7
  import { useScrollContainer } from "../../../../hooks/use-scroll-container.js";
8
+ import { useEditorContext } from "../../../puck-core/core/context/editor-context.js";
8
9
  const ScrollParallaxText = (props) => {
9
10
  const {
10
11
  headings = [],
@@ -18,6 +19,7 @@ const ScrollParallaxText = (props) => {
18
19
  style: sectionStyle,
19
20
  css
20
21
  } = styles ?? {};
22
+ const { isEditor } = useEditorContext();
21
23
  const sectionRef = useRef(null);
22
24
  const [scrollContainerRef] = useScrollContainer(sectionRef);
23
25
  const { scrollYProgress } = useScroll({
@@ -37,7 +39,7 @@ const ScrollParallaxText = (props) => {
37
39
  children: /* @__PURE__ */ jsx("div", { className: "flex flex-col whitespace-nowrap", children: headings.map((heading, index) => /* @__PURE__ */ jsx(
38
40
  motion.h1,
39
41
  {
40
- style: index % 2 === 0 ? { x: xPartOne } : { x: xPartTwo },
42
+ style: index % 2 === 0 ? { x: isEditor ? "0%" : xPartOne } : { x: isEditor ? "0%" : xPartTwo },
41
43
  className: cn("text-[6rem] font-bold leading-[1.2]", {
42
44
  "self-end": index % 2 !== 0
43
45
  }),
@@ -80,7 +80,7 @@ const ContactCardsGridDefaults = {
80
80
  icon: "email",
81
81
  title: "Email",
82
82
  description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in ero.",
83
- link: { label: "hello@relume.io", action: { type: "email", email: "hello@relume.io" } }
83
+ link: { label: "hello@example.com", action: { type: "email", email: "hello@example.com" } }
84
84
  },
85
85
  {
86
86
  icon: "phone",
@@ -94,7 +94,7 @@ const FormWithMediaDefaults = {
94
94
  buttons: [],
95
95
  image: {
96
96
  src: "https://picsum.photos/seed/contact-media/800/800",
97
- alt: "Relume placeholder image"
97
+ alt: "Placeholder image"
98
98
  },
99
99
  email: "",
100
100
  phone: "",
@@ -154,7 +154,7 @@ const HeaderFormCardsDefaults = {
154
154
  icon: "email",
155
155
  title: "Email",
156
156
  description: "Lorem ipsum dolor sit amet.",
157
- link: { label: "hello@relume.io", action: { type: "email", email: "hello@relume.io" } }
157
+ link: { label: "hello@example.com", action: { type: "email", email: "hello@example.com" } }
158
158
  },
159
159
  {
160
160
  icon: "phone",
@@ -44,7 +44,7 @@ const HeaderInfoFullwidthDefaults = {
44
44
  buttons: [],
45
45
  image: {
46
46
  src: "https://picsum.photos/seed/contact-fullwidth/1920/600",
47
- alt: "Relume placeholder image"
47
+ alt: "Placeholder image"
48
48
  },
49
49
  email: "",
50
50
  phone: "",
@@ -54,7 +54,7 @@ const HeaderInfoFullwidthDefaults = {
54
54
  icon: "email",
55
55
  title: "Email",
56
56
  description: "",
57
- link: { label: "hello@relume.io", action: { type: "email", email: "hello@relume.io" } }
57
+ link: { label: "hello@example.com", action: { type: "email", email: "hello@example.com" } }
58
58
  },
59
59
  {
60
60
  icon: "phone",
@@ -42,7 +42,7 @@ const InfoCardsMediaDefaults = {
42
42
  buttons: [],
43
43
  image: {
44
44
  src: "https://picsum.photos/seed/contact-info/1200/800",
45
- alt: "Relume placeholder image"
45
+ alt: "Placeholder image"
46
46
  },
47
47
  email: "",
48
48
  phone: "",
@@ -52,7 +52,7 @@ const InfoCardsMediaDefaults = {
52
52
  icon: "email",
53
53
  title: "Email",
54
54
  description: "Lorem ipsum dolor sit amet.",
55
- link: { label: "hello@relume.io", action: { type: "email", email: "hello@relume.io" } }
55
+ link: { label: "hello@example.com", action: { type: "email", email: "hello@example.com" } }
56
56
  },
57
57
  {
58
58
  icon: "phone",
@@ -146,7 +146,7 @@ const SplitInfoFormDefaults = {
146
146
  button: { label: "Submit" },
147
147
  buttons: [],
148
148
  image: { src: "https://picsum.photos/seed/contact-split/800/600", alt: "Placeholder" },
149
- email: "hello@relume.io",
149
+ email: "hello@example.com",
150
150
  phone: "+1 (555) 000-0000",
151
151
  address: "123 Sample St, Sydney NSW 2000 AU",
152
152
  contacts: [],
@@ -161,7 +161,7 @@ const MouseTrackCtaDefaults = {
161
161
  listNumber: "01",
162
162
  image: {
163
163
  src: "https://picsum.photos/seed/cta-hover1/600/600",
164
- alt: "Relume placeholder image 1"
164
+ alt: "Placeholder image 1"
165
165
  }
166
166
  },
167
167
  {
@@ -170,7 +170,7 @@ const MouseTrackCtaDefaults = {
170
170
  listNumber: "02",
171
171
  image: {
172
172
  src: "https://picsum.photos/seed/cta-hover2/600/600",
173
- alt: "Relume placeholder image 2"
173
+ alt: "Placeholder image 2"
174
174
  }
175
175
  },
176
176
  {
@@ -179,7 +179,7 @@ const MouseTrackCtaDefaults = {
179
179
  listNumber: "03",
180
180
  image: {
181
181
  src: "https://picsum.photos/seed/cta-hover3/600/600",
182
- alt: "Relume placeholder image 3"
182
+ alt: "Placeholder image 3"
183
183
  }
184
184
  },
185
185
  {
@@ -188,7 +188,7 @@ const MouseTrackCtaDefaults = {
188
188
  listNumber: "04",
189
189
  image: {
190
190
  src: "https://picsum.photos/seed/cta-hover4/600/600",
191
- alt: "Relume placeholder image 4"
191
+ alt: "Placeholder image 4"
192
192
  }
193
193
  }
194
194
  ],
@@ -60,7 +60,7 @@ const SideMediaCtaDefaults = {
60
60
  images: [
61
61
  {
62
62
  src: "https://picsum.photos/seed/cta-side/800/600",
63
- alt: "Relume placeholder image"
63
+ alt: "Placeholder image"
64
64
  }
65
65
  ],
66
66
  video: "",
@@ -130,11 +130,11 @@ const TextBlockCtaDefaults = {
130
130
  images: [
131
131
  {
132
132
  src: "https://picsum.photos/seed/cta-bg/1920/1080",
133
- alt: "Relume placeholder image"
133
+ alt: "Placeholder image"
134
134
  },
135
135
  {
136
136
  src: "https://picsum.photos/seed/cta-bottom/1200/600",
137
- alt: "Relume placeholder image"
137
+ alt: "Placeholder image"
138
138
  }
139
139
  ],
140
140
  video: "https://www.example.com/video.mp4",
@@ -96,7 +96,7 @@ const FeatureCardsGridDefaults = {
96
96
  ],
97
97
  image: {
98
98
  src: "https://picsum.photos/seed/feature-cards/800/600",
99
- alt: "Relume placeholder image"
99
+ alt: "Placeholder image"
100
100
  },
101
101
  video: "https://www.youtube.com/embed/8DKLYsikxTs?si=Ch9W0KrDWWUiCMMW",
102
102
  buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
@@ -93,7 +93,7 @@ const FeatureListSplitDefaults = {
93
93
  ],
94
94
  image: {
95
95
  src: "https://picsum.photos/seed/feature-list/800/600",
96
- alt: "Relume placeholder image"
96
+ alt: "Placeholder image"
97
97
  },
98
98
  video: "https://www.youtube.com/embed/8DKLYsikxTs?si=Ch9W0KrDWWUiCMMW",
99
99
  buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
@@ -110,7 +110,7 @@ const TabFeatureDefaults = {
110
110
  description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
111
111
  image: {
112
112
  src: "https://picsum.photos/seed/tab-feature1/800/600",
113
- alt: "Relume placeholder image 1"
113
+ alt: "Placeholder image 1"
114
114
  }
115
115
  },
116
116
  {
@@ -119,7 +119,7 @@ const TabFeatureDefaults = {
119
119
  description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
120
120
  image: {
121
121
  src: "https://picsum.photos/seed/tab-feature2/800/600",
122
- alt: "Relume placeholder image 2"
122
+ alt: "Placeholder image 2"
123
123
  }
124
124
  },
125
125
  {
@@ -128,7 +128,7 @@ const TabFeatureDefaults = {
128
128
  description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
129
129
  image: {
130
130
  src: "https://picsum.photos/seed/tab-feature3/800/600",
131
- alt: "Relume placeholder image 3"
131
+ alt: "Placeholder image 3"
132
132
  }
133
133
  }
134
134
  ]
@@ -78,7 +78,7 @@ const TextMediaSplitDefaults = {
78
78
  buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
79
79
  image: {
80
80
  src: "https://picsum.photos/seed/feature-split/800/600",
81
- alt: "Relume placeholder image"
81
+ alt: "Placeholder image"
82
82
  },
83
83
  video: "https://www.youtube.com/embed/8DKLYsikxTs?si=Ch9W0KrDWWUiCMMW",
84
84
  styles: {
@@ -3,23 +3,64 @@ import { CompoundImage } from "../../../puck-base/image.js";
3
3
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
4
4
  import { cn } from "../../../../utils/css-utils.js";
5
5
  const CenteredMinimalFooter = (props) => {
6
- const { logo, columnLinks, socialMediaLinks, footerText, footerLinks, styles } = { ...CenteredMinimalFooterDefaults, ...props };
7
- const { className: sectionClassName, style: sectionStyle, css } = styles ?? {};
8
- return /* @__PURE__ */ jsx(SectionWrapper, { className: cn("px-[5%] py-6 md:py-9 lg:py-10", sectionClassName), style: sectionStyle, css, children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
9
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 items-center justify-center justify-items-center gap-x-[4vw] gap-y-12 pb-12 md:pb-18 lg:grid-cols-[0.25fr_1fr_0.25fr] lg:justify-between lg:gap-y-4 lg:pb-20", children: [
10
- /* @__PURE__ */ jsx("a", { href: logo == null ? void 0 : logo.url, className: "lg:justify-self-start", children: /* @__PURE__ */ jsx(CompoundImage, { src: logo == null ? void 0 : logo.src, alt: logo == null ? void 0 : logo.alt, className: "inline-block" }) }),
11
- columnLinks == null ? void 0 : columnLinks.map((col, i) => /* @__PURE__ */ jsx("ul", { className: "grid grid-flow-row grid-cols-1 items-start justify-center justify-items-center gap-6 md:grid-flow-col md:grid-cols-[max-content] md:justify-center md:justify-items-start", children: col.links.map((l, li) => /* @__PURE__ */ jsx("li", { className: "font-semibold", children: /* @__PURE__ */ jsx("a", { href: l.url, children: l.title }) }, li)) }, i)),
12
- /* @__PURE__ */ jsx("div", { className: "flex items-start justify-start justify-items-center gap-x-3 lg:justify-self-end", children: socialMediaLinks == null ? void 0 : socialMediaLinks.map((l, i) => /* @__PURE__ */ jsx("a", { href: l.url, children: l.icon }, i)) })
13
- ] }),
14
- /* @__PURE__ */ jsx("div", { className: "h-px w-full bg-black" }),
15
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col-reverse items-center justify-center pb-4 pt-6 text-sm md:flex-row md:gap-x-6 md:pb-0 md:pt-8", children: [
16
- /* @__PURE__ */ jsx("p", { className: "mt-8 md:mt-0", children: footerText }),
17
- /* @__PURE__ */ jsx("ul", { className: "grid grid-flow-row grid-cols-[max-content] items-center justify-center gap-y-4 text-sm md:grid-flow-col md:gap-x-6 md:gap-y-0", children: footerLinks == null ? void 0 : footerLinks.map((l, i) => /* @__PURE__ */ jsx("li", { className: "underline", children: /* @__PURE__ */ jsx("a", { href: l.url, children: l.title }) }, i)) })
18
- ] })
19
- ] }) });
6
+ const {
7
+ logo,
8
+ columnLinks,
9
+ socialMediaLinks,
10
+ footerText,
11
+ footerLinks,
12
+ styles
13
+ } = { ...CenteredMinimalFooterDefaults, ...props };
14
+ const {
15
+ className: sectionClassName,
16
+ style: sectionStyle,
17
+ css
18
+ } = styles ?? {};
19
+ return /* @__PURE__ */ jsx(
20
+ SectionWrapper,
21
+ {
22
+ className: cn("px-[5%] py-6 md:py-9 lg:py-10", sectionClassName),
23
+ style: sectionStyle,
24
+ css,
25
+ children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
26
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 items-center justify-center justify-items-center gap-x-[4vw] gap-y-12 pb-12 md:pb-18 lg:grid-cols-[0.25fr_1fr_0.25fr] lg:justify-between lg:gap-y-4 lg:pb-20", children: [
27
+ /* @__PURE__ */ jsx("a", { href: logo == null ? void 0 : logo.url, className: "lg:justify-self-start", children: /* @__PURE__ */ jsx(
28
+ CompoundImage,
29
+ {
30
+ src: logo == null ? void 0 : logo.src,
31
+ alt: logo == null ? void 0 : logo.alt,
32
+ className: "inline-block"
33
+ }
34
+ ) }),
35
+ columnLinks == null ? void 0 : columnLinks.map((col, i) => {
36
+ var _a;
37
+ return /* @__PURE__ */ jsx(
38
+ "ul",
39
+ {
40
+ className: "grid grid-flow-row grid-cols-1 items-start justify-center justify-items-center gap-6 md:grid-flow-col md:grid-cols-[max-content] md:justify-center md:justify-items-start",
41
+ children: (_a = col.links) == null ? void 0 : _a.map((l, li) => /* @__PURE__ */ jsx("li", { className: "font-semibold", children: /* @__PURE__ */ jsx("a", { href: l.url, children: l.title }) }, li))
42
+ },
43
+ i
44
+ );
45
+ }),
46
+ /* @__PURE__ */ jsx("div", { className: "flex items-start justify-start justify-items-center gap-x-3 lg:justify-self-end", children: socialMediaLinks == null ? void 0 : socialMediaLinks.map((l, i) => /* @__PURE__ */ jsx("a", { href: l.url, children: l.icon }, i)) })
47
+ ] }),
48
+ /* @__PURE__ */ jsx("div", { className: "h-px w-full bg-black" }),
49
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col-reverse items-center justify-center pb-4 pt-6 text-sm md:flex-row md:gap-x-6 md:pb-0 md:pt-8", children: [
50
+ /* @__PURE__ */ jsx("p", { className: "mt-8 md:mt-0", children: footerText }),
51
+ /* @__PURE__ */ jsx("ul", { className: "grid grid-flow-row grid-cols-[max-content] items-center justify-center gap-y-4 text-sm md:grid-flow-col md:gap-x-6 md:gap-y-0", children: footerLinks == null ? void 0 : footerLinks.map((l, i) => /* @__PURE__ */ jsx("li", { className: "underline", children: /* @__PURE__ */ jsx("a", { href: l.url, children: l.title }) }, i)) })
52
+ ] })
53
+ ] })
54
+ }
55
+ );
20
56
  };
21
57
  const CenteredMinimalFooterDefaults = {
22
- logo: { url: "#", src: "https://d22po4pjz3o32e.cloudfront.net/logo-image.svg", alt: "Logo image" },
58
+ __metadata: { type: "footer" },
59
+ logo: {
60
+ url: "#",
61
+ src: "https://file.springbrand.ai/web_assets/template-logo.svg",
62
+ alt: "Logo image"
63
+ },
23
64
  heading: "",
24
65
  description: "",
25
66
  buttons: [],
@@ -28,9 +69,22 @@ const CenteredMinimalFooterDefaults = {
28
69
  inputPlaceholder: "",
29
70
  button: { label: "" },
30
71
  termsAndConditions: "",
31
- columnLinks: [{ links: [{ title: "Link One", url: "#" }, { title: "Link Two", url: "#" }, { title: "Link Three", url: "#" }, { title: "Link Four", url: "#" }, { title: "Link Five", url: "#" }] }],
32
- footerText: "© 2024 Relume. All rights reserved.",
33
- footerLinks: [{ title: "Privacy Policy", url: "#" }, { title: "Terms of Service", url: "#" }],
72
+ columnLinks: [
73
+ {
74
+ links: [
75
+ { title: "Link One", url: "#" },
76
+ { title: "Link Two", url: "#" },
77
+ { title: "Link Three", url: "#" },
78
+ { title: "Link Four", url: "#" },
79
+ { title: "Link Five", url: "#" }
80
+ ]
81
+ }
82
+ ],
83
+ footerText: "© 2024 Company. All rights reserved.",
84
+ footerLinks: [
85
+ { title: "Privacy Policy", url: "#" },
86
+ { title: "Terms of Service", url: "#" }
87
+ ],
34
88
  socialMediaLinks: [],
35
89
  address: { label: "", value: "" },
36
90
  contact: { label: "", phone: "", email: "" },
@@ -13,9 +13,88 @@ declare const conf: {
13
13
  };
14
14
  };
15
15
  };
16
+ columnLinks: {
17
+ type: string;
18
+ label: string;
19
+ getItemSummary: (_item: unknown, index?: number) => string;
20
+ defaultItemProps: {
21
+ links: {
22
+ title: string;
23
+ url: string;
24
+ }[];
25
+ };
26
+ arrayFields: {
27
+ links: {
28
+ type: string;
29
+ label: string;
30
+ getItemSummary: (item: {
31
+ title?: string;
32
+ }, index?: number) => string;
33
+ defaultItemProps: {
34
+ title: string;
35
+ url: string;
36
+ };
37
+ arrayFields: {
38
+ title: {
39
+ type: string;
40
+ label: string;
41
+ };
42
+ url: {
43
+ type: string;
44
+ label: string;
45
+ };
46
+ };
47
+ };
48
+ };
49
+ };
16
50
  footerText: {
17
51
  type: string;
18
52
  };
53
+ footerLinks: {
54
+ type: string;
55
+ label: string;
56
+ getItemSummary: (item: {
57
+ title?: string;
58
+ }, index?: number) => string;
59
+ arrayFields: {
60
+ title: {
61
+ type: string;
62
+ label: string;
63
+ };
64
+ url: {
65
+ type: string;
66
+ label: string;
67
+ };
68
+ };
69
+ };
70
+ styles: {
71
+ type: string;
72
+ label: string;
73
+ objectFields: {
74
+ className: {
75
+ readonly type: "text";
76
+ readonly label: "Class Name";
77
+ readonly ai: {
78
+ readonly instructions: "Additional Tailwind CSS classes to apply to the section wrapper.";
79
+ };
80
+ };
81
+ style: {
82
+ readonly type: "object";
83
+ readonly label: "Style";
84
+ readonly objectFields: {};
85
+ readonly ai: {
86
+ readonly instructions: "Inline CSSProperties object for the section wrapper, e.g. { backgroundColor: 'red', minHeight: '100vh' }.";
87
+ };
88
+ };
89
+ css: {
90
+ readonly type: "textarea";
91
+ readonly label: "Custom CSS";
92
+ readonly ai: {
93
+ readonly instructions: "Custom CSS rules. Use & as a placeholder for the section selector.";
94
+ };
95
+ };
96
+ };
97
+ };
19
98
  };
20
99
  defaultProps: import("../props").FooterSectionBaseProps;
21
100
  render: (props: CenteredMinimalFooterProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,48 @@
1
1
  import { CenteredMinimalFooter, CenteredMinimalFooterDefaults } from "./centered-minimal-footer.js";
2
2
  import { imageField } from "../../../puck-core/core/props/media.js";
3
- const conf = { fields: { logo: imageField, footerText: { type: "text" } }, defaultProps: CenteredMinimalFooterDefaults, render: CenteredMinimalFooter };
3
+ import { sectionWrapperFields } from "../../../puck-core/section-wrapper.js";
4
+ const conf = {
5
+ fields: {
6
+ logo: imageField,
7
+ columnLinks: {
8
+ type: "array",
9
+ label: "Link Columns",
10
+ getItemSummary: (_item, index = 0) => `Column ${index + 1}`,
11
+ defaultItemProps: {
12
+ links: [{ title: "Link", url: "#" }]
13
+ },
14
+ arrayFields: {
15
+ links: {
16
+ type: "array",
17
+ label: "Links",
18
+ getItemSummary: (item, index = 0) => item.title || `Link ${index + 1}`,
19
+ defaultItemProps: { title: "Link", url: "#" },
20
+ arrayFields: {
21
+ title: { type: "text", label: "Title" },
22
+ url: { type: "text", label: "URL" }
23
+ }
24
+ }
25
+ }
26
+ },
27
+ footerText: { type: "text" },
28
+ footerLinks: {
29
+ type: "array",
30
+ label: "Footer Links",
31
+ getItemSummary: (item, index = 0) => item.title || `Link ${index + 1}`,
32
+ arrayFields: {
33
+ title: { type: "text", label: "Title" },
34
+ url: { type: "text", label: "URL" }
35
+ }
36
+ },
37
+ styles: {
38
+ type: "object",
39
+ label: "Styles",
40
+ objectFields: { ...sectionWrapperFields }
41
+ }
42
+ },
43
+ defaultProps: CenteredMinimalFooterDefaults,
44
+ render: CenteredMinimalFooter
45
+ };
4
46
  export {
5
47
  CenteredMinimalFooter,
6
48
  CenteredMinimalFooterDefaults,
@@ -74,6 +74,47 @@ declare const conf: {
74
74
  termsAndConditions: {
75
75
  type: string;
76
76
  };
77
+ columnLinks: {
78
+ type: string;
79
+ label: string;
80
+ getItemSummary: (_item: unknown, index?: number) => string;
81
+ arrayFields: {
82
+ links: {
83
+ type: string;
84
+ label: string;
85
+ getItemSummary: (item: {
86
+ title?: string;
87
+ }, index?: number) => string;
88
+ arrayFields: {
89
+ title: {
90
+ type: string;
91
+ label: string;
92
+ };
93
+ url: {
94
+ type: string;
95
+ label: string;
96
+ };
97
+ };
98
+ };
99
+ };
100
+ };
101
+ footerLinks: {
102
+ type: string;
103
+ label: string;
104
+ getItemSummary: (item: {
105
+ title?: string;
106
+ }, index?: number) => string;
107
+ arrayFields: {
108
+ title: {
109
+ type: string;
110
+ label: string;
111
+ };
112
+ url: {
113
+ type: string;
114
+ label: string;
115
+ };
116
+ };
117
+ };
77
118
  footerText: {
78
119
  type: string;
79
120
  };