@nextworks/blocks-sections 0.1.0-alpha.8 → 0.2.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +16 -11
  2. package/dist/components/Features.d.ts +4 -2
  3. package/dist/components/Features.d.ts.map +1 -1
  4. package/dist/components/Features.jsx +2 -2
  5. package/dist/components/HeroMotion.d.ts +4 -2
  6. package/dist/components/HeroMotion.d.ts.map +1 -1
  7. package/dist-types/components/About.d.ts +93 -0
  8. package/dist-types/components/About.d.ts.map +1 -0
  9. package/dist-types/components/CTA.d.ts +118 -0
  10. package/dist-types/components/CTA.d.ts.map +1 -0
  11. package/dist-types/components/Contact.d.ts +111 -0
  12. package/dist-types/components/Contact.d.ts.map +1 -0
  13. package/dist-types/components/FAQ.d.ts +89 -0
  14. package/dist-types/components/FAQ.d.ts.map +1 -0
  15. package/dist-types/components/Features.d.ts +113 -0
  16. package/dist-types/components/Features.d.ts.map +1 -0
  17. package/dist-types/components/Footer.d.ts +120 -0
  18. package/dist-types/components/Footer.d.ts.map +1 -0
  19. package/dist-types/components/HeroMotion.d.ts +109 -0
  20. package/dist-types/components/HeroMotion.d.ts.map +1 -0
  21. package/dist-types/components/HeroOverlay.d.ts +116 -0
  22. package/dist-types/components/HeroOverlay.d.ts.map +1 -0
  23. package/dist-types/components/HeroSplit.d.ts +98 -0
  24. package/dist-types/components/HeroSplit.d.ts.map +1 -0
  25. package/dist-types/components/Navbar.d.ts +112 -0
  26. package/dist-types/components/Navbar.d.ts.map +1 -0
  27. package/dist-types/components/Newsletter.d.ts +59 -0
  28. package/dist-types/components/Newsletter.d.ts.map +1 -0
  29. package/dist-types/components/PortfolioSimple.d.ts +137 -0
  30. package/dist-types/components/PortfolioSimple.d.ts.map +1 -0
  31. package/dist-types/components/Pricing.d.ts +96 -0
  32. package/dist-types/components/Pricing.d.ts.map +1 -0
  33. package/dist-types/components/ProcessTimeline.d.ts +121 -0
  34. package/dist-types/components/ProcessTimeline.d.ts.map +1 -0
  35. package/dist-types/components/ServicesGrid.d.ts +64 -0
  36. package/dist-types/components/ServicesGrid.d.ts.map +1 -0
  37. package/dist-types/components/Team.d.ts +115 -0
  38. package/dist-types/components/Team.d.ts.map +1 -0
  39. package/dist-types/components/Testimonials.d.ts +81 -0
  40. package/dist-types/components/Testimonials.d.ts.map +1 -0
  41. package/dist-types/components/TrustBadges.d.ts +80 -0
  42. package/dist-types/components/TrustBadges.d.ts.map +1 -0
  43. package/dist-types/components/index.d.ts +21 -0
  44. package/dist-types/components/index.d.ts.map +1 -0
  45. package/dist-types/index.d.ts +2 -0
  46. package/dist-types/index.d.ts.map +1 -0
  47. package/package.json +8 -6
  48. package/dist/components/About.js +0 -129
  49. package/dist/components/CTA.js +0 -58
  50. package/dist/components/Contact.js +0 -82
  51. package/dist/components/FAQ.js +0 -78
  52. package/dist/components/Features.js +0 -109
  53. package/dist/components/Footer.js +0 -101
  54. package/dist/components/HeroMotion.js +0 -55
  55. package/dist/components/HeroOverlay.js +0 -111
  56. package/dist/components/HeroSplit.js +0 -100
  57. package/dist/components/Navbar.js +0 -80
  58. package/dist/components/Newsletter.js +0 -34
  59. package/dist/components/PortfolioSimple.js +0 -180
  60. package/dist/components/Pricing.js +0 -91
  61. package/dist/components/ProcessTimeline.js +0 -88
  62. package/dist/components/ServicesGrid.js +0 -72
  63. package/dist/components/Team.js +0 -107
  64. package/dist/components/Testimonials.js +0 -46
  65. package/dist/components/TrustBadges.js +0 -46
