analytica-frontend-lib 1.1.68 → 1.1.70
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/Accordation/index.js +3 -3
- package/dist/Accordation/index.js.map +1 -1
- package/dist/Accordation/index.mjs +3 -3
- package/dist/Accordation/index.mjs.map +1 -1
- package/dist/Alert/index.js.map +1 -1
- package/dist/Alert/index.mjs.map +1 -1
- package/dist/AlertDialog/index.js.map +1 -1
- package/dist/AlertDialog/index.mjs.map +1 -1
- package/dist/Alternative/index.js.map +1 -1
- package/dist/Alternative/index.mjs.map +1 -1
- package/dist/Badge/index.js.map +1 -1
- package/dist/Badge/index.mjs.map +1 -1
- package/dist/Button/index.js.map +1 -1
- package/dist/Button/index.mjs.map +1 -1
- package/dist/Calendar/index.js +1 -1
- package/dist/Calendar/index.js.map +1 -1
- package/dist/Calendar/index.mjs +1 -1
- package/dist/Calendar/index.mjs.map +1 -1
- package/dist/Card/index.js +3 -3
- package/dist/Card/index.js.map +1 -1
- package/dist/Card/index.mjs +3 -3
- package/dist/Card/index.mjs.map +1 -1
- package/dist/CheckBox/index.js.map +1 -1
- package/dist/CheckBox/index.mjs.map +1 -1
- package/dist/Chips/index.js.map +1 -1
- package/dist/Chips/index.mjs.map +1 -1
- package/dist/Divider/index.js.map +1 -1
- package/dist/Divider/index.mjs.map +1 -1
- package/dist/DropdownMenu/index.js +110 -75
- package/dist/DropdownMenu/index.js.map +1 -1
- package/dist/DropdownMenu/index.mjs +114 -79
- package/dist/DropdownMenu/index.mjs.map +1 -1
- package/dist/IconButton/index.js.map +1 -1
- package/dist/IconButton/index.mjs.map +1 -1
- package/dist/IconRoundedButton/index.js.map +1 -1
- package/dist/IconRoundedButton/index.mjs.map +1 -1
- package/dist/Menu/index.js.map +1 -1
- package/dist/Menu/index.mjs.map +1 -1
- package/dist/Modal/index.js.map +1 -1
- package/dist/Modal/index.mjs.map +1 -1
- package/dist/MultipleChoice/index.js.map +1 -1
- package/dist/MultipleChoice/index.mjs.map +1 -1
- package/dist/NavButton/index.js.map +1 -1
- package/dist/NavButton/index.mjs.map +1 -1
- package/dist/NotFound/index.js.map +1 -1
- package/dist/NotFound/index.mjs.map +1 -1
- package/dist/NotificationCard/index.js +112 -77
- package/dist/NotificationCard/index.js.map +1 -1
- package/dist/NotificationCard/index.mjs +123 -88
- package/dist/NotificationCard/index.mjs.map +1 -1
- package/dist/ProgressBar/index.js.map +1 -1
- package/dist/ProgressBar/index.mjs.map +1 -1
- package/dist/ProgressCircle/index.js.map +1 -1
- package/dist/ProgressCircle/index.mjs.map +1 -1
- package/dist/Quiz/index.js +4 -4
- package/dist/Quiz/index.js.map +1 -1
- package/dist/Quiz/index.mjs +4 -4
- package/dist/Quiz/index.mjs.map +1 -1
- package/dist/Radio/index.js.map +1 -1
- package/dist/Radio/index.mjs.map +1 -1
- package/dist/Search/index.js +110 -75
- package/dist/Search/index.js.map +1 -1
- package/dist/Search/index.mjs +119 -84
- package/dist/Search/index.mjs.map +1 -1
- package/dist/Select/index.js.map +1 -1
- package/dist/Select/index.mjs.map +1 -1
- package/dist/SelectionButton/index.js.map +1 -1
- package/dist/SelectionButton/index.mjs.map +1 -1
- package/dist/Skeleton/index.js.map +1 -1
- package/dist/Skeleton/index.mjs.map +1 -1
- package/dist/Stepper/index.js.map +1 -1
- package/dist/Stepper/index.mjs.map +1 -1
- package/dist/Table/index.js.map +1 -1
- package/dist/Table/index.mjs.map +1 -1
- package/dist/Text/index.js.map +1 -1
- package/dist/Text/index.mjs.map +1 -1
- package/dist/TextArea/index.js.map +1 -1
- package/dist/TextArea/index.mjs.map +1 -1
- package/dist/ThemeToggle/index.d.mts +3 -1
- package/dist/ThemeToggle/index.d.ts +3 -1
- package/dist/ThemeToggle/index.js +102 -67
- package/dist/ThemeToggle/index.js.map +1 -1
- package/dist/ThemeToggle/index.mjs +105 -70
- package/dist/ThemeToggle/index.mjs.map +1 -1
- package/dist/Toast/Toaster/index.js.map +1 -1
- package/dist/Toast/Toaster/index.mjs.map +1 -1
- package/dist/Toast/index.js.map +1 -1
- package/dist/Toast/index.mjs.map +1 -1
- package/dist/VideoPlayer/index.js.map +1 -1
- package/dist/VideoPlayer/index.mjs.map +1 -1
- package/dist/Whiteboard/index.js +1 -1
- package/dist/Whiteboard/index.js.map +1 -1
- package/dist/Whiteboard/index.mjs +1 -1
- package/dist/Whiteboard/index.mjs.map +1 -1
- package/dist/hooks/useTheme/index.d.mts +6 -2
- package/dist/hooks/useTheme/index.d.ts +6 -2
- package/dist/hooks/useTheme/index.js +102 -67
- package/dist/hooks/useTheme/index.js.map +1 -1
- package/dist/hooks/useTheme/index.mjs +103 -68
- package/dist/hooks/useTheme/index.mjs.map +1 -1
- package/dist/index.css +3 -4
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +138 -101
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +257 -221
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +3 -4
- package/dist/styles.css.map +1 -1
- package/dist/themeStore-P2X64zC-.d.mts +79 -0
- package/dist/themeStore-P2X64zC-.d.ts +79 -0
- package/dist/utils/index.d.mts +10 -1
- package/dist/utils/index.d.ts +10 -1
- package/dist/utils/index.js +24 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +22 -1
- package/dist/utils/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as zustand_middleware from 'zustand/middleware';
|
|
2
|
+
import * as zustand from 'zustand';
|
|
3
|
+
|
|
4
|
+
type ThemeMode = 'light' | 'dark' | 'system';
|
|
5
|
+
/**
|
|
6
|
+
* Theme store state interface
|
|
7
|
+
*/
|
|
8
|
+
interface ThemeState {
|
|
9
|
+
/**
|
|
10
|
+
* Current theme mode
|
|
11
|
+
*/
|
|
12
|
+
themeMode: ThemeMode;
|
|
13
|
+
/**
|
|
14
|
+
* Whether the current theme is dark
|
|
15
|
+
*/
|
|
16
|
+
isDark: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Theme store actions interface
|
|
20
|
+
*/
|
|
21
|
+
interface ThemeActions {
|
|
22
|
+
/**
|
|
23
|
+
* Apply theme based on the mode selected
|
|
24
|
+
*/
|
|
25
|
+
applyTheme: (mode: ThemeMode) => void;
|
|
26
|
+
/**
|
|
27
|
+
* Toggle between themes
|
|
28
|
+
*/
|
|
29
|
+
toggleTheme: () => void;
|
|
30
|
+
/**
|
|
31
|
+
* Set a specific theme mode
|
|
32
|
+
*/
|
|
33
|
+
setTheme: (mode: ThemeMode) => void;
|
|
34
|
+
/**
|
|
35
|
+
* Initialize theme on app start
|
|
36
|
+
*/
|
|
37
|
+
initializeTheme: () => void;
|
|
38
|
+
/**
|
|
39
|
+
* Handle system theme change
|
|
40
|
+
*/
|
|
41
|
+
handleSystemThemeChange: () => void;
|
|
42
|
+
}
|
|
43
|
+
type ThemeStore = ThemeState & ThemeActions;
|
|
44
|
+
/**
|
|
45
|
+
* Theme store using Zustand with persistence
|
|
46
|
+
*/
|
|
47
|
+
declare const useThemeStore: zustand.UseBoundStore<Omit<Omit<zustand.StoreApi<ThemeStore>, "setState" | "devtools"> & {
|
|
48
|
+
setState(partial: ThemeStore | Partial<ThemeStore> | ((state: ThemeStore) => ThemeStore | Partial<ThemeStore>), replace?: false | undefined, action?: (string | {
|
|
49
|
+
[x: string]: unknown;
|
|
50
|
+
[x: number]: unknown;
|
|
51
|
+
[x: symbol]: unknown;
|
|
52
|
+
type: string;
|
|
53
|
+
}) | undefined): void;
|
|
54
|
+
setState(state: ThemeStore | ((state: ThemeStore) => ThemeStore), replace: true, action?: (string | {
|
|
55
|
+
[x: string]: unknown;
|
|
56
|
+
[x: number]: unknown;
|
|
57
|
+
[x: symbol]: unknown;
|
|
58
|
+
type: string;
|
|
59
|
+
}) | undefined): void;
|
|
60
|
+
devtools: {
|
|
61
|
+
cleanup: () => void;
|
|
62
|
+
};
|
|
63
|
+
}, "persist"> & {
|
|
64
|
+
persist: {
|
|
65
|
+
setOptions: (options: Partial<zustand_middleware.PersistOptions<ThemeStore, {
|
|
66
|
+
themeMode: ThemeMode;
|
|
67
|
+
}>>) => void;
|
|
68
|
+
clearStorage: () => void;
|
|
69
|
+
rehydrate: () => Promise<void> | void;
|
|
70
|
+
hasHydrated: () => boolean;
|
|
71
|
+
onHydrate: (fn: (state: ThemeStore) => void) => () => void;
|
|
72
|
+
onFinishHydration: (fn: (state: ThemeStore) => void) => () => void;
|
|
73
|
+
getOptions: () => Partial<zustand_middleware.PersistOptions<ThemeStore, {
|
|
74
|
+
themeMode: ThemeMode;
|
|
75
|
+
}>>;
|
|
76
|
+
};
|
|
77
|
+
}>;
|
|
78
|
+
|
|
79
|
+
export { type ThemeMode as T, type ThemeStore as a, type ThemeState as b, type ThemeActions as c, useThemeStore as u };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as zustand_middleware from 'zustand/middleware';
|
|
2
|
+
import * as zustand from 'zustand';
|
|
3
|
+
|
|
4
|
+
type ThemeMode = 'light' | 'dark' | 'system';
|
|
5
|
+
/**
|
|
6
|
+
* Theme store state interface
|
|
7
|
+
*/
|
|
8
|
+
interface ThemeState {
|
|
9
|
+
/**
|
|
10
|
+
* Current theme mode
|
|
11
|
+
*/
|
|
12
|
+
themeMode: ThemeMode;
|
|
13
|
+
/**
|
|
14
|
+
* Whether the current theme is dark
|
|
15
|
+
*/
|
|
16
|
+
isDark: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Theme store actions interface
|
|
20
|
+
*/
|
|
21
|
+
interface ThemeActions {
|
|
22
|
+
/**
|
|
23
|
+
* Apply theme based on the mode selected
|
|
24
|
+
*/
|
|
25
|
+
applyTheme: (mode: ThemeMode) => void;
|
|
26
|
+
/**
|
|
27
|
+
* Toggle between themes
|
|
28
|
+
*/
|
|
29
|
+
toggleTheme: () => void;
|
|
30
|
+
/**
|
|
31
|
+
* Set a specific theme mode
|
|
32
|
+
*/
|
|
33
|
+
setTheme: (mode: ThemeMode) => void;
|
|
34
|
+
/**
|
|
35
|
+
* Initialize theme on app start
|
|
36
|
+
*/
|
|
37
|
+
initializeTheme: () => void;
|
|
38
|
+
/**
|
|
39
|
+
* Handle system theme change
|
|
40
|
+
*/
|
|
41
|
+
handleSystemThemeChange: () => void;
|
|
42
|
+
}
|
|
43
|
+
type ThemeStore = ThemeState & ThemeActions;
|
|
44
|
+
/**
|
|
45
|
+
* Theme store using Zustand with persistence
|
|
46
|
+
*/
|
|
47
|
+
declare const useThemeStore: zustand.UseBoundStore<Omit<Omit<zustand.StoreApi<ThemeStore>, "setState" | "devtools"> & {
|
|
48
|
+
setState(partial: ThemeStore | Partial<ThemeStore> | ((state: ThemeStore) => ThemeStore | Partial<ThemeStore>), replace?: false | undefined, action?: (string | {
|
|
49
|
+
[x: string]: unknown;
|
|
50
|
+
[x: number]: unknown;
|
|
51
|
+
[x: symbol]: unknown;
|
|
52
|
+
type: string;
|
|
53
|
+
}) | undefined): void;
|
|
54
|
+
setState(state: ThemeStore | ((state: ThemeStore) => ThemeStore), replace: true, action?: (string | {
|
|
55
|
+
[x: string]: unknown;
|
|
56
|
+
[x: number]: unknown;
|
|
57
|
+
[x: symbol]: unknown;
|
|
58
|
+
type: string;
|
|
59
|
+
}) | undefined): void;
|
|
60
|
+
devtools: {
|
|
61
|
+
cleanup: () => void;
|
|
62
|
+
};
|
|
63
|
+
}, "persist"> & {
|
|
64
|
+
persist: {
|
|
65
|
+
setOptions: (options: Partial<zustand_middleware.PersistOptions<ThemeStore, {
|
|
66
|
+
themeMode: ThemeMode;
|
|
67
|
+
}>>) => void;
|
|
68
|
+
clearStorage: () => void;
|
|
69
|
+
rehydrate: () => Promise<void> | void;
|
|
70
|
+
hasHydrated: () => boolean;
|
|
71
|
+
onHydrate: (fn: (state: ThemeStore) => void) => () => void;
|
|
72
|
+
onFinishHydration: (fn: (state: ThemeStore) => void) => () => void;
|
|
73
|
+
getOptions: () => Partial<zustand_middleware.PersistOptions<ThemeStore, {
|
|
74
|
+
themeMode: ThemeMode;
|
|
75
|
+
}>>;
|
|
76
|
+
};
|
|
77
|
+
}>;
|
|
78
|
+
|
|
79
|
+
export { type ThemeMode as T, type ThemeStore as a, type ThemeState as b, type ThemeActions as c, useThemeStore as u };
|
package/dist/utils/index.d.mts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { ClassValue } from 'clsx';
|
|
2
2
|
|
|
3
3
|
declare function cn(...inputs: ClassValue[]): string;
|
|
4
|
+
/**
|
|
5
|
+
* Retorna a cor hexadecimal com opacidade 0.7 (b3) se não estiver em dark mode.
|
|
6
|
+
* Se estiver em dark mode, retorna a cor original.
|
|
7
|
+
*
|
|
8
|
+
* @param hexColor - Cor hexadecimal (ex: "#0066b8" ou "0066b8")
|
|
9
|
+
* @param isDark - booleano indicando se está em dark mode
|
|
10
|
+
* @returns string - cor hexadecimal com opacidade se necessário
|
|
11
|
+
*/
|
|
12
|
+
declare function getSubjectColorWithOpacity(hexColor: string | undefined, isDark: boolean): string | undefined;
|
|
4
13
|
|
|
5
|
-
export { cn };
|
|
14
|
+
export { cn, getSubjectColorWithOpacity };
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { ClassValue } from 'clsx';
|
|
2
2
|
|
|
3
3
|
declare function cn(...inputs: ClassValue[]): string;
|
|
4
|
+
/**
|
|
5
|
+
* Retorna a cor hexadecimal com opacidade 0.7 (b3) se não estiver em dark mode.
|
|
6
|
+
* Se estiver em dark mode, retorna a cor original.
|
|
7
|
+
*
|
|
8
|
+
* @param hexColor - Cor hexadecimal (ex: "#0066b8" ou "0066b8")
|
|
9
|
+
* @param isDark - booleano indicando se está em dark mode
|
|
10
|
+
* @returns string - cor hexadecimal com opacidade se necessário
|
|
11
|
+
*/
|
|
12
|
+
declare function getSubjectColorWithOpacity(hexColor: string | undefined, isDark: boolean): string | undefined;
|
|
4
13
|
|
|
5
|
-
export { cn };
|
|
14
|
+
export { cn, getSubjectColorWithOpacity };
|
package/dist/utils/index.js
CHANGED
|
@@ -20,7 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/utils/utils.ts
|
|
21
21
|
var utils_exports = {};
|
|
22
22
|
__export(utils_exports, {
|
|
23
|
-
cn: () => cn
|
|
23
|
+
cn: () => cn,
|
|
24
|
+
getSubjectColorWithOpacity: () => getSubjectColorWithOpacity
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(utils_exports);
|
|
26
27
|
var import_clsx = require("clsx");
|
|
@@ -28,8 +29,29 @@ var import_tailwind_merge = require("tailwind-merge");
|
|
|
28
29
|
function cn(...inputs) {
|
|
29
30
|
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
30
31
|
}
|
|
32
|
+
function getSubjectColorWithOpacity(hexColor, isDark) {
|
|
33
|
+
if (!hexColor) return void 0;
|
|
34
|
+
let color = hexColor.replace(/^#/, "").toLowerCase();
|
|
35
|
+
if (isDark) {
|
|
36
|
+
if (color.length === 8) {
|
|
37
|
+
color = color.slice(0, 6);
|
|
38
|
+
}
|
|
39
|
+
return `#${color}`;
|
|
40
|
+
} else {
|
|
41
|
+
let resultColor;
|
|
42
|
+
if (color.length === 6) {
|
|
43
|
+
resultColor = `#${color}b3`;
|
|
44
|
+
} else if (color.length === 8) {
|
|
45
|
+
resultColor = `#${color}`;
|
|
46
|
+
} else {
|
|
47
|
+
resultColor = `#${color}`;
|
|
48
|
+
}
|
|
49
|
+
return resultColor;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
31
52
|
// Annotate the CommonJS export names for ESM import in node:
|
|
32
53
|
0 && (module.exports = {
|
|
33
|
-
cn
|
|
54
|
+
cn,
|
|
55
|
+
getSubjectColorWithOpacity
|
|
34
56
|
});
|
|
35
57
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n/**\n * Retorna a cor hexadecimal com opacidade 0.7 (b3) se não estiver em dark mode.\n * Se estiver em dark mode, retorna a cor original.\n *\n * @param hexColor - Cor hexadecimal (ex: \"#0066b8\" ou \"0066b8\")\n * @param isDark - booleano indicando se está em dark mode\n * @returns string - cor hexadecimal com opacidade se necessário\n */\nexport function getSubjectColorWithOpacity(\n hexColor: string | undefined,\n isDark: boolean\n): string | undefined {\n if (!hexColor) return undefined;\n // Remove o '#' se existir\n let color = hexColor.replace(/^#/, '').toLowerCase();\n\n if (isDark) {\n // Se está em dark mode, sempre remove opacidade se existir\n if (color.length === 8) {\n color = color.slice(0, 6);\n }\n return `#${color}`;\n } else {\n // Se não está em dark mode (light mode)\n let resultColor: string;\n if (color.length === 6) {\n // Adiciona opacidade 0.7 (b3) para cores de 6 dígitos\n resultColor = `#${color}b3`;\n } else if (color.length === 8) {\n // Já tem opacidade, retorna como está\n resultColor = `#${color}`;\n } else {\n // Para outros tamanhos (3, 4, 5 dígitos), retorna como está\n resultColor = `#${color}`;\n }\n return resultColor;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;AAUO,SAAS,2BACd,UACA,QACoB;AACpB,MAAI,CAAC,SAAU,QAAO;AAEtB,MAAI,QAAQ,SAAS,QAAQ,MAAM,EAAE,EAAE,YAAY;AAEnD,MAAI,QAAQ;AAEV,QAAI,MAAM,WAAW,GAAG;AACtB,cAAQ,MAAM,MAAM,GAAG,CAAC;AAAA,IAC1B;AACA,WAAO,IAAI,KAAK;AAAA,EAClB,OAAO;AAEL,QAAI;AACJ,QAAI,MAAM,WAAW,GAAG;AAEtB,oBAAc,IAAI,KAAK;AAAA,IACzB,WAAW,MAAM,WAAW,GAAG;AAE7B,oBAAc,IAAI,KAAK;AAAA,IACzB,OAAO;AAEL,oBAAc,IAAI,KAAK;AAAA,IACzB;AACA,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/dist/utils/index.mjs
CHANGED
|
@@ -4,7 +4,28 @@ import { twMerge } from "tailwind-merge";
|
|
|
4
4
|
function cn(...inputs) {
|
|
5
5
|
return twMerge(clsx(inputs));
|
|
6
6
|
}
|
|
7
|
+
function getSubjectColorWithOpacity(hexColor, isDark) {
|
|
8
|
+
if (!hexColor) return void 0;
|
|
9
|
+
let color = hexColor.replace(/^#/, "").toLowerCase();
|
|
10
|
+
if (isDark) {
|
|
11
|
+
if (color.length === 8) {
|
|
12
|
+
color = color.slice(0, 6);
|
|
13
|
+
}
|
|
14
|
+
return `#${color}`;
|
|
15
|
+
} else {
|
|
16
|
+
let resultColor;
|
|
17
|
+
if (color.length === 6) {
|
|
18
|
+
resultColor = `#${color}b3`;
|
|
19
|
+
} else if (color.length === 8) {
|
|
20
|
+
resultColor = `#${color}`;
|
|
21
|
+
} else {
|
|
22
|
+
resultColor = `#${color}`;
|
|
23
|
+
}
|
|
24
|
+
return resultColor;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
7
27
|
export {
|
|
8
|
-
cn
|
|
28
|
+
cn,
|
|
29
|
+
getSubjectColorWithOpacity
|
|
9
30
|
};
|
|
10
31
|
//# sourceMappingURL=index.mjs.map
|
package/dist/utils/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";AAAA,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n/**\n * Retorna a cor hexadecimal com opacidade 0.7 (b3) se não estiver em dark mode.\n * Se estiver em dark mode, retorna a cor original.\n *\n * @param hexColor - Cor hexadecimal (ex: \"#0066b8\" ou \"0066b8\")\n * @param isDark - booleano indicando se está em dark mode\n * @returns string - cor hexadecimal com opacidade se necessário\n */\nexport function getSubjectColorWithOpacity(\n hexColor: string | undefined,\n isDark: boolean\n): string | undefined {\n if (!hexColor) return undefined;\n // Remove o '#' se existir\n let color = hexColor.replace(/^#/, '').toLowerCase();\n\n if (isDark) {\n // Se está em dark mode, sempre remove opacidade se existir\n if (color.length === 8) {\n color = color.slice(0, 6);\n }\n return `#${color}`;\n } else {\n // Se não está em dark mode (light mode)\n let resultColor: string;\n if (color.length === 6) {\n // Adiciona opacidade 0.7 (b3) para cores de 6 dígitos\n resultColor = `#${color}b3`;\n } else if (color.length === 8) {\n // Já tem opacidade, retorna como está\n resultColor = `#${color}`;\n } else {\n // Para outros tamanhos (3, 4, 5 dígitos), retorna como está\n resultColor = `#${color}`;\n }\n return resultColor;\n }\n}\n"],"mappings":";AAAA,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;AAUO,SAAS,2BACd,UACA,QACoB;AACpB,MAAI,CAAC,SAAU,QAAO;AAEtB,MAAI,QAAQ,SAAS,QAAQ,MAAM,EAAE,EAAE,YAAY;AAEnD,MAAI,QAAQ;AAEV,QAAI,MAAM,WAAW,GAAG;AACtB,cAAQ,MAAM,MAAM,GAAG,CAAC;AAAA,IAC1B;AACA,WAAO,IAAI,KAAK;AAAA,EAClB,OAAO;AAEL,QAAI;AACJ,QAAI,MAAM,WAAW,GAAG;AAEtB,oBAAc,IAAI,KAAK;AAAA,IACzB,WAAW,MAAM,WAAW,GAAG;AAE7B,oBAAc,IAAI,KAAK;AAAA,IACzB,OAAO;AAEL,oBAAc,IAAI,KAAK;AAAA,IACzB;AACA,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/package.json
CHANGED