@opensite/ui 2.0.6 → 2.0.8

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 (77) hide show
  1. package/dist/hero-adaptable-product-grid.cjs +1 -1
  2. package/dist/hero-adaptable-product-grid.js +1 -1
  3. package/dist/hero-agency-animated-images.cjs +795 -631
  4. package/dist/hero-agency-animated-images.d.cts +13 -9
  5. package/dist/hero-agency-animated-images.d.ts +13 -9
  6. package/dist/hero-agency-animated-images.js +794 -630
  7. package/dist/hero-business-carousel-dots.cjs +822 -911
  8. package/dist/hero-business-carousel-dots.d.cts +5 -1
  9. package/dist/hero-business-carousel-dots.d.ts +5 -1
  10. package/dist/hero-business-carousel-dots.js +824 -910
  11. package/dist/hero-coming-soon-countdown.cjs +267 -110
  12. package/dist/hero-coming-soon-countdown.d.cts +8 -11
  13. package/dist/hero-coming-soon-countdown.d.ts +8 -11
  14. package/dist/hero-coming-soon-countdown.js +268 -111
  15. package/dist/hero-conversation-intelligence.cjs +673 -639
  16. package/dist/hero-conversation-intelligence.js +663 -629
  17. package/dist/hero-creative-studio-stacked.cjs +899 -861
  18. package/dist/hero-creative-studio-stacked.d.cts +16 -15
  19. package/dist/hero-creative-studio-stacked.d.ts +16 -15
  20. package/dist/hero-creative-studio-stacked.js +897 -859
  21. package/dist/hero-customer-support-layered.cjs +89 -76
  22. package/dist/hero-customer-support-layered.js +89 -76
  23. package/dist/hero-developer-tools-code.cjs +721 -669
  24. package/dist/hero-developer-tools-code.d.cts +5 -1
  25. package/dist/hero-developer-tools-code.d.ts +5 -1
  26. package/dist/hero-developer-tools-code.js +719 -667
  27. package/dist/hero-digital-agency-fullscreen.cjs +722 -680
  28. package/dist/hero-digital-agency-fullscreen.d.cts +4 -20
  29. package/dist/hero-digital-agency-fullscreen.d.ts +4 -20
  30. package/dist/hero-digital-agency-fullscreen.js +722 -680
  31. package/dist/hero-ecommerce-product-showcase.cjs +892 -846
  32. package/dist/hero-ecommerce-product-showcase.js +889 -843
  33. package/dist/hero-enterprise-security.cjs +168 -132
  34. package/dist/hero-enterprise-security.d.cts +12 -19
  35. package/dist/hero-enterprise-security.d.ts +12 -19
  36. package/dist/hero-enterprise-security.js +168 -132
  37. package/dist/hero-event-registration.cjs +39 -39
  38. package/dist/hero-event-registration.js +39 -39
  39. package/dist/hero-fullscreen-background-image.cjs +3 -2
  40. package/dist/hero-fullscreen-background-image.js +3 -2
  41. package/dist/hero-fullscreen-logo-cta.cjs +4 -2
  42. package/dist/hero-fullscreen-logo-cta.js +4 -2
  43. package/dist/hero-innovation-image-grid.cjs +2 -2
  44. package/dist/hero-innovation-image-grid.js +2 -2
  45. package/dist/hero-mental-health-team.cjs +17 -17
  46. package/dist/hero-mental-health-team.d.cts +5 -5
  47. package/dist/hero-mental-health-team.d.ts +5 -5
  48. package/dist/hero-mental-health-team.js +17 -17
  49. package/dist/hero-mobile-app-download.cjs +2 -2
  50. package/dist/hero-mobile-app-download.js +2 -2
  51. package/dist/hero-newsletter-minimal.cjs +97 -57
  52. package/dist/hero-newsletter-minimal.d.cts +5 -1
  53. package/dist/hero-newsletter-minimal.d.ts +5 -1
  54. package/dist/hero-newsletter-minimal.js +97 -57
  55. package/dist/hero-shared-inbox-layered.cjs +522 -42
  56. package/dist/hero-shared-inbox-layered.d.cts +20 -4
  57. package/dist/hero-shared-inbox-layered.d.ts +20 -4
  58. package/dist/hero-shared-inbox-layered.js +505 -40
  59. package/dist/hero-startup-launch-cta.cjs +859 -816
  60. package/dist/hero-startup-launch-cta.d.cts +3 -2
  61. package/dist/hero-startup-launch-cta.d.ts +3 -2
  62. package/dist/hero-startup-launch-cta.js +858 -815
  63. package/dist/hero-therapy-testimonial-grid.cjs +1 -1
  64. package/dist/hero-therapy-testimonial-grid.js +1 -1
  65. package/dist/hero-video-dialog-gradient-BnCFFec0.d.ts +99 -0
  66. package/dist/hero-video-dialog-gradient-Dapebkzu.d.cts +99 -0
  67. package/dist/hero-video-dialog-gradient.cjs +24 -23
  68. package/dist/hero-video-dialog-gradient.d.cts +4 -94
  69. package/dist/hero-video-dialog-gradient.d.ts +4 -94
  70. package/dist/hero-video-dialog-gradient.js +24 -23
  71. package/dist/hero-welcome-asymmetric-images.cjs +652 -617
  72. package/dist/hero-welcome-asymmetric-images.d.cts +5 -1
  73. package/dist/hero-welcome-asymmetric-images.d.ts +5 -1
  74. package/dist/hero-welcome-asymmetric-images.js +651 -616
  75. package/dist/registry.cjs +1111 -848
  76. package/dist/registry.js +1111 -848
  77. package/package.json +1 -1
