@retinalabsllc/zairusjs 5.1.85 → 5.1.90
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.js +33 -67
- package/dist/index.mjs +48 -82
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -290,13 +290,12 @@ var import_navigation = require("next/navigation");
|
|
|
290
290
|
var NavLink = ({
|
|
291
291
|
href,
|
|
292
292
|
children,
|
|
293
|
-
className = ""
|
|
294
|
-
isDarkTheme
|
|
293
|
+
className = ""
|
|
295
294
|
}) => {
|
|
296
295
|
const pathname = (0, import_navigation.usePathname)();
|
|
297
296
|
const isActive = pathname === href;
|
|
298
|
-
const activeClass =
|
|
299
|
-
const inactiveClass =
|
|
297
|
+
const activeClass = "text-neutral-900 font-medium";
|
|
298
|
+
const inactiveClass = "text-neutral-500 hover:text-neutral-900";
|
|
300
299
|
return /* @__PURE__ */ import_react5.default.createElement(
|
|
301
300
|
import_link2.default,
|
|
302
301
|
{
|
|
@@ -316,71 +315,38 @@ var Header = ({
|
|
|
316
315
|
hideHeaderText = false,
|
|
317
316
|
compact = false
|
|
318
317
|
}) => {
|
|
319
|
-
const
|
|
320
|
-
const [isDarkTheme, setIsDarkTheme] = (0, import_react5.useState)(true);
|
|
318
|
+
const [mounted, setMounted] = (0, import_react5.useState)(false);
|
|
321
319
|
(0, import_react5.useEffect)(() => {
|
|
322
|
-
|
|
323
|
-
if (!headerRef.current) return;
|
|
324
|
-
const rect = headerRef.current.getBoundingClientRect();
|
|
325
|
-
const x = rect.left + rect.width / 2;
|
|
326
|
-
const y = rect.top + rect.height / 2;
|
|
327
|
-
const elementsAtPoint = document.elementsFromPoint(x, y);
|
|
328
|
-
let foundDarkBackground = true;
|
|
329
|
-
for (const el of elementsAtPoint) {
|
|
330
|
-
if (headerRef.current.contains(el)) continue;
|
|
331
|
-
const style = window.getComputedStyle(el);
|
|
332
|
-
const bg = style.backgroundColor;
|
|
333
|
-
if (bg && bg !== "rgba(0, 0, 0, 0)" && bg !== "transparent") {
|
|
334
|
-
const rgbMatch = bg.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);
|
|
335
|
-
if (rgbMatch) {
|
|
336
|
-
const r = parseInt(rgbMatch[1], 10);
|
|
337
|
-
const g = parseInt(rgbMatch[2], 10);
|
|
338
|
-
const b = parseInt(rgbMatch[3], 10);
|
|
339
|
-
const brightness = Math.round((r * 299 + g * 587 + b * 114) / 1e3);
|
|
340
|
-
foundDarkBackground = brightness < 128;
|
|
341
|
-
break;
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
setIsDarkTheme(foundDarkBackground);
|
|
346
|
-
};
|
|
347
|
-
checkBackgroundLuminance();
|
|
348
|
-
window.addEventListener("scroll", checkBackgroundLuminance, { passive: true });
|
|
349
|
-
window.addEventListener("resize", checkBackgroundLuminance, { passive: true });
|
|
350
|
-
return () => {
|
|
351
|
-
window.removeEventListener("scroll", checkBackgroundLuminance);
|
|
352
|
-
window.removeEventListener("resize", checkBackgroundLuminance);
|
|
353
|
-
};
|
|
320
|
+
setMounted(true);
|
|
354
321
|
}, []);
|
|
355
322
|
const headerLayoutWidth = compact ? "w-fit mx-auto gap-8 md:gap-16" : "w-full justify-between";
|
|
356
323
|
const hasBrandSection = showLogo || !hideHeaderText;
|
|
357
|
-
const headerBgClass =
|
|
358
|
-
const brandTitleClass =
|
|
359
|
-
const brandSubtitleClass =
|
|
360
|
-
const shouldInvertLogo =
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
);
|
|
324
|
+
const headerBgClass = "bg-white/80";
|
|
325
|
+
const brandTitleClass = "text-neutral-900";
|
|
326
|
+
const brandSubtitleClass = "text-neutral-500";
|
|
327
|
+
const shouldInvertLogo = !invert;
|
|
328
|
+
if (!mounted) {
|
|
329
|
+
return /* @__PURE__ */ import_react5.default.createElement("div", { className: "absolute inset-x-0 top-0 w-full h-20 z-50 pointer-events-none px-4 pt-4 sm:pt-6" });
|
|
330
|
+
}
|
|
331
|
+
return /* @__PURE__ */ import_react5.default.createElement("div", { className: "absolute inset-x-0 top-0 w-full z-50 pointer-events-none px-4 pt-4 sm:pt-6" }, /* @__PURE__ */ import_react5.default.createElement("div", { className: "max-w-5xl mx-auto w-full pointer-events-auto flex justify-center" }, /* @__PURE__ */ import_react5.default.createElement("header", { className: `${headerLayoutWidth} ${headerBgClass} backdrop-blur-md rounded-full py-2 px-6 flex items-center transition-all duration-300` }, hasBrandSection && /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex items-center shrink-0" }, /* @__PURE__ */ import_react5.default.createElement(import_link2.default, { href: "/", className: "flex items-center gap-3 transition-opacity hover:opacity-70 outline-none" }, showLogo && /* @__PURE__ */ import_react5.default.createElement(
|
|
332
|
+
import_image.default,
|
|
333
|
+
{
|
|
334
|
+
src: logoSrc,
|
|
335
|
+
alt: `${companyName} Logo`,
|
|
336
|
+
width: 40,
|
|
337
|
+
height: 40,
|
|
338
|
+
className: `object-contain w-8 h-auto ${shouldInvertLogo ? "invert" : ""}`,
|
|
339
|
+
priority: true
|
|
340
|
+
}
|
|
341
|
+
), !hideHeaderText && /* @__PURE__ */ import_react5.default.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ import_react5.default.createElement("span", { className: `text-[11px] leading-none tracking-wide mb-1 ${brandTitleClass}` }, companyName), subtitle && /* @__PURE__ */ import_react5.default.createElement("span", { className: `text-[9px] tracking-widest leading-none ${brandSubtitleClass}` }, subtitle)))), /* @__PURE__ */ import_react5.default.createElement("nav", { className: "flex items-center gap-1 md:gap-2 shrink-0" }, links.map((link, index) => /* @__PURE__ */ import_react5.default.createElement(
|
|
342
|
+
NavLink,
|
|
343
|
+
{
|
|
344
|
+
key: index,
|
|
345
|
+
href: link.href,
|
|
346
|
+
className: link.hideOnMobile ? "hidden sm:inline-flex" : ""
|
|
347
|
+
},
|
|
348
|
+
link.label
|
|
349
|
+
))))));
|
|
384
350
|
};
|
|
385
351
|
|
|
386
352
|
// src/components/Footer.tsx
|
|
@@ -535,7 +501,7 @@ var HeroSection = ({
|
|
|
535
501
|
import_link4.default,
|
|
536
502
|
{
|
|
537
503
|
href: secondaryCtaHref,
|
|
538
|
-
className: "w-full sm:w-60 inline-flex font-medium items-center justify-center text-
|
|
504
|
+
className: "w-full sm:w-60 inline-flex font-medium items-center justify-center text-xs tracking-widest rounded-full px-8 py-2.5 border border-neutral-100 text-center text-white hover:bg-black/80 outline-none transition-all"
|
|
539
505
|
},
|
|
540
506
|
secondaryCtaText
|
|
541
507
|
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ import_react8.default.createElement("div", { className: "w-full flex flex-col items-center mt-4" }, appsText && /* @__PURE__ */ import_react8.default.createElement("p", { className: "text-[9px] tracking-[0.2em] text-neutral-500 mb-5 " }, appsText), /* @__PURE__ */ import_react8.default.createElement("div", { className: "flex flex-wrap justify-center items-center gap-6 opacity-90" }, appLogos.map((logo, idx) => /* @__PURE__ */ import_react8.default.createElement("div", { key: idx, className: "relative h-6 w-6 sm:h-8 sm:w-8 flex items-center justify-center cursor-default" }, /* @__PURE__ */ import_react8.default.createElement(
|
|
@@ -952,7 +918,7 @@ var ManagedPricingBlock = ({
|
|
|
952
918
|
import_link5.default,
|
|
953
919
|
{
|
|
954
920
|
href: plan.ctaHref,
|
|
955
|
-
className: "w-full py-2 px-5 rounded-full border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 transition-colors mb-6 outline-none block"
|
|
921
|
+
className: "w-full py-2.5 px-5 rounded-full border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 transition-colors mb-6 outline-none block"
|
|
956
922
|
},
|
|
957
923
|
plan.ctaText
|
|
958
924
|
),
|
package/dist/index.mjs
CHANGED
|
@@ -224,20 +224,19 @@ var ThreeDActionButton = ({
|
|
|
224
224
|
};
|
|
225
225
|
|
|
226
226
|
// src/components/Header.tsx
|
|
227
|
-
import React4, { useState as useState2, useEffect as useEffect2
|
|
227
|
+
import React4, { useState as useState2, useEffect as useEffect2 } from "react";
|
|
228
228
|
import Link2 from "next/link";
|
|
229
229
|
import Image from "next/image";
|
|
230
230
|
import { usePathname } from "next/navigation";
|
|
231
231
|
var NavLink = ({
|
|
232
232
|
href,
|
|
233
233
|
children,
|
|
234
|
-
className = ""
|
|
235
|
-
isDarkTheme
|
|
234
|
+
className = ""
|
|
236
235
|
}) => {
|
|
237
236
|
const pathname = usePathname();
|
|
238
237
|
const isActive = pathname === href;
|
|
239
|
-
const activeClass =
|
|
240
|
-
const inactiveClass =
|
|
238
|
+
const activeClass = "text-neutral-900 font-medium";
|
|
239
|
+
const inactiveClass = "text-neutral-500 hover:text-neutral-900";
|
|
241
240
|
return /* @__PURE__ */ React4.createElement(
|
|
242
241
|
Link2,
|
|
243
242
|
{
|
|
@@ -257,71 +256,38 @@ var Header = ({
|
|
|
257
256
|
hideHeaderText = false,
|
|
258
257
|
compact = false
|
|
259
258
|
}) => {
|
|
260
|
-
const
|
|
261
|
-
const [isDarkTheme, setIsDarkTheme] = useState2(true);
|
|
259
|
+
const [mounted, setMounted] = useState2(false);
|
|
262
260
|
useEffect2(() => {
|
|
263
|
-
|
|
264
|
-
if (!headerRef.current) return;
|
|
265
|
-
const rect = headerRef.current.getBoundingClientRect();
|
|
266
|
-
const x = rect.left + rect.width / 2;
|
|
267
|
-
const y = rect.top + rect.height / 2;
|
|
268
|
-
const elementsAtPoint = document.elementsFromPoint(x, y);
|
|
269
|
-
let foundDarkBackground = true;
|
|
270
|
-
for (const el of elementsAtPoint) {
|
|
271
|
-
if (headerRef.current.contains(el)) continue;
|
|
272
|
-
const style = window.getComputedStyle(el);
|
|
273
|
-
const bg = style.backgroundColor;
|
|
274
|
-
if (bg && bg !== "rgba(0, 0, 0, 0)" && bg !== "transparent") {
|
|
275
|
-
const rgbMatch = bg.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);
|
|
276
|
-
if (rgbMatch) {
|
|
277
|
-
const r = parseInt(rgbMatch[1], 10);
|
|
278
|
-
const g = parseInt(rgbMatch[2], 10);
|
|
279
|
-
const b = parseInt(rgbMatch[3], 10);
|
|
280
|
-
const brightness = Math.round((r * 299 + g * 587 + b * 114) / 1e3);
|
|
281
|
-
foundDarkBackground = brightness < 128;
|
|
282
|
-
break;
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
setIsDarkTheme(foundDarkBackground);
|
|
287
|
-
};
|
|
288
|
-
checkBackgroundLuminance();
|
|
289
|
-
window.addEventListener("scroll", checkBackgroundLuminance, { passive: true });
|
|
290
|
-
window.addEventListener("resize", checkBackgroundLuminance, { passive: true });
|
|
291
|
-
return () => {
|
|
292
|
-
window.removeEventListener("scroll", checkBackgroundLuminance);
|
|
293
|
-
window.removeEventListener("resize", checkBackgroundLuminance);
|
|
294
|
-
};
|
|
261
|
+
setMounted(true);
|
|
295
262
|
}, []);
|
|
296
263
|
const headerLayoutWidth = compact ? "w-fit mx-auto gap-8 md:gap-16" : "w-full justify-between";
|
|
297
264
|
const hasBrandSection = showLogo || !hideHeaderText;
|
|
298
|
-
const headerBgClass =
|
|
299
|
-
const brandTitleClass =
|
|
300
|
-
const brandSubtitleClass =
|
|
301
|
-
const shouldInvertLogo =
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
);
|
|
265
|
+
const headerBgClass = "bg-white/80";
|
|
266
|
+
const brandTitleClass = "text-neutral-900";
|
|
267
|
+
const brandSubtitleClass = "text-neutral-500";
|
|
268
|
+
const shouldInvertLogo = !invert;
|
|
269
|
+
if (!mounted) {
|
|
270
|
+
return /* @__PURE__ */ React4.createElement("div", { className: "absolute inset-x-0 top-0 w-full h-20 z-50 pointer-events-none px-4 pt-4 sm:pt-6" });
|
|
271
|
+
}
|
|
272
|
+
return /* @__PURE__ */ React4.createElement("div", { className: "absolute inset-x-0 top-0 w-full z-50 pointer-events-none px-4 pt-4 sm:pt-6" }, /* @__PURE__ */ React4.createElement("div", { className: "max-w-5xl mx-auto w-full pointer-events-auto flex justify-center" }, /* @__PURE__ */ React4.createElement("header", { className: `${headerLayoutWidth} ${headerBgClass} backdrop-blur-md rounded-full py-2 px-6 flex items-center transition-all duration-300` }, hasBrandSection && /* @__PURE__ */ React4.createElement("div", { className: "flex items-center shrink-0" }, /* @__PURE__ */ React4.createElement(Link2, { href: "/", className: "flex items-center gap-3 transition-opacity hover:opacity-70 outline-none" }, showLogo && /* @__PURE__ */ React4.createElement(
|
|
273
|
+
Image,
|
|
274
|
+
{
|
|
275
|
+
src: logoSrc,
|
|
276
|
+
alt: `${companyName} Logo`,
|
|
277
|
+
width: 40,
|
|
278
|
+
height: 40,
|
|
279
|
+
className: `object-contain w-8 h-auto ${shouldInvertLogo ? "invert" : ""}`,
|
|
280
|
+
priority: true
|
|
281
|
+
}
|
|
282
|
+
), !hideHeaderText && /* @__PURE__ */ React4.createElement("div", { className: "flex flex-col justify-center" }, /* @__PURE__ */ React4.createElement("span", { className: `text-[11px] leading-none tracking-wide mb-1 ${brandTitleClass}` }, companyName), subtitle && /* @__PURE__ */ React4.createElement("span", { className: `text-[9px] tracking-widest leading-none ${brandSubtitleClass}` }, subtitle)))), /* @__PURE__ */ React4.createElement("nav", { className: "flex items-center gap-1 md:gap-2 shrink-0" }, links.map((link, index) => /* @__PURE__ */ React4.createElement(
|
|
283
|
+
NavLink,
|
|
284
|
+
{
|
|
285
|
+
key: index,
|
|
286
|
+
href: link.href,
|
|
287
|
+
className: link.hideOnMobile ? "hidden sm:inline-flex" : ""
|
|
288
|
+
},
|
|
289
|
+
link.label
|
|
290
|
+
))))));
|
|
325
291
|
};
|
|
326
292
|
|
|
327
293
|
// src/components/Footer.tsx
|
|
@@ -374,7 +340,7 @@ var Footer = ({
|
|
|
374
340
|
};
|
|
375
341
|
|
|
376
342
|
// src/components/HeroSection.tsx
|
|
377
|
-
import React6, { useState as useState4, useEffect as useEffect3, useRef as
|
|
343
|
+
import React6, { useState as useState4, useEffect as useEffect3, useRef as useRef2 } from "react";
|
|
378
344
|
import Link4 from "next/link";
|
|
379
345
|
import Image2 from "next/image";
|
|
380
346
|
var HeroSection = ({
|
|
@@ -396,7 +362,7 @@ var HeroSection = ({
|
|
|
396
362
|
bgImageSrc
|
|
397
363
|
}) => {
|
|
398
364
|
const [isAnimating, setIsAnimating] = useState4(false);
|
|
399
|
-
const titleRef =
|
|
365
|
+
const titleRef = useRef2(null);
|
|
400
366
|
useEffect3(() => {
|
|
401
367
|
const observer = new IntersectionObserver(
|
|
402
368
|
([entry]) => {
|
|
@@ -476,7 +442,7 @@ var HeroSection = ({
|
|
|
476
442
|
Link4,
|
|
477
443
|
{
|
|
478
444
|
href: secondaryCtaHref,
|
|
479
|
-
className: "w-full sm:w-60 inline-flex font-medium items-center justify-center text-
|
|
445
|
+
className: "w-full sm:w-60 inline-flex font-medium items-center justify-center text-xs tracking-widest rounded-full px-8 py-2.5 border border-neutral-100 text-center text-white hover:bg-black/80 outline-none transition-all"
|
|
480
446
|
},
|
|
481
447
|
secondaryCtaText
|
|
482
448
|
)), showApps && appLogos && appLogos.length > 0 && /* @__PURE__ */ React6.createElement("div", { className: "w-full flex flex-col items-center mt-4" }, appsText && /* @__PURE__ */ React6.createElement("p", { className: "text-[9px] tracking-[0.2em] text-neutral-500 mb-5 " }, appsText), /* @__PURE__ */ React6.createElement("div", { className: "flex flex-wrap justify-center items-center gap-6 opacity-90" }, appLogos.map((logo, idx) => /* @__PURE__ */ React6.createElement("div", { key: idx, className: "relative h-6 w-6 sm:h-8 sm:w-8 flex items-center justify-center cursor-default" }, /* @__PURE__ */ React6.createElement(
|
|
@@ -492,11 +458,11 @@ var HeroSection = ({
|
|
|
492
458
|
};
|
|
493
459
|
|
|
494
460
|
// src/components/AppBento2.tsx
|
|
495
|
-
import React7, { useState as useState5, useEffect as useEffect4, useRef as
|
|
461
|
+
import React7, { useState as useState5, useEffect as useEffect4, useRef as useRef3 } from "react";
|
|
496
462
|
import { HugeiconsIcon as HugeiconsIcon3 } from "@hugeicons/react";
|
|
497
463
|
var AppBento2 = ({ tagline, headline, features }) => {
|
|
498
464
|
const [isAnimating, setIsAnimating] = useState5(false);
|
|
499
|
-
const titleRef =
|
|
465
|
+
const titleRef = useRef3(null);
|
|
500
466
|
useEffect4(() => {
|
|
501
467
|
const observer = new IntersectionObserver(
|
|
502
468
|
([entry]) => {
|
|
@@ -567,7 +533,7 @@ var AppBento2 = ({ tagline, headline, features }) => {
|
|
|
567
533
|
};
|
|
568
534
|
|
|
569
535
|
// src/components/FeatureScroll.tsx
|
|
570
|
-
import React8, { useRef as
|
|
536
|
+
import React8, { useRef as useRef4, useState as useState6, useEffect as useEffect5 } from "react";
|
|
571
537
|
import Image3 from "next/image";
|
|
572
538
|
import { HugeiconsIcon as HugeiconsIcon4 } from "@hugeicons/react";
|
|
573
539
|
import { ArrowLeft01Icon, ArrowRight01Icon, Loading03Icon as Loading03Icon2 } from "@hugeicons/core-free-icons";
|
|
@@ -611,7 +577,7 @@ var FeatureCard = ({ feature, bgImage }) => {
|
|
|
611
577
|
))), /* @__PURE__ */ React8.createElement("div", { className: "flex flex-col text-left pr-4" }, /* @__PURE__ */ React8.createElement("h3", { className: " text-xl tracking-tight text-black mb-2" }, feature.title), /* @__PURE__ */ React8.createElement("p", { className: "text-[13px] leading-relaxed text-neutral-600 max-w-[90%]" }, feature.desc)));
|
|
612
578
|
};
|
|
613
579
|
var FeatureScroll = ({ tagline, headline, features }) => {
|
|
614
|
-
const scrollRef =
|
|
580
|
+
const scrollRef = useRef4(null);
|
|
615
581
|
const [canScrollLeft, setCanScrollLeft] = useState6(false);
|
|
616
582
|
const [canScrollRight, setCanScrollRight] = useState6(true);
|
|
617
583
|
const checkScroll = () => {
|
|
@@ -704,7 +670,7 @@ var PlatformFeatures = ({
|
|
|
704
670
|
};
|
|
705
671
|
|
|
706
672
|
// src/components/ManagedDocument.tsx
|
|
707
|
-
import React10, { useState as useState7, useEffect as useEffect6, useRef as
|
|
673
|
+
import React10, { useState as useState7, useEffect as useEffect6, useRef as useRef5 } from "react";
|
|
708
674
|
var ManagedDocument = ({
|
|
709
675
|
tagline,
|
|
710
676
|
title,
|
|
@@ -713,7 +679,7 @@ var ManagedDocument = ({
|
|
|
713
679
|
contactEmail
|
|
714
680
|
}) => {
|
|
715
681
|
const [isAnimating, setIsAnimating] = useState7(false);
|
|
716
|
-
const titleRef =
|
|
682
|
+
const titleRef = useRef5(null);
|
|
717
683
|
useEffect6(() => {
|
|
718
684
|
const observer = new IntersectionObserver(
|
|
719
685
|
([entry]) => {
|
|
@@ -813,7 +779,7 @@ var ManagedContactBlock = ({
|
|
|
813
779
|
};
|
|
814
780
|
|
|
815
781
|
// src/components/ManagedPricingBlock.tsx
|
|
816
|
-
import React12, { useState as useState9, useEffect as useEffect8, useRef as
|
|
782
|
+
import React12, { useState as useState9, useEffect as useEffect8, useRef as useRef6 } from "react";
|
|
817
783
|
import Link5 from "next/link";
|
|
818
784
|
import Image4 from "next/image";
|
|
819
785
|
var CheckIcon = ({ className = "" }) => /* @__PURE__ */ React12.createElement("svg", { viewBox: "0 0 24 24", fill: "none", className: `w-4 h-4 shrink-0 ${className}`, xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ React12.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ React12.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
|
|
@@ -826,7 +792,7 @@ var ManagedPricingBlock = ({
|
|
|
826
792
|
}) => {
|
|
827
793
|
const [isAnimating, setIsAnimating] = useState9(false);
|
|
828
794
|
const [activeTabIndex, setActiveTabIndex] = useState9(0);
|
|
829
|
-
const titleRef =
|
|
795
|
+
const titleRef = useRef6(null);
|
|
830
796
|
useEffect8(() => {
|
|
831
797
|
const observer = new IntersectionObserver(
|
|
832
798
|
([entry]) => {
|
|
@@ -893,7 +859,7 @@ var ManagedPricingBlock = ({
|
|
|
893
859
|
Link5,
|
|
894
860
|
{
|
|
895
861
|
href: plan.ctaHref,
|
|
896
|
-
className: "w-full py-2 px-5 rounded-full border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 transition-colors mb-6 outline-none block"
|
|
862
|
+
className: "w-full py-2.5 px-5 rounded-full border border-neutral-100 text-center text-black text-xs hover:bg-neutral-50 transition-colors mb-6 outline-none block"
|
|
897
863
|
},
|
|
898
864
|
plan.ctaText
|
|
899
865
|
),
|
|
@@ -1150,13 +1116,13 @@ var NumberInput = ({
|
|
|
1150
1116
|
));
|
|
1151
1117
|
|
|
1152
1118
|
// src/components/PortfolioHero.tsx
|
|
1153
|
-
import React19, { useEffect as useEffect9, useRef as
|
|
1119
|
+
import React19, { useEffect as useEffect9, useRef as useRef7 } from "react";
|
|
1154
1120
|
import Link6 from "next/link";
|
|
1155
1121
|
import Image7 from "next/image";
|
|
1156
1122
|
import { HugeiconsIcon as HugeiconsIcon9 } from "@hugeicons/react";
|
|
1157
1123
|
import { ArrowRight01Icon as ArrowRight01Icon2 } from "@hugeicons/core-free-icons";
|
|
1158
1124
|
var useScrollAnimation = () => {
|
|
1159
|
-
const elementRef =
|
|
1125
|
+
const elementRef = useRef7(null);
|
|
1160
1126
|
useEffect9(() => {
|
|
1161
1127
|
const el = elementRef.current;
|
|
1162
1128
|
if (!el) return;
|
|
@@ -1285,7 +1251,7 @@ var GifFeatureCard = ({
|
|
|
1285
1251
|
};
|
|
1286
1252
|
|
|
1287
1253
|
// src/components/MedicalFeatureStatsBlock.tsx
|
|
1288
|
-
import React21, { useState as useState11, useEffect as useEffect10, useRef as
|
|
1254
|
+
import React21, { useState as useState11, useEffect as useEffect10, useRef as useRef8 } from "react";
|
|
1289
1255
|
import Image9 from "next/image";
|
|
1290
1256
|
var MedicalFeatureStatsBlock = ({
|
|
1291
1257
|
bottomHeadline,
|
|
@@ -1295,7 +1261,7 @@ var MedicalFeatureStatsBlock = ({
|
|
|
1295
1261
|
stats
|
|
1296
1262
|
}) => {
|
|
1297
1263
|
const [isAnimating, setIsAnimating] = useState11(false);
|
|
1298
|
-
const titleRef =
|
|
1264
|
+
const titleRef = useRef8(null);
|
|
1299
1265
|
useEffect10(() => {
|
|
1300
1266
|
const observer = new IntersectionObserver(
|
|
1301
1267
|
([entry]) => {
|