dune-react 0.0.21 → 0.0.22
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/index.d.ts +1 -0
- package/dist/components/puck-base/button.d.ts +1 -1
- package/dist/components/puck-base/button.js +5 -6
- package/dist/components/puck-base/card.d.ts +1 -1
- package/dist/components/puck-base/container.js +1 -1
- package/dist/components/puck-base/content.d.ts +1 -1
- package/dist/components/puck-base/image.js +16 -16
- package/dist/components/puck-base/index.d.ts +1 -13
- package/dist/components/puck-block/banner-sections/dismissible-banner/index.d.ts +3 -25
- package/dist/components/puck-block/contact-sections/centered-form/index.d.ts +1 -1
- package/dist/components/puck-block/contact-sections/contact-modal/contact-modal.js +1 -1
- package/dist/components/puck-block/contact-sections/contact-modal/index.d.ts +1 -1
- package/dist/components/puck-block/contact-sections/form-with-media/index.d.ts +1 -1
- package/dist/components/puck-block/contact-sections/header-form-cards/index.d.ts +1 -1
- package/dist/components/puck-block/contact-sections/location-cards-grid/index.d.ts +1 -1
- package/dist/components/puck-block/contact-sections/split-info-form/index.d.ts +1 -1
- package/dist/components/puck-block/cta-sections/feature-card-cta/index.d.ts +1 -1
- package/dist/components/puck-block/cta-sections/index.d.ts +2 -0
- package/dist/components/puck-block/cta-sections/mouse-track-cta/index.d.ts +1 -1
- package/dist/components/puck-block/cta-sections/mouse-track-cta/mouse-track-cta.js +88 -59
- package/dist/components/puck-block/cta-sections/props.js +46 -0
- package/dist/components/puck-block/cta-sections/side-media-cta/index.d.ts +1 -73
- package/dist/components/puck-block/cta-sections/side-media-cta/index.js +35 -0
- package/dist/components/puck-block/cta-sections/side-media-cta/side-media-cta.js +84 -0
- package/dist/components/puck-block/cta-sections/text-block-cta/index.d.ts +2 -74
- package/dist/components/puck-block/cta-sections/text-block-cta/index.js +38 -0
- package/dist/components/puck-block/cta-sections/text-block-cta/text-block-cta.d.ts +1 -1
- package/dist/components/puck-block/cta-sections/text-block-cta/text-block-cta.js +165 -0
- package/dist/components/puck-block/faq-sections/dual-column-accordion-faq/index.d.ts +1 -1
- package/dist/components/puck-block/faq-sections/icon-card-faq/index.d.ts +1 -1
- package/dist/components/puck-block/faq-sections/stacked-accordion-faq/index.d.ts +1 -1
- package/dist/components/puck-block/faq-sections/stacked-static-faq/index.d.ts +1 -1
- package/dist/components/puck-block/faq-sections/two-column-accordion-faq/index.d.ts +1 -1
- package/dist/components/puck-block/faq-sections/two-column-static-faq/index.d.ts +1 -1
- package/dist/components/puck-block/feature-sections/feature-cards-grid/index.d.ts +2 -2
- package/dist/components/puck-block/feature-sections/feature-list-split/index.d.ts +2 -2
- package/dist/components/puck-block/feature-sections/tab-feature/component.js +77 -61
- package/dist/components/puck-block/feature-sections/text-media-split/index.d.ts +1 -1
- package/dist/components/puck-block/feature-sections/text-only-section/index.d.ts +1 -1
- package/dist/components/puck-block/footer-sections/compact-newsletter-footer/index.d.ts +1 -1
- package/dist/components/puck-block/footer-sections/cta-links-footer/index.d.ts +1 -1
- package/dist/components/puck-block/footer-sections/links-newsletter-footer/index.d.ts +1 -1
- package/dist/components/puck-block/footer-sections/newsletter-links-footer/index.d.ts +1 -1
- package/dist/components/puck-block/footer-sections/newsletter-top-links-footer/index.d.ts +1 -1
- package/dist/components/puck-block/gallery-sections/fullscreen-portfolio/index.d.ts +25 -28
- package/dist/components/puck-block/gallery-sections/fullscreen-portfolio/index.js +3 -2
- package/dist/components/puck-block/gallery-sections/portfolio-cards/index.d.ts +2 -2
- package/dist/components/puck-block/gallery-sections/portfolio-divider/index.d.ts +2 -2
- package/dist/components/puck-block/gallery-sections/portfolio-divider/portfolio-divider.js +67 -64
- package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/index.d.ts +24 -27
- package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/index.js +3 -2
- package/dist/components/puck-block/header-sections/centered-navbar/index.d.ts +1 -1
- package/dist/components/puck-block/header-sections/drawer-navbar/drawer-navbar.js +118 -17
- package/dist/components/puck-block/header-sections/drawer-navbar/index.d.ts +1 -1
- package/dist/components/puck-block/header-sections/floating-bordered-navbar/floating-bordered-navbar.js +161 -22
- package/dist/components/puck-block/header-sections/floating-bordered-navbar/index.d.ts +1 -1
- package/dist/components/puck-block/header-sections/fullscreen-overlay-navbar/fullscreen-overlay-navbar.js +142 -19
- package/dist/components/puck-block/header-sections/fullscreen-overlay-navbar/index.d.ts +1 -1
- package/dist/components/puck-block/header-sections/mega-menu-navbar/index.d.ts +1 -1
- package/dist/components/puck-block/header-sections/standard-navbar/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/carousel-hero/component.js +50 -9
- package/dist/components/puck-block/hero-sections/carousel-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/centered-hero/index.d.ts +2 -2
- package/dist/components/puck-block/hero-sections/column-scroll-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/dual-marquee-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/fullscreen-hero/index.d.ts +2 -2
- package/dist/components/puck-block/hero-sections/fullscreen-video-hero/component.js +4 -2
- package/dist/components/puck-block/hero-sections/fullscreen-video-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/grid-expand-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/horizontal-marquee-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/inline-image-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/media-text-hero/index.d.ts +26 -29
- package/dist/components/puck-block/hero-sections/mouse-track-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/multi-image-grid-hero/index.d.ts +25 -28
- package/dist/components/puck-block/hero-sections/multi-image-grid-hero/index.js +3 -2
- package/dist/components/puck-block/hero-sections/overlapping-image-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/parallax-images-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/scatter-parallax-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/scroll-expand-video-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/scroll-zoom-hero/component.js +91 -44
- package/dist/components/puck-block/hero-sections/scroll-zoom-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/split-hero/index.d.ts +2 -2
- package/dist/components/puck-block/hero-sections/stacked-hero/index.d.ts +2 -2
- package/dist/components/puck-block/hero-sections/sticky-expand-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/sticky-video-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/tab-hero/index.d.ts +28 -44
- package/dist/components/puck-block/hero-sections/tab-hero/index.js +7 -2
- package/dist/components/puck-block/hero-sections/three-image-parallax-hero/component.js +93 -43
- package/dist/components/puck-block/hero-sections/three-image-parallax-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/vertical-gallery-hero/component.js +27 -4
- package/dist/components/puck-block/hero-sections/vertical-gallery-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/zoom-grid-hero/index.d.ts +1 -1
- package/dist/components/puck-block/index.d.ts +2 -0
- package/dist/components/puck-block/location-sections/location-1/location.d.ts +1 -1
- package/dist/components/puck-block/location-sections/location-2/location.d.ts +1 -1
- package/dist/components/puck-block/location-sections/location-3/location.d.ts +2 -2
- package/dist/components/puck-block/location-sections/props.d.ts +1 -1
- package/dist/components/puck-block/metrics-sections/header-stats-row/index.d.ts +1 -1
- package/dist/components/puck-block/metrics-sections/mixed-grid-stats/index.d.ts +1 -1
- package/dist/components/puck-block/metrics-sections/split-stats/index.d.ts +1 -1
- package/dist/components/puck-block/metrics-sections/tab-stats/index.d.ts +0 -22
- package/dist/components/puck-block/metrics-sections/tab-stats/index.js +1 -1
- package/dist/components/puck-block/metrics-sections/tab-stats/tab-stats.js +36 -23
- package/dist/components/puck-block/pricing-sections/single-pricing-card/index.d.ts +0 -22
- package/dist/components/puck-block/pricing-sections/single-pricing-card/index.js +1 -1
- package/dist/components/puck-block/pricing-sections/split-pricing/index.d.ts +28 -22
- package/dist/components/puck-block/pricing-sections/split-pricing/index.js +8 -1
- package/dist/components/puck-block/registry.generated.d.ts +13141 -0
- package/dist/components/puck-block/registry.generated.js +558 -0
- package/dist/components/puck-block/showcase-sections/compact-timeline/index.d.ts +1 -1
- package/dist/components/puck-block/showcase-sections/horizontal-timeline/index.d.ts +1 -1
- package/dist/components/puck-block/showcase-sections/single-column-timeline/index.d.ts +2 -2
- package/dist/components/puck-block/showcase-sections/sticky-scroll-timeline/index.d.ts +2 -2
- package/dist/components/puck-block/showcase-sections/tab-timeline/index.d.ts +1 -23
- package/dist/components/puck-block/showcase-sections/tab-timeline/index.js +1 -1
- package/dist/components/puck-block/showcase-sections/zigzag-timeline/index.d.ts +2 -2
- package/dist/components/puck-block/team-sections/team-carousel/index.d.ts +1 -23
- package/dist/components/puck-block/team-sections/team-carousel/index.js +1 -2
- package/dist/components/puck-block/team-sections/team-grid/index.d.ts +1 -23
- package/dist/components/puck-block/team-sections/team-grid/index.js +1 -2
- package/dist/components/puck-block/team-sections/team-inline-card/index.d.ts +1 -23
- package/dist/components/puck-block/team-sections/team-inline-card/index.js +1 -2
- package/dist/components/puck-block/team-sections/team-two-column/index.d.ts +1 -1
- package/dist/components/puck-block/testimonial-sections/sticky-testimonial/index.d.ts +1 -1
- package/dist/components/puck-block/text-sections/aside-nav-content/index.d.ts +0 -22
- package/dist/components/puck-block/text-sections/aside-nav-content/index.js +1 -1
- package/dist/components/puck-block/text-sections/blog-article/index.d.ts +0 -22
- package/dist/components/puck-block/text-sections/blog-article/index.js +1 -1
- package/dist/components/puck-block/text-sections/prose-sidebar/index.d.ts +1 -23
- package/dist/components/puck-block/text-sections/text-header/index.d.ts +2 -2
- package/dist/components/puck-core/core/props/content.js +41 -1
- package/dist/components/puck-core/core/props/form.js +76 -0
- package/dist/components/puck-core/core/props/index.js +34 -0
- package/dist/components/puck-core/core/props/interactive.js +17 -0
- package/dist/components/puck-core/core/props/media.js +8 -4
- package/dist/components/puck-core/core/styles.d.ts +1 -1
- package/dist/components/{puck-base → puck-core}/core/styles.js +3 -1
- package/dist/components/{puck-base → puck-core}/core/with-editable.js +1 -1
- package/dist/components/puck-core/fields/action-field.js +1 -1
- package/dist/components/{puck-base → puck-core/fields}/image-upload-field.js +4 -4
- package/dist/components/{puck-base → puck-core}/fields/location-field.js +1 -1
- package/dist/components/puck-core/index.d.ts +1 -0
- package/dist/components/{puck-base → puck-core}/inline-editable.js +1 -1
- package/dist/index.js +121 -104
- package/package.json +1 -1
- package/dist/components/puck-base/core/fields.d.ts +0 -827
- package/dist/components/puck-base/core/fields.js +0 -267
- package/dist/components/puck-base/core/hooks.d.ts +0 -19
- package/dist/components/puck-base/core/icon-catalog.d.ts +0 -14
- package/dist/components/puck-base/core/icon-catalog.js +0 -193
- package/dist/components/puck-base/core/styles.d.ts +0 -1942
- package/dist/components/puck-base/core/types.d.ts +0 -20
- package/dist/components/puck-base/core/types.js +0 -26
- package/dist/components/puck-base/core/utils.d.ts +0 -5
- package/dist/components/puck-base/core/with-editable.d.ts +0 -16
- package/dist/components/puck-base/error-boundary.d.ts +0 -4
- package/dist/components/puck-base/fields/action-field.d.ts +0 -30
- package/dist/components/puck-base/fields/action-field.js +0 -265
- package/dist/components/puck-base/fields/auto-field.d.ts +0 -2
- package/dist/components/puck-base/fields/color-field.d.ts +0 -6
- package/dist/components/puck-base/fields/index.d.ts +0 -8
- package/dist/components/puck-base/fields/location-field.d.ts +0 -44
- package/dist/components/puck-base/fields/object-field.d.ts +0 -8
- package/dist/components/puck-base/fields/radio-toggle-field.d.ts +0 -10
- package/dist/components/puck-base/fields/types.d.ts +0 -29
- package/dist/components/puck-base/fields/virtualized-select-field.d.ts +0 -13
- package/dist/components/puck-base/icon-picker-field.d.ts +0 -8
- package/dist/components/puck-base/icon-picker-field.js +0 -153
- package/dist/components/puck-base/image-upload-field.d.ts +0 -7
- package/dist/components/puck-base/inline-editable.d.ts +0 -14
- package/dist/components/puck-base/use-upload.d.ts +0 -42
- /package/dist/components/{puck-base → puck-core}/core/hooks.js +0 -0
- /package/dist/components/{puck-base → puck-core}/core/utils.js +0 -0
- /package/dist/components/{puck-base → puck-core}/error-boundary.js +0 -0
- /package/dist/components/{puck-base → puck-core}/fields/auto-field.js +0 -0
- /package/dist/components/{puck-base → puck-core}/fields/color-field.js +0 -0
- /package/dist/components/{puck-base → puck-core}/fields/object-field.js +0 -0
- /package/dist/components/{puck-base → puck-core}/fields/radio-toggle-field.js +0 -0
- /package/dist/components/{puck-base → puck-core}/fields/virtualized-select-field.js +0 -0
- /package/dist/components/{puck-base → puck-core}/use-upload.js +0 -0
|
@@ -9,47 +9,51 @@ import { CgSpinner } from "../../../../node_modules/.pnpm/react-icons@5.6.0_reac
|
|
|
9
9
|
import { cn } from "../../../../utils/css-utils.js";
|
|
10
10
|
import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
|
|
11
11
|
const TabFeature = (props) => {
|
|
12
|
-
const {
|
|
12
|
+
const {
|
|
13
|
+
defaultTabValue,
|
|
14
|
+
tabs = [],
|
|
15
|
+
styles
|
|
16
|
+
} = {
|
|
13
17
|
...TabFeatureDefaults,
|
|
14
18
|
...props
|
|
15
19
|
};
|
|
16
|
-
const {
|
|
20
|
+
const {
|
|
21
|
+
className: sectionClassName,
|
|
22
|
+
style: sectionStyle,
|
|
23
|
+
css
|
|
24
|
+
} = styles ?? {};
|
|
17
25
|
const [isIframeLoaded, setIsIframeLoaded] = useState(false);
|
|
18
|
-
return /* @__PURE__ */ jsx(
|
|
19
|
-
|
|
26
|
+
return /* @__PURE__ */ jsx(
|
|
27
|
+
SectionWrapper,
|
|
20
28
|
{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
),
|
|
50
|
-
tab.videoUrl && tab.image && /* @__PURE__ */ jsxs(Dialog, { children: [
|
|
51
|
-
/* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxs("button", { className: "relative flex w-full items-center justify-center", children: [
|
|
52
|
-
/* @__PURE__ */ jsx(
|
|
29
|
+
className: cn("px-[5%] py-8 md:py-12 lg:py-14", sectionClassName),
|
|
30
|
+
style: sectionStyle,
|
|
31
|
+
css,
|
|
32
|
+
children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs(
|
|
33
|
+
Tabs,
|
|
34
|
+
{
|
|
35
|
+
defaultValue: defaultTabValue,
|
|
36
|
+
className: "grid grid-cols-1 items-center gap-y-12 md:grid-cols-2 md:gap-x-12 lg:gap-x-20",
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ jsx(TabsList, { className: "col-start-1 col-end-2 row-start-1 row-end-2 h-full! w-full! grid grid-cols-1 items-center gap-x-4 gap-y-4", children: tabs.map((tab) => /* @__PURE__ */ jsxs(
|
|
39
|
+
TabsTrigger,
|
|
40
|
+
{
|
|
41
|
+
value: tab.value,
|
|
42
|
+
className: "flex-col items-start justify-start whitespace-normal border-0 border-l-2 border-transparent py-2 px-2 pr-0 text-left data-[state=active]:border-black data-[state=active]:bg-transparent data-[state=active]:text-text-primary",
|
|
43
|
+
children: [
|
|
44
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-3 text-2xl font-bold md:mb-2 md:text-3xl md:leading-[1.3] lg:text-4xl", children: tab.heading }),
|
|
45
|
+
/* @__PURE__ */ jsx("p", { children: tab.description })
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
tab.value
|
|
49
|
+
)) }),
|
|
50
|
+
/* @__PURE__ */ jsx("div", { className: "size-full flex items-center justify-center overflow-hidden", children: tabs.map((tab) => /* @__PURE__ */ jsxs(
|
|
51
|
+
TabsContent,
|
|
52
|
+
{
|
|
53
|
+
value: tab.value,
|
|
54
|
+
className: "data-[state=active]:animate-tabs",
|
|
55
|
+
children: [
|
|
56
|
+
tab.image && !tab.videoUrl && /* @__PURE__ */ jsx(
|
|
53
57
|
CompoundImage,
|
|
54
58
|
{
|
|
55
59
|
src: tab.image.src,
|
|
@@ -57,33 +61,45 @@ const TabFeature = (props) => {
|
|
|
57
61
|
className: "size-full object-cover"
|
|
58
62
|
}
|
|
59
63
|
),
|
|
60
|
-
/* @__PURE__ */
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"z-0 mx-auto aspect-video size-full md:w-[738px] lg:w-[940px]",
|
|
70
|
-
{ visible: isIframeLoaded, hidden: !isIframeLoaded }
|
|
64
|
+
tab.videoUrl && tab.image && /* @__PURE__ */ jsxs(Dialog, { children: [
|
|
65
|
+
/* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxs("button", { className: "relative flex w-full items-center justify-center", children: [
|
|
66
|
+
/* @__PURE__ */ jsx(
|
|
67
|
+
CompoundImage,
|
|
68
|
+
{
|
|
69
|
+
src: tab.image.src,
|
|
70
|
+
alt: tab.image.alt,
|
|
71
|
+
className: "size-full object-cover"
|
|
72
|
+
}
|
|
71
73
|
),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
74
|
+
/* @__PURE__ */ jsx(FaCirclePlay, { className: "absolute z-20 size-16 text-white" }),
|
|
75
|
+
/* @__PURE__ */ jsx("span", { className: "absolute inset-0 z-10 bg-black/50" })
|
|
76
|
+
] }) }),
|
|
77
|
+
/* @__PURE__ */ jsxs(DialogContent, { children: [
|
|
78
|
+
!isIframeLoaded && /* @__PURE__ */ jsx(CgSpinner, { className: "mx-auto size-16 animate-spin text-white" }),
|
|
79
|
+
/* @__PURE__ */ jsx(
|
|
80
|
+
"iframe",
|
|
81
|
+
{
|
|
82
|
+
className: cn(
|
|
83
|
+
"z-0 mx-auto aspect-video size-full md:w-[738px] lg:w-[940px]",
|
|
84
|
+
{ visible: isIframeLoaded, hidden: !isIframeLoaded }
|
|
85
|
+
),
|
|
86
|
+
src: tab.videoUrl,
|
|
87
|
+
allow: "autoplay; encrypted-media; picture-in-picture",
|
|
88
|
+
allowFullScreen: true,
|
|
89
|
+
onLoad: () => setIsIframeLoaded(true)
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
] })
|
|
93
|
+
] })
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
tab.value
|
|
97
|
+
)) })
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
) })
|
|
85
101
|
}
|
|
86
|
-
)
|
|
102
|
+
);
|
|
87
103
|
};
|
|
88
104
|
const TabFeatureDefaults = {
|
|
89
105
|
defaultTabValue: "tab-1",
|
|
@@ -35,7 +35,7 @@ declare const conf: {
|
|
|
35
35
|
readonly action: {
|
|
36
36
|
type: "custom";
|
|
37
37
|
label: string;
|
|
38
|
-
render: typeof import("
|
|
38
|
+
render: typeof import("../../..").ActionField;
|
|
39
39
|
};
|
|
40
40
|
readonly variant: {
|
|
41
41
|
readonly type: "select";
|
|
@@ -87,38 +87,35 @@ declare const conf: {
|
|
|
87
87
|
type: string;
|
|
88
88
|
label: string;
|
|
89
89
|
objectFields: {
|
|
90
|
+
className: {
|
|
91
|
+
readonly type: "text";
|
|
92
|
+
readonly label: "Class Name";
|
|
93
|
+
readonly ai: {
|
|
94
|
+
readonly instructions: "Additional Tailwind CSS classes to apply to the section wrapper.";
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
style: {
|
|
98
|
+
readonly type: "object";
|
|
99
|
+
readonly label: "Style";
|
|
100
|
+
readonly objectFields: {};
|
|
101
|
+
readonly ai: {
|
|
102
|
+
readonly instructions: "Inline CSSProperties object for the section wrapper, e.g. { backgroundColor: 'red', minHeight: '100vh' }.";
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
css: {
|
|
106
|
+
readonly type: "textarea";
|
|
107
|
+
readonly label: "Custom CSS";
|
|
108
|
+
readonly ai: {
|
|
109
|
+
readonly instructions: "Custom CSS rules. Use & as a placeholder for the section selector.";
|
|
110
|
+
};
|
|
111
|
+
};
|
|
90
112
|
animation: {
|
|
91
113
|
type: "radio";
|
|
92
114
|
label: string;
|
|
93
|
-
options:
|
|
94
|
-
className: {
|
|
95
|
-
readonly type: "text";
|
|
96
|
-
readonly label: "Class Name";
|
|
97
|
-
readonly ai: {
|
|
98
|
-
readonly instructions: "Additional Tailwind CSS classes to apply to the section wrapper.";
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
style: {
|
|
102
|
-
readonly type: "object";
|
|
103
|
-
readonly label: "Style";
|
|
104
|
-
readonly objectFields: {};
|
|
105
|
-
readonly ai: {
|
|
106
|
-
readonly instructions: "Inline CSSProperties object for the section wrapper, e.g. { backgroundColor: 'red', minHeight: '100vh' }.";
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
css: {
|
|
110
|
-
readonly type: "textarea";
|
|
111
|
-
readonly label: "Custom CSS";
|
|
112
|
-
readonly ai: {
|
|
113
|
-
readonly instructions: "Custom CSS rules. Use & as a placeholder for the section selector.";
|
|
114
|
-
};
|
|
115
|
-
};
|
|
116
|
-
label: string;
|
|
117
|
-
value: string;
|
|
118
|
-
} | {
|
|
115
|
+
options: {
|
|
119
116
|
label: string;
|
|
120
117
|
value: string;
|
|
121
|
-
}
|
|
118
|
+
}[];
|
|
122
119
|
};
|
|
123
120
|
};
|
|
124
121
|
};
|
|
@@ -23,10 +23,11 @@ const conf = {
|
|
|
23
23
|
type: "radio",
|
|
24
24
|
label: "Animation",
|
|
25
25
|
options: [
|
|
26
|
-
{ label: "Sticky Stack", value: "sticky-stack"
|
|
26
|
+
{ label: "Sticky Stack", value: "sticky-stack" },
|
|
27
27
|
{ label: "Scroll Fade", value: "scroll-fade" }
|
|
28
28
|
]
|
|
29
|
-
}
|
|
29
|
+
},
|
|
30
|
+
...sectionWrapperFields
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
},
|
|
@@ -24,7 +24,7 @@ declare const conf: {
|
|
|
24
24
|
readonly action: {
|
|
25
25
|
type: "custom";
|
|
26
26
|
label: string;
|
|
27
|
-
render: typeof import("
|
|
27
|
+
render: typeof import("../../..").ActionField;
|
|
28
28
|
};
|
|
29
29
|
readonly variant: {
|
|
30
30
|
readonly type: "select";
|
|
@@ -104,7 +104,7 @@ declare const conf: {
|
|
|
104
104
|
readonly action: {
|
|
105
105
|
type: "custom";
|
|
106
106
|
label: string;
|
|
107
|
-
render: typeof import("
|
|
107
|
+
render: typeof import("../../..").ActionField;
|
|
108
108
|
};
|
|
109
109
|
readonly variant: {
|
|
110
110
|
readonly type: "select";
|
|
@@ -24,7 +24,7 @@ declare const conf: {
|
|
|
24
24
|
readonly action: {
|
|
25
25
|
type: "custom";
|
|
26
26
|
label: string;
|
|
27
|
-
render: typeof import("
|
|
27
|
+
render: typeof import("../../..").ActionField;
|
|
28
28
|
};
|
|
29
29
|
readonly variant: {
|
|
30
30
|
readonly type: "select";
|
|
@@ -104,7 +104,7 @@ declare const conf: {
|
|
|
104
104
|
readonly action: {
|
|
105
105
|
type: "custom";
|
|
106
106
|
label: string;
|
|
107
|
-
render: typeof import("
|
|
107
|
+
render: typeof import("../../..").ActionField;
|
|
108
108
|
};
|
|
109
109
|
readonly variant: {
|
|
110
110
|
readonly type: "select";
|
|
@@ -10,81 +10,84 @@ const PortfolioDivider = (props) => {
|
|
|
10
10
|
...props
|
|
11
11
|
};
|
|
12
12
|
const { className: sectionClassName, style: sectionStyle, css, mediaPosition = "right" } = styles ?? {};
|
|
13
|
-
const
|
|
13
|
+
const startsLeft = mediaPosition === "left";
|
|
14
14
|
return /* @__PURE__ */ jsx(SectionWrapper, { className: cn("px-[5%] py-8 md:py-12 lg:py-14", sectionClassName), style: sectionStyle, css, children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
|
|
15
15
|
/* @__PURE__ */ jsxs("header", { className: "mb-12 max-w-lg md:mb-18 lg:mb-20", children: [
|
|
16
16
|
/* @__PURE__ */ jsx("p", { className: "mb-3 font-semibold md:mb-4", children: tagline }),
|
|
17
17
|
/* @__PURE__ */ jsx("h2", { className: "mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl", children: heading }),
|
|
18
18
|
/* @__PURE__ */ jsx("p", { className: "md:text-md", children: description })
|
|
19
19
|
] }),
|
|
20
|
-
/* @__PURE__ */ jsx("div", { children: projects.map((project, index) =>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
|
|
29
|
-
className: "w-full object-cover",
|
|
30
|
-
alt: project.image.alt
|
|
31
|
-
}
|
|
32
|
-
) }) }),
|
|
33
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
34
|
-
/* @__PURE__ */ jsx("h3", { className: "mb-2 text-2xl font-bold md:text-3xl md:leading-[1.3] lg:text-4xl", children: /* @__PURE__ */ jsx("a", { href: project.url, children: project.title }) }),
|
|
35
|
-
/* @__PURE__ */ jsx("p", { children: project.description }),
|
|
36
|
-
project.tags && /* @__PURE__ */ jsx("ul", { className: "mt-3 flex flex-wrap gap-2 md:mt-4", children: project.tags.map((tag, tagIndex) => /* @__PURE__ */ jsx("li", { className: "flex", children: /* @__PURE__ */ jsx(
|
|
37
|
-
"a",
|
|
20
|
+
/* @__PURE__ */ jsx("div", { children: projects.map((project, index) => {
|
|
21
|
+
const isMediaLeft = startsLeft ? index % 2 === 0 : index % 2 !== 0;
|
|
22
|
+
return /* @__PURE__ */ jsx(
|
|
23
|
+
"article",
|
|
24
|
+
{
|
|
25
|
+
className: "grid grid-cols-1 items-center gap-x-12 gap-y-6 border-t border-border-primary py-8 md:grid-cols-2 md:gap-y-0 lg:gap-x-[4.9rem] lg:py-12",
|
|
26
|
+
children: isMediaLeft ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
27
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("a", { href: project.url, className: "flex aspect-[4/3] w-full", children: /* @__PURE__ */ jsx(
|
|
28
|
+
CompoundImage,
|
|
38
29
|
{
|
|
39
|
-
|
|
40
|
-
className: "
|
|
41
|
-
|
|
30
|
+
src: project.image.src,
|
|
31
|
+
className: "w-full object-cover",
|
|
32
|
+
alt: project.image.alt
|
|
42
33
|
}
|
|
43
|
-
) }
|
|
44
|
-
/* @__PURE__ */
|
|
45
|
-
|
|
34
|
+
) }) }),
|
|
35
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
36
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-2 text-2xl font-bold md:text-3xl md:leading-[1.3] lg:text-4xl", children: /* @__PURE__ */ jsx("a", { href: project.url, children: project.title }) }),
|
|
37
|
+
/* @__PURE__ */ jsx("p", { children: project.description }),
|
|
38
|
+
project.tags && /* @__PURE__ */ jsx("ul", { className: "mt-3 flex flex-wrap gap-2 md:mt-4", children: project.tags.map((tag, tagIndex) => /* @__PURE__ */ jsx("li", { className: "flex", children: /* @__PURE__ */ jsx(
|
|
39
|
+
"a",
|
|
40
|
+
{
|
|
41
|
+
href: tag.url,
|
|
42
|
+
className: "bg-background-secondary px-2 py-1 text-sm font-semibold",
|
|
43
|
+
children: tag.label
|
|
44
|
+
}
|
|
45
|
+
) }, tagIndex)) }),
|
|
46
|
+
/* @__PURE__ */ jsx(
|
|
47
|
+
Button,
|
|
48
|
+
{
|
|
49
|
+
variant: project.button.variant,
|
|
50
|
+
size: project.button.size,
|
|
51
|
+
className: "mt-6 md:mt-8",
|
|
52
|
+
children: project.button.label
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
] })
|
|
56
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
57
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
58
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-2 text-2xl font-bold md:text-3xl md:leading-[1.3] lg:text-4xl", children: /* @__PURE__ */ jsx("a", { href: project.url, children: project.title }) }),
|
|
59
|
+
/* @__PURE__ */ jsx("p", { children: project.description }),
|
|
60
|
+
project.tags && /* @__PURE__ */ jsx("ul", { className: "mt-3 flex flex-wrap gap-2 md:mt-4", children: project.tags.map((tag, tagIndex) => /* @__PURE__ */ jsx("li", { className: "flex", children: /* @__PURE__ */ jsx(
|
|
61
|
+
"a",
|
|
62
|
+
{
|
|
63
|
+
href: tag.url,
|
|
64
|
+
className: "bg-background-secondary px-2 py-1 text-sm font-semibold",
|
|
65
|
+
children: tag.label
|
|
66
|
+
}
|
|
67
|
+
) }, tagIndex)) }),
|
|
68
|
+
/* @__PURE__ */ jsx(
|
|
69
|
+
Button,
|
|
70
|
+
{
|
|
71
|
+
variant: project.button.variant,
|
|
72
|
+
size: project.button.size,
|
|
73
|
+
className: "mt-6 md:mt-8",
|
|
74
|
+
children: project.button.label
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
] }),
|
|
78
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("a", { href: project.url, className: "flex aspect-[4/3] w-full", children: /* @__PURE__ */ jsx(
|
|
79
|
+
CompoundImage,
|
|
46
80
|
{
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
children: project.button.label
|
|
81
|
+
src: project.image.src,
|
|
82
|
+
className: "w-full object-cover",
|
|
83
|
+
alt: project.image.alt
|
|
51
84
|
}
|
|
52
|
-
)
|
|
85
|
+
) }) })
|
|
53
86
|
] })
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
project.tags && /* @__PURE__ */ jsx("ul", { className: "mt-3 flex flex-wrap gap-2 md:mt-4", children: project.tags.map((tag, tagIndex) => /* @__PURE__ */ jsx("li", { className: "flex", children: /* @__PURE__ */ jsx(
|
|
59
|
-
"a",
|
|
60
|
-
{
|
|
61
|
-
href: tag.url,
|
|
62
|
-
className: "bg-background-secondary px-2 py-1 text-sm font-semibold",
|
|
63
|
-
children: tag.label
|
|
64
|
-
}
|
|
65
|
-
) }, tagIndex)) }),
|
|
66
|
-
/* @__PURE__ */ jsx(
|
|
67
|
-
Button,
|
|
68
|
-
{
|
|
69
|
-
variant: project.button.variant,
|
|
70
|
-
size: project.button.size,
|
|
71
|
-
className: "mt-6 md:mt-8",
|
|
72
|
-
children: project.button.label
|
|
73
|
-
}
|
|
74
|
-
)
|
|
75
|
-
] }),
|
|
76
|
-
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("a", { href: project.url, className: "flex aspect-[4/3] w-full", children: /* @__PURE__ */ jsx(
|
|
77
|
-
CompoundImage,
|
|
78
|
-
{
|
|
79
|
-
src: project.image.src,
|
|
80
|
-
className: "w-full object-cover",
|
|
81
|
-
alt: project.image.alt
|
|
82
|
-
}
|
|
83
|
-
) }) })
|
|
84
|
-
] })
|
|
85
|
-
},
|
|
86
|
-
index
|
|
87
|
-
)) }),
|
|
87
|
+
},
|
|
88
|
+
index
|
|
89
|
+
);
|
|
90
|
+
}) }),
|
|
88
91
|
/* @__PURE__ */ jsx("footer", { className: "mt-12 flex justify-center md:mt-18 lg:mt-20", children: /* @__PURE__ */ jsx(CompoundButton, { label: button.label, variant: button.variant, size: button.size, action: button.action, icon: button.icon }) })
|
|
89
92
|
] }) });
|
|
90
93
|
};
|
|
@@ -59,38 +59,35 @@ declare const conf: {
|
|
|
59
59
|
type: string;
|
|
60
60
|
label: string;
|
|
61
61
|
objectFields: {
|
|
62
|
+
className: {
|
|
63
|
+
readonly type: "text";
|
|
64
|
+
readonly label: "Class Name";
|
|
65
|
+
readonly ai: {
|
|
66
|
+
readonly instructions: "Additional Tailwind CSS classes to apply to the section wrapper.";
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
style: {
|
|
70
|
+
readonly type: "object";
|
|
71
|
+
readonly label: "Style";
|
|
72
|
+
readonly objectFields: {};
|
|
73
|
+
readonly ai: {
|
|
74
|
+
readonly instructions: "Inline CSSProperties object for the section wrapper, e.g. { backgroundColor: 'red', minHeight: '100vh' }.";
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
css: {
|
|
78
|
+
readonly type: "textarea";
|
|
79
|
+
readonly label: "Custom CSS";
|
|
80
|
+
readonly ai: {
|
|
81
|
+
readonly instructions: "Custom CSS rules. Use & as a placeholder for the section selector.";
|
|
82
|
+
};
|
|
83
|
+
};
|
|
62
84
|
animation: {
|
|
63
85
|
type: "radio";
|
|
64
86
|
label: string;
|
|
65
|
-
options:
|
|
66
|
-
className: {
|
|
67
|
-
readonly type: "text";
|
|
68
|
-
readonly label: "Class Name";
|
|
69
|
-
readonly ai: {
|
|
70
|
-
readonly instructions: "Additional Tailwind CSS classes to apply to the section wrapper.";
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
style: {
|
|
74
|
-
readonly type: "object";
|
|
75
|
-
readonly label: "Style";
|
|
76
|
-
readonly objectFields: {};
|
|
77
|
-
readonly ai: {
|
|
78
|
-
readonly instructions: "Inline CSSProperties object for the section wrapper, e.g. { backgroundColor: 'red', minHeight: '100vh' }.";
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
|
-
css: {
|
|
82
|
-
readonly type: "textarea";
|
|
83
|
-
readonly label: "Custom CSS";
|
|
84
|
-
readonly ai: {
|
|
85
|
-
readonly instructions: "Custom CSS rules. Use & as a placeholder for the section selector.";
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
label: string;
|
|
89
|
-
value: string;
|
|
90
|
-
} | {
|
|
87
|
+
options: {
|
|
91
88
|
label: string;
|
|
92
89
|
value: string;
|
|
93
|
-
}
|
|
90
|
+
}[];
|
|
94
91
|
};
|
|
95
92
|
};
|
|
96
93
|
};
|
|
@@ -24,10 +24,11 @@ const conf = {
|
|
|
24
24
|
type: "radio",
|
|
25
25
|
label: "Animation",
|
|
26
26
|
options: [
|
|
27
|
-
{ label: "Three Image Parallax", value: "threeImageParallax"
|
|
27
|
+
{ label: "Three Image Parallax", value: "threeImageParallax" },
|
|
28
28
|
{ label: "Scale Opacity", value: "scaleOpacity" }
|
|
29
29
|
]
|
|
30
|
-
}
|
|
30
|
+
},
|
|
31
|
+
...sectionWrapperFields
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
},
|