@@ -6,72 +6,12 @@ import { twMerge } from 'tailwind-merge';
6
6
  import { cva } from 'class-variance-authority';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
8
  import { Icon } from '@page-speed/icon';
9
- import { Img } from '@page-speed/img';
9
+ import { Slot } from '@radix-ui/react-slot';
10
10
 
11
11
  // components/blocks/hero/hero-enterprise-security.tsx
12
12
  function cn(...inputs) {
13
13
  return twMerge(clsx(inputs));
14
14
  }
15
- function getNestedCardBg(parentBg, variant = "muted", options) {
16
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
17
- if (isDark) {
18
- switch (variant) {
19
- case "muted":
20
- return "bg-background";
21
- case "card":
22
- return "bg-card";
23
- case "accent":
24
- return "bg-accent";
25
- case "subtle":
26
- return "bg-background/50";
27
- }
28
- } else {
29
- switch (variant) {
30
- case "muted":
31
- return "bg-muted";
32
- case "card":
33
- return "bg-card";
34
- case "accent":
35
- return "bg-accent";
36
- case "subtle":
37
- return "bg-muted/50";
38
- }
39
- }
40
- }
41
- function getNestedCardTextColor(parentBg, options) {
42
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
43
- return isDark ? "text-foreground" : "";
44
- }
45
- function getTextColor(parentBg, variant = "default", options) {
46
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
47
- if (isDark) {
48
- switch (variant) {
49
- case "default":
50
- return "text-foreground";
51
- case "muted":
52
- return "text-foreground/80";
53
- case "subtle":
54
- return "text-foreground/60";
55
- case "accent":
56
- return "text-accent-foreground";
57
- }
58
- } else {
59
- switch (variant) {
60
- case "default":
61
- return "text-foreground";
62
- case "muted":
63
- return "text-muted-foreground";
64
- case "subtle":
65
- return "text-muted-foreground/70";
66
- case "accent":
67
- return "text-primary";
68
- }
69
- }
70
- }
71
- function getAccentColor(parentBg, options) {
72
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
73
- return isDark ? "text-accent-foreground" : "text-primary";
74
- }
75
15
  function normalizePhoneNumber(input) {
76
16
  const trimmed = input.trim();
77
17
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -869,91 +809,158 @@ var Section = React__default.forwardRef(
869
809
  }
870
810
  );
871
811
  Section.displayName = "Section";
