analytica-frontend-lib 1.1.67 → 1.1.69
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/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/Menu/index.js +1 -1
- package/dist/Menu/index.js.map +1 -1
- package/dist/Menu/index.mjs +1 -1
- package/dist/Menu/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/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/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/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 +2 -2
- 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 +133 -96
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +252 -216
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +2 -2
- package/dist/styles.css.map +1 -1
- package/dist/themeStore-P2X64zC-.d.mts +79 -0
- package/dist/themeStore-P2X64zC-.d.ts +79 -0
- package/package.json +1 -1
package/dist/Search/index.mjs
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
import { CaretLeft, X as X2 } from "phosphor-react";
|
|
3
3
|
import {
|
|
4
4
|
forwardRef as forwardRef3,
|
|
5
|
-
useState as
|
|
5
|
+
useState as useState3,
|
|
6
6
|
useId as useId2,
|
|
7
7
|
useMemo,
|
|
8
8
|
useEffect as useEffect5,
|
|
9
|
-
useRef as
|
|
9
|
+
useRef as useRef2
|
|
10
10
|
} from "react";
|
|
11
11
|
|
|
12
12
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
@@ -14,13 +14,13 @@ import { CaretRight, SignOut, User } from "phosphor-react";
|
|
|
14
14
|
import {
|
|
15
15
|
forwardRef as forwardRef2,
|
|
16
16
|
useEffect as useEffect4,
|
|
17
|
-
useRef
|
|
17
|
+
useRef,
|
|
18
18
|
isValidElement,
|
|
19
19
|
Children,
|
|
20
20
|
cloneElement,
|
|
21
|
-
useState as
|
|
21
|
+
useState as useState2
|
|
22
22
|
} from "react";
|
|
23
|
-
import { create, useStore } from "zustand";
|
|
23
|
+
import { create as create2, useStore } from "zustand";
|
|
24
24
|
|
|
25
25
|
// src/utils/utils.ts
|
|
26
26
|
import { clsx } from "clsx";
|
|
@@ -363,7 +363,7 @@ var Modal_default = Modal;
|
|
|
363
363
|
|
|
364
364
|
// src/components/ThemeToggle/ThemeToggle.tsx
|
|
365
365
|
import { Moon, Sun } from "phosphor-react";
|
|
366
|
-
import { useState
|
|
366
|
+
import { useState, useEffect as useEffect3 } from "react";
|
|
367
367
|
|
|
368
368
|
// src/components/SelectionButton/SelectionButton.tsx
|
|
369
369
|
import { forwardRef } from "react";
|
|
@@ -421,83 +421,118 @@ SelectionButton.displayName = "SelectionButton";
|
|
|
421
421
|
var SelectionButton_default = SelectionButton;
|
|
422
422
|
|
|
423
423
|
// src/hooks/useTheme.ts
|
|
424
|
-
import { useEffect as useEffect2
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
424
|
+
import { useEffect as useEffect2 } from "react";
|
|
425
|
+
|
|
426
|
+
// src/store/themeStore.ts
|
|
427
|
+
import { create } from "zustand";
|
|
428
|
+
import { devtools, persist } from "zustand/middleware";
|
|
429
|
+
var applyThemeToDOM = (mode) => {
|
|
430
|
+
const htmlElement = document.documentElement;
|
|
431
|
+
const originalTheme = htmlElement.getAttribute("data-original-theme");
|
|
432
|
+
if (mode === "dark") {
|
|
433
|
+
htmlElement.setAttribute("data-theme", "dark");
|
|
434
|
+
return true;
|
|
435
|
+
} else if (mode === "light") {
|
|
436
|
+
if (originalTheme) {
|
|
437
|
+
htmlElement.setAttribute("data-theme", originalTheme);
|
|
438
|
+
}
|
|
439
|
+
return false;
|
|
440
|
+
} else if (mode === "system") {
|
|
441
|
+
const isSystemDark = window.matchMedia(
|
|
442
|
+
"(prefers-color-scheme: dark)"
|
|
443
|
+
).matches;
|
|
444
|
+
if (isSystemDark) {
|
|
433
445
|
htmlElement.setAttribute("data-theme", "dark");
|
|
434
|
-
|
|
435
|
-
} else if (
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
}
|
|
439
|
-
setIsDark(false);
|
|
440
|
-
} else if (mode === "system") {
|
|
441
|
-
const isSystemDark = window.matchMedia(
|
|
442
|
-
"(prefers-color-scheme: dark)"
|
|
443
|
-
).matches;
|
|
444
|
-
if (isSystemDark) {
|
|
445
|
-
htmlElement.setAttribute("data-theme", "dark");
|
|
446
|
-
setIsDark(true);
|
|
447
|
-
} else if (originalTheme) {
|
|
448
|
-
htmlElement.setAttribute("data-theme", originalTheme);
|
|
449
|
-
setIsDark(false);
|
|
450
|
-
}
|
|
446
|
+
return true;
|
|
447
|
+
} else if (originalTheme) {
|
|
448
|
+
htmlElement.setAttribute("data-theme", originalTheme);
|
|
449
|
+
return false;
|
|
451
450
|
}
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
451
|
+
}
|
|
452
|
+
return false;
|
|
453
|
+
};
|
|
454
|
+
var saveOriginalTheme = () => {
|
|
455
|
+
const htmlElement = document.documentElement;
|
|
456
|
+
const currentTheme = htmlElement.getAttribute("data-theme");
|
|
457
|
+
if (currentTheme && !htmlElement.getAttribute("data-original-theme")) {
|
|
458
|
+
htmlElement.setAttribute("data-original-theme", currentTheme);
|
|
459
|
+
}
|
|
460
|
+
};
|
|
461
|
+
var useThemeStore = create()(
|
|
462
|
+
devtools(
|
|
463
|
+
persist(
|
|
464
|
+
(set, get) => ({
|
|
465
|
+
// Initial state
|
|
466
|
+
themeMode: "system",
|
|
467
|
+
isDark: false,
|
|
468
|
+
// Actions
|
|
469
|
+
applyTheme: (mode) => {
|
|
470
|
+
const isDark = applyThemeToDOM(mode);
|
|
471
|
+
set({ isDark });
|
|
472
|
+
},
|
|
473
|
+
toggleTheme: () => {
|
|
474
|
+
const { themeMode, applyTheme } = get();
|
|
475
|
+
let newMode;
|
|
476
|
+
if (themeMode === "light") {
|
|
477
|
+
newMode = "dark";
|
|
478
|
+
} else if (themeMode === "dark") {
|
|
479
|
+
newMode = "light";
|
|
480
|
+
} else {
|
|
481
|
+
newMode = "dark";
|
|
482
|
+
}
|
|
483
|
+
set({ themeMode: newMode });
|
|
484
|
+
applyTheme(newMode);
|
|
485
|
+
},
|
|
486
|
+
setTheme: (mode) => {
|
|
487
|
+
const { applyTheme } = get();
|
|
488
|
+
set({ themeMode: mode });
|
|
489
|
+
applyTheme(mode);
|
|
490
|
+
},
|
|
491
|
+
initializeTheme: () => {
|
|
492
|
+
const { themeMode, applyTheme } = get();
|
|
493
|
+
saveOriginalTheme();
|
|
494
|
+
applyTheme(themeMode);
|
|
495
|
+
},
|
|
496
|
+
handleSystemThemeChange: () => {
|
|
497
|
+
const { themeMode, applyTheme } = get();
|
|
498
|
+
if (themeMode === "system") {
|
|
499
|
+
applyTheme("system");
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
}),
|
|
503
|
+
{
|
|
504
|
+
name: "theme-store",
|
|
505
|
+
// Nome da chave no localStorage
|
|
506
|
+
partialize: (state) => ({
|
|
507
|
+
themeMode: state.themeMode
|
|
508
|
+
})
|
|
509
|
+
// Só persiste o themeMode, não o isDark
|
|
510
|
+
}
|
|
511
|
+
),
|
|
512
|
+
{
|
|
513
|
+
name: "theme-store"
|
|
461
514
|
}
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
const
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
);
|
|
515
|
+
)
|
|
516
|
+
);
|
|
517
|
+
|
|
518
|
+
// src/hooks/useTheme.ts
|
|
519
|
+
var useTheme = () => {
|
|
520
|
+
const {
|
|
521
|
+
themeMode,
|
|
522
|
+
isDark,
|
|
523
|
+
toggleTheme,
|
|
524
|
+
setTheme,
|
|
525
|
+
initializeTheme,
|
|
526
|
+
handleSystemThemeChange
|
|
527
|
+
} = useThemeStore();
|
|
476
528
|
useEffect2(() => {
|
|
477
|
-
|
|
478
|
-
const currentTheme = htmlElement.getAttribute("data-theme");
|
|
479
|
-
if (currentTheme && !htmlElement.getAttribute("data-original-theme")) {
|
|
480
|
-
htmlElement.setAttribute("data-original-theme", currentTheme);
|
|
481
|
-
}
|
|
482
|
-
const savedThemeMode = localStorage.getItem("theme-mode");
|
|
483
|
-
const initialMode = savedThemeMode || "system";
|
|
484
|
-
if (!savedThemeMode) {
|
|
485
|
-
localStorage.setItem("theme-mode", "system");
|
|
486
|
-
}
|
|
487
|
-
setThemeMode(initialMode);
|
|
488
|
-
themeModeRef.current = initialMode;
|
|
489
|
-
applyTheme(initialMode);
|
|
529
|
+
initializeTheme();
|
|
490
530
|
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
491
|
-
const handleSystemThemeChange = () => {
|
|
492
|
-
if (themeModeRef.current === "system") {
|
|
493
|
-
applyTheme("system");
|
|
494
|
-
}
|
|
495
|
-
};
|
|
496
531
|
mediaQuery.addEventListener("change", handleSystemThemeChange);
|
|
497
532
|
return () => {
|
|
498
533
|
mediaQuery.removeEventListener("change", handleSystemThemeChange);
|
|
499
534
|
};
|
|
500
|
-
}, [
|
|
535
|
+
}, [initializeTheme, handleSystemThemeChange]);
|
|
501
536
|
return {
|
|
502
537
|
themeMode,
|
|
503
538
|
isDark,
|
|
@@ -513,7 +548,7 @@ var ThemeToggle = ({
|
|
|
513
548
|
onToggle
|
|
514
549
|
}) => {
|
|
515
550
|
const { themeMode, setTheme } = useTheme();
|
|
516
|
-
const [tempTheme, setTempTheme] =
|
|
551
|
+
const [tempTheme, setTempTheme] = useState(themeMode);
|
|
517
552
|
useEffect3(() => {
|
|
518
553
|
setTempTheme(themeMode);
|
|
519
554
|
}, [themeMode]);
|
|
@@ -577,7 +612,7 @@ var ThemeToggle = ({
|
|
|
577
612
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
578
613
|
import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
579
614
|
function createDropdownStore() {
|
|
580
|
-
return
|
|
615
|
+
return create2((set) => ({
|
|
581
616
|
open: false,
|
|
582
617
|
setOpen: (open) => set({ open })
|
|
583
618
|
}));
|
|
@@ -610,14 +645,14 @@ var DropdownMenu = ({
|
|
|
610
645
|
open: propOpen,
|
|
611
646
|
onOpenChange
|
|
612
647
|
}) => {
|
|
613
|
-
const storeRef =
|
|
648
|
+
const storeRef = useRef(null);
|
|
614
649
|
storeRef.current ??= createDropdownStore();
|
|
615
650
|
const store = storeRef.current;
|
|
616
651
|
const { open, setOpen: storeSetOpen } = useStore(store, (s) => s);
|
|
617
652
|
const setOpen = (newOpen) => {
|
|
618
653
|
storeSetOpen(newOpen);
|
|
619
654
|
};
|
|
620
|
-
const menuRef =
|
|
655
|
+
const menuRef = useRef(null);
|
|
621
656
|
const handleArrowDownOrArrowUp = (event) => {
|
|
622
657
|
const menuContent = menuRef.current?.querySelector('[role="menu"]');
|
|
623
658
|
if (menuContent) {
|
|
@@ -741,7 +776,7 @@ var DropdownMenuContent = forwardRef2(
|
|
|
741
776
|
}, ref) => {
|
|
742
777
|
const store = useDropdownStore(externalStore);
|
|
743
778
|
const open = useStore(store, (s) => s.open);
|
|
744
|
-
const [isVisible, setIsVisible] =
|
|
779
|
+
const [isVisible, setIsVisible] = useState2(open);
|
|
745
780
|
useEffect4(() => {
|
|
746
781
|
if (open) {
|
|
747
782
|
setIsVisible(true);
|
|
@@ -900,8 +935,8 @@ var ProfileMenuHeader = forwardRef2(({ className, name, email, store: _store, ..
|
|
|
900
935
|
ProfileMenuHeader.displayName = "ProfileMenuHeader";
|
|
901
936
|
var ProfileToggleTheme = ({ ...props }) => {
|
|
902
937
|
const { themeMode, setTheme } = useTheme();
|
|
903
|
-
const [modalThemeToggle, setModalThemeToggle] =
|
|
904
|
-
const [selectedTheme, setSelectedTheme] =
|
|
938
|
+
const [modalThemeToggle, setModalThemeToggle] = useState2(false);
|
|
939
|
+
const [selectedTheme, setSelectedTheme] = useState2(themeMode);
|
|
905
940
|
const handleClick = (e) => {
|
|
906
941
|
e.preventDefault();
|
|
907
942
|
e.stopPropagation();
|
|
@@ -1058,9 +1093,9 @@ var Search = forwardRef3(
|
|
|
1058
1093
|
placeholder = "Buscar...",
|
|
1059
1094
|
...props
|
|
1060
1095
|
}, ref) => {
|
|
1061
|
-
const [dropdownOpen, setDropdownOpen] =
|
|
1062
|
-
const dropdownStore =
|
|
1063
|
-
const dropdownRef =
|
|
1096
|
+
const [dropdownOpen, setDropdownOpen] = useState3(false);
|
|
1097
|
+
const dropdownStore = useRef2(createDropdownStore()).current;
|
|
1098
|
+
const dropdownRef = useRef2(null);
|
|
1064
1099
|
const filteredOptions = useMemo(() => {
|
|
1065
1100
|
if (!options.length) {
|
|
1066
1101
|
return [];
|