@electroplix/components 0.5.0-alpha.10 → 0.5.0-alpha.12
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/CHANGELOG.md +20 -0
- package/dist/index.esm.js +834 -220
- package/dist/package.json +1 -1
- package/dist/src/components/hero/CTAOverlayHero.d.ts.map +1 -1
- package/dist/src/components/hero/CarouselHero.d.ts.map +1 -1
- package/dist/src/components/hero/HeroShell.d.ts.map +1 -1
- package/dist/src/components/hero/ImageHero.d.ts +35 -0
- package/dist/src/components/hero/ImageHero.d.ts.map +1 -0
- package/dist/src/components/hero/PatternedHero.d.ts.map +1 -1
- package/dist/src/components/hero/SplitHero.d.ts.map +1 -1
- package/dist/src/components/hero/StaticHero.d.ts.map +1 -1
- package/dist/src/components/hero/VideoHeaderHero.d.ts.map +1 -1
- package/dist/src/components/hero/index.d.ts +2 -0
- package/dist/src/components/hero/index.d.ts.map +1 -1
- package/metadata/hero.json +257 -0
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -354,7 +354,7 @@ function useBlogTheme() {
|
|
|
354
354
|
return useElectroplixConfig().blog;
|
|
355
355
|
}
|
|
356
356
|
|
|
357
|
-
const _excluded
|
|
357
|
+
const _excluded$10 = ["name", "size", "color", "style"];
|
|
358
358
|
/**
|
|
359
359
|
* Render an inline SVG icon by name.
|
|
360
360
|
*
|
|
@@ -370,7 +370,7 @@ function Icon(_ref) {
|
|
|
370
370
|
color = 'currentColor',
|
|
371
371
|
style
|
|
372
372
|
} = _ref,
|
|
373
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded
|
|
373
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$10);
|
|
374
374
|
const path = ICON_PATHS[name];
|
|
375
375
|
if (!path) return null;
|
|
376
376
|
return jsx("svg", _extends({
|
|
@@ -2297,7 +2297,7 @@ const maxLengthRule = max => ({
|
|
|
2297
2297
|
message: `Must be at most ${max} characters`
|
|
2298
2298
|
});
|
|
2299
2299
|
|
|
2300
|
-
const _excluded
|
|
2300
|
+
const _excluded$$ = ["as", "items", "orientation", "offset", "maxW", "px", "py", "radius", "gap", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "style", "className"];
|
|
2301
2301
|
function AnchorLinks(_ref) {
|
|
2302
2302
|
var _ref2, _ref3, _ref4, _ref5, _ref6, _items$0$targetId, _items$;
|
|
2303
2303
|
let {
|
|
@@ -2318,7 +2318,7 @@ function AnchorLinks(_ref) {
|
|
|
2318
2318
|
style = {},
|
|
2319
2319
|
className = ''
|
|
2320
2320
|
} = _ref,
|
|
2321
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded
|
|
2321
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$$);
|
|
2322
2322
|
const t = useNavTheme();
|
|
2323
2323
|
const radius = (_ref2 = radiusProp != null ? radiusProp : t.radius) != null ? _ref2 : 16;
|
|
2324
2324
|
const bgColor = (_ref3 = bgColorProp != null ? bgColorProp : t.bgColor) != null ? _ref3 : '#ffffff';
|
|
@@ -2415,7 +2415,7 @@ function AnchorLinks(_ref) {
|
|
|
2415
2415
|
}));
|
|
2416
2416
|
}
|
|
2417
2417
|
|
|
2418
|
-
const _excluded$
|
|
2418
|
+
const _excluded$_ = ["as", "items", "showHomeIcon", "maxW", "px", "py", "radius", "gap", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "style", "className"];
|
|
2419
2419
|
function Breadcrumbs(_ref) {
|
|
2420
2420
|
var _ref2, _ref3, _ref4, _ref5, _rest$separatorColor;
|
|
2421
2421
|
let {
|
|
@@ -2435,7 +2435,7 @@ function Breadcrumbs(_ref) {
|
|
|
2435
2435
|
style = {},
|
|
2436
2436
|
className = ''
|
|
2437
2437
|
} = _ref,
|
|
2438
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
2438
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$_);
|
|
2439
2439
|
const t = useNavTheme();
|
|
2440
2440
|
const bgColor = (_ref2 = bgColorProp != null ? bgColorProp : t.bgColor) != null ? _ref2 : '#ffffff';
|
|
2441
2441
|
const textColor = (_ref3 = textColorProp != null ? textColorProp : t.textColor) != null ? _ref3 : '#09090b';
|
|
@@ -2531,7 +2531,7 @@ function Breadcrumbs(_ref) {
|
|
|
2531
2531
|
}));
|
|
2532
2532
|
}
|
|
2533
2533
|
|
|
2534
|
-
const _excluded$
|
|
2534
|
+
const _excluded$Z = ["as", "languages", "current", "onChange", "px", "py", "radius", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "style", "className"];
|
|
2535
2535
|
function LanguageSelector(_ref) {
|
|
2536
2536
|
var _ref2, _ref3, _ref4, _ref5, _languages$find;
|
|
2537
2537
|
let {
|
|
@@ -2550,7 +2550,7 @@ function LanguageSelector(_ref) {
|
|
|
2550
2550
|
style = {},
|
|
2551
2551
|
className = ''
|
|
2552
2552
|
} = _ref,
|
|
2553
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
2553
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$Z);
|
|
2554
2554
|
const t = useNavTheme();
|
|
2555
2555
|
const bgColor = (_ref2 = bgColorProp != null ? bgColorProp : t.bgColor) != null ? _ref2 : '#ffffff';
|
|
2556
2556
|
const textColor = (_ref3 = textColorProp != null ? textColorProp : t.textColor) != null ? _ref3 : '#09090b';
|
|
@@ -2658,7 +2658,7 @@ function LanguageSelector(_ref) {
|
|
|
2658
2658
|
}));
|
|
2659
2659
|
}
|
|
2660
2660
|
|
|
2661
|
-
const _excluded$
|
|
2661
|
+
const _excluded$Y = ["as", "label", "sections", "maxW", "px", "py", "radius", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "style", "className"];
|
|
2662
2662
|
function MegaMenu(_ref) {
|
|
2663
2663
|
var _ref2, _ref3, _ref4, _ref5;
|
|
2664
2664
|
let {
|
|
@@ -2677,7 +2677,7 @@ function MegaMenu(_ref) {
|
|
|
2677
2677
|
style = {},
|
|
2678
2678
|
className = ''
|
|
2679
2679
|
} = _ref,
|
|
2680
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
2680
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$Y);
|
|
2681
2681
|
const t = useNavTheme();
|
|
2682
2682
|
(_ref2 = bgColorProp != null ? bgColorProp : t.bgColor) != null ? _ref2 : '#ffffff';
|
|
2683
2683
|
const textColor = (_ref3 = textColorProp != null ? textColorProp : t.textColor) != null ? _ref3 : '#09090b';
|
|
@@ -2824,7 +2824,7 @@ function MegaMenu(_ref) {
|
|
|
2824
2824
|
}));
|
|
2825
2825
|
}
|
|
2826
2826
|
|
|
2827
|
-
const _excluded$
|
|
2827
|
+
const _excluded$X = ["currentPage", "totalPages", "onPageChange", "maxVisible", "showFirstLast", "showPrevNext", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "fontSize", "radius", "gap", "className", "style"];
|
|
2828
2828
|
function Pagination(_ref) {
|
|
2829
2829
|
var _ref2, _ref3, _ref4, _ref5;
|
|
2830
2830
|
let {
|
|
@@ -2845,7 +2845,7 @@ function Pagination(_ref) {
|
|
|
2845
2845
|
className,
|
|
2846
2846
|
style
|
|
2847
2847
|
} = _ref,
|
|
2848
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
2848
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$X);
|
|
2849
2849
|
const t = useNavTheme();
|
|
2850
2850
|
const bgColor = (_ref2 = bgColorProp != null ? bgColorProp : t.bgColor) != null ? _ref2 : '#ffffff';
|
|
2851
2851
|
const textColor = (_ref3 = textColorProp != null ? textColorProp : t.textColor) != null ? _ref3 : '#09090b';
|
|
@@ -2973,7 +2973,7 @@ function Pagination(_ref) {
|
|
|
2973
2973
|
}));
|
|
2974
2974
|
}
|
|
2975
2975
|
|
|
2976
|
-
const _excluded$
|
|
2976
|
+
const _excluded$W = ["logoText", "links", "showSearch", "showCTA", "ctaText", "ctaHref", "sticky", "height", "padding", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "className", "style"];
|
|
2977
2977
|
function PrimaryNav(_ref) {
|
|
2978
2978
|
var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref0;
|
|
2979
2979
|
let {
|
|
@@ -2994,7 +2994,7 @@ function PrimaryNav(_ref) {
|
|
|
2994
2994
|
className,
|
|
2995
2995
|
style
|
|
2996
2996
|
} = _ref,
|
|
2997
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
2997
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$W);
|
|
2998
2998
|
const t = useNavTheme();
|
|
2999
2999
|
const showSearch = (_ref2 = showSearchProp != null ? showSearchProp : t.showSearch) != null ? _ref2 : false;
|
|
3000
3000
|
const showCTA = (_ref3 = showCTAProp != null ? showCTAProp : t.showCTA) != null ? _ref3 : false;
|
|
@@ -3141,7 +3141,7 @@ function PrimaryNav(_ref) {
|
|
|
3141
3141
|
}));
|
|
3142
3142
|
}
|
|
3143
3143
|
|
|
3144
|
-
const _excluded$
|
|
3144
|
+
const _excluded$V = ["items", "width", "padding", "gap", "radius", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "className", "style"];
|
|
3145
3145
|
function SidebarMenu(_ref) {
|
|
3146
3146
|
var _ref2, _ref3, _ref4, _ref5;
|
|
3147
3147
|
let {
|
|
@@ -3158,7 +3158,7 @@ function SidebarMenu(_ref) {
|
|
|
3158
3158
|
className,
|
|
3159
3159
|
style
|
|
3160
3160
|
} = _ref,
|
|
3161
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
3161
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$V);
|
|
3162
3162
|
const t = useNavTheme();
|
|
3163
3163
|
const bgColor = (_ref2 = bgColorProp != null ? bgColorProp : t.bgColor) != null ? _ref2 : '#ffffff';
|
|
3164
3164
|
const textColor = (_ref3 = textColorProp != null ? textColorProp : t.textColor) != null ? _ref3 : '#09090b';
|
|
@@ -3289,7 +3289,7 @@ function SidebarMenu(_ref) {
|
|
|
3289
3289
|
}));
|
|
3290
3290
|
}
|
|
3291
3291
|
|
|
3292
|
-
const _excluded$
|
|
3292
|
+
const _excluded$U = ["links", "width", "padding", "gap", "overlayColor", "position", "logoText", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "className", "style"];
|
|
3293
3293
|
function SideDrawerNav(_ref) {
|
|
3294
3294
|
var _ref2, _ref3, _ref4, _ref5;
|
|
3295
3295
|
let {
|
|
@@ -3308,7 +3308,7 @@ function SideDrawerNav(_ref) {
|
|
|
3308
3308
|
className,
|
|
3309
3309
|
style
|
|
3310
3310
|
} = _ref,
|
|
3311
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
3311
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$U);
|
|
3312
3312
|
const t = useNavTheme();
|
|
3313
3313
|
const bgColor = (_ref2 = bgColorProp != null ? bgColorProp : t.bgColor) != null ? _ref2 : '#ffffff';
|
|
3314
3314
|
const textColor = (_ref3 = textColorProp != null ? textColorProp : t.textColor) != null ? _ref3 : '#09090b';
|
|
@@ -3467,7 +3467,7 @@ function SideDrawerNav(_ref) {
|
|
|
3467
3467
|
}));
|
|
3468
3468
|
}
|
|
3469
3469
|
|
|
3470
|
-
const _excluded$
|
|
3470
|
+
const _excluded$T = ["steps", "currentStep", "orientation", "showNumbers", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "className", "style"];
|
|
3471
3471
|
function Stepper(_ref) {
|
|
3472
3472
|
var _ref2, _ref3, _ref4, _ref5;
|
|
3473
3473
|
let {
|
|
@@ -3483,7 +3483,7 @@ function Stepper(_ref) {
|
|
|
3483
3483
|
className,
|
|
3484
3484
|
style
|
|
3485
3485
|
} = _ref,
|
|
3486
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
3486
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$T);
|
|
3487
3487
|
const t = useNavTheme();
|
|
3488
3488
|
const bgColor = (_ref2 = bgColorProp != null ? bgColorProp : t.bgColor) != null ? _ref2 : '#ffffff';
|
|
3489
3489
|
const textColor = (_ref3 = textColorProp != null ? textColorProp : t.textColor) != null ? _ref3 : '#09090b';
|
|
@@ -3594,7 +3594,7 @@ function Stepper(_ref) {
|
|
|
3594
3594
|
}));
|
|
3595
3595
|
}
|
|
3596
3596
|
|
|
3597
|
-
const _excluded$
|
|
3597
|
+
const _excluded$S = ["tabs", "defaultTab", "orientation", "showUnderline", "radius", "padding", "gap", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "className", "style"];
|
|
3598
3598
|
function Tabs(_ref) {
|
|
3599
3599
|
var _ref2, _ref3, _ref4, _ref5, _ref6, _tabs$active;
|
|
3600
3600
|
let {
|
|
@@ -3613,7 +3613,7 @@ function Tabs(_ref) {
|
|
|
3613
3613
|
className,
|
|
3614
3614
|
style
|
|
3615
3615
|
} = _ref,
|
|
3616
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
3616
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$S);
|
|
3617
3617
|
const t = useNavTheme();
|
|
3618
3618
|
const radius = (_ref2 = radiusProp != null ? radiusProp : t.radius) != null ? _ref2 : 14;
|
|
3619
3619
|
const bgColor = (_ref3 = bgColorProp != null ? bgColorProp : t.bgColor) != null ? _ref3 : '#ffffff';
|
|
@@ -3734,7 +3734,7 @@ function Tabs(_ref) {
|
|
|
3734
3734
|
}));
|
|
3735
3735
|
}
|
|
3736
3736
|
|
|
3737
|
-
const _excluded$
|
|
3737
|
+
const _excluded$R = ["columns", "copyright", "socialLinks", "logo", "logoAlt", "tagline", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "children", "className", "style"];
|
|
3738
3738
|
function Footer(_ref) {
|
|
3739
3739
|
var _ref2, _ref3, _ref4, _ref5, _t$radius;
|
|
3740
3740
|
let {
|
|
@@ -3753,7 +3753,7 @@ function Footer(_ref) {
|
|
|
3753
3753
|
className,
|
|
3754
3754
|
style
|
|
3755
3755
|
} = _ref,
|
|
3756
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
3756
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$R);
|
|
3757
3757
|
const t = useNavTheme();
|
|
3758
3758
|
const bg = (_ref2 = bgColor != null ? bgColor : t.bgColor) != null ? _ref2 : '#ffffff';
|
|
3759
3759
|
const fg = (_ref3 = textColor != null ? textColor : t.textColor) != null ? _ref3 : '#09090b';
|
|
@@ -3915,14 +3915,16 @@ function Footer(_ref) {
|
|
|
3915
3915
|
}));
|
|
3916
3916
|
}
|
|
3917
3917
|
|
|
3918
|
-
const _excluded$
|
|
3919
|
-
const ui$
|
|
3918
|
+
const _excluded$Q = ["as", "bgColor", "textColor", "fontFamily", "minH", "maxW", "px", "py", "radius", "gap", "style", "className", "children"];
|
|
3919
|
+
const ui$A = {
|
|
3920
3920
|
white: '#ffffff',
|
|
3921
3921
|
text: '#18181b',
|
|
3922
|
-
border: '#e4e4e7'
|
|
3922
|
+
border: '#e4e4e7'
|
|
3923
|
+
};
|
|
3923
3924
|
function HeroShell(props) {
|
|
3924
3925
|
var _t$minH, _t$maxW, _t$px, _t$py, _t$cardRadius, _t$gap, _ref, _ref2;
|
|
3925
3926
|
const t = useHeroTheme();
|
|
3927
|
+
const isMobile = useMediaQuery('(max-width: 768px)');
|
|
3926
3928
|
const {
|
|
3927
3929
|
as: Tag = 'section',
|
|
3928
3930
|
bgColor,
|
|
@@ -3938,9 +3940,11 @@ function HeroShell(props) {
|
|
|
3938
3940
|
className = '',
|
|
3939
3941
|
children
|
|
3940
3942
|
} = props,
|
|
3941
|
-
rest = _objectWithoutPropertiesLoose(props, _excluded$
|
|
3942
|
-
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref : ui$
|
|
3943
|
-
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 : ui$
|
|
3943
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded$Q);
|
|
3944
|
+
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref : ui$A.white;
|
|
3945
|
+
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 : ui$A.text;
|
|
3946
|
+
const rPx = isMobile ? 16 : px;
|
|
3947
|
+
const pyPx = isMobile ? 32 : py;
|
|
3944
3948
|
return jsxs(Tag, _extends({
|
|
3945
3949
|
className: className
|
|
3946
3950
|
}, rest, {
|
|
@@ -3951,10 +3955,10 @@ function HeroShell(props) {
|
|
|
3951
3955
|
color: fg,
|
|
3952
3956
|
fontFamily,
|
|
3953
3957
|
minHeight: typeof minH === 'number' ? `${minH}px` : minH,
|
|
3954
|
-
paddingInline:
|
|
3955
|
-
paddingBlock:
|
|
3958
|
+
paddingInline: rPx,
|
|
3959
|
+
paddingBlock: pyPx,
|
|
3956
3960
|
borderRadius: radius,
|
|
3957
|
-
border: `1px solid ${ui$
|
|
3961
|
+
border: `1px solid ${ui$A.border}`,
|
|
3958
3962
|
position: 'relative',
|
|
3959
3963
|
overflow: 'hidden',
|
|
3960
3964
|
boxShadow: '0 1px 2px rgba(9,9,11,0.04)'
|
|
@@ -3967,32 +3971,34 @@ function HeroShell(props) {
|
|
|
3967
3971
|
background: 'linear-gradient(180deg, rgba(250,250,250,0.7), rgba(255,255,255,0))',
|
|
3968
3972
|
pointerEvents: 'none'
|
|
3969
3973
|
}
|
|
3970
|
-
}),
|
|
3971
|
-
"
|
|
3972
|
-
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
|
|
3983
|
-
|
|
3984
|
-
"
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
|
|
3989
|
-
|
|
3990
|
-
|
|
3991
|
-
|
|
3992
|
-
|
|
3993
|
-
|
|
3994
|
-
|
|
3995
|
-
|
|
3974
|
+
}), !isMobile && jsxs(Fragment, {
|
|
3975
|
+
children: [jsx("div", {
|
|
3976
|
+
"aria-hidden": true,
|
|
3977
|
+
style: {
|
|
3978
|
+
position: 'absolute',
|
|
3979
|
+
top: '12%',
|
|
3980
|
+
left: '8%',
|
|
3981
|
+
width: 240,
|
|
3982
|
+
height: 240,
|
|
3983
|
+
borderRadius: '999px',
|
|
3984
|
+
background: 'rgba(9,9,11,0.035)',
|
|
3985
|
+
filter: 'blur(70px)',
|
|
3986
|
+
pointerEvents: 'none'
|
|
3987
|
+
}
|
|
3988
|
+
}), jsx("div", {
|
|
3989
|
+
"aria-hidden": true,
|
|
3990
|
+
style: {
|
|
3991
|
+
position: 'absolute',
|
|
3992
|
+
bottom: '10%',
|
|
3993
|
+
right: '8%',
|
|
3994
|
+
width: 220,
|
|
3995
|
+
height: 220,
|
|
3996
|
+
borderRadius: '999px',
|
|
3997
|
+
background: 'rgba(9,9,11,0.03)',
|
|
3998
|
+
filter: 'blur(70px)',
|
|
3999
|
+
pointerEvents: 'none'
|
|
4000
|
+
}
|
|
4001
|
+
})]
|
|
3996
4002
|
}), jsx("div", {
|
|
3997
4003
|
style: {
|
|
3998
4004
|
width: '100%',
|
|
@@ -4007,16 +4013,18 @@ function HeroShell(props) {
|
|
|
4007
4013
|
}));
|
|
4008
4014
|
}
|
|
4009
4015
|
|
|
4010
|
-
const _excluded$
|
|
4011
|
-
const ui$
|
|
4016
|
+
const _excluded$P = ["as", "title", "subtitle", "ctaLabel", "onCta", "titleSize", "subtitleSize", "align", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "minH", "maxW", "px", "py", "radius", "gap", "style", "className"];
|
|
4017
|
+
const ui$z = {
|
|
4012
4018
|
white: '#ffffff',
|
|
4013
4019
|
black: '#09090b',
|
|
4014
4020
|
text: '#18181b',
|
|
4015
4021
|
muted: '#71717a',
|
|
4016
|
-
border: '#e4e4e7'
|
|
4022
|
+
border: '#e4e4e7'
|
|
4023
|
+
};
|
|
4017
4024
|
function StaticHero(props) {
|
|
4018
4025
|
var _t$minH, _t$maxW, _t$px, _t$py, _t$cardRadius, _t$gap, _ref, _ref2, _ref3, _ref4, _ref5;
|
|
4019
4026
|
const t = useHeroTheme();
|
|
4027
|
+
const isMobile = useMediaQuery('(max-width: 768px)');
|
|
4020
4028
|
const {
|
|
4021
4029
|
as: Tag = 'section',
|
|
4022
4030
|
title = 'Build Something Amazing',
|
|
@@ -4040,11 +4048,15 @@ function StaticHero(props) {
|
|
|
4040
4048
|
style = {},
|
|
4041
4049
|
className = ''
|
|
4042
4050
|
} = props,
|
|
4043
|
-
rest = _objectWithoutPropertiesLoose(props, _excluded$
|
|
4044
|
-
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref : ui$
|
|
4045
|
-
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 : ui$
|
|
4046
|
-
const accent = (_ref3 = accentColor != null ? accentColor : t.accentColor) != null ? _ref3 : ui$
|
|
4047
|
-
const border = (_ref4 = (_ref5 = borderColor != null ? borderColor : t.cardBorder) != null ? _ref5 : t.borderColor) != null ? _ref4 : ui$
|
|
4051
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded$P);
|
|
4052
|
+
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref : ui$z.white;
|
|
4053
|
+
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 : ui$z.text;
|
|
4054
|
+
const accent = (_ref3 = accentColor != null ? accentColor : t.accentColor) != null ? _ref3 : ui$z.black;
|
|
4055
|
+
const border = (_ref4 = (_ref5 = borderColor != null ? borderColor : t.cardBorder) != null ? _ref5 : t.borderColor) != null ? _ref4 : ui$z.border;
|
|
4056
|
+
const rPx = isMobile ? 16 : px;
|
|
4057
|
+
const pyPx = isMobile ? 32 : py;
|
|
4058
|
+
const titlePx = isMobile ? Math.max(28, Math.floor(titleSize * 0.6)) : titleSize;
|
|
4059
|
+
const subPx = isMobile ? Math.max(14, Math.floor(subtitleSize * 0.85)) : subtitleSize;
|
|
4048
4060
|
return jsxs(Tag, _extends({
|
|
4049
4061
|
className: className,
|
|
4050
4062
|
style: _extends({
|
|
@@ -4054,7 +4066,7 @@ function StaticHero(props) {
|
|
|
4054
4066
|
color: fg,
|
|
4055
4067
|
fontFamily,
|
|
4056
4068
|
minHeight: typeof minH === 'number' ? `${minH}px` : minH,
|
|
4057
|
-
padding: `${
|
|
4069
|
+
padding: `${pyPx}px ${rPx}px`,
|
|
4058
4070
|
borderRadius: radius,
|
|
4059
4071
|
border: `1px solid ${border}`,
|
|
4060
4072
|
position: 'relative',
|
|
@@ -4070,7 +4082,7 @@ function StaticHero(props) {
|
|
|
4070
4082
|
background: 'linear-gradient(180deg, rgba(250,250,250,0.75), rgba(255,255,255,0))',
|
|
4071
4083
|
pointerEvents: 'none'
|
|
4072
4084
|
}
|
|
4073
|
-
}), jsx("div", {
|
|
4085
|
+
}), !isMobile && jsx("div", {
|
|
4074
4086
|
"aria-hidden": true,
|
|
4075
4087
|
style: {
|
|
4076
4088
|
position: 'absolute',
|
|
@@ -4104,9 +4116,9 @@ function StaticHero(props) {
|
|
|
4104
4116
|
gap: 8,
|
|
4105
4117
|
padding: '8px 16px',
|
|
4106
4118
|
borderRadius: 999,
|
|
4107
|
-
background: ui$
|
|
4119
|
+
background: ui$z.white,
|
|
4108
4120
|
border: `1px solid ${border}`,
|
|
4109
|
-
marginBottom: 24,
|
|
4121
|
+
marginBottom: isMobile ? 16 : 24,
|
|
4110
4122
|
boxShadow: '0 1px 2px rgba(9,9,11,0.04)'
|
|
4111
4123
|
},
|
|
4112
4124
|
children: [jsx(Icon, {
|
|
@@ -4123,7 +4135,7 @@ function StaticHero(props) {
|
|
|
4123
4135
|
})]
|
|
4124
4136
|
}), title && jsx("h1", {
|
|
4125
4137
|
style: {
|
|
4126
|
-
fontSize:
|
|
4138
|
+
fontSize: titlePx,
|
|
4127
4139
|
lineHeight: 1.05,
|
|
4128
4140
|
margin: 0,
|
|
4129
4141
|
fontWeight: 800,
|
|
@@ -4133,10 +4145,10 @@ function StaticHero(props) {
|
|
|
4133
4145
|
children: title
|
|
4134
4146
|
}), subtitle && jsx("p", {
|
|
4135
4147
|
style: {
|
|
4136
|
-
fontSize:
|
|
4137
|
-
color: ui$
|
|
4138
|
-
marginTop: 20,
|
|
4139
|
-
marginBottom: 32,
|
|
4148
|
+
fontSize: subPx,
|
|
4149
|
+
color: ui$z.muted,
|
|
4150
|
+
marginTop: isMobile ? 12 : 20,
|
|
4151
|
+
marginBottom: isMobile ? 24 : 32,
|
|
4140
4152
|
maxWidth: 600,
|
|
4141
4153
|
marginInline: align === 'center' ? 'auto' : undefined,
|
|
4142
4154
|
marginLeft: align === 'right' ? 'auto' : undefined,
|
|
@@ -4146,22 +4158,23 @@ function StaticHero(props) {
|
|
|
4146
4158
|
}), jsxs("div", {
|
|
4147
4159
|
style: {
|
|
4148
4160
|
display: 'flex',
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4161
|
+
flexWrap: 'wrap',
|
|
4162
|
+
gap: isMobile ? 12 : 16,
|
|
4163
|
+
justifyContent: align === 'center' ? 'center' : align === 'right' ? 'flex-end' : 'flex-start'
|
|
4152
4164
|
},
|
|
4153
4165
|
children: [ctaLabel && jsxs("button", {
|
|
4154
4166
|
type: "button",
|
|
4155
4167
|
onClick: onCta,
|
|
4168
|
+
"aria-label": ctaLabel,
|
|
4156
4169
|
style: {
|
|
4157
|
-
padding:
|
|
4170
|
+
padding: `${isMobile ? 12 : 16}px ${isMobile ? 20 : 28}px`,
|
|
4158
4171
|
borderRadius: 12,
|
|
4159
4172
|
border: `1px solid ${accent}`,
|
|
4160
4173
|
background: accent,
|
|
4161
|
-
color: ui$
|
|
4174
|
+
color: ui$z.white,
|
|
4162
4175
|
cursor: 'pointer',
|
|
4163
4176
|
fontWeight: 700,
|
|
4164
|
-
fontSize: 16,
|
|
4177
|
+
fontSize: isMobile ? 14 : 16,
|
|
4165
4178
|
display: 'flex',
|
|
4166
4179
|
alignItems: 'center',
|
|
4167
4180
|
gap: 8,
|
|
@@ -4174,15 +4187,16 @@ function StaticHero(props) {
|
|
|
4174
4187
|
})]
|
|
4175
4188
|
}), jsx("button", {
|
|
4176
4189
|
type: "button",
|
|
4190
|
+
"aria-label": "Learn more",
|
|
4177
4191
|
style: {
|
|
4178
|
-
padding:
|
|
4192
|
+
padding: `${isMobile ? 12 : 16}px ${isMobile ? 20 : 28}px`,
|
|
4179
4193
|
borderRadius: 12,
|
|
4180
4194
|
border: `1px solid ${border}`,
|
|
4181
|
-
background: ui$
|
|
4195
|
+
background: ui$z.white,
|
|
4182
4196
|
color: fg,
|
|
4183
4197
|
cursor: 'pointer',
|
|
4184
4198
|
fontWeight: 600,
|
|
4185
|
-
fontSize: 16,
|
|
4199
|
+
fontSize: isMobile ? 14 : 16,
|
|
4186
4200
|
boxShadow: '0 1px 2px rgba(9,9,11,0.04)',
|
|
4187
4201
|
transition: 'all 0.2s ease'
|
|
4188
4202
|
},
|
|
@@ -4194,19 +4208,18 @@ function StaticHero(props) {
|
|
|
4194
4208
|
}));
|
|
4195
4209
|
}
|
|
4196
4210
|
|
|
4197
|
-
const _excluded$
|
|
4198
|
-
const ui$
|
|
4211
|
+
const _excluded$O = ["as", "slides", "autoplay", "intervalMs", "titleSize", "subtitleSize", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "minH", "maxW", "px", "py", "radius", "gap", "style", "className"];
|
|
4212
|
+
const ui$y = {
|
|
4199
4213
|
white: '#ffffff',
|
|
4200
|
-
black: '#09090b',
|
|
4201
|
-
text: '#18181b',
|
|
4202
4214
|
muted: '#71717a',
|
|
4203
|
-
border: '#e4e4e7',
|
|
4204
4215
|
surface: '#fafafa',
|
|
4205
4216
|
overlay: 'rgba(9,9,11,0.72)'
|
|
4206
4217
|
};
|
|
4207
4218
|
function CarouselHero(props) {
|
|
4208
4219
|
var _t$minH, _t$maxW, _t$px, _t$py, _t$cardRadius, _t$gap, _ref, _ref2, _ref3, _ref4, _ref5;
|
|
4209
4220
|
const t = useHeroTheme();
|
|
4221
|
+
const isMobile = useMediaQuery('(max-width: 768px)');
|
|
4222
|
+
const prefersReducedMotion = typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
4210
4223
|
const {
|
|
4211
4224
|
as: Tag = 'section',
|
|
4212
4225
|
slides: rawSlides,
|
|
@@ -4228,11 +4241,15 @@ function CarouselHero(props) {
|
|
|
4228
4241
|
style = {},
|
|
4229
4242
|
className = ''
|
|
4230
4243
|
} = props,
|
|
4231
|
-
rest = _objectWithoutPropertiesLoose(props, _excluded$
|
|
4232
|
-
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref :
|
|
4233
|
-
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 :
|
|
4234
|
-
const accent = (_ref3 = accentColor != null ? accentColor : t.accentColor) != null ? _ref3 :
|
|
4235
|
-
const border = (_ref4 = (_ref5 = borderColor != null ? borderColor : t.cardBorder) != null ? _ref5 : t.borderColor) != null ? _ref4 :
|
|
4244
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded$O);
|
|
4245
|
+
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref : '#ffffff';
|
|
4246
|
+
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 : '#18181b';
|
|
4247
|
+
const accent = (_ref3 = accentColor != null ? accentColor : t.accentColor) != null ? _ref3 : '#09090b';
|
|
4248
|
+
const border = (_ref4 = (_ref5 = borderColor != null ? borderColor : t.cardBorder) != null ? _ref5 : t.borderColor) != null ? _ref4 : '#e4e4e7';
|
|
4249
|
+
const rPx = isMobile ? 16 : px;
|
|
4250
|
+
const pyPx = isMobile ? 32 : py;
|
|
4251
|
+
const titlePx = isMobile ? Math.max(24, Math.floor(titleSize * 0.65)) : titleSize;
|
|
4252
|
+
const subPx = isMobile ? Math.max(14, Math.floor(subtitleSize * 0.85)) : subtitleSize;
|
|
4236
4253
|
const slides = Array.isArray(rawSlides) && rawSlides.length > 0 ? rawSlides : [{
|
|
4237
4254
|
image: '',
|
|
4238
4255
|
title: 'Welcome to Our Platform',
|
|
@@ -4247,22 +4264,37 @@ function CarouselHero(props) {
|
|
|
4247
4264
|
subtitle: 'Beautiful and responsive'
|
|
4248
4265
|
}];
|
|
4249
4266
|
const [idx, setIdx] = useState(0);
|
|
4267
|
+
const touchStart = useRef(null);
|
|
4268
|
+
// Autoplay — paused on reduced motion
|
|
4250
4269
|
useEffect(() => {
|
|
4251
|
-
if (!autoplay || slides.length <= 1) return;
|
|
4252
|
-
const id = setInterval(() =>
|
|
4253
|
-
setIdx(i => (i + 1) % slides.length);
|
|
4254
|
-
}, intervalMs);
|
|
4270
|
+
if (!autoplay || slides.length <= 1 || prefersReducedMotion) return;
|
|
4271
|
+
const id = setInterval(() => setIdx(i => (i + 1) % slides.length), intervalMs);
|
|
4255
4272
|
return () => clearInterval(id);
|
|
4256
|
-
}, [autoplay, slides.length, intervalMs]);
|
|
4273
|
+
}, [autoplay, slides.length, intervalMs, prefersReducedMotion]);
|
|
4274
|
+
const prev = useCallback(() => setIdx(i => (i - 1 + slides.length) % slides.length), [slides.length]);
|
|
4275
|
+
const next = useCallback(() => setIdx(i => (i + 1) % slides.length), [slides.length]);
|
|
4276
|
+
// Touch swipe
|
|
4277
|
+
const onTouchStart = useCallback(e => {
|
|
4278
|
+
touchStart.current = e.touches[0].clientX;
|
|
4279
|
+
}, []);
|
|
4280
|
+
const onTouchEnd = useCallback(e => {
|
|
4281
|
+
if (touchStart.current === null) return;
|
|
4282
|
+
const diff = touchStart.current - e.changedTouches[0].clientX;
|
|
4283
|
+
if (Math.abs(diff) > 50) {
|
|
4284
|
+
diff > 0 ? next() : prev();
|
|
4285
|
+
}
|
|
4286
|
+
touchStart.current = null;
|
|
4287
|
+
}, [next, prev]);
|
|
4257
4288
|
const current = slides[idx] || {
|
|
4258
4289
|
image: '',
|
|
4259
4290
|
title: '',
|
|
4260
4291
|
subtitle: ''
|
|
4261
4292
|
};
|
|
4262
|
-
const prev = () => setIdx(i => (i - 1 + slides.length) % slides.length);
|
|
4263
|
-
const next = () => setIdx(i => (i + 1) % slides.length);
|
|
4264
4293
|
return jsxs(Tag, _extends({
|
|
4265
4294
|
className: className,
|
|
4295
|
+
role: "region",
|
|
4296
|
+
"aria-roledescription": "carousel",
|
|
4297
|
+
"aria-label": "Image carousel",
|
|
4266
4298
|
style: _extends({
|
|
4267
4299
|
display: 'grid',
|
|
4268
4300
|
placeItems: 'center',
|
|
@@ -4270,7 +4302,7 @@ function CarouselHero(props) {
|
|
|
4270
4302
|
color: fg,
|
|
4271
4303
|
fontFamily,
|
|
4272
4304
|
minHeight: typeof minH === 'number' ? `${minH}px` : minH,
|
|
4273
|
-
padding: `${
|
|
4305
|
+
padding: `${pyPx}px ${rPx}px`,
|
|
4274
4306
|
borderRadius: radius,
|
|
4275
4307
|
border: `1px solid ${border}`,
|
|
4276
4308
|
position: 'relative',
|
|
@@ -4295,24 +4327,29 @@ function CarouselHero(props) {
|
|
|
4295
4327
|
zIndex: 1
|
|
4296
4328
|
},
|
|
4297
4329
|
children: [jsxs("div", {
|
|
4330
|
+
role: "group",
|
|
4331
|
+
"aria-roledescription": "slide",
|
|
4332
|
+
"aria-label": `Slide ${idx + 1} of ${slides.length}`,
|
|
4333
|
+
onTouchStart: onTouchStart,
|
|
4334
|
+
onTouchEnd: onTouchEnd,
|
|
4298
4335
|
style: {
|
|
4299
4336
|
position: 'relative',
|
|
4300
4337
|
width: '100%',
|
|
4301
|
-
height: 400,
|
|
4338
|
+
height: isMobile ? 240 : 400,
|
|
4302
4339
|
borderRadius: 16,
|
|
4303
4340
|
overflow: 'hidden',
|
|
4304
|
-
background: ui$
|
|
4341
|
+
background: ui$y.surface,
|
|
4305
4342
|
border: `1px solid ${border}`,
|
|
4306
4343
|
boxShadow: '0 1px 2px rgba(9,9,11,0.04)'
|
|
4307
4344
|
},
|
|
4308
4345
|
children: [current.image ? jsx("img", {
|
|
4309
4346
|
src: current.image,
|
|
4310
|
-
alt: current.title || `slide
|
|
4347
|
+
alt: current.title || `slide ${idx + 1}`,
|
|
4311
4348
|
style: {
|
|
4312
4349
|
width: '100%',
|
|
4313
4350
|
height: '100%',
|
|
4314
4351
|
objectFit: 'cover',
|
|
4315
|
-
transition: 'opacity 0.5s ease'
|
|
4352
|
+
transition: prefersReducedMotion ? 'none' : 'opacity 0.5s ease'
|
|
4316
4353
|
}
|
|
4317
4354
|
}) : jsxs("div", {
|
|
4318
4355
|
style: {
|
|
@@ -4322,29 +4359,30 @@ function CarouselHero(props) {
|
|
|
4322
4359
|
flexDirection: 'column',
|
|
4323
4360
|
alignItems: 'center',
|
|
4324
4361
|
justifyContent: 'center',
|
|
4325
|
-
background: ui$
|
|
4326
|
-
color: ui$
|
|
4362
|
+
background: ui$y.surface,
|
|
4363
|
+
color: ui$y.muted
|
|
4327
4364
|
},
|
|
4328
4365
|
children: [jsx(Icon, {
|
|
4329
4366
|
name: "image",
|
|
4330
|
-
size: 64,
|
|
4331
|
-
color: ui$
|
|
4367
|
+
size: isMobile ? 40 : 64,
|
|
4368
|
+
color: ui$y.muted,
|
|
4332
4369
|
style: {
|
|
4333
4370
|
opacity: 0.55
|
|
4334
4371
|
}
|
|
4335
4372
|
}), jsxs("span", {
|
|
4336
4373
|
style: {
|
|
4337
4374
|
marginTop: 12,
|
|
4338
|
-
color: ui$
|
|
4375
|
+
color: ui$y.muted,
|
|
4339
4376
|
fontSize: 14,
|
|
4340
4377
|
fontWeight: 500
|
|
4341
4378
|
},
|
|
4342
4379
|
children: ["Slide ", idx + 1]
|
|
4343
4380
|
})]
|
|
4344
|
-
}), slides.length > 1 && jsxs(Fragment, {
|
|
4381
|
+
}), slides.length > 1 && !isMobile && jsxs(Fragment, {
|
|
4345
4382
|
children: [jsx("button", {
|
|
4346
4383
|
type: "button",
|
|
4347
4384
|
onClick: prev,
|
|
4385
|
+
"aria-label": "Previous slide",
|
|
4348
4386
|
style: {
|
|
4349
4387
|
position: 'absolute',
|
|
4350
4388
|
left: 16,
|
|
@@ -4354,15 +4392,15 @@ function CarouselHero(props) {
|
|
|
4354
4392
|
height: 44,
|
|
4355
4393
|
borderRadius: '999px',
|
|
4356
4394
|
border: '1px solid rgba(255,255,255,0.18)',
|
|
4357
|
-
background: ui$
|
|
4358
|
-
color: ui$
|
|
4395
|
+
background: ui$y.overlay,
|
|
4396
|
+
color: ui$y.white,
|
|
4359
4397
|
cursor: 'pointer',
|
|
4360
4398
|
display: 'flex',
|
|
4361
4399
|
alignItems: 'center',
|
|
4362
4400
|
justifyContent: 'center',
|
|
4363
4401
|
backdropFilter: 'blur(10px)',
|
|
4364
4402
|
boxShadow: '0 8px 24px rgba(9,9,11,0.16)',
|
|
4365
|
-
transition: 'all 0.2s ease'
|
|
4403
|
+
transition: prefersReducedMotion ? 'none' : 'all 0.2s ease'
|
|
4366
4404
|
},
|
|
4367
4405
|
children: jsx(Icon, {
|
|
4368
4406
|
name: "chevron-left",
|
|
@@ -4371,6 +4409,7 @@ function CarouselHero(props) {
|
|
|
4371
4409
|
}), jsx("button", {
|
|
4372
4410
|
type: "button",
|
|
4373
4411
|
onClick: next,
|
|
4412
|
+
"aria-label": "Next slide",
|
|
4374
4413
|
style: {
|
|
4375
4414
|
position: 'absolute',
|
|
4376
4415
|
right: 16,
|
|
@@ -4380,15 +4419,15 @@ function CarouselHero(props) {
|
|
|
4380
4419
|
height: 44,
|
|
4381
4420
|
borderRadius: '999px',
|
|
4382
4421
|
border: '1px solid rgba(255,255,255,0.18)',
|
|
4383
|
-
background: ui$
|
|
4384
|
-
color: ui$
|
|
4422
|
+
background: ui$y.overlay,
|
|
4423
|
+
color: ui$y.white,
|
|
4385
4424
|
cursor: 'pointer',
|
|
4386
4425
|
display: 'flex',
|
|
4387
4426
|
alignItems: 'center',
|
|
4388
4427
|
justifyContent: 'center',
|
|
4389
4428
|
backdropFilter: 'blur(10px)',
|
|
4390
4429
|
boxShadow: '0 8px 24px rgba(9,9,11,0.16)',
|
|
4391
|
-
transition: 'all 0.2s ease'
|
|
4430
|
+
transition: prefersReducedMotion ? 'none' : 'all 0.2s ease'
|
|
4392
4431
|
},
|
|
4393
4432
|
children: jsx(Icon, {
|
|
4394
4433
|
name: "chevron-right",
|
|
@@ -4402,7 +4441,7 @@ function CarouselHero(props) {
|
|
|
4402
4441
|
},
|
|
4403
4442
|
children: [current.title && jsx("h2", {
|
|
4404
4443
|
style: {
|
|
4405
|
-
fontSize:
|
|
4444
|
+
fontSize: titlePx,
|
|
4406
4445
|
margin: 0,
|
|
4407
4446
|
fontWeight: 700,
|
|
4408
4447
|
color: fg,
|
|
@@ -4412,32 +4451,36 @@ function CarouselHero(props) {
|
|
|
4412
4451
|
children: current.title
|
|
4413
4452
|
}), current.subtitle && jsx("p", {
|
|
4414
4453
|
style: {
|
|
4415
|
-
fontSize:
|
|
4416
|
-
color: ui$
|
|
4417
|
-
marginTop: 12,
|
|
4454
|
+
fontSize: subPx,
|
|
4455
|
+
color: ui$y.muted,
|
|
4456
|
+
marginTop: isMobile ? 8 : 12,
|
|
4418
4457
|
marginBottom: 0,
|
|
4419
4458
|
lineHeight: 1.6
|
|
4420
4459
|
},
|
|
4421
4460
|
children: current.subtitle
|
|
4422
4461
|
})]
|
|
4423
4462
|
}), slides.length > 1 && jsx("div", {
|
|
4463
|
+
role: "tablist",
|
|
4464
|
+
"aria-label": "Slide navigation",
|
|
4424
4465
|
style: {
|
|
4425
4466
|
display: 'flex',
|
|
4426
|
-
gap: 10,
|
|
4467
|
+
gap: isMobile ? 6 : 10,
|
|
4427
4468
|
justifyContent: 'center'
|
|
4428
4469
|
},
|
|
4429
4470
|
children: slides.map((_, i) => jsx("button", {
|
|
4430
4471
|
type: "button",
|
|
4431
|
-
|
|
4472
|
+
role: "tab",
|
|
4473
|
+
"aria-selected": i === idx,
|
|
4432
4474
|
"aria-label": `Go to slide ${i + 1}`,
|
|
4475
|
+
onClick: () => setIdx(i),
|
|
4433
4476
|
style: {
|
|
4434
|
-
width: i === idx ? 32 : 10,
|
|
4477
|
+
width: i === idx ? isMobile ? 24 : 32 : isMobile ? 8 : 10,
|
|
4435
4478
|
height: 10,
|
|
4436
4479
|
borderRadius: 999,
|
|
4437
4480
|
border: `1px solid ${i === idx ? accent : border}`,
|
|
4438
|
-
background: i === idx ? accent : ui$
|
|
4481
|
+
background: i === idx ? accent : ui$y.white,
|
|
4439
4482
|
cursor: 'pointer',
|
|
4440
|
-
transition: 'all 0.3s ease',
|
|
4483
|
+
transition: prefersReducedMotion ? 'none' : 'all 0.3s ease',
|
|
4441
4484
|
boxShadow: i === idx ? '0 1px 2px rgba(9,9,11,0.12)' : '0 1px 2px rgba(9,9,11,0.04)'
|
|
4442
4485
|
}
|
|
4443
4486
|
}, i))
|
|
@@ -4446,16 +4489,17 @@ function CarouselHero(props) {
|
|
|
4446
4489
|
}));
|
|
4447
4490
|
}
|
|
4448
4491
|
|
|
4449
|
-
const _excluded$
|
|
4450
|
-
const ui$
|
|
4492
|
+
const _excluded$N = ["as", "title", "subtitle", "bgImage", "overlay", "form", "buttonText", "onSubmit", "inputPlaceholder", "titleSize", "subtitleSize", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "minH", "maxW", "px", "py", "radius", "gap", "style", "className"];
|
|
4493
|
+
const ui$x = {
|
|
4451
4494
|
white: '#ffffff',
|
|
4452
|
-
black: '#09090b',
|
|
4453
4495
|
text: '#18181b',
|
|
4454
4496
|
muted: '#71717a',
|
|
4455
|
-
border: '#e4e4e7'
|
|
4497
|
+
border: '#e4e4e7'
|
|
4498
|
+
};
|
|
4456
4499
|
function CTAOverlayHero(props) {
|
|
4457
4500
|
var _t$minH, _t$maxW, _t$px, _t$py, _t$cardRadius, _t$gap, _ref, _ref2, _ref3, _ref4, _ref5;
|
|
4458
4501
|
const t = useHeroTheme();
|
|
4502
|
+
const isMobile = useMediaQuery('(max-width: 768px)');
|
|
4459
4503
|
const {
|
|
4460
4504
|
as: Tag = 'section',
|
|
4461
4505
|
title = 'Transform Your Ideas Into Reality',
|
|
@@ -4482,13 +4526,17 @@ function CTAOverlayHero(props) {
|
|
|
4482
4526
|
style = {},
|
|
4483
4527
|
className = ''
|
|
4484
4528
|
} = props,
|
|
4485
|
-
rest = _objectWithoutPropertiesLoose(props, _excluded$
|
|
4486
|
-
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref :
|
|
4487
|
-
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 : ui$
|
|
4488
|
-
const accent = (_ref3 = accentColor != null ? accentColor : t.accentColor) != null ? _ref3 :
|
|
4489
|
-
const border = (_ref4 = (_ref5 = borderColor != null ? borderColor : t.cardBorder) != null ? _ref5 : t.borderColor) != null ? _ref4 : ui$
|
|
4529
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded$N);
|
|
4530
|
+
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref : '#ffffff';
|
|
4531
|
+
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 : ui$x.text;
|
|
4532
|
+
const accent = (_ref3 = accentColor != null ? accentColor : t.accentColor) != null ? _ref3 : '#09090b';
|
|
4533
|
+
const border = (_ref4 = (_ref5 = borderColor != null ? borderColor : t.cardBorder) != null ? _ref5 : t.borderColor) != null ? _ref4 : ui$x.border;
|
|
4490
4534
|
const [email, setEmail] = useState('');
|
|
4491
4535
|
const [isHovered, setIsHovered] = useState(false);
|
|
4536
|
+
const rPx = isMobile ? 16 : px;
|
|
4537
|
+
const pyPx = isMobile ? 32 : py;
|
|
4538
|
+
const titlePx = isMobile ? Math.max(28, Math.floor(titleSize * 0.6)) : titleSize;
|
|
4539
|
+
const subPx = isMobile ? Math.max(14, Math.floor(subtitleSize * 0.85)) : subtitleSize;
|
|
4492
4540
|
return jsxs(Tag, _extends({
|
|
4493
4541
|
className: className,
|
|
4494
4542
|
style: _extends({
|
|
@@ -4498,10 +4546,10 @@ function CTAOverlayHero(props) {
|
|
|
4498
4546
|
backgroundImage: bgImage ? `url(${bgImage})` : undefined,
|
|
4499
4547
|
backgroundSize: 'cover',
|
|
4500
4548
|
backgroundPosition: 'center',
|
|
4501
|
-
color: bgImage ? ui$
|
|
4549
|
+
color: bgImage ? ui$x.white : fg,
|
|
4502
4550
|
fontFamily,
|
|
4503
4551
|
minHeight: typeof minH === 'number' ? `${minH}px` : minH,
|
|
4504
|
-
padding: `${
|
|
4552
|
+
padding: `${pyPx}px ${rPx}px`,
|
|
4505
4553
|
borderRadius: radius,
|
|
4506
4554
|
border: `1px solid ${border}`,
|
|
4507
4555
|
position: 'relative',
|
|
@@ -4517,8 +4565,9 @@ function CTAOverlayHero(props) {
|
|
|
4517
4565
|
background: bgImage ? `rgba(9,9,11,${overlay})` : 'linear-gradient(180deg, rgba(250,250,250,0.85), rgba(255,255,255,0))',
|
|
4518
4566
|
zIndex: 0
|
|
4519
4567
|
}
|
|
4520
|
-
}), !bgImage && jsxs(Fragment, {
|
|
4568
|
+
}), !bgImage && !isMobile && jsxs(Fragment, {
|
|
4521
4569
|
children: [jsx("div", {
|
|
4570
|
+
"aria-hidden": true,
|
|
4522
4571
|
style: {
|
|
4523
4572
|
position: 'absolute',
|
|
4524
4573
|
top: '12%',
|
|
@@ -4530,6 +4579,7 @@ function CTAOverlayHero(props) {
|
|
|
4530
4579
|
pointerEvents: 'none'
|
|
4531
4580
|
}
|
|
4532
4581
|
}), jsx("div", {
|
|
4582
|
+
"aria-hidden": true,
|
|
4533
4583
|
style: {
|
|
4534
4584
|
position: 'absolute',
|
|
4535
4585
|
bottom: '16%',
|
|
@@ -4554,19 +4604,19 @@ function CTAOverlayHero(props) {
|
|
|
4554
4604
|
children: [jsxs("div", {
|
|
4555
4605
|
children: [title && jsx("h2", {
|
|
4556
4606
|
style: {
|
|
4557
|
-
fontSize:
|
|
4607
|
+
fontSize: titlePx,
|
|
4558
4608
|
margin: 0,
|
|
4559
4609
|
fontWeight: 800,
|
|
4560
4610
|
lineHeight: 1.05,
|
|
4561
4611
|
letterSpacing: '-0.05em',
|
|
4562
|
-
color: bgImage ? ui$
|
|
4612
|
+
color: bgImage ? ui$x.white : fg
|
|
4563
4613
|
},
|
|
4564
4614
|
children: title
|
|
4565
4615
|
}), subtitle && jsx("p", {
|
|
4566
4616
|
style: {
|
|
4567
|
-
fontSize:
|
|
4568
|
-
color: bgImage ? 'rgba(255,255,255,0.78)' : ui$
|
|
4569
|
-
marginTop: 20,
|
|
4617
|
+
fontSize: subPx,
|
|
4618
|
+
color: bgImage ? 'rgba(255,255,255,0.78)' : ui$x.muted,
|
|
4619
|
+
marginTop: isMobile ? 12 : 20,
|
|
4570
4620
|
marginBottom: 0,
|
|
4571
4621
|
maxWidth: 640,
|
|
4572
4622
|
marginInline: 'auto',
|
|
@@ -4579,13 +4629,14 @@ function CTAOverlayHero(props) {
|
|
|
4579
4629
|
e.preventDefault();
|
|
4580
4630
|
onSubmit == null || onSubmit(Object.fromEntries(new FormData(e.currentTarget).entries()));
|
|
4581
4631
|
},
|
|
4632
|
+
"aria-label": "Email signup",
|
|
4582
4633
|
style: {
|
|
4583
4634
|
marginTop: 8,
|
|
4584
4635
|
display: 'inline-flex',
|
|
4585
4636
|
gap: 6,
|
|
4586
4637
|
alignItems: 'center',
|
|
4587
4638
|
justifySelf: 'center',
|
|
4588
|
-
background: bgImage ? 'rgba(255,255,255,0.12)' : ui$
|
|
4639
|
+
background: bgImage ? 'rgba(255,255,255,0.12)' : ui$x.white,
|
|
4589
4640
|
padding: 6,
|
|
4590
4641
|
borderRadius: 16,
|
|
4591
4642
|
border: `1px solid ${bgImage ? 'rgba(255,255,255,0.18)' : border}`,
|
|
@@ -4606,7 +4657,7 @@ function CTAOverlayHero(props) {
|
|
|
4606
4657
|
style: {
|
|
4607
4658
|
position: 'absolute',
|
|
4608
4659
|
left: 16,
|
|
4609
|
-
color: bgImage ? 'rgba(255,255,255,0.7)' : ui$
|
|
4660
|
+
color: bgImage ? 'rgba(255,255,255,0.7)' : ui$x.muted
|
|
4610
4661
|
}
|
|
4611
4662
|
}), jsx("input", {
|
|
4612
4663
|
name: "email",
|
|
@@ -4614,30 +4665,32 @@ function CTAOverlayHero(props) {
|
|
|
4614
4665
|
value: email,
|
|
4615
4666
|
onChange: e => setEmail(e.target.value),
|
|
4616
4667
|
placeholder: inputPlaceholder,
|
|
4668
|
+
"aria-label": inputPlaceholder,
|
|
4617
4669
|
style: {
|
|
4618
|
-
padding:
|
|
4670
|
+
padding: `${isMobile ? 14 : 16}px ${isMobile ? 14 : 16}px ${isMobile ? 14 : 16}px 48px`,
|
|
4619
4671
|
border: 'none',
|
|
4620
4672
|
outline: 'none',
|
|
4621
4673
|
background: 'transparent',
|
|
4622
|
-
color: bgImage ? ui$
|
|
4623
|
-
width: 280,
|
|
4624
|
-
fontSize: 15,
|
|
4674
|
+
color: bgImage ? ui$x.white : fg,
|
|
4675
|
+
width: isMobile ? 200 : 280,
|
|
4676
|
+
fontSize: isMobile ? 14 : 15,
|
|
4625
4677
|
boxSizing: 'border-box'
|
|
4626
4678
|
}
|
|
4627
4679
|
})]
|
|
4628
4680
|
}), jsxs("button", {
|
|
4629
4681
|
type: "submit",
|
|
4682
|
+
"aria-label": buttonText,
|
|
4630
4683
|
onMouseEnter: () => setIsHovered(true),
|
|
4631
4684
|
onMouseLeave: () => setIsHovered(false),
|
|
4632
4685
|
style: {
|
|
4633
|
-
padding:
|
|
4686
|
+
padding: `${isMobile ? 12 : 16}px ${isMobile ? 20 : 28}px`,
|
|
4634
4687
|
borderRadius: 12,
|
|
4635
4688
|
border: `1px solid ${accent}`,
|
|
4636
4689
|
background: accent,
|
|
4637
|
-
color: ui$
|
|
4690
|
+
color: ui$x.white,
|
|
4638
4691
|
cursor: 'pointer',
|
|
4639
4692
|
fontWeight: 700,
|
|
4640
|
-
fontSize: 15,
|
|
4693
|
+
fontSize: isMobile ? 14 : 15,
|
|
4641
4694
|
display: 'flex',
|
|
4642
4695
|
alignItems: 'center',
|
|
4643
4696
|
gap: 8,
|
|
@@ -4654,21 +4707,22 @@ function CTAOverlayHero(props) {
|
|
|
4654
4707
|
style: {
|
|
4655
4708
|
marginTop: 8,
|
|
4656
4709
|
display: 'flex',
|
|
4657
|
-
gap: 16,
|
|
4710
|
+
gap: isMobile ? 12 : 16,
|
|
4658
4711
|
justifyContent: 'center',
|
|
4659
4712
|
flexWrap: 'wrap'
|
|
4660
4713
|
},
|
|
4661
4714
|
children: [jsxs("button", {
|
|
4662
4715
|
type: "button",
|
|
4716
|
+
"aria-label": buttonText,
|
|
4663
4717
|
style: {
|
|
4664
|
-
padding:
|
|
4718
|
+
padding: `${isMobile ? 12 : 16}px ${isMobile ? 24 : 32}px`,
|
|
4665
4719
|
borderRadius: 12,
|
|
4666
4720
|
border: `1px solid ${accent}`,
|
|
4667
4721
|
background: accent,
|
|
4668
|
-
color: ui$
|
|
4722
|
+
color: ui$x.white,
|
|
4669
4723
|
cursor: 'pointer',
|
|
4670
4724
|
fontWeight: 700,
|
|
4671
|
-
fontSize: 16,
|
|
4725
|
+
fontSize: isMobile ? 14 : 16,
|
|
4672
4726
|
display: 'flex',
|
|
4673
4727
|
alignItems: 'center',
|
|
4674
4728
|
gap: 8,
|
|
@@ -4680,15 +4734,16 @@ function CTAOverlayHero(props) {
|
|
|
4680
4734
|
})]
|
|
4681
4735
|
}), jsxs("button", {
|
|
4682
4736
|
type: "button",
|
|
4737
|
+
"aria-label": "Watch demo",
|
|
4683
4738
|
style: {
|
|
4684
|
-
padding:
|
|
4739
|
+
padding: `${isMobile ? 12 : 16}px ${isMobile ? 24 : 32}px`,
|
|
4685
4740
|
borderRadius: 12,
|
|
4686
4741
|
border: `1px solid ${bgImage ? 'rgba(255,255,255,0.22)' : border}`,
|
|
4687
|
-
background: bgImage ? 'rgba(255,255,255,0.1)' : ui$
|
|
4688
|
-
color: bgImage ? ui$
|
|
4742
|
+
background: bgImage ? 'rgba(255,255,255,0.1)' : ui$x.white,
|
|
4743
|
+
color: bgImage ? ui$x.white : fg,
|
|
4689
4744
|
cursor: 'pointer',
|
|
4690
4745
|
fontWeight: 600,
|
|
4691
|
-
fontSize: 16,
|
|
4746
|
+
fontSize: isMobile ? 14 : 16,
|
|
4692
4747
|
display: 'flex',
|
|
4693
4748
|
alignItems: 'center',
|
|
4694
4749
|
gap: 8,
|
|
@@ -4706,10 +4761,10 @@ function CTAOverlayHero(props) {
|
|
|
4706
4761
|
display: 'flex',
|
|
4707
4762
|
alignItems: 'center',
|
|
4708
4763
|
justifyContent: 'center',
|
|
4709
|
-
gap: 24,
|
|
4764
|
+
gap: isMobile ? 16 : 24,
|
|
4710
4765
|
flexWrap: 'wrap',
|
|
4711
|
-
color: bgImage ? 'rgba(255,255,255,0.7)' : ui$
|
|
4712
|
-
fontSize: 13,
|
|
4766
|
+
color: bgImage ? 'rgba(255,255,255,0.7)' : ui$x.muted,
|
|
4767
|
+
fontSize: isMobile ? 12 : 13,
|
|
4713
4768
|
fontWeight: 500
|
|
4714
4769
|
},
|
|
4715
4770
|
children: [jsx("span", {
|
|
@@ -4724,6 +4779,557 @@ function CTAOverlayHero(props) {
|
|
|
4724
4779
|
}));
|
|
4725
4780
|
}
|
|
4726
4781
|
|
|
4782
|
+
const _excluded$M = ["as", "eyebrow", "title", "titleAccent", "titleSuffix", "subtitle", "ctaLabel", "ctaHref", "ctaSecondaryLabel", "ctaSecondaryHref", "imageSrc", "imageAlt", "stats", "layout", "titleSize", "subtitleSize", "bgColor", "textColor", "accentColor", "fontFamily", "minH", "maxW", "px", "py", "radius", "gap", "style", "className", "children"];
|
|
4783
|
+
const ui$w = {
|
|
4784
|
+
white: '#ffffff',
|
|
4785
|
+
black: '#09090b',
|
|
4786
|
+
muted: '#71717a'
|
|
4787
|
+
};
|
|
4788
|
+
/* ── Shared sub-components ──────────────────────────────────────── */
|
|
4789
|
+
function HeroEyebrow({
|
|
4790
|
+
text,
|
|
4791
|
+
accent,
|
|
4792
|
+
fontFamily = 'sans-serif',
|
|
4793
|
+
center,
|
|
4794
|
+
isMobile
|
|
4795
|
+
}) {
|
|
4796
|
+
if (isMobile) {
|
|
4797
|
+
return jsx("span", {
|
|
4798
|
+
style: {
|
|
4799
|
+
color: accent,
|
|
4800
|
+
fontFamily,
|
|
4801
|
+
fontSize: 12,
|
|
4802
|
+
fontWeight: 600,
|
|
4803
|
+
letterSpacing: 6,
|
|
4804
|
+
textTransform: 'uppercase',
|
|
4805
|
+
display: 'block',
|
|
4806
|
+
marginBottom: 24
|
|
4807
|
+
},
|
|
4808
|
+
children: text
|
|
4809
|
+
});
|
|
4810
|
+
}
|
|
4811
|
+
return jsxs("div", {
|
|
4812
|
+
style: {
|
|
4813
|
+
display: 'flex',
|
|
4814
|
+
alignItems: 'center',
|
|
4815
|
+
gap: 12,
|
|
4816
|
+
marginBottom: 32,
|
|
4817
|
+
justifyContent: center ? 'center' : 'flex-start'
|
|
4818
|
+
},
|
|
4819
|
+
children: [jsx("div", {
|
|
4820
|
+
style: {
|
|
4821
|
+
width: 48,
|
|
4822
|
+
height: 1,
|
|
4823
|
+
background: accent
|
|
4824
|
+
}
|
|
4825
|
+
}), jsx("span", {
|
|
4826
|
+
style: {
|
|
4827
|
+
color: accent,
|
|
4828
|
+
fontFamily,
|
|
4829
|
+
fontSize: 12,
|
|
4830
|
+
fontWeight: 600,
|
|
4831
|
+
letterSpacing: 4
|
|
4832
|
+
},
|
|
4833
|
+
children: text
|
|
4834
|
+
}), jsx("div", {
|
|
4835
|
+
style: {
|
|
4836
|
+
width: 48,
|
|
4837
|
+
height: 1,
|
|
4838
|
+
background: accent
|
|
4839
|
+
}
|
|
4840
|
+
})]
|
|
4841
|
+
});
|
|
4842
|
+
}
|
|
4843
|
+
function HeroCTAs({
|
|
4844
|
+
ctaLabel,
|
|
4845
|
+
ctaHref,
|
|
4846
|
+
ctaSecondaryLabel,
|
|
4847
|
+
ctaSecondaryHref,
|
|
4848
|
+
accent,
|
|
4849
|
+
fg,
|
|
4850
|
+
fontFamily = 'sans-serif',
|
|
4851
|
+
radius,
|
|
4852
|
+
isMobile,
|
|
4853
|
+
center
|
|
4854
|
+
}) {
|
|
4855
|
+
if (!ctaLabel && !ctaSecondaryLabel) return null;
|
|
4856
|
+
return jsxs("div", {
|
|
4857
|
+
style: {
|
|
4858
|
+
display: 'flex',
|
|
4859
|
+
flexWrap: 'wrap',
|
|
4860
|
+
gap: 12,
|
|
4861
|
+
justifyContent: center ? 'center' : 'flex-start'
|
|
4862
|
+
},
|
|
4863
|
+
children: [ctaLabel && jsxs("a", {
|
|
4864
|
+
href: ctaHref,
|
|
4865
|
+
style: {
|
|
4866
|
+
display: 'inline-flex',
|
|
4867
|
+
alignItems: 'center',
|
|
4868
|
+
gap: 8,
|
|
4869
|
+
padding: `${isMobile ? 12 : 16}px ${isMobile ? 24 : 32}px`,
|
|
4870
|
+
background: accent,
|
|
4871
|
+
color: ui$w.white,
|
|
4872
|
+
fontFamily,
|
|
4873
|
+
fontWeight: 700,
|
|
4874
|
+
fontSize: isMobile ? 14 : 16,
|
|
4875
|
+
letterSpacing: 1,
|
|
4876
|
+
borderRadius: radius,
|
|
4877
|
+
textDecoration: 'none',
|
|
4878
|
+
transition: 'all 0.2s ease'
|
|
4879
|
+
},
|
|
4880
|
+
children: [ctaLabel, jsx(Icon, {
|
|
4881
|
+
name: "arrow-right",
|
|
4882
|
+
size: 18
|
|
4883
|
+
})]
|
|
4884
|
+
}), ctaSecondaryLabel && jsx("a", {
|
|
4885
|
+
href: ctaSecondaryHref,
|
|
4886
|
+
style: {
|
|
4887
|
+
display: 'inline-flex',
|
|
4888
|
+
alignItems: 'center',
|
|
4889
|
+
gap: 8,
|
|
4890
|
+
padding: `${isMobile ? 12 : 16}px ${isMobile ? 24 : 32}px`,
|
|
4891
|
+
border: '1px solid rgba(255,255,255,0.4)',
|
|
4892
|
+
color: fg,
|
|
4893
|
+
fontFamily,
|
|
4894
|
+
fontWeight: 600,
|
|
4895
|
+
fontSize: isMobile ? 14 : 16,
|
|
4896
|
+
letterSpacing: 1,
|
|
4897
|
+
borderRadius: radius,
|
|
4898
|
+
textDecoration: 'none',
|
|
4899
|
+
transition: 'all 0.2s ease'
|
|
4900
|
+
},
|
|
4901
|
+
children: ctaSecondaryLabel
|
|
4902
|
+
})]
|
|
4903
|
+
});
|
|
4904
|
+
}
|
|
4905
|
+
function HeroStats({
|
|
4906
|
+
stats,
|
|
4907
|
+
accent,
|
|
4908
|
+
fontFamily = 'sans-serif',
|
|
4909
|
+
isMobile,
|
|
4910
|
+
center
|
|
4911
|
+
}) {
|
|
4912
|
+
if (!stats || stats.length === 0) return null;
|
|
4913
|
+
return jsx("div", {
|
|
4914
|
+
style: {
|
|
4915
|
+
display: 'flex',
|
|
4916
|
+
flexWrap: 'wrap',
|
|
4917
|
+
gap: isMobile ? 24 : 32,
|
|
4918
|
+
marginTop: isMobile ? 40 : 48,
|
|
4919
|
+
justifyContent: center ? 'center' : 'flex-start'
|
|
4920
|
+
},
|
|
4921
|
+
children: stats.map(stat => jsxs("div", {
|
|
4922
|
+
children: [jsx("p", {
|
|
4923
|
+
style: {
|
|
4924
|
+
fontFamily,
|
|
4925
|
+
color: accent,
|
|
4926
|
+
fontSize: 24,
|
|
4927
|
+
fontWeight: 700,
|
|
4928
|
+
lineHeight: 1
|
|
4929
|
+
},
|
|
4930
|
+
children: stat.value
|
|
4931
|
+
}), jsx("p", {
|
|
4932
|
+
style: {
|
|
4933
|
+
color: 'rgba(255,255,255,0.5)',
|
|
4934
|
+
fontFamily,
|
|
4935
|
+
fontSize: 10,
|
|
4936
|
+
letterSpacing: 1.5,
|
|
4937
|
+
marginTop: 4
|
|
4938
|
+
},
|
|
4939
|
+
children: stat.label.toUpperCase()
|
|
4940
|
+
})]
|
|
4941
|
+
}, stat.label))
|
|
4942
|
+
});
|
|
4943
|
+
}
|
|
4944
|
+
/* ── Main component ────────────────────────────────────────────── */
|
|
4945
|
+
function ImageHero(props) {
|
|
4946
|
+
var _t$minH, _t$maxW, _t$px, _t$py, _t$cardRadius, _t$gap, _ref, _ref2, _ref3;
|
|
4947
|
+
const t = useHeroTheme();
|
|
4948
|
+
const isMobile = useMediaQuery('(max-width: 768px)');
|
|
4949
|
+
const {
|
|
4950
|
+
as: Tag = 'section',
|
|
4951
|
+
eyebrow = 'Welcome',
|
|
4952
|
+
title = 'Build Something Amazing',
|
|
4953
|
+
titleAccent,
|
|
4954
|
+
titleSuffix,
|
|
4955
|
+
subtitle,
|
|
4956
|
+
ctaLabel,
|
|
4957
|
+
ctaHref = '#',
|
|
4958
|
+
ctaSecondaryLabel,
|
|
4959
|
+
ctaSecondaryHref = '#',
|
|
4960
|
+
imageSrc,
|
|
4961
|
+
imageAlt = 'Hero image',
|
|
4962
|
+
stats,
|
|
4963
|
+
layout = 'split',
|
|
4964
|
+
titleSize = 48,
|
|
4965
|
+
subtitleSize = 18,
|
|
4966
|
+
bgColor,
|
|
4967
|
+
textColor,
|
|
4968
|
+
accentColor,
|
|
4969
|
+
fontFamily = t.fontFamily,
|
|
4970
|
+
minH = (_t$minH = t.minH) != null ? _t$minH : '100vh',
|
|
4971
|
+
maxW = (_t$maxW = t.maxW) != null ? _t$maxW : 1200,
|
|
4972
|
+
px = (_t$px = t.px) != null ? _t$px : 24,
|
|
4973
|
+
py = (_t$py = t.py) != null ? _t$py : 48,
|
|
4974
|
+
radius = (_t$cardRadius = t.cardRadius) != null ? _t$cardRadius : 0,
|
|
4975
|
+
gap = (_t$gap = t.gap) != null ? _t$gap : 24,
|
|
4976
|
+
style = {},
|
|
4977
|
+
className = '',
|
|
4978
|
+
children
|
|
4979
|
+
} = props,
|
|
4980
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded$M);
|
|
4981
|
+
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref : ui$w.black;
|
|
4982
|
+
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 : '#ffffff';
|
|
4983
|
+
const accent = (_ref3 = accentColor != null ? accentColor : t.accentColor) != null ? _ref3 : '#8B5CF6';
|
|
4984
|
+
const rPx = isMobile ? 16 : px;
|
|
4985
|
+
const pyPx = isMobile ? 80 : py;
|
|
4986
|
+
const subSize = isMobile ? Math.max(14, Math.floor(subtitleSize * 0.85)) : subtitleSize;
|
|
4987
|
+
const overlay = `linear-gradient(135deg, ${bg}f2 0%, ${bg}99 60%, ${accent}14 100%)`;
|
|
4988
|
+
const shared = {
|
|
4989
|
+
accent,
|
|
4990
|
+
fontFamily,
|
|
4991
|
+
isMobile,
|
|
4992
|
+
radius
|
|
4993
|
+
};
|
|
4994
|
+
// ── Minimal ──
|
|
4995
|
+
if (layout === 'minimal') {
|
|
4996
|
+
return jsxs(Tag, _extends({
|
|
4997
|
+
className: className,
|
|
4998
|
+
style: _extends({
|
|
4999
|
+
position: 'relative',
|
|
5000
|
+
minHeight: isMobile ? 'auto' : minH,
|
|
5001
|
+
display: 'flex',
|
|
5002
|
+
alignItems: 'center',
|
|
5003
|
+
overflow: 'hidden',
|
|
5004
|
+
background: bg
|
|
5005
|
+
}, style)
|
|
5006
|
+
}, rest, {
|
|
5007
|
+
children: [!isMobile && jsxs(Fragment, {
|
|
5008
|
+
children: [jsx("div", {
|
|
5009
|
+
"aria-hidden": true,
|
|
5010
|
+
style: {
|
|
5011
|
+
position: 'absolute',
|
|
5012
|
+
top: 80,
|
|
5013
|
+
right: 80,
|
|
5014
|
+
width: 160,
|
|
5015
|
+
height: 160,
|
|
5016
|
+
border: `2px solid ${accent}30`
|
|
5017
|
+
}
|
|
5018
|
+
}), jsx("div", {
|
|
5019
|
+
"aria-hidden": true,
|
|
5020
|
+
style: {
|
|
5021
|
+
position: 'absolute',
|
|
5022
|
+
bottom: 128,
|
|
5023
|
+
left: 64,
|
|
5024
|
+
width: 96,
|
|
5025
|
+
height: 256,
|
|
5026
|
+
background: `${accent}10`
|
|
5027
|
+
}
|
|
5028
|
+
}), jsx("div", {
|
|
5029
|
+
"aria-hidden": true,
|
|
5030
|
+
style: {
|
|
5031
|
+
position: 'absolute',
|
|
5032
|
+
top: '50%',
|
|
5033
|
+
right: '33%',
|
|
5034
|
+
width: 1,
|
|
5035
|
+
height: 160,
|
|
5036
|
+
background: accent
|
|
5037
|
+
}
|
|
5038
|
+
})]
|
|
5039
|
+
}), jsx("div", {
|
|
5040
|
+
style: {
|
|
5041
|
+
position: 'relative',
|
|
5042
|
+
zIndex: 1,
|
|
5043
|
+
width: '100%',
|
|
5044
|
+
maxWidth: maxW,
|
|
5045
|
+
margin: '0 auto',
|
|
5046
|
+
padding: `${pyPx}px ${rPx}px`
|
|
5047
|
+
},
|
|
5048
|
+
children: jsxs("div", {
|
|
5049
|
+
style: {
|
|
5050
|
+
maxWidth: 768
|
|
5051
|
+
},
|
|
5052
|
+
children: [jsx(HeroEyebrow, _extends({
|
|
5053
|
+
text: eyebrow
|
|
5054
|
+
}, shared)), jsxs("h1", {
|
|
5055
|
+
style: {
|
|
5056
|
+
fontFamily,
|
|
5057
|
+
color: fg,
|
|
5058
|
+
fontSize: 'clamp(2.2rem, 7vw, 5.5rem)',
|
|
5059
|
+
fontWeight: 400,
|
|
5060
|
+
lineHeight: 0.95,
|
|
5061
|
+
letterSpacing: -1,
|
|
5062
|
+
textTransform: 'uppercase',
|
|
5063
|
+
marginTop: 16,
|
|
5064
|
+
overflowWrap: 'break-word'
|
|
5065
|
+
},
|
|
5066
|
+
children: [title, titleAccent && jsxs(Fragment, {
|
|
5067
|
+
children: [jsx("br", {}), jsx("span", {
|
|
5068
|
+
style: {
|
|
5069
|
+
color: accent
|
|
5070
|
+
},
|
|
5071
|
+
children: titleAccent
|
|
5072
|
+
})]
|
|
5073
|
+
})]
|
|
5074
|
+
}), subtitle && jsx("p", {
|
|
5075
|
+
style: {
|
|
5076
|
+
color: ui$w.muted,
|
|
5077
|
+
fontFamily,
|
|
5078
|
+
fontSize: subSize,
|
|
5079
|
+
lineHeight: 1.8,
|
|
5080
|
+
maxWidth: 400,
|
|
5081
|
+
marginTop: isMobile ? 24 : 32,
|
|
5082
|
+
marginBottom: isMobile ? 32 : 40
|
|
5083
|
+
},
|
|
5084
|
+
children: subtitle
|
|
5085
|
+
}), jsx(HeroCTAs, _extends({
|
|
5086
|
+
ctaLabel: ctaLabel,
|
|
5087
|
+
ctaHref: ctaHref,
|
|
5088
|
+
ctaSecondaryLabel: ctaSecondaryLabel,
|
|
5089
|
+
ctaSecondaryHref: ctaSecondaryHref,
|
|
5090
|
+
fg: fg
|
|
5091
|
+
}, shared)), jsx(HeroStats, _extends({
|
|
5092
|
+
stats: stats
|
|
5093
|
+
}, shared))]
|
|
5094
|
+
})
|
|
5095
|
+
})]
|
|
5096
|
+
}));
|
|
5097
|
+
}
|
|
5098
|
+
// ── Centered ──
|
|
5099
|
+
if (layout === 'centered') {
|
|
5100
|
+
return jsxs(Tag, _extends({
|
|
5101
|
+
className: className,
|
|
5102
|
+
style: _extends({
|
|
5103
|
+
position: 'relative',
|
|
5104
|
+
minHeight: isMobile ? 'auto' : minH,
|
|
5105
|
+
display: 'flex',
|
|
5106
|
+
alignItems: 'center',
|
|
5107
|
+
justifyContent: 'center',
|
|
5108
|
+
overflow: 'hidden',
|
|
5109
|
+
background: bg
|
|
5110
|
+
}, style)
|
|
5111
|
+
}, rest, {
|
|
5112
|
+
children: [imageSrc && jsxs("div", {
|
|
5113
|
+
style: {
|
|
5114
|
+
position: 'absolute',
|
|
5115
|
+
inset: 0
|
|
5116
|
+
},
|
|
5117
|
+
children: [jsx("img", {
|
|
5118
|
+
src: imageSrc,
|
|
5119
|
+
alt: imageAlt,
|
|
5120
|
+
style: {
|
|
5121
|
+
width: '100%',
|
|
5122
|
+
height: '100%',
|
|
5123
|
+
objectFit: 'cover'
|
|
5124
|
+
}
|
|
5125
|
+
}), jsx("div", {
|
|
5126
|
+
"aria-hidden": true,
|
|
5127
|
+
style: {
|
|
5128
|
+
position: 'absolute',
|
|
5129
|
+
inset: 0,
|
|
5130
|
+
background: overlay
|
|
5131
|
+
}
|
|
5132
|
+
})]
|
|
5133
|
+
}), jsxs("div", {
|
|
5134
|
+
style: {
|
|
5135
|
+
position: 'relative',
|
|
5136
|
+
zIndex: 1,
|
|
5137
|
+
width: '100%',
|
|
5138
|
+
maxWidth: isMobile ? '100%' : 800,
|
|
5139
|
+
margin: '0 auto',
|
|
5140
|
+
padding: `${pyPx}px ${rPx}px`,
|
|
5141
|
+
textAlign: 'center'
|
|
5142
|
+
},
|
|
5143
|
+
children: [jsx(HeroEyebrow, _extends({
|
|
5144
|
+
text: eyebrow
|
|
5145
|
+
}, shared, {
|
|
5146
|
+
center: true
|
|
5147
|
+
})), jsxs("h1", {
|
|
5148
|
+
style: {
|
|
5149
|
+
fontFamily,
|
|
5150
|
+
color: fg,
|
|
5151
|
+
fontSize: `clamp(${isMobile ? '2rem' : '2.5rem'}, 6vw, 5.5rem)`,
|
|
5152
|
+
lineHeight: 1.05,
|
|
5153
|
+
letterSpacing: -1,
|
|
5154
|
+
margin: 0
|
|
5155
|
+
},
|
|
5156
|
+
children: [title, titleAccent && jsxs(Fragment, {
|
|
5157
|
+
children: [jsx("br", {}), jsx("em", {
|
|
5158
|
+
style: {
|
|
5159
|
+
color: accent,
|
|
5160
|
+
fontStyle: 'italic'
|
|
5161
|
+
},
|
|
5162
|
+
children: titleAccent
|
|
5163
|
+
})]
|
|
5164
|
+
}), titleSuffix && ` ${titleSuffix}`]
|
|
5165
|
+
}), subtitle && jsx("p", {
|
|
5166
|
+
style: {
|
|
5167
|
+
fontFamily,
|
|
5168
|
+
color: 'rgba(255,255,255,0.7)',
|
|
5169
|
+
fontSize: subSize,
|
|
5170
|
+
lineHeight: 1.7,
|
|
5171
|
+
maxWidth: 520,
|
|
5172
|
+
margin: '20px auto 32px'
|
|
5173
|
+
},
|
|
5174
|
+
children: subtitle
|
|
5175
|
+
}), jsx(HeroCTAs, _extends({
|
|
5176
|
+
ctaLabel: ctaLabel,
|
|
5177
|
+
ctaHref: ctaHref,
|
|
5178
|
+
ctaSecondaryLabel: ctaSecondaryLabel,
|
|
5179
|
+
ctaSecondaryHref: ctaSecondaryHref,
|
|
5180
|
+
fg: fg
|
|
5181
|
+
}, shared, {
|
|
5182
|
+
center: true
|
|
5183
|
+
})), jsx(HeroStats, _extends({
|
|
5184
|
+
stats: stats
|
|
5185
|
+
}, shared, {
|
|
5186
|
+
center: true
|
|
5187
|
+
}))]
|
|
5188
|
+
})]
|
|
5189
|
+
}));
|
|
5190
|
+
}
|
|
5191
|
+
// ── Split (default) ──
|
|
5192
|
+
return jsxs(Tag, _extends({
|
|
5193
|
+
className: className,
|
|
5194
|
+
style: _extends({
|
|
5195
|
+
position: 'relative',
|
|
5196
|
+
minHeight: isMobile ? 'auto' : minH,
|
|
5197
|
+
display: 'flex',
|
|
5198
|
+
alignItems: 'center',
|
|
5199
|
+
overflow: 'hidden',
|
|
5200
|
+
background: bg
|
|
5201
|
+
}, style)
|
|
5202
|
+
}, rest, {
|
|
5203
|
+
children: [imageSrc && jsxs("div", {
|
|
5204
|
+
style: {
|
|
5205
|
+
position: 'absolute',
|
|
5206
|
+
inset: 0
|
|
5207
|
+
},
|
|
5208
|
+
children: [jsx("img", {
|
|
5209
|
+
src: imageSrc,
|
|
5210
|
+
alt: imageAlt,
|
|
5211
|
+
style: {
|
|
5212
|
+
width: '100%',
|
|
5213
|
+
height: '100%',
|
|
5214
|
+
objectFit: 'cover'
|
|
5215
|
+
}
|
|
5216
|
+
}), jsx("div", {
|
|
5217
|
+
"aria-hidden": true,
|
|
5218
|
+
style: {
|
|
5219
|
+
position: 'absolute',
|
|
5220
|
+
inset: 0,
|
|
5221
|
+
background: overlay
|
|
5222
|
+
}
|
|
5223
|
+
})]
|
|
5224
|
+
}), !isMobile && jsxs(Fragment, {
|
|
5225
|
+
children: [jsx("div", {
|
|
5226
|
+
"aria-hidden": true,
|
|
5227
|
+
style: {
|
|
5228
|
+
position: 'absolute',
|
|
5229
|
+
left: 0,
|
|
5230
|
+
top: 0,
|
|
5231
|
+
height: '100%',
|
|
5232
|
+
width: 1,
|
|
5233
|
+
background: `linear-gradient(to bottom, transparent, ${accent}40, transparent)`
|
|
5234
|
+
}
|
|
5235
|
+
}), jsx("div", {
|
|
5236
|
+
"aria-hidden": true,
|
|
5237
|
+
style: {
|
|
5238
|
+
position: 'absolute',
|
|
5239
|
+
right: 0,
|
|
5240
|
+
top: 0,
|
|
5241
|
+
height: '100%',
|
|
5242
|
+
width: 1,
|
|
5243
|
+
background: `linear-gradient(to bottom, transparent, ${accent}40, transparent)`
|
|
5244
|
+
}
|
|
5245
|
+
})]
|
|
5246
|
+
}), jsxs("div", {
|
|
5247
|
+
style: {
|
|
5248
|
+
position: 'relative',
|
|
5249
|
+
zIndex: 1,
|
|
5250
|
+
width: '100%',
|
|
5251
|
+
maxWidth: maxW,
|
|
5252
|
+
margin: '0 auto',
|
|
5253
|
+
padding: `${pyPx}px ${rPx}px`,
|
|
5254
|
+
display: 'grid',
|
|
5255
|
+
gridTemplateColumns: isMobile ? '1fr' : '1fr 1fr',
|
|
5256
|
+
gap: isMobile ? 32 : gap,
|
|
5257
|
+
alignItems: 'center'
|
|
5258
|
+
},
|
|
5259
|
+
children: [jsxs("div", {
|
|
5260
|
+
children: [jsx(HeroEyebrow, _extends({
|
|
5261
|
+
text: eyebrow
|
|
5262
|
+
}, shared)), jsxs("h1", {
|
|
5263
|
+
style: {
|
|
5264
|
+
fontFamily,
|
|
5265
|
+
color: fg,
|
|
5266
|
+
fontSize: `clamp(${isMobile ? '2rem' : '3rem'}, 6vw, 5.5rem)`,
|
|
5267
|
+
lineHeight: 1.05,
|
|
5268
|
+
letterSpacing: -1,
|
|
5269
|
+
margin: 0
|
|
5270
|
+
},
|
|
5271
|
+
children: [title, titleAccent && jsxs(Fragment, {
|
|
5272
|
+
children: [jsx("br", {}), jsx("em", {
|
|
5273
|
+
style: {
|
|
5274
|
+
color: accent,
|
|
5275
|
+
fontStyle: 'italic'
|
|
5276
|
+
},
|
|
5277
|
+
children: titleAccent
|
|
5278
|
+
})]
|
|
5279
|
+
}), titleSuffix && ` ${titleSuffix}`]
|
|
5280
|
+
}), subtitle && jsx("p", {
|
|
5281
|
+
style: {
|
|
5282
|
+
fontFamily,
|
|
5283
|
+
color: 'rgba(255,255,255,0.7)',
|
|
5284
|
+
fontSize: subSize,
|
|
5285
|
+
lineHeight: 1.7,
|
|
5286
|
+
maxWidth: 480,
|
|
5287
|
+
marginTop: isMobile ? 20 : 24,
|
|
5288
|
+
marginBottom: isMobile ? 32 : 40
|
|
5289
|
+
},
|
|
5290
|
+
children: subtitle
|
|
5291
|
+
}), jsx(HeroCTAs, _extends({
|
|
5292
|
+
ctaLabel: ctaLabel,
|
|
5293
|
+
ctaHref: ctaHref,
|
|
5294
|
+
ctaSecondaryLabel: ctaSecondaryLabel,
|
|
5295
|
+
ctaSecondaryHref: ctaSecondaryHref,
|
|
5296
|
+
fg: fg
|
|
5297
|
+
}, shared)), jsx(HeroStats, _extends({
|
|
5298
|
+
stats: stats
|
|
5299
|
+
}, shared))]
|
|
5300
|
+
}), !isMobile && imageSrc && jsx("div", {
|
|
5301
|
+
style: {
|
|
5302
|
+
position: 'relative',
|
|
5303
|
+
height: 580,
|
|
5304
|
+
display: 'flex',
|
|
5305
|
+
justifyContent: 'flex-end'
|
|
5306
|
+
},
|
|
5307
|
+
children: jsx("div", {
|
|
5308
|
+
style: {
|
|
5309
|
+
position: 'absolute',
|
|
5310
|
+
right: 0,
|
|
5311
|
+
top: 0,
|
|
5312
|
+
width: 288,
|
|
5313
|
+
height: 384,
|
|
5314
|
+
overflow: 'hidden',
|
|
5315
|
+
borderRadius: radius || 12,
|
|
5316
|
+
boxShadow: `0 0 60px ${accent}20`
|
|
5317
|
+
},
|
|
5318
|
+
children: jsx("img", {
|
|
5319
|
+
src: imageSrc,
|
|
5320
|
+
alt: imageAlt,
|
|
5321
|
+
style: {
|
|
5322
|
+
width: '100%',
|
|
5323
|
+
height: '100%',
|
|
5324
|
+
objectFit: 'cover'
|
|
5325
|
+
}
|
|
5326
|
+
})
|
|
5327
|
+
})
|
|
5328
|
+
}), children]
|
|
5329
|
+
})]
|
|
5330
|
+
}));
|
|
5331
|
+
}
|
|
5332
|
+
|
|
4727
5333
|
const _excluded$L = ["as", "title", "subtitle", "pattern", "intensity", "badge", "ctaLabel", "onCta", "stats", "titleSize", "subtitleSize", "bgColor", "textColor", "accentColor", "borderColor", "fontFamily", "minH", "maxW", "px", "py", "radius", "gap", "style", "className"];
|
|
4728
5334
|
function usePattern(kind, accent, intensity) {
|
|
4729
5335
|
return useMemo(() => {
|
|
@@ -4734,13 +5340,7 @@ function usePattern(kind, accent, intensity) {
|
|
|
4734
5340
|
return `linear-gradient(${accent}${Math.round(intensity * 16).toString(16).padStart(2, '0')} 1px, transparent 1px),
|
|
4735
5341
|
linear-gradient(90deg, ${accent}${Math.round(intensity * 16).toString(16).padStart(2, '0')} 1px, transparent 1px)`;
|
|
4736
5342
|
}
|
|
4737
|
-
return `repeating-linear-gradient(
|
|
4738
|
-
45deg,
|
|
4739
|
-
transparent,
|
|
4740
|
-
transparent 10px,
|
|
4741
|
-
${accent}${Math.round(intensity * 14).toString(16).padStart(2, '0')} 10px,
|
|
4742
|
-
${accent}${Math.round(intensity * 14).toString(16).padStart(2, '0')} 11px
|
|
4743
|
-
)`;
|
|
5343
|
+
return `repeating-linear-gradient(45deg, transparent, transparent 10px, ${accent}${Math.round(intensity * 14).toString(16).padStart(2, '0')} 10px, ${accent}${Math.round(intensity * 14).toString(16).padStart(2, '0')} 11px)`;
|
|
4744
5344
|
}, [kind, accent, intensity]);
|
|
4745
5345
|
}
|
|
4746
5346
|
const defaultStats = [{
|
|
@@ -4755,13 +5355,14 @@ const defaultStats = [{
|
|
|
4755
5355
|
}];
|
|
4756
5356
|
const ui$v = {
|
|
4757
5357
|
white: '#ffffff',
|
|
4758
|
-
black: '#09090b',
|
|
4759
5358
|
text: '#18181b',
|
|
4760
5359
|
muted: '#71717a',
|
|
4761
|
-
border: '#e4e4e7'
|
|
5360
|
+
border: '#e4e4e7'
|
|
5361
|
+
};
|
|
4762
5362
|
function PatternedHero(props) {
|
|
4763
5363
|
var _t$minH, _t$maxW, _t$px, _t$py, _t$cardRadius, _t$gap, _ref, _ref2, _ref3, _ref4, _ref5;
|
|
4764
5364
|
const t = useHeroTheme();
|
|
5365
|
+
const isMobile = useMediaQuery('(max-width: 768px)');
|
|
4765
5366
|
const {
|
|
4766
5367
|
as: Tag = 'section',
|
|
4767
5368
|
title = 'Built for Modern Development',
|
|
@@ -4789,13 +5390,17 @@ function PatternedHero(props) {
|
|
|
4789
5390
|
className = ''
|
|
4790
5391
|
} = props,
|
|
4791
5392
|
rest = _objectWithoutPropertiesLoose(props, _excluded$L);
|
|
4792
|
-
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref :
|
|
5393
|
+
const bg = (_ref = bgColor != null ? bgColor : t.bgColor) != null ? _ref : '#ffffff';
|
|
4793
5394
|
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 : ui$v.text;
|
|
4794
|
-
const accent = (_ref3 = accentColor != null ? accentColor : t.accentColor) != null ? _ref3 :
|
|
5395
|
+
const accent = (_ref3 = accentColor != null ? accentColor : t.accentColor) != null ? _ref3 : '#09090b';
|
|
4795
5396
|
const border = (_ref4 = (_ref5 = borderColor != null ? borderColor : t.cardBorder) != null ? _ref5 : t.borderColor) != null ? _ref4 : ui$v.border;
|
|
4796
|
-
const patternBg = usePattern(pattern, accent, intensity);
|
|
5397
|
+
const patternBg = usePattern(pattern, accent, isMobile ? intensity * 0.6 : intensity);
|
|
4797
5398
|
const sz = pattern === 'dots' ? '20px 20px' : pattern === 'grid' ? '32px 32px' : undefined;
|
|
4798
5399
|
const [hover, setHover] = useState(false);
|
|
5400
|
+
const rPx = isMobile ? 16 : px;
|
|
5401
|
+
const pyPx = isMobile ? 32 : py;
|
|
5402
|
+
const titlePx = isMobile ? Math.max(28, Math.floor(titleSize * 0.6)) : titleSize;
|
|
5403
|
+
const subPx = isMobile ? Math.max(14, Math.floor(subtitleSize * 0.85)) : subtitleSize;
|
|
4799
5404
|
return jsxs(Tag, _extends({
|
|
4800
5405
|
className: className,
|
|
4801
5406
|
style: _extends({
|
|
@@ -4805,7 +5410,7 @@ function PatternedHero(props) {
|
|
|
4805
5410
|
color: fg,
|
|
4806
5411
|
fontFamily,
|
|
4807
5412
|
minHeight: typeof minH === 'number' ? `${minH}px` : minH,
|
|
4808
|
-
padding: `${
|
|
5413
|
+
padding: `${pyPx}px ${rPx}px`,
|
|
4809
5414
|
borderRadius: radius,
|
|
4810
5415
|
border: `1px solid ${border}`,
|
|
4811
5416
|
position: 'relative',
|
|
@@ -4821,7 +5426,7 @@ function PatternedHero(props) {
|
|
|
4821
5426
|
backgroundImage: patternBg,
|
|
4822
5427
|
backgroundSize: sz,
|
|
4823
5428
|
zIndex: 0,
|
|
4824
|
-
opacity: 0.8
|
|
5429
|
+
opacity: isMobile ? 0.4 : 0.8
|
|
4825
5430
|
}
|
|
4826
5431
|
}), jsx("div", {
|
|
4827
5432
|
"aria-hidden": true,
|
|
@@ -4831,7 +5436,7 @@ function PatternedHero(props) {
|
|
|
4831
5436
|
background: 'linear-gradient(180deg, rgba(255,255,255,0.78), rgba(255,255,255,0))',
|
|
4832
5437
|
zIndex: 0
|
|
4833
5438
|
}
|
|
4834
|
-
}), jsx("div", {
|
|
5439
|
+
}), !isMobile && jsx("div", {
|
|
4835
5440
|
"aria-hidden": true,
|
|
4836
5441
|
style: {
|
|
4837
5442
|
position: 'absolute',
|
|
@@ -4864,7 +5469,7 @@ function PatternedHero(props) {
|
|
|
4864
5469
|
color: fg,
|
|
4865
5470
|
fontSize: 13,
|
|
4866
5471
|
fontWeight: 600,
|
|
4867
|
-
marginBottom: 24,
|
|
5472
|
+
marginBottom: isMobile ? 16 : 24,
|
|
4868
5473
|
boxShadow: '0 1px 2px rgba(9,9,11,0.04)'
|
|
4869
5474
|
},
|
|
4870
5475
|
children: [jsx(Icon, {
|
|
@@ -4873,7 +5478,7 @@ function PatternedHero(props) {
|
|
|
4873
5478
|
}), badge]
|
|
4874
5479
|
}), title && jsx("h2", {
|
|
4875
5480
|
style: {
|
|
4876
|
-
fontSize:
|
|
5481
|
+
fontSize: titlePx,
|
|
4877
5482
|
margin: 0,
|
|
4878
5483
|
fontWeight: 800,
|
|
4879
5484
|
lineHeight: 1.05,
|
|
@@ -4883,9 +5488,9 @@ function PatternedHero(props) {
|
|
|
4883
5488
|
children: title
|
|
4884
5489
|
}), subtitle && jsx("p", {
|
|
4885
5490
|
style: {
|
|
4886
|
-
fontSize:
|
|
5491
|
+
fontSize: subPx,
|
|
4887
5492
|
color: ui$v.muted,
|
|
4888
|
-
marginTop: 20,
|
|
5493
|
+
marginTop: isMobile ? 12 : 20,
|
|
4889
5494
|
marginBottom: 0,
|
|
4890
5495
|
maxWidth: 640,
|
|
4891
5496
|
marginInline: 'auto',
|
|
@@ -4894,24 +5499,25 @@ function PatternedHero(props) {
|
|
|
4894
5499
|
children: subtitle
|
|
4895
5500
|
}), jsx("div", {
|
|
4896
5501
|
style: {
|
|
4897
|
-
marginTop: 32,
|
|
5502
|
+
marginTop: isMobile ? 24 : 32,
|
|
4898
5503
|
display: 'flex',
|
|
4899
5504
|
justifyContent: 'center'
|
|
4900
5505
|
},
|
|
4901
5506
|
children: jsxs("button", {
|
|
4902
5507
|
type: "button",
|
|
4903
5508
|
onClick: onCta,
|
|
5509
|
+
"aria-label": ctaLabel,
|
|
4904
5510
|
onMouseEnter: () => setHover(true),
|
|
4905
5511
|
onMouseLeave: () => setHover(false),
|
|
4906
5512
|
style: {
|
|
4907
|
-
padding:
|
|
5513
|
+
padding: `${isMobile ? 12 : 16}px ${isMobile ? 24 : 32}px`,
|
|
4908
5514
|
borderRadius: 12,
|
|
4909
5515
|
border: `1px solid ${accent}`,
|
|
4910
5516
|
background: accent,
|
|
4911
5517
|
color: ui$v.white,
|
|
4912
5518
|
cursor: 'pointer',
|
|
4913
5519
|
fontWeight: 700,
|
|
4914
|
-
fontSize: 16,
|
|
5520
|
+
fontSize: isMobile ? 14 : 16,
|
|
4915
5521
|
display: 'flex',
|
|
4916
5522
|
alignItems: 'center',
|
|
4917
5523
|
gap: 8,
|
|
@@ -4926,10 +5532,10 @@ function PatternedHero(props) {
|
|
|
4926
5532
|
})
|
|
4927
5533
|
}), stats.length > 0 && jsx("div", {
|
|
4928
5534
|
style: {
|
|
4929
|
-
marginTop: 52,
|
|
5535
|
+
marginTop: isMobile ? 32 : 52,
|
|
4930
5536
|
display: 'flex',
|
|
4931
5537
|
justifyContent: 'center',
|
|
4932
|
-
gap: 48,
|
|
5538
|
+
gap: isMobile ? 24 : 48,
|
|
4933
5539
|
flexWrap: 'wrap'
|
|
4934
5540
|
},
|
|
4935
5541
|
children: stats.map((s, i) => jsxs("div", {
|
|
@@ -4938,7 +5544,7 @@ function PatternedHero(props) {
|
|
|
4938
5544
|
},
|
|
4939
5545
|
children: [jsx("div", {
|
|
4940
5546
|
style: {
|
|
4941
|
-
fontSize: 32,
|
|
5547
|
+
fontSize: isMobile ? 24 : 32,
|
|
4942
5548
|
fontWeight: 800,
|
|
4943
5549
|
color: fg,
|
|
4944
5550
|
letterSpacing: '-0.03em'
|
|
@@ -4946,7 +5552,7 @@ function PatternedHero(props) {
|
|
|
4946
5552
|
children: s.value
|
|
4947
5553
|
}), jsx("div", {
|
|
4948
5554
|
style: {
|
|
4949
|
-
fontSize: 13,
|
|
5555
|
+
fontSize: isMobile ? 12 : 13,
|
|
4950
5556
|
color: ui$v.muted,
|
|
4951
5557
|
marginTop: 6,
|
|
4952
5558
|
fontWeight: 500
|
|
@@ -4966,10 +5572,12 @@ const ui$u = {
|
|
|
4966
5572
|
text: '#18181b',
|
|
4967
5573
|
muted: '#71717a',
|
|
4968
5574
|
border: '#e4e4e7',
|
|
4969
|
-
surface: '#fafafa'
|
|
5575
|
+
surface: '#fafafa'
|
|
5576
|
+
};
|
|
4970
5577
|
function SplitHero(props) {
|
|
4971
5578
|
var _t$minH, _t$maxW, _t$px, _t$py, _t$cardRadius, _t$gap, _ref, _ref2, _ref3, _ref4, _ref5;
|
|
4972
5579
|
const t = useHeroTheme();
|
|
5580
|
+
const isMobile = useMediaQuery('(max-width: 768px)');
|
|
4973
5581
|
const {
|
|
4974
5582
|
as: Tag = 'section',
|
|
4975
5583
|
title = 'Everything You Need to Succeed',
|
|
@@ -5004,6 +5612,10 @@ function SplitHero(props) {
|
|
|
5004
5612
|
const accent = (_ref3 = accentColor != null ? accentColor : t.accentColor) != null ? _ref3 : ui$u.black;
|
|
5005
5613
|
const border = (_ref4 = (_ref5 = borderColor != null ? borderColor : t.cardBorder) != null ? _ref5 : t.borderColor) != null ? _ref4 : ui$u.border;
|
|
5006
5614
|
const [hover, setHover] = useState(false);
|
|
5615
|
+
const rPx = isMobile ? 16 : px;
|
|
5616
|
+
const pyPx = isMobile ? 32 : py;
|
|
5617
|
+
const titlePx = isMobile ? Math.max(24, Math.floor(titleSize * 0.65)) : titleSize;
|
|
5618
|
+
const subPx = isMobile ? Math.max(14, Math.floor(subtitleSize * 0.85)) : subtitleSize;
|
|
5007
5619
|
return jsxs(Tag, _extends({
|
|
5008
5620
|
className: className,
|
|
5009
5621
|
style: _extends({
|
|
@@ -5013,7 +5625,7 @@ function SplitHero(props) {
|
|
|
5013
5625
|
color: fg,
|
|
5014
5626
|
fontFamily,
|
|
5015
5627
|
minHeight: typeof minH === 'number' ? `${minH}px` : minH,
|
|
5016
|
-
padding: `${
|
|
5628
|
+
padding: `${pyPx}px ${rPx}px`,
|
|
5017
5629
|
borderRadius: radius,
|
|
5018
5630
|
border: `1px solid ${border}`,
|
|
5019
5631
|
position: 'relative',
|
|
@@ -5029,7 +5641,7 @@ function SplitHero(props) {
|
|
|
5029
5641
|
background: 'linear-gradient(180deg, rgba(250,250,250,0.72), rgba(255,255,255,0))',
|
|
5030
5642
|
pointerEvents: 'none'
|
|
5031
5643
|
}
|
|
5032
|
-
}), jsx("div", {
|
|
5644
|
+
}), !isMobile && jsx("div", {
|
|
5033
5645
|
"aria-hidden": true,
|
|
5034
5646
|
style: {
|
|
5035
5647
|
position: 'absolute',
|
|
@@ -5047,8 +5659,8 @@ function SplitHero(props) {
|
|
|
5047
5659
|
width: '100%',
|
|
5048
5660
|
maxWidth: maxW,
|
|
5049
5661
|
display: 'grid',
|
|
5050
|
-
gridTemplateColumns: '1fr 1fr',
|
|
5051
|
-
gap,
|
|
5662
|
+
gridTemplateColumns: isMobile ? '1fr' : '1fr 1fr',
|
|
5663
|
+
gap: isMobile ? 32 : gap,
|
|
5052
5664
|
alignItems: 'center',
|
|
5053
5665
|
direction: reverse ? 'rtl' : 'ltr',
|
|
5054
5666
|
position: 'relative',
|
|
@@ -5070,7 +5682,7 @@ function SplitHero(props) {
|
|
|
5070
5682
|
color: fg,
|
|
5071
5683
|
fontSize: 13,
|
|
5072
5684
|
fontWeight: 600,
|
|
5073
|
-
marginBottom: 24,
|
|
5685
|
+
marginBottom: isMobile ? 16 : 24,
|
|
5074
5686
|
boxShadow: '0 1px 2px rgba(9,9,11,0.04)'
|
|
5075
5687
|
},
|
|
5076
5688
|
children: [jsx(Icon, {
|
|
@@ -5079,7 +5691,7 @@ function SplitHero(props) {
|
|
|
5079
5691
|
}), badge]
|
|
5080
5692
|
}), title && jsx("h2", {
|
|
5081
5693
|
style: {
|
|
5082
|
-
fontSize:
|
|
5694
|
+
fontSize: titlePx,
|
|
5083
5695
|
margin: 0,
|
|
5084
5696
|
fontWeight: 800,
|
|
5085
5697
|
lineHeight: 1.08,
|
|
@@ -5089,9 +5701,9 @@ function SplitHero(props) {
|
|
|
5089
5701
|
children: title
|
|
5090
5702
|
}), subtitle && jsx("p", {
|
|
5091
5703
|
style: {
|
|
5092
|
-
fontSize:
|
|
5704
|
+
fontSize: subPx,
|
|
5093
5705
|
color: ui$u.muted,
|
|
5094
|
-
marginTop: 18,
|
|
5706
|
+
marginTop: isMobile ? 12 : 18,
|
|
5095
5707
|
marginBottom: 0,
|
|
5096
5708
|
lineHeight: 1.7
|
|
5097
5709
|
},
|
|
@@ -5100,7 +5712,7 @@ function SplitHero(props) {
|
|
|
5100
5712
|
style: {
|
|
5101
5713
|
listStyle: 'none',
|
|
5102
5714
|
padding: 0,
|
|
5103
|
-
margin:
|
|
5715
|
+
margin: `${isMobile ? 20 : 28}px 0 0`,
|
|
5104
5716
|
display: 'flex',
|
|
5105
5717
|
flexDirection: 'column',
|
|
5106
5718
|
gap: 14
|
|
@@ -5110,7 +5722,7 @@ function SplitHero(props) {
|
|
|
5110
5722
|
display: 'flex',
|
|
5111
5723
|
alignItems: 'center',
|
|
5112
5724
|
gap: 12,
|
|
5113
|
-
fontSize: 15,
|
|
5725
|
+
fontSize: isMobile ? 14 : 15,
|
|
5114
5726
|
color: fg,
|
|
5115
5727
|
fontWeight: 500
|
|
5116
5728
|
},
|
|
@@ -5136,22 +5748,23 @@ function SplitHero(props) {
|
|
|
5136
5748
|
}, i))
|
|
5137
5749
|
}), jsx("div", {
|
|
5138
5750
|
style: {
|
|
5139
|
-
marginTop: 36
|
|
5751
|
+
marginTop: isMobile ? 24 : 36
|
|
5140
5752
|
},
|
|
5141
5753
|
children: jsxs("button", {
|
|
5142
5754
|
type: "button",
|
|
5143
5755
|
onClick: onCta,
|
|
5756
|
+
"aria-label": ctaLabel,
|
|
5144
5757
|
onMouseEnter: () => setHover(true),
|
|
5145
5758
|
onMouseLeave: () => setHover(false),
|
|
5146
5759
|
style: {
|
|
5147
|
-
padding:
|
|
5760
|
+
padding: `${isMobile ? 12 : 16}px ${isMobile ? 24 : 32}px`,
|
|
5148
5761
|
borderRadius: 12,
|
|
5149
5762
|
border: `1px solid ${accent}`,
|
|
5150
5763
|
background: accent,
|
|
5151
5764
|
color: ui$u.white,
|
|
5152
5765
|
cursor: 'pointer',
|
|
5153
5766
|
fontWeight: 700,
|
|
5154
|
-
fontSize: 16,
|
|
5767
|
+
fontSize: isMobile ? 14 : 16,
|
|
5155
5768
|
display: 'inline-flex',
|
|
5156
5769
|
alignItems: 'center',
|
|
5157
5770
|
gap: 8,
|
|
@@ -5165,7 +5778,7 @@ function SplitHero(props) {
|
|
|
5165
5778
|
})]
|
|
5166
5779
|
})
|
|
5167
5780
|
})]
|
|
5168
|
-
}), jsx("div", {
|
|
5781
|
+
}), !isMobile && jsx("div", {
|
|
5169
5782
|
style: {
|
|
5170
5783
|
direction: 'ltr'
|
|
5171
5784
|
},
|
|
@@ -5230,6 +5843,7 @@ const ui$t = {
|
|
|
5230
5843
|
function VideoHeaderHero(props) {
|
|
5231
5844
|
var _t$minH, _t$maxW, _t$px, _t$py, _t$cardRadius, _ref, _ref2, _ref3, _ref4, _ref5;
|
|
5232
5845
|
const t = useHeroTheme();
|
|
5846
|
+
const isMobile = useMediaQuery('(max-width: 768px)');
|
|
5233
5847
|
const {
|
|
5234
5848
|
as: Tag = 'section',
|
|
5235
5849
|
videoSrc,
|
|
@@ -5261,8 +5875,13 @@ function VideoHeaderHero(props) {
|
|
|
5261
5875
|
const fg = (_ref2 = textColor != null ? textColor : t.textColor) != null ? _ref2 : ui$t.white;
|
|
5262
5876
|
const border = (_ref3 = (_ref4 = borderColor != null ? borderColor : t.cardBorder) != null ? _ref4 : t.borderColor) != null ? _ref3 : ui$t.border;
|
|
5263
5877
|
const accent = (_ref5 = accentColor != null ? accentColor : t.accentColor) != null ? _ref5 : ui$t.white;
|
|
5878
|
+
const rPx = isMobile ? 16 : px;
|
|
5879
|
+
const pyPx = isMobile ? 32 : py;
|
|
5880
|
+
const titlePx = isMobile ? Math.max(28, Math.floor(titleSize * 0.65)) : titleSize;
|
|
5881
|
+
const subPx = isMobile ? Math.max(14, Math.floor(subtitleSize * 0.85)) : subtitleSize;
|
|
5264
5882
|
return jsxs(Tag, _extends({
|
|
5265
5883
|
className: className,
|
|
5884
|
+
"aria-label": title,
|
|
5266
5885
|
style: _extends({
|
|
5267
5886
|
display: 'grid',
|
|
5268
5887
|
placeItems: 'center',
|
|
@@ -5270,7 +5889,7 @@ function VideoHeaderHero(props) {
|
|
|
5270
5889
|
color: fg,
|
|
5271
5890
|
fontFamily,
|
|
5272
5891
|
minHeight: typeof minH === 'number' ? `${minH}px` : minH,
|
|
5273
|
-
padding: `${
|
|
5892
|
+
padding: `${pyPx}px ${rPx}px`,
|
|
5274
5893
|
borderRadius: radius,
|
|
5275
5894
|
border: `1px solid ${border}`,
|
|
5276
5895
|
position: 'relative',
|
|
@@ -5285,6 +5904,7 @@ function VideoHeaderHero(props) {
|
|
|
5285
5904
|
loop: loop,
|
|
5286
5905
|
controls: controls,
|
|
5287
5906
|
poster: poster,
|
|
5907
|
+
"aria-hidden": "true",
|
|
5288
5908
|
style: {
|
|
5289
5909
|
position: 'absolute',
|
|
5290
5910
|
inset: 0,
|
|
@@ -5301,17 +5921,11 @@ function VideoHeaderHero(props) {
|
|
|
5301
5921
|
style: {
|
|
5302
5922
|
position: 'absolute',
|
|
5303
5923
|
inset: 0,
|
|
5304
|
-
background: `
|
|
5305
|
-
linear-gradient(
|
|
5306
|
-
180deg,
|
|
5307
|
-
rgba(9,9,11,${overlay * 0.7}),
|
|
5308
|
-
rgba(9,9,11,${overlay})
|
|
5309
|
-
)
|
|
5310
|
-
`,
|
|
5924
|
+
background: `linear-gradient(180deg, rgba(9,9,11,${overlay * 0.7}), rgba(9,9,11,${overlay}))`,
|
|
5311
5925
|
backdropFilter: 'blur(1px)',
|
|
5312
5926
|
zIndex: 1
|
|
5313
5927
|
}
|
|
5314
|
-
}), jsx("div", {
|
|
5928
|
+
}), !isMobile && jsx("div", {
|
|
5315
5929
|
"aria-hidden": true,
|
|
5316
5930
|
style: {
|
|
5317
5931
|
position: 'absolute',
|
|
@@ -5336,7 +5950,7 @@ function VideoHeaderHero(props) {
|
|
|
5336
5950
|
},
|
|
5337
5951
|
children: [title && jsx("h2", {
|
|
5338
5952
|
style: {
|
|
5339
|
-
fontSize:
|
|
5953
|
+
fontSize: titlePx,
|
|
5340
5954
|
margin: 0,
|
|
5341
5955
|
fontWeight: 800,
|
|
5342
5956
|
lineHeight: 1.05,
|
|
@@ -5346,9 +5960,9 @@ function VideoHeaderHero(props) {
|
|
|
5346
5960
|
children: title
|
|
5347
5961
|
}), subtitle && jsx("p", {
|
|
5348
5962
|
style: {
|
|
5349
|
-
fontSize:
|
|
5963
|
+
fontSize: subPx,
|
|
5350
5964
|
color: ui$t.muted,
|
|
5351
|
-
marginTop: 20,
|
|
5965
|
+
marginTop: isMobile ? 12 : 20,
|
|
5352
5966
|
marginBottom: 0,
|
|
5353
5967
|
maxWidth: 640,
|
|
5354
5968
|
marginInline: 'auto',
|
|
@@ -5360,7 +5974,7 @@ function VideoHeaderHero(props) {
|
|
|
5360
5974
|
width: 72,
|
|
5361
5975
|
height: 1,
|
|
5362
5976
|
background: `linear-gradient(90deg, transparent, ${accent}, transparent)`,
|
|
5363
|
-
margin:
|
|
5977
|
+
margin: `${isMobile ? 24 : 36}px auto 0`,
|
|
5364
5978
|
opacity: 0.6
|
|
5365
5979
|
}
|
|
5366
5980
|
})]
|
|
@@ -20662,4 +21276,4 @@ function CommentsSection(_ref0) {
|
|
|
20662
21276
|
}));
|
|
20663
21277
|
}
|
|
20664
21278
|
|
|
20665
|
-
export { Accordion, AccountSettings, AddressAutocomplete, AnchorLinks, AnimatedBrandMark, AppInstallBanner, ArchiveList, ArticleRenderer, AudioEmbed, AuthForm, AuthorByline, AutoSuggest, AvatarProfile, Badge, BadgeGroup, BarChart, BlockShell, BlockquoteTestimonial, BlogBadge, BlogCard, BrandIconGrid, BrandingShell, Breadcrumbs, Button, PrimaryButton as ButtonAlias, ButtonGroup, CTAOverlayHero, CalendarGrid, CalloutBox, Captcha, CarouselHero, CartDrawer, CommentsBox, CommentsSection, ComparisonTable, ConfirmDialog, ContactForm, ContactSupportBlock, CookieConsent, CookieNotice, CountdownTimer, DataTable, DateTimePicker, DownloadBlock, DownloadButton, ElectroplixProvider, EmptyState, FAQAccordion, FacetFilters, FaviconUploader, FeatureGrid, FeatureHighlights, FileUploader, FloatingActionButton, FollowLike, Footer, FormDialog, FormShell, GenericList, GenericModal, HeadingSection, HeroShell, HowItWorks, ICON_NAMES, Icon, IconButton, IconGrid, ImageCropperUploader, ImageGallery, InlineCode, InlineCodeText, InputField, ItemCardGrid, LCTimeline, LanguageSelector, LeadMagnetGate, LightboxGallery, LineChart, LoadingButton, LoadingOverlay, LogoDisplay, LottieOrSVG, MapEmbed, MarketingHeroBlock, MasonryGrid, MediaShell, MegaMenu, MiniCartPanel, MultiFactorAuthInput, MultiStepWizard, NewsletterSignup, OnboardingWizard, OrderSummary, OverlayBase, Pagination, ParagraphBlock, PasswordReset, PatternedHero, PaymentButtons, PieChart, PolaroidImage, PricingTable, PrimaryButton, PrimaryNav, PrintButton, ProductCard, ProductDetail, ProductGrid, ProductTour, ProfileOverview, ProfileSettings, ProgressBar, PromoPopup, QuickAddButton, RSSFeed, RadioGroup, RatingStars, ReactionsBar, ReadingBar, RelatedPosts, ResponsiveVideo, ReviewsForm, RichMarkdown, RoleBadge, ScrollProgressBar, SearchEmptyState, SearchResultCard, SearchResults, SecondaryButton, SelectDropdown, ShareButton, SideDrawerNav, SidebarMenu, SiteSearchBar, SocialEmbed, SocialLoginButtons, SocialShareBar, SortableTable, Sparkline, SplitHero, StaticHero, StatsCounter, Stepper, SupportChat, Tabs, TagList, Taglines, TeamGrid, TertiaryButton, TestimonialsCarousel, TextAreaField, ThemeToggle, Timeline, ToastBanners, ToggleSwitch, Tooltip, TooltipHelp, TrustBadges, ValidationWrapper, VariantSelector, VideoHeaderHero, WelcomePopup, WishlistButton, baseBtn, baseButtonStyle, cn, defaultBlogTheme, defaultButtonTheme, defaultConfig, defaultContentTheme, defaultDataDisplayTheme, defaultEcommerceTheme, defaultFormsTheme, defaultHeroTheme, defaultListsCardsTheme, defaultMarketingTheme, defaultMediaTheme, defaultMiscTheme, defaultModalsTheme, defaultNavigationTheme, defaultOnboardingTheme, defaultSearchTheme, defaultSiteIdentityTheme, defaultSocialTheme, defaultUserAccountsTheme, defineConfig, emailRule, inputStyle, labelStyle, maxLengthRule, mergeTheme, minLengthRule, money, requiredRule, sx, timeAgo, truncate, useBlogTheme, useButtonTheme, useClickOutside, useContentTheme, useDataDisplayTheme, useDebounce, useEcommerceTheme, useElectroplixConfig, useFocusTrap, useFormsTheme, useHeroTheme, useListsCardsTheme, useMarketingTheme, useMediaQuery, useMediaTheme, useMiscTheme, useModalsTheme, useNavTheme, useOnboardingTheme, useSearchTheme, useSiteIdentityTheme, useSocialTheme, useUserAccountsTheme, validate };
|
|
21279
|
+
export { Accordion, AccountSettings, AddressAutocomplete, AnchorLinks, AnimatedBrandMark, AppInstallBanner, ArchiveList, ArticleRenderer, AudioEmbed, AuthForm, AuthorByline, AutoSuggest, AvatarProfile, Badge, BadgeGroup, BarChart, BlockShell, BlockquoteTestimonial, BlogBadge, BlogCard, BrandIconGrid, BrandingShell, Breadcrumbs, Button, PrimaryButton as ButtonAlias, ButtonGroup, CTAOverlayHero, CalendarGrid, CalloutBox, Captcha, CarouselHero, CartDrawer, CommentsBox, CommentsSection, ComparisonTable, ConfirmDialog, ContactForm, ContactSupportBlock, CookieConsent, CookieNotice, CountdownTimer, DataTable, DateTimePicker, DownloadBlock, DownloadButton, ElectroplixProvider, EmptyState, FAQAccordion, FacetFilters, FaviconUploader, FeatureGrid, FeatureHighlights, FileUploader, FloatingActionButton, FollowLike, Footer, FormDialog, FormShell, GenericList, GenericModal, HeadingSection, HeroShell, HowItWorks, ICON_NAMES, Icon, IconButton, IconGrid, ImageCropperUploader, ImageGallery, ImageHero, InlineCode, InlineCodeText, InputField, ItemCardGrid, LCTimeline, LanguageSelector, LeadMagnetGate, LightboxGallery, LineChart, LoadingButton, LoadingOverlay, LogoDisplay, LottieOrSVG, MapEmbed, MarketingHeroBlock, MasonryGrid, MediaShell, MegaMenu, MiniCartPanel, MultiFactorAuthInput, MultiStepWizard, NewsletterSignup, OnboardingWizard, OrderSummary, OverlayBase, Pagination, ParagraphBlock, PasswordReset, PatternedHero, PaymentButtons, PieChart, PolaroidImage, PricingTable, PrimaryButton, PrimaryNav, PrintButton, ProductCard, ProductDetail, ProductGrid, ProductTour, ProfileOverview, ProfileSettings, ProgressBar, PromoPopup, QuickAddButton, RSSFeed, RadioGroup, RatingStars, ReactionsBar, ReadingBar, RelatedPosts, ResponsiveVideo, ReviewsForm, RichMarkdown, RoleBadge, ScrollProgressBar, SearchEmptyState, SearchResultCard, SearchResults, SecondaryButton, SelectDropdown, ShareButton, SideDrawerNav, SidebarMenu, SiteSearchBar, SocialEmbed, SocialLoginButtons, SocialShareBar, SortableTable, Sparkline, SplitHero, StaticHero, StatsCounter, Stepper, SupportChat, Tabs, TagList, Taglines, TeamGrid, TertiaryButton, TestimonialsCarousel, TextAreaField, ThemeToggle, Timeline, ToastBanners, ToggleSwitch, Tooltip, TooltipHelp, TrustBadges, ValidationWrapper, VariantSelector, VideoHeaderHero, WelcomePopup, WishlistButton, baseBtn, baseButtonStyle, cn, defaultBlogTheme, defaultButtonTheme, defaultConfig, defaultContentTheme, defaultDataDisplayTheme, defaultEcommerceTheme, defaultFormsTheme, defaultHeroTheme, defaultListsCardsTheme, defaultMarketingTheme, defaultMediaTheme, defaultMiscTheme, defaultModalsTheme, defaultNavigationTheme, defaultOnboardingTheme, defaultSearchTheme, defaultSiteIdentityTheme, defaultSocialTheme, defaultUserAccountsTheme, defineConfig, emailRule, inputStyle, labelStyle, maxLengthRule, mergeTheme, minLengthRule, money, requiredRule, sx, timeAgo, truncate, useBlogTheme, useButtonTheme, useClickOutside, useContentTheme, useDataDisplayTheme, useDebounce, useEcommerceTheme, useElectroplixConfig, useFocusTrap, useFormsTheme, useHeroTheme, useListsCardsTheme, useMarketingTheme, useMediaQuery, useMediaTheme, useMiscTheme, useModalsTheme, useNavTheme, useOnboardingTheme, useSearchTheme, useSiteIdentityTheme, useSocialTheme, useUserAccountsTheme, validate };
|