812
+ var badgeVariants = cva(
813
+ "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
814
+ {
815
+ variants: {
816
+ variant: {
817
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
818
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
819
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
820
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
821
+ }
822
+ },
823
+ defaultVariants: {
824
+ variant: "default"
825
+ }
826
+ }
827
+ );
828
+ function Badge({
829
+ className,
830
+ variant,
831
+ asChild = false,
832
+ ...props
833
+ }) {
834
+ const Comp = asChild ? Slot : "span";
835
+ return /* @__PURE__ */ jsx(
836
+ Comp,
837
+ {
838
+ "data-slot": "badge",
839
+ className: cn(badgeVariants({ variant }), className),
840
+ ...props
841
+ }
842
+ );
843
+ }
844
+ var MOBILE_CLASSES = {
845
+ "fit-left": "items-start md:items-center",
846
+ "fit-center": "items-center",
847
+ "fit-right": "items-end md:items-center",
848
+ "full-left": "items-stretch md:items-center",
849
+ "full-center": "items-stretch md:items-center",
850
+ "full-right": "items-stretch md:items-center"
851
+ };
852
+ function BlockActions({
853
+ mobileConfig,
854
+ actionsClassName,
855
+ verticalSpacing = "mt-4 md:mt-8",
856
+ actions,
857
+ actionsSlot
858
+ }) {
859
+ const width = mobileConfig?.width ?? "full";
860
+ const position = mobileConfig?.position ?? "center";
861
+ const mobileLayoutClass = MOBILE_CLASSES[`${width}-${position}`];
862
+ if (actionsSlot) {
863
+ return /* @__PURE__ */ jsx("div", { children: actionsSlot });
864
+ } else if (actions && actions?.length > 0) {
865
+ return /* @__PURE__ */ jsx(
866
+ "div",
867
+ {
868
+ className: cn(
869
+ "flex flex-col md:flex-row flex-wrap gap-4",
870
+ mobileLayoutClass,
871
+ actionsClassName,
872
+ verticalSpacing
873
+ ),
874
+ children: actions.map((action, index) => /* @__PURE__ */ jsx(ActionComponent, { action }, index))
875
+ }
876
+ );
877
+ } else {
878
+ return null;
879
+ }
880
+ }
881
+ function ActionComponent({ action }) {
882
+ const {
883
+ label,
884
+ icon,
885
+ iconAfter,
886
+ children,
887
+ href,
888
+ onClick,
889
+ className: actionClassName,
890
+ ...pressableProps
891
+ } = action;
892
+ return /* @__PURE__ */ jsx(
893
+ Pressable,
894
+ {
895
+ href,
896
+ onClick,
897
+ asButton: action.asButton ?? true,
898
+ className: actionClassName,
899
+ ...pressableProps,
900
+ children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
901
+ icon,
902
+ label,
903
+ iconAfter
904
+ ] })
905
+ }
906
+ );
907
+ }
872
908
  function HeroEnterpriseSecurity({
873
- badgeText,
909
+ badge,
874
910
  badgeIcon,
875
- badgeSlot,
911
+ badgeClassName,
876
912
  heading,
877
913
  description,
878
914
  actions,
879
915
  actionsSlot,
880
916
  features,
881
917
  featuresSlot,
882
- logos,
883
- logosSlot,
884
918
  background,
885
- spacing,
886
919
  pattern,
887
920
  patternOpacity,
921
+ patternClassName,
888
922
  className,
889
- containerClassName,
923
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
924
+ spacing = "xl",
890
925
  contentClassName,
891
926
  headingClassName,
892
927
  descriptionClassName,
893
928
  actionsClassName,
894
- featuresClassName,
895
- logosClassName,
896
- optixFlowConfig
929
+ featuresClassName
897
930
  }) {
898
- const renderBadge = useMemo(() => {
899
- if (badgeSlot) return badgeSlot;
900
- if (!badgeText && !badgeIcon) return null;
901
- return /* @__PURE__ */ jsxs("div", { className: cn(
902
- "inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm",
903
- getNestedCardBg(background, "muted"),
904
- getNestedCardTextColor(background)
905
- ), children: [
906
- badgeIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: badgeIcon, size: 16, className: "text-success" }),
907
- /* @__PURE__ */ jsx("span", { children: badgeText })
908
- ] });
909
- }, [badgeSlot, badgeText, badgeIcon]);
910
- const renderActions = useMemo(() => {
911
- if (actionsSlot) return actionsSlot;
912
- if (!actions || actions.length === 0) return null;
913
- return /* @__PURE__ */ jsx("div", { className: cn("mt-10 flex flex-col items-center gap-4 sm:flex-row sm:justify-center", actionsClassName), children: actions.map((action, index) => {
914
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
915
- return /* @__PURE__ */ jsx(
916
- Pressable,
917
- {
918
- asButton: true,
919
- className: actionClassName,
920
- ...pressableProps,
921
- children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
922
- icon,
923
- label,
924
- iconAfter
925
- ] })
926
- },
927
- index
928
- );
929
- }) });
930
- }, [actionsSlot, actions, actionsClassName]);
931
931
  const renderFeatures = useMemo(() => {
932
932
  if (featuresSlot) return featuresSlot;
933
933
  if (!features || features.length === 0) return null;
934
- return /* @__PURE__ */ jsx("div", { className: cn("mt-20 grid gap-8 md:grid-cols-3", featuresClassName), children: features.map((feature, index) => /* @__PURE__ */ jsxs("div", { className: cn("rounded-2xl border border-border p-6 text-center", getNestedCardBg(background, "card")), children: [
935
- /* @__PURE__ */ jsx("div", { className: cn("mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full", feature.iconBgClass || `${getAccentColor(background)}/10`), children: feature.icon ?? /* @__PURE__ */ jsx(DynamicIcon, { name: feature.iconName || "lucide/check", size: 24, className: feature.iconColorClass || getAccentColor(background) }) }),
936
- /* @__PURE__ */ jsx("h3", { className: "mb-2 text-lg font-semibold ", children: feature.title }),
937
- feature.description && /* @__PURE__ */ jsx("p", { className: cn("text-sm", getTextColor(background, "muted")), children: feature.description })
938
- ] }, index)) });
934
+ return /* @__PURE__ */ jsx("div", { className: cn("mt-20 grid gap-8 md:grid-cols-3", featuresClassName), children: features.map((feature, index) => /* @__PURE__ */ jsxs(
935
+ Pressable,
936
+ {
937
+ href: feature.href,
938
+ className: cn("rounded-2xl border border-border p-6 text-center"),
939
+ children: [
940
+ /* @__PURE__ */ jsx(
941
+ "div",
942
+ {
943
+ className: cn(
944
+ "mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full",
945
+ feature.iconBgClass
946
+ ),
947
+ children: feature.icon ?? /* @__PURE__ */ jsx(
948
+ DynamicIcon,
949
+ {
950
+ name: feature.iconName || "lucide/check",
951
+ size: 24,
952
+ className: feature.iconColorClass
953
+ }
954
+ )
955
+ }
956
+ ),
957
+ /* @__PURE__ */ jsx("h3", { className: "mb-2 text-lg font-semibold ", children: feature.title }),
958
+ feature.description && /* @__PURE__ */ jsx("p", { className: "text-sm", children: feature.description })
959
+ ]
960
+ },
961
+ index
962
+ )) });
939
963
  }, [featuresSlot, features, featuresClassName]);
