@prosophia/lab-techy 0.0.3 → 0.0.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.mjs CHANGED
@@ -1,7 +1,11 @@
1
1
  // src/components/Footer.tsx
2
2
  import Link from "next/link";
3
3
  import { motion } from "framer-motion";
4
- import styles from "./Footer.module.css";
4
+
5
+ // src/components/Footer.module.css
6
+ var Footer_default = {};
7
+
8
+ // src/components/Footer.tsx
5
9
  import { jsx, jsxs } from "react/jsx-runtime";
6
10
  var footerVariants = {
7
11
  hidden: { opacity: 0, y: 20 },
@@ -17,17 +21,17 @@ var footerVariants = {
17
21
  function getSocialIcon(platform) {
18
22
  switch (platform) {
19
23
  case "twitter":
20
- return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", fill: "currentColor", viewBox: "0 0 24 24", className: styles.socialIcon, children: /* @__PURE__ */ jsx("path", { d: "M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" }) });
24
+ return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", fill: "currentColor", viewBox: "0 0 24 24", className: Footer_default.socialIcon, children: /* @__PURE__ */ jsx("path", { d: "M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" }) });
21
25
  case "github":
22
- return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", fill: "currentColor", viewBox: "0 0 24 24", className: styles.socialIcon, children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" }) });
26
+ return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", fill: "currentColor", viewBox: "0 0 24 24", className: Footer_default.socialIcon, children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" }) });
23
27
  case "linkedin":
24
- return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", fill: "currentColor", viewBox: "0 0 24 24", className: styles.socialIcon, children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", clipRule: "evenodd", 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" }) });
28
+ return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", fill: "currentColor", viewBox: "0 0 24 24", className: Footer_default.socialIcon, children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", clipRule: "evenodd", 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" }) });
25
29
  case "youtube":
26
- return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", fill: "currentColor", viewBox: "0 0 24 24", className: styles.socialIcon, children: /* @__PURE__ */ jsx("path", { d: "M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" }) });
30
+ return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", fill: "currentColor", viewBox: "0 0 24 24", className: Footer_default.socialIcon, children: /* @__PURE__ */ jsx("path", { d: "M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" }) });
27
31
  case "scholar":
28
- return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", fill: "currentColor", viewBox: "0 0 24 24", className: styles.socialIcon, children: /* @__PURE__ */ jsx("path", { d: "M5.242 13.769L0 9.5 12 0l12 9.5-5.242 4.269C17.548 11.249 14.978 9.5 12 9.5c-2.977 0-5.548 1.748-6.758 4.269zM12 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14z" }) });
32
+ return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", fill: "currentColor", viewBox: "0 0 24 24", className: Footer_default.socialIcon, children: /* @__PURE__ */ jsx("path", { d: "M5.242 13.769L0 9.5 12 0l12 9.5-5.242 4.269C17.548 11.249 14.978 9.5 12 9.5c-2.977 0-5.548 1.748-6.758 4.269zM12 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14z" }) });
29
33
  default:
