@retinalabsllc/zairusjs 20.1.30 → 20.1.35

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/dist/index.d.mts CHANGED
@@ -444,6 +444,12 @@ interface HeroSectionProps {
444
444
  bgVideoSrc?: string;
445
445
  bgImageSrc?: string;
446
446
  isWaitlist?: boolean;
447
+ /** Controls the Next/Image base width and height. Defaults to 120 for crisp Retina display */
448
+ logoSize?: number;
449
+ /** Controls the responsive tailwind classes for the logo wrapper to scale it. Defaults to "relative h-6 sm:h-8" */
450
+ logoWrapperClassName?: string;
451
+ /** Set to true if you want to completely bypass Next.js image compression (ideal for SVGs) */
452
+ unoptimizedLogos?: boolean;
447
453
  }
448
454
  declare const HeroSection: React.FC<HeroSectionProps>;
449
455
 
package/dist/index.d.ts CHANGED
@@ -444,6 +444,12 @@ interface HeroSectionProps {
444
444
  bgVideoSrc?: string;
445
445
  bgImageSrc?: string;
446
446
  isWaitlist?: boolean;
447
+ /** Controls the Next/Image base width and height. Defaults to 120 for crisp Retina display */
448
+ logoSize?: number;
449
+ /** Controls the responsive tailwind classes for the logo wrapper to scale it. Defaults to "relative h-6 sm:h-8" */
450
+ logoWrapperClassName?: string;
451
+ /** Set to true if you want to completely bypass Next.js image compression (ideal for SVGs) */
452
+ unoptimizedLogos?: boolean;
447
453
  }
448
454
  declare const HeroSection: React.FC<HeroSectionProps>;
449
455
 
