dune-react 0.0.21 → 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/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/css-marquee-banner/css-marquee-banner.js +13 -13
- package/dist/components/puck-block/banner-sections/dismissible-banner/index.d.ts +3 -25
- 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/centered-form/index.d.ts +1 -1
- package/dist/components/puck-block/contact-sections/contact-cards-grid/contact-cards-grid.js +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/form-with-media.js +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/header-form-cards.js +1 -1
- package/dist/components/puck-block/contact-sections/header-form-cards/index.d.ts +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/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/contact-sections/split-info-form/split-info-form.js +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 +92 -63
- 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/component.js +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/component.js +1 -1
- 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 +80 -64
- package/dist/components/puck-block/feature-sections/text-media-split/component.js +1 -1
- 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/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 +42 -1
- 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 +38 -1
- 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 +55 -1
- package/dist/components/puck-block/footer-sections/newsletter-links-footer/index.d.ts +42 -1
- package/dist/components/puck-block/footer-sections/newsletter-top-links-footer/index.d.ts +55 -1
- 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/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/interactive-portfolio/interactive-portfolio.js +1 -1
- package/dist/components/puck-block/gallery-sections/portfolio-cards/index.d.ts +2 -2
- package/dist/components/puck-block/gallery-sections/portfolio-cards/portfolio-cards.js +1 -1
- 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 +68 -65
- 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/index.d.ts +24 -27
- package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/index.js +3 -2
- 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/centered-navbar/index.d.ts +1 -1
- package/dist/components/puck-block/header-sections/drawer-navbar/drawer-navbar.js +119 -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 +162 -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 +143 -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/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/index.d.ts +1 -1
- 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 +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/component.js +8 -8
- 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/component.js +6 -6
- 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 +5 -3
- 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/component.js +26 -17
- 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/component.js +3 -3
- 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/component.js +60 -19
- 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/multi-image-grid-hero/multi-image-grid-hero.js +2 -2
- package/dist/components/puck-block/hero-sections/overlapping-image-hero/index.d.ts +1 -1
- 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/parallax-images-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/scatter-parallax-hero/component.js +9 -7
- 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/component.js +7 -5
- 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 +93 -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/component.js +1 -1
- package/dist/components/puck-block/hero-sections/sticky-expand-hero/index.d.ts +14 -6
- 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/sticky-video-hero/index.d.ts +1 -1
- package/dist/components/puck-block/hero-sections/tab-hero/component.js +4 -4
- 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 +96 -46
- 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 +33 -10
- 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/component.js +14 -12
- 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/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/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/mixed-grid-stats/mixed-grid-stats.js +2 -2
- package/dist/components/puck-block/metrics-sections/split-stats/index.d.ts +1 -1
- package/dist/components/puck-block/metrics-sections/split-stats/split-stats.js +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 +39 -26
- 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/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/component.js +3 -3
- 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 +13408 -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/component.js +1 -1
- 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/bento-testimonial/component.js +2 -2
- package/dist/components/puck-block/testimonial-sections/sticky-testimonial/index.d.ts +1 -1
- package/dist/components/puck-block/testimonial-sections/tab-testimonial/component.js +2 -2
- 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-content/component.js +1 -1
- package/dist/components/puck-block/text-sections/prose-sidebar/index.d.ts +1 -23
- 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-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 +14 -5
- 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-core/fields/array-field.d.ts +7 -0
- package/dist/components/puck-core/fields/array-field.js +229 -0
- package/dist/components/{puck-base → puck-core}/fields/auto-field.js +11 -0
- package/dist/components/{puck-base → puck-core/fields}/image-upload-field.js +5 -5
- package/dist/components/puck-core/fields/index.d.ts +1 -0
- package/dist/components/{puck-base → puck-core}/fields/location-field.js +1 -1
- package/dist/components/{puck-base → puck-core}/fields/object-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/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
- 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/color-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
|
@@ -6,6 +6,7 @@ import { VideoIframe } from "../../../shadcn/video-iframe.js";
|
|
|
6
6
|
import { Dialog, DialogTrigger, DialogContent } from "../../../shadcn/dialog.js";
|
|
7
7
|
import { useMediaQuery } from "../../../../hooks/use-media-query.js";
|
|
8
8
|
import { useScrollContainer } from "../../../../hooks/use-scroll-container.js";
|
|
9
|
+
import { useEditorContext } from "../../../puck-core/core/context/editor-context.js";
|
|
9
10
|
import { CompoundButton } from "../../../puck-base/button.js";
|
|
10
11
|
import { CompoundImage } from "../../../puck-base/image.js";
|
|
11
12
|
import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
|
|
@@ -13,63 +14,111 @@ import { cn } from "../../../../utils/css-utils.js";
|
|
|
13
14
|
import { FaCirclePlay } from "../../../../node_modules/.pnpm/react-icons@5.6.0_react@19.2.4/node_modules/react-icons/fa6/index.js";
|
|
14
15
|
const ScrollZoomHero = (props) => {
|
|
15
16
|
var _a, _b, _c, _d;
|
|
16
|
-
const {
|
|
17
|
+
const {
|
|
18
|
+
heading,
|
|
19
|
+
description,
|
|
20
|
+
buttons,
|
|
21
|
+
images,
|
|
22
|
+
video,
|
|
23
|
+
styles: rawStyles
|
|
24
|
+
} = {
|
|
17
25
|
...ScrollZoomHeroDefaults,
|
|
18
26
|
...props
|
|
19
27
|
};
|
|
20
|
-
const {
|
|
28
|
+
const {
|
|
29
|
+
className: sectionClassName,
|
|
30
|
+
style: sectionStyle,
|
|
31
|
+
css,
|
|
32
|
+
mediaType
|
|
33
|
+
} = rawStyles ?? {};
|
|
34
|
+
const { isEditor } = useEditorContext();
|
|
21
35
|
const isMobile = useMediaQuery("(max-width: 767px)");
|
|
22
36
|
const sectionRef = useRef(null);
|
|
23
37
|
const [scrollContainerRef] = useScrollContainer(sectionRef);
|
|
24
|
-
const { scrollYProgress } = useScroll(
|
|
25
|
-
|
|
38
|
+
const { scrollYProgress } = useScroll({
|
|
39
|
+
target: sectionRef,
|
|
40
|
+
...scrollContainerRef.current ? { container: scrollContainerRef } : {},
|
|
41
|
+
offset: ["start start", "end start"]
|
|
42
|
+
});
|
|
43
|
+
const scaleValue = useTransform(scrollYProgress, [0, 0.25], [0.5, 1]);
|
|
44
|
+
return /* @__PURE__ */ jsx(
|
|
45
|
+
SectionWrapper,
|
|
46
|
+
{
|
|
47
|
+
ref: sectionRef,
|
|
48
|
+
className: cn("relative md:min-h-screen", sectionClassName),
|
|
49
|
+
style: sectionStyle,
|
|
50
|
+
css,
|
|
51
|
+
children: /* @__PURE__ */ jsx("div", { className: "px-[5%] py-8 md:py-12 lg:py-14", children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
|
|
52
|
+
/* @__PURE__ */ jsxs("div", { className: "rb-12 mb-12 grid grid-cols-1 items-start gap-y-5 md:mb-18 md:grid-cols-2 md:gap-x-12 md:gap-y-8 lg:mb-20 lg:gap-x-20 lg:gap-y-16", children: [
|
|
53
|
+
/* @__PURE__ */ jsx("h1", { className: "text-6xl font-bold md:text-9xl lg:text-10xl", children: heading }),
|
|
54
|
+
/* @__PURE__ */ jsxs("div", { className: "mx-[7.5%] self-end md:mt-48", children: [
|
|
55
|
+
/* @__PURE__ */ jsx("p", { className: "md:text-md", children: description }),
|
|
56
|
+
/* @__PURE__ */ jsx("div", { className: "mt-6 flex flex-wrap gap-4 md:mt-8", children: buttons.map((button, index) => /* @__PURE__ */ jsx(
|
|
57
|
+
CompoundButton,
|
|
58
|
+
{
|
|
59
|
+
label: button.label,
|
|
60
|
+
variant: button.variant,
|
|
61
|
+
size: button.size,
|
|
62
|
+
action: button.action,
|
|
63
|
+
icon: button.icon
|
|
64
|
+
},
|
|
65
|
+
index
|
|
66
|
+
)) })
|
|
67
|
+
] })
|
|
68
|
+
] }),
|
|
69
|
+
mediaType === "play" ? /* @__PURE__ */ jsx("div", { className: "flex flex-col items-end justify-center md:h-[60vh] lg:h-[80vh] lg:justify-start", children: /* @__PURE__ */ jsxs(Dialog, { children: [
|
|
70
|
+
/* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
71
|
+
motion.div,
|
|
72
|
+
{
|
|
73
|
+
role: "button",
|
|
74
|
+
tabIndex: 0,
|
|
75
|
+
className: "relative flex size-full cursor-pointer origin-top-right items-center justify-center",
|
|
76
|
+
style: { scale: isMobile || isEditor ? 1 : scaleValue },
|
|
77
|
+
children: [
|
|
78
|
+
/* @__PURE__ */ jsx(
|
|
79
|
+
CompoundImage,
|
|
80
|
+
{
|
|
81
|
+
src: ((_a = images == null ? void 0 : images[0]) == null ? void 0 : _a.src) ?? "",
|
|
82
|
+
alt: ((_b = images == null ? void 0 : images[0]) == null ? void 0 : _b.alt) ?? "",
|
|
83
|
+
className: "size-full object-cover"
|
|
84
|
+
}
|
|
85
|
+
),
|
|
86
|
+
/* @__PURE__ */ jsx(FaCirclePlay, { className: "absolute z-20 size-16 text-white" }),
|
|
87
|
+
/* @__PURE__ */ jsx("span", { className: "absolute inset-0 z-10 bg-black/50" })
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
) }),
|
|
91
|
+
/* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsx(VideoIframe, { video }) })
|
|
92
|
+
] }) }) : /* @__PURE__ */ jsx(
|
|
93
|
+
motion.div,
|
|
94
|
+
{
|
|
95
|
+
className: "flex origin-top-right flex-col items-end justify-center md:h-[60vh] lg:h-[80vh] lg:justify-start",
|
|
96
|
+
style: { scale: isMobile || isEditor ? 1 : scaleValue },
|
|
97
|
+
children: /* @__PURE__ */ jsx(
|
|
98
|
+
CompoundImage,
|
|
99
|
+
{
|
|
100
|
+
src: ((_c = images == null ? void 0 : images[0]) == null ? void 0 : _c.src) ?? "",
|
|
101
|
+
alt: ((_d = images == null ? void 0 : images[0]) == null ? void 0 : _d.alt) ?? "",
|
|
102
|
+
className: "size-full object-cover"
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
] }) })
|
|
108
|
+
}
|
|
26
109
|
);
|
|
27
|
-
const scaleValue = useTransform(
|
|
28
|
-
scrollYProgress,
|
|
29
|
-
mediaType === "play" ? [0, 0.3] : [0, 0.5],
|
|
30
|
-
[0.5, 1]
|
|
31
|
-
);
|
|
32
|
-
return /* @__PURE__ */ jsx(SectionWrapper, { ref: sectionRef, className: cn("relative md:min-h-screen", sectionClassName), style: sectionStyle, css, children: /* @__PURE__ */ jsx("div", { className: "px-[5%] py-8 md:py-12 lg:py-14", children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
|
|
33
|
-
/* @__PURE__ */ jsxs("div", { className: "rb-12 mb-12 grid grid-cols-1 items-start gap-y-5 md:mb-18 md:grid-cols-2 md:gap-x-12 md:gap-y-8 lg:mb-20 lg:gap-x-20 lg:gap-y-16", children: [
|
|
34
|
-
/* @__PURE__ */ jsx("h1", { className: "text-6xl font-bold md:text-9xl lg:text-10xl", children: heading }),
|
|
35
|
-
/* @__PURE__ */ jsxs("div", { className: "mx-[7.5%] self-end md:mt-48", children: [
|
|
36
|
-
/* @__PURE__ */ jsx("p", { className: "md:text-md", children: description }),
|
|
37
|
-
/* @__PURE__ */ jsx("div", { className: "mt-6 flex flex-wrap gap-4 md:mt-8", children: buttons.map((button, index) => /* @__PURE__ */ jsx(CompoundButton, { label: button.label, variant: button.variant, size: button.size, action: button.action, icon: button.icon }, index)) })
|
|
38
|
-
] })
|
|
39
|
-
] }),
|
|
40
|
-
mediaType === "play" ? /* @__PURE__ */ jsx("div", { className: "flex flex-col items-end justify-center md:h-[60vh] lg:h-[80vh] lg:justify-start", children: /* @__PURE__ */ jsxs(Dialog, { children: [
|
|
41
|
-
/* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
42
|
-
motion.button,
|
|
43
|
-
{
|
|
44
|
-
className: "relative flex size-full origin-top-right items-center justify-center",
|
|
45
|
-
style: { scale: isMobile ? 1 : scaleValue },
|
|
46
|
-
children: [
|
|
47
|
-
/* @__PURE__ */ jsx(CompoundImage, { src: ((_a = images == null ? void 0 : images[0]) == null ? void 0 : _a.src) ?? "", alt: ((_b = images == null ? void 0 : images[0]) == null ? void 0 : _b.alt) ?? "", className: "size-full object-cover" }),
|
|
48
|
-
/* @__PURE__ */ jsx(FaCirclePlay, { className: "absolute z-20 size-16 text-white" }),
|
|
49
|
-
/* @__PURE__ */ jsx("span", { className: "absolute inset-0 z-10 bg-black/50" })
|
|
50
|
-
]
|
|
51
|
-
}
|
|
52
|
-
) }),
|
|
53
|
-
/* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsx(VideoIframe, { video }) })
|
|
54
|
-
] }) }) : /* @__PURE__ */ jsx(
|
|
55
|
-
motion.div,
|
|
56
|
-
{
|
|
57
|
-
className: "flex origin-top-right flex-col items-end justify-center md:h-[60vh] lg:h-[80vh] lg:justify-start",
|
|
58
|
-
style: { scale: isMobile ? 1 : scaleValue },
|
|
59
|
-
children: /* @__PURE__ */ jsx(CompoundImage, { src: ((_c = images == null ? void 0 : images[0]) == null ? void 0 : _c.src) ?? "", alt: ((_d = images == null ? void 0 : images[0]) == null ? void 0 : _d.alt) ?? "", className: "size-full object-cover" })
|
|
60
|
-
}
|
|
61
|
-
)
|
|
62
|
-
] }) }) });
|
|
63
110
|
};
|
|
64
111
|
const ScrollZoomHeroDefaults = {
|
|
65
112
|
heading: "Medium length hero heading goes here",
|
|
66
113
|
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.",
|
|
67
114
|
buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
|
|
68
115
|
video: "https://www.youtube.com/embed/8DKLYsikxTs?si=Ch9W0KrDWWUiCMMW",
|
|
69
|
-
images: [
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
116
|
+
images: [
|
|
117
|
+
{
|
|
118
|
+
src: "https://picsum.photos/seed/hero-video/1200/800",
|
|
119
|
+
alt: "Placeholder image"
|
|
120
|
+
}
|
|
121
|
+
],
|
|
73
122
|
styles: {
|
|
74
123
|
mediaType: "play"
|
|
75
124
|
}
|
|
@@ -25,7 +25,7 @@ declare const conf: {
|
|
|
25
25
|
readonly action: {
|
|
26
26
|
type: "custom";
|
|
27
27
|
label: string;
|
|
28
|
-
render: typeof import("
|
|
28
|
+
render: typeof import("../../..").ActionField;
|
|
29
29
|
};
|
|
30
30
|
readonly variant: {
|
|
31
31
|
readonly type: "select";
|
|
@@ -123,7 +123,7 @@ declare const conf: {
|
|
|
123
123
|
readonly action: {
|
|
124
124
|
type: "custom";
|
|
125
125
|
label: string;
|
|
126
|
-
render: typeof import("
|
|
126
|
+
render: typeof import("../../..").ActionField;
|
|
127
127
|
};
|
|
128
128
|
readonly variant: {
|
|
129
129
|
readonly type: "select";
|
|
@@ -25,7 +25,7 @@ declare const conf: {
|
|
|
25
25
|
readonly action: {
|
|
26
26
|
type: "custom";
|
|
27
27
|
label: string;
|
|
28
|
-
render: typeof import("
|
|
28
|
+
render: typeof import("../../..").ActionField;
|
|
29
29
|
};
|
|
30
30
|
readonly variant: {
|
|
31
31
|
readonly type: "select";
|
|
@@ -123,7 +123,7 @@ declare const conf: {
|
|
|
123
123
|
readonly action: {
|
|
124
124
|
type: "custom";
|
|
125
125
|
label: string;
|
|
126
|
-
render: typeof import("
|
|
126
|
+
render: typeof import("../../..").ActionField;
|
|
127
127
|
};
|
|
128
128
|
readonly variant: {
|
|
129
129
|
readonly type: "select";
|
|
@@ -59,7 +59,7 @@ const StickyExpandHeroDefaults = {
|
|
|
59
59
|
buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
|
|
60
60
|
images: [{
|
|
61
61
|
src: "https://picsum.photos/seed/hero-landscape/1200/800",
|
|
62
|
-
alt: "
|
|
62
|
+
alt: "Placeholder image"
|
|
63
63
|
}]
|
|
64
64
|
};
|
|
65
65
|
export {
|
|
@@ -25,7 +25,7 @@ declare const conf: {
|
|
|
25
25
|
readonly action: {
|
|
26
26
|
type: "custom";
|
|
27
27
|
label: string;
|
|
28
|
-
render: typeof import("
|
|
28
|
+
render: typeof import("../../..").ActionField;
|
|
29
29
|
};
|
|
30
30
|
readonly variant: {
|
|
31
31
|
readonly type: "select";
|
|
@@ -91,14 +91,22 @@ declare const conf: {
|
|
|
91
91
|
readonly instructions: "Buttons must use the same size";
|
|
92
92
|
};
|
|
93
93
|
};
|
|
94
|
-
|
|
95
|
-
type: "
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
alt
|
|
94
|
+
images: {
|
|
95
|
+
readonly type: "array";
|
|
96
|
+
readonly max: 10;
|
|
97
|
+
readonly getItemSummary: (item: {
|
|
98
|
+
alt?: string;
|
|
99
|
+
}, index?: number) => string;
|
|
100
|
+
readonly arrayFields: {
|
|
101
|
+
readonly src: import("@puckeditor/core").Field<string>;
|
|
102
|
+
readonly alt: {
|
|
99
103
|
type: "text";
|
|
100
104
|
};
|
|
101
105
|
};
|
|
106
|
+
readonly defaultItemProps: {
|
|
107
|
+
alt: string;
|
|
108
|
+
src: string;
|
|
109
|
+
};
|
|
102
110
|
};
|
|
103
111
|
};
|
|
104
112
|
defaultProps: StickyExpandHeroProps;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { StickyExpandHero, StickyExpandHeroDefaults } from "./component.js";
|
|
2
2
|
import { descriptionField, headingField } from "../../../puck-core/core/props/content.js";
|
|
3
3
|
import { buttonsField } from "../../../puck-core/core/props/interactive.js";
|
|
4
|
-
import {
|
|
4
|
+
import { imagesField } from "../../../puck-core/core/props/media.js";
|
|
5
5
|
const conf = {
|
|
6
6
|
fields: {
|
|
7
7
|
heading: headingField,
|
|
8
8
|
description: descriptionField,
|
|
9
9
|
buttons: buttonsField,
|
|
10
|
-
|
|
10
|
+
images: imagesField
|
|
11
11
|
},
|
|
12
12
|
defaultProps: StickyExpandHeroDefaults,
|
|
13
13
|
render: StickyExpandHero
|
|
@@ -208,11 +208,11 @@ const StickyVideoHeroDefaults = {
|
|
|
208
208
|
video: "https://www.youtube.com/embed/8DKLYsikxTs?si=Ch9W0KrDWWUiCMMW",
|
|
209
209
|
images: [{
|
|
210
210
|
src: "https://picsum.photos/seed/hero-video/1200/800",
|
|
211
|
-
alt: "
|
|
211
|
+
alt: "Placeholder image"
|
|
212
212
|
}],
|
|
213
213
|
videoImage: {
|
|
214
214
|
src: "https://picsum.photos/seed/hero-video/1200/800",
|
|
215
|
-
alt: "
|
|
215
|
+
alt: "Placeholder image"
|
|
216
216
|
},
|
|
217
217
|
styles: { variant: "centered" }
|
|
218
218
|
};
|
|
@@ -108,7 +108,7 @@ const TabHeroDefaults = {
|
|
|
108
108
|
buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
|
|
109
109
|
image: {
|
|
110
110
|
src: "https://picsum.photos/seed/hero-landscape/1200/800",
|
|
111
|
-
alt: "
|
|
111
|
+
alt: "Placeholder image 1"
|
|
112
112
|
}
|
|
113
113
|
},
|
|
114
114
|
{
|
|
@@ -118,7 +118,7 @@ const TabHeroDefaults = {
|
|
|
118
118
|
buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
|
|
119
119
|
image: {
|
|
120
120
|
src: "https://picsum.photos/seed/hero-landscape/1200/800",
|
|
121
|
-
alt: "
|
|
121
|
+
alt: "Placeholder image 2"
|
|
122
122
|
}
|
|
123
123
|
},
|
|
124
124
|
{
|
|
@@ -128,7 +128,7 @@ const TabHeroDefaults = {
|
|
|
128
128
|
buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
|
|
129
129
|
image: {
|
|
130
130
|
src: "https://picsum.photos/seed/hero-landscape/1200/800",
|
|
131
|
-
alt: "
|
|
131
|
+
alt: "Placeholder image 3"
|
|
132
132
|
}
|
|
133
133
|
},
|
|
134
134
|
{
|
|
@@ -138,7 +138,7 @@ const TabHeroDefaults = {
|
|
|
138
138
|
buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
|
|
139
139
|
image: {
|
|
140
140
|
src: "https://picsum.photos/seed/hero-landscape/1200/800",
|
|
141
|
-
alt: "
|
|
141
|
+
alt: "Placeholder image 4"
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
]
|
|
@@ -16,28 +16,6 @@ declare const conf: {
|
|
|
16
16
|
label: string;
|
|
17
17
|
arrayFields: {
|
|
18
18
|
value: {
|
|
19
|
-
className: {
|
|
20
|
-
readonly type: "text";
|
|
21
|
-
readonly label: "Class Name";
|
|
22
|
-
readonly ai: {
|
|
23
|
-
readonly instructions: "Additional Tailwind CSS classes to apply to the section wrapper.";
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
style: {
|
|
27
|
-
readonly type: "object";
|
|
28
|
-
readonly label: "Style";
|
|
29
|
-
readonly objectFields: {};
|
|
30
|
-
readonly ai: {
|
|
31
|
-
readonly instructions: "Inline CSSProperties object for the section wrapper, e.g. { backgroundColor: 'red', minHeight: '100vh' }.";
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
css: {
|
|
35
|
-
readonly type: "textarea";
|
|
36
|
-
readonly label: "Custom CSS";
|
|
37
|
-
readonly ai: {
|
|
38
|
-
readonly instructions: "Custom CSS rules. Use & as a placeholder for the section selector.";
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
19
|
type: string;
|
|
42
20
|
};
|
|
43
21
|
text: {
|
|
@@ -62,28 +40,6 @@ declare const conf: {
|
|
|
62
40
|
type: string;
|
|
63
41
|
objectFields: {
|
|
64
42
|
src: {
|
|
65
|
-
className: {
|
|
66
|
-
readonly type: "text";
|
|
67
|
-
readonly label: "Class Name";
|
|
68
|
-
readonly ai: {
|
|
69
|
-
readonly instructions: "Additional Tailwind CSS classes to apply to the section wrapper.";
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
style: {
|
|
73
|
-
readonly type: "object";
|
|
74
|
-
readonly label: "Style";
|
|
75
|
-
readonly objectFields: {};
|
|
76
|
-
readonly ai: {
|
|
77
|
-
readonly instructions: "Inline CSSProperties object for the section wrapper, e.g. { backgroundColor: 'red', minHeight: '100vh' }.";
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
css: {
|
|
81
|
-
readonly type: "textarea";
|
|
82
|
-
readonly label: "Custom CSS";
|
|
83
|
-
readonly ai: {
|
|
84
|
-
readonly instructions: "Custom CSS rules. Use & as a placeholder for the section selector.";
|
|
85
|
-
};
|
|
86
|
-
};
|
|
87
43
|
type: string;
|
|
88
44
|
label: string;
|
|
89
45
|
};
|
|
@@ -96,6 +52,34 @@ declare const conf: {
|
|
|
96
52
|
};
|
|
97
53
|
};
|
|
98
54
|
};
|
|
55
|
+
styles: {
|
|
56
|
+
type: string;
|
|
57
|
+
label: string;
|
|
58
|
+
objectFields: {
|
|
59
|
+
className: {
|
|
60
|
+
readonly type: "text";
|
|
61
|
+
readonly label: "Class Name";
|
|
62
|
+
readonly ai: {
|
|
63
|
+
readonly instructions: "Additional Tailwind CSS classes to apply to the section wrapper.";
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
style: {
|
|
67
|
+
readonly type: "object";
|
|
68
|
+
readonly label: "Style";
|
|
69
|
+
readonly objectFields: {};
|
|
70
|
+
readonly ai: {
|
|
71
|
+
readonly instructions: "Inline CSSProperties object for the section wrapper, e.g. { backgroundColor: 'red', minHeight: '100vh' }.";
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
css: {
|
|
75
|
+
readonly type: "textarea";
|
|
76
|
+
readonly label: "Custom CSS";
|
|
77
|
+
readonly ai: {
|
|
78
|
+
readonly instructions: "Custom CSS rules. Use & as a placeholder for the section selector.";
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
99
83
|
};
|
|
100
84
|
defaultProps: TabHeroProps;
|
|
101
85
|
render: (props: TabHeroProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -11,7 +11,7 @@ const conf = {
|
|
|
11
11
|
type: "array",
|
|
12
12
|
label: "Triggers",
|
|
13
13
|
arrayFields: {
|
|
14
|
-
value: { type: "text"
|
|
14
|
+
value: { type: "text" },
|
|
15
15
|
text: { type: "text" }
|
|
16
16
|
}
|
|
17
17
|
},
|
|
@@ -25,13 +25,18 @@ const conf = {
|
|
|
25
25
|
image: {
|
|
26
26
|
type: "object",
|
|
27
27
|
objectFields: {
|
|
28
|
-
src: { type: "image", label: "Image"
|
|
28
|
+
src: { type: "image", label: "Image" },
|
|
29
29
|
alt: { type: "text" }
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
+
},
|
|
36
|
+
styles: {
|
|
37
|
+
type: "object",
|
|
38
|
+
label: "Styles",
|
|
39
|
+
objectFields: { ...sectionWrapperFields }
|
|
35
40
|
}
|
|
36
41
|
},
|
|
37
42
|
defaultProps: TabHeroDefaults,
|
|
@@ -21,7 +21,13 @@ const ThreeImageParallaxHero = (props) => {
|
|
|
21
21
|
...ThreeImageParallaxHeroDefaults,
|
|
22
22
|
...props
|
|
23
23
|
};
|
|
24
|
-
const {
|
|
24
|
+
const {
|
|
25
|
+
className: sectionClassName,
|
|
26
|
+
style: sectionStyle,
|
|
27
|
+
css,
|
|
28
|
+
textAlign = "left",
|
|
29
|
+
responsive = false
|
|
30
|
+
} = { ...ThreeImageParallaxHeroDefaults.styles, ...styles };
|
|
25
31
|
const sectionRef = useRef(null);
|
|
26
32
|
const [scrollContainerRef] = useScrollContainer(sectionRef);
|
|
27
33
|
const { scrollYProgress } = useScroll(
|
|
@@ -32,7 +38,11 @@ const ThreeImageParallaxHero = (props) => {
|
|
|
32
38
|
const isCenter = textAlign === "center";
|
|
33
39
|
const fixedLeftY = useTransform(scrollYProgress, [0, 1], ["-15.444%", "0%"]);
|
|
34
40
|
const fixedCenterY = useTransform(scrollYProgress, [0, 1], ["15.333%", "0%"]);
|
|
35
|
-
const fixedRightY = useTransform(
|
|
41
|
+
const fixedRightY = useTransform(
|
|
42
|
+
scrollYProgress,
|
|
43
|
+
[0, 0.5],
|
|
44
|
+
["11.333%", "-20%"]
|
|
45
|
+
);
|
|
36
46
|
const responsiveLeftY = useTransform(
|
|
37
47
|
scrollYProgress,
|
|
38
48
|
[0, 1],
|
|
@@ -57,51 +67,91 @@ const ThreeImageParallaxHero = (props) => {
|
|
|
57
67
|
const rightImageTranslate = {
|
|
58
68
|
y: responsive ? responsiveRightY : fixedRightY
|
|
59
69
|
};
|
|
60
|
-
return /* @__PURE__ */ jsx(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
return /* @__PURE__ */ jsx(
|
|
71
|
+
SectionWrapper,
|
|
72
|
+
{
|
|
73
|
+
ref: sectionRef,
|
|
74
|
+
className: cn("px-[5%] py-8 md:py-12 lg:py-14", sectionClassName),
|
|
75
|
+
style: sectionStyle,
|
|
76
|
+
css,
|
|
77
|
+
children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
|
|
78
|
+
/* @__PURE__ */ jsx("div", { className: "rb-12 mb-12 md:mb-18 lg:mb-20", children: /* @__PURE__ */ jsxs(
|
|
79
|
+
"div",
|
|
80
|
+
{
|
|
81
|
+
className: isCenter ? "mx-auto w-full max-w-lg text-center" : "w-full max-w-lg",
|
|
82
|
+
children: [
|
|
83
|
+
/* @__PURE__ */ jsx("h1", { className: "mb-5 text-6xl font-bold md:mb-6 md:text-9xl lg:text-10xl", children: heading }),
|
|
84
|
+
/* @__PURE__ */ jsx("p", { className: "md:text-md", children: description }),
|
|
85
|
+
/* @__PURE__ */ jsx(
|
|
86
|
+
"div",
|
|
87
|
+
{
|
|
88
|
+
className: isCenter ? "mt-6 flex items-center justify-center gap-4 md:mt-8" : "mt-6 flex flex-wrap gap-4 md:mt-8",
|
|
89
|
+
children: buttons.map((button, index) => /* @__PURE__ */ jsx(
|
|
90
|
+
CompoundButton,
|
|
91
|
+
{
|
|
92
|
+
label: button.label,
|
|
93
|
+
variant: button.variant,
|
|
94
|
+
size: button.size,
|
|
95
|
+
action: button.action,
|
|
96
|
+
icon: button.icon
|
|
97
|
+
},
|
|
98
|
+
index
|
|
99
|
+
))
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
) }),
|
|
105
|
+
/* @__PURE__ */ jsxs("div", { className: "relative flex justify-center gap-6 sm:gap-8 md:gap-0", children: [
|
|
68
106
|
/* @__PURE__ */ jsx(
|
|
69
|
-
|
|
107
|
+
motion.div,
|
|
70
108
|
{
|
|
71
|
-
className:
|
|
72
|
-
|
|
109
|
+
className: "absolute bottom-0 left-0 z-10 w-2/5 overflow-hidden rounded-lg shadow-xl",
|
|
110
|
+
style: leftImageTranslate,
|
|
111
|
+
children: /* @__PURE__ */ jsx(
|
|
112
|
+
CompoundImage,
|
|
113
|
+
{
|
|
114
|
+
src: imageLeft.src,
|
|
115
|
+
alt: imageLeft.alt,
|
|
116
|
+
className: "aspect-square size-full object-cover"
|
|
117
|
+
}
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
),
|
|
121
|
+
/* @__PURE__ */ jsx(
|
|
122
|
+
motion.div,
|
|
123
|
+
{
|
|
124
|
+
className: "mx-[10%] mb-[10%] w-1/2 overflow-hidden rounded-lg shadow-xl",
|
|
125
|
+
style: centerImageTranslate,
|
|
126
|
+
children: /* @__PURE__ */ jsx(
|
|
127
|
+
CompoundImage,
|
|
128
|
+
{
|
|
129
|
+
src: imageCenter.src,
|
|
130
|
+
alt: imageCenter.alt,
|
|
131
|
+
className: "aspect-square size-full object-cover"
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
}
|
|
135
|
+
),
|
|
136
|
+
/* @__PURE__ */ jsx(
|
|
137
|
+
motion.div,
|
|
138
|
+
{
|
|
139
|
+
className: "absolute right-0 top-[10%] w-2/5 overflow-hidden rounded-lg shadow-xl",
|
|
140
|
+
style: rightImageTranslate,
|
|
141
|
+
children: /* @__PURE__ */ jsx(
|
|
142
|
+
CompoundImage,
|
|
143
|
+
{
|
|
144
|
+
src: imageRight.src,
|
|
145
|
+
alt: imageRight.alt,
|
|
146
|
+
className: "aspect-[4/3] size-full object-cover"
|
|
147
|
+
}
|
|
148
|
+
)
|
|
73
149
|
}
|
|
74
150
|
)
|
|
75
|
-
]
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
/* @__PURE__ */ jsx(motion.div, { className: "absolute bottom-0 left-0 z-10 w-2/5", style: leftImageTranslate, children: /* @__PURE__ */ jsx(
|
|
80
|
-
CompoundImage,
|
|
81
|
-
{
|
|
82
|
-
src: imageLeft.src,
|
|
83
|
-
alt: imageLeft.alt,
|
|
84
|
-
className: "aspect-square size-full object-cover"
|
|
85
|
-
}
|
|
86
|
-
) }),
|
|
87
|
-
/* @__PURE__ */ jsx(motion.div, { className: "mx-[10%] mb-[10%] w-1/2", style: centerImageTranslate, children: /* @__PURE__ */ jsx(
|
|
88
|
-
CompoundImage,
|
|
89
|
-
{
|
|
90
|
-
src: imageCenter.src,
|
|
91
|
-
alt: imageCenter.alt,
|
|
92
|
-
className: "aspect-square size-full object-cover"
|
|
93
|
-
}
|
|
94
|
-
) }),
|
|
95
|
-
/* @__PURE__ */ jsx(motion.div, { className: "absolute right-0 top-[10%] w-2/5", style: rightImageTranslate, children: /* @__PURE__ */ jsx(
|
|
96
|
-
CompoundImage,
|
|
97
|
-
{
|
|
98
|
-
src: imageRight.src,
|
|
99
|
-
alt: imageRight.alt,
|
|
100
|
-
className: "aspect-[4/3] size-full object-cover"
|
|
101
|
-
}
|
|
102
|
-
) })
|
|
103
|
-
] })
|
|
104
|
-
] }) });
|
|
151
|
+
] })
|
|
152
|
+
] })
|
|
153
|
+
}
|
|
154
|
+
);
|
|
105
155
|
};
|
|
106
156
|
const ThreeImageParallaxHeroDefaults = {
|
|
107
157
|
heading: "Long heading is what you see here in this header section",
|
|
@@ -109,15 +159,15 @@ const ThreeImageParallaxHeroDefaults = {
|
|
|
109
159
|
buttons: [{ label: "Button" }, { label: "Button", variant: "secondary" }],
|
|
110
160
|
imageLeft: {
|
|
111
161
|
src: "https://picsum.photos/seed/hero-portrait/800/1200",
|
|
112
|
-
alt: "
|
|
162
|
+
alt: "Placeholder image 1"
|
|
113
163
|
},
|
|
114
164
|
imageCenter: {
|
|
115
165
|
src: "https://picsum.photos/seed/hero-square/1200/1200",
|
|
116
|
-
alt: "
|
|
166
|
+
alt: "Placeholder image 2"
|
|
117
167
|
},
|
|
118
168
|
imageRight: {
|
|
119
169
|
src: "https://picsum.photos/seed/hero-portrait/800/1200",
|
|
120
|
-
alt: "
|
|
170
|
+
alt: "Placeholder image 3"
|
|
121
171
|
},
|
|
122
172
|
styles: {
|
|
123
173
|
textAlign: "left",
|