940
- const renderLogos = useMemo(() => {
941
- if (logosSlot) return logosSlot;
942
- if (!logos || logos.length === 0) return null;
943
- return /* @__PURE__ */ jsx("div", { className: cn("mt-16 flex flex-wrap items-center justify-center gap-8", logosClassName), children: logos.map((logo, index) => {
944
- const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
945
- return /* @__PURE__ */ jsx(
946
- Img,
947
- {
948
- src: logoSrc,
949
- alt: logo.alt,
950
- className: cn("h-8 opacity-50 grayscale", logo.className),
951
- optixFlowConfig
952
- },
953
- index
954
- );
955
- }) });
956
- }, [logosSlot, logos, logosClassName, optixFlowConfig]);
957
964
  return /* @__PURE__ */ jsx(
958
965
  Section,
959
966
  {
@@ -961,16 +968,45 @@ function HeroEnterpriseSecurity({
961
968
  spacing,
962
969
  pattern,
963
970
  patternOpacity,
971
+ patternClassName,
964
972
  className,
965
- children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
973
+ containerClassName,
974
+ children: /* @__PURE__ */ jsxs("div", { className: "pt-8 md:pt-0", children: [
966
975
  /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center", contentClassName), children: [
967
- renderBadge,
968
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("mt-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h1", { className: cn("mt-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading })),
969
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-6 text-lg md:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
970
- renderActions
976
+ badge && /* @__PURE__ */ jsxs(Badge, { className: cn("px-4", badgeClassName), children: [
977
+ badgeIcon,
978
+ typeof badge === "string" ? /* @__PURE__ */ jsx("span", { children: badge }) : badge
979
+ ] }),
980
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
981
+ "h1",
982
+ {
983
+ className: cn(
984
+ "mb-8 text-4xl font-normal text-balance md:text-7xl",
985
+ headingClassName
986
+ ),
987
+ children: heading
988
+ }
989
+ ) : heading),
990
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
991
+ "p",
992
+ {
993
+ className: cn(
994
+ "mb-12 max-w-full md:max-w-[70%] text-lg md:text-xl font-normal text-balance",
995
+ descriptionClassName
996
+ ),
997
+ children: description
998
+ }
999
+ ) : description),
1000
+ /* @__PURE__ */ jsx(
1001
+ BlockActions,
1002
+ {
1003
+ actions,
1004
+ actionsSlot,
1005
+ actionsClassName
1006
+ }
1007
+ )
971
1008
  ] }),
972
- renderFeatures,
973
- renderLogos
1009
+ renderFeatures
974
1010
  ] })
