@atomazing-org/design-system 1.0.20 → 1.0.21

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomazing-org/design-system",
3
- "version": "1.0.20",
3
+ "version": "1.0.21",
4
4
  "private": false,
5
5
  "description": "A library providing a set of useful utils, MUI style extensions, and components to build your application.",
6
6
  "author": "PonomarevBPM + MarkSinD",
package/dist/index.d.mts DELETED
@@ -1,440 +0,0 @@
1
- import * as _emotion_styled from '@emotion/styled';
2
- import * as _emotion_react from '@emotion/react';
3
- import * as React$1 from 'react';
4
- import React__default, { ErrorInfo, FC, PropsWithChildren } from 'react';
5
- import * as _mui_material_OverridableComponent from '@mui/material/OverridableComponent';
6
- import * as _mui_material from '@mui/material';
7
- import { Theme, PaletteMode } from '@mui/material';
8
- import * as react_jsx_runtime from 'react/jsx-runtime';
9
-
10
- declare const DialogBtn: _emotion_styled.StyledComponent<_mui_material.ButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<React$1.DetailedHTMLProps<React$1.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "style" | "className" | "classes" | "action" | "centerRipple" | "children" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "sx" | "tabIndex" | "TouchRippleProps" | "touchRippleRef" | "href" | "color" | "disableElevation" | "disableFocusRipple" | "endIcon" | "fullWidth" | "loading" | "loadingIndicator" | "loadingPosition" | "size" | "startIcon" | "variant"> & {
11
- theme?: _emotion_react.Theme;
12
- }, {}, {}>;
13
-
14
- interface ErrorBoundaryProps {
15
- children: React__default.ReactNode;
16
- }
17
- interface ErrorBoundaryState {
18
- hasError: boolean;
19
- error?: Error;
20
- }
21
- /**
22
- * ErrorBoundary component that catches and displays errors.
23
- */
24
- declare class ErrorBoundary extends React__default.Component<ErrorBoundaryProps, ErrorBoundaryState> {
25
- constructor(props: ErrorBoundaryProps);
26
- static getDerivedStateFromError(error: Error): ErrorBoundaryState;
27
- componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
28
- render(): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
29
- }
30
-
31
- declare const Loading: () => react_jsx_runtime.JSX.Element;
32
-
33
- declare const PathName: _emotion_styled.StyledComponent<{
34
- theme?: _emotion_react.Theme;
35
- as?: React.ElementType;
36
- }, React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLElement>, HTMLElement>, {}>;
37
-
38
- /**
39
- * Available options for dark mode configuration.
40
- * - `system`: Follows the operating system preference.
41
- * - `auto`: Uses contrast-based detection (e.g., based on background color).
42
- * - `light`: Forces light mode.
43
- * - `dark`: Forces dark mode.
44
- */
45
- type DarkModeOptions = "system" | "auto" | "light" | "dark";
46
- /**
47
- * Represents user-specific theme preferences stored in the application.
48
- */
49
- interface AppSettings {
50
- /**
51
- * The selected theme name. `"system"` indicates the app should follow system preference.
52
- * Other values are custom theme names defined by the application.
53
- */
54
- theme: "system" | (string & {});
55
- /**
56
- * Controls how dark mode is applied in the app.
57
- */
58
- darkMode: DarkModeOptions;
59
- }
60
- interface ThemeContextProps {
61
- theme: string;
62
- darkMode: DarkModeOptions;
63
- setTheme: (theme: string) => void;
64
- setDarkMode: (mode: DarkModeOptions) => void;
65
- }
66
-
67
- /**
68
- * Represents the theme mode as reported by the operating system or browser.
69
- * - `light`: Light mode
70
- * - `dark`: Dark mode
71
- * - `unknown`: Theme mode could not be determined
72
- */
73
- type SystemTheme = "light" | "dark" | "unknown";
74
-
75
- declare const useThemeSettings: () => ThemeContextProps;
76
-
77
- declare const ThemeProviderWrapper: FC<PropsWithChildren>;
78
-
79
- /**
80
- * Validates whether a given string is a valid 3- or 6-digit hex color code (e.g., "#fff" or "#ffffff").
81
- *
82
- * @param value - The string to check.
83
- * @returns `true` if the string is a valid hex color; otherwise, `false`.
84
- */
85
- declare const isHexColor: (value: string) => boolean;
86
- /**
87
- * Determines the ideal font color (white or black) for contrast against a given background color.
88
- *
89
- * Uses luminance calculation (YIQ) to ensure accessibility and visual clarity.
90
- *
91
- * @param backgroundColor - A valid hex color (e.g., "#ffffff").
92
- * @returns A hex color string (`fontLight` or `fontDark`) suitable for overlay text.
93
- */
94
- declare const getFontColor: (backgroundColor: string) => string;
95
- /**
96
- * Determines whether the ideal font color for a background is light (i.e., white).
97
- *
98
- * @param color - The background color in hex.
99
- * @returns `true` if white text is recommended; otherwise, `false`.
100
- */
101
- declare const isFontLight: (color: string) => boolean;
102
-
103
- /**
104
- * Common component style overrides and default props shared across the design system.
105
- * This object should be spread into the `components` field of the MUI theme.
106
- */
107
- declare const commonComponentProps: Theme["components"];
108
-
109
- /**
110
- * Generates a custom MUI theme using a primary color, background color, and color mode.
111
- *
112
- * @param primaryColor - The main color used for primary palette.
113
- * @param backgroundColor - Background color (used as secondary). Defaults to dark blue.
114
- * @param mode - MUI palette mode ('light' | 'dark'). Defaults to 'dark'.
115
- * @returns A MUI Theme object.
116
- */
117
- declare const createCustomTheme: (primaryColor: string, backgroundColor?: string, mode?: PaletteMode) => Theme;
118
- /**
119
- * A predefined list of named themes based on the `themeConfig` definition.
120
- */
121
- declare const themes: {
122
- name: string;
123
- MuiTheme: Theme;
124
- }[];
125
- /**
126
- * Determines whether dark mode should be enabled based on user settings and system conditions.
127
- *
128
- * @param darkMode - User preference: 'light' | 'dark' | 'system' | 'auto'.
129
- * @param systemTheme - Detected OS-level theme: 'light' | 'dark'.
130
- * @param backgroundColor - The background color to assess contrast in 'auto' mode.
131
- * @returns True if dark mode should be used.
132
- */
133
- declare const isDarkMode: (darkMode: AppSettings["darkMode"], systemTheme: SystemTheme, backgroundColor: string) => boolean;
134
-
135
- /**
136
- * Injects global styles into the document using Emotion.
137
- * These styles include font setup, base HTML styles, custom scrollbars,
138
- * selection styling, and some accessibility tweaks.
139
- *
140
- * Uses the MUI theme to dynamically adjust colors for light/dark mode.
141
- */
142
- declare const GlobalStyles: FC;
143
-
144
- /**
145
- * Fade in from the left with slight movement on the X-axis.
146
- */
147
- declare const fadeInLeft: {
148
- name: string;
149
- styles: string;
150
- anim: 1;
151
- toString: () => string;
152
- } & string;
153
- /**
154
- * Simple fade in animation (opacity only).
155
- */
156
- declare const fadeIn: {
157
- name: string;
158
- styles: string;
159
- anim: 1;
160
- toString: () => string;
161
- } & string;
162
- /**
163
- * Slide in from the left side of the screen.
164
- */
165
- declare const slideIn: {
166
- name: string;
167
- styles: string;
168
- anim: 1;
169
- toString: () => string;
170
- } & string;
171
- /**
172
- * Slide in from the bottom of the screen.
173
- */
174
- declare const slideInBottom: {
175
- name: string;
176
- styles: string;
177
- anim: 1;
178
- toString: () => string;
179
- } & string;
180
- /**
181
- * Scale from 0 to full size.
182
- */
183
- declare const scale: {
184
- name: string;
185
- styles: string;
186
- anim: 1;
187
- toString: () => string;
188
- } & string;
189
- /**
190
- * Creates a pulsating animation using scale and box-shadow.
191
- * Simulates a glowing effect.
192
- *
193
- * @param clr - The base color for the shadow in hex format.
194
- * @param shadowBlur - The maximum spread of the shadow during the pulse (default: 12).
195
- * @returns Emotion keyframes animation.
196
- */
197
- declare const pulseAnimation: (clr: string, shadowBlur?: number) => {
198
- name: string;
199
- styles: string;
200
- anim: 1;
201
- toString: () => string;
202
- } & string;
203
- /**
204
- * Creates a glowing pulse animation using drop-shadow.
205
- * Used in progress or highlight elements.
206
- *
207
- * @param clr - The glow color in hex.
208
- * @returns Emotion keyframes animation.
209
- */
210
- declare const progressPulse: (clr: string) => {
211
- name: string;
212
- styles: string;
213
- anim: 1;
214
- toString: () => string;
215
- } & string;
216
- /**
217
- * A bounce-scale animation used during logout transition.
218
- */
219
- declare const logoutAnimation: {
220
- name: string;
221
- styles: string;
222
- anim: 1;
223
- toString: () => string;
224
- } & string;
225
- /**
226
- * Subtle bounce animation used for install app prompts.
227
- */
228
- declare const installAppAnimation: {
229
- name: string;
230
- styles: string;
231
- anim: 1;
232
- toString: () => string;
233
- } & string;
234
-
235
- declare const ColorPalette: {
236
- readonly fontDark: "#101727";
237
- readonly fontLight: "#f0f0f0";
238
- readonly darkMode: "#383838";
239
- readonly lightMode: "#ffffff";
240
- readonly purple: "#b624ff";
241
- readonly red: "#ff3131";
242
- readonly orange: "#ff9318";
243
- readonly orangeDark: "#ff9500";
244
- };
245
- declare const themeConfig: Record<string, {
246
- primaryColor: string;
247
- secondaryColor?: string;
248
- }>;
249
-
250
- /**
251
- * Default MUI Typography variant-to-element mapping.
252
- * Custom variants are mapped to HTML tags like <p>, <h1>, etc.
253
- */
254
- declare const typographyProps: {
255
- MuiTypography: {
256
- defaultProps: {
257
- variantMapping: {
258
- display_2xl_regular: string;
259
- display_xl_regular: string;
260
- display_lg_regular: string;
261
- display_md_regular: string;
262
- display_sm_regular: string;
263
- display_xs_regular: string;
264
- display_2xl_bold: string;
265
- display_xl_bold: string;
266
- display_lg_bold: string;
267
- display_md_bold: string;
268
- display_sm_bold: string;
269
- display_xs_bold: string;
270
- };
271
- };
272
- };
273
- };
274
- /**
275
- * Custom typography variants.
276
- * Defines font-weight, size, line-height and optionally fallback font.
277
- */
278
- declare const typographyVariants: {
279
- text_xl_regular: {
280
- font: string;
281
- };
282
- text_lg_regular: {
283
- font: string;
284
- };
285
- text_md_regular: {
286
- font: string;
287
- };
288
- text_sm_regular: {
289
- font: string;
290
- };
291
- text_xs_regular: {
292
- font: string;
293
- };
294
- text_2xs_regular: {
295
- font: string;
296
- };
297
- text_xl_bold: {
298
- font: string;
299
- };
300
- text_lg_bold: {
301
- font: string;
302
- };
303
- text_md_bold: {
304
- font: string;
305
- };
306
- text_sm_bold: {
307
- font: string;
308
- };
309
- text_xs_bold: {
310
- font: string;
311
- };
312
- text_2xs_bold: {
313
- font: string;
314
- };
315
- text_xl_semibold: {
316
- font: string;
317
- };
318
- text_lg_semibold: {
319
- font: string;
320
- };
321
- text_md_semibold: {
322
- font: string;
323
- };
324
- text_sm_semibold: {
325
- font: string;
326
- };
327
- text_xs_semibold: {
328
- font: string;
329
- };
330
- text_2xs_semibold: {
331
- font: string;
332
- };
333
- text_xl_thin: {
334
- font: string;
335
- };
336
- text_lg_thin: {
337
- font: string;
338
- };
339
- text_md_thin: {
340
- font: string;
341
- };
342
- text_sm_thin: {
343
- font: string;
344
- };
345
- text_xs_thin: {
346
- font: string;
347
- };
348
- text_2xs_thin: {
349
- font: string;
350
- };
351
- display_2xl_regular: {
352
- font: string;
353
- };
354
- display_xl_regular: {
355
- font: string;
356
- };
357
- display_lg_regular: {
358
- font: string;
359
- };
360
- display_md_regular: {
361
- font: string;
362
- };
363
- display_sm_regular: {
364
- font: string;
365
- };
366
- display_xs_regular: {
367
- font: string;
368
- };
369
- display_2xl_bold: {
370
- font: string;
371
- };
372
- display_xl_bold: {
373
- font: string;
374
- };
375
- display_lg_bold: {
376
- font: string;
377
- };
378
- display_md_bold: {
379
- font: string;
380
- };
381
- display_sm_bold: {
382
- font: string;
383
- };
384
- display_xs_bold: {
385
- font: string;
386
- };
387
- };
388
-
389
- /**
390
- * Returns a greeting based on the current time.
391
- * @returns {string} The appropriate greeting.
392
- */
393
- declare const displayGreeting: () => string;
394
-
395
- /**
396
- * Function to extract year, month, and day from a Date object
397
- */
398
- declare const getDayIdentifier: (date: Date) => string;
399
-
400
- /**
401
- * A list of supported operating systems.
402
- */
403
- type OperatingSystem = "Windows" | "macOS" | "Linux" | "iOS" | "Android" | "Unknown";
404
- /**
405
- * A list of supported browsers.
406
- */
407
- type Browser = "Chrome" | "Firefox" | "Safari" | "Edge" | "Unknown";
408
- /**
409
- * Basic information about the user's system (OS and browser).
410
- */
411
- declare const systemInfo: {
412
- os: OperatingSystem;
413
- browser: Browser;
414
- };
415
-
416
- /**
417
- * Converts a given date to a human-readable relative time string.
418
- *
419
- * @param {Date} date - The date to be converted.
420
- * @param lang
421
- * @returns {string} A string representing the relative time using `Intl` format (e.g., "2 days ago").
422
- */
423
- declare const timeAgo: (date: Date, lang?: string) => string;
424
- declare const timeAgoFromStart: (date: Date, lang?: string) => string;
425
-
426
- /**
427
- * A custom React hook to determine if the current device is a smaller device
428
- * based on the screen width.
429
- * @param [breakpoint=768] - The breakpoint in pixels at which a device is considered "smaller".
430
- * @returns {boolean} - A boolean value indicating whether the current device is a smaller device.
431
- */
432
- declare const useResponsiveDisplay: (breakpoint?: number) => boolean;
433
-
434
- /**
435
- * A React hook to detect the system theme preference.
436
- * @returns The current system theme ('light', 'dark', or 'unknown').
437
- */
438
- declare const useSystemTheme: () => SystemTheme;
439
-
440
- export { type AppSettings, ColorPalette, type DarkModeOptions, DialogBtn, ErrorBoundary, GlobalStyles, Loading, PathName, type SystemTheme, type ThemeContextProps, ThemeProviderWrapper, commonComponentProps, createCustomTheme, displayGreeting, fadeIn, fadeInLeft, getDayIdentifier, getFontColor, installAppAnimation, isDarkMode, isFontLight, isHexColor, logoutAnimation, progressPulse, pulseAnimation, scale, slideIn, slideInBottom, systemInfo, themeConfig, themes, timeAgo, timeAgoFromStart, typographyProps, typographyVariants, useResponsiveDisplay, useSystemTheme, useThemeSettings };
package/dist/index.d.ts DELETED
@@ -1,440 +0,0 @@
1
- import * as _emotion_styled from '@emotion/styled';
2
- import * as _emotion_react from '@emotion/react';
3
- import * as React$1 from 'react';
4
- import React__default, { ErrorInfo, FC, PropsWithChildren } from 'react';
5
- import * as _mui_material_OverridableComponent from '@mui/material/OverridableComponent';
6
- import * as _mui_material from '@mui/material';
7
- import { Theme, PaletteMode } from '@mui/material';
8
- import * as react_jsx_runtime from 'react/jsx-runtime';
9
-
10
- declare const DialogBtn: _emotion_styled.StyledComponent<_mui_material.ButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<React$1.DetailedHTMLProps<React$1.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "style" | "className" | "classes" | "action" | "centerRipple" | "children" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "sx" | "tabIndex" | "TouchRippleProps" | "touchRippleRef" | "href" | "color" | "disableElevation" | "disableFocusRipple" | "endIcon" | "fullWidth" | "loading" | "loadingIndicator" | "loadingPosition" | "size" | "startIcon" | "variant"> & {
11
- theme?: _emotion_react.Theme;
12
- }, {}, {}>;
13
-
14
- interface ErrorBoundaryProps {
15
- children: React__default.ReactNode;
16
- }
17
- interface ErrorBoundaryState {
18
- hasError: boolean;
19
- error?: Error;
20
- }
21
- /**
22
- * ErrorBoundary component that catches and displays errors.
23
- */
24
- declare class ErrorBoundary extends React__default.Component<ErrorBoundaryProps, ErrorBoundaryState> {
25
- constructor(props: ErrorBoundaryProps);
26
- static getDerivedStateFromError(error: Error): ErrorBoundaryState;
27
- componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
28
- render(): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
29
- }
30
-
31
- declare const Loading: () => react_jsx_runtime.JSX.Element;
32
-
33
- declare const PathName: _emotion_styled.StyledComponent<{
34
- theme?: _emotion_react.Theme;
35
- as?: React.ElementType;
36
- }, React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLElement>, HTMLElement>, {}>;
37
-
38
- /**
39
- * Available options for dark mode configuration.
40
- * - `system`: Follows the operating system preference.
41
- * - `auto`: Uses contrast-based detection (e.g., based on background color).
42
- * - `light`: Forces light mode.
43
- * - `dark`: Forces dark mode.
44
- */
45
- type DarkModeOptions = "system" | "auto" | "light" | "dark";
46
- /**
47
- * Represents user-specific theme preferences stored in the application.
48
- */
49
- interface AppSettings {
50
- /**
51
- * The selected theme name. `"system"` indicates the app should follow system preference.
52
- * Other values are custom theme names defined by the application.
53
- */
54
- theme: "system" | (string & {});
55
- /**
56
- * Controls how dark mode is applied in the app.
57
- */
58
- darkMode: DarkModeOptions;
59
- }
60
- interface ThemeContextProps {
61
- theme: string;
62
- darkMode: DarkModeOptions;
63
- setTheme: (theme: string) => void;
64
- setDarkMode: (mode: DarkModeOptions) => void;
65
- }
66
-
67
- /**
68
- * Represents the theme mode as reported by the operating system or browser.
69
- * - `light`: Light mode
70
- * - `dark`: Dark mode
71
- * - `unknown`: Theme mode could not be determined
72
- */
73
- type SystemTheme = "light" | "dark" | "unknown";
74
-
75
- declare const useThemeSettings: () => ThemeContextProps;
76
-
77
- declare const ThemeProviderWrapper: FC<PropsWithChildren>;
78
-
79
- /**
80
- * Validates whether a given string is a valid 3- or 6-digit hex color code (e.g., "#fff" or "#ffffff").
81
- *
82
- * @param value - The string to check.
83
- * @returns `true` if the string is a valid hex color; otherwise, `false`.
84
- */
85
- declare const isHexColor: (value: string) => boolean;
86
- /**
87
- * Determines the ideal font color (white or black) for contrast against a given background color.
88
- *
89
- * Uses luminance calculation (YIQ) to ensure accessibility and visual clarity.
90
- *
91
- * @param backgroundColor - A valid hex color (e.g., "#ffffff").
92
- * @returns A hex color string (`fontLight` or `fontDark`) suitable for overlay text.
93
- */
94
- declare const getFontColor: (backgroundColor: string) => string;
95
- /**
96
- * Determines whether the ideal font color for a background is light (i.e., white).
97
- *
98
- * @param color - The background color in hex.
99
- * @returns `true` if white text is recommended; otherwise, `false`.
100
- */
101
- declare const isFontLight: (color: string) => boolean;
102
-
103
- /**
104
- * Common component style overrides and default props shared across the design system.
105
- * This object should be spread into the `components` field of the MUI theme.
106
- */
107
- declare const commonComponentProps: Theme["components"];
108
-
109
- /**
110
- * Generates a custom MUI theme using a primary color, background color, and color mode.
111
- *
112
- * @param primaryColor - The main color used for primary palette.
113
- * @param backgroundColor - Background color (used as secondary). Defaults to dark blue.
114
- * @param mode - MUI palette mode ('light' | 'dark'). Defaults to 'dark'.
115
- * @returns A MUI Theme object.
116
- */
117
- declare const createCustomTheme: (primaryColor: string, backgroundColor?: string, mode?: PaletteMode) => Theme;
118
- /**
119
- * A predefined list of named themes based on the `themeConfig` definition.
120
- */
121
- declare const themes: {
122
- name: string;
123
- MuiTheme: Theme;
124
- }[];
125
- /**
126
- * Determines whether dark mode should be enabled based on user settings and system conditions.
127
- *
128
- * @param darkMode - User preference: 'light' | 'dark' | 'system' | 'auto'.
129
- * @param systemTheme - Detected OS-level theme: 'light' | 'dark'.
130
- * @param backgroundColor - The background color to assess contrast in 'auto' mode.
131
- * @returns True if dark mode should be used.
132
- */
133
- declare const isDarkMode: (darkMode: AppSettings["darkMode"], systemTheme: SystemTheme, backgroundColor: string) => boolean;
134
-
135
- /**
136
- * Injects global styles into the document using Emotion.
137
- * These styles include font setup, base HTML styles, custom scrollbars,
138
- * selection styling, and some accessibility tweaks.
139
- *
140
- * Uses the MUI theme to dynamically adjust colors for light/dark mode.
141
- */
142
- declare const GlobalStyles: FC;
143
-
144
- /**
145
- * Fade in from the left with slight movement on the X-axis.
146
- */
147
- declare const fadeInLeft: {
148
- name: string;
149
- styles: string;
150
- anim: 1;
151
- toString: () => string;
152
- } & string;
153
- /**
154
- * Simple fade in animation (opacity only).
155
- */
156
- declare const fadeIn: {
157
- name: string;
158
- styles: string;
159
- anim: 1;
160
- toString: () => string;
161
- } & string;
162
- /**
163
- * Slide in from the left side of the screen.
164
- */
165
- declare const slideIn: {
166
- name: string;
167
- styles: string;
168
- anim: 1;
169
- toString: () => string;
170
- } & string;
171
- /**
172
- * Slide in from the bottom of the screen.
173
- */
174
- declare const slideInBottom: {
175
- name: string;
176
- styles: string;
177
- anim: 1;
178
- toString: () => string;
179
- } & string;
180
- /**
181
- * Scale from 0 to full size.
182
- */
183
- declare const scale: {
184
- name: string;
185
- styles: string;
186
- anim: 1;
187
- toString: () => string;
188
- } & string;
189
- /**
190
- * Creates a pulsating animation using scale and box-shadow.
191
- * Simulates a glowing effect.
192
- *
193
- * @param clr - The base color for the shadow in hex format.
194
- * @param shadowBlur - The maximum spread of the shadow during the pulse (default: 12).
195
- * @returns Emotion keyframes animation.
196
- */
197
- declare const pulseAnimation: (clr: string, shadowBlur?: number) => {
198
- name: string;
199
- styles: string;
200
- anim: 1;
201
- toString: () => string;
202
- } & string;
203
- /**
204
- * Creates a glowing pulse animation using drop-shadow.
205
- * Used in progress or highlight elements.
206
- *
207
- * @param clr - The glow color in hex.
208
- * @returns Emotion keyframes animation.
209
- */
210
- declare const progressPulse: (clr: string) => {
211
- name: string;
212
- styles: string;
213
- anim: 1;
214
- toString: () => string;
215
- } & string;
216
- /**
217
- * A bounce-scale animation used during logout transition.
218
- */
219
- declare const logoutAnimation: {
220
- name: string;
221
- styles: string;
222
- anim: 1;
223
- toString: () => string;
224
- } & string;
225
- /**
226
- * Subtle bounce animation used for install app prompts.
227
- */
228
- declare const installAppAnimation: {
229
- name: string;
230
- styles: string;
231
- anim: 1;
232
- toString: () => string;
233
- } & string;
234
-
235
- declare const ColorPalette: {
236
- readonly fontDark: "#101727";
237
- readonly fontLight: "#f0f0f0";
238
- readonly darkMode: "#383838";
239
- readonly lightMode: "#ffffff";
240
- readonly purple: "#b624ff";
241
- readonly red: "#ff3131";
242
- readonly orange: "#ff9318";
243
- readonly orangeDark: "#ff9500";
244
- };
245
- declare const themeConfig: Record<string, {
246
- primaryColor: string;
247
- secondaryColor?: string;
248
- }>;
249
-
250
- /**
251
- * Default MUI Typography variant-to-element mapping.
252
- * Custom variants are mapped to HTML tags like <p>, <h1>, etc.
253
- */
254
- declare const typographyProps: {
255
- MuiTypography: {
256
- defaultProps: {
257
- variantMapping: {
258
- display_2xl_regular: string;
259
- display_xl_regular: string;
260
- display_lg_regular: string;
261
- display_md_regular: string;
262
- display_sm_regular: string;
263
- display_xs_regular: string;
264
- display_2xl_bold: string;
265
- display_xl_bold: string;
266
- display_lg_bold: string;
267
- display_md_bold: string;
268
- display_sm_bold: string;
269
- display_xs_bold: string;
270
- };
271
- };
272
- };
273
- };
274
- /**
275
- * Custom typography variants.
276
- * Defines font-weight, size, line-height and optionally fallback font.
277
- */
278
- declare const typographyVariants: {
279
- text_xl_regular: {
280
- font: string;
281
- };
282
- text_lg_regular: {
283
- font: string;
284
- };
285
- text_md_regular: {
286
- font: string;
287
- };
288
- text_sm_regular: {
289
- font: string;
290
- };
291
- text_xs_regular: {
292
- font: string;
293
- };
294
- text_2xs_regular: {
295
- font: string;
296
- };
297
- text_xl_bold: {
298
- font: string;
299
- };
300
- text_lg_bold: {
301
- font: string;
302
- };
303
- text_md_bold: {
304
- font: string;
305
- };
306
- text_sm_bold: {
307
- font: string;
308
- };
309
- text_xs_bold: {
310
- font: string;
311
- };
312
- text_2xs_bold: {
313
- font: string;
314
- };
315
- text_xl_semibold: {
316
- font: string;
317
- };
318
- text_lg_semibold: {
319
- font: string;
320
- };
321
- text_md_semibold: {
322
- font: string;
323
- };
324
- text_sm_semibold: {
325
- font: string;
326
- };
327
- text_xs_semibold: {
328
- font: string;
329
- };
330
- text_2xs_semibold: {
331
- font: string;
332
- };
333
- text_xl_thin: {
334
- font: string;
335
- };
336
- text_lg_thin: {
337
- font: string;
338
- };
339
- text_md_thin: {
340
- font: string;
341
- };
342
- text_sm_thin: {
343
- font: string;
344
- };
345
- text_xs_thin: {
346
- font: string;
347
- };
348
- text_2xs_thin: {
349
- font: string;
350
- };
351
- display_2xl_regular: {
352
- font: string;
353
- };
354
- display_xl_regular: {
355
- font: string;
356
- };
357
- display_lg_regular: {
358
- font: string;
359
- };
360
- display_md_regular: {
361
- font: string;
362
- };
363
- display_sm_regular: {
364
- font: string;
365
- };
366
- display_xs_regular: {
367
- font: string;
368
- };
369
- display_2xl_bold: {
370
- font: string;
371
- };
372
- display_xl_bold: {
373
- font: string;
374
- };
375
- display_lg_bold: {
376
- font: string;
377
- };
378
- display_md_bold: {
379
- font: string;
380
- };
381
- display_sm_bold: {
382
- font: string;
383
- };
384
- display_xs_bold: {
385
- font: string;
386
- };
387
- };
388
-
389
- /**
390
- * Returns a greeting based on the current time.
391
- * @returns {string} The appropriate greeting.
392
- */
393
- declare const displayGreeting: () => string;
394
-
395
- /**
396
- * Function to extract year, month, and day from a Date object
397
- */
398
- declare const getDayIdentifier: (date: Date) => string;
399
-
400
- /**
401
- * A list of supported operating systems.
402
- */
403
- type OperatingSystem = "Windows" | "macOS" | "Linux" | "iOS" | "Android" | "Unknown";
404
- /**
405
- * A list of supported browsers.
406
- */
407
- type Browser = "Chrome" | "Firefox" | "Safari" | "Edge" | "Unknown";
408
- /**
409
- * Basic information about the user's system (OS and browser).
410
- */
411
- declare const systemInfo: {
412
- os: OperatingSystem;
413
- browser: Browser;
414
- };
415
-
416
- /**
417
- * Converts a given date to a human-readable relative time string.
418
- *
419
- * @param {Date} date - The date to be converted.
420
- * @param lang
421
- * @returns {string} A string representing the relative time using `Intl` format (e.g., "2 days ago").
422
- */
423
- declare const timeAgo: (date: Date, lang?: string) => string;
424
- declare const timeAgoFromStart: (date: Date, lang?: string) => string;
425
-
426
- /**
427
- * A custom React hook to determine if the current device is a smaller device
428
- * based on the screen width.
429
- * @param [breakpoint=768] - The breakpoint in pixels at which a device is considered "smaller".
430
- * @returns {boolean} - A boolean value indicating whether the current device is a smaller device.
431
- */
432
- declare const useResponsiveDisplay: (breakpoint?: number) => boolean;
433
-
434
- /**
435
- * A React hook to detect the system theme preference.
436
- * @returns The current system theme ('light', 'dark', or 'unknown').
437
- */
438
- declare const useSystemTheme: () => SystemTheme;
439
-
440
- export { type AppSettings, ColorPalette, type DarkModeOptions, DialogBtn, ErrorBoundary, GlobalStyles, Loading, PathName, type SystemTheme, type ThemeContextProps, ThemeProviderWrapper, commonComponentProps, createCustomTheme, displayGreeting, fadeIn, fadeInLeft, getDayIdentifier, getFontColor, installAppAnimation, isDarkMode, isFontLight, isHexColor, logoutAnimation, progressPulse, pulseAnimation, scale, slideIn, slideInBottom, systemInfo, themeConfig, themes, timeAgo, timeAgoFromStart, typographyProps, typographyVariants, useResponsiveDisplay, useSystemTheme, useThemeSettings };