@@ -0,0 +1,113 @@
1
+ import React from "react";
2
+ import { motion } from "motion/react";
3
+ /**
4
+ * Data used to render a FeatureCard within the Features grid.
5
+ * @public
6
+ */
7
+ export interface FeatureCardData {
8
+ imageSrc: string;
9
+ imageAlt: string;
10
+ headingText: string;
11
+ subheadingText: string;
12
+ }
13
+ /**
14
+ * Props for the Features section component.
15
+ *
16
+ * @remarks
17
+ * - Styling: slot-style className overrides are merged after defaults via cn().
18
+ * - Motion: entrance animations respect enableMotion; prefers-reduced-motion
19
+ * disables transforms and transitions where possible.
20
+ *
21
+ * @public
22
+ */
23
+ type MotionTransition = React.ComponentProps<typeof motion.div>["transition"];
24
+ export interface FeaturesProps {
25
+ /**
26
+ * Optional id to attach to the root section element.
27
+ * @defaultValue "features"
28
+ */
29
+ id?: string;
30
+ /** Main section heading text */
31
+ sectionHeading?: string;
32
+ /** Subheading text displayed below the main heading */
33
+ sectionSubheading?: string;
34
+ /** Array of feature card data objects */
35
+ featuresData?: FeatureCardData[];
36
+ /** Optional top-level class to override the section root */
37
+ className?: string;
38
+ /** Styling configuration objects (slots) */
39
+ section?: {
40
+ className?: string;
41
+ };
42
+ container?: {
43
+ className?: string;
44
+ };
45
+ header?: {
46
+ className?: string;
47
+ };
48
+ heading?: {
49
+ className?: string;
50
+ };
51
+ subheading?: {
52
+ className?: string;
53
+ };
54
+ grid?: {
55
+ className?: string;
56
+ };
57
+ /** Wrapper around each FeatureCard (the animated container) */
58
+ cardWrapper?: {
59
+ className?: string;
60
+ };
61
+ /** Styles passed down to FeatureCard slots */
62
+ card?: {
63
+ className?: string;
64
+ };
65
+ image?: {
66
+ className?: string;
67
+ };
68
+ cardHeading?: {
69
+ className?: string;
70
+ };
71
+ cardSubheading?: {
72
+ className?: string;
73
+ };
74
+ /** When false, disables entrance animations and hover transitions. */
75
+ enableMotion?: boolean;
76
+ /** Motion configuration for the feature items */
77
+ motionConfig?: {
78
+ initial?: {
79
+ opacity?: number;
80
+ y?: number;
81
+ };
82
+ whileInView?: {
83
+ opacity?: number;
84
+ y?: number;
85
+ };
86
+ viewport?: {
87
+ once?: boolean;
88
+ amount?: number;
89
+ };
90
+ transition?: MotionTransition;
91
+ };
92
+ /** ARIA label for the features section */
93
+ ariaLabel?: string;
94
+ }
95
+ /**
96
+ * Responsive Features section that renders a heading, optional subheading,
97
+ * and a grid of FeatureCard items with configurable entrance animations.
98
+ *
99
+ * @remarks
100
+ * - Styling: slot-style className overrides are merged after defaults via cn().
101
+ * - Motion: Controlled by enableMotion and motionConfig; animations are reduced
102
+ * or disabled when users prefer reduced motion.
103
+ * - Accessibility: Uses a semantic <section> with an aria-label.
104
+ *
105
+ * @example
106
+ * <Features
107
+ * sectionHeading="Key Features"
108
+ * featuresData={[{ imageSrc: "/a.png", imageAlt: "", headingText: "Fast", subheadingText: "Blazing" }]}
109
+ * />
110
+ */
111
+ export declare function Features({ id, sectionHeading, sectionSubheading, featuresData, className, section, container, header, heading, subheading, grid, cardWrapper, card, image, cardHeading, cardSubheading, enableMotion, motionConfig, ariaLabel, }: FeaturesProps): React.JSX.Element;
112
+ export {};
113
+ //# sourceMappingURL=Features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Features.d.ts","sourceRoot":"","sources":["../../src/components/Features.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,KAAK,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,yCAAyC;IACzC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IAEjC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,SAAS,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,+DAA+D;IAC/D,WAAW,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,8CAA8C;IAC9C,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,WAAW,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,cAAc,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAExC,sEAAsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iDAAiD;IACjD,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3C,WAAW,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,QAAQ,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,UAAU,CAAC,EAAE,gBAAgB,CAAC;KAC/B,CAAC;IAEF,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,EACvB,EAAe,EACf,cAA+B,EAC/B,iBAA0E,EAC1E,YAAkC,EAElC,SAAS,EAET,OAAgE,EAChE,SAAmE,EACnE,MAAoD,EACpD,OAGC,EACD,UAGC,EACD,IAGC,EACD,WAEC,EACD,IAGC,EACD,KAGC,EACD,WAGC,EACD,cAEC,EAED,YAAmB,EACnB,YAWC,EACD,SAA8B,GAC/B,EAAE,aAAa,qBAwFf"}
@@ -0,0 +1,120 @@
1
+ import React from "react";
2
+ /**
3
+ * Navigation link item interface representing a single link in the footer.
4
+ */
5
+ export interface NavLinkItem {
6
+ /** Display name of the link */
7
+ name: string;
8
+ /** URL or anchor for the navigation link */
9
+ href: string;
10
+ /** Whether the link should open in a new tab */
11
+ external?: boolean;
12
+ }
13
+ /**
14
+ * Grouping for navigation link items under a section heading.
15
+ */
16
+ export interface NavLinkGroup {
17
+ /** Section heading/title */
18
+ heading: string;
19
+ /** Collection of links under this section */
20
+ links: NavLinkItem[];
21
+ }
22
+ /**
23
+ * Social media link interface for footer social icons.
24
+ * @public
25
+ */
26
+ export interface SocialLink {
27
+ /** Name of the social media platform */
28
+ name: string;
29
+ /** SVG icon component (e.g., Lucide). Should respect currentColor. */
30
+ icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
31
+ /** URL to the social profile */
32
+ url: string;
33
+ /** Optional aria-label for accessibility */
34
+ label?: string;
35
+ /** Whether the link should open in a new tab */
36
+ external?: boolean;
37
+ }
38
+ /**
39
+ * Props for the Footer component.
40
+ *
41
+ * @remarks
42
+ * Exposes slot-style className overrides for layout and typography. External
43
+ * links automatically receive target and rel attributes for security.
44
+ *
45
+ * @public
46
+ */
47
+ export interface FooterProps {
48
+ /** Optional id to attach to the root footer element */
49
+ id?: string;
50
+ /** Brand name or logo text displayed in the footer */
51
+ footerBrandName?: string;
52
+ /** Optional custom brand node (e.g., logo). Rendered left of brand text */
53
+ brandNode?: React.ReactNode;
54
+ /** Optional link for the brand (wraps brand text) */
55
+ brandHref?: string;
56
+ /** Navigation link groups shown in the footer */
57
+ footerNavLinks?: NavLinkGroup[];
58
+ /** Social media links and icons shown in the footer */
59
+ footerSocialLinks?: SocialLink[];
60
+ /** Optional top-level class to override the footer root */
61
+ className?: string;
62
+ /** Styling configuration objects (slot-based API) */
63
+ section?: {
64
+ className?: string;
65
+ };
66
+ container?: {
67
+ className?: string;
68
+ };
69
+ brand?: {
70
+ className?: string;
71
+ };
72
+ brandWrapper?: {
73
+ className?: string;
74
+ };
75
+ navSection?: {
76
+ className?: string;
77
+ };
78
+ navGroup?: {
79
+ className?: string;
80
+ };
81
+ navHeading?: {
82
+ className?: string;
83
+ };
84
+ navLink?: {
85
+ className?: string;
86
+ };
87
+ linksList?: {
88
+ className?: string;
89
+ };
90
+ socialSection?: {
91
+ className?: string;
92
+ };
93
+ socialLink?: {
94
+ className?: string;
95
+ };
96
+ socialIcon?: {
97
+ className?: string;
98
+ };
99
+ copyright?: {
100
+ className?: string;
101
+ };
102
+ /** Optional overrides for copyright */
103
+ copyrightYear?: number;
104
+ copyrightOverride?: React.ReactNode;
105
+ /** ARIA label for the footer section */
106
+ ariaLabel?: string;
107
+ }
108
+ /**
109
+ * Site footer with brand, grouped navigation links, social icons, and copyright.
110
+ *
111
+ * @remarks
112
+ * - Styling: slot-style className overrides are merged after defaults via cn().
113
+ * - Accessibility: renders a semantic <footer> with aria-label and clear link
114
+ * names; external links open in a new tab with rel security attributes.
115
+ *
116
+ * @example
117
+ * <Footer footerBrandName="Acme" />
118
+ */
119
+ export declare function Footer({ id, footerBrandName, brandNode, brandHref, footerNavLinks, footerSocialLinks, className, section, container, brand, brandWrapper, navSection, navGroup, navHeading, navLink, linksList, socialSection, socialLink, socialIcon, copyright, copyrightYear, copyrightOverride, ariaLabel, }: FooterProps): React.JSX.Element;
120
+ //# sourceMappingURL=Footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import React from "react";
2
+ import { motion } from "motion/react";
3
+ /**
4
+ * Props for the HeroMotion component.
5
+ *
6
+ * @remarks
7
+ * - Styling: exposes slot-style className overrides merged via cn().
8
+ * - Motion: controlled by enableMotion and motionOptions; respects
9
+ * prefers-reduced-motion by allowing disabling transforms.
10
+ * - Accessibility: rendered as a semantic <section> with aria-label.
11
+ * - CTA: primary/secondary CTA can be links (href provided) or buttons.
12
+ */
13
+ type MotionTransition = React.ComponentProps<typeof motion.div>["transition"];
14
+ export interface HeroMotionProps {
15
+ /** Optional id to attach to the section root */
16
+ id?: string;
17
+ /** ARIA label for the section. @defaultValue "Hero section" */
18
+ ariaLabel?: string;
19
+ /** Optional top-level class to override the root */
20
+ className?: string;
21
+ /** Primary heading text. Ignored when headingNode is provided. */
22
+ heading?: string;
23
+ /** Custom heading node; use for advanced layouts or styling. */
24
+ headingNode?: React.ReactNode;
25
+ /** Inline highlight node rendered next to heading text. */
26
+ highlight?: React.ReactNode;
27
+ /** Optional description paragraph/node */
28
+ description?: React.ReactNode;
29
+ /** Primary call to action config or null to hide */
30
+ primaryCta?: {
31
+ label: string;
32
+ href?: string;
33
+ } | null;
34
+ /** Secondary call to action config or null to hide */
35
+ secondaryCta?: {
36
+ label: string;
37
+ href?: string;
38
+ } | null;
39
+ /** Slot-style overrides */
40
+ section?: {
41
+ className?: string;
42
+ };
43
+ container?: {
44
+ className?: string;
45
+ };
46
+ content?: {
47
+ className?: string;
48
+ };
49
+ headingText?: {
50
+ className?: string;
51
+ };
52
+ highlightText?: {
53
+ className?: string;
54
+ };
55
+ descriptionText?: {
56
+ className?: string;
57
+ };
58
+ actions?: {
59
+ className?: string;
60
+ };
61
+ primaryButtonStyle?: {
62
+ unstyled?: boolean;
63
+ style?: React.CSSProperties;
64
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
65
+ size?: "default" | "sm" | "lg" | "icon";
66
+ className?: string;
67
+ };
68
+ secondaryButtonStyle?: {
69
+ unstyled?: boolean;
70
+ style?: React.CSSProperties;
71
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
72
+ size?: "default" | "sm" | "lg" | "icon";
73
+ className?: string;
74
+ };
75
+ /** Optional background node (e.g., SVGs, gradients, images) */
76
+ backgroundNode?: React.ReactNode;
77
+ /** When false, disables entrance animations */
78
+ enableMotion?: boolean;
79
+ /** Motion configuration for entrance sequences */
80
+ motionOptions?: {
81
+ viewport?: {
82
+ once?: boolean;
83
+ amount?: number;
84
+ };
85
+ headingDelay?: number;
86
+ descriptionDelay?: number;
87
+ actionsDelay?: number;
88
+ transition: MotionTransition;
89
+ };
90
+ }
91
+ /**
92
+ * Motion-first hero with heading/highlight, optional description and CTAs.
93
+ *
94
+ * @remarks
95
+ * - Styling: slot-style className overrides are merged after defaults via cn().
96
+ * - Motion: enableMotion toggles entrance transitions; motionOptions controls
97
+ * delays and viewport.
98
+ * - Accessibility: semantic <section> with aria-label.
99
+ *
100
+ * @example
101
+ * <HeroMotion
102
+ * heading="Supercharge growth with"
103
+ * highlight="AI-powered insights"
104
+ * primaryCta={{ label: 'Get Started', href: '#contact' }}
105
+ * />
106
+ */
107
+ export declare function HeroMotion({ id, ariaLabel, className, heading, headingNode, highlight, description, primaryCta, secondaryCta, section, container, content, headingText, highlightText, descriptionText, actions, primaryButtonStyle, secondaryButtonStyle, enableMotion, motionOptions, backgroundNode, }: HeroMotionProps): React.JSX.Element;
108
+ export {};
109
+ //# sourceMappingURL=HeroMotion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeroMotion.d.ts","sourceRoot":"","sources":["../../src/components/HeroMotion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC;;;;;;;;;GASG;AACH,KAAK,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B,oDAAoD;IACpD,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrD,sDAAsD;IACtD,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAEvD,2BAA2B;IAC3B,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,SAAS,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,WAAW,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,aAAa,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,eAAe,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,kBAAkB,CAAC,EAAE;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC5B,OAAO,CAAC,EACJ,SAAS,GACT,aAAa,GACb,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;QACxC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,oBAAoB,CAAC,EAAE;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC5B,OAAO,CAAC,EACJ,SAAS,GACT,aAAa,GACb,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;QACxC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,+DAA+D;IAC/D,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEjC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,kDAAkD;IAClD,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,gBAAgB,CAAC;KAC9B,CAAC;CACH;AAQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,SAA0B,EAC1B,SAAS,EACT,OAAmC,EACnC,WAAW,EACX,SAAiC,EACjC,WAKC,EACD,UAAqC,EACrC,YAAoC,EACpC,OAAiE,EACjE,SAA2E,EAC3E,OAAwD,EACxD,WAGC,EACD,aAGC,EACD,eAGC,EACD,OAAsE,EACtE,kBAAsE,EACtE,oBAAwE,EACxE,YAAmB,EACnB,aAMC,EACD,cAAc,GACf,EAAE,eAAe,qBAsJjB"}
@@ -0,0 +1,116 @@
1
+ import React from "react";
2
+ /**
3
+ * Props for the HeroOverlay component.
4
+ *
5
+ * @remarks
6
+ * - Prefer the structured image prop (image) over deprecated flat props.
7
+ * - Slot-style className overrides are merged after defaults via cn().
8
+ * - Motion controls affect CTA hover transitions.
9
+ *
10
+ * @public
11
+ */
12
+ export interface HeroOverlayProps {
13
+ id?: string;
14
+ className?: string;
15
+ image?: {
16
+ src?: string;
17
+ alt?: string;
18
+ className?: string;
19
+ objectFit?: React.CSSProperties["objectFit"];
20
+ objectPosition?: React.CSSProperties["objectPosition"];
21
+ };
22
+ /** @deprecated Use image.src instead */
23
+ imageSrc?: string;
24
+ /** @deprecated Use image.alt instead */
25
+ imageAlt?: string;
26
+ /** @deprecated Use image.objectFit instead */
27
+ imageObjectFit?: React.CSSProperties["objectFit"];
28
+ /** @deprecated Use image.objectPosition instead */
29
+ imageObjectPosition?: React.CSSProperties["objectPosition"];
30
+ heading?: string | {
31
+ text?: string;
32
+ className?: string;
33
+ };
34
+ subheading?: string | {
35
+ text?: string;
36
+ className?: string;
37
+ };
38
+ overlayRGBA?: string;
39
+ overlayDarkRGBA?: string;
40
+ section?: {
41
+ className?: string;
42
+ };
43
+ container?: {
44
+ className?: string;
45
+ };
46
+ imageContainer?: {
47
+ className?: string;
48
+ };
49
+ overlay?: {
50
+ className?: string;
51
+ };
52
+ content?: {
53
+ className?: string;
54
+ };
55
+ textContainer?: {
56
+ className?: string;
57
+ };
58
+ /** @deprecated Use heading.className */
59
+ headingStyle?: {
60
+ className?: string;
61
+ };
62
+ /** @deprecated Use subheading.className */
63
+ subheadingStyle?: {
64
+ className?: string;
65
+ };
66
+ ctaContainer?: {
67
+ className?: string;
68
+ };
69
+ cta1?: {
70
+ label?: string;
71
+ href?: string;
72
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
73
+ size?: "default" | "sm" | "lg" | "icon";
74
+ className?: string;
75
+ unstyled?: boolean;
76
+ style?: React.CSSProperties;
77
+ };
78
+ cta2?: {
79
+ label?: string;
80
+ href?: string;
81
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
82
+ size?: "default" | "sm" | "lg" | "icon";
83
+ className?: string;
84
+ unstyled?: boolean;
85
+ style?: React.CSSProperties;
86
+ };
87
+ /** @deprecated Use cta1.label instead */
88
+ ctaBtn1Label?: string;
89
+ /** @deprecated Use cta1.href instead */
90
+ ctaBtn1Href?: string;
91
+ /** @deprecated Use cta2.label instead */
92
+ ctaBtn2Label?: string;
93
+ /** @deprecated Use cta2.href instead */
94
+ ctaBtn2Href?: string;
95
+ ariaLabel?: string;
96
+ enableMotion?: boolean;
97
+ }
98
+ /**
99
+ * Full-bleed image hero with color overlay, heading/subheading, and up to two CTAs.
100
+ *
101
+ * @remarks
102
+ * - Styling: slot-style overrides for container, imageContainer, overlay, content, textContainer.
103
+ * - Motion: enableMotion applies hover-lift transitions to CTA buttons only.
104
+ * - Accessibility: uses semantic <section> with aria-label; background image is
105
+ * decorative with overlay and text content provided separately.
106
+ *
107
+ * @example
108
+ * <HeroOverlay
109
+ * image={{ src: "/hero.png", alt: "" }}
110
+ * heading="Welcome"
111
+ * subheading="Build faster with our blocks"
112
+ * cta1={{ label: "Get Started", href: "#getstarted" }}
113
+ * />
114
+ */
115
+ export declare function HeroOverlay({ id, className, imageSrc, imageAlt, imageObjectFit, imageObjectPosition, image, heading, subheading, overlayRGBA, overlayDarkRGBA, ctaBtn1Label, ctaBtn1Href, ctaBtn2Label, ctaBtn2Href, container, section, imageContainer, overlay, content, textContainer, headingStyle, subheadingStyle, ctaContainer, cta1, cta2, ariaLabel, enableMotion, }: HeroOverlayProps): React.JSX.Element;
116
+ //# sourceMappingURL=HeroOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeroOverlay.d.ts","sourceRoot":"","sources":["../../src/components/HeroOverlay.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import React from "react";
2
+ /**
3
+ * Props for the HeroSplit component.
4
+ *
5
+ * @remarks
6
+ * - Layout: split hero with text and image. imageLayout controls whether the
7
+ * image is full-bleed or padded.
8
+ * - Styling: slot-style className overrides are merged via cn(). Heading and
9
+ * subheading accept either a string or a { text, className } object.
10
+ * - Motion: enableMotion toggles button hover lift transitions.
11
+ * - Accessibility: uses a semantic <section> with aria-label.
12
+ */
13
+ interface HeroSplitProps {
14
+ /** Optional id to attach to the root section element */
15
+ id?: string;
16
+ /** Optional top-level class to override the root */
17
+ className?: string;
18
+ /** Section slot override */
19
+ section?: {
20
+ className?: string;
21
+ };
22
+ /** Heading string or object with text and className */
23
+ heading?: string | {
24
+ text?: string;
25
+ className?: string;
26
+ };
27
+ /** Subheading string or object with text and className */
28
+ subheading?: string | {
29
+ text?: string;
30
+ className?: string;
31
+ };
32
+ /** Primary CTA configuration */
33
+ cta1?: {
34
+ label?: string;
35
+ href?: string;
36
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
37
+ size?: "default" | "sm" | "lg" | "icon";
38
+ className?: string;
39
+ /** When true, renders the Button in unstyled mode to avoid token bleed from variants */
40
+ unstyled?: boolean;
41
+ /** Optional inline style forwarded to Button */
42
+ style?: React.CSSProperties;
43
+ };
44
+ /** Secondary CTA configuration */
45
+ cta2?: {
46
+ label?: string;
47
+ href?: string;
48
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
49
+ size?: "default" | "sm" | "lg" | "icon";
50
+ className?: string;
51
+ /** When true, renders the Button in unstyled mode to avoid token bleed from variants */
52
+ unstyled?: boolean;
53
+ /** Optional inline style forwarded to Button */
54
+ style?: React.CSSProperties;
55
+ };
56
+ /** Image configuration */
57
+ image?: {
58
+ src?: string;
59
+ alt?: string;
60
+ className?: string;
61
+ };
62
+ /** Image container slot */
63
+ imageContainer?: {
64
+ className?: string;
65
+ };
66
+ /** Text container slot */
67
+ textContainer?: {
68
+ className?: string;
69
+ };
70
+ /** Buttons container slot */
71
+ buttonsContainer?: {
72
+ className?: string;
73
+ };
74
+ /** Text alignment at large breakpoints. @defaultValue "center" */
75
+ textAlign?: "left" | "center" | "right";
76
+ /** Fallback node shown when no image.src is provided */
77
+ fallback?: React.ReactNode;
78
+ /** ARIA label for the section. @defaultValue "Hero section" */
79
+ ariaLabel?: string;
80
+ /** When false, removes button hover lifts, keeps layout static */
81
+ enableMotion?: boolean;
82
+ /** "padded" keeps default gutters. "full-bleed" allows the image to touch page edges. @defaultValue "full-bleed" */
83
+ imageLayout?: "padded" | "full-bleed";
84
+ }
85
+ /**
86
+ * Split hero with text on one side and an image on the other.
87
+ *
88
+ * @remarks
89
+ * - Text props accept string or object forms to easily override classes.
90
+ * - Full-bleed layout absolutely positions the image on larger screens.
91
+ * - Motion only affects the subtle hover lift on CTA buttons.
92
+ *
93
+ * @example
94
+ * <HeroSplit heading="Build faster" subheading="Launch confidently" />
95
+ */
96
+ export declare function HeroSplit({ id, className, heading, subheading, section, cta1, cta2, image, imageContainer, textContainer, buttonsContainer, textAlign, fallback, ariaLabel, enableMotion, imageLayout, }: HeroSplitProps): React.JSX.Element;
97
+ export {};
98
+ //# sourceMappingURL=HeroSplit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeroSplit.d.ts","sourceRoot":"","sources":["../../src/components/HeroSplit.tsx"],"names":[],"mappings":"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"}