@prosophia/personal-portfolio 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.
@@ -0,0 +1,130 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { U as Update, P as Project, a as Publication, E as Experience, b as ProsophiaConfig, S as SiteSettings, c as Profile, d as SanityImage } from './index-dczHpph_.mjs';
3
+ export { F as FontFamily, H as Headline, e as PublicationAuthor, g as SiteConfig, f as SocialLinks, T as ThemeColor, h as ThemeConfig } from './index-dczHpph_.mjs';
4
+ import * as _sanity_image_url_lib_types_builder from '@sanity/image-url/lib/types/builder';
5
+
6
+ declare function Divider(): react_jsx_runtime.JSX.Element;
7
+
8
+ declare function Footer(): react_jsx_runtime.JSX.Element;
9
+
10
+ declare function Header(): react_jsx_runtime.JSX.Element;
11
+
12
+ interface HeroProps {
13
+ updates: Update[];
14
+ }
15
+ declare function Hero({ updates }: HeroProps): react_jsx_runtime.JSX.Element;
16
+
17
+ interface ProjectsProps {
18
+ projects: Project[];
19
+ }
20
+ declare function Projects({ projects }: ProjectsProps): react_jsx_runtime.JSX.Element;
21
+
22
+ interface PublicationsProps {
23
+ publications: Publication[];
24
+ }
25
+ declare function Publications({ publications }: PublicationsProps): react_jsx_runtime.JSX.Element;
26
+
27
+ interface HomePageProps {
28
+ updates?: Update[];
29
+ experiences?: Experience[];
30
+ projects?: Project[];
31
+ publications?: Publication[];
32
+ }
33
+ /**
34
+ * Main HomePage component that assembles all sections of the personal portfolio
35
+ */
36
+ declare function HomePage({ updates, experiences, projects, publications, }: HomePageProps): react_jsx_runtime.JSX.Element;
37
+
38
+ /**
39
+ * Define configuration for your personal portfolio site
40
+ * @param config - The site configuration object
41
+ * @returns The configuration object (passthrough for type safety)
42
+ */
43
+ declare function defineConfig(config: ProsophiaConfig): ProsophiaConfig;
44
+
45
+ type Theme = 'light' | 'dark';
46
+ interface ThemeContextType {
47
+ theme: Theme;
48
+ toggleTheme: () => void;
49
+ mounted: boolean;
50
+ }
51
+ declare function ThemeProvider({ children }: {
52
+ children: React.ReactNode;
53
+ }): react_jsx_runtime.JSX.Element;
54
+ declare function useTheme(): ThemeContextType;
55
+
56
+ interface SiteSettingsContextType {
57
+ settings: SiteSettings | null;
58
+ profile: Profile | null;
59
+ }
60
+ interface SiteSettingsProviderProps {
61
+ children: React.ReactNode;
62
+ settings: SiteSettings | null;
63
+ profile: Profile | null;
64
+ }
65
+ declare function SiteSettingsProvider({ children, settings, profile, }: SiteSettingsProviderProps): react_jsx_runtime.JSX.Element;
66
+ declare function useSiteSettings(): SiteSettingsContextType;
67
+
68
+ /**
69
+ * Configure the Sanity image URL builder
70
+ * Call this in your app's initialization with your Sanity client
71
+ */
72
+ declare function configureSanityClient(client: {
73
+ projectId: string;
74
+ dataset: string;
75
+ }): void;
76
+ /**
77
+ * Generate image URL from Sanity image reference
78
+ * Returns a builder that supports .width(), .height(), .url() etc.
79
+ */
80
+ declare function urlFor(source: SanityImage | string | undefined): _sanity_image_url_lib_types_builder.ImageUrlBuilder | {
81
+ width: () => {
82
+ height: () => {
83
+ url: () => string;
84
+ };
85
+ url: () => string;
86
+ };
87
+ height: () => {
88
+ width: () => {
89
+ url: () => string;
90
+ };
91
+ url: () => string;
92
+ };
93
+ url: () => string;
94
+ };
95
+
96
+ type ColorPreset = 'violet' | 'blue' | 'emerald' | 'rose' | 'amber' | 'cyan' | 'custom';
97
+ interface ColorConfig {
98
+ light: {
99
+ primary: string;
100
+ primaryHover: string;
101
+ primaryLight: string;
102
+ tagBg: string;
103
+ shadow: string;
104
+ borderHighlight: string;
105
+ glassBorder: string;
106
+ };
107
+ dark: {
108
+ primary: string;
109
+ primaryHover: string;
110
+ primaryLight: string;
111
+ tagBg: string;
112
+ shadow: string;
113
+ borderHighlight: string;
114
+ glassBorder: string;
115
+ };
116
+ }
117
+ declare const colorPresets: Record<Exclude<ColorPreset, 'custom'>, ColorConfig>;
118
+ declare function getColorConfig(preset: ColorPreset, customColor?: string): ColorConfig;
119
+ declare function applyThemeColors(preset: ColorPreset, customColor?: string, isDark?: boolean): void;
120
+
121
+ type FontPreset = 'inter' | 'roboto' | 'open-sans' | 'lato' | 'poppins' | 'montserrat' | 'playfair-display' | 'source-sans-pro' | 'merriweather';
122
+ interface FontConfig {
123
+ family: string;
124
+ fallback: string;
125
+ }
126
+ declare const fontPresets: Record<FontPreset, FontConfig>;
127
+ declare function getFontFamily(preset: FontPreset): string;
128
+ declare function applyFonts(headingFont?: FontPreset, bodyFont?: FontPreset): void;
129
+
130
+ export { type ColorPreset, Divider, Experience, type FontPreset, Footer, Header, Hero, HomePage, type HomePageProps, Profile, Project, Projects, ProsophiaConfig, Publication, Publications, SanityImage, SiteSettings, SiteSettingsProvider, ThemeProvider, Update, applyFonts, applyThemeColors, colorPresets, configureSanityClient, defineConfig, fontPresets, getColorConfig, getFontFamily, urlFor, useSiteSettings, useTheme };
@@ -0,0 +1,130 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { U as Update, P as Project, a as Publication, E as Experience, b as ProsophiaConfig, S as SiteSettings, c as Profile, d as SanityImage } from './index-dczHpph_.js';
3
+ export { F as FontFamily, H as Headline, e as PublicationAuthor, g as SiteConfig, f as SocialLinks, T as ThemeColor, h as ThemeConfig } from './index-dczHpph_.js';
4
+ import * as _sanity_image_url_lib_types_builder from '@sanity/image-url/lib/types/builder';
5
+
6
+ declare function Divider(): react_jsx_runtime.JSX.Element;
7
+
8
+ declare function Footer(): react_jsx_runtime.JSX.Element;
9
+
10
+ declare function Header(): react_jsx_runtime.JSX.Element;
11
+
12
+ interface HeroProps {
13
+ updates: Update[];
14
+ }
15
+ declare function Hero({ updates }: HeroProps): react_jsx_runtime.JSX.Element;
16
+
17
+ interface ProjectsProps {
18
+ projects: Project[];
19
+ }
20
+ declare function Projects({ projects }: ProjectsProps): react_jsx_runtime.JSX.Element;
21
+
22
+ interface PublicationsProps {
23
+ publications: Publication[];
24
+ }
25
+ declare function Publications({ publications }: PublicationsProps): react_jsx_runtime.JSX.Element;
26
+
27
+ interface HomePageProps {
28
+ updates?: Update[];
29
+ experiences?: Experience[];
30
+ projects?: Project[];
31
+ publications?: Publication[];
32
+ }
33
+ /**
34
+ * Main HomePage component that assembles all sections of the personal portfolio
35
+ */
36
+ declare function HomePage({ updates, experiences, projects, publications, }: HomePageProps): react_jsx_runtime.JSX.Element;
37
+
38
+ /**
39
+ * Define configuration for your personal portfolio site
40
+ * @param config - The site configuration object
41
+ * @returns The configuration object (passthrough for type safety)
42
+ */
43
+ declare function defineConfig(config: ProsophiaConfig): ProsophiaConfig;
44
+
45
+ type Theme = 'light' | 'dark';
46
+ interface ThemeContextType {
47
+ theme: Theme;
48
+ toggleTheme: () => void;
49
+ mounted: boolean;
50
+ }
51
+ declare function ThemeProvider({ children }: {
52
+ children: React.ReactNode;
53
+ }): react_jsx_runtime.JSX.Element;
54
+ declare function useTheme(): ThemeContextType;
55
+
56
+ interface SiteSettingsContextType {
57
+ settings: SiteSettings | null;
58
+ profile: Profile | null;
59
+ }
60
+ interface SiteSettingsProviderProps {
61
+ children: React.ReactNode;
62
+ settings: SiteSettings | null;
63
+ profile: Profile | null;
64
+ }
65
+ declare function SiteSettingsProvider({ children, settings, profile, }: SiteSettingsProviderProps): react_jsx_runtime.JSX.Element;
66
+ declare function useSiteSettings(): SiteSettingsContextType;
67
+
68
+ /**
69
+ * Configure the Sanity image URL builder
70
+ * Call this in your app's initialization with your Sanity client
71
+ */
72
+ declare function configureSanityClient(client: {
73
+ projectId: string;
74
+ dataset: string;
75
+ }): void;
76
+ /**
77
+ * Generate image URL from Sanity image reference
78
+ * Returns a builder that supports .width(), .height(), .url() etc.
79
+ */
80
+ declare function urlFor(source: SanityImage | string | undefined): _sanity_image_url_lib_types_builder.ImageUrlBuilder | {
81
+ width: () => {
82
+ height: () => {
83
+ url: () => string;
84
+ };
85
+ url: () => string;
86
+ };
87
+ height: () => {
88
+ width: () => {
89
+ url: () => string;
90
+ };
91
+ url: () => string;
92
+ };
93
+ url: () => string;
94
+ };
95
+
96
+ type ColorPreset = 'violet' | 'blue' | 'emerald' | 'rose' | 'amber' | 'cyan' | 'custom';
97
+ interface ColorConfig {
98
+ light: {
99
+ primary: string;
100
+ primaryHover: string;
101
+ primaryLight: string;
102
+ tagBg: string;
103
+ shadow: string;
104
+ borderHighlight: string;
105
+ glassBorder: string;
106
+ };
107
+ dark: {
108
+ primary: string;
109
+ primaryHover: string;
110
+ primaryLight: string;
111
+ tagBg: string;
112
+ shadow: string;
113
+ borderHighlight: string;
114
+ glassBorder: string;
115
+ };
116
+ }
117
+ declare const colorPresets: Record<Exclude<ColorPreset, 'custom'>, ColorConfig>;
118
+ declare function getColorConfig(preset: ColorPreset, customColor?: string): ColorConfig;
119
+ declare function applyThemeColors(preset: ColorPreset, customColor?: string, isDark?: boolean): void;
120
+
121
+ type FontPreset = 'inter' | 'roboto' | 'open-sans' | 'lato' | 'poppins' | 'montserrat' | 'playfair-display' | 'source-sans-pro' | 'merriweather';
122
+ interface FontConfig {
123
+ family: string;
124
+ fallback: string;
125
+ }
126
+ declare const fontPresets: Record<FontPreset, FontConfig>;
127
+ declare function getFontFamily(preset: FontPreset): string;
128
+ declare function applyFonts(headingFont?: FontPreset, bodyFont?: FontPreset): void;
129
+
130
+ export { type ColorPreset, Divider, Experience, type FontPreset, Footer, Header, Hero, HomePage, type HomePageProps, Profile, Project, Projects, ProsophiaConfig, Publication, Publications, SanityImage, SiteSettings, SiteSettingsProvider, ThemeProvider, Update, applyFonts, applyThemeColors, colorPresets, configureSanityClient, defineConfig, fontPresets, getColorConfig, getFontFamily, urlFor, useSiteSettings, useTheme };