@prosophia/personal-portfolio 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.mjs CHANGED
@@ -1,17 +1,13 @@
1
- // src/components/Divider.module.css
2
- var Divider_default = {};
3
-
4
1
  // src/components/Divider.tsx
2
+ import styles from "./Divider.module.css";
5
3
  import { jsx } from "react/jsx-runtime";
6
4
  function Divider() {
7
- return /* @__PURE__ */ jsx("hr", { className: Divider_default.divider });
5
+ return /* @__PURE__ */ jsx("hr", { className: styles.divider });
8
6
  }
9
7
 
10
8
  // src/components/Experience.tsx
11
9
  import { motion } from "framer-motion";
12
-
13
- // src/components/Experience.module.css
14
- var Experience_default = {};
10
+ import styles2 from "./Experience.module.css";
15
11
 
16
12
  // src/styles/motion.ts
17
13
  var easeOutExpo = [0.16, 1, 0.3, 1];
@@ -486,19 +482,19 @@ function ExperienceSection({ experiences }) {
486
482
  motion.section,
487
483
  {
488
484
  id: "cv",
489
- className: Experience_default.section,
485
+ className: styles2.section,
490
486
  initial: "hidden",
491
487
  whileInView: "visible",
492
488
  viewport: { once: true, amount: 0.1 },
493
489
  variants: staggerContainer,
494
490
  children: [
495
- /* @__PURE__ */ jsxs(motion.div, { className: Experience_default.header, variants: fadeInUp, children: [
496
- /* @__PURE__ */ jsx4("h2", { className: Experience_default.title, children: "Experience & Education" }),
491
+ /* @__PURE__ */ jsxs(motion.div, { className: styles2.header, variants: fadeInUp, children: [
492
+ /* @__PURE__ */ jsx4("h2", { className: styles2.title, children: "Experience & Education" }),
497
493
  /* @__PURE__ */ jsxs(
498
494
  motion.a,
499
495
  {
500
496
  href: settings?.resumeUrl || "#",
501
- className: Experience_default.downloadButton,
497
+ className: styles2.downloadButton,
502
498
  whileHover: hoverLift,
503
499
  whileTap: tapScale,
504
500
  children: [
@@ -508,24 +504,24 @@ function ExperienceSection({ experiences }) {
508
504
  }
509
505
  )
510
506
  ] }),
511
- /* @__PURE__ */ jsx4("div", { className: Experience_default.timeline, children: displayExperiences.map((exp) => /* @__PURE__ */ jsxs(
507
+ /* @__PURE__ */ jsx4("div", { className: styles2.timeline, children: displayExperiences.map((exp) => /* @__PURE__ */ jsxs(
512
508
  motion.div,
513
509
  {
514
- className: Experience_default.timelineItem,
510
+ className: styles2.timelineItem,
515
511
  variants: fadeInUp,
516
512
  children: [
517
513
  /* @__PURE__ */ jsx4(
518
514
  "div",
519
515
  {
520
- className: `${Experience_default.timelineDot} ${exp.isCurrent ? Experience_default.timelineDotCurrent : ""}`
516
+ className: `${styles2.timelineDot} ${exp.isCurrent ? styles2.timelineDotCurrent : ""}`
521
517
  }
522
518
  ),
523
- /* @__PURE__ */ jsxs("div", { className: Experience_default.timelineHeader, children: [
524
- /* @__PURE__ */ jsx4("h3", { className: Experience_default.timelineTitle, children: exp.title }),
525
- /* @__PURE__ */ jsx4("span", { className: Experience_default.timelinePeriod, children: exp.period })
519
+ /* @__PURE__ */ jsxs("div", { className: styles2.timelineHeader, children: [
520
+ /* @__PURE__ */ jsx4("h3", { className: styles2.timelineTitle, children: exp.title }),
521
+ /* @__PURE__ */ jsx4("span", { className: styles2.timelinePeriod, children: exp.period })
526
522
  ] }),
527
- /* @__PURE__ */ jsx4("p", { className: Experience_default.timelineOrg, children: exp.organization }),
528
- exp.description && /* @__PURE__ */ jsx4("p", { className: Experience_default.timelineDescription, children: exp.description })
523
+ /* @__PURE__ */ jsx4("p", { className: styles2.timelineOrg, children: exp.organization }),
524
+ exp.description && /* @__PURE__ */ jsx4("p", { className: styles2.timelineDescription, children: exp.description })
529
525
  ]
530
526
  },
531
527
  exp._id
@@ -537,24 +533,20 @@ function ExperienceSection({ experiences }) {
537
533
 
538
534
  // src/components/Footer.tsx
539
535
  import { motion as motion2 } from "framer-motion";
540
-
541
- // src/components/Footer.module.css
542
- var Footer_default = {};
543
-
544
- // src/components/Footer.tsx
536
+ import styles3 from "./Footer.module.css";
545
537
  import { jsxs as jsxs2 } from "react/jsx-runtime";
546
538
  function Footer() {
547
539
  const { settings, profile } = useSiteSettings();
548
540
  return /* @__PURE__ */ jsxs2(
549
541
  motion2.footer,
550
542
  {
551
- className: Footer_default.footer,
543
+ className: styles3.footer,
552
544
  initial: "hidden",
553
545
  whileInView: "visible",
554
546
  viewport: { once: true },
555
547
  variants: fadeInUp,
556
548
  children: [
557
- /* @__PURE__ */ jsxs2("p", { className: Footer_default.copyright, children: [
549
+ /* @__PURE__ */ jsxs2("p", { className: styles3.copyright, children: [
558
550
  "\xA9 ",
559
551
  (/* @__PURE__ */ new Date()).getFullYear(),
560
552
  " ",
@@ -563,7 +555,7 @@ function Footer() {
563
555
  " ",
564
556
  settings?.footerText || "Built with Passion."
565
557
  ] }),
566
- /* @__PURE__ */ jsxs2("p", { className: Footer_default.updated, children: [
558
+ /* @__PURE__ */ jsxs2("p", { className: styles3.updated, children: [
567
559
  "Last updated: ",
568
560
  (/* @__PURE__ */ new Date()).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" })
569
561
  ] })
@@ -576,11 +568,7 @@ function Footer() {
576
568
  import { useState as useState2 } from "react";
577
569
  import Link from "next/link";
578
570
  import { motion as motion3, AnimatePresence } from "framer-motion";
579
-
580
- // src/components/Header.module.css
581
- var Header_default = {};
582
-
583
- // src/components/Header.tsx
571
+ import styles4 from "./Header.module.css";
584
572
  import { Fragment, jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
585
573
  var navLinks = [
586
574
  { href: "#about", label: "About" },
@@ -594,25 +582,25 @@ function Header() {
594
582
  const [mobileMenuOpen, setMobileMenuOpen] = useState2(false);
595
583
  const socialLinks = settings?.socialLinks;
596
584
  const contactEmail = settings?.contactEmail;
597
- return /* @__PURE__ */ jsxs3("header", { className: Header_default.header, children: [
598
- /* @__PURE__ */ jsxs3("div", { className: Header_default.container, children: [
599
- /* @__PURE__ */ jsxs3(Link, { href: "/", className: Header_default.logo, children: [
600
- /* @__PURE__ */ jsx5("span", { className: Header_default.logoName, children: profile?.name || "David" }),
601
- /* @__PURE__ */ jsx5("span", { className: Header_default.logoTitle, children: profile?.title || "PhD Candidate" })
585
+ return /* @__PURE__ */ jsxs3("header", { className: styles4.header, children: [
586
+ /* @__PURE__ */ jsxs3("div", { className: styles4.container, children: [
587
+ /* @__PURE__ */ jsxs3(Link, { href: "/", className: styles4.logo, children: [
588
+ /* @__PURE__ */ jsx5("span", { className: styles4.logoName, children: profile?.name || "David" }),
589
+ /* @__PURE__ */ jsx5("span", { className: styles4.logoTitle, children: profile?.title || "PhD Candidate" })
602
590
  ] }),
603
- /* @__PURE__ */ jsx5("nav", { className: Header_default.nav, children: navLinks.map((link) => /* @__PURE__ */ jsxs3(Link, { href: link.href, className: Header_default.navLink, children: [
591
+ /* @__PURE__ */ jsx5("nav", { className: styles4.nav, children: navLinks.map((link) => /* @__PURE__ */ jsxs3(Link, { href: link.href, className: styles4.navLink, children: [
604
592
  link.label,
605
- /* @__PURE__ */ jsx5("span", { className: Header_default.navLinkUnderline })
593
+ /* @__PURE__ */ jsx5("span", { className: styles4.navLinkUnderline })
606
594
  ] }, link.href)) }),
607
- /* @__PURE__ */ jsxs3("div", { className: Header_default.actions, children: [
608
- /* @__PURE__ */ jsxs3("div", { className: Header_default.socialLinks, children: [
595
+ /* @__PURE__ */ jsxs3("div", { className: styles4.actions, children: [
596
+ /* @__PURE__ */ jsxs3("div", { className: styles4.socialLinks, children: [
609
597
  (socialLinks?.twitter || !settings) && /* @__PURE__ */ jsx5(
610
598
  "a",
611
599
  {
612
600
  href: socialLinks?.twitter || "https://twitter.com",
613
601
  target: "_blank",
614
602
  rel: "noopener noreferrer",
615
- className: Header_default.socialLink,
603
+ className: styles4.socialLink,
616
604
  "aria-label": "Twitter",
617
605
  children: /* @__PURE__ */ jsx5("svg", { fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx5("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" }) })
618
606
  }
@@ -623,7 +611,7 @@ function Header() {
623
611
  href: socialLinks?.github || "https://github.com",
624
612
  target: "_blank",
625
613
  rel: "noopener noreferrer",
626
- className: Header_default.socialLink,
614
+ className: styles4.socialLink,
627
615
  "aria-label": "GitHub",
628
616
  children: /* @__PURE__ */ jsx5("svg", { fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx5(
629
617
  "path",
@@ -641,7 +629,7 @@ function Header() {
641
629
  href: socialLinks?.linkedin || "https://linkedin.com",
642
630
  target: "_blank",
643
631
  rel: "noopener noreferrer",
644
- className: Header_default.socialLink,
632
+ className: styles4.socialLink,
645
633
  "aria-label": "LinkedIn",
646
634
  children: /* @__PURE__ */ jsx5("svg", { fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx5(
647
635
  "path",
@@ -657,7 +645,7 @@ function Header() {
657
645
  /* @__PURE__ */ jsx5(
658
646
  motion3.button,
659
647
  {
660
- className: Header_default.themeToggle,
648
+ className: styles4.themeToggle,
661
649
  onClick: toggleTheme,
662
650
  whileHover: hoverLift,
663
651
  whileTap: tapScale,
@@ -707,19 +695,19 @@ function Header() {
707
695
  motion3.a,
708
696
  {
709
697
  href: contactEmail ? `mailto:${contactEmail}` : "mailto:contact@example.com",
710
- className: Header_default.contactButton,
698
+ className: styles4.contactButton,
711
699
  whileHover: hoverLift,
712
700
  whileTap: tapScale,
713
701
  children: [
714
- /* @__PURE__ */ jsx5("span", { className: `material-symbols-outlined ${Header_default.contactButtonIcon}`, children: "mail" }),
715
- /* @__PURE__ */ jsx5("span", { className: Header_default.contactButtonText, children: "Contact" })
702
+ /* @__PURE__ */ jsx5("span", { className: `material-symbols-outlined ${styles4.contactButtonIcon}`, children: "mail" }),
703
+ /* @__PURE__ */ jsx5("span", { className: styles4.contactButtonText, children: "Contact" })
716
704
  ]
717
705
  }
718
706
  ),
719
707
  /* @__PURE__ */ jsx5(
720
708
  "button",
721
709
  {
722
- className: Header_default.mobileMenuButton,
710
+ className: styles4.mobileMenuButton,
723
711
  onClick: () => setMobileMenuOpen(!mobileMenuOpen),
724
712
  "aria-label": "Toggle menu",
725
713
  children: /* @__PURE__ */ jsx5(
@@ -751,7 +739,7 @@ function Header() {
751
739
  /* @__PURE__ */ jsx5(AnimatePresence, { children: mobileMenuOpen && /* @__PURE__ */ jsx5(
752
740
  motion3.nav,
753
741
  {
754
- className: Header_default.mobileNav,
742
+ className: styles4.mobileNav,
755
743
  initial: { opacity: 0, y: -10 },
756
744
  animate: { opacity: 1, y: 0 },
757
745
  exit: { opacity: 0, y: -10 },
@@ -760,7 +748,7 @@ function Header() {
760
748
  Link,
761
749
  {
762
750
  href: link.href,
763
- className: Header_default.mobileNavLink,
751
+ className: styles4.mobileNavLink,
764
752
  onClick: () => setMobileMenuOpen(false),
765
753
  children: link.label
766
754
  },
@@ -774,9 +762,7 @@ function Header() {
774
762
  // src/components/Hero.tsx
775
763
  import { motion as motion4 } from "framer-motion";
776
764
  import { PortableText } from "@portabletext/react";
777
-
778
- // src/components/Hero.module.css
779
- var Hero_default = {};
765
+ import styles5 from "./Hero.module.css";
780
766
 
781
767
  // src/lib/sanity.ts
782
768
  import imageUrlBuilder from "@sanity/image-url";
@@ -833,7 +819,7 @@ var portableTextComponents = {
833
819
  strong: ({ children }) => /* @__PURE__ */ jsx6("strong", { children }),
834
820
  highlight: ({ children, value }) => {
835
821
  if (value?.style === "underline") {
836
- return /* @__PURE__ */ jsx6("span", { className: Hero_default.underline, children });
822
+ return /* @__PURE__ */ jsx6("span", { className: styles5.underline, children });
837
823
  }
838
824
  return /* @__PURE__ */ jsx6("strong", { children });
839
825
  }
@@ -851,51 +837,51 @@ function Hero({ updates }) {
851
837
  motion4.section,
852
838
  {
853
839
  id: "about",
854
- className: Hero_default.hero,
840
+ className: styles5.hero,
855
841
  initial: "hidden",
856
842
  whileInView: "visible",
857
843
  viewport: { once: true, amount: 0.1 },
858
844
  variants: staggerContainer,
859
845
  children: [
860
- /* @__PURE__ */ jsxs4("div", { className: Hero_default.content, children: [
861
- /* @__PURE__ */ jsxs4("div", { className: Hero_default.imageWrapper, children: [
846
+ /* @__PURE__ */ jsxs4("div", { className: styles5.content, children: [
847
+ /* @__PURE__ */ jsxs4("div", { className: styles5.imageWrapper, children: [
862
848
  /* @__PURE__ */ jsx6(
863
849
  motion4.div,
864
850
  {
865
- className: Hero_default.profileImage,
851
+ className: styles5.profileImage,
866
852
  style: {
867
853
  backgroundImage: `url("${profileImageUrl}")`
868
854
  },
869
855
  variants: blurFade
870
856
  }
871
857
  ),
872
- /* @__PURE__ */ jsxs4("div", { className: Hero_default.mobileInfo, children: [
873
- /* @__PURE__ */ jsx6("h1", { className: Hero_default.mobileInfoName, children: profile?.name || "David" }),
874
- /* @__PURE__ */ jsxs4("p", { className: Hero_default.mobileInfoTitle, children: [
858
+ /* @__PURE__ */ jsxs4("div", { className: styles5.mobileInfo, children: [
859
+ /* @__PURE__ */ jsx6("h1", { className: styles5.mobileInfoName, children: profile?.name || "David" }),
860
+ /* @__PURE__ */ jsxs4("p", { className: styles5.mobileInfoTitle, children: [
875
861
  profile?.title || "PhD Candidate",
876
862
  " ",
877
863
  profile?.institution && `at ${profile.institution}`
878
864
  ] })
879
865
  ] })
880
866
  ] }),
881
- /* @__PURE__ */ jsxs4(motion4.div, { className: Hero_default.textContent, variants: staggerContainer, children: [
867
+ /* @__PURE__ */ jsxs4(motion4.div, { className: styles5.textContent, variants: staggerContainer, children: [
882
868
  /* @__PURE__ */ jsxs4("div", { children: [
883
- profile?.availabilityBadge && /* @__PURE__ */ jsx6(motion4.span, { className: Hero_default.badge, variants: fadeInUp, children: profile.availabilityBadge }),
884
- !profile?.availabilityBadge && /* @__PURE__ */ jsx6(motion4.span, { className: Hero_default.badge, variants: fadeInUp, children: "Available for 2024 Roles" }),
885
- /* @__PURE__ */ jsx6(motion4.h2, { className: Hero_default.headline, variants: fadeInUp, children: profile?.headline ? /* @__PURE__ */ jsxs4(Fragment2, { children: [
869
+ profile?.availabilityBadge && /* @__PURE__ */ jsx6(motion4.span, { className: styles5.badge, variants: fadeInUp, children: profile.availabilityBadge }),
870
+ !profile?.availabilityBadge && /* @__PURE__ */ jsx6(motion4.span, { className: styles5.badge, variants: fadeInUp, children: "Available for 2024 Roles" }),
871
+ /* @__PURE__ */ jsx6(motion4.h2, { className: styles5.headline, variants: fadeInUp, children: profile?.headline ? /* @__PURE__ */ jsxs4(Fragment2, { children: [
886
872
  profile.headline.beforeHighlight,
887
873
  " ",
888
- /* @__PURE__ */ jsx6("span", { className: Hero_default.highlight, children: profile.headline.highlight }),
874
+ /* @__PURE__ */ jsx6("span", { className: styles5.highlight, children: profile.headline.highlight }),
889
875
  " ",
890
876
  profile.headline.afterHighlight
891
877
  ] }) : /* @__PURE__ */ jsxs4(Fragment2, { children: [
892
878
  "Building the ",
893
- /* @__PURE__ */ jsx6("span", { className: Hero_default.highlight, children: "future of AI" }),
879
+ /* @__PURE__ */ jsx6("span", { className: styles5.highlight, children: "future of AI" }),
894
880
  " ",
895
881
  "with robust & scalable vision systems."
896
882
  ] }) })
897
883
  ] }),
898
- /* @__PURE__ */ jsx6(motion4.div, { className: Hero_default.description, variants: fadeInUp, children: profile?.bio ? /* @__PURE__ */ jsx6(PortableText, { value: profile.bio, components: portableTextComponents }) : /* @__PURE__ */ jsxs4(Fragment2, { children: [
884
+ /* @__PURE__ */ jsx6(motion4.div, { className: styles5.description, variants: fadeInUp, children: profile?.bio ? /* @__PURE__ */ jsx6(PortableText, { value: profile.bio, components: portableTextComponents }) : /* @__PURE__ */ jsxs4(Fragment2, { children: [
899
885
  /* @__PURE__ */ jsxs4("p", { children: [
900
886
  "I am a PhD candidate specializing in",
901
887
  " ",
@@ -908,20 +894,20 @@ function Hero({ updates }) {
908
894
  /* @__PURE__ */ jsxs4("p", { children: [
909
895
  "Previously, I interned at",
910
896
  " ",
911
- /* @__PURE__ */ jsx6("span", { className: Hero_default.underline, children: "Google DeepMind" }),
897
+ /* @__PURE__ */ jsx6("span", { className: styles5.underline, children: "Google DeepMind" }),
912
898
  " and",
913
899
  " ",
914
- /* @__PURE__ */ jsx6("span", { className: Hero_default.underline, children: "Meta AI" }),
900
+ /* @__PURE__ */ jsx6("span", { className: styles5.underline, children: "Meta AI" }),
915
901
  ". I am passionate about open-source and making AI accessible to everyone."
916
902
  ] })
917
903
  ] }) }),
918
- /* @__PURE__ */ jsxs4(motion4.div, { className: Hero_default.links, variants: fadeInUp, children: [
919
- /* @__PURE__ */ jsxs4("a", { href: settings?.resumeUrl || "#", className: Hero_default.link, children: [
920
- /* @__PURE__ */ jsx6("span", { className: `material-symbols-outlined ${Hero_default.linkIcon}`, children: "download" }),
904
+ /* @__PURE__ */ jsxs4(motion4.div, { className: styles5.links, variants: fadeInUp, children: [
905
+ /* @__PURE__ */ jsxs4("a", { href: settings?.resumeUrl || "#", className: styles5.link, children: [
906
+ /* @__PURE__ */ jsx6("span", { className: `material-symbols-outlined ${styles5.linkIcon}`, children: "download" }),
921
907
  "Download CV"
922
908
  ] }),
923
- /* @__PURE__ */ jsxs4("a", { href: settings?.socialLinks?.googleScholar || "#", className: Hero_default.link, children: [
924
- /* @__PURE__ */ jsx6("span", { className: `material-symbols-outlined ${Hero_default.linkIcon}`, children: "school" }),
909
+ /* @__PURE__ */ jsxs4("a", { href: settings?.socialLinks?.googleScholar || "#", className: styles5.link, children: [
910
+ /* @__PURE__ */ jsx6("span", { className: `material-symbols-outlined ${styles5.linkIcon}`, children: "school" }),
925
911
  "Google Scholar"
926
912
  ] })
927
913
  ] })
@@ -930,21 +916,21 @@ function Hero({ updates }) {
930
916
  /* @__PURE__ */ jsxs4(
931
917
  motion4.div,
932
918
  {
933
- className: `glass-panel ${Hero_default.updates}`,
919
+ className: `glass-panel ${styles5.updates}`,
934
920
  variants: fadeInUp,
935
921
  children: [
936
- /* @__PURE__ */ jsxs4("h3", { className: Hero_default.updatesHeader, children: [
937
- /* @__PURE__ */ jsx6("span", { className: `material-symbols-outlined ${Hero_default.updatesIcon}`, children: "campaign" }),
922
+ /* @__PURE__ */ jsxs4("h3", { className: styles5.updatesHeader, children: [
923
+ /* @__PURE__ */ jsx6("span", { className: `material-symbols-outlined ${styles5.updatesIcon}`, children: "campaign" }),
938
924
  "Latest Updates"
939
925
  ] }),
940
- /* @__PURE__ */ jsx6("div", { className: Hero_default.updatesList, children: displayUpdates.map((update) => /* @__PURE__ */ jsxs4(
926
+ /* @__PURE__ */ jsx6("div", { className: styles5.updatesList, children: displayUpdates.map((update) => /* @__PURE__ */ jsxs4(
941
927
  motion4.div,
942
928
  {
943
- className: Hero_default.updateItem,
929
+ className: styles5.updateItem,
944
930
  variants: fadeInUp,
945
931
  children: [
946
- /* @__PURE__ */ jsx6("div", { className: Hero_default.updateDate, children: formatDate(update.date) }),
947
- /* @__PURE__ */ jsxs4("div", { className: Hero_default.updateContent, children: [
932
+ /* @__PURE__ */ jsx6("div", { className: styles5.updateDate, children: formatDate(update.date) }),
933
+ /* @__PURE__ */ jsxs4("div", { className: styles5.updateContent, children: [
948
934
  /* @__PURE__ */ jsx6("h4", { children: update.title }),
949
935
  /* @__PURE__ */ jsx6("p", { children: update.description })
950
936
  ] })
@@ -963,11 +949,7 @@ function Hero({ updates }) {
963
949
  // src/components/Projects.tsx
964
950
  import Link2 from "next/link";
965
951
  import { motion as motion5 } from "framer-motion";
966
-
967
- // src/components/Projects.module.css
968
- var Projects_default = {};
969
-
970
- // src/components/Projects.tsx
952
+ import styles6 from "./Projects.module.css";
971
953
  import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
972
954
  var defaultProjects = [
973
955
  {
@@ -1001,29 +983,29 @@ function Projects({ projects }) {
1001
983
  motion5.section,
1002
984
  {
1003
985
  id: "projects",
1004
- className: Projects_default.section,
986
+ className: styles6.section,
1005
987
  initial: "hidden",
1006
988
  whileInView: "visible",
1007
989
  viewport: { once: true, amount: 0.1 },
1008
990
  variants: staggerContainer,
1009
991
  children: [
1010
- /* @__PURE__ */ jsx7(motion5.h2, { className: Projects_default.title, variants: fadeInUp, children: "Selected Projects" }),
1011
- /* @__PURE__ */ jsx7("div", { className: Projects_default.grid, children: displayProjects.map((project, index) => /* @__PURE__ */ jsx7(motion5.div, { variants: fadeInUp, children: /* @__PURE__ */ jsxs5(Link2, { href: `/projects/${project.slug}`, className: Projects_default.card, children: [
992
+ /* @__PURE__ */ jsx7(motion5.h2, { className: styles6.title, variants: fadeInUp, children: "Selected Projects" }),
993
+ /* @__PURE__ */ jsx7("div", { className: styles6.grid, children: displayProjects.map((project, index) => /* @__PURE__ */ jsx7(motion5.div, { variants: fadeInUp, children: /* @__PURE__ */ jsxs5(Link2, { href: `/projects/${project.slug}`, className: styles6.card, children: [
1012
994
  /* @__PURE__ */ jsx7(
1013
995
  "div",
1014
996
  {
1015
- className: Projects_default.cardImage,
997
+ className: styles6.cardImage,
1016
998
  style: { backgroundImage: `url('${getProjectImage(project, index)}')` },
1017
- children: /* @__PURE__ */ jsx7("div", { className: Projects_default.cardImageOverlay })
999
+ children: /* @__PURE__ */ jsx7("div", { className: styles6.cardImageOverlay })
1018
1000
  }
1019
1001
  ),
1020
- /* @__PURE__ */ jsxs5("div", { className: Projects_default.cardContent, children: [
1021
- /* @__PURE__ */ jsxs5("div", { className: Projects_default.cardHeader, children: [
1022
- /* @__PURE__ */ jsx7("h3", { className: Projects_default.cardTitle, children: project.title }),
1023
- /* @__PURE__ */ jsx7("span", { className: Projects_default.cardLink, children: /* @__PURE__ */ jsx7("span", { className: "material-symbols-outlined", children: "open_in_new" }) })
1002
+ /* @__PURE__ */ jsxs5("div", { className: styles6.cardContent, children: [
1003
+ /* @__PURE__ */ jsxs5("div", { className: styles6.cardHeader, children: [
1004
+ /* @__PURE__ */ jsx7("h3", { className: styles6.cardTitle, children: project.title }),
1005
+ /* @__PURE__ */ jsx7("span", { className: styles6.cardLink, children: /* @__PURE__ */ jsx7("span", { className: "material-symbols-outlined", children: "open_in_new" }) })
1024
1006
  ] }),
1025
- /* @__PURE__ */ jsx7("p", { className: Projects_default.cardDescription, children: project.shortDescription }),
1026
- /* @__PURE__ */ jsx7("div", { className: Projects_default.cardTags, children: project.tags?.map((tag) => /* @__PURE__ */ jsx7("span", { className: Projects_default.tag, children: tag }, tag)) })
1007
+ /* @__PURE__ */ jsx7("p", { className: styles6.cardDescription, children: project.shortDescription }),
1008
+ /* @__PURE__ */ jsx7("div", { className: styles6.cardTags, children: project.tags?.map((tag) => /* @__PURE__ */ jsx7("span", { className: styles6.tag, children: tag }, tag)) })
1027
1009
  ] })
1028
1010
  ] }) }, project._id)) })
1029
1011
  ]
@@ -1033,11 +1015,7 @@ function Projects({ projects }) {
1033
1015
 
1034
1016
  // src/components/Publications.tsx
1035
1017
  import { motion as motion6 } from "framer-motion";
1036
-
1037
- // src/components/Publications.module.css
1038
- var Publications_default = {};
1039
-
1040
- // src/components/Publications.tsx
1018
+ import styles7 from "./Publications.module.css";
1041
1019
  import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
1042
1020
  var defaultPublications = [
1043
1021
  {
@@ -1083,7 +1061,7 @@ function Publications({ publications }) {
1083
1061
  const displayPublications = publications.length > 0 ? publications : defaultPublications;
1084
1062
  const renderAuthors = (authors) => {
1085
1063
  return authors.map((author, index) => /* @__PURE__ */ jsxs6("span", { children: [
1086
- author.isMe ? /* @__PURE__ */ jsx8("span", { className: Publications_default.cardAuthorHighlight, children: author.name }) : author.name,
1064
+ author.isMe ? /* @__PURE__ */ jsx8("span", { className: styles7.cardAuthorHighlight, children: author.name }) : author.name,
1087
1065
  index < authors.length - 1 && ", "
1088
1066
  ] }, index));
1089
1067
  };
@@ -1091,34 +1069,34 @@ function Publications({ publications }) {
1091
1069
  motion6.section,
1092
1070
  {
1093
1071
  id: "publications",
1094
- className: Publications_default.section,
1072
+ className: styles7.section,
1095
1073
  initial: "hidden",
1096
1074
  whileInView: "visible",
1097
1075
  viewport: { once: true, amount: 0.1 },
1098
1076
  variants: staggerContainer,
1099
1077
  children: [
1100
- /* @__PURE__ */ jsxs6(motion6.div, { className: Publications_default.header, variants: fadeInUp, children: [
1101
- /* @__PURE__ */ jsx8("h2", { className: Publications_default.title, children: "Publications" }),
1102
- /* @__PURE__ */ jsx8("a", { href: settings?.socialLinks?.googleScholar || "#", className: Publications_default.scholarLink, children: "View Google Scholar ->" })
1078
+ /* @__PURE__ */ jsxs6(motion6.div, { className: styles7.header, variants: fadeInUp, children: [
1079
+ /* @__PURE__ */ jsx8("h2", { className: styles7.title, children: "Publications" }),
1080
+ /* @__PURE__ */ jsx8("a", { href: settings?.socialLinks?.googleScholar || "#", className: styles7.scholarLink, children: "View Google Scholar ->" })
1103
1081
  ] }),
1104
- /* @__PURE__ */ jsx8("div", { className: Publications_default.list, children: displayPublications.map((pub) => /* @__PURE__ */ jsx8(
1082
+ /* @__PURE__ */ jsx8("div", { className: styles7.list, children: displayPublications.map((pub) => /* @__PURE__ */ jsx8(
1105
1083
  motion6.div,
1106
1084
  {
1107
- className: Publications_default.card,
1085
+ className: styles7.card,
1108
1086
  variants: fadeInUp,
1109
1087
  whileHover: { y: -2 },
1110
1088
  transition: { duration: 0.2 },
1111
- children: /* @__PURE__ */ jsxs6("div", { className: Publications_default.cardContent, children: [
1112
- /* @__PURE__ */ jsxs6("div", { className: Publications_default.cardInfo, children: [
1113
- /* @__PURE__ */ jsx8("h3", { className: Publications_default.cardTitle, children: pub.title }),
1114
- /* @__PURE__ */ jsx8("p", { className: Publications_default.cardAuthors, children: renderAuthors(pub.authors) }),
1115
- /* @__PURE__ */ jsxs6("div", { className: Publications_default.cardMeta, children: [
1116
- /* @__PURE__ */ jsx8("span", { className: Publications_default.cardVenue, children: pub.venue }),
1117
- pub.highlight && /* @__PURE__ */ jsxs6("span", { className: Publications_default.cardHighlight, children: [
1089
+ children: /* @__PURE__ */ jsxs6("div", { className: styles7.cardContent, children: [
1090
+ /* @__PURE__ */ jsxs6("div", { className: styles7.cardInfo, children: [
1091
+ /* @__PURE__ */ jsx8("h3", { className: styles7.cardTitle, children: pub.title }),
1092
+ /* @__PURE__ */ jsx8("p", { className: styles7.cardAuthors, children: renderAuthors(pub.authors) }),
1093
+ /* @__PURE__ */ jsxs6("div", { className: styles7.cardMeta, children: [
1094
+ /* @__PURE__ */ jsx8("span", { className: styles7.cardVenue, children: pub.venue }),
1095
+ pub.highlight && /* @__PURE__ */ jsxs6("span", { className: styles7.cardHighlight, children: [
1118
1096
  /* @__PURE__ */ jsx8(
1119
1097
  "span",
1120
1098
  {
1121
- className: `material-symbols-outlined ${Publications_default.cardHighlightIcon}`,
1099
+ className: `material-symbols-outlined ${styles7.cardHighlightIcon}`,
1122
1100
  children: "star"
1123
1101
  }
1124
1102
  ),
@@ -1126,22 +1104,22 @@ function Publications({ publications }) {
1126
1104
  ] })
1127
1105
  ] })
1128
1106
  ] }),
1129
- /* @__PURE__ */ jsxs6("div", { className: Publications_default.cardActions, children: [
1130
- (pub.pdfUrl || pub.pdfFileUrl) && /* @__PURE__ */ jsxs6("a", { href: pub.pdfUrl || pub.pdfFileUrl, className: Publications_default.actionButton, children: [
1107
+ /* @__PURE__ */ jsxs6("div", { className: styles7.cardActions, children: [
1108
+ (pub.pdfUrl || pub.pdfFileUrl) && /* @__PURE__ */ jsxs6("a", { href: pub.pdfUrl || pub.pdfFileUrl, className: styles7.actionButton, children: [
1131
1109
  /* @__PURE__ */ jsx8(
1132
1110
  "span",
1133
1111
  {
1134
- className: `material-symbols-outlined ${Publications_default.actionIcon}`,
1112
+ className: `material-symbols-outlined ${styles7.actionIcon}`,
1135
1113
  children: "picture_as_pdf"
1136
1114
  }
1137
1115
  ),
1138
1116
  "PDF"
1139
1117
  ] }),
1140
- pub.codeUrl && /* @__PURE__ */ jsxs6("a", { href: pub.codeUrl, className: Publications_default.actionButton, children: [
1118
+ pub.codeUrl && /* @__PURE__ */ jsxs6("a", { href: pub.codeUrl, className: styles7.actionButton, children: [
1141
1119
  /* @__PURE__ */ jsx8(
1142
1120
  "span",
1143
1121
  {
1144
- className: `material-symbols-outlined ${Publications_default.actionIcon}`,
1122
+ className: `material-symbols-outlined ${styles7.actionIcon}`,
1145
1123
  children: "code"
1146
1124
  }
1147
1125
  ),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosophia/personal-portfolio",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "Personal portfolio template for Prosophia",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",