@opensite/ui 2.0.8 → 2.1.0

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 (43) hide show
  1. package/dist/hero-agency-animated-images.cjs +4 -4
  2. package/dist/hero-agency-animated-images.js +4 -4
  3. package/dist/hero-business-carousel-dots.cjs +46 -36
  4. package/dist/hero-business-carousel-dots.js +46 -36
  5. package/dist/hero-coming-soon-countdown.cjs +93 -54
  6. package/dist/hero-coming-soon-countdown.d.cts +31 -6
  7. package/dist/hero-coming-soon-countdown.d.ts +31 -6
  8. package/dist/hero-coming-soon-countdown.js +93 -54
  9. package/dist/hero-creative-studio-stacked.cjs +9 -6
  10. package/dist/hero-creative-studio-stacked.d.cts +5 -1
  11. package/dist/hero-creative-studio-stacked.d.ts +5 -1
  12. package/dist/hero-creative-studio-stacked.js +9 -6
  13. package/dist/hero-customer-support-layered.cjs +1 -1
  14. package/dist/hero-customer-support-layered.js +1 -1
  15. package/dist/hero-developer-tools-code.cjs +2 -2
  16. package/dist/hero-developer-tools-code.js +2 -2
  17. package/dist/hero-digital-agency-fullscreen.cjs +14 -12
  18. package/dist/hero-digital-agency-fullscreen.d.cts +1 -1
  19. package/dist/hero-digital-agency-fullscreen.d.ts +1 -1
  20. package/dist/hero-digital-agency-fullscreen.js +14 -12
  21. package/dist/hero-ecommerce-product-showcase.cjs +76 -57
  22. package/dist/hero-ecommerce-product-showcase.js +76 -57
  23. package/dist/hero-enterprise-security.cjs +81 -60
  24. package/dist/hero-enterprise-security.js +81 -60
  25. package/dist/hero-event-registration.cjs +43 -10
  26. package/dist/hero-event-registration.js +43 -10
  27. package/dist/hero-hiring-animated-text.cjs +661 -639
  28. package/dist/hero-hiring-animated-text.d.cts +1 -9
  29. package/dist/hero-hiring-animated-text.d.ts +1 -9
  30. package/dist/hero-hiring-animated-text.js +657 -635
  31. package/dist/hero-saas-dashboard-preview.cjs +88 -46
  32. package/dist/hero-saas-dashboard-preview.d.cts +34 -19
  33. package/dist/hero-saas-dashboard-preview.d.ts +34 -19
  34. package/dist/hero-saas-dashboard-preview.js +89 -47
  35. package/dist/hero-split-image-newsletter.cjs +91 -49
  36. package/dist/hero-split-image-newsletter.d.cts +33 -18
  37. package/dist/hero-split-image-newsletter.d.ts +33 -18
  38. package/dist/hero-split-image-newsletter.js +92 -50
  39. package/dist/hero-startup-launch-cta.cjs +2 -2
  40. package/dist/hero-startup-launch-cta.js +2 -2
  41. package/dist/registry.cjs +556 -345
  42. package/dist/registry.js +556 -345
  43. package/package.json +1 -1
@@ -931,35 +931,47 @@ function HeroEnterpriseSecurity({
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(
935
- Pressable,
934
+ return /* @__PURE__ */ jsx(
935
+ "div",
936
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,
937
+ className: cn(
938
+ "mt-12 md:mt-20 grid gap-4 md:gap-8 grid-cols-1 md:grid-cols-3",
939
+ featuresClassName
940
+ ),
941
+ children: features.map((feature, index) => /* @__PURE__ */ jsxs(
942
+ Pressable,
943
+ {
944
+ href: feature.href,
945
+ className: cn(
946
+ "rounded-2xl border border-border p-6 text-center",
947
+ "transition-all duration-500 hover:ring-2 hover:shadow-lg"
948
+ ),
949
+ children: [
950
+ /* @__PURE__ */ jsx(
951
+ "div",
949
952
  {
950
- name: feature.iconName || "lucide/check",
951
- size: 24,
952
- className: feature.iconColorClass
953
+ className: cn(
954
+ "mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full",
955
+ feature.iconBgClass
956
+ ),
957
+ children: feature.icon ?? /* @__PURE__ */ jsx(
958
+ DynamicIcon,
959
+ {
960
+ name: feature.iconName || "lucide/check",
961
+ size: 24,
962
+ className: feature.iconColorClass
963
+ }
964
+ )
953
965
  }
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
- )) });
966
+ ),
967
+ /* @__PURE__ */ jsx("h3", { className: "mb-2 text-lg font-semibold ", children: feature.title }),
968
+ feature.description && /* @__PURE__ */ jsx("p", { className: "text-sm", children: feature.description })
969
+ ]
970
+ },
971
+ index
972
+ ))
973
+ }
974
+ );
963
975
  }, [featuresSlot, features, featuresClassName]);