975
1011
  }
976
1012
  );
@@ -943,8 +943,8 @@ function HeroEventRegistration({
943
943
  locationSublabel,
944
944
  locationSlot,
945
945
  background,
946
- containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
947
- spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
946
+ containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
947
+ spacing = "xl",
948
948
  pattern,
949
949
  patternOpacity,
950
950
  className,
@@ -958,18 +958,18 @@ function HeroEventRegistration({
958
958
  }) {
959
959
  const renderBadge = React3.useMemo(() => {
960
960
  if (badgeSlot) return badgeSlot;
961
- return /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "outline", className: "w-fit", children: [
962
- badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon, size: 14, className: "mr-1" }),
961
+ return /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "px-4 gap-2", children: [
962
+ badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon }),
963
963
  badgeText
964
964
  ] });
965
965
  }, [badgeSlot, badgeIcon, badgeText]);
966
966
  const renderStats = React3.useMemo(() => {
967
967
  if (statsSlot) return statsSlot;
968
968
  if (!stats || stats.length === 0) return null;
969
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-3 gap-4 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
969
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center w-full", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-3 gap-4 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
970
970
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold ", children: stat.value }),
971
971
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: stat.label })
972
- ] }, index)) });
972
+ ] }, index)) }) });
973
973
  }, [statsSlot, stats, statsClassName]);
974
974
  const renderLocation = React3.useMemo(() => {
975
975
  if (locationSlot) return locationSlot;
@@ -1015,41 +1015,41 @@ function HeroEventRegistration({
1015
1015
  patternOpacity,
1016
1016
  className,
1017
1017
  containerClassName,
1018
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-12 lg:grid-cols-2 lg:gap-20", children: [
1019
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-8", contentClassName), children: [
1020
- renderBadge,
1021
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1022
- "h1",
1023
- {
1024
- className: cn(
1025
- "text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl",
1026
- headingClassName
1027
- ),
1028
- children: heading
1029
- }
1030
- ) : /* @__PURE__ */ jsxRuntime.jsx(
1031
- "h1",
1032
- {
1033
- className: cn(
1034
- "text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl",
1035
- headingClassName
1018
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-12 lg:grid-cols-2 lg:gap-20", children: [
1019
+ /* @__PURE__ */ jsxRuntime.jsxs(
1020
+ "div",
1021
+ {
1022
+ className: cn(
1023
+ "flex flex-col items-start gap-6 md:gap-8",
1024
+ contentClassName
1025
+ ),
1026
+ children: [
1027
+ renderBadge,
1028
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1029
+ "h1",
1030
+ {
1031
+ className: cn(
1032
+ "text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-pretty",
1033
+ headingClassName
1034
+ ),
1035
+ children: heading
1036
+ }
1037
+ ) : heading),
1038
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : description),
1039
+ /* @__PURE__ */ jsxRuntime.jsx(
1040
+ BlockActions,
1041
+ {
1042
+ actions,
1043
+ actionsSlot,
1044
+ actionsClassName
1045
+ }
1036
1046
  ),
1037
- children: heading
1038
- }
1039
- )),
1040
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
1041
- /* @__PURE__ */ jsxRuntime.jsx(
1042
- BlockActions,
1043
- {
1044
- actions,
1045
- actionsSlot,
1046
- actionsClassName
1047
- }
1048
- ),
1049
- renderStats
1050
- ] }),
1047
+ renderStats
1048
+ ]
1049
+ }
1050
+ ),
1051
1051
  renderImage