package/dist/index.js CHANGED
@@ -2802,7 +2802,11 @@ var HeroSection = ({
2802
2802
  appLogos,
2803
2803
  bgVideoSrc,
2804
2804
  bgImageSrc,
2805
- isWaitlist = false
2805
+ isWaitlist = false,
2806
+ logoSize = 120,
2807
+ // Increased to 120 so the source image is sharp
2808
+ logoWrapperClassName = "relative h-6 sm:h-8",
2809
+ unoptimizedLogos = false
2806
2810
  }) => {
2807
2811
  const [isAnimating, setIsAnimating] = (0, import_react45.useState)(false);
2808
2812
  const [isWaitlistOpen, setIsWaitlistOpen] = (0, import_react45.useState)(false);
@@ -2829,7 +2833,7 @@ var HeroSection = ({
2829
2833
  setIsWaitlistOpen(true);
2830
2834
  }
2831
2835
  };
2832
- return /* @__PURE__ */ import_react45.default.createElement("div", { className: "w-screen min-h-screen flex justify-center items-center p-4" }, /* @__PURE__ */ import_react45.default.createElement("section", { className: "relative h-[95vh] w-full overflow-hidden rounded-2xl " }, bgVideoSrc ? /* @__PURE__ */ import_react45.default.createElement(
2836
+ return /* @__PURE__ */ import_react45.default.createElement("div", { className: "w-screen min-h-screen flex flex-col justify-center items-center p-4" }, /* @__PURE__ */ import_react45.default.createElement("section", { className: "relative h-[95vh] w-full overflow-hidden rounded-2xl " }, bgVideoSrc ? /* @__PURE__ */ import_react45.default.createElement(
2833
2837
  "video",
2834
2838
  {
2835
2839
  src: bgVideoSrc,
@@ -2864,8 +2868,7 @@ var HeroSection = ({
2864
2868
  className: "leading-[0.85] tracking-[-0.07em] text-[18.2vw] sm:text-[16.8vw] md:text-[15.4vw] lg:text-[14vw] xl:text-[13.3vw] 2xl:text-[14vw] text-[#ffffff]"
2865
2869
  },
2866
2870
  /* @__PURE__ */ import_react45.default.createElement("div", { className: "inline-flex flex-wrap" }, /* @__PURE__ */ import_react45.default.createElement("span", { className: `inline-block relative transition-all duration-1000 ${isAnimating ? "opacity-100 translate-y-0" : "opacity-0 translate-y-10"}` }, titlePrefix, titlePrefix && /* @__PURE__ */ import_react45.default.createElement("br", null), highlightText, /* @__PURE__ */ import_react45.default.createElement("span", { className: "absolute top-[0.65em] right-[-0.3em] text-[0.31em] text-[#ffffff]/70" }, "*")))
2867
- )), /* @__PURE__ */ import_react45.default.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-xs text-[#ffffff]/70 sm:text-sm md:text-xs leading-[1.2] max-w-md transition-opacity duration-1000 delay-300" }, subtitle), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4" }, ctaText && // Changed from <button> to <Link> so it actually navigates!
2868
- /* @__PURE__ */ import_react45.default.createElement(
2871
+ )), /* @__PURE__ */ import_react45.default.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ import_react45.default.createElement("p", { className: "text-xs text-[#ffffff]/70 sm:text-sm md:text-xs leading-[1.2] max-w-md transition-opacity duration-1000 delay-300" }, subtitle), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4" }, ctaText && /* @__PURE__ */ import_react45.default.createElement(
2869
2872
  import_link6.default,
2870
2873
  {
2871
2874
  href: isWaitlist ? "#" : ctaHref || "#",
@@ -2881,16 +2884,18 @@ var HeroSection = ({
2881
2884
  className: "inline-flex h-10 items-center self-start justify-center text-xs tracking-wide rounded-full px-6 border border-[#ffffff]/30 text-[#ffffff] hover:bg-[#ffffff]/10 transition-colors"
2882
2885
  },
2883
2886
  secondaryCtaText
2884
- )), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ import_react45.default.createElement("span", { className: "text-xs tracking-widest text-[#ffffff]/50 " }, appsText), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ import_react45.default.createElement("div", { key: idx, className: "relative h-6 sm:h-7 opacity-70 hover:opacity-100 transition-opacity invert" }, /* @__PURE__ */ import_react45.default.createElement(
2887
+ )))))), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-col items-center gap-4 mt-8 w-full" }, appsText && /* @__PURE__ */ import_react45.default.createElement("span", { className: "text-xs tracking-widest text-black/70 uppercase" }, appsText), /* @__PURE__ */ import_react45.default.createElement("div", { className: "flex flex-wrap items-center justify-center gap-8 sm:gap-12" }, appLogos.map((logo, idx) => /* @__PURE__ */ import_react45.default.createElement("div", { key: idx, className: logoWrapperClassName }, /* @__PURE__ */ import_react45.default.createElement(
2885
2888
  import_image2.default,
2886
2889
  {
2887
2890
  src: logo.src,
2888
2891
  alt: logo.alt,
2889
- width: 28,
2890
- height: 28,
2891
- className: "h-full w-auto grayscale opacity-90 object-contain"
2892
+ width: logoSize,
2893
+ height: logoSize,
2894
+ quality: 100,
2895
+ unoptimized: unoptimizedLogos,
2896
+ className: "h-full w-auto grayscale object-contain"
2892
2897
  }
2893
- ))))))))), /* @__PURE__ */ import_react45.default.createElement(
2898
+ ))))), /* @__PURE__ */ import_react45.default.createElement(
2894
2899
  WaitlistDialog,
2895
2900
  {
2896
2901
  isOpen: isWaitlistOpen,
package/dist/index.mjs CHANGED
@@ -2794,7 +2794,11 @@ var HeroSection = ({
2794
2794
  appLogos,
2795
2795
  bgVideoSrc,
2796
2796
  bgImageSrc,
2797
- isWaitlist = false
2797
+ isWaitlist = false,
2798
+ logoSize = 120,
2799
+ // Increased to 120 so the source image is sharp
2800
+ logoWrapperClassName = "relative h-6 sm:h-8",
2801
+ unoptimizedLogos = false
2798
2802
  }) => {
2799
2803
  const [isAnimating, setIsAnimating] = useState19(false);
2800
2804
  const [isWaitlistOpen, setIsWaitlistOpen] = useState19(false);
@@ -2821,7 +2825,7 @@ var HeroSection = ({
2821
2825
  setIsWaitlistOpen(true);
2822
2826
  }
2823
2827
  };
2824
- return /* @__PURE__ */ React26.createElement("div", { className: "w-screen min-h-screen flex justify-center items-center p-4" }, /* @__PURE__ */ React26.createElement("section", { className: "relative h-[95vh] w-full overflow-hidden rounded-2xl " }, bgVideoSrc ? /* @__PURE__ */ React26.createElement(
2828
+ return /* @__PURE__ */ React26.createElement("div", { className: "w-screen min-h-screen flex flex-col justify-center items-center p-4" }, /* @__PURE__ */ React26.createElement("section", { className: "relative h-[95vh] w-full overflow-hidden rounded-2xl " }, bgVideoSrc ? /* @__PURE__ */ React26.createElement(
2825
2829
  "video",
2826
2830
  {
2827
2831
  src: bgVideoSrc,
@@ -2856,8 +2860,7 @@ var HeroSection = ({
2856
2860
  className: "leading-[0.85] tracking-[-0.07em] text-[18.2vw] sm:text-[16.8vw] md:text-[15.4vw] lg:text-[14vw] xl:text-[13.3vw] 2xl:text-[14vw] text-[#ffffff]"
2857
2861
  },
2858
2862
  /* @__PURE__ */ React26.createElement("div", { className: "inline-flex flex-wrap" }, /* @__PURE__ */ React26.createElement("span", { className: `inline-block relative transition-all duration-1000 ${isAnimating ? "opacity-100 translate-y-0" : "opacity-0 translate-y-10"}` }, titlePrefix, titlePrefix && /* @__PURE__ */ React26.createElement("br", null), highlightText, /* @__PURE__ */ React26.createElement("span", { className: "absolute top-[0.65em] right-[-0.3em] text-[0.31em] text-[#ffffff]/70" }, "*")))
2859
- )), /* @__PURE__ */ React26.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ React26.createElement("p", { className: "text-xs text-[#ffffff]/70 sm:text-sm md:text-xs leading-[1.2] max-w-md transition-opacity duration-1000 delay-300" }, subtitle), /* @__PURE__ */ React26.createElement("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4" }, ctaText && // Changed from <button> to <Link> so it actually navigates!
2860
- /* @__PURE__ */ React26.createElement(
2863
+ )), /* @__PURE__ */ React26.createElement("div", { className: "col-span-12 flex flex-col gap-5 pb-6 lg:col-span-4 lg:pb-10" }, subtitle && /* @__PURE__ */ React26.createElement("p", { className: "text-xs text-[#ffffff]/70 sm:text-sm md:text-xs leading-[1.2] max-w-md transition-opacity duration-1000 delay-300" }, subtitle), /* @__PURE__ */ React26.createElement("div", { className: "flex flex-col sm:flex-row items-start sm:items-center gap-4" }, ctaText && /* @__PURE__ */ React26.createElement(
2861
2864
  Link6,
2862
2865
  {
2863
2866
  href: isWaitlist ? "#" : ctaHref || "#",
@@ -2873,16 +2876,18 @@ var HeroSection = ({
2873
2876
  className: "inline-flex h-10 items-center self-start justify-center text-xs tracking-wide rounded-full px-6 border border-[#ffffff]/30 text-[#ffffff] hover:bg-[#ffffff]/10 transition-colors"
2874
2877
  },
2875
2878
  secondaryCtaText
2876
- )), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React26.createElement("div", { className: "flex flex-col gap-3 mt-4" }, appsText && /* @__PURE__ */ React26.createElement("span", { className: "text-xs tracking-widest text-[#ffffff]/50 " }, appsText), /* @__PURE__ */ React26.createElement("div", { className: "flex items-center gap-4" }, appLogos.map((logo, idx) => /* @__PURE__ */ React26.createElement("div", { key: idx, className: "relative h-6 sm:h-7 opacity-70 hover:opacity-100 transition-opacity invert" }, /* @__PURE__ */ React26.createElement(
2879
+ )))))), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React26.createElement("div", { className: "flex flex-col items-center gap-4 mt-8 w-full" }, appsText && /* @__PURE__ */ React26.createElement("span", { className: "text-xs tracking-widest text-black/70 uppercase" }, appsText), /* @__PURE__ */ React26.createElement("div", { className: "flex flex-wrap items-center justify-center gap-8 sm:gap-12" }, appLogos.map((logo, idx) => /* @__PURE__ */ React26.createElement("div", { key: idx, className: logoWrapperClassName }, /* @__PURE__ */ React26.createElement(
2877
2880
  Image3,
2878
2881
  {
2879
2882
  src: logo.src,
2880
2883
  alt: logo.alt,
2881
- width: 28,
2882
- height: 28,
2883
- className: "h-full w-auto grayscale opacity-90 object-contain"
2884
+ width: logoSize,
2885
+ height: logoSize,
2886
+ quality: 100,
2887
+ unoptimized: unoptimizedLogos,
2888
+ className: "h-full w-auto grayscale object-contain"
2884
2889
  }
2885
- ))))))))), /* @__PURE__ */ React26.createElement(
2890
+ ))))), /* @__PURE__ */ React26.createElement(
2886
2891
  WaitlistDialog,
2887
2892
  {
2888
2893
  isOpen: isWaitlistOpen,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@retinalabsllc/zairusjs",
3
- "version": "20.1.30",
3
+ "version": "20.1.35",
4
4
  "description": "A perceptive, Ai data driven Next.js UI component library.",
5
5
  "author": "Retina Labs Company",
6
6
  "license": "MIT",