964
976
  return /* @__PURE__ */ jsx(
965
977
  Section,
@@ -972,40 +984,49 @@ function HeroEnterpriseSecurity({
972
984
  className,
973
985
  containerClassName,
974
986
  children: /* @__PURE__ */ jsxs("div", { className: "pt-8 md:pt-0", children: [
975
- /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center", contentClassName), children: [
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
- )
1008
- ] }),
987
+ /* @__PURE__ */ jsxs(
988
+ "div",
989
+ {
990
+ className: cn(
991
+ "mx-auto max-w-4xl text-center flex flex-col items-center gap-6",
992
+ contentClassName
993
+ ),
994
+ children: [
995
+ badge && /* @__PURE__ */ jsxs(Badge, { className: cn("px-4", badgeClassName), children: [
996
+ badgeIcon,
997
+ typeof badge === "string" ? /* @__PURE__ */ jsx("span", { children: badge }) : badge
998
+ ] }),
999
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
1000
+ "h1",
1001
+ {
1002
+ className: cn(
1003
+ "text-4xl font-bold text-balance md:text-7xl",
1004
+ headingClassName
1005
+ ),
1006
+ children: heading
1007
+ }
1008
+ ) : heading),
1009
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
1010
+ "p",
1011
+ {
1012
+ className: cn(
1013
+ "max-w-full md:max-w-[70%] text-lg md:text-xl font-normal text-balance",
1014
+ descriptionClassName
1015
+ ),
1016
+ children: description
1017
+ }
1018
+ ) : description),
1019
+ /* @__PURE__ */ jsx(
1020
+ BlockActions,
1021
+ {
1022
+ actions,
1023
+ actionsSlot,
1024
+ actionsClassName
1025
+ }
1026
+ )
1027
+ ]
1028
+ }
1029
+ ),
1009
1030
  renderFeatures
1010
1031
  ] })
1011
1032
  }
@@ -958,23 +958,56 @@ function HeroEventRegistration({
958
958
  }) {
959
959
  const renderBadge = React3.useMemo(() => {
960
960
  if (badgeSlot) return badgeSlot;
961
- return /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "px-4 gap-2", children: [
962
- badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon }),
961
+ return /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "px-4 py-1 gap-2", children: [
962
+ badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon, size: 18 }),
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: "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
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold ", children: stat.value }),
971
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: stat.label })
972
- ] }, index)) }) });
969
+ return /* @__PURE__ */ jsxRuntime.jsx(
970
+ "div",
971
+ {
972
+ className: cn(
973
+ "flex flex-col md:flex-row items-center gap-4 md:gap-6 pt-8 md:pt-12",
974
+ statsClassName
975
+ ),
976
+ children: stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs(React3__namespace.Fragment, { children: [
977
+ index > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-12 w-px bg-border hidden md:flex" }),
978
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 justify-between flex-row md:flex-col text-left md:text-center w-full md:w-fit border md:border-none rounded-xl md:rounded-none p-4 md:p-0", children: [
979
+ /* @__PURE__ */ jsxRuntime.jsxs(
980
+ "div",
981
+ {
982
+ className: cn(
983
+ "flex items-center gap-2 w-fit md:w-full",
984
+ stat.icon ? "justify-between" : "justify-center"
985
+ ),
986
+ children: [
987
+ stat.icon,
988
+ /* @__PURE__ */ jsxRuntime.jsx(
989
+ "div",
990
+ {
991
+ className: cn(
992
+ "font-bold ",
993
+ stat.icon ? "text-xl" : "text-2xl"
994
+ ),
995
+ children: stat.value
996
+ }
997
+ )
998
+ ]
999
+ }
1000
+ ),
1001
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: stat.label })
1002
+ ] })
1003
+ ] }, index))
1004
+ }
1005
+ );
973
1006
  }, [statsSlot, stats, statsClassName]);
974
1007
  const renderLocation = React3.useMemo(() => {
975
1008
  if (locationSlot) return locationSlot;
976
1009
  if (!locationLabel && !locationSublabel) return null;
977
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-card p-4 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
1010
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-card text-card-foreground p-4 shadow-lg ring-4 ring-primary", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
978
1011
  /* @__PURE__ */ jsxRuntime.jsx(
979
1012
  "div",
980
1013
  {
@@ -985,8 +1018,8 @@ function HeroEventRegistration({
985
1018
  }
986
1019
  ),
987
1020
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
988
- locationLabel && (typeof locationLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold ", children: locationLabel }) : locationLabel),
989
- locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: locationSublabel }) : locationSublabel)
1021
+ locationLabel && (typeof locationLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold text-card-foreground", children: locationLabel }) : locationLabel),
1022
+ locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm text-card-foreground"), children: locationSublabel }) : locationSublabel)
990
1023
  ] })
