@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
@@ -10,32 +10,6 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
10
10
  function cn(...inputs) {
11
11
  return twMerge(clsx(inputs));
12
12
  }
13
- function getTextColor(parentBg, variant = "default", options) {
14
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
15
- if (isDark) {
16
- switch (variant) {
17
- case "default":
18
- return "text-foreground";
19
- case "muted":
20
- return "text-foreground/80";
21
- case "subtle":
22
- return "text-foreground/60";
23
- case "accent":
24
- return "text-accent-foreground";
25
- }
26
- } else {
27
- switch (variant) {
28
- case "default":
29
- return "text-foreground";
30
- case "muted":
31
- return "text-muted-foreground";
32
- case "subtle":
33
- return "text-muted-foreground/70";
34
- case "accent":
35
- return "text-primary";
36
- }
37
- }
38
- }
39
13
  function normalizePhoneNumber(input) {
40
14
  const trimmed = input.trim();
41
15
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -848,11 +822,12 @@ Section.displayName = "Section";
848
822
  function HeroNewsletterMinimal({
849
823
  heading,
850
824
  description,
851
- inputPlaceholder = "Enter your email",
825
+ inputPlaceholder,
852
826
  submitAction,
853
827
  formSlot,
854
- disclaimer = "Free forever. No spam. Unsubscribe anytime.",
828
+ disclaimer,
855
829
  stats,
830
+ patternClassName,
856
831
  statsSlot,
857
832
  background,
858
833
  spacing,
@@ -870,15 +845,40 @@ function HeroNewsletterMinimal({
870
845
  const renderStats = useMemo(() => {
871
846
  if (statsSlot) return statsSlot;
872
847
  if (!stats || stats.length === 0) return null;
873
- return stats.map((stat, index) => /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2 text-sm", getTextColor(background, "muted"), stat.className), children: [
874
- stat.icon,
875
- /* @__PURE__ */ jsx("span", { children: stat.value })
876
- ] }, index));
848
+ return stats.map((stat, index) => /* @__PURE__ */ jsx("div", { className: cn("flex items-center", stat.className), children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
849
+ /* @__PURE__ */ jsxs(
850
+ "div",
851
+ {
852
+ className: cn(
853
+ "flex items-center",
854
+ stat.icon ? "justify-between" : "justify-center"
855
+ ),
856
+ children: [
857
+ stat.icon,
858
+ /* @__PURE__ */ jsx(
859
+ "div",
860
+ {
861
+ className: cn("font-bold ", stat.icon ? "text-xl" : "text-2xl"),
862
+ children: stat.value
863
+ }
864
+ )
865
+ ]
866
+ }
867
+ ),
868
+ /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: stat.label })
869
+ ] }) }, index));
877
870
  }, [statsSlot, stats]);
878
871
  const renderForm = useMemo(() => {
879
872
  if (formSlot) return formSlot;
880
873
  if (!submitAction) return null;
881
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = submitAction;
874
+ const {
875
+ label,
876
+ icon,
877
+ iconAfter,
878
+ children,
879
+ className: actionClassName,
880
+ ...pressableProps
881
+ } = submitAction;
882
882
  return /* @__PURE__ */ jsxs(Fragment, { children: [
883
883
  /* @__PURE__ */ jsx(
884
884
  Input,
@@ -888,35 +888,75 @@ function HeroNewsletterMinimal({
888
888
  className: cn("h-12 flex-1", inputClassName)
889
889
  }
890
890
  ),
891
- /* @__PURE__ */ jsx(
892
- Pressable,
893
- {
894
- asButton: true,
895
- className: actionClassName,
896
- ...pressableProps,
897
- children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
898
- icon,
899
- label,
900
- iconAfter
901
- ] })
902
- }
903
- )
891
+ /* @__PURE__ */ jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
892
+ icon,
893
+ label,
894
+ iconAfter
895
+ ] }) })
904
896
  ] });
905
897
  }, [formSlot, submitAction, inputPlaceholder, inputClassName]);
906
898
  return /* @__PURE__ */ jsx(
907
899
  Section,
908
900
  {
909
- className: cn(
910
- "relative min-h-[80vh] bg-background py-32",
911
- className
912
- ),
913
- children: /* @__PURE__ */ jsxs("div", { className: cn("container flex flex-col items-center justify-center text-center", containerClassName), children: [
914
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("max-w-3xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
915
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-6 max-w-xl text-lg md:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
916
- /* @__PURE__ */ jsx("div", { className: cn("mt-10 flex w-full max-w-md flex-col gap-4 sm:flex-row", formClassName), children: renderForm }),
917
- disclaimer && (typeof disclaimer === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-sm", getTextColor(background, "muted"), disclaimerClassName), children: disclaimer }) : /* @__PURE__ */ jsx("div", { className: disclaimerClassName, children: disclaimer })),
918
- (statsSlot || stats && stats.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-16 flex flex-wrap items-center justify-center gap-8", statsClassName), children: renderStats })
919
- ] })
901
+ background,
902
+ spacing,
903
+ pattern,
904
+ patternOpacity,
905
+ patternClassName,
906
+ className,
907
+ containerClassName,
908
+ children: /* @__PURE__ */ jsxs(
909
+ "div",
910
+ {
911
+ className: cn(
912
+ "container flex flex-col items-center justify-center text-center",
913
+ containerClassName
914
+ ),
915
+ children: [
916
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
917
+ "h1",
918
+ {
919
+ className: cn(
920
+ "max-w-3xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl text-pretty",
921
+ headingClassName
922
+ ),
923
+ children: heading
924
+ }
925
+ ) : heading),
926
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
927
+ "p",
928
+ {
929
+ className: cn(
930
+ "mt-6 max-w-full md:max-w-lg text-lg md:text-xl text-balance",
931
+ descriptionClassName
932
+ ),
933
+ children: description
934
+ }
935
+ ) : description),
936
+ /* @__PURE__ */ jsx(
937
+ "div",
938
+ {
939
+ className: cn(
940
+ "mt-10 flex w-full max-w-md flex-col gap-4 sm:flex-row",
941
+ formClassName
942
+ ),
943
+ children: renderForm
944
+ }
945
+ ),
946
+ disclaimer && (typeof disclaimer === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-sm", disclaimerClassName), children: disclaimer }) : disclaimer),
947
+ (statsSlot || stats && stats.length > 0) && /* @__PURE__ */ jsx(
948
+ "div",
949
+ {
950
+ className: cn(
951
+ "mt-16 flex flex-wrap items-center justify-center gap-8",
952
+ statsClassName
953
+ ),
954
+ children: renderStats
955
+ }
956
+ )
957
+ ]
958
+ }
959
+ )
920
960
  }
921
961
  );
922
962
  }