@retinalabsllc/zairusjs 0.1.3 → 0.1.4
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 +17 -4
- package/dist/index.d.ts +17 -4
- package/dist/index.js +20 -10
- package/dist/index.mjs +20 -10
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -58,14 +58,27 @@ interface FooterProps {
|
|
|
58
58
|
declare const Footer: React.FC<FooterProps>;
|
|
59
59
|
|
|
60
60
|
interface HeroSectionProps {
|
|
61
|
-
|
|
61
|
+
/** Optional small pill text at the very top (e.g., "AI Research Company") */
|
|
62
|
+
badgeText?: string;
|
|
63
|
+
/** The first part of the H1 (e.g., "Hey Retina," or "AI that sees,") */
|
|
62
64
|
titlePrefix: React.ReactNode;
|
|
65
|
+
/** The text that receives the green bounding box highlight */
|
|
63
66
|
highlightText: string;
|
|
67
|
+
/** The text inside the collaborator cursor tag */
|
|
64
68
|
cursorLabel: string;
|
|
65
|
-
subtitle
|
|
66
|
-
|
|
67
|
-
|
|
69
|
+
/** Optional subtitle below the main headline */
|
|
70
|
+
subtitle?: string;
|
|
71
|
+
/** Primary 3D Button text */
|
|
72
|
+
ctaText?: string;
|
|
73
|
+
/** Primary 3D Button link */
|
|
74
|
+
ctaHref?: string;
|
|
75
|
+
/** Optional Secondary flat white button text */
|
|
76
|
+
secondaryCtaText?: string;
|
|
77
|
+
/** Optional Secondary flat white button link */
|
|
78
|
+
secondaryCtaHref?: string;
|
|
79
|
+
/** Should the bottom dashboard image render? */
|
|
68
80
|
showImage?: boolean;
|
|
81
|
+
/** URL for the dashboard image */
|
|
69
82
|
imageSrc?: string;
|
|
70
83
|
}
|
|
71
84
|
declare const HeroSection: React.FC<HeroSectionProps>;
|
package/dist/index.d.ts
CHANGED
|
@@ -58,14 +58,27 @@ interface FooterProps {
|
|
|
58
58
|
declare const Footer: React.FC<FooterProps>;
|
|
59
59
|
|
|
60
60
|
interface HeroSectionProps {
|
|
61
|
-
|
|
61
|
+
/** Optional small pill text at the very top (e.g., "AI Research Company") */
|
|
62
|
+
badgeText?: string;
|
|
63
|
+
/** The first part of the H1 (e.g., "Hey Retina," or "AI that sees,") */
|
|
62
64
|
titlePrefix: React.ReactNode;
|
|
65
|
+
/** The text that receives the green bounding box highlight */
|
|
63
66
|
highlightText: string;
|
|
67
|
+
/** The text inside the collaborator cursor tag */
|
|
64
68
|
cursorLabel: string;
|
|
65
|
-
subtitle
|
|
66
|
-
|
|
67
|
-
|
|
69
|
+
/** Optional subtitle below the main headline */
|
|
70
|
+
subtitle?: string;
|
|
71
|
+
/** Primary 3D Button text */
|
|
72
|
+
ctaText?: string;
|
|
73
|
+
/** Primary 3D Button link */
|
|
74
|
+
ctaHref?: string;
|
|
75
|
+
/** Optional Secondary flat white button text */
|
|
76
|
+
secondaryCtaText?: string;
|
|
77
|
+
/** Optional Secondary flat white button link */
|
|
78
|
+
secondaryCtaHref?: string;
|
|
79
|
+
/** Should the bottom dashboard image render? */
|
|
68
80
|
showImage?: boolean;
|
|
81
|
+
/** URL for the dashboard image */
|
|
69
82
|
imageSrc?: string;
|
|
70
83
|
}
|
|
71
84
|
declare const HeroSection: React.FC<HeroSectionProps>;
|
package/dist/index.js
CHANGED
|
@@ -236,6 +236,7 @@ var Footer = ({
|
|
|
236
236
|
|
|
237
237
|
// src/components/HeroSection.tsx
|
|
238
238
|
var import_react7 = __toESM(require("react"));
|
|
239
|
+
var import_link4 = __toESM(require("next/link"));
|
|
239
240
|
var import_image2 = __toESM(require("next/image"));
|
|
240
241
|
var HeroSection = ({
|
|
241
242
|
badgeText,
|
|
@@ -245,7 +246,9 @@ var HeroSection = ({
|
|
|
245
246
|
subtitle,
|
|
246
247
|
ctaText,
|
|
247
248
|
ctaHref,
|
|
248
|
-
|
|
249
|
+
secondaryCtaText,
|
|
250
|
+
secondaryCtaHref,
|
|
251
|
+
showImage = false,
|
|
249
252
|
imageSrc = "/assets/ai.avif"
|
|
250
253
|
}) => {
|
|
251
254
|
return /* @__PURE__ */ import_react7.default.createElement("section", { className: "relative pt-32 sm:pt-40 pb-16 flex flex-col items-center overflow-hidden w-full" }, /* @__PURE__ */ import_react7.default.createElement(
|
|
@@ -264,7 +267,14 @@ var HeroSection = ({
|
|
|
264
267
|
backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`
|
|
265
268
|
}
|
|
266
269
|
}
|
|
267
|
-
), /* @__PURE__ */ import_react7.default.createElement("div", { className: "relative max-w-5xl mx-auto px-4 sm:px-6 w-full flex flex-col items-center text-center z-10" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "inline-flex items-center gap-1.5 mb-6 px-
|
|
270
|
+
), /* @__PURE__ */ import_react7.default.createElement("div", { className: "relative max-w-5xl mx-auto px-4 sm:px-6 w-full flex flex-col items-center text-center z-10" }, badgeText && /* @__PURE__ */ import_react7.default.createElement("div", { className: "inline-flex items-center gap-1.5 mb-6 px-4 py-1.5 rounded-full bg-white/10 backdrop-blur-md shadow-xs" }, /* @__PURE__ */ import_react7.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-white uppercase" }, badgeText)), /* @__PURE__ */ import_react7.default.createElement("h1", { className: "text-[40px] md:text-5xl lg:text-7xl text-white tracking-tight leading-[1.05] max-w-4xl mb-4" }, titlePrefix), /* @__PURE__ */ import_react7.default.createElement("div", { className: "flex justify-center mt-2 mb-10 md:mb-14" }, /* @__PURE__ */ import_react7.default.createElement("span", { className: "relative inline-block mx-1.5 px-4 py-2 md:py-3 bg-[#21a473]/25 border border-[#3ae9a8] rounded-sm text-white select-none text-2xl md:text-4xl lg:text-6xl tracking-tight" }, /* @__PURE__ */ import_react7.default.createElement("span", { className: "absolute -top-[3.5px] -left-[3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ import_react7.default.createElement("span", { className: "absolute -top-[3.5px] -right-[3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ import_react7.default.createElement("span", { className: "absolute -bottom-[3.5px] -left-[3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ import_react7.default.createElement("span", { className: "absolute -bottom-[3.5px] -right-[3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), highlightText, /* @__PURE__ */ import_react7.default.createElement("span", { className: "absolute -bottom-5 -right-5 flex items-center z-20 pointer-events-none select-none filter drop-shadow-[0_2px_4px_rgba(0,0,0,0.25)]" }, /* @__PURE__ */ import_react7.default.createElement("svg", { width: "18", height: "22", viewBox: "0 0 16 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "transform -rotate-12" }, /* @__PURE__ */ import_react7.default.createElement("path", { d: "M1 1V17.8L5.8 13.1H12.8L1 1Z", fill: "#21a473", stroke: "white", strokeWidth: "1.8", strokeLinejoin: "round" })), /* @__PURE__ */ import_react7.default.createElement("span", { className: "ml-1 bg-[#21a473] text-[10px] text-white px-2 py-0.5 rounded-full border border-white tracking-wide" }, cursorLabel)))), subtitle && /* @__PURE__ */ import_react7.default.createElement("p", { className: "text-[13px] md:text-[15px] text-[#bbf7df]/90 max-w-xl mx-auto mb-10 font-light leading-relaxed" }, subtitle), /* @__PURE__ */ import_react7.default.createElement("div", { className: "flex flex-col sm:flex-row gap-4 justify-center items-center w-full px-2 sm:px-0 mx-auto mb-10" }, ctaText && ctaHref && /* @__PURE__ */ import_react7.default.createElement("div", { className: "w-full sm:w-60 flex justify-center *:w-full" }, /* @__PURE__ */ import_react7.default.createElement(ThreeDButton, { href: ctaHref }, ctaText)), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react7.default.createElement(
|
|
271
|
+
import_link4.default,
|
|
272
|
+
{
|
|
273
|
+
href: secondaryCtaHref,
|
|
274
|
+
className: "w-full sm:w-60 inline-flex items-center justify-center text-[12px] tracking-widest rounded-full px-8 py-2.5 bg-white text-black transition-colors hover:bg-neutral-200 outline-none"
|
|
275
|
+
},
|
|
276
|
+
secondaryCtaText
|
|
277
|
+
)), showImage && /* @__PURE__ */ import_react7.default.createElement("div", { className: "w-full max-w-4xl mx-auto px-2 sm:px-6" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "relative w-full flex flex-col items-center" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "relative w-full rounded-t-xl overflow-hidden border-[5px] border-[#1c1c1e] bg-[#1c1c1e] shadow-2xl aspect-video" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "absolute top-1.5 left-1/2 -translate-x-1/2 w-2.5 h-2.5 bg-[#0a0a0b] rounded-full flex items-center justify-center z-30" }, /* @__PURE__ */ import_react7.default.createElement("div", { className: "w-1 h-1 bg-[#1a2d42] rounded-full" })), /* @__PURE__ */ import_react7.default.createElement("div", { className: "relative w-full h-full rounded-sm overflow-hidden" }, /* @__PURE__ */ import_react7.default.createElement(
|
|
268
278
|
import_image2.default,
|
|
269
279
|
{
|
|
270
280
|
src: imageSrc,
|
|
@@ -568,7 +578,7 @@ var ManagedContactBlock = ({
|
|
|
568
578
|
|
|
569
579
|
// src/components/ManagedPricingBlock.tsx
|
|
570
580
|
var import_react19 = __toESM(require("react"));
|
|
571
|
-
var
|
|
581
|
+
var import_link5 = __toESM(require("next/link"));
|
|
572
582
|
var CheckIcon = ({ className = "" }) => /* @__PURE__ */ import_react19.default.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__ */ import_react19.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "black" }), /* @__PURE__ */ import_react19.default.createElement("path", { d: "M8 12L11 15L16 9", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
|
|
573
583
|
var CrossIcon = ({ className = "" }) => /* @__PURE__ */ import_react19.default.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__ */ import_react19.default.createElement("circle", { cx: "12", cy: "12", r: "10", fill: "#F5F5F5" }), /* @__PURE__ */ import_react19.default.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
|
|
574
584
|
var ManagedPricingBlock = ({
|
|
@@ -584,7 +594,7 @@ var ManagedPricingBlock = ({
|
|
|
584
594
|
},
|
|
585
595
|
/* @__PURE__ */ import_react19.default.createElement("div", { className: "mb-6" }, /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ import_react19.default.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-3xl text-black" }, plan.price), plan.period && /* @__PURE__ */ import_react19.default.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ import_react19.default.createElement("p", { className: "text-xs text-neutral-500 mt-2" }, plan.description)),
|
|
586
596
|
plan.isPremium ? /* @__PURE__ */ import_react19.default.createElement(ThreeDButton, { href: plan.ctaHref, className: "mb-6 w-full" }, plan.ctaText) : /* @__PURE__ */ import_react19.default.createElement(
|
|
587
|
-
|
|
597
|
+
import_link5.default,
|
|
588
598
|
{
|
|
589
599
|
href: plan.ctaHref,
|
|
590
600
|
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"
|
|
@@ -661,7 +671,7 @@ var ManagedBoardBlock = ({
|
|
|
661
671
|
|
|
662
672
|
// src/components/ManagedProjectsBlock.tsx
|
|
663
673
|
var import_react22 = __toESM(require("react"));
|
|
664
|
-
var
|
|
674
|
+
var import_link6 = __toESM(require("next/link"));
|
|
665
675
|
var GridSection = ({
|
|
666
676
|
children,
|
|
667
677
|
isLast = false,
|
|
@@ -684,13 +694,13 @@ var ManagedProjectsBlock = ({
|
|
|
684
694
|
), /* @__PURE__ */ import_react22.default.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ import_react22.default.createElement(GridSection, null, tagline && /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 text-left block uppercase" }, tagline), /* @__PURE__ */ import_react22.default.createElement("h1", { className: "text-4xl md:text-5xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
|
|
685
695
|
const isLast = index === projects.length - 1;
|
|
686
696
|
const projectContent = /* @__PURE__ */ import_react22.default.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-3 md:gap-4 mb-4 md:mb-5" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ import_react22.default.createElement("h2", { className: "text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-[12px] opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300" }, project.isExternal ? "\u2197" : "\u2192")), /* @__PURE__ */ import_react22.default.createElement("span", { className: `text-[9px] px-2.5 py-1 rounded-full tracking-[0.15em] uppercase transition-colors ${project.status.toLowerCase() === "production" ? "bg-black text-white" : "bg-neutral-100 text-neutral-500 group-hover:bg-neutral-200 group-hover:text-black"}` }, project.status)), /* @__PURE__ */ import_react22.default.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-500 shrink-0 uppercase" }, project.date)), /* @__PURE__ */ import_react22.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
|
|
687
|
-
return /* @__PURE__ */ import_react22.default.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ import_react22.default.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ import_react22.default.createElement(
|
|
697
|
+
return /* @__PURE__ */ import_react22.default.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ import_react22.default.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ import_react22.default.createElement(import_link6.default, { href: project.link, className: "block outline-none" }, projectContent));
|
|
688
698
|
}))));
|
|
689
699
|
};
|
|
690
700
|
|
|
691
701
|
// src/components/ManagedNotFoundBlock.tsx
|
|
692
702
|
var import_react23 = __toESM(require("react"));
|
|
693
|
-
var
|
|
703
|
+
var import_link7 = __toESM(require("next/link"));
|
|
694
704
|
var ManagedNotFoundBlock = ({
|
|
695
705
|
title = "404 - Page Not Found",
|
|
696
706
|
description = "The page you are looking for does not exist or has been moved.",
|
|
@@ -706,7 +716,7 @@ var ManagedNotFoundBlock = ({
|
|
|
706
716
|
},
|
|
707
717
|
/* @__PURE__ */ import_react23.default.createElement("path", { fillRule: "evenodd", d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" })
|
|
708
718
|
)), /* @__PURE__ */ import_react23.default.createElement("h1", { className: "text-xl md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ import_react23.default.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-12" }, description), /* @__PURE__ */ import_react23.default.createElement(
|
|
709
|
-
|
|
719
|
+
import_link7.default,
|
|
710
720
|
{
|
|
711
721
|
href: backLinkHref,
|
|
712
722
|
className: "text-[11px] tracking-[0.2em] text-neutral-400 hover:text-black transition-colors pb-1 uppercase"
|
|
@@ -886,7 +896,7 @@ var NumberInput = ({
|
|
|
886
896
|
|
|
887
897
|
// src/components/PortfolioHero.tsx
|
|
888
898
|
var import_react29 = __toESM(require("react"));
|
|
889
|
-
var
|
|
899
|
+
var import_link8 = __toESM(require("next/link"));
|
|
890
900
|
var import_image7 = __toESM(require("next/image"));
|
|
891
901
|
var import_react30 = require("@hugeicons/react");
|
|
892
902
|
var import_core_free_icons6 = require("@hugeicons/core-free-icons");
|
|
@@ -964,7 +974,7 @@ var PortfolioHero = ({
|
|
|
964
974
|
},
|
|
965
975
|
primaryCtaText
|
|
966
976
|
)), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ import_react29.default.createElement(
|
|
967
|
-
|
|
977
|
+
import_link8.default,
|
|
968
978
|
{
|
|
969
979
|
href: secondaryCtaHref,
|
|
970
980
|
className: "w-full sm:w-auto inline-flex items-center justify-center gap-3 text-[11px] tracking-[0.2em] uppercase rounded-full px-8 py-3.5 bg-neutral-100 transition-colors text-black hover:bg-neutral-200 outline-none"
|
package/dist/index.mjs
CHANGED
|
@@ -181,6 +181,7 @@ var Footer = ({
|
|
|
181
181
|
|
|
182
182
|
// src/components/HeroSection.tsx
|
|
183
183
|
import React5 from "react";
|
|
184
|
+
import Link4 from "next/link";
|
|
184
185
|
import Image2 from "next/image";
|
|
185
186
|
var HeroSection = ({
|
|
186
187
|
badgeText,
|
|
@@ -190,7 +191,9 @@ var HeroSection = ({
|
|
|
190
191
|
subtitle,
|
|
191
192
|
ctaText,
|
|
192
193
|
ctaHref,
|
|
193
|
-
|
|
194
|
+
secondaryCtaText,
|
|
195
|
+
secondaryCtaHref,
|
|
196
|
+
showImage = false,
|
|
194
197
|
imageSrc = "/assets/ai.avif"
|
|
195
198
|
}) => {
|
|
196
199
|
return /* @__PURE__ */ React5.createElement("section", { className: "relative pt-32 sm:pt-40 pb-16 flex flex-col items-center overflow-hidden w-full" }, /* @__PURE__ */ React5.createElement(
|
|
@@ -209,7 +212,14 @@ var HeroSection = ({
|
|
|
209
212
|
backgroundImage: `url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`
|
|
210
213
|
}
|
|
211
214
|
}
|
|
212
|
-
), /* @__PURE__ */ React5.createElement("div", { className: "relative max-w-5xl mx-auto px-4 sm:px-6 w-full flex flex-col items-center text-center z-10" }, /* @__PURE__ */ React5.createElement("div", { className: "inline-flex items-center gap-1.5 mb-6 px-
|
|
215
|
+
), /* @__PURE__ */ React5.createElement("div", { className: "relative max-w-5xl mx-auto px-4 sm:px-6 w-full flex flex-col items-center text-center z-10" }, badgeText && /* @__PURE__ */ React5.createElement("div", { className: "inline-flex items-center gap-1.5 mb-6 px-4 py-1.5 rounded-full bg-white/10 backdrop-blur-md shadow-xs" }, /* @__PURE__ */ React5.createElement("span", { className: "text-[10px] tracking-[0.4em] text-white uppercase" }, badgeText)), /* @__PURE__ */ React5.createElement("h1", { className: "text-[40px] md:text-5xl lg:text-7xl text-white tracking-tight leading-[1.05] max-w-4xl mb-4" }, titlePrefix), /* @__PURE__ */ React5.createElement("div", { className: "flex justify-center mt-2 mb-10 md:mb-14" }, /* @__PURE__ */ React5.createElement("span", { className: "relative inline-block mx-1.5 px-4 py-2 md:py-3 bg-[#21a473]/25 border border-[#3ae9a8] rounded-sm text-white select-none text-2xl md:text-4xl lg:text-6xl tracking-tight" }, /* @__PURE__ */ React5.createElement("span", { className: "absolute -top-[3.5px] -left-[3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ React5.createElement("span", { className: "absolute -top-[3.5px] -right-[3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ React5.createElement("span", { className: "absolute -bottom-[3.5px] -left-[3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), /* @__PURE__ */ React5.createElement("span", { className: "absolute -bottom-[3.5px] -right-[3.5px] w-2 h-2 bg-white border border-[#21a473] rounded-[1px] z-10" }), highlightText, /* @__PURE__ */ React5.createElement("span", { className: "absolute -bottom-5 -right-5 flex items-center z-20 pointer-events-none select-none filter drop-shadow-[0_2px_4px_rgba(0,0,0,0.25)]" }, /* @__PURE__ */ React5.createElement("svg", { width: "18", height: "22", viewBox: "0 0 16 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "transform -rotate-12" }, /* @__PURE__ */ React5.createElement("path", { d: "M1 1V17.8L5.8 13.1H12.8L1 1Z", fill: "#21a473", stroke: "white", strokeWidth: "1.8", strokeLinejoin: "round" })), /* @__PURE__ */ React5.createElement("span", { className: "ml-1 bg-[#21a473] text-[10px] text-white px-2 py-0.5 rounded-full border border-white tracking-wide" }, cursorLabel)))), subtitle && /* @__PURE__ */ React5.createElement("p", { className: "text-[13px] md:text-[15px] text-[#bbf7df]/90 max-w-xl mx-auto mb-10 font-light leading-relaxed" }, subtitle), /* @__PURE__ */ React5.createElement("div", { className: "flex flex-col sm:flex-row gap-4 justify-center items-center w-full px-2 sm:px-0 mx-auto mb-10" }, ctaText && ctaHref && /* @__PURE__ */ React5.createElement("div", { className: "w-full sm:w-60 flex justify-center *:w-full" }, /* @__PURE__ */ React5.createElement(ThreeDButton, { href: ctaHref }, ctaText)), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ React5.createElement(
|
|
216
|
+
Link4,
|
|
217
|
+
{
|
|
218
|
+
href: secondaryCtaHref,
|
|
219
|
+
className: "w-full sm:w-60 inline-flex items-center justify-center text-[12px] tracking-widest rounded-full px-8 py-2.5 bg-white text-black transition-colors hover:bg-neutral-200 outline-none"
|
|
220
|
+
},
|
|
221
|
+
secondaryCtaText
|
|
222
|
+
)), showImage && /* @__PURE__ */ React5.createElement("div", { className: "w-full max-w-4xl mx-auto px-2 sm:px-6" }, /* @__PURE__ */ React5.createElement("div", { className: "relative w-full flex flex-col items-center" }, /* @__PURE__ */ React5.createElement("div", { className: "relative w-full rounded-t-xl overflow-hidden border-[5px] border-[#1c1c1e] bg-[#1c1c1e] shadow-2xl aspect-video" }, /* @__PURE__ */ React5.createElement("div", { className: "absolute top-1.5 left-1/2 -translate-x-1/2 w-2.5 h-2.5 bg-[#0a0a0b] rounded-full flex items-center justify-center z-30" }, /* @__PURE__ */ React5.createElement("div", { className: "w-1 h-1 bg-[#1a2d42] rounded-full" })), /* @__PURE__ */ React5.createElement("div", { className: "relative w-full h-full rounded-sm overflow-hidden" }, /* @__PURE__ */ React5.createElement(
|
|
213
223
|
Image2,
|
|
214
224
|
{
|
|
215
225
|
src: imageSrc,
|
|
@@ -513,7 +523,7 @@ var ManagedContactBlock = ({
|
|
|
513
523
|
|
|
514
524
|
// src/components/ManagedPricingBlock.tsx
|
|
515
525
|
import React12 from "react";
|
|
516
|
-
import
|
|
526
|
+
import Link5 from "next/link";
|
|
517
527
|
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" }));
|
|
518
528
|
var CrossIcon = ({ 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: "#F5F5F5" }), /* @__PURE__ */ React12.createElement("path", { d: "M15 9L9 15M9 9l6 6", stroke: "#D4D4D4", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }));
|
|
519
529
|
var ManagedPricingBlock = ({
|
|
@@ -529,7 +539,7 @@ var ManagedPricingBlock = ({
|
|
|
529
539
|
},
|
|
530
540
|
/* @__PURE__ */ React12.createElement("div", { className: "mb-6" }, /* @__PURE__ */ React12.createElement("span", { className: "text-black text-base block mb-1" }, plan.name), /* @__PURE__ */ React12.createElement("div", { className: "flex items-baseline gap-1" }, /* @__PURE__ */ React12.createElement("span", { className: "text-3xl text-black" }, plan.price), plan.period && /* @__PURE__ */ React12.createElement("span", { className: "text-xs text-neutral-500" }, plan.period)), /* @__PURE__ */ React12.createElement("p", { className: "text-xs text-neutral-500 mt-2" }, plan.description)),
|
|
531
541
|
plan.isPremium ? /* @__PURE__ */ React12.createElement(ThreeDButton, { href: plan.ctaHref, className: "mb-6 w-full" }, plan.ctaText) : /* @__PURE__ */ React12.createElement(
|
|
532
|
-
|
|
542
|
+
Link5,
|
|
533
543
|
{
|
|
534
544
|
href: plan.ctaHref,
|
|
535
545
|
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"
|
|
@@ -606,7 +616,7 @@ var ManagedBoardBlock = ({
|
|
|
606
616
|
|
|
607
617
|
// src/components/ManagedProjectsBlock.tsx
|
|
608
618
|
import React14 from "react";
|
|
609
|
-
import
|
|
619
|
+
import Link6 from "next/link";
|
|
610
620
|
var GridSection = ({
|
|
611
621
|
children,
|
|
612
622
|
isLast = false,
|
|
@@ -629,13 +639,13 @@ var ManagedProjectsBlock = ({
|
|
|
629
639
|
), /* @__PURE__ */ React14.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React14.createElement(GridSection, null, tagline && /* @__PURE__ */ React14.createElement("span", { className: "text-[10px] tracking-[0.4em] text-neutral-500 text-left block uppercase" }, tagline), /* @__PURE__ */ React14.createElement("h1", { className: "text-4xl md:text-5xl mt-4 text-black tracking-tight text-left" }, title)), projects.map((project, index) => {
|
|
630
640
|
const isLast = index === projects.length - 1;
|
|
631
641
|
const projectContent = /* @__PURE__ */ React14.createElement("div", { className: "group block w-full" }, /* @__PURE__ */ React14.createElement("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-3 md:gap-4 mb-4 md:mb-5" }, /* @__PURE__ */ React14.createElement("div", { className: "flex items-center gap-3 md:gap-4" }, /* @__PURE__ */ React14.createElement("h2", { className: "text-[16px] text-black transition-all flex items-center gap-2" }, project.title, /* @__PURE__ */ React14.createElement("span", { className: "text-[12px] opacity-0 -translate-x-2 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300" }, project.isExternal ? "\u2197" : "\u2192")), /* @__PURE__ */ React14.createElement("span", { className: `text-[9px] px-2.5 py-1 rounded-full tracking-[0.15em] uppercase transition-colors ${project.status.toLowerCase() === "production" ? "bg-black text-white" : "bg-neutral-100 text-neutral-500 group-hover:bg-neutral-200 group-hover:text-black"}` }, project.status)), /* @__PURE__ */ React14.createElement("span", { className: "text-[10px] tracking-[0.2em] text-neutral-500 shrink-0 uppercase" }, project.date)), /* @__PURE__ */ React14.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 max-w-4xl text-left transition-colors group-hover:text-black" }, project.description));
|
|
632
|
-
return /* @__PURE__ */ React14.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ React14.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ React14.createElement(
|
|
642
|
+
return /* @__PURE__ */ React14.createElement(GridSection, { key: project.id || index, isLast, className: isLast ? "py-8 md:py-10 pb-12 md:pb-14" : "py-8 md:py-10" }, project.isExternal ? /* @__PURE__ */ React14.createElement("a", { href: project.link, target: "_blank", rel: "noopener noreferrer", className: "block outline-none" }, projectContent) : /* @__PURE__ */ React14.createElement(Link6, { href: project.link, className: "block outline-none" }, projectContent));
|
|
633
643
|
}))));
|
|
634
644
|
};
|
|
635
645
|
|
|
636
646
|
// src/components/ManagedNotFoundBlock.tsx
|
|
637
647
|
import React15 from "react";
|
|
638
|
-
import
|
|
648
|
+
import Link7 from "next/link";
|
|
639
649
|
var ManagedNotFoundBlock = ({
|
|
640
650
|
title = "404 - Page Not Found",
|
|
641
651
|
description = "The page you are looking for does not exist or has been moved.",
|
|
@@ -651,7 +661,7 @@ var ManagedNotFoundBlock = ({
|
|
|
651
661
|
},
|
|
652
662
|
/* @__PURE__ */ React15.createElement("path", { fillRule: "evenodd", d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" })
|
|
653
663
|
)), /* @__PURE__ */ React15.createElement("h1", { className: "text-xl md:text-3xl text-black tracking-tight mb-4" }, title), /* @__PURE__ */ React15.createElement("p", { className: "text-[13px] leading-[1.8] text-neutral-600 mb-12" }, description), /* @__PURE__ */ React15.createElement(
|
|
654
|
-
|
|
664
|
+
Link7,
|
|
655
665
|
{
|
|
656
666
|
href: backLinkHref,
|
|
657
667
|
className: "text-[11px] tracking-[0.2em] text-neutral-400 hover:text-black transition-colors pb-1 uppercase"
|
|
@@ -831,7 +841,7 @@ var NumberInput = ({
|
|
|
831
841
|
|
|
832
842
|
// src/components/PortfolioHero.tsx
|
|
833
843
|
import React20, { useEffect as useEffect3, useRef as useRef2 } from "react";
|
|
834
|
-
import
|
|
844
|
+
import Link8 from "next/link";
|
|
835
845
|
import Image7 from "next/image";
|
|
836
846
|
import { HugeiconsIcon as HugeiconsIcon10 } from "@hugeicons/react";
|
|
837
847
|
import { ArrowRight01Icon as ArrowRight01Icon2 } from "@hugeicons/core-free-icons";
|
|
@@ -909,7 +919,7 @@ var PortfolioHero = ({
|
|
|
909
919
|
},
|
|
910
920
|
primaryCtaText
|
|
911
921
|
)), secondaryCtaText && secondaryCtaHref && /* @__PURE__ */ React20.createElement(
|
|
912
|
-
|
|
922
|
+
Link8,
|
|
913
923
|
{
|
|
914
924
|
href: secondaryCtaHref,
|
|
915
925
|
className: "w-full sm:w-auto inline-flex items-center justify-center gap-3 text-[11px] tracking-[0.2em] uppercase rounded-full px-8 py-3.5 bg-neutral-100 transition-colors text-black hover:bg-neutral-200 outline-none"
|