30
- return /* @__PURE__ */ jsxs("svg", { "aria-hidden": "true", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", strokeWidth: "2", className: styles.socialIcon, children: [
34
+ return /* @__PURE__ */ jsxs("svg", { "aria-hidden": "true", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", strokeWidth: "2", className: Footer_default.socialIcon, children: [
31
35
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
32
36
  /* @__PURE__ */ jsx("line", { x1: "2", y1: "12", x2: "22", y2: "12" }),
33
37
  /* @__PURE__ */ jsx("path", { d: "M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" })
@@ -46,24 +50,24 @@ function Footer({ footerData }) {
46
50
  return /* @__PURE__ */ jsx(
47
51
  motion.footer,
48
52
  {
49
- className: styles.footer,
53
+ className: Footer_default.footer,
50
54
  initial: "hidden",
51
55
  whileInView: "visible",
52
56
  viewport: { once: true },
53
57
  variants: footerVariants,
54
- children: /* @__PURE__ */ jsxs("div", { className: styles.container, children: [
55
- /* @__PURE__ */ jsxs("div", { className: styles.grid, children: [
56
- /* @__PURE__ */ jsxs("div", { className: styles.brandSection, children: [
57
- /* @__PURE__ */ jsxs("div", { className: styles.logo, children: [
58
- /* @__PURE__ */ jsx("div", { className: styles.logoIcon, children: /* @__PURE__ */ jsx("span", { className: "material-symbols-outlined", children: "science" }) }),
59
- /* @__PURE__ */ jsx("h2", { className: styles.logoText, children: labName })
58
+ children: /* @__PURE__ */ jsxs("div", { className: Footer_default.container, children: [
59
+ /* @__PURE__ */ jsxs("div", { className: Footer_default.grid, children: [
60
+ /* @__PURE__ */ jsxs("div", { className: Footer_default.brandSection, children: [
61
+ /* @__PURE__ */ jsxs("div", { className: Footer_default.logo, children: [
62
+ /* @__PURE__ */ jsx("div", { className: Footer_default.logoIcon, children: /* @__PURE__ */ jsx("span", { className: "material-symbols-outlined", children: "science" }) }),
63
+ /* @__PURE__ */ jsx("h2", { className: Footer_default.logoText, children: labName })
60
64
  ] }),
61
- /* @__PURE__ */ jsx("p", { className: styles.description, children: footerText }),
62
- /* @__PURE__ */ jsx("div", { className: styles.socialLinks, children: socialLinks.map((social, index) => /* @__PURE__ */ jsx(
65
+ /* @__PURE__ */ jsx("p", { className: Footer_default.description, children: footerText }),
66
+ /* @__PURE__ */ jsx("div", { className: Footer_default.socialLinks, children: socialLinks.map((social, index) => /* @__PURE__ */ jsx(
63
67
  "a",
64
68
  {
65
69
  href: social.url,
66
- className: styles.socialLink,
70
+ className: Footer_default.socialLink,
67
71
  "aria-label": social.platform,
68
72
  target: "_blank",
69
73
  rel: "noopener noreferrer",
@@ -72,26 +76,26 @@ function Footer({ footerData }) {
72
76
  index
73
77
  )) })
74
78
  ] }),
75
- /* @__PURE__ */ jsxs("div", { className: styles.linksSection, children: [
76
- /* @__PURE__ */ jsx("h3", { className: styles.linksSectionTitle, children: "Research" }),
77
- /* @__PURE__ */ jsxs("ul", { className: styles.linksList, children: [
78
- /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/research", className: styles.link, children: "Projects" }) }),
79
- /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/publications", className: styles.link, children: "Publications" }) }),
80
- /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/publications", className: styles.link, children: "Datasets" }) }),
81
- /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/publications", className: styles.link, children: "Code" }) })
79
+ /* @__PURE__ */ jsxs("div", { className: Footer_default.linksSection, children: [
80
+ /* @__PURE__ */ jsx("h3", { className: Footer_default.linksSectionTitle, children: "Research" }),
81
+ /* @__PURE__ */ jsxs("ul", { className: Footer_default.linksList, children: [
82
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/research", className: Footer_default.link, children: "Projects" }) }),
83
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/publications", className: Footer_default.link, children: "Publications" }) }),
84
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/publications", className: Footer_default.link, children: "Datasets" }) }),
85
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/publications", className: Footer_default.link, children: "Code" }) })
82
86
  ] })
83
87
  ] }),
84
- /* @__PURE__ */ jsxs("div", { className: styles.linksSection, children: [
85
- /* @__PURE__ */ jsx("h3", { className: styles.linksSectionTitle, children: "People" }),
86
- /* @__PURE__ */ jsxs("ul", { className: styles.linksList, children: [
87
- /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/team", className: styles.link, children: "Faculty" }) }),
88
- /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/team", className: styles.link, children: "Students" }) }),
89
- /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/team", className: styles.link, children: "Alumni" }) }),
90
- /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/contact", className: styles.link, children: "Join Us" }) })
88
+ /* @__PURE__ */ jsxs("div", { className: Footer_default.linksSection, children: [
89
+ /* @__PURE__ */ jsx("h3", { className: Footer_default.linksSectionTitle, children: "People" }),
90
+ /* @__PURE__ */ jsxs("ul", { className: Footer_default.linksList, children: [
91
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/team", className: Footer_default.link, children: "Faculty" }) }),
92
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/team", className: Footer_default.link, children: "Students" }) }),
93
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/team", className: Footer_default.link, children: "Alumni" }) }),
94
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: "/contact", className: Footer_default.link, children: "Join Us" }) })
91
95
  ] })
92
96
  ] })
93
97
  ] }),
94
- /* @__PURE__ */ jsx("div", { className: styles.bottom, children: /* @__PURE__ */ jsxs("p", { className: styles.copyright, children: [
98
+ /* @__PURE__ */ jsx("div", { className: Footer_default.bottom, children: /* @__PURE__ */ jsxs("p", { className: Footer_default.copyright, children: [
95
99
  "\xA9 ",
96
100
  (/* @__PURE__ */ new Date()).getFullYear(),
97
101
  " ",
@@ -107,24 +111,33 @@ function Footer({ footerData }) {
107
111
  import Link2 from "next/link";
108
112
  import { usePathname } from "next/navigation";
109
113
  import { motion as motion3 } from "framer-motion";
110
- import styles3 from "./Header.module.css";
114
+
115
+ // src/components/Header.module.css
116
+ var Header_default = {};
111
117
 
112
118
  // src/components/ThemeToggle.tsx
113
119
  import { motion as motion2 } from "framer-motion";
114
- import { useTheme } from "@/context/ThemeContext";
115
- import styles2 from "./ThemeToggle.module.css";
120
+ import { useTheme } from "next-themes";
121
+
122
+ // src/components/ThemeToggle.module.css
123
+ var ThemeToggle_default = {};
124
+
125
+ // src/components/ThemeToggle.tsx
116
126
  import { jsx as jsx2 } from "react/jsx-runtime";
117
127
  function ThemeToggle() {
118
- const { theme, toggleTheme } = useTheme();
128
+ const { resolvedTheme, setTheme } = useTheme();
129
+ const toggleTheme = () => {
130
+ setTheme(resolvedTheme === "light" ? "dark" : "light");
131
+ };
119
132
  return /* @__PURE__ */ jsx2(
120
133
  motion2.button,
121
134
  {
122
- className: styles2.toggle,
135
+ className: ThemeToggle_default.toggle,
123
136
  onClick: toggleTheme,
124
137
  whileHover: { scale: 1.05 },
125
138
  whileTap: { scale: 0.95 },
126
- "aria-label": `Switch to ${theme === "light" ? "dark" : "light"} mode`,
127
- children: /* @__PURE__ */ jsx2("span", { className: "material-symbols-outlined", children: theme === "light" ? "dark_mode" : "light_mode" })
139
+ "aria-label": `Switch to ${resolvedTheme === "light" ? "dark" : "light"} mode`,
140
+ children: /* @__PURE__ */ jsx2("span", { className: "material-symbols-outlined", children: resolvedTheme === "light" ? "dark_mode" : "light_mode" })
128
141
  }
129
142
  );
130
143
  }
@@ -146,21 +159,21 @@ function Header({ navigationData }) {
146
159
  return /* @__PURE__ */ jsx3(
147
160
  motion3.header,
148
161
  {
149
- className: styles3.header,
162
+ className: Header_default.header,
150
163
  initial: { y: -100, opacity: 0 },
151
164
  animate: { y: 0, opacity: 1 },
152
165
  transition: { duration: 0.5, ease: [0.16, 1, 0.3, 1] },
153
- children: /* @__PURE__ */ jsxs2("div", { className: styles3.container, children: [
154
- /* @__PURE__ */ jsxs2(Link2, { href: "/", className: styles3.logo, children: [
155
- /* @__PURE__ */ jsx3("div", { className: styles3.logoIcon, children: /* @__PURE__ */ jsx3("span", { className: "material-symbols-outlined", children: "science" }) }),
156
- /* @__PURE__ */ jsx3("h1", { className: styles3.logoText, children: labName })
166
+ children: /* @__PURE__ */ jsxs2("div", { className: Header_default.container, children: [
167
+ /* @__PURE__ */ jsxs2(Link2, { href: "/", className: Header_default.logo, children: [
168
+ /* @__PURE__ */ jsx3("div", { className: Header_default.logoIcon, children: /* @__PURE__ */ jsx3("span", { className: "material-symbols-outlined", children: "science" }) }),
169
+ /* @__PURE__ */ jsx3("h1", { className: Header_default.logoText, children: labName })
157
170
  ] }),
158
- /* @__PURE__ */ jsxs2("nav", { className: styles3.nav, children: [
159
- /* @__PURE__ */ jsx3("div", { className: styles3.navLinks, children: navItems.map((item) => /* @__PURE__ */ jsx3(
171
+ /* @__PURE__ */ jsxs2("nav", { className: Header_default.nav, children: [
172
+ /* @__PURE__ */ jsx3("div", { className: Header_default.navLinks, children: navItems.map((item) => /* @__PURE__ */ jsx3(
160
173
  Link2,
161
174
  {
162
175
  href: item.href,
163
- className: `${styles3.navLink} ${pathname === item.href ? styles3.navLinkActive : ""}`,
176
+ className: `${Header_default.navLink} ${pathname === item.href ? Header_default.navLinkActive : ""}`,
164
177
  children: item.label
165
178
  },
166
179
  item.href
@@ -169,23 +182,240 @@ function Header({ navigationData }) {
169
182
  /* @__PURE__ */ jsx3(Link2, { href: "/contact", children: /* @__PURE__ */ jsx3(
170
183
  motion3.button,
171
184
  {
172
- className: styles3.ctaButton,
185
+ className: Header_default.ctaButton,
173
186
  whileHover: { scale: 1.02 },
174
187
  whileTap: { scale: 0.98 },
175
188
  children: "Join the Lab"
176
189
  }
177
190
  ) })
178
191
  ] }),
179
- /* @__PURE__ */ jsxs2("div", { className: styles3.mobileActions, children: [
192
+ /* @__PURE__ */ jsxs2("div", { className: Header_default.mobileActions, children: [
180
193
  /* @__PURE__ */ jsx3(ThemeToggle, {}),
181
- /* @__PURE__ */ jsx3("button", { className: styles3.mobileMenuBtn, children: /* @__PURE__ */ jsx3("span", { className: "material-symbols-outlined", children: "menu" }) })
194
+ /* @__PURE__ */ jsx3("button", { className: Header_default.mobileMenuBtn, children: /* @__PURE__ */ jsx3("span", { className: "material-symbols-outlined", children: "menu" }) })
182
195
  ] })
183
196
  ] })
184
197
  }
185
198
  );
186
199
  }
200
+
201
+ // src/components/ClientLayout.tsx
202
+ import { useEffect } from "react";
203
+ import { ThemeProvider, useTheme as useTheme2 } from "next-themes";
204
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
205
+ function ThemeBodySync() {
206
+ const { resolvedTheme } = useTheme2();
207
+ useEffect(() => {
208
+ if (resolvedTheme === "dark") {
209
+ document.body.classList.add("dark-mode");
210
+ document.body.classList.remove("light-mode");
211
+ } else {
212
+ document.body.classList.add("light-mode");
213
+ document.body.classList.remove("dark-mode");
214
+ }
215
+ }, [resolvedTheme]);
216
+ return null;
217
+ }
218
+ function ClientLayout({ children, settings }) {
219
+ const navigationData = {
220
+ labName: settings.labName || "Prosophia Research Lab"
221
+ };
222
+ const footerData = {
223
+ labName: settings.labName || "Prosophia Research Lab",
224
+ footerText: settings.footerText
225
+ };
226
+ return /* @__PURE__ */ jsxs3(ThemeProvider, { attribute: "class", defaultTheme: "light", enableSystem: false, children: [
227
+ /* @__PURE__ */ jsx4(ThemeBodySync, {}),
228
+ /* @__PURE__ */ jsxs3("div", { className: "pageWrapper", children: [
229
+ /* @__PURE__ */ jsx4(Header, { navigationData }),
230
+ /* @__PURE__ */ jsx4("main", { children }),
231
+ /* @__PURE__ */ jsx4(Footer, { footerData })
232
+ ] })
233
+ ] });
234
+ }
235
+
236
+ // src/config.ts
237
+ function defineConfig(config) {
238
+ return config;
239
+ }
240
+
241
+ // src/lib/motion.ts
242
+ var easeOutExpo = [0.16, 1, 0.3, 1];
243
+ var springStiff = {
244
+ type: "spring",
245
+ mass: 1,
246
+ stiffness: 100,
247
+ damping: 15
248
+ };
249
+ var timing = {
250
+ quick: 0.15,
251
+ standard: 0.35,
252
+ ambient: 0.8
253
+ };
254
+ var fadeInUp = {
255
+ hidden: { opacity: 0, y: 20 },
256
+ visible: {
257
+ opacity: 1,
258
+ y: 0,
259
+ transition: {
260
+ duration: timing.standard,
261
+ ease: easeOutExpo
262
+ }
263
+ }
264
+ };
265
+ var fadeInLeft = {
266
+ hidden: { opacity: 0, x: -20 },
267
+ visible: {
268
+ opacity: 1,
269
+ x: 0,
270
+ transition: {
271
+ duration: timing.standard,
272
+ ease: easeOutExpo
273
+ }
274
+ }
275
+ };
276
+ var fadeInRight = {
277
+ hidden: { opacity: 0, x: 20 },
278
+ visible: {
279
+ opacity: 1,
280
+ x: 0,
281
+ transition: {
282
+ duration: timing.standard,
283
+ ease: easeOutExpo
284
+ }
285
+ }
286
+ };
287
+ var scaleUp = {
288
+ hidden: { opacity: 0, scale: 0.95 },
289
+ visible: {
290
+ opacity: 1,
291
+ scale: 1,
292
+ transition: {
293
+ duration: timing.standard,
294
+ ease: easeOutExpo
295
+ }
296
+ }
297
+ };
298
+ var staggerContainer = {
299
+ hidden: { opacity: 0 },
300
+ visible: {
301
+ opacity: 1,
302
+ transition: {
303
+ staggerChildren: 0.05,
304
+ delayChildren: 0.1
305
+ }
306
+ }
307
+ };
308
+ var staggerItem = {
309
+ hidden: { opacity: 0, y: 20 },
310
+ visible: {
311
+ opacity: 1,
312
+ y: 0,
313
+ transition: {
314
+ duration: timing.standard,
315
+ ease: easeOutExpo
316
+ }
317
+ }
318
+ };
319
+ var cardHover = {
320
+ rest: {
321
+ y: 0,
322
+ boxShadow: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
323
+ transition: {
324
+ duration: timing.quick,
325
+ ease: easeOutExpo
326
+ }
327
+ },
328
+ hover: {
329
+ y: -4,
330
+ boxShadow: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
331
+ transition: {
332
+ duration: timing.quick,
333
+ ease: easeOutExpo
334
+ }
335
+ }
336
+ };
337
+ var imageZoom = {
338
+ rest: {
339
+ scale: 1,
340
+ transition: {
341
+ duration: timing.ambient,
342
+ ease: easeOutExpo
343
+ }
344
+ },
345
+ hover: {
346
+ scale: 1.05,
347
+ transition: {
348
+ duration: timing.ambient,
349
+ ease: easeOutExpo
350
+ }
351
+ }
352
+ };
353
+ var buttonPress = {
354
+ tap: { scale: 0.95 },
355
+ hover: { scale: 1.02 }
356
+ };
357
+ var pageTransition = {
358
+ hidden: { opacity: 0 },
359
+ visible: {
360
+ opacity: 1,
361
+ transition: {
362
+ duration: timing.standard,
363
+ ease: easeOutExpo
364
+ }
365
+ },
366
+ exit: {
367
+ opacity: 0,
368
+ transition: {
369
+ duration: timing.quick,
370
+ ease: easeOutExpo
371
+ }
372
+ }
373
+ };
374
+ var revealRight = {
375
+ hidden: {
376
+ clipPath: "inset(0 100% 0 0)"
377
+ },
378
+ visible: {
379
+ clipPath: "inset(0 0% 0 0)",
380
+ transition: {
381
+ duration: timing.ambient,
382
+ ease: easeOutExpo
383
+ }
384
+ }
385
+ };
386
+ var blurFade = {
387
+ hidden: {
388
+ opacity: 0,
389
+ filter: "blur(10px)"
390
+ },
391
+ visible: {
392
+ opacity: 1,
393
+ filter: "blur(0px)",
394
+ transition: {
395
+ duration: timing.standard,
396
+ ease: easeOutExpo
397
+ }
398
+ }
399
+ };
187
400
  export {
401
+ ClientLayout,
188
402
  Footer,
189
403
  Header,
190
- ThemeToggle
404
+ ThemeToggle,
405
+ blurFade,
406
+ buttonPress,
407
+ cardHover,
408
+ defineConfig,
409
+ easeOutExpo,
410
+ fadeInLeft,
411
+ fadeInRight,
412
+ fadeInUp,
413
+ imageZoom,
414
+ pageTransition,
415
+ revealRight,
416
+ scaleUp,
417
+ springStiff,
418
+ staggerContainer,
419
+ staggerItem,
420
+ timing
191
421
  };