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.
- package/dist/components/puck-block/banner-sections/css-marquee-banner/css-marquee-banner.js +13 -13
- package/dist/components/puck-block/banner-sections/dual-row-marquee/dual-row-marquee.js +8 -8
- package/dist/components/puck-block/banner-sections/scroll-driven-marquee/scroll-driven-marquee.js +8 -6
- package/dist/components/puck-block/banner-sections/scroll-parallax-text/scroll-parallax-text.js +3 -1
- package/dist/components/puck-block/contact-sections/contact-cards-grid/contact-cards-grid.js +1 -1
- package/dist/components/puck-block/contact-sections/form-with-media/form-with-media.js +1 -1
- package/dist/components/puck-block/contact-sections/header-form-cards/header-form-cards.js +1 -1
- package/dist/components/puck-block/contact-sections/header-info-fullwidth/header-info-fullwidth.js +2 -2
- package/dist/components/puck-block/contact-sections/info-cards-media/info-cards-media.js +2 -2
- package/dist/components/puck-block/contact-sections/split-info-form/split-info-form.js +1 -1
- package/dist/components/puck-block/cta-sections/mouse-track-cta/mouse-track-cta.js +4 -4
- package/dist/components/puck-block/cta-sections/side-media-cta/side-media-cta.js +1 -1
- package/dist/components/puck-block/cta-sections/text-block-cta/text-block-cta.js +2 -2
- package/dist/components/puck-block/feature-sections/feature-cards-grid/component.js +1 -1
- package/dist/components/puck-block/feature-sections/feature-list-split/component.js +1 -1
- package/dist/components/puck-block/feature-sections/tab-feature/component.js +3 -3
- package/dist/components/puck-block/feature-sections/text-media-split/component.js +1 -1
- package/dist/components/puck-block/footer-sections/centered-minimal-footer/centered-minimal-footer.js +72 -18
- package/dist/components/puck-block/footer-sections/centered-minimal-footer/index.d.ts +79 -0
- package/dist/components/puck-block/footer-sections/centered-minimal-footer/index.js +43 -1
- package/dist/components/puck-block/footer-sections/compact-newsletter-footer/index.d.ts +41 -0
- package/dist/components/puck-block/footer-sections/contact-links-footer/contact-links-footer.js +4 -3
- package/dist/components/puck-block/footer-sections/contact-links-footer/index.d.ts +86 -0
- package/dist/components/puck-block/footer-sections/contact-links-footer/index.js +1 -1
- package/dist/components/puck-block/footer-sections/cta-links-footer/cta-links-footer.js +3 -2
- package/dist/components/puck-block/footer-sections/cta-links-footer/index.d.ts +37 -0
- package/dist/components/puck-block/footer-sections/cta-links-footer/index.js +1 -1
- package/dist/components/puck-block/footer-sections/links-newsletter-footer/index.d.ts +54 -0
- package/dist/components/puck-block/footer-sections/newsletter-links-footer/index.d.ts +41 -0
- package/dist/components/puck-block/footer-sections/newsletter-top-links-footer/index.d.ts +54 -0
- package/dist/components/puck-block/footer-sections/props.d.ts +3 -0
- package/dist/components/puck-block/gallery-sections/fullscreen-portfolio/fullscreen-portfolio.js +1 -1
- package/dist/components/puck-block/gallery-sections/interactive-portfolio/interactive-portfolio.js +1 -1
- package/dist/components/puck-block/gallery-sections/portfolio-cards/portfolio-cards.js +1 -1
- package/dist/components/puck-block/gallery-sections/portfolio-divider/portfolio-divider.js +1 -1
- package/dist/components/puck-block/gallery-sections/props.d.ts +11 -1
- package/dist/components/puck-block/gallery-sections/props.js +7 -2
- package/dist/components/puck-block/gallery-sections/scroll-parallax/scroll-parallax.js +18 -0
- package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/scroll-parallax-portfolio.js +25 -22
- package/dist/components/puck-block/gallery-sections/split-carousel/index.d.ts +11 -1
- package/dist/components/puck-block/header-sections/centered-navbar/centered-navbar.js +3 -2
- package/dist/components/puck-block/header-sections/drawer-navbar/drawer-navbar.js +4 -3
- package/dist/components/puck-block/header-sections/floating-bordered-navbar/floating-bordered-navbar.js +5 -4
- package/dist/components/puck-block/header-sections/fullscreen-overlay-navbar/fullscreen-overlay-navbar.js +4 -3
- package/dist/components/puck-block/header-sections/mega-menu-navbar/mega-menu-navbar.js +3 -2
- package/dist/components/puck-block/header-sections/props.d.ts +3 -0
- package/dist/components/puck-block/header-sections/standard-navbar/standard-navbar.js +3 -2
- package/dist/components/puck-block/hero-sections/carousel-hero/component.js +3 -3
- package/dist/components/puck-block/hero-sections/column-scroll-hero/component.js +8 -8
- package/dist/components/puck-block/hero-sections/dual-marquee-hero/component.js +6 -6
- package/dist/components/puck-block/hero-sections/fullscreen-video-hero/component.js +1 -1
- package/dist/components/puck-block/hero-sections/grid-expand-hero/component.js +26 -17
- package/dist/components/puck-block/hero-sections/horizontal-marquee-hero/component.js +3 -3
- package/dist/components/puck-block/hero-sections/mouse-track-hero/component.js +60 -19
- package/dist/components/puck-block/hero-sections/multi-image-grid-hero/multi-image-grid-hero.js +2 -2
- package/dist/components/puck-block/hero-sections/overlapping-image-hero/overlapping-image-hero.js +3 -3
- package/dist/components/puck-block/hero-sections/parallax-images-hero/component.js +18 -6
- package/dist/components/puck-block/hero-sections/scatter-parallax-hero/component.js +9 -7
- package/dist/components/puck-block/hero-sections/scroll-expand-video-hero/component.js +7 -5
- package/dist/components/puck-block/hero-sections/scroll-zoom-hero/component.js +5 -3
- package/dist/components/puck-block/hero-sections/sticky-expand-hero/component.js +1 -1
- package/dist/components/puck-block/hero-sections/sticky-expand-hero/index.d.ts +13 -5
- package/dist/components/puck-block/hero-sections/sticky-expand-hero/index.js +2 -2
- package/dist/components/puck-block/hero-sections/sticky-video-hero/component.js +2 -2
- package/dist/components/puck-block/hero-sections/tab-hero/component.js +4 -4
- package/dist/components/puck-block/hero-sections/three-image-parallax-hero/component.js +3 -3
- package/dist/components/puck-block/hero-sections/vertical-gallery-hero/component.js +6 -6
- package/dist/components/puck-block/hero-sections/zoom-grid-hero/component.js +14 -12
- package/dist/components/puck-block/metrics-sections/center-media-stats/center-media-stats.js +1 -1
- package/dist/components/puck-block/metrics-sections/header-stats-row/header-stats-row.js +1 -1
- package/dist/components/puck-block/metrics-sections/mixed-grid-stats/mixed-grid-stats.js +2 -2
- package/dist/components/puck-block/metrics-sections/split-stats/split-stats.js +1 -1
- package/dist/components/puck-block/metrics-sections/tab-stats/tab-stats.js +3 -3
- package/dist/components/puck-block/pricing-sections/pricing-comparison-table/index.d.ts +47 -0
- package/dist/components/puck-block/pricing-sections/pricing-comparison-table/index.js +34 -0
- package/dist/components/puck-block/pricing-sections/split-pricing/component.js +3 -3
- package/dist/components/puck-block/registry.generated.d.ts +273 -6
- package/dist/components/puck-block/showcase-sections/tab-timeline/component.js +1 -1
- package/dist/components/puck-block/testimonial-sections/bento-testimonial/component.js +2 -2
- package/dist/components/puck-block/testimonial-sections/tab-testimonial/component.js +2 -2
- package/dist/components/puck-block/text-sections/prose-content/component.js +1 -1
- package/dist/components/puck-block/text-sections/side-media-content/component.js +1 -1
- package/dist/components/puck-block/text-sections/sticky-text-multi-image/component.js +3 -3
- package/dist/components/puck-core/core/props/media.js +6 -1
- package/dist/components/puck-core/fields/array-field.d.ts +7 -0
- package/dist/components/puck-core/fields/array-field.js +229 -0
- package/dist/components/puck-core/fields/auto-field.js +11 -0
- package/dist/components/puck-core/fields/image-upload-field.js +1 -1
- package/dist/components/puck-core/fields/index.d.ts +1 -0
- package/dist/components/puck-core/fields/object-field.js +1 -1
- 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
- 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
- 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
- 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
- package/package.json +4 -1
|
@@ -69,39 +69,39 @@ const CssMarqueeBanner = (props) => {
|
|
|
69
69
|
};
|
|
70
70
|
const CssMarqueeBannerDefaults = {
|
|
71
71
|
headings: [
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
72
|
+
"Brand Name",
|
|
73
|
+
"Brand Name",
|
|
74
|
+
"Brand Name",
|
|
75
|
+
"Brand Name",
|
|
76
|
+
"Brand Name"
|
|
77
77
|
],
|
|
78
78
|
sections: [
|
|
79
79
|
{
|
|
80
|
-
title: "
|
|
80
|
+
title: "Brand Name",
|
|
81
81
|
image: {
|
|
82
82
|
src: "https://picsum.photos/seed/banner-marquee-1/400/267",
|
|
83
|
-
alt: "
|
|
83
|
+
alt: "Brand Name"
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
{
|
|
87
|
-
title: "
|
|
87
|
+
title: "Brand Name",
|
|
88
88
|
image: {
|
|
89
89
|
src: "https://picsum.photos/seed/banner-marquee-2/400/267",
|
|
90
|
-
alt: "
|
|
90
|
+
alt: "Brand Name"
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
|
-
title: "
|
|
94
|
+
title: "Brand Name",
|
|
95
95
|
image: {
|
|
96
96
|
src: "https://picsum.photos/seed/banner-marquee-3/400/267",
|
|
97
|
-
alt: "
|
|
97
|
+
alt: "Brand Name"
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
|
-
title: "
|
|
101
|
+
title: "Brand Name",
|
|
102
102
|
image: {
|
|
103
103
|
src: "https://picsum.photos/seed/banner-marquee-4/400/267",
|
|
104
|
-
alt: "
|
|
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: "
|
|
76
|
-
{ title: "
|
|
77
|
-
{ title: "
|
|
78
|
-
{ title: "
|
|
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: "
|
|
82
|
-
{ title: "
|
|
83
|
-
{ title: "
|
|
84
|
-
{ title: "
|
|
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 {
|
package/dist/components/puck-block/banner-sections/scroll-driven-marquee/scroll-driven-marquee.js
CHANGED
|
@@ -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
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
43
|
+
"Brand Name",
|
|
44
|
+
"Brand Name",
|
|
45
|
+
"Brand Name",
|
|
46
|
+
"Brand Name",
|
|
47
|
+
"Brand Name"
|
|
46
48
|
]
|
|
47
49
|
};
|
|
48
50
|
export {
|
package/dist/components/puck-block/banner-sections/scroll-parallax-text/scroll-parallax-text.js
CHANGED
|
@@ -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
|
}),
|
package/dist/components/puck-block/contact-sections/contact-cards-grid/contact-cards-grid.js
CHANGED
|
@@ -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@
|
|
83
|
+
link: { label: "hello@example.com", action: { type: "email", email: "hello@example.com" } }
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
86
|
icon: "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@
|
|
157
|
+
link: { label: "hello@example.com", action: { type: "email", email: "hello@example.com" } }
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
icon: "phone",
|
package/dist/components/puck-block/contact-sections/header-info-fullwidth/header-info-fullwidth.js
CHANGED
|
@@ -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: "
|
|
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@
|
|
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: "
|
|
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@
|
|
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@
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
191
|
+
alt: "Placeholder image 4"
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
],
|
|
@@ -130,11 +130,11 @@ const TextBlockCtaDefaults = {
|
|
|
130
130
|
images: [
|
|
131
131
|
{
|
|
132
132
|
src: "https://picsum.photos/seed/cta-bg/1920/1080",
|
|
133
|
-
alt: "
|
|
133
|
+
alt: "Placeholder image"
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
136
|
src: "https://picsum.photos/seed/cta-bottom/1200/600",
|
|
137
|
-
alt: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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 {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
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: [
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
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
|
};
|