1052
- ] })
1052
+ ] }) })
1053
1053
  }
1054
1054
  );
1055
1055
  }
@@ -922,8 +922,8 @@ function HeroEventRegistration({
922
922
  locationSublabel,
923
923
  locationSlot,
924
924
  background,
925
- containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
926
- spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
925
+ containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
926
+ spacing = "xl",
927
927
  pattern,
928
928
  patternOpacity,
929
929
  className,
@@ -937,18 +937,18 @@ function HeroEventRegistration({
937
937
  }) {
938
938
  const renderBadge = useMemo(() => {
939
939
  if (badgeSlot) return badgeSlot;
940
- return /* @__PURE__ */ jsxs(Badge, { variant: "outline", className: "w-fit", children: [
941
- badgeIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: badgeIcon, size: 14, className: "mr-1" }),
940
+ return /* @__PURE__ */ jsxs(Badge, { className: "px-4 gap-2", children: [
941
+ badgeIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: badgeIcon }),
942
942
  badgeText
943
943
  ] });
944
944
  }, [badgeSlot, badgeIcon, badgeText]);
945
945
  const renderStats = useMemo(() => {
946
946
  if (statsSlot) return statsSlot;
947
947
  if (!stats || stats.length === 0) return null;
948
- return /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-3 gap-4 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
948
+ return /* @__PURE__ */ jsx("div", { className: "flex justify-center w-full", children: /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-3 gap-4 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
949
949
  /* @__PURE__ */ jsx("div", { className: "text-2xl font-bold ", children: stat.value }),
950
950
  /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: stat.label })
951
- ] }, index)) });
951
+ ] }, index)) }) });
952
952
  }, [statsSlot, stats, statsClassName]);
953
953
  const renderLocation = useMemo(() => {
954
954
  if (locationSlot) return locationSlot;
@@ -994,41 +994,41 @@ function HeroEventRegistration({
994
994
  patternOpacity,
995
995
  className,
996
996
  containerClassName,
997
- children: /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-12 lg:grid-cols-2 lg:gap-20", children: [
998
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-8", contentClassName), children: [
999
- renderBadge,
1000
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
1001
- "h1",
1002
- {
1003
- className: cn(
1004
- "text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl",
1005
- headingClassName
1006
- ),
1007
- children: heading
1008
- }
1009
- ) : /* @__PURE__ */ jsx(
1010
- "h1",
1011
- {
1012
- className: cn(
1013
- "text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl",
1014
- headingClassName
997
+ children: /* @__PURE__ */ jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-12 lg:grid-cols-2 lg:gap-20", children: [
998
+ /* @__PURE__ */ jsxs(
999
+ "div",
1000
+ {
1001
+ className: cn(
1002
+ "flex flex-col items-start gap-6 md:gap-8",
1003
+ contentClassName
1004
+ ),
1005
+ children: [
1006
+ renderBadge,
1007
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
1008
+ "h1",
1009
+ {
1010
+ className: cn(
1011
+ "text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-pretty",
1012
+ headingClassName
1013
+ ),
1014
+ children: heading
1015
+ }
1016
+ ) : heading),
1017
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : description),
1018
+ /* @__PURE__ */ jsx(
1019
+ BlockActions,
1020
+ {
1021
+ actions,
1022
+ actionsSlot,
1023
+ actionsClassName
1024
+ }
1015
1025
  ),
1016
- children: heading
1017
- }
1018
- )),
1019
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
1020
- /* @__PURE__ */ jsx(
1021
- BlockActions,
1022
- {
1023
- actions,
1024
- actionsSlot,
1025
- actionsClassName
1026
- }
1027
- ),
1028
- renderStats
1029
- ] }),
1026
+ renderStats
1027
+ ]
1028
+ }
1029
+ ),
1030
1030
  renderImage
1031
- ] })
1031
+ ] }) })
1032
1032
  }
1033
1033
  );
1034
1034
  }
