@fastwork/xosmoz-theme 0.0.3

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,259 @@
1
+ /**
2
+ * Theme type definitions
3
+ */
4
+ interface ColorToken {
5
+ 50: string;
6
+ 100: string;
7
+ 200: string;
8
+ 300: string;
9
+ 400: string;
10
+ 500: string;
11
+ 600: string;
12
+ 700: string;
13
+ 800: string;
14
+ 900: string;
15
+ 1000?: string;
16
+ 1100?: string;
17
+ }
18
+ interface ThemeColors {
19
+ primary: ColorToken;
20
+ neutral: ColorToken;
21
+ green: ColorToken;
22
+ yellow: ColorToken;
23
+ red: ColorToken;
24
+ orange: ColorToken;
25
+ purple: ColorToken;
26
+ cyan: ColorToken;
27
+ 'black-alpha': ColorToken;
28
+ 'white-alpha': ColorToken;
29
+ }
30
+ interface TypographyScale {
31
+ 50: string;
32
+ 100: string;
33
+ 200: string;
34
+ 300: string;
35
+ 400: string;
36
+ 500: string;
37
+ 600: string;
38
+ 700: string;
39
+ 800: string;
40
+ 900: string;
41
+ 1000: string;
42
+ 1100: string;
43
+ 1200: string;
44
+ 1300: string;
45
+ 1400: string;
46
+ 1500: string;
47
+ 1600: string;
48
+ }
49
+ interface FontWeights {
50
+ 100: number;
51
+ 200: number;
52
+ 300: number;
53
+ 400: number;
54
+ 500: number;
55
+ 600: number;
56
+ 700: number;
57
+ 800: number;
58
+ 900: number;
59
+ }
60
+ interface TypographyToken {
61
+ fontFamily: string;
62
+ fontSize: {
63
+ desktop: string;
64
+ mobile: string;
65
+ };
66
+ fontWeight: number;
67
+ }
68
+ interface HeadingTokens {
69
+ h1: TypographyToken;
70
+ h2: TypographyToken;
71
+ h3: TypographyToken;
72
+ h4: TypographyToken;
73
+ h5: TypographyToken;
74
+ h6: TypographyToken;
75
+ }
76
+ interface TitleTokens {
77
+ title1: TypographyToken;
78
+ title2: TypographyToken;
79
+ title3: TypographyToken;
80
+ title4: TypographyToken;
81
+ }
82
+ interface SubtitleTokens {
83
+ subtitle1Bold: TypographyToken;
84
+ subtitle1Regular: TypographyToken;
85
+ subtitle2Bold: TypographyToken;
86
+ subtitle2Regular: TypographyToken;
87
+ subtitle3Bold: TypographyToken;
88
+ subtitle3Regular: TypographyToken;
89
+ }
90
+ interface BodyTokens {
91
+ body1: TypographyToken;
92
+ body2: TypographyToken;
93
+ body3: TypographyToken;
94
+ body4: TypographyToken;
95
+ }
96
+ interface SpacingScale {
97
+ 0: string;
98
+ px: string;
99
+ 0.5: string;
100
+ 1: string;
101
+ 1.5: string;
102
+ 2: string;
103
+ 2.5: string;
104
+ 3: string;
105
+ 3.5: string;
106
+ 4: string;
107
+ 5: string;
108
+ 6: string;
109
+ 7: string;
110
+ 8: string;
111
+ 9: string;
112
+ 10: string;
113
+ 11: string;
114
+ 12: string;
115
+ 14: string;
116
+ 16: string;
117
+ 20: string;
118
+ 24: string;
119
+ 28: string;
120
+ 32: string;
121
+ 36: string;
122
+ 40: string;
123
+ 44: string;
124
+ 48: string;
125
+ 52: string;
126
+ 56: string;
127
+ 60: string;
128
+ 64: string;
129
+ 72: string;
130
+ 80: string;
131
+ 96: string;
132
+ }
133
+ interface BorderRadius {
134
+ none: string;
135
+ sm: string;
136
+ base: string;
137
+ md: string;
138
+ lg: string;
139
+ xl: string;
140
+ '2xl': string;
141
+ '3xl': string;
142
+ full: string;
143
+ }
144
+ interface Shadows {
145
+ xs: string;
146
+ sm: string;
147
+ base: string;
148
+ md: string;
149
+ lg: string;
150
+ xl: string;
151
+ '2xl': string;
152
+ inner: string;
153
+ none: string;
154
+ }
155
+ interface Theme {
156
+ colors: ThemeColors;
157
+ typography: {
158
+ fontSize: TypographyScale;
159
+ fontWeight: FontWeights;
160
+ fontFamily: {
161
+ primary: string;
162
+ secondary: string;
163
+ };
164
+ lineHeight: {
165
+ '100pct': string;
166
+ '125pct': string;
167
+ '135pct': string;
168
+ '150pct': string;
169
+ '165pct': string;
170
+ '200pct': string;
171
+ };
172
+ headings: HeadingTokens;
173
+ titles: TitleTokens;
174
+ subtitles: SubtitleTokens;
175
+ body: BodyTokens;
176
+ };
177
+ spacing: SpacingScale;
178
+ borderRadius: BorderRadius;
179
+ shadows: Shadows;
180
+ }
181
+
182
+ /**
183
+ * Color design tokens
184
+ */
185
+
186
+ declare const primary: ColorToken;
187
+ declare const neutral: ColorToken;
188
+ declare const green: ColorToken;
189
+ declare const yellow: ColorToken;
190
+ declare const red: ColorToken;
191
+ declare const orange: ColorToken;
192
+ declare const purple: ColorToken;
193
+ declare const cyan: ColorToken;
194
+ declare const blackAlpha: ColorToken;
195
+ declare const whiteAlpha: ColorToken;
196
+ declare const colors: ThemeColors;
197
+
198
+ /**
199
+ * Typography design tokens
200
+ */
201
+
202
+ declare const fontSize: TypographyScale;
203
+ declare const fontWeight: FontWeights;
204
+ declare const fontFamily: {
205
+ primary: string;
206
+ secondary: string;
207
+ };
208
+ declare const lineHeight: {
209
+ '100pct': string;
210
+ '125pct': string;
211
+ '135pct': string;
212
+ '150pct': string;
213
+ '165pct': string;
214
+ '200pct': string;
215
+ };
216
+ declare const headings: HeadingTokens;
217
+ declare const titles: TitleTokens;
218
+ declare const subtitles: SubtitleTokens;
219
+ declare const body: BodyTokens;
220
+ declare const typography: {
221
+ fontSize: TypographyScale;
222
+ fontWeight: FontWeights;
223
+ fontFamily: {
224
+ primary: string;
225
+ secondary: string;
226
+ };
227
+ lineHeight: {
228
+ '100pct': string;
229
+ '125pct': string;
230
+ '135pct': string;
231
+ '150pct': string;
232
+ '165pct': string;
233
+ '200pct': string;
234
+ };
235
+ headings: HeadingTokens;
236
+ titles: TitleTokens;
237
+ subtitles: SubtitleTokens;
238
+ body: BodyTokens;
239
+ };
240
+
241
+ /**
242
+ * Spacing design tokens
243
+ */
244
+
245
+ declare const spacing: SpacingScale;
246
+
247
+ /**
248
+ * Shadow design tokens
249
+ */
250
+
251
+ declare const shadows: Shadows;
252
+
253
+ /**
254
+ * Border radius design tokens
255
+ */
256
+
257
+ declare const borderRadius: BorderRadius;
258
+
259
+ export { type TitleTokens as A, type BodyTokens as B, type ColorToken as C, type SpacingScale as D, type BorderRadius as E, type FontWeights as F, type Shadows as G, type HeadingTokens as H, type SubtitleTokens as S, type Theme as T, purple as a, blackAlpha as b, cyan as c, colors as d, fontWeight as e, fontSize as f, green as g, fontFamily as h, headings as i, body as j, typography as k, lineHeight as l, spacing as m, neutral as n, orange as o, primary as p, shadows as q, red as r, subtitles as s, titles as t, borderRadius as u, type ThemeColors as v, whiteAlpha as w, type TypographyScale as x, yellow as y, type TypographyToken as z };
@@ -0,0 +1,109 @@
1
+ import { T as Theme } from './index-B3oQ5FIa.mjs';
2
+ export { B as BodyTokens, E as BorderRadius, C as ColorToken, F as FontWeights, H as HeadingTokens, G as Shadows, D as SpacingScale, S as SubtitleTokens, v as ThemeColors, A as TitleTokens, x as TypographyScale, z as TypographyToken, b as blackAlpha, j as body, u as borderRadius, d as colors, c as cyan, h as fontFamily, f as fontSize, e as fontWeight, g as green, i as headings, l as lineHeight, n as neutral, o as orange, p as primary, a as purple, r as red, q as shadows, m as spacing, s as subtitles, t as titles, k as typography, w as whiteAlpha, y as yellow } from './index-B3oQ5FIa.mjs';
3
+
4
+ /**
5
+ * Theme configuration
6
+ */
7
+
8
+ declare const defaultTheme: Theme;
9
+ /**
10
+ * Create a custom theme by merging with the default theme
11
+ */
12
+ declare function createTheme(overrides?: Partial<Theme>): Theme;
13
+ /**
14
+ * Generate CSS custom properties from theme
15
+ */
16
+ declare function themeToCSSVariables(theme: Theme): Record<string, string>;
17
+ /**
18
+ * Generate CSS string from theme
19
+ */
20
+ declare function generateCSSVariables(theme?: Theme): string;
21
+
22
+ /**
23
+ * Theme configuration types
24
+ */
25
+ interface ThemeConfig {
26
+ name: string;
27
+ colors: {
28
+ background: string;
29
+ foreground: string;
30
+ muted: string;
31
+ mutedForeground: string;
32
+ border: string;
33
+ input: string;
34
+ ring: string;
35
+ card: string;
36
+ cardForeground: string;
37
+ popover: string;
38
+ popoverForeground: string;
39
+ primary: string;
40
+ primaryForeground: string;
41
+ secondary: string;
42
+ secondaryForeground: string;
43
+ accent: string;
44
+ accentForeground: string;
45
+ destructive: string;
46
+ destructiveForeground: string;
47
+ success: string;
48
+ successForeground: string;
49
+ warning: string;
50
+ warningForeground: string;
51
+ info: string;
52
+ infoForeground: string;
53
+ };
54
+ }
55
+ type ThemeName = 'light' | 'dark' | 'cyberpunk' | 'forest' | 'ocean';
56
+ type ThemeRegistry = Record<ThemeName, ThemeConfig>;
57
+
58
+ /**
59
+ * Light theme configuration
60
+ */
61
+
62
+ declare const lightTheme: ThemeConfig;
63
+
64
+ /**
65
+ * Dark theme configuration
66
+ */
67
+
68
+ declare const darkTheme: ThemeConfig;
69
+
70
+ /**
71
+ * Cyberpunk theme - Neon colors on dark background
72
+ */
73
+
74
+ declare const cyberpunkTheme: ThemeConfig;
75
+
76
+ /**
77
+ * Forest theme - Natural greens and earthy tones
78
+ */
79
+
80
+ declare const forestTheme: ThemeConfig;
81
+
82
+ /**
83
+ * Ocean theme - Deep blues and aqua tones
84
+ */
85
+
86
+ declare const oceanTheme: ThemeConfig;
87
+
88
+ /**
89
+ * Theme registry and exports
90
+ */
91
+
92
+ /**
93
+ * All available predefined themes
94
+ */
95
+ declare const themes: ThemeRegistry;
96
+ /**
97
+ * Get a theme by name
98
+ */
99
+ declare function getTheme(name: ThemeName): ThemeConfig;
100
+ /**
101
+ * Get all theme names
102
+ */
103
+ declare function getThemeNames(): ThemeName[];
104
+ /**
105
+ * Create a custom theme
106
+ */
107
+ declare function createCustomTheme(name: string, colors: Partial<ThemeConfig['colors']>, baseTheme?: ThemeName): ThemeConfig;
108
+
109
+ export { Theme, type ThemeConfig, type ThemeName, type ThemeRegistry, createCustomTheme, createTheme, cyberpunkTheme, darkTheme, defaultTheme, forestTheme, generateCSSVariables, getTheme, getThemeNames, lightTheme, oceanTheme, themeToCSSVariables, themes };
@@ -0,0 +1,109 @@
1
+ import { T as Theme } from './index-B3oQ5FIa.js';
2
+ export { B as BodyTokens, E as BorderRadius, C as ColorToken, F as FontWeights, H as HeadingTokens, G as Shadows, D as SpacingScale, S as SubtitleTokens, v as ThemeColors, A as TitleTokens, x as TypographyScale, z as TypographyToken, b as blackAlpha, j as body, u as borderRadius, d as colors, c as cyan, h as fontFamily, f as fontSize, e as fontWeight, g as green, i as headings, l as lineHeight, n as neutral, o as orange, p as primary, a as purple, r as red, q as shadows, m as spacing, s as subtitles, t as titles, k as typography, w as whiteAlpha, y as yellow } from './index-B3oQ5FIa.js';
3
+
4
+ /**
5
+ * Theme configuration
6
+ */
7
+
8
+ declare const defaultTheme: Theme;
9
+ /**
10
+ * Create a custom theme by merging with the default theme
11
+ */
12
+ declare function createTheme(overrides?: Partial<Theme>): Theme;
13
+ /**
14
+ * Generate CSS custom properties from theme
15
+ */
16
+ declare function themeToCSSVariables(theme: Theme): Record<string, string>;
17
+ /**
18
+ * Generate CSS string from theme
19
+ */
20
+ declare function generateCSSVariables(theme?: Theme): string;
21
+
22
+ /**
23
+ * Theme configuration types
24
+ */
25
+ interface ThemeConfig {
26
+ name: string;
27
+ colors: {
28
+ background: string;
29
+ foreground: string;
30
+ muted: string;
31
+ mutedForeground: string;
32
+ border: string;
33
+ input: string;
34
+ ring: string;
35
+ card: string;
36
+ cardForeground: string;
37
+ popover: string;
38
+ popoverForeground: string;
39
+ primary: string;
40
+ primaryForeground: string;
41
+ secondary: string;
42
+ secondaryForeground: string;
43
+ accent: string;
44
+ accentForeground: string;
45
+ destructive: string;
46
+ destructiveForeground: string;
47
+ success: string;
48
+ successForeground: string;
49
+ warning: string;
50
+ warningForeground: string;
51
+ info: string;
52
+ infoForeground: string;
53
+ };
54
+ }
55
+ type ThemeName = 'light' | 'dark' | 'cyberpunk' | 'forest' | 'ocean';
56
+ type ThemeRegistry = Record<ThemeName, ThemeConfig>;
57
+
58
+ /**
59
+ * Light theme configuration
60
+ */
61
+
62
+ declare const lightTheme: ThemeConfig;
63
+
64
+ /**
65
+ * Dark theme configuration
66
+ */
67
+
68
+ declare const darkTheme: ThemeConfig;
69
+
70
+ /**
71
+ * Cyberpunk theme - Neon colors on dark background
72
+ */
73
+
74
+ declare const cyberpunkTheme: ThemeConfig;
75
+
76
+ /**
77
+ * Forest theme - Natural greens and earthy tones
78
+ */
79
+
80
+ declare const forestTheme: ThemeConfig;
81
+
82
+ /**
83
+ * Ocean theme - Deep blues and aqua tones
84
+ */
85
+
86
+ declare const oceanTheme: ThemeConfig;
87
+
88
+ /**
89
+ * Theme registry and exports
90
+ */
91
+
92
+ /**
93
+ * All available predefined themes
94
+ */
95
+ declare const themes: ThemeRegistry;
96
+ /**
97
+ * Get a theme by name
98
+ */
99
+ declare function getTheme(name: ThemeName): ThemeConfig;
100
+ /**
101
+ * Get all theme names
102
+ */
103
+ declare function getThemeNames(): ThemeName[];
104
+ /**
105
+ * Create a custom theme
106
+ */
107
+ declare function createCustomTheme(name: string, colors: Partial<ThemeConfig['colors']>, baseTheme?: ThemeName): ThemeConfig;
108
+
109
+ export { Theme, type ThemeConfig, type ThemeName, type ThemeRegistry, createCustomTheme, createTheme, cyberpunkTheme, darkTheme, defaultTheme, forestTheme, generateCSSVariables, getTheme, getThemeNames, lightTheme, oceanTheme, themeToCSSVariables, themes };