991
1024
  ] }) });
992
1025
  }, [locationSlot, locationLabel, locationSublabel]);
@@ -1020,7 +1053,7 @@ function HeroEventRegistration({
1020
1053
  "div",
1021
1054
  {
1022
1055
  className: cn(
1023
- "flex flex-col items-start gap-6 md:gap-8",
1056
+ "flex flex-col items-start gap-4 md:gap-6",
1024
1057
  contentClassName
1025
1058
  ),
1026
1059
  children: [
@@ -937,23 +937,56 @@ function HeroEventRegistration({
937
937
  }) {
938
938
  const renderBadge = useMemo(() => {
939
939
  if (badgeSlot) return badgeSlot;
940
- return /* @__PURE__ */ jsxs(Badge, { className: "px-4 gap-2", children: [
941
- badgeIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: badgeIcon }),
940
+ return /* @__PURE__ */ jsxs(Badge, { className: "px-4 py-1 gap-2", children: [
941
+ badgeIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: badgeIcon, size: 18 }),
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: "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
- /* @__PURE__ */ jsx("div", { className: "text-2xl font-bold ", children: stat.value }),
950
- /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: stat.label })
951
- ] }, index)) }) });
948
+ return /* @__PURE__ */ jsx(
949
+ "div",
950
+ {
951
+ className: cn(
952
+ "flex flex-col md:flex-row items-center gap-4 md:gap-6 pt-8 md:pt-12",
953
+ statsClassName
954
+ ),
955
+ children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React3.Fragment, { children: [
956
+ index > 0 && /* @__PURE__ */ jsx("div", { className: "h-12 w-px bg-border hidden md:flex" }),
957
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 justify-between flex-row md:flex-col text-left md:text-center w-full md:w-fit border md:border-none rounded-xl md:rounded-none p-4 md:p-0", children: [
958
+ /* @__PURE__ */ jsxs(
959
+ "div",
960
+ {
961
+ className: cn(
962
+ "flex items-center gap-2 w-fit md:w-full",
963
+ stat.icon ? "justify-between" : "justify-center"
964
+ ),
965
+ children: [
966
+ stat.icon,
967
+ /* @__PURE__ */ jsx(
968
+ "div",
969
+ {
970
+ className: cn(
971
+ "font-bold ",
972
+ stat.icon ? "text-xl" : "text-2xl"
973
+ ),
974
+ children: stat.value
975
+ }
976
+ )
977
+ ]
978
+ }
979
+ ),
980
+ /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: stat.label })
981
+ ] })
982
+ ] }, index))
983
+ }
984
+ );
952
985
  }, [statsSlot, stats, statsClassName]);
953
986
  const renderLocation = useMemo(() => {
954
987
  if (locationSlot) return locationSlot;
955
988
  if (!locationLabel && !locationSublabel) return null;
956
- return /* @__PURE__ */ jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-card p-4 shadow-lg", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
989
+ return /* @__PURE__ */ jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-card text-card-foreground p-4 shadow-lg ring-4 ring-primary", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
957
990
  /* @__PURE__ */ jsx(
958
991
  "div",
959
992
  {
@@ -964,8 +997,8 @@ function HeroEventRegistration({
964
997
  }
965
998
  ),
966
999
  /* @__PURE__ */ jsxs("div", { children: [
967
- locationLabel && (typeof locationLabel === "string" ? /* @__PURE__ */ jsx("div", { className: "font-semibold ", children: locationLabel }) : locationLabel),
968
- locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: locationSublabel }) : locationSublabel)
1000
+ locationLabel && (typeof locationLabel === "string" ? /* @__PURE__ */ jsx("div", { className: "font-semibold text-card-foreground", children: locationLabel }) : locationLabel),
1001
+ locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsx("div", { className: cn("text-sm text-card-foreground"), children: locationSublabel }) : locationSublabel)
969
1002
  ] })
970
1003
  ] }) });
971
1004
  }, [locationSlot, locationLabel, locationSublabel]);
@@ -999,7 +1032,7 @@ function HeroEventRegistration({
999
1032
  "div",
1000
1033
  {
1001
1034
  className: cn(
1002
- "flex flex-col items-start gap-6 md:gap-8",
1035
+ "flex flex-col items-start gap-4 md:gap-6",
1003
1036
  contentClassName
1004
1037
  ),
1005
1038
  children: [