@@ -901,7 +901,7 @@ function HeroFullscreenBackgroundImage({
901
901
  patternOpacity,
902
902
  className,
903
903
  containerClassName = "px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-screen w-screen flex justify-center items-center",
904
- contentClassName = "relative flex flex-col gap-12 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
904
+ contentClassName = "",
905
905
  headingClassName,
906
906
  descriptionClassName,
907
907
  actionsClassName,
@@ -941,7 +941,8 @@ function HeroFullscreenBackgroundImage({
941
941
  "div",
942
942
  {
943
943
  className: cn(
944
- "relative z-30 m-auto flex max-w-full md:max-w-md flex-col items-center justify-center gap-6 px-5",
944
+ "flex flex-col gap-4 md:gap-6 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
945
+ "relative z-30 m-auto max-w-full md:max-w-md flex-col items-center justify-center text-center",
945
946
  contentClassName
946
947
  ),
947
948
  children: [
@@ -880,7 +880,7 @@ function HeroFullscreenBackgroundImage({
880
880
  patternOpacity,
881
881
  className,
882
882
  containerClassName = "px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-screen w-screen flex justify-center items-center",
883
- contentClassName = "relative flex flex-col gap-12 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
883
+ contentClassName = "",
884
884
  headingClassName,
885
885
  descriptionClassName,
886
886
  actionsClassName,
@@ -920,7 +920,8 @@ function HeroFullscreenBackgroundImage({
920
920
  "div",
921
921
  {
922
922
  className: cn(
923
- "relative z-30 m-auto flex max-w-full md:max-w-md flex-col items-center justify-center gap-6 px-5",
923
+ "flex flex-col gap-4 md:gap-6 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
924
+ "relative z-30 m-auto max-w-full md:max-w-md flex-col items-center justify-center text-center",
924
925
  contentClassName
925
926
  ),
926
927
  children: [
@@ -839,7 +839,7 @@ function HeroFullscreenLogoCta({
839
839
  patternOpacity,
840
840
  className,
841
841
  containerClassName = "px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-screen w-screen flex justify-center items-center",
842
- contentClassName = "relative flex flex-col gap-12 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
842
+ contentClassName,
843
843
  headingClassName,
844
844
  descriptionClassName,
845
845
  optixFlowConfig
@@ -909,7 +909,9 @@ function HeroFullscreenLogoCta({
909
909
  "div",
910
910
  {
911
911
  className: cn(
912
- "relative z-30 m-auto flex max-w-full flex-col items-start justify-center gap-4 md:gap-6 px-5",
912
+ "z-30 m-auto max-w-full items-start justify-center flex flex-col",
913
+ "relative gap-12 md:gap-6 px-5",
914
+ "pt-8 pb-6 md:pt-0 md:pb-0",
913
915
  contentClassName
914
916
  ),
915
917
  children: [
@@ -818,7 +818,7 @@ function HeroFullscreenLogoCta({
818
818
  patternOpacity,
819
819
  className,
820
820
  containerClassName = "px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-screen w-screen flex justify-center items-center",
821
- contentClassName = "relative flex flex-col gap-12 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
821
+ contentClassName,
822
822
  headingClassName,
823
823
  descriptionClassName,
824
824
  optixFlowConfig
@@ -888,7 +888,9 @@ function HeroFullscreenLogoCta({
888
888
  "div",
889
889
  {
890
890
  className: cn(
891
- "relative z-30 m-auto flex max-w-full flex-col items-start justify-center gap-4 md:gap-6 px-5",
891
+ "z-30 m-auto max-w-full items-start justify-center flex flex-col",
892
+ "relative gap-12 md:gap-6 px-5",
893
+ "pt-8 pb-6 md:pt-0 md:pb-0",
892
894
  contentClassName
893
895
  ),
894
896
  children: [
@@ -976,11 +976,11 @@ function HeroInnovationImageGrid({
976
976
  patternOpacity,
977
977
  className,
978
978
  containerClassName,
979
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-10 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-22.5 lg:grid-cols-2", children: [
979
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-10 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-12 md:gap-22.5 lg:grid-cols-2", children: [
980
980
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs(
981
981
  "div",
982
982
  {
983
- className: cn("flex flex-col gap-6 md:gap-12", contentClassName),
983
+ className: cn("flex flex-col gap-2 md:gap-12", contentClassName),
984
984
  children: [
985
985
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
986
986
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(