fansunited-frontend-core 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.
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/functions/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAIN,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAE1B,0BAA0B,EAC1B,SAAS,EACV,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA+JhD,eAAO,MAAM,iBAAiB,mBACZ,kBAAkB,KACjC,KA0EF,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBACd,0BAA0B,KACzC,KAeF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,QAEG,kBAC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,kBAAkB,KAAG,MAK3D,CAAC;AAGF,eAAO,MAAM,QAAQ,eAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ,eAUpB,CAAC;AAEF,eAAO,MAAM,SAAS,eAOrB,CAAC;AAGF,eAAO,MAAM,gBAAgB,kCAI5B,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;CAQ5B,CAAC;AAEF,eAAO,MAAM,aAAa;;;CAOzB,CAAC;AAEF,eAAO,MAAM,eAAe,uCAG3B,CAAC;AAEF,eAAO,MAAM,SAAS,yCAGrB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAGzB,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAAa,cAAc,WAcjE,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/functions/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAIN,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAE1B,0BAA0B,EAC1B,SAAS,EACV,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA+JhD,eAAO,MAAM,iBAAiB,mBACZ,kBAAkB,KACjC,KAiFF,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBACd,0BAA0B,KACzC,KAeF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,QAEG,kBAC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,kBAAkB,KAAG,MAK3D,CAAC;AAGF,eAAO,MAAM,QAAQ,eAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ,eAUpB,CAAC;AAEF,eAAO,MAAM,SAAS,eAOrB,CAAC;AAGF,eAAO,MAAM,gBAAgB,kCAI5B,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;CAQ5B,CAAC;AAEF,eAAO,MAAM,aAAa;;;CAOzB,CAAC;AAEF,eAAO,MAAM,eAAe,uCAG3B,CAAC;AAEF,eAAO,MAAM,SAAS,yCAGrB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAGzB,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAAa,cAAc,WAcjE,CAAC"}
@@ -0,0 +1,315 @@
1
+ import { extendTheme, useTheme, } from "@mui/joy/styles";
2
+ import useMediaQuery from "@mui/material/useMediaQuery";
3
+ import { useThemeMode } from "../hooks/useThemeMode";
4
+ import { WidgetTemplate } from "../enums/enums";
5
+ const defaultBreakpoints = {
6
+ values: {
7
+ xs: 0,
8
+ sm: 444,
9
+ md: 600,
10
+ lg: 900,
11
+ xl: 1200,
12
+ xxl: 1536,
13
+ },
14
+ };
15
+ const defaultSpacing = {
16
+ "3xs": "2px",
17
+ "2xs": "4px",
18
+ xs: "8px",
19
+ sm: "12px",
20
+ md: "16px",
21
+ lg: "24px",
22
+ xl: "32px",
23
+ "2xl": "40px",
24
+ "3xl": "48px",
25
+ };
26
+ const customColorSchemes = {
27
+ light: {
28
+ palette: {
29
+ success: {
30
+ plainColor: "#4CAF50",
31
+ outlinedBorder: "#4CAF50",
32
+ },
33
+ danger: {
34
+ softBg: "#FEE4E2",
35
+ plainColor: "#F44336",
36
+ outlinedBorder: "#F44336",
37
+ },
38
+ primary: {
39
+ plainColor: "#1A77D2",
40
+ outlinedBorder: "#1A77D2",
41
+ onPrimary: "#FAFAFA",
42
+ primaryContainer: "#2397F3",
43
+ },
44
+ warning: {
45
+ softBg: "#FEF0C7",
46
+ plainColor: "#DC6803",
47
+ },
48
+ },
49
+ textPrimary: "#212121",
50
+ textSecondary: "#212121",
51
+ textColor: "#212121",
52
+ textDisabled: "#212121",
53
+ surface: "#FFFFFF",
54
+ onSurface: "#F5F5F5",
55
+ surfaceVariant: "#EEEEEE",
56
+ surfaceTintDim: "#212121",
57
+ surfaceInverse: "#F5F5F5",
58
+ outlineEnabledBorder: "#E0E0E0",
59
+ secondaryContainer: "#BDBDBD",
60
+ },
61
+ dark: {
62
+ palette: {
63
+ primary: {
64
+ plainColor: "#1A77D2",
65
+ outlinedBorder: "#1A77D2",
66
+ onPrimary: "#FAFAFA",
67
+ primaryContainer: "#2397F3",
68
+ },
69
+ success: {
70
+ plainColor: "#4CAF50",
71
+ outlinedBorder: "#4CAF50",
72
+ },
73
+ danger: {
74
+ softBg: "#FEE4E2",
75
+ plainColor: "#F44336",
76
+ outlinedBorder: "#F44336",
77
+ },
78
+ warning: {
79
+ softBg: "#FEF0C7",
80
+ plainColor: "#DC6803",
81
+ },
82
+ },
83
+ textPrimary: "#FAFAFA",
84
+ textSecondary: "#FAFAFA",
85
+ textColor: "#FAFAFA",
86
+ textDisabled: "#FAFAFA",
87
+ surface: "#424242",
88
+ onSurface: "#212121",
89
+ surfaceVariant: "#616161",
90
+ surfaceTintDim: "#FAFAFA",
91
+ surfaceInverse: "#FAFAFA",
92
+ outlineEnabledBorder: "#757575",
93
+ secondaryContainer: "#757575",
94
+ },
95
+ };
96
+ const defaultCustomFontFamily = {
97
+ light: {
98
+ primary: "Ubuntu, sans-serif",
99
+ secondary: "Roboto, sans-serif",
100
+ },
101
+ dark: {
102
+ primary: "Ubuntu, sans-serif",
103
+ secondary: "Roboto, sans-serif",
104
+ },
105
+ };
106
+ const defaultCornerRadius = {
107
+ light: {
108
+ none: "0px",
109
+ "2xs": "2px",
110
+ xs: "4px",
111
+ sm: "8px",
112
+ md: "12px",
113
+ lg: "16px",
114
+ xl: "24px",
115
+ "2xl": "232px",
116
+ full: "1000px",
117
+ },
118
+ dark: {
119
+ none: "0px",
120
+ "2xs": "2px",
121
+ xs: "4px",
122
+ sm: "8px",
123
+ md: "12px",
124
+ lg: "16px",
125
+ xl: "24px",
126
+ "2xl": "232px",
127
+ full: "1000px",
128
+ },
129
+ };
130
+ const defaultBorder = {
131
+ light: {
132
+ size: "1px",
133
+ },
134
+ dark: {
135
+ size: "2px",
136
+ },
137
+ };
138
+ const defaultCustomGradient = {
139
+ light: {
140
+ standard: "linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(18, 18, 18, 0.8) 100%)",
141
+ split: "linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(18, 18, 18, 0.8) 100%)",
142
+ },
143
+ dark: {
144
+ standard: "linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(18, 18, 18, 0.8) 100%)",
145
+ split: "linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(18, 18, 18, 0.8) 100%)",
146
+ overlay: "linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(18, 18, 18, 0.8) 100%)",
147
+ },
148
+ };
149
+ // Create the theme with default Joy UI theme as base
150
+ export const createCustomTheme = (customOptions) => {
151
+ const baseTheme = extendTheme();
152
+ const customThemeOptions = {
153
+ // Only add custom properties, don't override the entire palette
154
+ colorSchemes: {
155
+ light: {
156
+ palette: {
157
+ // Merge with existing palette
158
+ success: {
159
+ ...baseTheme.colorSchemes.light.palette.success,
160
+ ...(customOptions?.colorSchemes?.light?.palette?.success ||
161
+ customColorSchemes.light.palette.success),
162
+ },
163
+ danger: {
164
+ ...baseTheme.colorSchemes.light.palette.danger,
165
+ ...(customOptions?.colorSchemes?.light?.palette?.danger ||
166
+ customColorSchemes.light.palette.danger),
167
+ },
168
+ primary: {
169
+ ...baseTheme.colorSchemes.light.palette.primary,
170
+ ...(customOptions?.colorSchemes?.light?.palette?.primary ||
171
+ customColorSchemes.light.palette.primary),
172
+ },
173
+ warning: {
174
+ ...baseTheme.colorSchemes.light.palette.warning,
175
+ ...(customOptions?.colorSchemes?.light?.palette?.warning ||
176
+ customColorSchemes.light.palette.warning),
177
+ },
178
+ },
179
+ // Add custom properties
180
+ ...(customOptions?.colorSchemes?.light || customColorSchemes.light),
181
+ },
182
+ dark: {
183
+ palette: {
184
+ primary: {
185
+ ...baseTheme.colorSchemes.dark.palette.primary,
186
+ ...(customOptions?.colorSchemes?.dark?.palette?.primary ||
187
+ customColorSchemes.dark.palette.primary),
188
+ },
189
+ success: {
190
+ ...baseTheme.colorSchemes.dark.palette.success,
191
+ ...(customOptions?.colorSchemes?.dark?.palette?.success ||
192
+ customColorSchemes.dark.palette.success),
193
+ },
194
+ danger: {
195
+ ...baseTheme.colorSchemes.dark.palette.danger,
196
+ ...(customOptions?.colorSchemes?.dark?.palette?.danger ||
197
+ customColorSchemes.dark.palette.danger),
198
+ },
199
+ warning: {
200
+ ...baseTheme.colorSchemes.dark.palette.warning,
201
+ ...(customOptions?.colorSchemes?.dark?.palette?.warning ||
202
+ customColorSchemes.dark.palette.warning),
203
+ },
204
+ },
205
+ // Add custom properties
206
+ ...(customOptions?.colorSchemes?.dark || customColorSchemes.dark),
207
+ },
208
+ },
209
+ breakpoints: {
210
+ values: {
211
+ ...baseTheme.breakpoints.values,
212
+ ...(customOptions?.customBreakpoints?.values ||
213
+ defaultBreakpoints.values),
214
+ },
215
+ },
216
+ // Add other custom properties as needed
217
+ ...(customOptions && {
218
+ spacingScale: customOptions.spacingScale || defaultSpacing,
219
+ customFontFamily: customOptions.customFontFamily || defaultCustomFontFamily,
220
+ customRadius: customOptions.customRadius || defaultCornerRadius,
221
+ border: customOptions.border || defaultBorder,
222
+ imageBackgroundGradient: customOptions.imageBackgroundGradient || defaultCustomGradient,
223
+ customBreakpoints: customOptions.customBreakpoints || defaultBreakpoints,
224
+ }),
225
+ };
226
+ return extendTheme(customThemeOptions);
227
+ };
228
+ export const createEnhancedTheme = (customOptions) => {
229
+ const mode = customOptions?.mode || "light";
230
+ const modeStorageKey = customOptions?.modeStorageKey || "theme-mode";
231
+ const theme = createCustomTheme(customOptions);
232
+ // Add mode and storage key
233
+ return extendTheme({
234
+ ...theme,
235
+ mode,
236
+ modeStorageKey,
237
+ // Ensure Joy UI respects the provided mode
238
+ cssVarPrefix: "joy",
239
+ colorSchemeSelector: 'data-joy-color-scheme="%s"',
240
+ });
241
+ };
242
+ /**
243
+ * Custom hook to access spacing scale values from the theme
244
+ * @returns Spacing scale object or undefined if not available in the theme
245
+ */
246
+ export const useSpacingScale = () => {
247
+ const theme = useTheme();
248
+ return theme.spacingScale;
249
+ };
250
+ /**
251
+ * Function to get a spacing value from the spacing scale
252
+ */
253
+ export const getSpacing = (size) => {
254
+ const spacingScale = useSpacingScale();
255
+ return spacingScale
256
+ ? spacingScale[size]
257
+ : "16px";
258
+ };
259
+ // Use MediaQuery to check screen size
260
+ export const isMobile = () => {
261
+ const joyTheme = useTheme();
262
+ const { theme } = useThemeWithMode();
263
+ return useMediaQuery(joyTheme.breakpoints.down(theme.customBreakpoints.values.md));
264
+ };
265
+ export const isTablet = () => {
266
+ const joyTheme = useTheme();
267
+ const { theme } = useThemeWithMode();
268
+ return useMediaQuery(joyTheme.breakpoints.between(theme.customBreakpoints.values.md, theme.customBreakpoints.values.lg));
269
+ };
270
+ export const isDesktop = () => {
271
+ const joyTheme = useTheme();
272
+ const { theme } = useThemeWithMode();
273
+ return useMediaQuery(joyTheme.breakpoints.up(theme.customBreakpoints.values.lg));
274
+ };
275
+ // The hook will be used in components to access the internal theme
276
+ export const useInternalTheme = () => {
277
+ const theme = useTheme();
278
+ return theme;
279
+ };
280
+ // Enhanced hooks for accessing theme values with mode awareness
281
+ export const useThemeWithMode = () => {
282
+ const theme = useTheme();
283
+ const { mode } = useThemeMode(theme.mode || "light", theme.modeStorageKey || "theme-mode");
284
+ const internalTheme = theme;
285
+ return { theme: internalTheme, mode };
286
+ };
287
+ export const useFontFamily = () => {
288
+ const { theme, mode } = useThemeWithMode();
289
+ return {
290
+ primary: theme.customFontFamily?.[mode]?.primary || "Ubuntu, sans-serif",
291
+ secondary: theme.customFontFamily?.[mode]?.secondary || "Roboto, sans-serif",
292
+ };
293
+ };
294
+ export const useCornerRadius = () => {
295
+ const { theme, mode } = useThemeWithMode();
296
+ return theme.customRadius?.[mode] || defaultCornerRadius[mode];
297
+ };
298
+ export const useColors = () => {
299
+ const { theme, mode } = useThemeWithMode();
300
+ return theme.colorSchemes?.[mode] || customColorSchemes[mode];
301
+ };
302
+ export const useBorderSize = () => {
303
+ const { theme, mode } = useThemeWithMode();
304
+ return theme.border?.[mode] || defaultBorder[mode];
305
+ };
306
+ export const useImageBackgroundGradient = (variant) => {
307
+ const { theme, mode } = useThemeWithMode();
308
+ if (variant === WidgetTemplate.STANDARD || variant === WidgetTemplate.SPLIT) {
309
+ return (theme.imageBackgroundGradient[mode][variant] ||
310
+ defaultCustomGradient[mode][variant]);
311
+ }
312
+ return (theme.imageBackgroundGradient.dark.overlay ||
313
+ defaultCustomGradient.dark.overlay);
314
+ };
315
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/functions/theme.ts"],"names":[],"mappings":"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"}