@prosophia/lab-minimal 0.0.4 → 0.0.5
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 +29 -7
- package/dist/index.d.ts +29 -7
- package/dist/index.js +120 -121
- package/dist/index.mjs +119 -121
- package/dist/layouts/index.js +40 -48
- package/dist/layouts/index.mjs +40 -48
- package/package.json +1 -1
- package/dist/index.css +0 -1060
- package/dist/layouts/index.css +0 -444
package/dist/index.js
CHANGED
|
@@ -49,6 +49,7 @@ __export(index_exports, {
|
|
|
49
49
|
ContactCTA: () => ContactCTA,
|
|
50
50
|
Footer: () => Footer,
|
|
51
51
|
Header: () => Header,
|
|
52
|
+
HomePage: () => HomePage,
|
|
52
53
|
ScrollRevealSection: () => ScrollRevealSection,
|
|
53
54
|
StaggeredGrid: () => StaggeredGrid,
|
|
54
55
|
ThemeToggle: () => ThemeToggle,
|
|
@@ -87,19 +88,13 @@ var import_next_themes2 = require("next-themes");
|
|
|
87
88
|
var import_link = __toESM(require("next/link"));
|
|
88
89
|
var import_react2 = require("react");
|
|
89
90
|
var import_navigation = require("next/navigation");
|
|
90
|
-
|
|
91
|
-
// src/components/Layout.module.css
|
|
92
|
-
var Layout_default = {};
|
|
91
|
+
var import_Layout = __toESM(require("./Layout.module.css"));
|
|
93
92
|
|
|
94
93
|
// src/components/ThemeToggle.tsx
|
|
95
94
|
var import_next_themes = require("next-themes");
|
|
96
95
|
var import_react = require("react");
|
|
97
96
|
var import_framer_motion = require("framer-motion");
|
|
98
|
-
|
|
99
|
-
// src/components/ThemeToggle.module.css
|
|
100
|
-
var ThemeToggle_default = {};
|
|
101
|
-
|
|
102
|
-
// src/components/ThemeToggle.tsx
|
|
97
|
+
var import_ThemeToggle = __toESM(require("./ThemeToggle.module.css"));
|
|
103
98
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
104
99
|
function ThemeToggle() {
|
|
105
100
|
const { theme, setTheme, resolvedTheme } = (0, import_next_themes.useTheme)();
|
|
@@ -108,7 +103,7 @@ function ThemeToggle() {
|
|
|
108
103
|
setMounted(true);
|
|
109
104
|
}, []);
|
|
110
105
|
if (!mounted) {
|
|
111
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className:
|
|
106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_ThemeToggle.default.togglePlaceholder });
|
|
112
107
|
}
|
|
113
108
|
const isDark = resolvedTheme === "dark";
|
|
114
109
|
const toggleTheme = () => {
|
|
@@ -117,12 +112,12 @@ function ThemeToggle() {
|
|
|
117
112
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
118
113
|
import_framer_motion.motion.button,
|
|
119
114
|
{
|
|
120
|
-
className:
|
|
115
|
+
className: import_ThemeToggle.default.toggle,
|
|
121
116
|
onClick: toggleTheme,
|
|
122
117
|
"aria-label": `Switch to ${isDark ? "light" : "dark"} mode`,
|
|
123
118
|
whileTap: { scale: 0.95 },
|
|
124
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className:
|
|
125
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${
|
|
119
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: import_ThemeToggle.default.track, children: [
|
|
120
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${import_ThemeToggle.default.icon} ${import_ThemeToggle.default.sunIcon} ${!isDark ? import_ThemeToggle.default.iconActive : ""}`, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
126
121
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "5" }),
|
|
127
122
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("line", { x1: "12", y1: "1", x2: "12", y2: "3" }),
|
|
128
123
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("line", { x1: "12", y1: "21", x2: "12", y2: "23" }),
|
|
@@ -136,12 +131,12 @@ function ThemeToggle() {
|
|
|
136
131
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
137
132
|
import_framer_motion.motion.span,
|
|
138
133
|
{
|
|
139
|
-
className:
|
|
134
|
+
className: import_ThemeToggle.default.thumb,
|
|
140
135
|
animate: { x: isDark ? 26 : 0 },
|
|
141
136
|
transition: { type: "spring", stiffness: 500, damping: 30 }
|
|
142
137
|
}
|
|
143
138
|
),
|
|
144
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${
|
|
139
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${import_ThemeToggle.default.icon} ${import_ThemeToggle.default.moonIcon} ${isDark ? import_ThemeToggle.default.iconActive : ""}`, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" }) }) })
|
|
145
140
|
] })
|
|
146
141
|
}
|
|
147
142
|
);
|
|
@@ -193,8 +188,8 @@ function Header({ settings }) {
|
|
|
193
188
|
if (href === "/") return pathname === "/";
|
|
194
189
|
return pathname.startsWith(href);
|
|
195
190
|
};
|
|
196
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("header", { className: `${
|
|
197
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_link.default, { href: "/", className:
|
|
191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("header", { className: `${import_Layout.default.header} ${scrolled ? import_Layout.default.headerScrolled : ""}`, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: import_Layout.default.navContainer, children: [
|
|
192
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_link.default, { href: "/", className: import_Layout.default.navLogo, "aria-label": "Go to homepage", children: [
|
|
198
193
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
|
199
194
|
"svg",
|
|
200
195
|
{
|
|
@@ -240,37 +235,37 @@ function Header({ settings }) {
|
|
|
240
235
|
),
|
|
241
236
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { children: [
|
|
242
237
|
settings.labName || "Research",
|
|
243
|
-
settings.labNameAccent && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className:
|
|
238
|
+
settings.labNameAccent && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className: import_Layout.default.navLogoAccent, children: [
|
|
244
239
|
" ",
|
|
245
240
|
settings.labNameAccent
|
|
246
241
|
] })
|
|
247
242
|
] })
|
|
248
243
|
] }),
|
|
249
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("nav", { className:
|
|
244
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("nav", { className: import_Layout.default.desktopNav, "aria-label": "Main navigation", children: navLinks.map((link) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
250
245
|
import_link.default,
|
|
251
246
|
{
|
|
252
247
|
href: link.href,
|
|
253
|
-
className: `${
|
|
248
|
+
className: `${import_Layout.default.navLink} ${isActive(link.href) ? import_Layout.default.navLinkActive : ""}`,
|
|
254
249
|
children: link.label
|
|
255
250
|
},
|
|
256
251
|
link.href
|
|
257
252
|
)) }),
|
|
258
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className:
|
|
253
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: import_Layout.default.navActions, children: [
|
|
259
254
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ThemeToggle, {}),
|
|
260
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_link.default, { href: "/contact", className:
|
|
255
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_link.default, { href: "/contact", className: import_Layout.default.navCta, children: "Contact Us" })
|
|
261
256
|
] }),
|
|
262
257
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
263
258
|
"button",
|
|
264
259
|
{
|
|
265
|
-
className:
|
|
260
|
+
className: import_Layout.default.menuButton,
|
|
266
261
|
onClick: () => setMenuOpen(!menuOpen),
|
|
267
262
|
"aria-label": menuOpen ? "Close menu" : "Open menu",
|
|
268
263
|
"aria-expanded": menuOpen,
|
|
269
264
|
"aria-controls": "mobile-menu",
|
|
270
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className:
|
|
271
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: `${
|
|
272
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: `${
|
|
273
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: `${
|
|
265
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className: import_Layout.default.menuButtonLines, children: [
|
|
266
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: `${import_Layout.default.menuLine} ${menuOpen ? import_Layout.default.menuLineOpen1 : ""}` }),
|
|
267
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: `${import_Layout.default.menuLine} ${menuOpen ? import_Layout.default.menuLineOpen2 : ""}` }),
|
|
268
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: `${import_Layout.default.menuLine} ${menuOpen ? import_Layout.default.menuLineOpen3 : ""}` })
|
|
274
269
|
] })
|
|
275
270
|
}
|
|
276
271
|
),
|
|
@@ -278,13 +273,13 @@ function Header({ settings }) {
|
|
|
278
273
|
"div",
|
|
279
274
|
{
|
|
280
275
|
id: "mobile-menu",
|
|
281
|
-
className: `${
|
|
276
|
+
className: `${import_Layout.default.mobileMenu} ${menuOpen ? import_Layout.default.mobileMenuOpen : ""}`,
|
|
282
277
|
"aria-hidden": !menuOpen,
|
|
283
278
|
children: [
|
|
284
279
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
285
280
|
"div",
|
|
286
281
|
{
|
|
287
|
-
className:
|
|
282
|
+
className: import_Layout.default.mobileMenuOverlay,
|
|
288
283
|
onClick: () => setMenuOpen(false),
|
|
289
284
|
"aria-hidden": "true"
|
|
290
285
|
}
|
|
@@ -292,14 +287,14 @@ function Header({ settings }) {
|
|
|
292
287
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
|
293
288
|
"nav",
|
|
294
289
|
{
|
|
295
|
-
className:
|
|
290
|
+
className: import_Layout.default.mobileMenuContent,
|
|
296
291
|
"aria-label": "Mobile navigation",
|
|
297
292
|
children: [
|
|
298
293
|
navLinks.map((link, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
299
294
|
import_link.default,
|
|
300
295
|
{
|
|
301
296
|
href: link.href,
|
|
302
|
-
className: `${
|
|
297
|
+
className: `${import_Layout.default.mobileNavLink} ${isActive(link.href) ? import_Layout.default.mobileNavLinkActive : ""}`,
|
|
303
298
|
style: { animationDelay: `${index * 50}ms` },
|
|
304
299
|
tabIndex: menuOpen ? 0 : -1,
|
|
305
300
|
children: link.label
|
|
@@ -310,7 +305,7 @@ function Header({ settings }) {
|
|
|
310
305
|
import_link.default,
|
|
311
306
|
{
|
|
312
307
|
href: "/contact",
|
|
313
|
-
className:
|
|
308
|
+
className: import_Layout.default.mobileNavCta,
|
|
314
309
|
style: { animationDelay: `${navLinks.length * 50}ms` },
|
|
315
310
|
tabIndex: menuOpen ? 0 : -1,
|
|
316
311
|
children: "Contact Us"
|
|
@@ -327,9 +322,7 @@ function Header({ settings }) {
|
|
|
327
322
|
|
|
328
323
|
// src/components/Footer.tsx
|
|
329
324
|
var import_link2 = __toESM(require("next/link"));
|
|
330
|
-
|
|
331
|
-
// src/components/Footer.module.css
|
|
332
|
-
var Footer_default = {};
|
|
325
|
+
var import_Footer = __toESM(require("./Footer.module.css"));
|
|
333
326
|
|
|
334
327
|
// src/lib/utils.ts
|
|
335
328
|
function isValidExternalUrl(url) {
|
|
@@ -384,49 +377,49 @@ function isValidSlug(slug) {
|
|
|
384
377
|
|
|
385
378
|
// src/components/Footer.tsx
|
|
386
379
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
387
|
-
var SocialIcon = ({ href, children }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("a", { href, target: "_blank", rel: "noopener noreferrer", className:
|
|
380
|
+
var SocialIcon = ({ href, children }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("a", { href, target: "_blank", rel: "noopener noreferrer", className: import_Footer.default.socialIcon, children });
|
|
388
381
|
function Footer({ settings }) {
|
|
389
382
|
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
390
383
|
const showPrivacy = settings?.showPrivacyPolicy !== false;
|
|
391
384
|
const showTerms = settings?.showTerms !== false;
|
|
392
385
|
const hasLegalLinks = showPrivacy || showTerms;
|
|
393
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("footer", { className:
|
|
394
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className:
|
|
395
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className:
|
|
396
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_link2.default, { href: "/", className:
|
|
386
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("footer", { className: import_Footer.default.footerWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: import_Footer.default.footerContainer, children: [
|
|
387
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: import_Footer.default.mainFooter, children: [
|
|
388
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: import_Footer.default.footerAbout, children: [
|
|
389
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_link2.default, { href: "/", className: import_Footer.default.footerLogo, children: [
|
|
397
390
|
settings?.labName || "Cavendish",
|
|
398
391
|
" ",
|
|
399
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className:
|
|
392
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: import_Footer.default.logoAccent, children: settings?.labNameAccent || "Lab" })
|
|
400
393
|
] }),
|
|
401
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className:
|
|
402
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className:
|
|
394
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: import_Footer.default.footerDescription, children: settings?.labNameDescription || "Advancing the frontiers of physics and our understanding of the universe." }),
|
|
395
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: import_Footer.default.socials, children: [
|
|
403
396
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SocialIcon, { href: "#", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z" }) }) }),
|
|
404
397
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SocialIcon, { href: "#", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24h-6.617l-5.21-6.817-6.044 6.817h-3.308l7.73-8.835-7.73-10.668h6.78l4.522 6.312 5.59-6.312z" }) }) })
|
|
405
398
|
] })
|
|
406
399
|
] }),
|
|
407
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className:
|
|
408
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className:
|
|
400
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: import_Footer.default.footerLinksGrid, children: [
|
|
401
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: import_Footer.default.footerColumn, children: [
|
|
409
402
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h4", { children: "Quick Links" }),
|
|
410
403
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_link2.default, { href: "/research", children: "Research" }),
|
|
411
404
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_link2.default, { href: "/publications", children: "Publications" }),
|
|
412
405
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_link2.default, { href: "/pictures", children: "Gallery" })
|
|
413
406
|
] }),
|
|
414
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className:
|
|
407
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: import_Footer.default.footerColumn, children: [
|
|
415
408
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h4", { children: "About" }),
|
|
416
409
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_link2.default, { href: "/news", children: "News" }),
|
|
417
410
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_link2.default, { href: "/people", children: "Our Team" }),
|
|
418
411
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_link2.default, { href: "/contact", children: "Contact" })
|
|
419
412
|
] }),
|
|
420
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className:
|
|
413
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: import_Footer.default.footerColumn, children: [
|
|
421
414
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h4", { children: "Resources" }),
|
|
422
415
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_link2.default, { href: "https://www.cam.ac.uk/", children: "University" }),
|
|
423
416
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_link2.default, { href: "#", children: "Careers" })
|
|
424
417
|
] })
|
|
425
418
|
] })
|
|
426
419
|
] }),
|
|
427
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className:
|
|
420
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: import_Footer.default.footerBottomBar, children: [
|
|
428
421
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { children: settings?.footerText || `\xA9 ${currentYear} The Research Group. All Rights Reserved.` }),
|
|
429
|
-
hasLegalLinks && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className:
|
|
422
|
+
hasLegalLinks && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: import_Footer.default.legalLinks, children: [
|
|
430
423
|
showPrivacy && (settings?.privacyPolicyUrl && isValidExternalUrl(settings.privacyPolicyUrl) ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("a", { href: settings.privacyPolicyUrl, target: "_blank", rel: "noopener noreferrer", children: "Privacy Policy" }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_link2.default, { href: "/privacy", children: "Privacy Policy" })),
|
|
431
424
|
showTerms && (settings?.termsUrl && isValidExternalUrl(settings.termsUrl) ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("a", { href: settings.termsUrl, target: "_blank", rel: "noopener noreferrer", children: "Terms & Conditions" }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_link2.default, { href: "/terms", children: "Terms & Conditions" }))
|
|
432
425
|
] })
|
|
@@ -462,17 +455,13 @@ function ClientLayout({ children, settings }) {
|
|
|
462
455
|
|
|
463
456
|
// src/components/ContactCTA.tsx
|
|
464
457
|
var import_link3 = __toESM(require("next/link"));
|
|
465
|
-
|
|
466
|
-
// src/components/ContactCTA.module.css
|
|
467
|
-
var ContactCTA_default = {};
|
|
468
|
-
|
|
469
|
-
// src/components/ContactCTA.tsx
|
|
458
|
+
var import_ContactCTA = __toESM(require("./ContactCTA.module.css"));
|
|
470
459
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
471
460
|
function ContactCTA() {
|
|
472
|
-
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("section", { className:
|
|
473
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("h2", { className:
|
|
474
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className:
|
|
475
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_link3.default, { href: "/contact", className:
|
|
461
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("section", { className: import_ContactCTA.default.ctaContainer, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: import_ContactCTA.default.ctaContent, children: [
|
|
462
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("h2", { className: import_ContactCTA.default.ctaHeading, children: "Interested in Our Research?" }),
|
|
463
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: import_ContactCTA.default.ctaText, children: "Follow our work, explore our publications, or get in touch to discuss potential collaborations." }),
|
|
464
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_link3.default, { href: "/contact", className: import_ContactCTA.default.ctaButton, children: "Contact Us" })
|
|
476
465
|
] }) });
|
|
477
466
|
}
|
|
478
467
|
|
|
@@ -481,9 +470,7 @@ var import_framer_motion2 = require("framer-motion");
|
|
|
481
470
|
var import_react4 = require("react");
|
|
482
471
|
var import_image = __toESM(require("next/image"));
|
|
483
472
|
var import_link4 = __toESM(require("next/link"));
|
|
484
|
-
|
|
485
|
-
// src/components/HomePage.module.css
|
|
486
|
-
var HomePage_default = {};
|
|
473
|
+
var import_HomePage = __toESM(require("./HomePage.module.css"));
|
|
487
474
|
|
|
488
475
|
// src/lib/animations.ts
|
|
489
476
|
var fadeIn = {
|
|
@@ -641,11 +628,11 @@ function AnimatedHero({ heroData, ArrowRightIcon }) {
|
|
|
641
628
|
const ref = (0, import_react4.useRef)(null);
|
|
642
629
|
const { scrollY } = (0, import_framer_motion2.useScroll)();
|
|
643
630
|
const y = (0, import_framer_motion2.useTransform)(scrollY, [0, 500], [0, 150]);
|
|
644
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("section", { className:
|
|
631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("section", { className: import_HomePage.default.heroSection, ref, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: import_HomePage.default.heroContainer, children: [
|
|
645
632
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
646
633
|
import_framer_motion2.motion.div,
|
|
647
634
|
{
|
|
648
|
-
className:
|
|
635
|
+
className: import_HomePage.default.heroContent,
|
|
649
636
|
initial: "hidden",
|
|
650
637
|
animate: "visible",
|
|
651
638
|
variants: fadeInUp,
|
|
@@ -653,7 +640,7 @@ function AnimatedHero({ heroData, ArrowRightIcon }) {
|
|
|
653
640
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
654
641
|
import_framer_motion2.motion.span,
|
|
655
642
|
{
|
|
656
|
-
className:
|
|
643
|
+
className: import_HomePage.default.heroTagline,
|
|
657
644
|
initial: { opacity: 0 },
|
|
658
645
|
animate: { opacity: 1 },
|
|
659
646
|
transition: { duration: 0.6, delay: 0.2 },
|
|
@@ -663,21 +650,21 @@ function AnimatedHero({ heroData, ArrowRightIcon }) {
|
|
|
663
650
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
664
651
|
import_framer_motion2.motion.h1,
|
|
665
652
|
{
|
|
666
|
-
className:
|
|
653
|
+
className: import_HomePage.default.heroHeading,
|
|
667
654
|
initial: { opacity: 0, y: 20 },
|
|
668
655
|
animate: { opacity: 1, y: 0 },
|
|
669
656
|
transition: { duration: 0.8, delay: 0.3 },
|
|
670
657
|
children: [
|
|
671
658
|
heroData.heading,
|
|
672
659
|
" ",
|
|
673
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className:
|
|
660
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: import_HomePage.default.heroHeadingAccent, children: heroData.headingAccent })
|
|
674
661
|
]
|
|
675
662
|
}
|
|
676
663
|
),
|
|
677
664
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
678
665
|
import_framer_motion2.motion.p,
|
|
679
666
|
{
|
|
680
|
-
className:
|
|
667
|
+
className: import_HomePage.default.heroDescription,
|
|
681
668
|
initial: { opacity: 0, y: 20 },
|
|
682
669
|
animate: { opacity: 1, y: 0 },
|
|
683
670
|
transition: { duration: 0.8, delay: 0.4 },
|
|
@@ -687,16 +674,16 @@ function AnimatedHero({ heroData, ArrowRightIcon }) {
|
|
|
687
674
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
688
675
|
import_framer_motion2.motion.div,
|
|
689
676
|
{
|
|
690
|
-
className:
|
|
677
|
+
className: import_HomePage.default.heroCtas,
|
|
691
678
|
initial: { opacity: 0, y: 20 },
|
|
692
679
|
animate: { opacity: 1, y: 0 },
|
|
693
680
|
transition: { duration: 0.8, delay: 0.5 },
|
|
694
681
|
children: [
|
|
695
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_link4.default, { href: heroData.ctaLink, className:
|
|
682
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_link4.default, { href: heroData.ctaLink, className: import_HomePage.default.heroPrimaryCta, children: [
|
|
696
683
|
heroData.ctaText,
|
|
697
684
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ArrowRightIcon, {})
|
|
698
685
|
] }),
|
|
699
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_link4.default, { href: "/publications", className:
|
|
686
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_link4.default, { href: "/publications", className: import_HomePage.default.heroSecondaryCta, children: "View Publications" })
|
|
700
687
|
]
|
|
701
688
|
}
|
|
702
689
|
)
|
|
@@ -706,7 +693,7 @@ function AnimatedHero({ heroData, ArrowRightIcon }) {
|
|
|
706
693
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
707
694
|
import_framer_motion2.motion.div,
|
|
708
695
|
{
|
|
709
|
-
className:
|
|
696
|
+
className: import_HomePage.default.heroImageWrapper,
|
|
710
697
|
style: { y },
|
|
711
698
|
initial: "hidden",
|
|
712
699
|
animate: "visible",
|
|
@@ -720,12 +707,12 @@ function AnimatedHero({ heroData, ArrowRightIcon }) {
|
|
|
720
707
|
alt: "Research lab",
|
|
721
708
|
width: 800,
|
|
722
709
|
height: 600,
|
|
723
|
-
className:
|
|
710
|
+
className: import_HomePage.default.heroImage,
|
|
724
711
|
priority: true
|
|
725
712
|
}
|
|
726
713
|
),
|
|
727
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className:
|
|
728
|
-
] }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className:
|
|
714
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: import_HomePage.default.heroImageOverlay })
|
|
715
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: import_HomePage.default.heroImagePlaceholder, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
729
716
|
"svg",
|
|
730
717
|
{
|
|
731
718
|
width: "120",
|
|
@@ -746,11 +733,26 @@ function AnimatedHero({ heroData, ArrowRightIcon }) {
|
|
|
746
733
|
] }) });
|
|
747
734
|
}
|
|
748
735
|
|
|
736
|
+
// src/components/HomePage.tsx
|
|
737
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
738
|
+
function HomePage({
|
|
739
|
+
children,
|
|
740
|
+
settings = null,
|
|
741
|
+
header,
|
|
742
|
+
footer
|
|
743
|
+
}) {
|
|
744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
|
|
745
|
+
header ?? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Header, { settings: settings || {} }),
|
|
746
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("main", { children }),
|
|
747
|
+
footer ?? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Footer, { settings: settings || {} })
|
|
748
|
+
] });
|
|
749
|
+
}
|
|
750
|
+
|
|
749
751
|
// src/components/AnimatedCard.tsx
|
|
750
752
|
var import_framer_motion3 = require("framer-motion");
|
|
751
|
-
var
|
|
753
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
752
754
|
function AnimatedCard({ children, className, delay = 0 }) {
|
|
753
|
-
return /* @__PURE__ */ (0,
|
|
755
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
754
756
|
import_framer_motion3.motion.div,
|
|
755
757
|
{
|
|
756
758
|
className,
|
|
@@ -775,10 +777,10 @@ function AnimatedCard({ children, className, delay = 0 }) {
|
|
|
775
777
|
);
|
|
776
778
|
}
|
|
777
779
|
function AnimatedImage({ children, className }) {
|
|
778
|
-
return /* @__PURE__ */ (0,
|
|
780
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_framer_motion3.motion.div, { className, variants: imageZoom, children });
|
|
779
781
|
}
|
|
780
782
|
function AnimatedSection({ children, className }) {
|
|
781
|
-
return /* @__PURE__ */ (0,
|
|
783
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
782
784
|
import_framer_motion3.motion.section,
|
|
783
785
|
{
|
|
784
786
|
className,
|
|
@@ -795,12 +797,8 @@ function AnimatedSection({ children, className }) {
|
|
|
795
797
|
var import_framer_motion4 = require("framer-motion");
|
|
796
798
|
var import_image2 = __toESM(require("next/image"));
|
|
797
799
|
var import_react5 = require("react");
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
var PicturesPage_default = {};
|
|
801
|
-
|
|
802
|
-
// src/components/AnimatedGallery.tsx
|
|
803
|
-
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
800
|
+
var import_PicturesPage = __toESM(require("./PicturesPage.module.css"));
|
|
801
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
804
802
|
function useMounted() {
|
|
805
803
|
const [mounted, setMounted] = (0, import_react5.useState)(false);
|
|
806
804
|
(0, import_react5.useEffect)(() => {
|
|
@@ -811,9 +809,9 @@ function useMounted() {
|
|
|
811
809
|
function AnimatedGalleryHeader({ children, className }) {
|
|
812
810
|
const mounted = useMounted();
|
|
813
811
|
if (!mounted) {
|
|
814
|
-
return /* @__PURE__ */ (0,
|
|
812
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("header", { className, children });
|
|
815
813
|
}
|
|
816
|
-
return /* @__PURE__ */ (0,
|
|
814
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
817
815
|
import_framer_motion4.motion.header,
|
|
818
816
|
{
|
|
819
817
|
className,
|
|
@@ -827,8 +825,8 @@ function AnimatedGalleryHeader({ children, className }) {
|
|
|
827
825
|
function AnimatedGalleryGrid({ images }) {
|
|
828
826
|
const mounted = useMounted();
|
|
829
827
|
if (!mounted) {
|
|
830
|
-
return /* @__PURE__ */ (0,
|
|
831
|
-
/* @__PURE__ */ (0,
|
|
828
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: import_PicturesPage.default.photosGrid, children: images.map((pic) => /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: import_PicturesPage.default.photoCard, children: [
|
|
829
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: import_PicturesPage.default.photoImageWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
832
830
|
import_image2.default,
|
|
833
831
|
{
|
|
834
832
|
src: pic.imageUrl,
|
|
@@ -836,16 +834,16 @@ function AnimatedGalleryGrid({ images }) {
|
|
|
836
834
|
width: pic.width,
|
|
837
835
|
height: pic.height,
|
|
838
836
|
sizes: "(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw",
|
|
839
|
-
className:
|
|
837
|
+
className: import_PicturesPage.default.photoImage
|
|
840
838
|
}
|
|
841
839
|
) }),
|
|
842
|
-
pic.caption && /* @__PURE__ */ (0,
|
|
840
|
+
pic.caption && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: import_PicturesPage.default.photoCaption, children: pic.caption })
|
|
843
841
|
] }, pic._id)) });
|
|
844
842
|
}
|
|
845
|
-
return /* @__PURE__ */ (0,
|
|
843
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
846
844
|
import_framer_motion4.motion.div,
|
|
847
845
|
{
|
|
848
|
-
className:
|
|
846
|
+
className: import_PicturesPage.default.photosGrid,
|
|
849
847
|
initial: "hidden",
|
|
850
848
|
animate: "visible",
|
|
851
849
|
variants: {
|
|
@@ -858,10 +856,10 @@ function AnimatedGalleryGrid({ images }) {
|
|
|
858
856
|
}
|
|
859
857
|
}
|
|
860
858
|
},
|
|
861
|
-
children: images.map((pic) => /* @__PURE__ */ (0,
|
|
859
|
+
children: images.map((pic) => /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
862
860
|
import_framer_motion4.motion.div,
|
|
863
861
|
{
|
|
864
|
-
className:
|
|
862
|
+
className: import_PicturesPage.default.photoCard,
|
|
865
863
|
variants: {
|
|
866
864
|
hidden: { opacity: 0, y: 40, scale: 0.95 },
|
|
867
865
|
visible: {
|
|
@@ -879,7 +877,7 @@ function AnimatedGalleryGrid({ images }) {
|
|
|
879
877
|
transition: { duration: 0.3 }
|
|
880
878
|
},
|
|
881
879
|
children: [
|
|
882
|
-
/* @__PURE__ */ (0,
|
|
880
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: import_PicturesPage.default.photoImageWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
883
881
|
import_image2.default,
|
|
884
882
|
{
|
|
885
883
|
src: pic.imageUrl,
|
|
@@ -887,10 +885,10 @@ function AnimatedGalleryGrid({ images }) {
|
|
|
887
885
|
width: pic.width,
|
|
888
886
|
height: pic.height,
|
|
889
887
|
sizes: "(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw",
|
|
890
|
-
className:
|
|
888
|
+
className: import_PicturesPage.default.photoImage
|
|
891
889
|
}
|
|
892
890
|
) }),
|
|
893
|
-
pic.caption && /* @__PURE__ */ (0,
|
|
891
|
+
pic.caption && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: import_PicturesPage.default.photoCaption, children: pic.caption })
|
|
894
892
|
]
|
|
895
893
|
},
|
|
896
894
|
pic._id
|
|
@@ -902,7 +900,7 @@ function AnimatedGalleryGrid({ images }) {
|
|
|
902
900
|
// src/components/AnimatedPage.tsx
|
|
903
901
|
var import_framer_motion5 = require("framer-motion");
|
|
904
902
|
var import_react6 = require("react");
|
|
905
|
-
var
|
|
903
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
906
904
|
function useMounted2() {
|
|
907
905
|
const [mounted, setMounted] = (0, import_react6.useState)(false);
|
|
908
906
|
(0, import_react6.useEffect)(() => {
|
|
@@ -913,9 +911,9 @@ function useMounted2() {
|
|
|
913
911
|
function AnimatedPage({ children, className }) {
|
|
914
912
|
const mounted = useMounted2();
|
|
915
913
|
if (!mounted) {
|
|
916
|
-
return /* @__PURE__ */ (0,
|
|
914
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className, children });
|
|
917
915
|
}
|
|
918
|
-
return /* @__PURE__ */ (0,
|
|
916
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
919
917
|
import_framer_motion5.motion.div,
|
|
920
918
|
{
|
|
921
919
|
className,
|
|
@@ -929,9 +927,9 @@ function AnimatedPage({ children, className }) {
|
|
|
929
927
|
function AnimatedHeader({ children, className }) {
|
|
930
928
|
const mounted = useMounted2();
|
|
931
929
|
if (!mounted) {
|
|
932
|
-
return /* @__PURE__ */ (0,
|
|
930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("header", { className, children });
|
|
933
931
|
}
|
|
934
|
-
return /* @__PURE__ */ (0,
|
|
932
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
935
933
|
import_framer_motion5.motion.header,
|
|
936
934
|
{
|
|
937
935
|
className,
|
|
@@ -945,9 +943,9 @@ function AnimatedHeader({ children, className }) {
|
|
|
945
943
|
function AnimatedMain({ children, className }) {
|
|
946
944
|
const mounted = useMounted2();
|
|
947
945
|
if (!mounted) {
|
|
948
|
-
return /* @__PURE__ */ (0,
|
|
946
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("main", { className, children });
|
|
949
947
|
}
|
|
950
|
-
return /* @__PURE__ */ (0,
|
|
948
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
951
949
|
import_framer_motion5.motion.main,
|
|
952
950
|
{
|
|
953
951
|
className,
|
|
@@ -962,9 +960,9 @@ function StaggeredGrid({ children, className }) {
|
|
|
962
960
|
const mounted = useMounted2();
|
|
963
961
|
const childArray = Array.isArray(children) ? children : [children];
|
|
964
962
|
if (!mounted) {
|
|
965
|
-
return /* @__PURE__ */ (0,
|
|
963
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className, children });
|
|
966
964
|
}
|
|
967
|
-
return /* @__PURE__ */ (0,
|
|
965
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
968
966
|
import_framer_motion5.motion.div,
|
|
969
967
|
{
|
|
970
968
|
className,
|
|
@@ -981,7 +979,7 @@ function StaggeredGrid({ children, className }) {
|
|
|
981
979
|
}
|
|
982
980
|
}
|
|
983
981
|
},
|
|
984
|
-
children: childArray.map((child, index) => /* @__PURE__ */ (0,
|
|
982
|
+
children: childArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
985
983
|
import_framer_motion5.motion.div,
|
|
986
984
|
{
|
|
987
985
|
variants: {
|
|
@@ -1005,9 +1003,9 @@ function StaggeredGrid({ children, className }) {
|
|
|
1005
1003
|
function AnimatedItem({ children, className, delay = 0, index = 0 }) {
|
|
1006
1004
|
const mounted = useMounted2();
|
|
1007
1005
|
if (!mounted) {
|
|
1008
|
-
return /* @__PURE__ */ (0,
|
|
1006
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className, children });
|
|
1009
1007
|
}
|
|
1010
|
-
return /* @__PURE__ */ (0,
|
|
1008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1011
1009
|
import_framer_motion5.motion.div,
|
|
1012
1010
|
{
|
|
1013
1011
|
className,
|
|
@@ -1026,9 +1024,9 @@ function AnimatedItem({ children, className, delay = 0, index = 0 }) {
|
|
|
1026
1024
|
function ScrollRevealSection({ children, className }) {
|
|
1027
1025
|
const mounted = useMounted2();
|
|
1028
1026
|
if (!mounted) {
|
|
1029
|
-
return /* @__PURE__ */ (0,
|
|
1027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("section", { className, children });
|
|
1030
1028
|
}
|
|
1031
|
-
return /* @__PURE__ */ (0,
|
|
1029
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1032
1030
|
import_framer_motion5.motion.section,
|
|
1033
1031
|
{
|
|
1034
1032
|
className,
|
|
@@ -1044,9 +1042,9 @@ function AnimatedHeroContent({ children, className }) {
|
|
|
1044
1042
|
const mounted = useMounted2();
|
|
1045
1043
|
const childArray = Array.isArray(children) ? children : [children];
|
|
1046
1044
|
if (!mounted) {
|
|
1047
|
-
return /* @__PURE__ */ (0,
|
|
1045
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className, children });
|
|
1048
1046
|
}
|
|
1049
|
-
return /* @__PURE__ */ (0,
|
|
1047
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1050
1048
|
import_framer_motion5.motion.div,
|
|
1051
1049
|
{
|
|
1052
1050
|
className,
|
|
@@ -1062,7 +1060,7 @@ function AnimatedHeroContent({ children, className }) {
|
|
|
1062
1060
|
}
|
|
1063
1061
|
}
|
|
1064
1062
|
},
|
|
1065
|
-
children: childArray.map((child, index) => /* @__PURE__ */ (0,
|
|
1063
|
+
children: childArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1066
1064
|
import_framer_motion5.motion.div,
|
|
1067
1065
|
{
|
|
1068
1066
|
variants: {
|
|
@@ -1086,10 +1084,10 @@ function AnimatedHeroContent({ children, className }) {
|
|
|
1086
1084
|
|
|
1087
1085
|
// src/components/AnimatedSections.tsx
|
|
1088
1086
|
var import_framer_motion6 = require("framer-motion");
|
|
1089
|
-
var
|
|
1087
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
1090
1088
|
function AnimatedGrid({ children, className }) {
|
|
1091
1089
|
const childArray = Array.isArray(children) ? children : [children];
|
|
1092
|
-
return /* @__PURE__ */ (0,
|
|
1090
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1093
1091
|
import_framer_motion6.motion.div,
|
|
1094
1092
|
{
|
|
1095
1093
|
className,
|
|
@@ -1097,13 +1095,13 @@ function AnimatedGrid({ children, className }) {
|
|
|
1097
1095
|
whileInView: "visible",
|
|
1098
1096
|
viewport: viewportSettings,
|
|
1099
1097
|
variants: staggerContainer,
|
|
1100
|
-
children: childArray.map((child, index) => /* @__PURE__ */ (0,
|
|
1098
|
+
children: childArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_framer_motion6.motion.div, { variants: staggerItem, children: child }, index))
|
|
1101
1099
|
}
|
|
1102
1100
|
);
|
|
1103
1101
|
}
|
|
1104
1102
|
function AnimatedStats({ children, className }) {
|
|
1105
1103
|
const childArray = Array.isArray(children) ? children : [children];
|
|
1106
|
-
return /* @__PURE__ */ (0,
|
|
1104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1107
1105
|
import_framer_motion6.motion.div,
|
|
1108
1106
|
{
|
|
1109
1107
|
className,
|
|
@@ -1120,7 +1118,7 @@ function AnimatedStats({ children, className }) {
|
|
|
1120
1118
|
}
|
|
1121
1119
|
}
|
|
1122
1120
|
},
|
|
1123
|
-
children: childArray.map((child, index) => /* @__PURE__ */ (0,
|
|
1121
|
+
children: childArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1124
1122
|
import_framer_motion6.motion.div,
|
|
1125
1123
|
{
|
|
1126
1124
|
variants: {
|
|
@@ -1142,7 +1140,7 @@ function AnimatedStats({ children, className }) {
|
|
|
1142
1140
|
);
|
|
1143
1141
|
}
|
|
1144
1142
|
function AnimatedSectionHeader({ children, className }) {
|
|
1145
|
-
return /* @__PURE__ */ (0,
|
|
1143
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1146
1144
|
import_framer_motion6.motion.header,
|
|
1147
1145
|
{
|
|
1148
1146
|
className,
|
|
@@ -1156,7 +1154,7 @@ function AnimatedSectionHeader({ children, className }) {
|
|
|
1156
1154
|
}
|
|
1157
1155
|
function AnimatedList({ children, className }) {
|
|
1158
1156
|
const childArray = Array.isArray(children) ? children : [children];
|
|
1159
|
-
return /* @__PURE__ */ (0,
|
|
1157
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1160
1158
|
import_framer_motion6.motion.div,
|
|
1161
1159
|
{
|
|
1162
1160
|
className,
|
|
@@ -1173,7 +1171,7 @@ function AnimatedList({ children, className }) {
|
|
|
1173
1171
|
}
|
|
1174
1172
|
}
|
|
1175
1173
|
},
|
|
1176
|
-
children: childArray.map((child, index) => /* @__PURE__ */ (0,
|
|
1174
|
+
children: childArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1177
1175
|
import_framer_motion6.motion.div,
|
|
1178
1176
|
{
|
|
1179
1177
|
variants: {
|
|
@@ -1267,6 +1265,7 @@ function urlFor(source) {
|
|
|
1267
1265
|
ContactCTA,
|
|
1268
1266
|
Footer,
|
|
1269
1267
|
Header,
|
|
1268
|
+
HomePage,
|
|
1270
1269
|
ScrollRevealSection,
|
|
1271
1270
|
StaggeredGrid,
|
|
1272
1271
|
ThemeToggle,
|