analytica-frontend-lib 1.1.54 → 1.1.56
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.d.mts +5 -1
- package/dist/DropdownMenu/index.d.ts +5 -1
- package/dist/DropdownMenu/index.js +606 -37
- package/dist/DropdownMenu/index.js.map +1 -1
- package/dist/DropdownMenu/index.mjs +605 -37
- package/dist/DropdownMenu/index.mjs.map +1 -1
- package/dist/NotificationCard/index.js +1107 -814
- package/dist/NotificationCard/index.js.map +1 -1
- package/dist/NotificationCard/index.mjs +1051 -758
- package/dist/NotificationCard/index.mjs.map +1 -1
- package/dist/Search/index.js +625 -58
- package/dist/Search/index.js.map +1 -1
- package/dist/Search/index.mjs +628 -61
- package/dist/Search/index.mjs.map +1 -1
- package/dist/ThemeToggle/index.d.mts +8 -49
- package/dist/ThemeToggle/index.d.ts +8 -49
- package/dist/ThemeToggle/index.js +128 -114
- package/dist/ThemeToggle/index.js.map +1 -1
- package/dist/ThemeToggle/index.mjs +119 -105
- package/dist/ThemeToggle/index.mjs.map +1 -1
- package/dist/hooks/useTheme/index.d.mts +1 -1
- package/dist/hooks/useTheme/index.d.ts +1 -1
- package/dist/hooks/useTheme/index.js.map +1 -1
- package/dist/hooks/useTheme/index.mjs.map +1 -1
- package/dist/index.css +19 -39
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +995 -952
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1068 -1026
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +19 -39
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1786,29 +1786,412 @@ var Input = forwardRef9(
|
|
|
1786
1786
|
var Input_default = Input;
|
|
1787
1787
|
|
|
1788
1788
|
// src/components/Search/Search.tsx
|
|
1789
|
-
import { CaretLeft, X as
|
|
1789
|
+
import { CaretLeft, X as X3 } from "phosphor-react";
|
|
1790
1790
|
import {
|
|
1791
1791
|
forwardRef as forwardRef11,
|
|
1792
|
-
useState as
|
|
1793
|
-
useId as
|
|
1792
|
+
useState as useState8,
|
|
1793
|
+
useId as useId7,
|
|
1794
1794
|
useMemo as useMemo2,
|
|
1795
|
-
useEffect as
|
|
1796
|
-
useRef as
|
|
1795
|
+
useEffect as useEffect7,
|
|
1796
|
+
useRef as useRef5
|
|
1797
1797
|
} from "react";
|
|
1798
1798
|
|
|
1799
1799
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
1800
|
-
import { SignOut, User } from "phosphor-react";
|
|
1800
|
+
import { CaretRight, SignOut, User } from "phosphor-react";
|
|
1801
1801
|
import {
|
|
1802
1802
|
forwardRef as forwardRef10,
|
|
1803
|
-
useEffect as
|
|
1804
|
-
useRef as
|
|
1803
|
+
useEffect as useEffect6,
|
|
1804
|
+
useRef as useRef4,
|
|
1805
1805
|
isValidElement as isValidElement3,
|
|
1806
1806
|
Children as Children3,
|
|
1807
1807
|
cloneElement as cloneElement3,
|
|
1808
|
-
useState as
|
|
1808
|
+
useState as useState7
|
|
1809
1809
|
} from "react";
|
|
1810
1810
|
import { create as create4, useStore as useStore3 } from "zustand";
|
|
1811
|
+
|
|
1812
|
+
// src/components/Modal/Modal.tsx
|
|
1813
|
+
import { useEffect as useEffect3, useId as useId6 } from "react";
|
|
1814
|
+
import { X as X2 } from "phosphor-react";
|
|
1815
|
+
|
|
1816
|
+
// src/components/Modal/utils/videoUtils.ts
|
|
1817
|
+
var isYouTubeUrl = (url) => {
|
|
1818
|
+
const youtubeRegex = /^(https?:\/\/)?((www|m|music)\.)?(youtube\.com|youtu\.be|youtube-nocookie\.com)\/.+/i;
|
|
1819
|
+
return youtubeRegex.test(url);
|
|
1820
|
+
};
|
|
1821
|
+
var isValidYouTubeHost = (host) => {
|
|
1822
|
+
if (host === "youtu.be") return "youtu.be";
|
|
1823
|
+
const isValidYouTubeCom = host === "youtube.com" || host.endsWith(".youtube.com") && /^(www|m|music)\.youtube\.com$/.test(host);
|
|
1824
|
+
if (isValidYouTubeCom) return "youtube";
|
|
1825
|
+
const isValidNoCookie = host === "youtube-nocookie.com" || host.endsWith(".youtube-nocookie.com") && /^(www|m|music)\.youtube-nocookie\.com$/.test(host);
|
|
1826
|
+
if (isValidNoCookie) return "nocookie";
|
|
1827
|
+
return null;
|
|
1828
|
+
};
|
|
1829
|
+
var extractYoutuBeId = (pathname) => {
|
|
1830
|
+
const firstSeg = pathname.split("/").filter(Boolean)[0];
|
|
1831
|
+
return firstSeg || null;
|
|
1832
|
+
};
|
|
1833
|
+
var extractYouTubeId = (pathname, searchParams) => {
|
|
1834
|
+
const parts = pathname.split("/").filter(Boolean);
|
|
1835
|
+
const [first, second] = parts;
|
|
1836
|
+
if (first === "embed" && second) return second;
|
|
1837
|
+
if (first === "shorts" && second) return second;
|
|
1838
|
+
if (first === "live" && second) return second;
|
|
1839
|
+
const v = searchParams.get("v");
|
|
1840
|
+
if (v) return v;
|
|
1841
|
+
return null;
|
|
1842
|
+
};
|
|
1843
|
+
var getYouTubeVideoId = (url) => {
|
|
1844
|
+
try {
|
|
1845
|
+
const u = new URL(url);
|
|
1846
|
+
const hostType = isValidYouTubeHost(u.hostname.toLowerCase());
|
|
1847
|
+
if (!hostType) return null;
|
|
1848
|
+
if (hostType === "youtu.be") {
|
|
1849
|
+
return extractYoutuBeId(u.pathname);
|
|
1850
|
+
}
|
|
1851
|
+
return extractYouTubeId(u.pathname, u.searchParams);
|
|
1852
|
+
} catch {
|
|
1853
|
+
return null;
|
|
1854
|
+
}
|
|
1855
|
+
};
|
|
1856
|
+
var getYouTubeEmbedUrl = (videoId) => {
|
|
1857
|
+
return `https://www.youtube-nocookie.com/embed/${videoId}?autoplay=0&rel=0&modestbranding=1`;
|
|
1858
|
+
};
|
|
1859
|
+
|
|
1860
|
+
// src/components/Modal/Modal.tsx
|
|
1811
1861
|
import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1862
|
+
var SIZE_CLASSES7 = {
|
|
1863
|
+
xs: "max-w-[360px]",
|
|
1864
|
+
sm: "max-w-[420px]",
|
|
1865
|
+
md: "max-w-[510px]",
|
|
1866
|
+
lg: "max-w-[640px]",
|
|
1867
|
+
xl: "max-w-[970px]"
|
|
1868
|
+
};
|
|
1869
|
+
var Modal = ({
|
|
1870
|
+
isOpen,
|
|
1871
|
+
onClose,
|
|
1872
|
+
title,
|
|
1873
|
+
children,
|
|
1874
|
+
size = "md",
|
|
1875
|
+
className = "",
|
|
1876
|
+
closeOnEscape = true,
|
|
1877
|
+
footer,
|
|
1878
|
+
hideCloseButton = false,
|
|
1879
|
+
variant = "default",
|
|
1880
|
+
description,
|
|
1881
|
+
image,
|
|
1882
|
+
imageAlt,
|
|
1883
|
+
actionLink,
|
|
1884
|
+
actionLabel
|
|
1885
|
+
}) => {
|
|
1886
|
+
const titleId = useId6();
|
|
1887
|
+
useEffect3(() => {
|
|
1888
|
+
if (!isOpen || !closeOnEscape) return;
|
|
1889
|
+
const handleEscape = (event) => {
|
|
1890
|
+
if (event.key === "Escape") {
|
|
1891
|
+
onClose();
|
|
1892
|
+
}
|
|
1893
|
+
};
|
|
1894
|
+
document.addEventListener("keydown", handleEscape);
|
|
1895
|
+
return () => document.removeEventListener("keydown", handleEscape);
|
|
1896
|
+
}, [isOpen, closeOnEscape, onClose]);
|
|
1897
|
+
useEffect3(() => {
|
|
1898
|
+
const originalOverflow = document.body.style.overflow;
|
|
1899
|
+
if (isOpen) {
|
|
1900
|
+
document.body.style.overflow = "hidden";
|
|
1901
|
+
} else {
|
|
1902
|
+
document.body.style.overflow = originalOverflow;
|
|
1903
|
+
}
|
|
1904
|
+
return () => {
|
|
1905
|
+
document.body.style.overflow = originalOverflow;
|
|
1906
|
+
};
|
|
1907
|
+
}, [isOpen]);
|
|
1908
|
+
if (!isOpen) return null;
|
|
1909
|
+
const sizeClasses = SIZE_CLASSES7[size];
|
|
1910
|
+
const baseClasses = "bg-secondary-50 rounded-3xl shadow-hard-shadow-2 border border-border-100 w-full mx-4";
|
|
1911
|
+
const dialogResetClasses = "p-0 m-0 border-none outline-none max-h-none static";
|
|
1912
|
+
const modalClasses = cn(
|
|
1913
|
+
baseClasses,
|
|
1914
|
+
sizeClasses,
|
|
1915
|
+
dialogResetClasses,
|
|
1916
|
+
className
|
|
1917
|
+
);
|
|
1918
|
+
const normalizeUrl = (href) => /^https?:\/\//i.test(href) ? href : `https://${href}`;
|
|
1919
|
+
const handleActionClick = () => {
|
|
1920
|
+
if (actionLink) {
|
|
1921
|
+
window.open(normalizeUrl(actionLink), "_blank", "noopener,noreferrer");
|
|
1922
|
+
}
|
|
1923
|
+
};
|
|
1924
|
+
if (variant === "activity") {
|
|
1925
|
+
return /* @__PURE__ */ jsx18("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-xs border-none p-0 m-0 w-full cursor-default", children: /* @__PURE__ */ jsxs12(
|
|
1926
|
+
"dialog",
|
|
1927
|
+
{
|
|
1928
|
+
className: modalClasses,
|
|
1929
|
+
"aria-labelledby": titleId,
|
|
1930
|
+
"aria-modal": "true",
|
|
1931
|
+
open: true,
|
|
1932
|
+
children: [
|
|
1933
|
+
/* @__PURE__ */ jsx18("div", { className: "flex justify-end p-6 pb-0", children: !hideCloseButton && /* @__PURE__ */ jsx18(
|
|
1934
|
+
"button",
|
|
1935
|
+
{
|
|
1936
|
+
onClick: onClose,
|
|
1937
|
+
className: "p-1 text-text-500 hover:text-text-700 hover:bg-background-50 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-indicator-info focus:ring-offset-2",
|
|
1938
|
+
"aria-label": "Fechar modal",
|
|
1939
|
+
children: /* @__PURE__ */ jsx18(X2, { size: 18 })
|
|
1940
|
+
}
|
|
1941
|
+
) }),
|
|
1942
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex flex-col items-center px-6 pb-6 gap-5", children: [
|
|
1943
|
+
image && /* @__PURE__ */ jsx18("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx18(
|
|
1944
|
+
"img",
|
|
1945
|
+
{
|
|
1946
|
+
src: image,
|
|
1947
|
+
alt: imageAlt ?? "",
|
|
1948
|
+
className: "w-[122px] h-[122px] object-contain"
|
|
1949
|
+
}
|
|
1950
|
+
) }),
|
|
1951
|
+
/* @__PURE__ */ jsx18(
|
|
1952
|
+
"h2",
|
|
1953
|
+
{
|
|
1954
|
+
id: titleId,
|
|
1955
|
+
className: "text-lg font-semibold text-text-950 text-center",
|
|
1956
|
+
children: title
|
|
1957
|
+
}
|
|
1958
|
+
),
|
|
1959
|
+
description && /* @__PURE__ */ jsx18("p", { className: "text-sm font-normal text-text-400 text-center max-w-md leading-[21px]", children: description }),
|
|
1960
|
+
actionLink && /* @__PURE__ */ jsxs12("div", { className: "w-full", children: [
|
|
1961
|
+
(() => {
|
|
1962
|
+
const normalized = normalizeUrl(actionLink);
|
|
1963
|
+
const isYT = isYouTubeUrl(normalized);
|
|
1964
|
+
if (!isYT) return null;
|
|
1965
|
+
const id = getYouTubeVideoId(normalized);
|
|
1966
|
+
if (!id) {
|
|
1967
|
+
return /* @__PURE__ */ jsx18(
|
|
1968
|
+
Button_default,
|
|
1969
|
+
{
|
|
1970
|
+
variant: "solid",
|
|
1971
|
+
action: "primary",
|
|
1972
|
+
size: "large",
|
|
1973
|
+
className: "w-full",
|
|
1974
|
+
onClick: handleActionClick,
|
|
1975
|
+
children: actionLabel || "Iniciar Atividade"
|
|
1976
|
+
}
|
|
1977
|
+
);
|
|
1978
|
+
}
|
|
1979
|
+
return /* @__PURE__ */ jsx18(
|
|
1980
|
+
"iframe",
|
|
1981
|
+
{
|
|
1982
|
+
src: getYouTubeEmbedUrl(id),
|
|
1983
|
+
className: "w-full aspect-video rounded-lg",
|
|
1984
|
+
allowFullScreen: true,
|
|
1985
|
+
allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
|
|
1986
|
+
title: "V\xEDdeo YouTube"
|
|
1987
|
+
}
|
|
1988
|
+
);
|
|
1989
|
+
})(),
|
|
1990
|
+
!isYouTubeUrl(normalizeUrl(actionLink)) && /* @__PURE__ */ jsx18(
|
|
1991
|
+
Button_default,
|
|
1992
|
+
{
|
|
1993
|
+
variant: "solid",
|
|
1994
|
+
action: "primary",
|
|
1995
|
+
size: "large",
|
|
1996
|
+
className: "w-full",
|
|
1997
|
+
onClick: handleActionClick,
|
|
1998
|
+
children: actionLabel || "Iniciar Atividade"
|
|
1999
|
+
}
|
|
2000
|
+
)
|
|
2001
|
+
] })
|
|
2002
|
+
] })
|
|
2003
|
+
]
|
|
2004
|
+
}
|
|
2005
|
+
) });
|
|
2006
|
+
}
|
|
2007
|
+
return /* @__PURE__ */ jsx18("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-xs border-none p-0 m-0 w-full cursor-default", children: /* @__PURE__ */ jsxs12(
|
|
2008
|
+
"dialog",
|
|
2009
|
+
{
|
|
2010
|
+
className: modalClasses,
|
|
2011
|
+
"aria-labelledby": titleId,
|
|
2012
|
+
"aria-modal": "true",
|
|
2013
|
+
open: true,
|
|
2014
|
+
children: [
|
|
2015
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-between px-6 py-6", children: [
|
|
2016
|
+
/* @__PURE__ */ jsx18("h2", { id: titleId, className: "text-lg font-semibold text-text-950", children: title }),
|
|
2017
|
+
!hideCloseButton && /* @__PURE__ */ jsx18(
|
|
2018
|
+
"button",
|
|
2019
|
+
{
|
|
2020
|
+
onClick: onClose,
|
|
2021
|
+
className: "p-1 text-text-500 hover:text-text-700 hover:bg-background-50 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-indicator-info focus:ring-offset-2",
|
|
2022
|
+
"aria-label": "Fechar modal",
|
|
2023
|
+
children: /* @__PURE__ */ jsx18(X2, { size: 18 })
|
|
2024
|
+
}
|
|
2025
|
+
)
|
|
2026
|
+
] }),
|
|
2027
|
+
children && /* @__PURE__ */ jsx18("div", { className: "px-6 pb-6", children: /* @__PURE__ */ jsx18("div", { className: "text-text-500 font-normal text-sm leading-6", children }) }),
|
|
2028
|
+
footer && /* @__PURE__ */ jsx18("div", { className: "flex justify-end gap-3 px-6 pb-6", children: footer })
|
|
2029
|
+
]
|
|
2030
|
+
}
|
|
2031
|
+
) });
|
|
2032
|
+
};
|
|
2033
|
+
var Modal_default = Modal;
|
|
2034
|
+
|
|
2035
|
+
// src/components/ThemeToggle/ThemeToggle.tsx
|
|
2036
|
+
import { Moon, Sun } from "phosphor-react";
|
|
2037
|
+
import { useState as useState6, useEffect as useEffect5 } from "react";
|
|
2038
|
+
|
|
2039
|
+
// src/hooks/useTheme.ts
|
|
2040
|
+
import { useEffect as useEffect4, useState as useState5, useCallback, useRef as useRef3 } from "react";
|
|
2041
|
+
var useTheme = () => {
|
|
2042
|
+
const [themeMode, setThemeMode] = useState5("system");
|
|
2043
|
+
const [isDark, setIsDark] = useState5(false);
|
|
2044
|
+
const themeModeRef = useRef3("system");
|
|
2045
|
+
const applyTheme = useCallback((mode) => {
|
|
2046
|
+
const htmlElement = document.documentElement;
|
|
2047
|
+
const originalTheme = htmlElement.getAttribute("data-original-theme");
|
|
2048
|
+
if (mode === "dark") {
|
|
2049
|
+
htmlElement.setAttribute("data-theme", "dark");
|
|
2050
|
+
setIsDark(true);
|
|
2051
|
+
} else if (mode === "light") {
|
|
2052
|
+
if (originalTheme) {
|
|
2053
|
+
htmlElement.setAttribute("data-theme", originalTheme);
|
|
2054
|
+
}
|
|
2055
|
+
setIsDark(false);
|
|
2056
|
+
} else if (mode === "system") {
|
|
2057
|
+
const isSystemDark = window.matchMedia(
|
|
2058
|
+
"(prefers-color-scheme: dark)"
|
|
2059
|
+
).matches;
|
|
2060
|
+
if (isSystemDark) {
|
|
2061
|
+
htmlElement.setAttribute("data-theme", "dark");
|
|
2062
|
+
setIsDark(true);
|
|
2063
|
+
} else if (originalTheme) {
|
|
2064
|
+
htmlElement.setAttribute("data-theme", originalTheme);
|
|
2065
|
+
setIsDark(false);
|
|
2066
|
+
}
|
|
2067
|
+
}
|
|
2068
|
+
}, []);
|
|
2069
|
+
const toggleTheme = useCallback(() => {
|
|
2070
|
+
let newMode;
|
|
2071
|
+
if (themeMode === "light") {
|
|
2072
|
+
newMode = "dark";
|
|
2073
|
+
} else if (themeMode === "dark") {
|
|
2074
|
+
newMode = "light";
|
|
2075
|
+
} else {
|
|
2076
|
+
newMode = "dark";
|
|
2077
|
+
}
|
|
2078
|
+
setThemeMode(newMode);
|
|
2079
|
+
themeModeRef.current = newMode;
|
|
2080
|
+
applyTheme(newMode);
|
|
2081
|
+
localStorage.setItem("theme-mode", newMode);
|
|
2082
|
+
}, [themeMode, applyTheme]);
|
|
2083
|
+
const setTheme = useCallback(
|
|
2084
|
+
(mode) => {
|
|
2085
|
+
setThemeMode(mode);
|
|
2086
|
+
themeModeRef.current = mode;
|
|
2087
|
+
applyTheme(mode);
|
|
2088
|
+
localStorage.setItem("theme-mode", mode);
|
|
2089
|
+
},
|
|
2090
|
+
[applyTheme]
|
|
2091
|
+
);
|
|
2092
|
+
useEffect4(() => {
|
|
2093
|
+
const htmlElement = document.documentElement;
|
|
2094
|
+
const currentTheme = htmlElement.getAttribute("data-theme");
|
|
2095
|
+
if (currentTheme && !htmlElement.getAttribute("data-original-theme")) {
|
|
2096
|
+
htmlElement.setAttribute("data-original-theme", currentTheme);
|
|
2097
|
+
}
|
|
2098
|
+
const savedThemeMode = localStorage.getItem("theme-mode");
|
|
2099
|
+
const initialMode = savedThemeMode || "system";
|
|
2100
|
+
if (!savedThemeMode) {
|
|
2101
|
+
localStorage.setItem("theme-mode", "system");
|
|
2102
|
+
}
|
|
2103
|
+
setThemeMode(initialMode);
|
|
2104
|
+
themeModeRef.current = initialMode;
|
|
2105
|
+
applyTheme(initialMode);
|
|
2106
|
+
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
2107
|
+
const handleSystemThemeChange = () => {
|
|
2108
|
+
if (themeModeRef.current === "system") {
|
|
2109
|
+
applyTheme("system");
|
|
2110
|
+
}
|
|
2111
|
+
};
|
|
2112
|
+
mediaQuery.addEventListener("change", handleSystemThemeChange);
|
|
2113
|
+
return () => {
|
|
2114
|
+
mediaQuery.removeEventListener("change", handleSystemThemeChange);
|
|
2115
|
+
};
|
|
2116
|
+
}, [applyTheme]);
|
|
2117
|
+
return {
|
|
2118
|
+
themeMode,
|
|
2119
|
+
isDark,
|
|
2120
|
+
toggleTheme,
|
|
2121
|
+
setTheme
|
|
2122
|
+
};
|
|
2123
|
+
};
|
|
2124
|
+
|
|
2125
|
+
// src/components/ThemeToggle/ThemeToggle.tsx
|
|
2126
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
2127
|
+
var ThemeToggle = ({
|
|
2128
|
+
variant = "default",
|
|
2129
|
+
onToggle
|
|
2130
|
+
}) => {
|
|
2131
|
+
const { themeMode, setTheme } = useTheme();
|
|
2132
|
+
const [tempTheme, setTempTheme] = useState6(themeMode);
|
|
2133
|
+
useEffect5(() => {
|
|
2134
|
+
setTempTheme(themeMode);
|
|
2135
|
+
}, [themeMode]);
|
|
2136
|
+
const problemTypes = [
|
|
2137
|
+
{
|
|
2138
|
+
id: "light",
|
|
2139
|
+
title: "Claro",
|
|
2140
|
+
icon: /* @__PURE__ */ jsx19(Sun, { size: 24 })
|
|
2141
|
+
},
|
|
2142
|
+
{
|
|
2143
|
+
id: "dark",
|
|
2144
|
+
title: "Escuro",
|
|
2145
|
+
icon: /* @__PURE__ */ jsx19(Moon, { size: 24 })
|
|
2146
|
+
},
|
|
2147
|
+
{
|
|
2148
|
+
id: "system",
|
|
2149
|
+
title: "Sistema",
|
|
2150
|
+
icon: /* @__PURE__ */ jsx19(
|
|
2151
|
+
"svg",
|
|
2152
|
+
{
|
|
2153
|
+
width: "25",
|
|
2154
|
+
height: "25",
|
|
2155
|
+
viewBox: "0 0 25 25",
|
|
2156
|
+
fill: "none",
|
|
2157
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2158
|
+
children: /* @__PURE__ */ jsx19(
|
|
2159
|
+
"path",
|
|
2160
|
+
{
|
|
2161
|
+
d: "M12.5 2.75C15.085 2.75276 17.5637 3.78054 19.3916 5.6084C21.2195 7.43628 22.2473 9.915 22.25 12.5C22.25 14.4284 21.6778 16.3136 20.6064 17.917C19.5352 19.5201 18.0128 20.7699 16.2314 21.5078C14.4499 22.2458 12.489 22.4387 10.5977 22.0625C8.70642 21.6863 6.96899 20.758 5.60547 19.3945C4.24197 18.031 3.31374 16.2936 2.9375 14.4023C2.56129 12.511 2.75423 10.5501 3.49219 8.76855C4.23012 6.98718 5.47982 5.46483 7.08301 4.39355C8.68639 3.32221 10.5716 2.75 12.5 2.75ZM11.75 4.28516C9.70145 4.47452 7.7973 5.42115 6.41016 6.94043C5.02299 8.4599 4.25247 10.4426 4.25 12.5C4.25247 14.5574 5.02299 16.5401 6.41016 18.0596C7.7973 19.5789 9.70145 20.5255 11.75 20.7148V4.28516Z",
|
|
2162
|
+
fill: "#525252"
|
|
2163
|
+
}
|
|
2164
|
+
)
|
|
2165
|
+
}
|
|
2166
|
+
)
|
|
2167
|
+
}
|
|
2168
|
+
];
|
|
2169
|
+
const handleThemeSelect = (selectedTheme) => {
|
|
2170
|
+
if (variant === "with-save") {
|
|
2171
|
+
setTempTheme(selectedTheme);
|
|
2172
|
+
} else {
|
|
2173
|
+
setTheme(selectedTheme);
|
|
2174
|
+
}
|
|
2175
|
+
if (onToggle) {
|
|
2176
|
+
onToggle(selectedTheme);
|
|
2177
|
+
}
|
|
2178
|
+
};
|
|
2179
|
+
const currentTheme = variant === "with-save" ? tempTheme : themeMode;
|
|
2180
|
+
return /* @__PURE__ */ jsx19("div", { className: "flex flex-row gap-2 sm:gap-4 py-2", children: problemTypes.map((type) => /* @__PURE__ */ jsx19(
|
|
2181
|
+
SelectionButton_default,
|
|
2182
|
+
{
|
|
2183
|
+
icon: type.icon,
|
|
2184
|
+
label: type.title,
|
|
2185
|
+
selected: currentTheme === type.id,
|
|
2186
|
+
onClick: () => handleThemeSelect(type.id),
|
|
2187
|
+
className: "w-full p-2 sm:p-4"
|
|
2188
|
+
},
|
|
2189
|
+
type.id
|
|
2190
|
+
)) });
|
|
2191
|
+
};
|
|
2192
|
+
|
|
2193
|
+
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
2194
|
+
import { Fragment as Fragment2, jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1812
2195
|
function createDropdownStore() {
|
|
1813
2196
|
return create4((set) => ({
|
|
1814
2197
|
open: false,
|
|
@@ -1843,14 +2226,14 @@ var DropdownMenu = ({
|
|
|
1843
2226
|
open: propOpen,
|
|
1844
2227
|
onOpenChange
|
|
1845
2228
|
}) => {
|
|
1846
|
-
const storeRef =
|
|
2229
|
+
const storeRef = useRef4(null);
|
|
1847
2230
|
storeRef.current ??= createDropdownStore();
|
|
1848
2231
|
const store = storeRef.current;
|
|
1849
2232
|
const { open, setOpen: storeSetOpen } = useStore3(store, (s) => s);
|
|
1850
2233
|
const setOpen = (newOpen) => {
|
|
1851
2234
|
storeSetOpen(newOpen);
|
|
1852
2235
|
};
|
|
1853
|
-
const menuRef =
|
|
2236
|
+
const menuRef = useRef4(null);
|
|
1854
2237
|
const handleArrowDownOrArrowUp = (event) => {
|
|
1855
2238
|
const menuContent = menuRef.current?.querySelector('[role="menu"]');
|
|
1856
2239
|
if (menuContent) {
|
|
@@ -1884,7 +2267,7 @@ var DropdownMenu = ({
|
|
|
1884
2267
|
setOpen(false);
|
|
1885
2268
|
}
|
|
1886
2269
|
};
|
|
1887
|
-
|
|
2270
|
+
useEffect6(() => {
|
|
1888
2271
|
if (open) {
|
|
1889
2272
|
document.addEventListener("mousedown", handleClickOutside);
|
|
1890
2273
|
document.addEventListener("keydown", handleDownkey);
|
|
@@ -1894,16 +2277,16 @@ var DropdownMenu = ({
|
|
|
1894
2277
|
document.removeEventListener("keydown", handleDownkey);
|
|
1895
2278
|
};
|
|
1896
2279
|
}, [open]);
|
|
1897
|
-
|
|
2280
|
+
useEffect6(() => {
|
|
1898
2281
|
setOpen(open);
|
|
1899
2282
|
onOpenChange?.(open);
|
|
1900
2283
|
}, [open, onOpenChange]);
|
|
1901
|
-
|
|
2284
|
+
useEffect6(() => {
|
|
1902
2285
|
if (propOpen) {
|
|
1903
2286
|
setOpen(propOpen);
|
|
1904
2287
|
}
|
|
1905
2288
|
}, [propOpen]);
|
|
1906
|
-
return /* @__PURE__ */
|
|
2289
|
+
return /* @__PURE__ */ jsx20("div", { className: "relative", ref: menuRef, children: injectStore3(children, store) });
|
|
1907
2290
|
};
|
|
1908
2291
|
var DropdownMenuTrigger = ({
|
|
1909
2292
|
className,
|
|
@@ -1915,7 +2298,7 @@ var DropdownMenuTrigger = ({
|
|
|
1915
2298
|
const store = useDropdownStore(externalStore);
|
|
1916
2299
|
const open = useStore3(store, (s) => s.open);
|
|
1917
2300
|
const toggleOpen = () => store.setState({ open: !open });
|
|
1918
|
-
return /* @__PURE__ */
|
|
2301
|
+
return /* @__PURE__ */ jsx20(
|
|
1919
2302
|
"button",
|
|
1920
2303
|
{
|
|
1921
2304
|
onClick: (e) => {
|
|
@@ -1951,7 +2334,7 @@ var MENUCONTENT_VARIANT_CLASSES = {
|
|
|
1951
2334
|
profile: "p-6"
|
|
1952
2335
|
};
|
|
1953
2336
|
var MenuLabel = forwardRef10(({ className, inset, store: _store, ...props }, ref) => {
|
|
1954
|
-
return /* @__PURE__ */
|
|
2337
|
+
return /* @__PURE__ */ jsx20(
|
|
1955
2338
|
"div",
|
|
1956
2339
|
{
|
|
1957
2340
|
ref,
|
|
@@ -1974,8 +2357,8 @@ var DropdownMenuContent = forwardRef10(
|
|
|
1974
2357
|
}, ref) => {
|
|
1975
2358
|
const store = useDropdownStore(externalStore);
|
|
1976
2359
|
const open = useStore3(store, (s) => s.open);
|
|
1977
|
-
const [isVisible, setIsVisible] =
|
|
1978
|
-
|
|
2360
|
+
const [isVisible, setIsVisible] = useState7(open);
|
|
2361
|
+
useEffect6(() => {
|
|
1979
2362
|
if (open) {
|
|
1980
2363
|
setIsVisible(true);
|
|
1981
2364
|
} else {
|
|
@@ -1990,7 +2373,7 @@ var DropdownMenuContent = forwardRef10(
|
|
|
1990
2373
|
return `absolute ${vertical} ${horizontal}`;
|
|
1991
2374
|
};
|
|
1992
2375
|
const variantClasses = MENUCONTENT_VARIANT_CLASSES[variant];
|
|
1993
|
-
return /* @__PURE__ */
|
|
2376
|
+
return /* @__PURE__ */ jsx20(
|
|
1994
2377
|
"div",
|
|
1995
2378
|
{
|
|
1996
2379
|
ref,
|
|
@@ -2049,7 +2432,7 @@ var DropdownMenuItem = forwardRef10(
|
|
|
2049
2432
|
const getVariantProps = () => {
|
|
2050
2433
|
return variant === "profile" ? { "data-variant": "profile" } : {};
|
|
2051
2434
|
};
|
|
2052
|
-
return /* @__PURE__ */
|
|
2435
|
+
return /* @__PURE__ */ jsxs13(
|
|
2053
2436
|
"div",
|
|
2054
2437
|
{
|
|
2055
2438
|
ref,
|
|
@@ -2071,7 +2454,7 @@ var DropdownMenuItem = forwardRef10(
|
|
|
2071
2454
|
...props,
|
|
2072
2455
|
children: [
|
|
2073
2456
|
iconLeft,
|
|
2074
|
-
/* @__PURE__ */
|
|
2457
|
+
/* @__PURE__ */ jsx20("div", { className: "w-full", children }),
|
|
2075
2458
|
iconRight
|
|
2076
2459
|
]
|
|
2077
2460
|
}
|
|
@@ -2079,7 +2462,7 @@ var DropdownMenuItem = forwardRef10(
|
|
|
2079
2462
|
}
|
|
2080
2463
|
);
|
|
2081
2464
|
DropdownMenuItem.displayName = "DropdownMenuItem";
|
|
2082
|
-
var DropdownMenuSeparator = forwardRef10(({ className, store: _store, ...props }, ref) => /* @__PURE__ */
|
|
2465
|
+
var DropdownMenuSeparator = forwardRef10(({ className, store: _store, ...props }, ref) => /* @__PURE__ */ jsx20(
|
|
2083
2466
|
"div",
|
|
2084
2467
|
{
|
|
2085
2468
|
ref,
|
|
@@ -2092,7 +2475,7 @@ var ProfileMenuTrigger = forwardRef10(({ className, onClick, store: externalStor
|
|
|
2092
2475
|
const store = useDropdownStore(externalStore);
|
|
2093
2476
|
const open = useStore3(store, (s) => s.open);
|
|
2094
2477
|
const toggleOpen = () => store.setState({ open: !open });
|
|
2095
|
-
return /* @__PURE__ */
|
|
2478
|
+
return /* @__PURE__ */ jsx20(
|
|
2096
2479
|
"button",
|
|
2097
2480
|
{
|
|
2098
2481
|
ref,
|
|
@@ -2107,13 +2490,13 @@ var ProfileMenuTrigger = forwardRef10(({ className, onClick, store: externalStor
|
|
|
2107
2490
|
},
|
|
2108
2491
|
"aria-expanded": open,
|
|
2109
2492
|
...props,
|
|
2110
|
-
children: /* @__PURE__ */
|
|
2493
|
+
children: /* @__PURE__ */ jsx20("span", { className: "size-6 rounded-full bg-primary-100 flex items-center justify-center", children: /* @__PURE__ */ jsx20(User, { className: "text-primary-950", size: 18 }) })
|
|
2111
2494
|
}
|
|
2112
2495
|
);
|
|
2113
2496
|
});
|
|
2114
2497
|
ProfileMenuTrigger.displayName = "ProfileMenuTrigger";
|
|
2115
2498
|
var ProfileMenuHeader = forwardRef10(({ className, name, email, store: _store, ...props }, ref) => {
|
|
2116
|
-
return /* @__PURE__ */
|
|
2499
|
+
return /* @__PURE__ */ jsxs13(
|
|
2117
2500
|
"div",
|
|
2118
2501
|
{
|
|
2119
2502
|
ref,
|
|
@@ -2121,18 +2504,98 @@ var ProfileMenuHeader = forwardRef10(({ className, name, email, store: _store, .
|
|
|
2121
2504
|
className: cn("flex flex-row gap-4 items-center", className),
|
|
2122
2505
|
...props,
|
|
2123
2506
|
children: [
|
|
2124
|
-
/* @__PURE__ */
|
|
2125
|
-
/* @__PURE__ */
|
|
2126
|
-
/* @__PURE__ */
|
|
2127
|
-
/* @__PURE__ */
|
|
2507
|
+
/* @__PURE__ */ jsx20("span", { className: "size-16 bg-primary-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ jsx20(User, { size: 34, className: "text-primary-950" }) }),
|
|
2508
|
+
/* @__PURE__ */ jsxs13("div", { className: "flex flex-col ", children: [
|
|
2509
|
+
/* @__PURE__ */ jsx20(Text_default, { size: "xl", weight: "bold", color: "text-text-950", children: name }),
|
|
2510
|
+
/* @__PURE__ */ jsx20(Text_default, { size: "md", color: "text-text-600", children: email })
|
|
2128
2511
|
] })
|
|
2129
2512
|
]
|
|
2130
2513
|
}
|
|
2131
2514
|
);
|
|
2132
2515
|
});
|
|
2133
2516
|
ProfileMenuHeader.displayName = "ProfileMenuHeader";
|
|
2517
|
+
var ProfileToggleTheme = ({ ...props }) => {
|
|
2518
|
+
const { themeMode, setTheme } = useTheme();
|
|
2519
|
+
const [modalThemeToggle, setModalThemeToggle] = useState7(false);
|
|
2520
|
+
const [selectedTheme, setSelectedTheme] = useState7(themeMode);
|
|
2521
|
+
const handleClick = (e) => {
|
|
2522
|
+
e.preventDefault();
|
|
2523
|
+
e.stopPropagation();
|
|
2524
|
+
setModalThemeToggle(true);
|
|
2525
|
+
};
|
|
2526
|
+
const handleSave = () => {
|
|
2527
|
+
setTheme(selectedTheme);
|
|
2528
|
+
setModalThemeToggle(false);
|
|
2529
|
+
};
|
|
2530
|
+
return /* @__PURE__ */ jsxs13(Fragment2, { children: [
|
|
2531
|
+
/* @__PURE__ */ jsxs13(
|
|
2532
|
+
"div",
|
|
2533
|
+
{
|
|
2534
|
+
role: "menuitem",
|
|
2535
|
+
"data-variant": "profile",
|
|
2536
|
+
className: "relative flex flex-row justify-between select-none items-center gap-2 rounded-sm p-4 text-sm outline-none transition-colors [&>svg]:size-6 [&>svg]:shrink-0 cursor-pointer hover:bg-background-50 text-text-700 focus:bg-accent focus:text-accent-foreground hover:bg-accent hover:text-accent-foreground",
|
|
2537
|
+
onClick: handleClick,
|
|
2538
|
+
onKeyDown: (e) => {
|
|
2539
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
2540
|
+
e.preventDefault();
|
|
2541
|
+
e.stopPropagation();
|
|
2542
|
+
setModalThemeToggle(true);
|
|
2543
|
+
}
|
|
2544
|
+
},
|
|
2545
|
+
tabIndex: 0,
|
|
2546
|
+
...props,
|
|
2547
|
+
children: [
|
|
2548
|
+
/* @__PURE__ */ jsx20(
|
|
2549
|
+
"svg",
|
|
2550
|
+
{
|
|
2551
|
+
width: "25",
|
|
2552
|
+
height: "25",
|
|
2553
|
+
viewBox: "0 0 25 25",
|
|
2554
|
+
fill: "none",
|
|
2555
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2556
|
+
children: /* @__PURE__ */ jsx20(
|
|
2557
|
+
"path",
|
|
2558
|
+
{
|
|
2559
|
+
d: "M12.5 2.75C15.085 2.75276 17.5637 3.78054 19.3916 5.6084C21.2195 7.43628 22.2473 9.915 22.25 12.5C22.25 14.4284 21.6778 16.3136 20.6064 17.917C19.5352 19.5201 18.0128 20.7699 16.2314 21.5078C14.4499 22.2458 12.489 22.4387 10.5977 22.0625C8.70642 21.6863 6.96899 20.758 5.60547 19.3945C4.24197 18.031 3.31374 16.2936 2.9375 14.4023C2.56129 12.511 2.75423 10.5501 3.49219 8.76855C4.23012 6.98718 5.47982 5.46483 7.08301 4.39355C8.68639 3.32221 10.5716 2.75 12.5 2.75ZM11.75 4.28516C9.70145 4.47452 7.7973 5.42115 6.41016 6.94043C5.02299 8.4599 4.25247 10.4426 4.25 12.5C4.25247 14.5574 5.02299 16.5401 6.41016 18.0596C7.7973 19.5789 9.70145 20.5255 11.75 20.7148V4.28516Z",
|
|
2560
|
+
fill: "#525252"
|
|
2561
|
+
}
|
|
2562
|
+
)
|
|
2563
|
+
}
|
|
2564
|
+
),
|
|
2565
|
+
/* @__PURE__ */ jsx20(Text_default, { className: "w-full", size: "md", children: "Apar\xEAncia" }),
|
|
2566
|
+
/* @__PURE__ */ jsx20(CaretRight, {})
|
|
2567
|
+
]
|
|
2568
|
+
}
|
|
2569
|
+
),
|
|
2570
|
+
/* @__PURE__ */ jsx20(
|
|
2571
|
+
Modal_default,
|
|
2572
|
+
{
|
|
2573
|
+
isOpen: modalThemeToggle,
|
|
2574
|
+
onClose: () => setModalThemeToggle(false),
|
|
2575
|
+
title: "Apar\xEAncia",
|
|
2576
|
+
size: "md",
|
|
2577
|
+
footer: /* @__PURE__ */ jsxs13("div", { className: "flex gap-3", children: [
|
|
2578
|
+
/* @__PURE__ */ jsx20(
|
|
2579
|
+
Button_default,
|
|
2580
|
+
{
|
|
2581
|
+
variant: "outline",
|
|
2582
|
+
onClick: () => setModalThemeToggle(false),
|
|
2583
|
+
children: "Cancelar"
|
|
2584
|
+
}
|
|
2585
|
+
),
|
|
2586
|
+
/* @__PURE__ */ jsx20(Button_default, { variant: "solid", onClick: () => handleSave(), children: "Salvar" })
|
|
2587
|
+
] }),
|
|
2588
|
+
children: /* @__PURE__ */ jsxs13("div", { className: "flex flex-col", children: [
|
|
2589
|
+
/* @__PURE__ */ jsx20("p", { className: "text-sm text-text-500", children: "Escolha o tema:" }),
|
|
2590
|
+
/* @__PURE__ */ jsx20(ThemeToggle, { variant: "with-save", onToggle: setSelectedTheme })
|
|
2591
|
+
] })
|
|
2592
|
+
}
|
|
2593
|
+
)
|
|
2594
|
+
] });
|
|
2595
|
+
};
|
|
2596
|
+
ProfileToggleTheme.displayName = "ProfileToggleTheme";
|
|
2134
2597
|
var ProfileMenuSection = forwardRef10(({ className, children, store: _store, ...props }, ref) => {
|
|
2135
|
-
return /* @__PURE__ */
|
|
2598
|
+
return /* @__PURE__ */ jsx20("div", { ref, className: cn("flex flex-col p-2", className), ...props, children });
|
|
2136
2599
|
});
|
|
2137
2600
|
ProfileMenuSection.displayName = "ProfileMenuSection";
|
|
2138
2601
|
var ProfileMenuFooter = ({
|
|
@@ -2144,7 +2607,7 @@ var ProfileMenuFooter = ({
|
|
|
2144
2607
|
}) => {
|
|
2145
2608
|
const store = useDropdownStore(externalStore);
|
|
2146
2609
|
const setOpen = useStore3(store, (s) => s.setOpen);
|
|
2147
|
-
return /* @__PURE__ */
|
|
2610
|
+
return /* @__PURE__ */ jsxs13(
|
|
2148
2611
|
Button_default,
|
|
2149
2612
|
{
|
|
2150
2613
|
variant: "outline",
|
|
@@ -2156,8 +2619,8 @@ var ProfileMenuFooter = ({
|
|
|
2156
2619
|
},
|
|
2157
2620
|
...props,
|
|
2158
2621
|
children: [
|
|
2159
|
-
/* @__PURE__ */
|
|
2160
|
-
/* @__PURE__ */
|
|
2622
|
+
/* @__PURE__ */ jsx20("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ jsx20(SignOut, {}) }),
|
|
2623
|
+
/* @__PURE__ */ jsx20(Text_default, { children: "Sair" })
|
|
2161
2624
|
]
|
|
2162
2625
|
}
|
|
2163
2626
|
);
|
|
@@ -2166,7 +2629,7 @@ ProfileMenuFooter.displayName = "ProfileMenuFooter";
|
|
|
2166
2629
|
var DropdownMenu_default = DropdownMenu;
|
|
2167
2630
|
|
|
2168
2631
|
// src/components/Search/Search.tsx
|
|
2169
|
-
import { jsx as
|
|
2632
|
+
import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2170
2633
|
var filterOptions = (options, query) => {
|
|
2171
2634
|
if (!query || query.length < 1) return [];
|
|
2172
2635
|
return options.filter(
|
|
@@ -2211,9 +2674,9 @@ var Search = forwardRef11(
|
|
|
2211
2674
|
placeholder = "Buscar...",
|
|
2212
2675
|
...props
|
|
2213
2676
|
}, ref) => {
|
|
2214
|
-
const [dropdownOpen, setDropdownOpen] =
|
|
2215
|
-
const dropdownStore =
|
|
2216
|
-
const dropdownRef =
|
|
2677
|
+
const [dropdownOpen, setDropdownOpen] = useState8(false);
|
|
2678
|
+
const dropdownStore = useRef5(createDropdownStore()).current;
|
|
2679
|
+
const dropdownRef = useRef5(null);
|
|
2217
2680
|
const filteredOptions = useMemo2(() => {
|
|
2218
2681
|
if (!options.length) {
|
|
2219
2682
|
return [];
|
|
@@ -2222,7 +2685,7 @@ var Search = forwardRef11(
|
|
|
2222
2685
|
return filtered;
|
|
2223
2686
|
}, [options, value]);
|
|
2224
2687
|
const showDropdown = controlledShowDropdown ?? (dropdownOpen && value && String(value).length > 0);
|
|
2225
|
-
|
|
2688
|
+
useEffect7(() => {
|
|
2226
2689
|
const shouldShow = Boolean(value && String(value).length > 0);
|
|
2227
2690
|
setDropdownOpen(shouldShow);
|
|
2228
2691
|
dropdownStore.setState({ open: shouldShow });
|
|
@@ -2234,7 +2697,7 @@ var Search = forwardRef11(
|
|
|
2234
2697
|
dropdownStore.setState({ open: false });
|
|
2235
2698
|
updateInputValue(option, ref, onChange);
|
|
2236
2699
|
};
|
|
2237
|
-
|
|
2700
|
+
useEffect7(() => {
|
|
2238
2701
|
const handleClickOutside = (event) => {
|
|
2239
2702
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
2240
2703
|
setDropdownOpen(false);
|
|
@@ -2248,7 +2711,7 @@ var Search = forwardRef11(
|
|
|
2248
2711
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
2249
2712
|
};
|
|
2250
2713
|
}, [showDropdown, dropdownStore]);
|
|
2251
|
-
const generatedId =
|
|
2714
|
+
const generatedId = useId7();
|
|
2252
2715
|
const inputId = id ?? `search-${generatedId}`;
|
|
2253
2716
|
const handleClear = () => {
|
|
2254
2717
|
if (onClear) {
|
|
@@ -2277,24 +2740,24 @@ var Search = forwardRef11(
|
|
|
2277
2740
|
return "hover:border-border-400";
|
|
2278
2741
|
};
|
|
2279
2742
|
const showClearButton = value && !disabled && !readOnly;
|
|
2280
|
-
return /* @__PURE__ */
|
|
2743
|
+
return /* @__PURE__ */ jsxs14(
|
|
2281
2744
|
"div",
|
|
2282
2745
|
{
|
|
2283
2746
|
ref: dropdownRef,
|
|
2284
2747
|
className: `w-full max-w-lg md:w-[488px] ${containerClassName}`,
|
|
2285
2748
|
children: [
|
|
2286
|
-
/* @__PURE__ */
|
|
2287
|
-
/* @__PURE__ */
|
|
2749
|
+
/* @__PURE__ */ jsxs14("div", { className: "relative flex items-center", children: [
|
|
2750
|
+
/* @__PURE__ */ jsx21("div", { className: "absolute left-3 top-1/2 transform -translate-y-1/2", children: /* @__PURE__ */ jsx21(
|
|
2288
2751
|
"button",
|
|
2289
2752
|
{
|
|
2290
2753
|
type: "button",
|
|
2291
2754
|
className: "w-6 h-6 text-text-800 flex items-center justify-center bg-transparent border-0 p-0 cursor-pointer hover:text-text-600 transition-colors",
|
|
2292
2755
|
onClick: handleLeftIconClick,
|
|
2293
2756
|
"aria-label": "Voltar",
|
|
2294
|
-
children: /* @__PURE__ */
|
|
2757
|
+
children: /* @__PURE__ */ jsx21(CaretLeft, {})
|
|
2295
2758
|
}
|
|
2296
2759
|
) }),
|
|
2297
|
-
/* @__PURE__ */
|
|
2760
|
+
/* @__PURE__ */ jsx21(
|
|
2298
2761
|
"input",
|
|
2299
2762
|
{
|
|
2300
2763
|
ref,
|
|
@@ -2312,24 +2775,24 @@ var Search = forwardRef11(
|
|
|
2312
2775
|
...props
|
|
2313
2776
|
}
|
|
2314
2777
|
),
|
|
2315
|
-
showClearButton && /* @__PURE__ */
|
|
2778
|
+
showClearButton && /* @__PURE__ */ jsx21("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2", children: /* @__PURE__ */ jsx21(
|
|
2316
2779
|
"button",
|
|
2317
2780
|
{
|
|
2318
2781
|
type: "button",
|
|
2319
2782
|
className: "p-0 border-0 bg-transparent cursor-pointer",
|
|
2320
2783
|
onMouseDown: handleClearClick,
|
|
2321
2784
|
"aria-label": "Limpar busca",
|
|
2322
|
-
children: /* @__PURE__ */
|
|
2785
|
+
children: /* @__PURE__ */ jsx21("span", { className: "w-6 h-6 text-text-800 flex items-center justify-center hover:text-text-600 transition-colors", children: /* @__PURE__ */ jsx21(X3, {}) })
|
|
2323
2786
|
}
|
|
2324
2787
|
) })
|
|
2325
2788
|
] }),
|
|
2326
|
-
showDropdown && /* @__PURE__ */
|
|
2789
|
+
showDropdown && /* @__PURE__ */ jsx21(DropdownMenu_default, { open: showDropdown, onOpenChange: setDropdownOpen, children: /* @__PURE__ */ jsx21(
|
|
2327
2790
|
DropdownMenuContent,
|
|
2328
2791
|
{
|
|
2329
2792
|
className: "w-full mt-1",
|
|
2330
2793
|
style: { maxHeight: dropdownMaxHeight },
|
|
2331
2794
|
align: "start",
|
|
2332
|
-
children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */
|
|
2795
|
+
children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */ jsx21(
|
|
2333
2796
|
DropdownMenuItem,
|
|
2334
2797
|
{
|
|
2335
2798
|
onClick: () => handleSelectOption(option),
|
|
@@ -2337,7 +2800,7 @@ var Search = forwardRef11(
|
|
|
2337
2800
|
children: option
|
|
2338
2801
|
},
|
|
2339
2802
|
option
|
|
2340
|
-
)) : /* @__PURE__ */
|
|
2803
|
+
)) : /* @__PURE__ */ jsx21("div", { className: "px-3 py-3 text-text-700 text-base", children: noResultsText })
|
|
2341
2804
|
}
|
|
2342
2805
|
) })
|
|
2343
2806
|
]
|
|
@@ -2350,7 +2813,7 @@ var Search_default = Search;
|
|
|
2350
2813
|
|
|
2351
2814
|
// src/components/Chips/Chips.tsx
|
|
2352
2815
|
import { Check as Check2 } from "phosphor-react";
|
|
2353
|
-
import { jsx as
|
|
2816
|
+
import { jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2354
2817
|
var STATE_CLASSES5 = {
|
|
2355
2818
|
default: "bg-background text-text-950 border border-border-100 hover:bg-secondary-50 hover:border-border-300",
|
|
2356
2819
|
selected: "bg-info-background text-primary-950 border-2 border-primary-950 hover:bg-secondary-50 focus-visible:border-0"
|
|
@@ -2365,7 +2828,7 @@ var Chips = ({
|
|
|
2365
2828
|
}) => {
|
|
2366
2829
|
const stateClasses = selected ? STATE_CLASSES5.selected : STATE_CLASSES5.default;
|
|
2367
2830
|
const baseClasses = "inline-flex items-center justify-center rounded-full cursor-pointer font-normal text-sm px-4 py-2 gap-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-primary-600 disabled:opacity-40 disabled:cursor-not-allowed";
|
|
2368
|
-
return /* @__PURE__ */
|
|
2831
|
+
return /* @__PURE__ */ jsxs15(
|
|
2369
2832
|
"button",
|
|
2370
2833
|
{
|
|
2371
2834
|
className: cn(baseClasses, stateClasses, className),
|
|
@@ -2373,8 +2836,8 @@ var Chips = ({
|
|
|
2373
2836
|
type,
|
|
2374
2837
|
...props,
|
|
2375
2838
|
children: [
|
|
2376
|
-
selected && /* @__PURE__ */
|
|
2377
|
-
/* @__PURE__ */
|
|
2839
|
+
selected && /* @__PURE__ */ jsx22("span", { className: `flex items-center`, children: /* @__PURE__ */ jsx22(Check2, { weight: "bold", size: 16 }) }),
|
|
2840
|
+
/* @__PURE__ */ jsx22("span", { className: "flex-1", children })
|
|
2378
2841
|
]
|
|
2379
2842
|
}
|
|
2380
2843
|
);
|
|
@@ -2382,8 +2845,8 @@ var Chips = ({
|
|
|
2382
2845
|
var Chips_default = Chips;
|
|
2383
2846
|
|
|
2384
2847
|
// src/components/ProgressBar/ProgressBar.tsx
|
|
2385
|
-
import { Fragment as
|
|
2386
|
-
var
|
|
2848
|
+
import { Fragment as Fragment3, jsx as jsx23, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2849
|
+
var SIZE_CLASSES8 = {
|
|
2387
2850
|
small: {
|
|
2388
2851
|
container: "h-1",
|
|
2389
2852
|
// 4px height (h-1 = 4px in Tailwind)
|
|
@@ -2494,20 +2957,20 @@ var renderStackedHitCountDisplay = (showHitCount, showPercentage, clampedValue,
|
|
|
2494
2957
|
max,
|
|
2495
2958
|
percentage
|
|
2496
2959
|
);
|
|
2497
|
-
return /* @__PURE__ */
|
|
2960
|
+
return /* @__PURE__ */ jsx23(
|
|
2498
2961
|
"div",
|
|
2499
2962
|
{
|
|
2500
2963
|
className: cn(
|
|
2501
2964
|
"text-xs font-medium leading-[14px] text-right",
|
|
2502
2965
|
percentageClassName
|
|
2503
2966
|
),
|
|
2504
|
-
children: displayPriority.type === "hitCount" ? /* @__PURE__ */
|
|
2505
|
-
/* @__PURE__ */
|
|
2506
|
-
/* @__PURE__ */
|
|
2967
|
+
children: displayPriority.type === "hitCount" ? /* @__PURE__ */ jsxs16(Fragment3, { children: [
|
|
2968
|
+
/* @__PURE__ */ jsx23("span", { className: "text-success-200", children: Math.round(clampedValue) }),
|
|
2969
|
+
/* @__PURE__ */ jsxs16("span", { className: "text-text-600", children: [
|
|
2507
2970
|
" de ",
|
|
2508
2971
|
max
|
|
2509
2972
|
] })
|
|
2510
|
-
] }) : /* @__PURE__ */
|
|
2973
|
+
] }) : /* @__PURE__ */ jsxs16(Text_default, { size: "xs", weight: "medium", className: "text-success-200", children: [
|
|
2511
2974
|
Math.round(percentage),
|
|
2512
2975
|
"%"
|
|
2513
2976
|
] })
|
|
@@ -2522,7 +2985,7 @@ var ProgressBarBase = ({
|
|
|
2522
2985
|
variantClasses,
|
|
2523
2986
|
containerClassName,
|
|
2524
2987
|
fillClassName
|
|
2525
|
-
}) => /* @__PURE__ */
|
|
2988
|
+
}) => /* @__PURE__ */ jsxs16(
|
|
2526
2989
|
"div",
|
|
2527
2990
|
{
|
|
2528
2991
|
className: cn(
|
|
@@ -2531,7 +2994,7 @@ var ProgressBarBase = ({
|
|
|
2531
2994
|
"overflow-hidden relative"
|
|
2532
2995
|
),
|
|
2533
2996
|
children: [
|
|
2534
|
-
/* @__PURE__ */
|
|
2997
|
+
/* @__PURE__ */ jsx23(
|
|
2535
2998
|
"progress",
|
|
2536
2999
|
{
|
|
2537
3000
|
value: clampedValue,
|
|
@@ -2540,7 +3003,7 @@ var ProgressBarBase = ({
|
|
|
2540
3003
|
className: "absolute inset-0 w-full h-full opacity-0"
|
|
2541
3004
|
}
|
|
2542
3005
|
),
|
|
2543
|
-
/* @__PURE__ */
|
|
3006
|
+
/* @__PURE__ */ jsx23(
|
|
2544
3007
|
"div",
|
|
2545
3008
|
{
|
|
2546
3009
|
className: cn(
|
|
@@ -2566,7 +3029,7 @@ var StackedLayout = ({
|
|
|
2566
3029
|
percentage,
|
|
2567
3030
|
variantClasses,
|
|
2568
3031
|
dimensions
|
|
2569
|
-
}) => /* @__PURE__ */
|
|
3032
|
+
}) => /* @__PURE__ */ jsxs16(
|
|
2570
3033
|
"div",
|
|
2571
3034
|
{
|
|
2572
3035
|
className: cn(
|
|
@@ -2576,8 +3039,8 @@ var StackedLayout = ({
|
|
|
2576
3039
|
className
|
|
2577
3040
|
),
|
|
2578
3041
|
children: [
|
|
2579
|
-
shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */
|
|
2580
|
-
label && /* @__PURE__ */
|
|
3042
|
+
shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ jsxs16("div", { className: "flex flex-row justify-between items-center w-full h-[19px]", children: [
|
|
3043
|
+
label && /* @__PURE__ */ jsx23(
|
|
2581
3044
|
Text_default,
|
|
2582
3045
|
{
|
|
2583
3046
|
as: "div",
|
|
@@ -2596,7 +3059,7 @@ var StackedLayout = ({
|
|
|
2596
3059
|
percentageClassName
|
|
2597
3060
|
)
|
|
2598
3061
|
] }),
|
|
2599
|
-
/* @__PURE__ */
|
|
3062
|
+
/* @__PURE__ */ jsx23(
|
|
2600
3063
|
ProgressBarBase,
|
|
2601
3064
|
{
|
|
2602
3065
|
clampedValue,
|
|
@@ -2638,7 +3101,7 @@ var CompactLayout = ({
|
|
|
2638
3101
|
percentageClassName,
|
|
2639
3102
|
labelClassName
|
|
2640
3103
|
});
|
|
2641
|
-
return /* @__PURE__ */
|
|
3104
|
+
return /* @__PURE__ */ jsxs16(
|
|
2642
3105
|
"div",
|
|
2643
3106
|
{
|
|
2644
3107
|
className: cn(
|
|
@@ -2648,7 +3111,7 @@ var CompactLayout = ({
|
|
|
2648
3111
|
className
|
|
2649
3112
|
),
|
|
2650
3113
|
children: [
|
|
2651
|
-
shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */
|
|
3114
|
+
shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ jsx23(
|
|
2652
3115
|
Text_default,
|
|
2653
3116
|
{
|
|
2654
3117
|
as: "div",
|
|
@@ -2659,7 +3122,7 @@ var CompactLayout = ({
|
|
|
2659
3122
|
children: content
|
|
2660
3123
|
}
|
|
2661
3124
|
),
|
|
2662
|
-
/* @__PURE__ */
|
|
3125
|
+
/* @__PURE__ */ jsx23(
|
|
2663
3126
|
ProgressBarBase,
|
|
2664
3127
|
{
|
|
2665
3128
|
clampedValue,
|
|
@@ -2695,9 +3158,9 @@ var DefaultLayout = ({
|
|
|
2695
3158
|
label,
|
|
2696
3159
|
showPercentage
|
|
2697
3160
|
);
|
|
2698
|
-
return /* @__PURE__ */
|
|
2699
|
-
displayConfig.showHeader && /* @__PURE__ */
|
|
2700
|
-
label && /* @__PURE__ */
|
|
3161
|
+
return /* @__PURE__ */ jsxs16("div", { className: cn("flex", sizeClasses.layout, gapClass, className), children: [
|
|
3162
|
+
displayConfig.showHeader && /* @__PURE__ */ jsxs16("div", { className: "flex flex-row items-center justify-between w-full", children: [
|
|
3163
|
+
label && /* @__PURE__ */ jsx23(
|
|
2701
3164
|
Text_default,
|
|
2702
3165
|
{
|
|
2703
3166
|
as: "div",
|
|
@@ -2710,7 +3173,7 @@ var DefaultLayout = ({
|
|
|
2710
3173
|
children: label
|
|
2711
3174
|
}
|
|
2712
3175
|
),
|
|
2713
|
-
showPercentage && /* @__PURE__ */
|
|
3176
|
+
showPercentage && /* @__PURE__ */ jsxs16(
|
|
2714
3177
|
Text_default,
|
|
2715
3178
|
{
|
|
2716
3179
|
size: "xs",
|
|
@@ -2726,7 +3189,7 @@ var DefaultLayout = ({
|
|
|
2726
3189
|
}
|
|
2727
3190
|
)
|
|
2728
3191
|
] }),
|
|
2729
|
-
/* @__PURE__ */
|
|
3192
|
+
/* @__PURE__ */ jsx23(
|
|
2730
3193
|
ProgressBarBase,
|
|
2731
3194
|
{
|
|
2732
3195
|
clampedValue,
|
|
@@ -2746,7 +3209,7 @@ var DefaultLayout = ({
|
|
|
2746
3209
|
)
|
|
2747
3210
|
}
|
|
2748
3211
|
),
|
|
2749
|
-
displayConfig.showPercentage && /* @__PURE__ */
|
|
3212
|
+
displayConfig.showPercentage && /* @__PURE__ */ jsxs16(
|
|
2750
3213
|
Text_default,
|
|
2751
3214
|
{
|
|
2752
3215
|
size: "xs",
|
|
@@ -2761,7 +3224,7 @@ var DefaultLayout = ({
|
|
|
2761
3224
|
]
|
|
2762
3225
|
}
|
|
2763
3226
|
),
|
|
2764
|
-
displayConfig.showLabel && /* @__PURE__ */
|
|
3227
|
+
displayConfig.showLabel && /* @__PURE__ */ jsx23(
|
|
2765
3228
|
Text_default,
|
|
2766
3229
|
{
|
|
2767
3230
|
as: "div",
|
|
@@ -2794,10 +3257,10 @@ var ProgressBar = ({
|
|
|
2794
3257
|
compactHeight
|
|
2795
3258
|
}) => {
|
|
2796
3259
|
const { clampedValue, percentage } = calculateProgressValues(value, max);
|
|
2797
|
-
const sizeClasses =
|
|
3260
|
+
const sizeClasses = SIZE_CLASSES8[size];
|
|
2798
3261
|
const variantClasses = VARIANT_CLASSES2[variant];
|
|
2799
3262
|
if (layout === "stacked") {
|
|
2800
|
-
return /* @__PURE__ */
|
|
3263
|
+
return /* @__PURE__ */ jsx23(
|
|
2801
3264
|
StackedLayout,
|
|
2802
3265
|
{
|
|
2803
3266
|
className,
|
|
@@ -2818,7 +3281,7 @@ var ProgressBar = ({
|
|
|
2818
3281
|
);
|
|
2819
3282
|
}
|
|
2820
3283
|
if (layout === "compact") {
|
|
2821
|
-
return /* @__PURE__ */
|
|
3284
|
+
return /* @__PURE__ */ jsx23(
|
|
2822
3285
|
CompactLayout,
|
|
2823
3286
|
{
|
|
2824
3287
|
className,
|
|
@@ -2838,7 +3301,7 @@ var ProgressBar = ({
|
|
|
2838
3301
|
}
|
|
2839
3302
|
);
|
|
2840
3303
|
}
|
|
2841
|
-
return /* @__PURE__ */
|
|
3304
|
+
return /* @__PURE__ */ jsx23(
|
|
2842
3305
|
DefaultLayout,
|
|
2843
3306
|
{
|
|
2844
3307
|
className,
|
|
@@ -2858,8 +3321,8 @@ var ProgressBar = ({
|
|
|
2858
3321
|
var ProgressBar_default = ProgressBar;
|
|
2859
3322
|
|
|
2860
3323
|
// src/components/ProgressCircle/ProgressCircle.tsx
|
|
2861
|
-
import { jsx as
|
|
2862
|
-
var
|
|
3324
|
+
import { jsx as jsx24, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3325
|
+
var SIZE_CLASSES9 = {
|
|
2863
3326
|
small: {
|
|
2864
3327
|
container: "w-[90px] h-[90px]",
|
|
2865
3328
|
// 90px circle from design specs
|
|
@@ -2933,14 +3396,14 @@ var ProgressCircle = ({
|
|
|
2933
3396
|
const safeValue = isNaN(value) ? 0 : value;
|
|
2934
3397
|
const clampedValue = Math.max(0, Math.min(safeValue, max));
|
|
2935
3398
|
const percentage = max === 0 ? 0 : clampedValue / max * 100;
|
|
2936
|
-
const sizeClasses =
|
|
3399
|
+
const sizeClasses = SIZE_CLASSES9[size];
|
|
2937
3400
|
const variantClasses = VARIANT_CLASSES3[variant];
|
|
2938
3401
|
const radius = size === "small" ? 37 : 64;
|
|
2939
3402
|
const circumference = 2 * Math.PI * radius;
|
|
2940
3403
|
const strokeDashoffset = circumference - percentage / 100 * circumference;
|
|
2941
3404
|
const center = size === "small" ? 45 : 76;
|
|
2942
3405
|
const svgSize = size === "small" ? 90 : 152;
|
|
2943
|
-
return /* @__PURE__ */
|
|
3406
|
+
return /* @__PURE__ */ jsxs17(
|
|
2944
3407
|
"div",
|
|
2945
3408
|
{
|
|
2946
3409
|
className: cn(
|
|
@@ -2950,7 +3413,7 @@ var ProgressCircle = ({
|
|
|
2950
3413
|
className
|
|
2951
3414
|
),
|
|
2952
3415
|
children: [
|
|
2953
|
-
/* @__PURE__ */
|
|
3416
|
+
/* @__PURE__ */ jsxs17(
|
|
2954
3417
|
"svg",
|
|
2955
3418
|
{
|
|
2956
3419
|
className: "absolute inset-0 transform -rotate-90",
|
|
@@ -2959,7 +3422,7 @@ var ProgressCircle = ({
|
|
|
2959
3422
|
viewBox: `0 0 ${svgSize} ${svgSize}`,
|
|
2960
3423
|
"aria-hidden": "true",
|
|
2961
3424
|
children: [
|
|
2962
|
-
/* @__PURE__ */
|
|
3425
|
+
/* @__PURE__ */ jsx24(
|
|
2963
3426
|
"circle",
|
|
2964
3427
|
{
|
|
2965
3428
|
cx: center,
|
|
@@ -2970,7 +3433,7 @@ var ProgressCircle = ({
|
|
|
2970
3433
|
className: cn(variantClasses.background, "rounded-lg")
|
|
2971
3434
|
}
|
|
2972
3435
|
),
|
|
2973
|
-
/* @__PURE__ */
|
|
3436
|
+
/* @__PURE__ */ jsx24(
|
|
2974
3437
|
"circle",
|
|
2975
3438
|
{
|
|
2976
3439
|
cx: center,
|
|
@@ -2990,7 +3453,7 @@ var ProgressCircle = ({
|
|
|
2990
3453
|
]
|
|
2991
3454
|
}
|
|
2992
3455
|
),
|
|
2993
|
-
/* @__PURE__ */
|
|
3456
|
+
/* @__PURE__ */ jsx24(
|
|
2994
3457
|
"progress",
|
|
2995
3458
|
{
|
|
2996
3459
|
value: clampedValue,
|
|
@@ -2999,7 +3462,7 @@ var ProgressCircle = ({
|
|
|
2999
3462
|
className: "absolute opacity-0 w-0 h-0"
|
|
3000
3463
|
}
|
|
3001
3464
|
),
|
|
3002
|
-
/* @__PURE__ */
|
|
3465
|
+
/* @__PURE__ */ jsxs17(
|
|
3003
3466
|
"div",
|
|
3004
3467
|
{
|
|
3005
3468
|
className: cn(
|
|
@@ -3008,7 +3471,7 @@ var ProgressCircle = ({
|
|
|
3008
3471
|
sizeClasses.contentWidth
|
|
3009
3472
|
),
|
|
3010
3473
|
children: [
|
|
3011
|
-
showPercentage && /* @__PURE__ */
|
|
3474
|
+
showPercentage && /* @__PURE__ */ jsxs17(
|
|
3012
3475
|
Text_default,
|
|
3013
3476
|
{
|
|
3014
3477
|
size: sizeClasses.textSize,
|
|
@@ -3024,7 +3487,7 @@ var ProgressCircle = ({
|
|
|
3024
3487
|
]
|
|
3025
3488
|
}
|
|
3026
3489
|
),
|
|
3027
|
-
label && /* @__PURE__ */
|
|
3490
|
+
label && /* @__PURE__ */ jsx24(
|
|
3028
3491
|
Text_default,
|
|
3029
3492
|
{
|
|
3030
3493
|
as: "span",
|
|
@@ -3049,8 +3512,8 @@ var ProgressCircle_default = ProgressCircle;
|
|
|
3049
3512
|
|
|
3050
3513
|
// src/components/Stepper/Stepper.tsx
|
|
3051
3514
|
import { Check as Check3 } from "phosphor-react";
|
|
3052
|
-
import { jsx as
|
|
3053
|
-
var
|
|
3515
|
+
import { jsx as jsx25, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3516
|
+
var SIZE_CLASSES10 = {
|
|
3054
3517
|
small: {
|
|
3055
3518
|
container: "gap-2",
|
|
3056
3519
|
// 8px gap as specified in CSS
|
|
@@ -3176,7 +3639,7 @@ var Step = ({
|
|
|
3176
3639
|
}
|
|
3177
3640
|
return `${step.label}${suffix}`;
|
|
3178
3641
|
};
|
|
3179
|
-
return /* @__PURE__ */
|
|
3642
|
+
return /* @__PURE__ */ jsxs18(
|
|
3180
3643
|
"div",
|
|
3181
3644
|
{
|
|
3182
3645
|
className: `
|
|
@@ -3189,7 +3652,7 @@ var Step = ({
|
|
|
3189
3652
|
overflow-visible
|
|
3190
3653
|
`,
|
|
3191
3654
|
children: [
|
|
3192
|
-
/* @__PURE__ */
|
|
3655
|
+
/* @__PURE__ */ jsx25(
|
|
3193
3656
|
"div",
|
|
3194
3657
|
{
|
|
3195
3658
|
className: `
|
|
@@ -3198,7 +3661,7 @@ var Step = ({
|
|
|
3198
3661
|
`
|
|
3199
3662
|
}
|
|
3200
3663
|
),
|
|
3201
|
-
/* @__PURE__ */
|
|
3664
|
+
/* @__PURE__ */ jsxs18(
|
|
3202
3665
|
"div",
|
|
3203
3666
|
{
|
|
3204
3667
|
className: `
|
|
@@ -3208,7 +3671,7 @@ var Step = ({
|
|
|
3208
3671
|
overflow-visible
|
|
3209
3672
|
`,
|
|
3210
3673
|
children: [
|
|
3211
|
-
/* @__PURE__ */
|
|
3674
|
+
/* @__PURE__ */ jsx25(
|
|
3212
3675
|
"div",
|
|
3213
3676
|
{
|
|
3214
3677
|
className: `
|
|
@@ -3218,7 +3681,7 @@ var Step = ({
|
|
|
3218
3681
|
w-4 h-4 sm:w-5 sm:h-5 md:w-5 md:h-5 lg:w-6 lg:h-6
|
|
3219
3682
|
`,
|
|
3220
3683
|
"aria-label": getAriaLabel(),
|
|
3221
|
-
children: isCompleted ? /* @__PURE__ */
|
|
3684
|
+
children: isCompleted ? /* @__PURE__ */ jsx25(
|
|
3222
3685
|
Check3,
|
|
3223
3686
|
{
|
|
3224
3687
|
weight: "bold",
|
|
@@ -3227,7 +3690,7 @@ var Step = ({
|
|
|
3227
3690
|
w-2.5 h-2.5 sm:w-3 sm:h-3 md:w-3 md:h-3 lg:w-3.5 lg:h-3.5
|
|
3228
3691
|
`
|
|
3229
3692
|
}
|
|
3230
|
-
) : /* @__PURE__ */
|
|
3693
|
+
) : /* @__PURE__ */ jsx25(
|
|
3231
3694
|
Text_default,
|
|
3232
3695
|
{
|
|
3233
3696
|
size: sizeClasses.indicatorTextSize,
|
|
@@ -3242,7 +3705,7 @@ var Step = ({
|
|
|
3242
3705
|
)
|
|
3243
3706
|
}
|
|
3244
3707
|
),
|
|
3245
|
-
/* @__PURE__ */
|
|
3708
|
+
/* @__PURE__ */ jsx25(
|
|
3246
3709
|
Text_default,
|
|
3247
3710
|
{
|
|
3248
3711
|
size: sizeClasses.labelTextSize,
|
|
@@ -3292,9 +3755,9 @@ var Stepper = ({
|
|
|
3292
3755
|
progressText,
|
|
3293
3756
|
responsive = true
|
|
3294
3757
|
}) => {
|
|
3295
|
-
const sizeClasses =
|
|
3758
|
+
const sizeClasses = SIZE_CLASSES10[size];
|
|
3296
3759
|
const steps = currentStep !== void 0 ? calculateStepStates(initialSteps, currentStep) : initialSteps;
|
|
3297
|
-
return /* @__PURE__ */
|
|
3760
|
+
return /* @__PURE__ */ jsxs18(
|
|
3298
3761
|
"fieldset",
|
|
3299
3762
|
{
|
|
3300
3763
|
className: cn(
|
|
@@ -3303,8 +3766,8 @@ var Stepper = ({
|
|
|
3303
3766
|
"border-0 p-0 m-0"
|
|
3304
3767
|
),
|
|
3305
3768
|
children: [
|
|
3306
|
-
/* @__PURE__ */
|
|
3307
|
-
showProgress && currentStep !== void 0 && /* @__PURE__ */
|
|
3769
|
+
/* @__PURE__ */ jsx25("legend", { className: "absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children: "Stepper de formul\xE1rio" }),
|
|
3770
|
+
showProgress && currentStep !== void 0 && /* @__PURE__ */ jsx25(
|
|
3308
3771
|
Text_default,
|
|
3309
3772
|
{
|
|
3310
3773
|
size: "sm",
|
|
@@ -3313,7 +3776,7 @@ var Stepper = ({
|
|
|
3313
3776
|
children: getProgressText(currentStep, steps.length, progressText)
|
|
3314
3777
|
}
|
|
3315
3778
|
),
|
|
3316
|
-
/* @__PURE__ */
|
|
3779
|
+
/* @__PURE__ */ jsx25(
|
|
3317
3780
|
"div",
|
|
3318
3781
|
{
|
|
3319
3782
|
className: cn(
|
|
@@ -3326,7 +3789,7 @@ var Stepper = ({
|
|
|
3326
3789
|
"aria-label": "Progress steps",
|
|
3327
3790
|
children: steps.map((step, index) => {
|
|
3328
3791
|
const stateClasses = STATE_CLASSES6[step.state];
|
|
3329
|
-
return /* @__PURE__ */
|
|
3792
|
+
return /* @__PURE__ */ jsx25(
|
|
3330
3793
|
Step,
|
|
3331
3794
|
{
|
|
3332
3795
|
step,
|
|
@@ -3350,12 +3813,12 @@ var Stepper_default = Stepper;
|
|
|
3350
3813
|
|
|
3351
3814
|
// src/components/Calendar/Calendar.tsx
|
|
3352
3815
|
import {
|
|
3353
|
-
useState as
|
|
3816
|
+
useState as useState9,
|
|
3354
3817
|
useMemo as useMemo3,
|
|
3355
|
-
useEffect as
|
|
3356
|
-
useRef as
|
|
3818
|
+
useEffect as useEffect8,
|
|
3819
|
+
useRef as useRef6
|
|
3357
3820
|
} from "react";
|
|
3358
|
-
import { jsx as
|
|
3821
|
+
import { jsx as jsx26, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3359
3822
|
var WEEK_DAYS = ["SEG", "TER", "QUA", "QUI", "SEX", "S\xC1B", "DOM"];
|
|
3360
3823
|
var WEEK_DAYS_SHORT = ["S", "T", "Q", "Q", "S", "S", "D"];
|
|
3361
3824
|
var MONTH_NAMES = [
|
|
@@ -3378,15 +3841,15 @@ var MonthYearPicker = ({
|
|
|
3378
3841
|
currentDate,
|
|
3379
3842
|
onYearChange,
|
|
3380
3843
|
onMonthChange
|
|
3381
|
-
}) => /* @__PURE__ */
|
|
3844
|
+
}) => /* @__PURE__ */ jsxs19(
|
|
3382
3845
|
"div",
|
|
3383
3846
|
{
|
|
3384
3847
|
ref: monthPickerRef,
|
|
3385
3848
|
className: "absolute top-full left-0 z-50 mt-1 bg-white rounded-lg shadow-lg border border-border-200 p-4 min-w-[280px]",
|
|
3386
3849
|
children: [
|
|
3387
|
-
/* @__PURE__ */
|
|
3388
|
-
/* @__PURE__ */
|
|
3389
|
-
/* @__PURE__ */
|
|
3850
|
+
/* @__PURE__ */ jsxs19("div", { className: "mb-4", children: [
|
|
3851
|
+
/* @__PURE__ */ jsx26("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar Ano" }),
|
|
3852
|
+
/* @__PURE__ */ jsx26("div", { className: "grid grid-cols-4 gap-1 max-h-32 overflow-y-auto", children: availableYears.map((year) => /* @__PURE__ */ jsx26(
|
|
3390
3853
|
"button",
|
|
3391
3854
|
{
|
|
3392
3855
|
onClick: () => onYearChange(year),
|
|
@@ -3399,9 +3862,9 @@ var MonthYearPicker = ({
|
|
|
3399
3862
|
year
|
|
3400
3863
|
)) })
|
|
3401
3864
|
] }),
|
|
3402
|
-
/* @__PURE__ */
|
|
3403
|
-
/* @__PURE__ */
|
|
3404
|
-
/* @__PURE__ */
|
|
3865
|
+
/* @__PURE__ */ jsxs19("div", { children: [
|
|
3866
|
+
/* @__PURE__ */ jsx26("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar M\xEAs" }),
|
|
3867
|
+
/* @__PURE__ */ jsx26("div", { className: "grid grid-cols-3 gap-1", children: MONTH_NAMES.map((month, index) => /* @__PURE__ */ jsx26(
|
|
3405
3868
|
"button",
|
|
3406
3869
|
{
|
|
3407
3870
|
onClick: () => onMonthChange(index, currentDate.getFullYear()),
|
|
@@ -3454,11 +3917,11 @@ var Calendar = ({
|
|
|
3454
3917
|
showActivities = true,
|
|
3455
3918
|
className = ""
|
|
3456
3919
|
}) => {
|
|
3457
|
-
const [currentDate, setCurrentDate] =
|
|
3458
|
-
const [isMonthPickerOpen, setIsMonthPickerOpen] =
|
|
3459
|
-
const monthPickerRef =
|
|
3460
|
-
const monthPickerContainerRef =
|
|
3461
|
-
|
|
3920
|
+
const [currentDate, setCurrentDate] = useState9(selectedDate || /* @__PURE__ */ new Date());
|
|
3921
|
+
const [isMonthPickerOpen, setIsMonthPickerOpen] = useState9(false);
|
|
3922
|
+
const monthPickerRef = useRef6(null);
|
|
3923
|
+
const monthPickerContainerRef = useRef6(null);
|
|
3924
|
+
useEffect8(() => {
|
|
3462
3925
|
const handleClickOutside = (event) => {
|
|
3463
3926
|
if (monthPickerContainerRef.current && !monthPickerContainerRef.current.contains(event.target)) {
|
|
3464
3927
|
setIsMonthPickerOpen(false);
|
|
@@ -3533,28 +3996,28 @@ var Calendar = ({
|
|
|
3533
3996
|
onDateSelect?.(day.date);
|
|
3534
3997
|
};
|
|
3535
3998
|
if (variant === "navigation") {
|
|
3536
|
-
return /* @__PURE__ */
|
|
3537
|
-
/* @__PURE__ */
|
|
3538
|
-
/* @__PURE__ */
|
|
3539
|
-
/* @__PURE__ */
|
|
3999
|
+
return /* @__PURE__ */ jsxs19("div", { className: cn("bg-background rounded-xl pt-6", className), children: [
|
|
4000
|
+
/* @__PURE__ */ jsxs19("div", { className: "flex items-center justify-between mb-4 px-6", children: [
|
|
4001
|
+
/* @__PURE__ */ jsxs19("div", { className: "relative", ref: monthPickerContainerRef, children: [
|
|
4002
|
+
/* @__PURE__ */ jsxs19(
|
|
3540
4003
|
"button",
|
|
3541
4004
|
{
|
|
3542
4005
|
onClick: toggleMonthPicker,
|
|
3543
4006
|
className: "flex items-center group gap-1 rounded transition-colors cursor-pointer",
|
|
3544
4007
|
children: [
|
|
3545
|
-
/* @__PURE__ */
|
|
4008
|
+
/* @__PURE__ */ jsxs19("span", { className: "text-sm font-medium text-text-600 group-hover:text-primary-950", children: [
|
|
3546
4009
|
MONTH_NAMES[currentDate.getMonth()],
|
|
3547
4010
|
" ",
|
|
3548
4011
|
currentDate.getFullYear()
|
|
3549
4012
|
] }),
|
|
3550
|
-
/* @__PURE__ */
|
|
4013
|
+
/* @__PURE__ */ jsx26(
|
|
3551
4014
|
"svg",
|
|
3552
4015
|
{
|
|
3553
4016
|
className: `w-4 h-4 text-primary-950 transition-transform ${isMonthPickerOpen ? "rotate-180" : ""}`,
|
|
3554
4017
|
fill: "none",
|
|
3555
4018
|
stroke: "currentColor",
|
|
3556
4019
|
viewBox: "0 0 24 24",
|
|
3557
|
-
children: /* @__PURE__ */
|
|
4020
|
+
children: /* @__PURE__ */ jsx26(
|
|
3558
4021
|
"path",
|
|
3559
4022
|
{
|
|
3560
4023
|
strokeLinecap: "round",
|
|
@@ -3568,7 +4031,7 @@ var Calendar = ({
|
|
|
3568
4031
|
]
|
|
3569
4032
|
}
|
|
3570
4033
|
),
|
|
3571
|
-
isMonthPickerOpen && /* @__PURE__ */
|
|
4034
|
+
isMonthPickerOpen && /* @__PURE__ */ jsx26(
|
|
3572
4035
|
MonthYearPicker,
|
|
3573
4036
|
{
|
|
3574
4037
|
monthPickerRef,
|
|
@@ -3579,21 +4042,21 @@ var Calendar = ({
|
|
|
3579
4042
|
}
|
|
3580
4043
|
)
|
|
3581
4044
|
] }),
|
|
3582
|
-
/* @__PURE__ */
|
|
3583
|
-
/* @__PURE__ */
|
|
4045
|
+
/* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-10", children: [
|
|
4046
|
+
/* @__PURE__ */ jsx26(
|
|
3584
4047
|
"button",
|
|
3585
4048
|
{
|
|
3586
4049
|
onClick: goToPreviousMonth,
|
|
3587
4050
|
className: "p-1 rounded hover:bg-background-100 transition-colors",
|
|
3588
4051
|
"aria-label": "M\xEAs anterior",
|
|
3589
|
-
children: /* @__PURE__ */
|
|
4052
|
+
children: /* @__PURE__ */ jsx26(
|
|
3590
4053
|
"svg",
|
|
3591
4054
|
{
|
|
3592
4055
|
className: "w-6 h-6 text-primary-950",
|
|
3593
4056
|
fill: "none",
|
|
3594
4057
|
stroke: "currentColor",
|
|
3595
4058
|
viewBox: "0 0 24 24",
|
|
3596
|
-
children: /* @__PURE__ */
|
|
4059
|
+
children: /* @__PURE__ */ jsx26(
|
|
3597
4060
|
"path",
|
|
3598
4061
|
{
|
|
3599
4062
|
strokeLinecap: "round",
|
|
@@ -3606,20 +4069,20 @@ var Calendar = ({
|
|
|
3606
4069
|
)
|
|
3607
4070
|
}
|
|
3608
4071
|
),
|
|
3609
|
-
/* @__PURE__ */
|
|
4072
|
+
/* @__PURE__ */ jsx26(
|
|
3610
4073
|
"button",
|
|
3611
4074
|
{
|
|
3612
4075
|
onClick: goToNextMonth,
|
|
3613
4076
|
className: "p-1 rounded hover:bg-background-100 transition-colors",
|
|
3614
4077
|
"aria-label": "Pr\xF3ximo m\xEAs",
|
|
3615
|
-
children: /* @__PURE__ */
|
|
4078
|
+
children: /* @__PURE__ */ jsx26(
|
|
3616
4079
|
"svg",
|
|
3617
4080
|
{
|
|
3618
4081
|
className: "w-6 h-6 text-primary-950",
|
|
3619
4082
|
fill: "none",
|
|
3620
4083
|
stroke: "currentColor",
|
|
3621
4084
|
viewBox: "0 0 24 24",
|
|
3622
|
-
children: /* @__PURE__ */
|
|
4085
|
+
children: /* @__PURE__ */ jsx26(
|
|
3623
4086
|
"path",
|
|
3624
4087
|
{
|
|
3625
4088
|
strokeLinecap: "round",
|
|
@@ -3634,7 +4097,7 @@ var Calendar = ({
|
|
|
3634
4097
|
)
|
|
3635
4098
|
] })
|
|
3636
4099
|
] }),
|
|
3637
|
-
/* @__PURE__ */
|
|
4100
|
+
/* @__PURE__ */ jsx26("div", { className: "grid grid-cols-7 gap-1 mb-2 px-3", children: WEEK_DAYS_SHORT.map((day, index) => /* @__PURE__ */ jsx26(
|
|
3638
4101
|
"div",
|
|
3639
4102
|
{
|
|
3640
4103
|
className: "h-9 flex items-center justify-center text-xs font-normal text-text-600",
|
|
@@ -3642,13 +4105,13 @@ var Calendar = ({
|
|
|
3642
4105
|
},
|
|
3643
4106
|
`${day}-${index}`
|
|
3644
4107
|
)) }),
|
|
3645
|
-
/* @__PURE__ */
|
|
4108
|
+
/* @__PURE__ */ jsx26("div", { className: "grid grid-cols-7 gap-1 px-3", children: calendarData.map((day) => {
|
|
3646
4109
|
if (!day.isCurrentMonth) {
|
|
3647
|
-
return /* @__PURE__ */
|
|
4110
|
+
return /* @__PURE__ */ jsx26(
|
|
3648
4111
|
"div",
|
|
3649
4112
|
{
|
|
3650
4113
|
className: "flex items-center justify-center",
|
|
3651
|
-
children: /* @__PURE__ */
|
|
4114
|
+
children: /* @__PURE__ */ jsx26("div", { className: "w-9 h-9" })
|
|
3652
4115
|
},
|
|
3653
4116
|
day.date.getTime()
|
|
3654
4117
|
);
|
|
@@ -3664,11 +4127,11 @@ var Calendar = ({
|
|
|
3664
4127
|
} else if (day.isSelected) {
|
|
3665
4128
|
spanClass = "h-6 w-6 rounded-full bg-primary-950 text-text";
|
|
3666
4129
|
}
|
|
3667
|
-
return /* @__PURE__ */
|
|
4130
|
+
return /* @__PURE__ */ jsx26(
|
|
3668
4131
|
"div",
|
|
3669
4132
|
{
|
|
3670
4133
|
className: "flex items-center justify-center",
|
|
3671
|
-
children: /* @__PURE__ */
|
|
4134
|
+
children: /* @__PURE__ */ jsx26(
|
|
3672
4135
|
"button",
|
|
3673
4136
|
{
|
|
3674
4137
|
className: `
|
|
@@ -3684,7 +4147,7 @@ var Calendar = ({
|
|
|
3684
4147
|
"aria-label": `${day.date.getDate()} de ${MONTH_NAMES[day.date.getMonth()]}`,
|
|
3685
4148
|
"aria-current": day.isToday ? "date" : void 0,
|
|
3686
4149
|
tabIndex: 0,
|
|
3687
|
-
children: /* @__PURE__ */
|
|
4150
|
+
children: /* @__PURE__ */ jsx26("span", { className: spanClass, children: day.date.getDate() })
|
|
3688
4151
|
}
|
|
3689
4152
|
)
|
|
3690
4153
|
},
|
|
@@ -3693,28 +4156,28 @@ var Calendar = ({
|
|
|
3693
4156
|
}) })
|
|
3694
4157
|
] });
|
|
3695
4158
|
}
|
|
3696
|
-
return /* @__PURE__ */
|
|
3697
|
-
/* @__PURE__ */
|
|
3698
|
-
/* @__PURE__ */
|
|
3699
|
-
/* @__PURE__ */
|
|
4159
|
+
return /* @__PURE__ */ jsxs19("div", { className: cn("bg-background rounded-xl p-4", className), children: [
|
|
4160
|
+
/* @__PURE__ */ jsxs19("div", { className: "flex items-center justify-between mb-3.5", children: [
|
|
4161
|
+
/* @__PURE__ */ jsxs19("div", { className: "relative", ref: monthPickerContainerRef, children: [
|
|
4162
|
+
/* @__PURE__ */ jsxs19(
|
|
3700
4163
|
"button",
|
|
3701
4164
|
{
|
|
3702
4165
|
onClick: toggleMonthPicker,
|
|
3703
4166
|
className: "flex items-center gap-2 hover:bg-background-100 rounded px-2 py-1 transition-colors",
|
|
3704
4167
|
children: [
|
|
3705
|
-
/* @__PURE__ */
|
|
4168
|
+
/* @__PURE__ */ jsxs19("h2", { className: "text-lg font-semibold text-text-950", children: [
|
|
3706
4169
|
MONTH_NAMES[currentDate.getMonth()],
|
|
3707
4170
|
" ",
|
|
3708
4171
|
currentDate.getFullYear()
|
|
3709
4172
|
] }),
|
|
3710
|
-
/* @__PURE__ */
|
|
4173
|
+
/* @__PURE__ */ jsx26(
|
|
3711
4174
|
"svg",
|
|
3712
4175
|
{
|
|
3713
4176
|
className: `w-4 h-4 text-text-400 transition-transform ${isMonthPickerOpen ? "rotate-180" : ""}`,
|
|
3714
4177
|
fill: "none",
|
|
3715
4178
|
stroke: "currentColor",
|
|
3716
4179
|
viewBox: "0 0 24 24",
|
|
3717
|
-
children: /* @__PURE__ */
|
|
4180
|
+
children: /* @__PURE__ */ jsx26(
|
|
3718
4181
|
"path",
|
|
3719
4182
|
{
|
|
3720
4183
|
strokeLinecap: "round",
|
|
@@ -3728,7 +4191,7 @@ var Calendar = ({
|
|
|
3728
4191
|
]
|
|
3729
4192
|
}
|
|
3730
4193
|
),
|
|
3731
|
-
isMonthPickerOpen && /* @__PURE__ */
|
|
4194
|
+
isMonthPickerOpen && /* @__PURE__ */ jsx26(
|
|
3732
4195
|
MonthYearPicker,
|
|
3733
4196
|
{
|
|
3734
4197
|
monthPickerRef,
|
|
@@ -3739,21 +4202,21 @@ var Calendar = ({
|
|
|
3739
4202
|
}
|
|
3740
4203
|
)
|
|
3741
4204
|
] }),
|
|
3742
|
-
/* @__PURE__ */
|
|
3743
|
-
/* @__PURE__ */
|
|
4205
|
+
/* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-1", children: [
|
|
4206
|
+
/* @__PURE__ */ jsx26(
|
|
3744
4207
|
"button",
|
|
3745
4208
|
{
|
|
3746
4209
|
onClick: goToPreviousMonth,
|
|
3747
4210
|
className: "p-1 rounded-md hover:bg-background-100 transition-colors",
|
|
3748
4211
|
"aria-label": "M\xEAs anterior",
|
|
3749
|
-
children: /* @__PURE__ */
|
|
4212
|
+
children: /* @__PURE__ */ jsx26(
|
|
3750
4213
|
"svg",
|
|
3751
4214
|
{
|
|
3752
4215
|
className: "w-6 h-6 text-primary-950",
|
|
3753
4216
|
fill: "none",
|
|
3754
4217
|
stroke: "currentColor",
|
|
3755
4218
|
viewBox: "0 0 24 24",
|
|
3756
|
-
children: /* @__PURE__ */
|
|
4219
|
+
children: /* @__PURE__ */ jsx26(
|
|
3757
4220
|
"path",
|
|
3758
4221
|
{
|
|
3759
4222
|
strokeLinecap: "round",
|
|
@@ -3766,20 +4229,20 @@ var Calendar = ({
|
|
|
3766
4229
|
)
|
|
3767
4230
|
}
|
|
3768
4231
|
),
|
|
3769
|
-
/* @__PURE__ */
|
|
4232
|
+
/* @__PURE__ */ jsx26(
|
|
3770
4233
|
"button",
|
|
3771
4234
|
{
|
|
3772
4235
|
onClick: goToNextMonth,
|
|
3773
4236
|
className: "p-1 rounded-md hover:bg-background-100 transition-colors",
|
|
3774
4237
|
"aria-label": "Pr\xF3ximo m\xEAs",
|
|
3775
|
-
children: /* @__PURE__ */
|
|
4238
|
+
children: /* @__PURE__ */ jsx26(
|
|
3776
4239
|
"svg",
|
|
3777
4240
|
{
|
|
3778
4241
|
className: "w-6 h-6 text-primary-950",
|
|
3779
4242
|
fill: "none",
|
|
3780
4243
|
stroke: "currentColor",
|
|
3781
4244
|
viewBox: "0 0 24 24",
|
|
3782
|
-
children: /* @__PURE__ */
|
|
4245
|
+
children: /* @__PURE__ */ jsx26(
|
|
3783
4246
|
"path",
|
|
3784
4247
|
{
|
|
3785
4248
|
strokeLinecap: "round",
|
|
@@ -3794,301 +4257,78 @@ var Calendar = ({
|
|
|
3794
4257
|
)
|
|
3795
4258
|
] })
|
|
3796
4259
|
] }),
|
|
3797
|
-
/* @__PURE__ */
|
|
4260
|
+
/* @__PURE__ */ jsx26("div", { className: "grid grid-cols-7 mb-2", children: WEEK_DAYS.map((day) => /* @__PURE__ */ jsx26(
|
|
3798
4261
|
"div",
|
|
3799
4262
|
{
|
|
3800
4263
|
className: "h-4 flex items-center justify-center text-xs font-semibold text-text-500",
|
|
3801
4264
|
children: day
|
|
3802
4265
|
},
|
|
3803
4266
|
day
|
|
3804
|
-
)) }),
|
|
3805
|
-
/* @__PURE__ */
|
|
3806
|
-
if (!day.isCurrentMonth) {
|
|
3807
|
-
return /* @__PURE__ */
|
|
3808
|
-
"div",
|
|
3809
|
-
{
|
|
3810
|
-
className: "flex items-center justify-center",
|
|
3811
|
-
children: /* @__PURE__ */
|
|
3812
|
-
},
|
|
3813
|
-
day.date.getTime()
|
|
3814
|
-
);
|
|
3815
|
-
}
|
|
3816
|
-
const { dayStyle, textStyle } = getDayStyles(
|
|
3817
|
-
day,
|
|
3818
|
-
variant,
|
|
3819
|
-
showActivities
|
|
3820
|
-
);
|
|
3821
|
-
return /* @__PURE__ */ jsx24(
|
|
3822
|
-
"div",
|
|
3823
|
-
{
|
|
3824
|
-
className: "flex items-center justify-center",
|
|
3825
|
-
children: /* @__PURE__ */ jsx24(
|
|
3826
|
-
"button",
|
|
3827
|
-
{
|
|
3828
|
-
className: `
|
|
3829
|
-
w-9 h-9
|
|
3830
|
-
flex items-center justify-center
|
|
3831
|
-
text-lg font-normal
|
|
3832
|
-
cursor-pointer
|
|
3833
|
-
rounded-full
|
|
3834
|
-
focus:outline-none focus:ring-2 focus:ring-primary-600 focus:ring-offset-1
|
|
3835
|
-
${dayStyle}
|
|
3836
|
-
${textStyle}
|
|
3837
|
-
`,
|
|
3838
|
-
onClick: () => handleDateSelect(day),
|
|
3839
|
-
"aria-label": `${day.date.getDate()} de ${MONTH_NAMES[day.date.getMonth()]}`,
|
|
3840
|
-
"aria-current": day.isToday ? "date" : void 0,
|
|
3841
|
-
tabIndex: 0,
|
|
3842
|
-
children: day.date.getDate()
|
|
3843
|
-
}
|
|
3844
|
-
)
|
|
3845
|
-
},
|
|
3846
|
-
day.date.getTime()
|
|
3847
|
-
);
|
|
3848
|
-
}) })
|
|
3849
|
-
] });
|
|
3850
|
-
};
|
|
3851
|
-
var Calendar_default = Calendar;
|
|
3852
|
-
|
|
3853
|
-
// src/components/Modal/Modal.tsx
|
|
3854
|
-
import { useEffect as useEffect6, useId as useId7 } from "react";
|
|
3855
|
-
import { X as X3 } from "phosphor-react";
|
|
3856
|
-
|
|
3857
|
-
// src/components/Modal/utils/videoUtils.ts
|
|
3858
|
-
var isYouTubeUrl = (url) => {
|
|
3859
|
-
const youtubeRegex = /^(https?:\/\/)?((www|m|music)\.)?(youtube\.com|youtu\.be|youtube-nocookie\.com)\/.+/i;
|
|
3860
|
-
return youtubeRegex.test(url);
|
|
3861
|
-
};
|
|
3862
|
-
var isValidYouTubeHost = (host) => {
|
|
3863
|
-
if (host === "youtu.be") return "youtu.be";
|
|
3864
|
-
const isValidYouTubeCom = host === "youtube.com" || host.endsWith(".youtube.com") && /^(www|m|music)\.youtube\.com$/.test(host);
|
|
3865
|
-
if (isValidYouTubeCom) return "youtube";
|
|
3866
|
-
const isValidNoCookie = host === "youtube-nocookie.com" || host.endsWith(".youtube-nocookie.com") && /^(www|m|music)\.youtube-nocookie\.com$/.test(host);
|
|
3867
|
-
if (isValidNoCookie) return "nocookie";
|
|
3868
|
-
return null;
|
|
3869
|
-
};
|
|
3870
|
-
var extractYoutuBeId = (pathname) => {
|
|
3871
|
-
const firstSeg = pathname.split("/").filter(Boolean)[0];
|
|
3872
|
-
return firstSeg || null;
|
|
3873
|
-
};
|
|
3874
|
-
var extractYouTubeId = (pathname, searchParams) => {
|
|
3875
|
-
const parts = pathname.split("/").filter(Boolean);
|
|
3876
|
-
const [first, second] = parts;
|
|
3877
|
-
if (first === "embed" && second) return second;
|
|
3878
|
-
if (first === "shorts" && second) return second;
|
|
3879
|
-
if (first === "live" && second) return second;
|
|
3880
|
-
const v = searchParams.get("v");
|
|
3881
|
-
if (v) return v;
|
|
3882
|
-
return null;
|
|
3883
|
-
};
|
|
3884
|
-
var getYouTubeVideoId = (url) => {
|
|
3885
|
-
try {
|
|
3886
|
-
const u = new URL(url);
|
|
3887
|
-
const hostType = isValidYouTubeHost(u.hostname.toLowerCase());
|
|
3888
|
-
if (!hostType) return null;
|
|
3889
|
-
if (hostType === "youtu.be") {
|
|
3890
|
-
return extractYoutuBeId(u.pathname);
|
|
3891
|
-
}
|
|
3892
|
-
return extractYouTubeId(u.pathname, u.searchParams);
|
|
3893
|
-
} catch {
|
|
3894
|
-
return null;
|
|
3895
|
-
}
|
|
3896
|
-
};
|
|
3897
|
-
var getYouTubeEmbedUrl = (videoId) => {
|
|
3898
|
-
return `https://www.youtube-nocookie.com/embed/${videoId}?autoplay=0&rel=0&modestbranding=1`;
|
|
3899
|
-
};
|
|
3900
|
-
|
|
3901
|
-
// src/components/Modal/Modal.tsx
|
|
3902
|
-
import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3903
|
-
var SIZE_CLASSES10 = {
|
|
3904
|
-
xs: "max-w-[360px]",
|
|
3905
|
-
sm: "max-w-[420px]",
|
|
3906
|
-
md: "max-w-[510px]",
|
|
3907
|
-
lg: "max-w-[640px]",
|
|
3908
|
-
xl: "max-w-[970px]"
|
|
3909
|
-
};
|
|
3910
|
-
var Modal = ({
|
|
3911
|
-
isOpen,
|
|
3912
|
-
onClose,
|
|
3913
|
-
title,
|
|
3914
|
-
children,
|
|
3915
|
-
size = "md",
|
|
3916
|
-
className = "",
|
|
3917
|
-
closeOnEscape = true,
|
|
3918
|
-
footer,
|
|
3919
|
-
hideCloseButton = false,
|
|
3920
|
-
variant = "default",
|
|
3921
|
-
description,
|
|
3922
|
-
image,
|
|
3923
|
-
imageAlt,
|
|
3924
|
-
actionLink,
|
|
3925
|
-
actionLabel
|
|
3926
|
-
}) => {
|
|
3927
|
-
const titleId = useId7();
|
|
3928
|
-
useEffect6(() => {
|
|
3929
|
-
if (!isOpen || !closeOnEscape) return;
|
|
3930
|
-
const handleEscape = (event) => {
|
|
3931
|
-
if (event.key === "Escape") {
|
|
3932
|
-
onClose();
|
|
3933
|
-
}
|
|
3934
|
-
};
|
|
3935
|
-
document.addEventListener("keydown", handleEscape);
|
|
3936
|
-
return () => document.removeEventListener("keydown", handleEscape);
|
|
3937
|
-
}, [isOpen, closeOnEscape, onClose]);
|
|
3938
|
-
useEffect6(() => {
|
|
3939
|
-
const originalOverflow = document.body.style.overflow;
|
|
3940
|
-
if (isOpen) {
|
|
3941
|
-
document.body.style.overflow = "hidden";
|
|
3942
|
-
} else {
|
|
3943
|
-
document.body.style.overflow = originalOverflow;
|
|
3944
|
-
}
|
|
3945
|
-
return () => {
|
|
3946
|
-
document.body.style.overflow = originalOverflow;
|
|
3947
|
-
};
|
|
3948
|
-
}, [isOpen]);
|
|
3949
|
-
if (!isOpen) return null;
|
|
3950
|
-
const sizeClasses = SIZE_CLASSES10[size];
|
|
3951
|
-
const baseClasses = "bg-secondary-50 rounded-3xl shadow-hard-shadow-2 border border-border-100 w-full mx-4";
|
|
3952
|
-
const dialogResetClasses = "p-0 m-0 border-none outline-none max-h-none static";
|
|
3953
|
-
const modalClasses = cn(
|
|
3954
|
-
baseClasses,
|
|
3955
|
-
sizeClasses,
|
|
3956
|
-
dialogResetClasses,
|
|
3957
|
-
className
|
|
3958
|
-
);
|
|
3959
|
-
const normalizeUrl = (href) => /^https?:\/\//i.test(href) ? href : `https://${href}`;
|
|
3960
|
-
const handleActionClick = () => {
|
|
3961
|
-
if (actionLink) {
|
|
3962
|
-
window.open(normalizeUrl(actionLink), "_blank", "noopener,noreferrer");
|
|
3963
|
-
}
|
|
3964
|
-
};
|
|
3965
|
-
if (variant === "activity") {
|
|
3966
|
-
return /* @__PURE__ */ jsx25("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-xs border-none p-0 m-0 w-full cursor-default", children: /* @__PURE__ */ jsxs19(
|
|
3967
|
-
"dialog",
|
|
3968
|
-
{
|
|
3969
|
-
className: modalClasses,
|
|
3970
|
-
"aria-labelledby": titleId,
|
|
3971
|
-
"aria-modal": "true",
|
|
3972
|
-
open: true,
|
|
3973
|
-
children: [
|
|
3974
|
-
/* @__PURE__ */ jsx25("div", { className: "flex justify-end p-6 pb-0", children: !hideCloseButton && /* @__PURE__ */ jsx25(
|
|
3975
|
-
"button",
|
|
3976
|
-
{
|
|
3977
|
-
onClick: onClose,
|
|
3978
|
-
className: "p-1 text-text-500 hover:text-text-700 hover:bg-background-50 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-indicator-info focus:ring-offset-2",
|
|
3979
|
-
"aria-label": "Fechar modal",
|
|
3980
|
-
children: /* @__PURE__ */ jsx25(X3, { size: 18 })
|
|
3981
|
-
}
|
|
3982
|
-
) }),
|
|
3983
|
-
/* @__PURE__ */ jsxs19("div", { className: "flex flex-col items-center px-6 pb-6 gap-5", children: [
|
|
3984
|
-
image && /* @__PURE__ */ jsx25("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx25(
|
|
3985
|
-
"img",
|
|
3986
|
-
{
|
|
3987
|
-
src: image,
|
|
3988
|
-
alt: imageAlt ?? "",
|
|
3989
|
-
className: "w-[122px] h-[122px] object-contain"
|
|
3990
|
-
}
|
|
3991
|
-
) }),
|
|
3992
|
-
/* @__PURE__ */ jsx25(
|
|
3993
|
-
"h2",
|
|
3994
|
-
{
|
|
3995
|
-
id: titleId,
|
|
3996
|
-
className: "text-lg font-semibold text-text-950 text-center",
|
|
3997
|
-
children: title
|
|
3998
|
-
}
|
|
3999
|
-
),
|
|
4000
|
-
description && /* @__PURE__ */ jsx25("p", { className: "text-sm font-normal text-text-400 text-center max-w-md leading-[21px]", children: description }),
|
|
4001
|
-
actionLink && /* @__PURE__ */ jsxs19("div", { className: "w-full", children: [
|
|
4002
|
-
(() => {
|
|
4003
|
-
const normalized = normalizeUrl(actionLink);
|
|
4004
|
-
const isYT = isYouTubeUrl(normalized);
|
|
4005
|
-
if (!isYT) return null;
|
|
4006
|
-
const id = getYouTubeVideoId(normalized);
|
|
4007
|
-
if (!id) {
|
|
4008
|
-
return /* @__PURE__ */ jsx25(
|
|
4009
|
-
Button_default,
|
|
4010
|
-
{
|
|
4011
|
-
variant: "solid",
|
|
4012
|
-
action: "primary",
|
|
4013
|
-
size: "large",
|
|
4014
|
-
className: "w-full",
|
|
4015
|
-
onClick: handleActionClick,
|
|
4016
|
-
children: actionLabel || "Iniciar Atividade"
|
|
4017
|
-
}
|
|
4018
|
-
);
|
|
4019
|
-
}
|
|
4020
|
-
return /* @__PURE__ */ jsx25(
|
|
4021
|
-
"iframe",
|
|
4022
|
-
{
|
|
4023
|
-
src: getYouTubeEmbedUrl(id),
|
|
4024
|
-
className: "w-full aspect-video rounded-lg",
|
|
4025
|
-
allowFullScreen: true,
|
|
4026
|
-
allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
|
|
4027
|
-
title: "V\xEDdeo YouTube"
|
|
4028
|
-
}
|
|
4029
|
-
);
|
|
4030
|
-
})(),
|
|
4031
|
-
!isYouTubeUrl(normalizeUrl(actionLink)) && /* @__PURE__ */ jsx25(
|
|
4032
|
-
Button_default,
|
|
4033
|
-
{
|
|
4034
|
-
variant: "solid",
|
|
4035
|
-
action: "primary",
|
|
4036
|
-
size: "large",
|
|
4037
|
-
className: "w-full",
|
|
4038
|
-
onClick: handleActionClick,
|
|
4039
|
-
children: actionLabel || "Iniciar Atividade"
|
|
4040
|
-
}
|
|
4041
|
-
)
|
|
4042
|
-
] })
|
|
4043
|
-
] })
|
|
4044
|
-
]
|
|
4267
|
+
)) }),
|
|
4268
|
+
/* @__PURE__ */ jsx26("div", { className: "grid grid-cols-7", children: calendarData.map((day) => {
|
|
4269
|
+
if (!day.isCurrentMonth) {
|
|
4270
|
+
return /* @__PURE__ */ jsx26(
|
|
4271
|
+
"div",
|
|
4272
|
+
{
|
|
4273
|
+
className: "flex items-center justify-center",
|
|
4274
|
+
children: /* @__PURE__ */ jsx26("div", { className: "w-10 h-10" })
|
|
4275
|
+
},
|
|
4276
|
+
day.date.getTime()
|
|
4277
|
+
);
|
|
4045
4278
|
}
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
/* @__PURE__ */ jsxs19("div", { className: "flex items-center justify-between px-6 py-6", children: [
|
|
4057
|
-
/* @__PURE__ */ jsx25("h2", { id: titleId, className: "text-lg font-semibold text-text-950", children: title }),
|
|
4058
|
-
!hideCloseButton && /* @__PURE__ */ jsx25(
|
|
4279
|
+
const { dayStyle, textStyle } = getDayStyles(
|
|
4280
|
+
day,
|
|
4281
|
+
variant,
|
|
4282
|
+
showActivities
|
|
4283
|
+
);
|
|
4284
|
+
return /* @__PURE__ */ jsx26(
|
|
4285
|
+
"div",
|
|
4286
|
+
{
|
|
4287
|
+
className: "flex items-center justify-center",
|
|
4288
|
+
children: /* @__PURE__ */ jsx26(
|
|
4059
4289
|
"button",
|
|
4060
4290
|
{
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
|
|
4291
|
+
className: `
|
|
4292
|
+
w-9 h-9
|
|
4293
|
+
flex items-center justify-center
|
|
4294
|
+
text-lg font-normal
|
|
4295
|
+
cursor-pointer
|
|
4296
|
+
rounded-full
|
|
4297
|
+
focus:outline-none focus:ring-2 focus:ring-primary-600 focus:ring-offset-1
|
|
4298
|
+
${dayStyle}
|
|
4299
|
+
${textStyle}
|
|
4300
|
+
`,
|
|
4301
|
+
onClick: () => handleDateSelect(day),
|
|
4302
|
+
"aria-label": `${day.date.getDate()} de ${MONTH_NAMES[day.date.getMonth()]}`,
|
|
4303
|
+
"aria-current": day.isToday ? "date" : void 0,
|
|
4304
|
+
tabIndex: 0,
|
|
4305
|
+
children: day.date.getDate()
|
|
4065
4306
|
}
|
|
4066
4307
|
)
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
) });
|
|
4308
|
+
},
|
|
4309
|
+
day.date.getTime()
|
|
4310
|
+
);
|
|
4311
|
+
}) })
|
|
4312
|
+
] });
|
|
4073
4313
|
};
|
|
4074
|
-
var
|
|
4314
|
+
var Calendar_default = Calendar;
|
|
4075
4315
|
|
|
4076
4316
|
// src/components/Accordation/Accordation.tsx
|
|
4077
4317
|
import {
|
|
4078
4318
|
forwardRef as forwardRef13,
|
|
4079
4319
|
useId as useId8,
|
|
4080
|
-
useState as
|
|
4320
|
+
useState as useState11
|
|
4081
4321
|
} from "react";
|
|
4082
4322
|
|
|
4083
4323
|
// src/components/Card/Card.tsx
|
|
4084
4324
|
import {
|
|
4085
4325
|
forwardRef as forwardRef12,
|
|
4086
|
-
Fragment as
|
|
4087
|
-
useState as
|
|
4088
|
-
useRef as
|
|
4326
|
+
Fragment as Fragment4,
|
|
4327
|
+
useState as useState10,
|
|
4328
|
+
useRef as useRef7
|
|
4089
4329
|
} from "react";
|
|
4090
4330
|
import {
|
|
4091
|
-
CaretRight,
|
|
4331
|
+
CaretRight as CaretRight2,
|
|
4092
4332
|
ChatCircleText,
|
|
4093
4333
|
CheckCircle as CheckCircle3,
|
|
4094
4334
|
Clock,
|
|
@@ -4102,7 +4342,7 @@ import {
|
|
|
4102
4342
|
|
|
4103
4343
|
// src/components/IconRender/IconRender.tsx
|
|
4104
4344
|
import * as PhosphorIcons from "phosphor-react";
|
|
4105
|
-
import { jsx as
|
|
4345
|
+
import { jsx as jsx27, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
4106
4346
|
var ChatPT = ({ size, color }) => /* @__PURE__ */ jsxs20(
|
|
4107
4347
|
"svg",
|
|
4108
4348
|
{
|
|
@@ -4112,21 +4352,21 @@ var ChatPT = ({ size, color }) => /* @__PURE__ */ jsxs20(
|
|
|
4112
4352
|
fill: "none",
|
|
4113
4353
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4114
4354
|
children: [
|
|
4115
|
-
/* @__PURE__ */
|
|
4355
|
+
/* @__PURE__ */ jsx27(
|
|
4116
4356
|
"path",
|
|
4117
4357
|
{
|
|
4118
4358
|
d: "M27 6H5.00004C4.4696 6 3.9609 6.21071 3.58582 6.58579C3.21075 6.96086 3.00004 7.46957 3.00004 8V28C2.99773 28.3814 3.10562 28.7553 3.31074 29.0768C3.51585 29.3984 3.80947 29.6538 4.15629 29.8125C4.42057 29.9356 4.7085 29.9995 5.00004 30C5.46954 29.9989 5.92347 29.8315 6.28129 29.5275L6.29254 29.5187L10.375 26H27C27.5305 26 28.0392 25.7893 28.4142 25.4142C28.7893 25.0391 29 24.5304 29 24V8C29 7.46957 28.7893 6.96086 28.4142 6.58579C28.0392 6.21071 27.5305 6 27 6ZM27 24H10C9.75992 24.0001 9.52787 24.0866 9.34629 24.2437L5.00004 28V8H27V24Z",
|
|
4119
4359
|
fill: color
|
|
4120
4360
|
}
|
|
4121
4361
|
),
|
|
4122
|
-
/* @__PURE__ */
|
|
4362
|
+
/* @__PURE__ */ jsx27(
|
|
4123
4363
|
"path",
|
|
4124
4364
|
{
|
|
4125
4365
|
d: "M21.1758 12V20.5312H19.7168V12H21.1758ZM23.8535 12V13.1719H17.0625V12H23.8535Z",
|
|
4126
4366
|
fill: color
|
|
4127
4367
|
}
|
|
4128
4368
|
),
|
|
4129
|
-
/* @__PURE__ */
|
|
4369
|
+
/* @__PURE__ */ jsx27(
|
|
4130
4370
|
"path",
|
|
4131
4371
|
{
|
|
4132
4372
|
d: "M13.2402 17.3496H11.0195V16.1836H13.2402C13.627 16.1836 13.9395 16.1211 14.1777 15.9961C14.416 15.8711 14.5898 15.6992 14.6992 15.4805C14.8125 15.2578 14.8691 15.0039 14.8691 14.7188C14.8691 14.4492 14.8125 14.1973 14.6992 13.9629C14.5898 13.7246 14.416 13.5332 14.1777 13.3887C13.9395 13.2441 13.627 13.1719 13.2402 13.1719H11.4707V20.5312H10V12H13.2402C13.9004 12 14.4609 12.1172 14.9219 12.3516C15.3867 12.582 15.7402 12.9023 15.9824 13.3125C16.2246 13.7188 16.3457 14.1836 16.3457 14.707C16.3457 15.2578 16.2246 15.7305 15.9824 16.125C15.7402 16.5195 15.3867 16.8223 14.9219 17.0332C14.4609 17.2441 13.9004 17.3496 13.2402 17.3496Z",
|
|
@@ -4145,21 +4385,21 @@ var ChatEN = ({ size, color }) => /* @__PURE__ */ jsxs20(
|
|
|
4145
4385
|
fill: "none",
|
|
4146
4386
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4147
4387
|
children: [
|
|
4148
|
-
/* @__PURE__ */
|
|
4388
|
+
/* @__PURE__ */ jsx27(
|
|
4149
4389
|
"path",
|
|
4150
4390
|
{
|
|
4151
4391
|
d: "M27 6H5.00004C4.4696 6 3.9609 6.21071 3.58582 6.58579C3.21075 6.96086 3.00004 7.46957 3.00004 8V28C2.99773 28.3814 3.10562 28.7553 3.31074 29.0768C3.51585 29.3984 3.80947 29.6538 4.15629 29.8125C4.42057 29.9356 4.7085 29.9995 5.00004 30C5.46954 29.9989 5.92347 29.8315 6.28129 29.5275L6.29254 29.5187L10.375 26H27C27.5305 26 28.0392 25.7893 28.4142 25.4142C28.7893 25.0391 29 24.5304 29 24V8C29 7.46957 28.7893 6.96086 28.4142 6.58579C28.0392 6.21071 27.5305 6 27 6ZM27 24H10C9.75992 24.0001 9.52787 24.0866 9.34629 24.2437L5.00004 28V8H27V24Z",
|
|
4152
4392
|
fill: color
|
|
4153
4393
|
}
|
|
4154
4394
|
),
|
|
4155
|
-
/* @__PURE__ */
|
|
4395
|
+
/* @__PURE__ */ jsx27(
|
|
4156
4396
|
"path",
|
|
4157
4397
|
{
|
|
4158
4398
|
d: "M22.5488 12V20.5312H21.0781L17.252 14.4199V20.5312H15.7812V12H17.252L21.0898 18.123V12H22.5488Z",
|
|
4159
4399
|
fill: color
|
|
4160
4400
|
}
|
|
4161
4401
|
),
|
|
4162
|
-
/* @__PURE__ */
|
|
4402
|
+
/* @__PURE__ */ jsx27(
|
|
4163
4403
|
"path",
|
|
4164
4404
|
{
|
|
4165
4405
|
d: "M14.584 19.3652V20.5312H10.0547V19.3652H14.584ZM10.4707 12V20.5312H9V12H10.4707ZM13.9922 15.5625V16.7109H10.0547V15.5625H13.9922ZM14.5547 12V13.1719H10.0547V12H14.5547Z",
|
|
@@ -4178,21 +4418,21 @@ var ChatES = ({ size, color }) => /* @__PURE__ */ jsxs20(
|
|
|
4178
4418
|
fill: "none",
|
|
4179
4419
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4180
4420
|
children: [
|
|
4181
|
-
/* @__PURE__ */
|
|
4421
|
+
/* @__PURE__ */ jsx27(
|
|
4182
4422
|
"path",
|
|
4183
4423
|
{
|
|
4184
4424
|
d: "M27 6H5.00004C4.4696 6 3.9609 6.21071 3.58582 6.58579C3.21075 6.96086 3.00004 7.46957 3.00004 8V28C2.99773 28.3814 3.10562 28.7553 3.31074 29.0768C3.51585 29.3984 3.80947 29.6538 4.15629 29.8125C4.42057 29.9356 4.7085 29.9995 5.00004 30C5.46954 29.9989 5.92347 29.8315 6.28129 29.5275L6.29254 29.5187L10.375 26H27C27.5305 26 28.0392 25.7893 28.4142 25.4142C28.7893 25.0391 29 24.5304 29 24V8C29 7.46957 28.7893 6.96086 28.4142 6.58579C28.0392 6.21071 27.5305 6 27 6ZM27 24H10C9.75992 24.0001 9.52787 24.0866 9.34629 24.2437L5.00004 28V8H27V24Z",
|
|
4185
4425
|
fill: color
|
|
4186
4426
|
}
|
|
4187
4427
|
),
|
|
4188
|
-
/* @__PURE__ */
|
|
4428
|
+
/* @__PURE__ */ jsx27(
|
|
4189
4429
|
"path",
|
|
4190
4430
|
{
|
|
4191
4431
|
d: "M21.1426 17.8027C21.1426 17.627 21.1152 17.4707 21.0605 17.334C21.0098 17.1973 20.918 17.0723 20.7852 16.959C20.6523 16.8457 20.4648 16.7363 20.2227 16.6309C19.9844 16.5215 19.6797 16.4102 19.3086 16.2969C18.9023 16.1719 18.5273 16.0332 18.1836 15.8809C17.8438 15.7246 17.5469 15.5449 17.293 15.3418C17.0391 15.1348 16.8418 14.8984 16.7012 14.6328C16.5605 14.3633 16.4902 14.0527 16.4902 13.7012C16.4902 13.3535 16.5625 13.0371 16.707 12.752C16.8555 12.4668 17.0645 12.2207 17.334 12.0137C17.6074 11.8027 17.9297 11.6406 18.3008 11.5273C18.6719 11.4102 19.082 11.3516 19.5312 11.3516C20.1641 11.3516 20.709 11.4688 21.166 11.7031C21.627 11.9375 21.9805 12.252 22.2266 12.6465C22.4766 13.041 22.6016 13.4766 22.6016 13.9531H21.1426C21.1426 13.6719 21.082 13.4238 20.9609 13.209C20.8438 12.9902 20.6641 12.8184 20.4219 12.6934C20.1836 12.5684 19.8809 12.5059 19.5137 12.5059C19.166 12.5059 18.877 12.5586 18.6465 12.6641C18.416 12.7695 18.2441 12.9121 18.1309 13.0918C18.0176 13.2715 17.9609 13.4746 17.9609 13.7012C17.9609 13.8613 17.998 14.0078 18.0723 14.1406C18.1465 14.2695 18.2598 14.3906 18.4121 14.5039C18.5645 14.6133 18.7559 14.7168 18.9863 14.8145C19.2168 14.9121 19.4883 15.0059 19.8008 15.0957C20.2734 15.2363 20.6855 15.3926 21.0371 15.5645C21.3887 15.7324 21.6816 15.9238 21.916 16.1387C22.1504 16.3535 22.3262 16.5977 22.4434 16.8711C22.5605 17.1406 22.6191 17.4473 22.6191 17.791C22.6191 18.1504 22.5469 18.4746 22.4023 18.7637C22.2578 19.0488 22.0508 19.293 21.7812 19.4961C21.5156 19.6953 21.1953 19.8496 20.8203 19.959C20.4492 20.0645 20.0352 20.1172 19.5781 20.1172C19.168 20.1172 18.7637 20.0625 18.3652 19.9531C17.9707 19.8438 17.6113 19.6777 17.2871 19.4551C16.9629 19.2285 16.7051 18.9473 16.5137 18.6113C16.3223 18.2715 16.2266 17.875 16.2266 17.4219H17.6973C17.6973 17.6992 17.7441 17.9355 17.8379 18.1309C17.9355 18.3262 18.0703 18.4863 18.2422 18.6113C18.4141 18.7324 18.6133 18.8223 18.8398 18.8809C19.0703 18.9395 19.3164 18.9688 19.5781 18.9688C19.9219 18.9688 20.209 18.9199 20.4395 18.8223C20.6738 18.7246 20.8496 18.5879 20.9668 18.4121C21.084 18.2363 21.1426 18.0332 21.1426 17.8027Z",
|
|
4192
4432
|
fill: color
|
|
4193
4433
|
}
|
|
4194
4434
|
),
|
|
4195
|
-
/* @__PURE__ */
|
|
4435
|
+
/* @__PURE__ */ jsx27(
|
|
4196
4436
|
"path",
|
|
4197
4437
|
{
|
|
4198
4438
|
d: "M15.4512 18.834V20H10.9219V18.834H15.4512ZM11.3379 11.4688V20H9.86719V11.4688H11.3379ZM14.8594 15.0312V16.1797H10.9219V15.0312H14.8594ZM15.4219 11.4688V12.6406H10.9219V11.4688H15.4219Z",
|
|
@@ -4210,21 +4450,21 @@ var IconRender = ({
|
|
|
4210
4450
|
}) => {
|
|
4211
4451
|
switch (iconName) {
|
|
4212
4452
|
case "Chat_PT":
|
|
4213
|
-
return /* @__PURE__ */
|
|
4453
|
+
return /* @__PURE__ */ jsx27(ChatPT, { size, color });
|
|
4214
4454
|
case "Chat_EN":
|
|
4215
|
-
return /* @__PURE__ */
|
|
4455
|
+
return /* @__PURE__ */ jsx27(ChatEN, { size, color });
|
|
4216
4456
|
case "Chat_ES":
|
|
4217
|
-
return /* @__PURE__ */
|
|
4457
|
+
return /* @__PURE__ */ jsx27(ChatES, { size, color });
|
|
4218
4458
|
default: {
|
|
4219
4459
|
const IconComponent = PhosphorIcons[iconName] || PhosphorIcons.Question;
|
|
4220
|
-
return /* @__PURE__ */
|
|
4460
|
+
return /* @__PURE__ */ jsx27(IconComponent, { size, color, weight });
|
|
4221
4461
|
}
|
|
4222
4462
|
}
|
|
4223
4463
|
};
|
|
4224
4464
|
var IconRender_default = IconRender;
|
|
4225
4465
|
|
|
4226
4466
|
// src/components/Card/Card.tsx
|
|
4227
|
-
import { Fragment as
|
|
4467
|
+
import { Fragment as Fragment5, jsx as jsx28, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
4228
4468
|
var CARD_BASE_CLASSES = {
|
|
4229
4469
|
default: "w-full bg-background border border-border-50 rounded-xl",
|
|
4230
4470
|
compact: "w-full bg-background border border-border-50 rounded-lg",
|
|
@@ -4266,7 +4506,7 @@ var CardBase = forwardRef12(
|
|
|
4266
4506
|
const minHeightClasses = CARD_MIN_HEIGHT_CLASSES[minHeight];
|
|
4267
4507
|
const layoutClasses = CARD_LAYOUT_CLASSES[layout];
|
|
4268
4508
|
const cursorClasses = CARD_CURSOR_CLASSES[cursor];
|
|
4269
|
-
return /* @__PURE__ */
|
|
4509
|
+
return /* @__PURE__ */ jsx28(
|
|
4270
4510
|
"div",
|
|
4271
4511
|
{
|
|
4272
4512
|
ref,
|
|
@@ -4343,7 +4583,7 @@ var CardActivitiesResults = forwardRef12(
|
|
|
4343
4583
|
extended ? "rounded-t-xl" : "rounded-xl"
|
|
4344
4584
|
),
|
|
4345
4585
|
children: [
|
|
4346
|
-
/* @__PURE__ */
|
|
4586
|
+
/* @__PURE__ */ jsx28(
|
|
4347
4587
|
"span",
|
|
4348
4588
|
{
|
|
4349
4589
|
className: cn(
|
|
@@ -4353,7 +4593,7 @@ var CardActivitiesResults = forwardRef12(
|
|
|
4353
4593
|
children: icon
|
|
4354
4594
|
}
|
|
4355
4595
|
),
|
|
4356
|
-
/* @__PURE__ */
|
|
4596
|
+
/* @__PURE__ */ jsx28(
|
|
4357
4597
|
Text_default,
|
|
4358
4598
|
{
|
|
4359
4599
|
size: "2xs",
|
|
@@ -4362,7 +4602,7 @@ var CardActivitiesResults = forwardRef12(
|
|
|
4362
4602
|
children: title
|
|
4363
4603
|
}
|
|
4364
4604
|
),
|
|
4365
|
-
/* @__PURE__ */
|
|
4605
|
+
/* @__PURE__ */ jsx28(
|
|
4366
4606
|
"p",
|
|
4367
4607
|
{
|
|
4368
4608
|
className: cn("text-lg font-bold truncate", actionSubTitleClasses),
|
|
@@ -4373,7 +4613,7 @@ var CardActivitiesResults = forwardRef12(
|
|
|
4373
4613
|
}
|
|
4374
4614
|
),
|
|
4375
4615
|
extended && /* @__PURE__ */ jsxs21("div", { className: "flex flex-col items-center gap-2.5 pb-9.5 pt-2.5", children: [
|
|
4376
|
-
/* @__PURE__ */
|
|
4616
|
+
/* @__PURE__ */ jsx28(
|
|
4377
4617
|
"p",
|
|
4378
4618
|
{
|
|
4379
4619
|
className: cn(
|
|
@@ -4383,7 +4623,7 @@ var CardActivitiesResults = forwardRef12(
|
|
|
4383
4623
|
children: header
|
|
4384
4624
|
}
|
|
4385
4625
|
),
|
|
4386
|
-
/* @__PURE__ */
|
|
4626
|
+
/* @__PURE__ */ jsx28(Badge_default, { size: "large", action: "info", children: description })
|
|
4387
4627
|
] })
|
|
4388
4628
|
]
|
|
4389
4629
|
}
|
|
@@ -4413,9 +4653,9 @@ var CardQuestions = forwardRef12(
|
|
|
4413
4653
|
...props,
|
|
4414
4654
|
children: [
|
|
4415
4655
|
/* @__PURE__ */ jsxs21("section", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
|
|
4416
|
-
/* @__PURE__ */
|
|
4656
|
+
/* @__PURE__ */ jsx28("p", { className: "font-bold text-xs text-text-950 truncate", children: header }),
|
|
4417
4657
|
/* @__PURE__ */ jsxs21("div", { className: "flex flex-row gap-6 items-center", children: [
|
|
4418
|
-
/* @__PURE__ */
|
|
4658
|
+
/* @__PURE__ */ jsx28(
|
|
4419
4659
|
Badge_default,
|
|
4420
4660
|
{
|
|
4421
4661
|
size: "medium",
|
|
@@ -4426,11 +4666,11 @@ var CardQuestions = forwardRef12(
|
|
|
4426
4666
|
),
|
|
4427
4667
|
/* @__PURE__ */ jsxs21("span", { className: "flex flex-row items-center gap-1 text-text-700 text-xs", children: [
|
|
4428
4668
|
isDone ? "Nota" : "Sem nota",
|
|
4429
|
-
isDone && /* @__PURE__ */
|
|
4669
|
+
isDone && /* @__PURE__ */ jsx28(Badge_default, { size: "medium", action: "success", children: "00" })
|
|
4430
4670
|
] })
|
|
4431
4671
|
] })
|
|
4432
4672
|
] }),
|
|
4433
|
-
/* @__PURE__ */
|
|
4673
|
+
/* @__PURE__ */ jsx28("span", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx28(
|
|
4434
4674
|
Button_default,
|
|
4435
4675
|
{
|
|
4436
4676
|
size: "extra-small",
|
|
@@ -4461,19 +4701,19 @@ var CardProgress = forwardRef12(
|
|
|
4461
4701
|
}, ref) => {
|
|
4462
4702
|
const isHorizontal = direction === "horizontal";
|
|
4463
4703
|
const contentComponent = {
|
|
4464
|
-
horizontal: /* @__PURE__ */ jsxs21(
|
|
4704
|
+
horizontal: /* @__PURE__ */ jsxs21(Fragment5, { children: [
|
|
4465
4705
|
showDates && /* @__PURE__ */ jsxs21("div", { className: "flex flex-row gap-6 items-center", children: [
|
|
4466
4706
|
initialDate && /* @__PURE__ */ jsxs21("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
|
|
4467
|
-
/* @__PURE__ */
|
|
4468
|
-
/* @__PURE__ */
|
|
4707
|
+
/* @__PURE__ */ jsx28("p", { className: "text-text-800 font-semibold", children: "In\xEDcio" }),
|
|
4708
|
+
/* @__PURE__ */ jsx28("p", { className: "text-text-600", children: initialDate })
|
|
4469
4709
|
] }),
|
|
4470
4710
|
endDate && /* @__PURE__ */ jsxs21("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
|
|
4471
|
-
/* @__PURE__ */
|
|
4472
|
-
/* @__PURE__ */
|
|
4711
|
+
/* @__PURE__ */ jsx28("p", { className: "text-text-800 font-semibold", children: "Fim" }),
|
|
4712
|
+
/* @__PURE__ */ jsx28("p", { className: "text-text-600", children: endDate })
|
|
4473
4713
|
] })
|
|
4474
4714
|
] }),
|
|
4475
4715
|
/* @__PURE__ */ jsxs21("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
|
|
4476
|
-
/* @__PURE__ */
|
|
4716
|
+
/* @__PURE__ */ jsx28(
|
|
4477
4717
|
ProgressBar_default,
|
|
4478
4718
|
{
|
|
4479
4719
|
size: "small",
|
|
@@ -4498,7 +4738,7 @@ var CardProgress = forwardRef12(
|
|
|
4498
4738
|
)
|
|
4499
4739
|
] })
|
|
4500
4740
|
] }),
|
|
4501
|
-
vertical: /* @__PURE__ */
|
|
4741
|
+
vertical: /* @__PURE__ */ jsx28("p", { className: "text-sm text-text-800", children: subhead })
|
|
4502
4742
|
};
|
|
4503
4743
|
return /* @__PURE__ */ jsxs21(
|
|
4504
4744
|
CardBase,
|
|
@@ -4511,7 +4751,7 @@ var CardProgress = forwardRef12(
|
|
|
4511
4751
|
className: cn(isHorizontal ? "h-20" : "", className),
|
|
4512
4752
|
...props,
|
|
4513
4753
|
children: [
|
|
4514
|
-
/* @__PURE__ */
|
|
4754
|
+
/* @__PURE__ */ jsx28(
|
|
4515
4755
|
"div",
|
|
4516
4756
|
{
|
|
4517
4757
|
className: cn(
|
|
@@ -4532,7 +4772,7 @@ var CardProgress = forwardRef12(
|
|
|
4532
4772
|
!isHorizontal && "gap-4"
|
|
4533
4773
|
),
|
|
4534
4774
|
children: [
|
|
4535
|
-
/* @__PURE__ */
|
|
4775
|
+
/* @__PURE__ */ jsx28(Text_default, { size: "sm", weight: "bold", className: "text-text-950 truncate", children: header }),
|
|
4536
4776
|
contentComponent[direction]
|
|
4537
4777
|
]
|
|
4538
4778
|
}
|
|
@@ -4563,13 +4803,13 @@ var CardTopic = forwardRef12(
|
|
|
4563
4803
|
className: cn("justify-center gap-2 py-2 px-4", className),
|
|
4564
4804
|
...props,
|
|
4565
4805
|
children: [
|
|
4566
|
-
subHead && /* @__PURE__ */
|
|
4567
|
-
/* @__PURE__ */
|
|
4568
|
-
index < subHead.length - 1 && /* @__PURE__ */
|
|
4806
|
+
subHead && /* @__PURE__ */ jsx28("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ jsxs21(Fragment4, { children: [
|
|
4807
|
+
/* @__PURE__ */ jsx28("p", { children: text }),
|
|
4808
|
+
index < subHead.length - 1 && /* @__PURE__ */ jsx28("p", { children: "\u2022" })
|
|
4569
4809
|
] }, `${text} - ${index}`)) }),
|
|
4570
|
-
/* @__PURE__ */
|
|
4810
|
+
/* @__PURE__ */ jsx28("p", { className: "text-sm text-text-950 font-bold truncate", children: header }),
|
|
4571
4811
|
/* @__PURE__ */ jsxs21("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
|
|
4572
|
-
/* @__PURE__ */
|
|
4812
|
+
/* @__PURE__ */ jsx28(
|
|
4573
4813
|
ProgressBar_default,
|
|
4574
4814
|
{
|
|
4575
4815
|
size: "small",
|
|
@@ -4628,8 +4868,8 @@ var CardPerformance = forwardRef12(
|
|
|
4628
4868
|
children: [
|
|
4629
4869
|
/* @__PURE__ */ jsxs21("div", { className: "w-full flex flex-col justify-between gap-2", children: [
|
|
4630
4870
|
/* @__PURE__ */ jsxs21("div", { className: "flex flex-row justify-between items-center gap-2", children: [
|
|
4631
|
-
/* @__PURE__ */
|
|
4632
|
-
actionVariant === "button" && /* @__PURE__ */
|
|
4871
|
+
/* @__PURE__ */ jsx28("p", { className: "text-lg font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
|
|
4872
|
+
actionVariant === "button" && /* @__PURE__ */ jsx28(
|
|
4633
4873
|
Button_default,
|
|
4634
4874
|
{
|
|
4635
4875
|
variant: "outline",
|
|
@@ -4640,17 +4880,17 @@ var CardPerformance = forwardRef12(
|
|
|
4640
4880
|
}
|
|
4641
4881
|
)
|
|
4642
4882
|
] }),
|
|
4643
|
-
/* @__PURE__ */
|
|
4883
|
+
/* @__PURE__ */ jsx28("div", { className: "w-full", children: hasProgress ? /* @__PURE__ */ jsx28(
|
|
4644
4884
|
ProgressBar_default,
|
|
4645
4885
|
{
|
|
4646
4886
|
value: progress,
|
|
4647
4887
|
label: `${progress}% ${labelProgress}`,
|
|
4648
4888
|
variant: progressVariant
|
|
4649
4889
|
}
|
|
4650
|
-
) : /* @__PURE__ */
|
|
4890
|
+
) : /* @__PURE__ */ jsx28("p", { className: "text-xs text-text-600 truncate", children: description }) })
|
|
4651
4891
|
] }),
|
|
4652
|
-
actionVariant == "caret" && /* @__PURE__ */
|
|
4653
|
-
|
|
4892
|
+
actionVariant == "caret" && /* @__PURE__ */ jsx28(
|
|
4893
|
+
CaretRight2,
|
|
4654
4894
|
{
|
|
4655
4895
|
className: "size-4.5 text-text-800 cursor-pointer",
|
|
4656
4896
|
"data-testid": "caret-icon"
|
|
@@ -4683,7 +4923,7 @@ var CardResults = forwardRef12(
|
|
|
4683
4923
|
className: cn("items-stretch cursor-pointer pr-4", className),
|
|
4684
4924
|
...props,
|
|
4685
4925
|
children: [
|
|
4686
|
-
/* @__PURE__ */
|
|
4926
|
+
/* @__PURE__ */ jsx28(
|
|
4687
4927
|
"div",
|
|
4688
4928
|
{
|
|
4689
4929
|
className: cn(
|
|
@@ -4692,7 +4932,7 @@ var CardResults = forwardRef12(
|
|
|
4692
4932
|
style: {
|
|
4693
4933
|
backgroundColor: color
|
|
4694
4934
|
},
|
|
4695
|
-
children: /* @__PURE__ */
|
|
4935
|
+
children: /* @__PURE__ */ jsx28(IconRender_default, { iconName: icon, color: "currentColor", size: 20 })
|
|
4696
4936
|
}
|
|
4697
4937
|
),
|
|
4698
4938
|
/* @__PURE__ */ jsxs21("div", { className: "w-full flex flex-row justify-between items-center", children: [
|
|
@@ -4704,7 +4944,7 @@ var CardResults = forwardRef12(
|
|
|
4704
4944
|
isRow ? "flex-row items-center gap-2" : "flex-col"
|
|
4705
4945
|
),
|
|
4706
4946
|
children: [
|
|
4707
|
-
/* @__PURE__ */
|
|
4947
|
+
/* @__PURE__ */ jsx28("p", { className: "text-sm font-bold text-text-950 flex-1", children: header }),
|
|
4708
4948
|
/* @__PURE__ */ jsxs21("span", { className: "flex flex-wrap flex-row gap-1 items-center", children: [
|
|
4709
4949
|
/* @__PURE__ */ jsxs21(
|
|
4710
4950
|
Badge_default,
|
|
@@ -4712,7 +4952,7 @@ var CardResults = forwardRef12(
|
|
|
4712
4952
|
action: "success",
|
|
4713
4953
|
variant: "solid",
|
|
4714
4954
|
size: "large",
|
|
4715
|
-
iconLeft: /* @__PURE__ */
|
|
4955
|
+
iconLeft: /* @__PURE__ */ jsx28(CheckCircle3, {}),
|
|
4716
4956
|
children: [
|
|
4717
4957
|
correct_answers,
|
|
4718
4958
|
" Corretas"
|
|
@@ -4725,7 +4965,7 @@ var CardResults = forwardRef12(
|
|
|
4725
4965
|
action: "error",
|
|
4726
4966
|
variant: "solid",
|
|
4727
4967
|
size: "large",
|
|
4728
|
-
iconLeft: /* @__PURE__ */
|
|
4968
|
+
iconLeft: /* @__PURE__ */ jsx28(XCircle2, {}),
|
|
4729
4969
|
children: [
|
|
4730
4970
|
incorrect_answers,
|
|
4731
4971
|
" Incorretas"
|
|
@@ -4736,7 +4976,7 @@ var CardResults = forwardRef12(
|
|
|
4736
4976
|
]
|
|
4737
4977
|
}
|
|
4738
4978
|
),
|
|
4739
|
-
/* @__PURE__ */
|
|
4979
|
+
/* @__PURE__ */ jsx28(CaretRight2, { className: "min-w-6 min-h-6 text-text-800" })
|
|
4740
4980
|
] })
|
|
4741
4981
|
]
|
|
4742
4982
|
}
|
|
@@ -4757,7 +4997,7 @@ var CardStatus = forwardRef12(
|
|
|
4757
4997
|
return "Em branco";
|
|
4758
4998
|
}
|
|
4759
4999
|
};
|
|
4760
|
-
return /* @__PURE__ */
|
|
5000
|
+
return /* @__PURE__ */ jsx28(
|
|
4761
5001
|
CardBase,
|
|
4762
5002
|
{
|
|
4763
5003
|
ref,
|
|
@@ -4767,21 +5007,21 @@ var CardStatus = forwardRef12(
|
|
|
4767
5007
|
className: cn("items-center cursor-pointer", className),
|
|
4768
5008
|
...props,
|
|
4769
5009
|
children: /* @__PURE__ */ jsxs21("div", { className: "flex justify-between w-full h-full flex-row items-center gap-2", children: [
|
|
4770
|
-
/* @__PURE__ */
|
|
5010
|
+
/* @__PURE__ */ jsx28("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
|
|
4771
5011
|
/* @__PURE__ */ jsxs21("span", { className: "flex flex-row gap-1 items-center flex-shrink-0", children: [
|
|
4772
|
-
status && /* @__PURE__ */
|
|
5012
|
+
status && /* @__PURE__ */ jsx28(
|
|
4773
5013
|
Badge_default,
|
|
4774
5014
|
{
|
|
4775
5015
|
action: status == "correct" ? "success" : "error",
|
|
4776
5016
|
variant: "solid",
|
|
4777
5017
|
size: "medium",
|
|
4778
|
-
iconLeft: status == "correct" ? /* @__PURE__ */
|
|
5018
|
+
iconLeft: status == "correct" ? /* @__PURE__ */ jsx28(CheckCircle3, {}) : /* @__PURE__ */ jsx28(XCircle2, {}),
|
|
4779
5019
|
children: getLabelBadge(status)
|
|
4780
5020
|
}
|
|
4781
5021
|
),
|
|
4782
|
-
label && /* @__PURE__ */
|
|
5022
|
+
label && /* @__PURE__ */ jsx28("p", { className: "text-sm text-text-800", children: label })
|
|
4783
5023
|
] }),
|
|
4784
|
-
/* @__PURE__ */
|
|
5024
|
+
/* @__PURE__ */ jsx28(CaretRight2, { className: "min-w-6 min-h-6 text-text-800 cursor-pointer flex-shrink-0 ml-2" })
|
|
4785
5025
|
] })
|
|
4786
5026
|
}
|
|
4787
5027
|
);
|
|
@@ -4802,9 +5042,9 @@ var CardSettings = forwardRef12(
|
|
|
4802
5042
|
),
|
|
4803
5043
|
...props,
|
|
4804
5044
|
children: [
|
|
4805
|
-
/* @__PURE__ */
|
|
4806
|
-
/* @__PURE__ */
|
|
4807
|
-
/* @__PURE__ */
|
|
5045
|
+
/* @__PURE__ */ jsx28("span", { className: "[&>svg]:size-6", children: icon }),
|
|
5046
|
+
/* @__PURE__ */ jsx28("p", { className: "w-full text-sm truncate", children: header }),
|
|
5047
|
+
/* @__PURE__ */ jsx28(CaretRight2, { size: 24, className: "cursor-pointer" })
|
|
4808
5048
|
]
|
|
4809
5049
|
}
|
|
4810
5050
|
);
|
|
@@ -4833,12 +5073,12 @@ var CardSupport = forwardRef12(
|
|
|
4833
5073
|
direction == "col" ? "flex-col" : "flex-row items-center"
|
|
4834
5074
|
),
|
|
4835
5075
|
children: [
|
|
4836
|
-
/* @__PURE__ */
|
|
4837
|
-
/* @__PURE__ */
|
|
5076
|
+
/* @__PURE__ */ jsx28("span", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx28("p", { className: "text-sm text-text-950 font-bold truncate", children: header }) }),
|
|
5077
|
+
/* @__PURE__ */ jsx28("span", { className: "flex flex-row gap-1", children })
|
|
4838
5078
|
]
|
|
4839
5079
|
}
|
|
4840
5080
|
),
|
|
4841
|
-
/* @__PURE__ */
|
|
5081
|
+
/* @__PURE__ */ jsx28(CaretRight2, { className: "text-text-800 cursor-pointer", size: 24 })
|
|
4842
5082
|
]
|
|
4843
5083
|
}
|
|
4844
5084
|
);
|
|
@@ -4869,7 +5109,7 @@ var CardForum = forwardRef12(
|
|
|
4869
5109
|
className: cn("w-auto h-auto gap-3", className),
|
|
4870
5110
|
...props,
|
|
4871
5111
|
children: [
|
|
4872
|
-
/* @__PURE__ */
|
|
5112
|
+
/* @__PURE__ */ jsx28(
|
|
4873
5113
|
"button",
|
|
4874
5114
|
{
|
|
4875
5115
|
type: "button",
|
|
@@ -4880,7 +5120,7 @@ var CardForum = forwardRef12(
|
|
|
4880
5120
|
),
|
|
4881
5121
|
/* @__PURE__ */ jsxs21("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
|
|
4882
5122
|
/* @__PURE__ */ jsxs21("div", { className: "flex flex-row gap-1 items-center flex-wrap", children: [
|
|
4883
|
-
/* @__PURE__ */
|
|
5123
|
+
/* @__PURE__ */ jsx28("p", { className: "text-xs font-semibold text-primary-700 truncate", children: title }),
|
|
4884
5124
|
/* @__PURE__ */ jsxs21("p", { className: "text-xs text-text-600", children: [
|
|
4885
5125
|
"\u2022 ",
|
|
4886
5126
|
date,
|
|
@@ -4888,7 +5128,7 @@ var CardForum = forwardRef12(
|
|
|
4888
5128
|
hour
|
|
4889
5129
|
] })
|
|
4890
5130
|
] }),
|
|
4891
|
-
/* @__PURE__ */
|
|
5131
|
+
/* @__PURE__ */ jsx28("p", { className: "text-text-950 text-sm line-clamp-2 truncate", children: content }),
|
|
4892
5132
|
/* @__PURE__ */ jsxs21(
|
|
4893
5133
|
"button",
|
|
4894
5134
|
{
|
|
@@ -4897,7 +5137,7 @@ var CardForum = forwardRef12(
|
|
|
4897
5137
|
onClick: () => onClickComments?.(valueComments),
|
|
4898
5138
|
className: "text-text-600 flex flex-row gap-2 items-center",
|
|
4899
5139
|
children: [
|
|
4900
|
-
/* @__PURE__ */
|
|
5140
|
+
/* @__PURE__ */ jsx28(ChatCircleText, { "aria-hidden": "true", size: 16 }),
|
|
4901
5141
|
/* @__PURE__ */ jsxs21("p", { className: "text-xs", children: [
|
|
4902
5142
|
comments,
|
|
4903
5143
|
" respostas"
|
|
@@ -4925,14 +5165,14 @@ var CardAudio = forwardRef12(
|
|
|
4925
5165
|
className,
|
|
4926
5166
|
...props
|
|
4927
5167
|
}, ref) => {
|
|
4928
|
-
const [isPlaying, setIsPlaying] =
|
|
4929
|
-
const [currentTime, setCurrentTime] =
|
|
4930
|
-
const [duration, setDuration] =
|
|
4931
|
-
const [volume, setVolume] =
|
|
4932
|
-
const [showVolumeControl, setShowVolumeControl] =
|
|
4933
|
-
const [showSpeedMenu, setShowSpeedMenu] =
|
|
4934
|
-
const [playbackRate, setPlaybackRate] =
|
|
4935
|
-
const audioRef =
|
|
5168
|
+
const [isPlaying, setIsPlaying] = useState10(false);
|
|
5169
|
+
const [currentTime, setCurrentTime] = useState10(0);
|
|
5170
|
+
const [duration, setDuration] = useState10(0);
|
|
5171
|
+
const [volume, setVolume] = useState10(1);
|
|
5172
|
+
const [showVolumeControl, setShowVolumeControl] = useState10(false);
|
|
5173
|
+
const [showSpeedMenu, setShowSpeedMenu] = useState10(false);
|
|
5174
|
+
const [playbackRate, setPlaybackRate] = useState10(1);
|
|
5175
|
+
const audioRef = useRef7(null);
|
|
4936
5176
|
const formatTime2 = (time) => {
|
|
4937
5177
|
const minutes = Math.floor(time / 60);
|
|
4938
5178
|
const seconds = Math.floor(time % 60);
|
|
@@ -4997,12 +5237,12 @@ var CardAudio = forwardRef12(
|
|
|
4997
5237
|
};
|
|
4998
5238
|
const getVolumeIcon = () => {
|
|
4999
5239
|
if (volume === 0) {
|
|
5000
|
-
return /* @__PURE__ */
|
|
5240
|
+
return /* @__PURE__ */ jsx28(SpeakerSimpleX, { size: 24 });
|
|
5001
5241
|
}
|
|
5002
5242
|
if (volume < 0.5) {
|
|
5003
|
-
return /* @__PURE__ */
|
|
5243
|
+
return /* @__PURE__ */ jsx28(SpeakerLow, { size: 24 });
|
|
5004
5244
|
}
|
|
5005
|
-
return /* @__PURE__ */
|
|
5245
|
+
return /* @__PURE__ */ jsx28(SpeakerHigh, { size: 24 });
|
|
5006
5246
|
};
|
|
5007
5247
|
return /* @__PURE__ */ jsxs21(
|
|
5008
5248
|
CardBase,
|
|
@@ -5017,7 +5257,7 @@ var CardAudio = forwardRef12(
|
|
|
5017
5257
|
),
|
|
5018
5258
|
...props,
|
|
5019
5259
|
children: [
|
|
5020
|
-
/* @__PURE__ */
|
|
5260
|
+
/* @__PURE__ */ jsx28(
|
|
5021
5261
|
"audio",
|
|
5022
5262
|
{
|
|
5023
5263
|
ref: audioRef,
|
|
@@ -5029,7 +5269,7 @@ var CardAudio = forwardRef12(
|
|
|
5029
5269
|
onEnded: handleEnded,
|
|
5030
5270
|
"data-testid": "audio-element",
|
|
5031
5271
|
"aria-label": title,
|
|
5032
|
-
children: tracks ? tracks.map((track) => /* @__PURE__ */
|
|
5272
|
+
children: tracks ? tracks.map((track) => /* @__PURE__ */ jsx28(
|
|
5033
5273
|
"track",
|
|
5034
5274
|
{
|
|
5035
5275
|
kind: track.kind,
|
|
@@ -5039,7 +5279,7 @@ var CardAudio = forwardRef12(
|
|
|
5039
5279
|
default: track.default
|
|
5040
5280
|
},
|
|
5041
5281
|
track.src
|
|
5042
|
-
)) : /* @__PURE__ */
|
|
5282
|
+
)) : /* @__PURE__ */ jsx28(
|
|
5043
5283
|
"track",
|
|
5044
5284
|
{
|
|
5045
5285
|
kind: "captions",
|
|
@@ -5050,7 +5290,7 @@ var CardAudio = forwardRef12(
|
|
|
5050
5290
|
)
|
|
5051
5291
|
}
|
|
5052
5292
|
),
|
|
5053
|
-
/* @__PURE__ */
|
|
5293
|
+
/* @__PURE__ */ jsx28(
|
|
5054
5294
|
"button",
|
|
5055
5295
|
{
|
|
5056
5296
|
type: "button",
|
|
@@ -5058,14 +5298,14 @@ var CardAudio = forwardRef12(
|
|
|
5058
5298
|
disabled: !src,
|
|
5059
5299
|
className: "cursor-pointer text-text-950 hover:text-primary-600 disabled:text-text-400 disabled:cursor-not-allowed",
|
|
5060
5300
|
"aria-label": isPlaying ? "Pausar" : "Reproduzir",
|
|
5061
|
-
children: isPlaying ? /* @__PURE__ */
|
|
5062
|
-
/* @__PURE__ */
|
|
5063
|
-
/* @__PURE__ */
|
|
5064
|
-
] }) }) : /* @__PURE__ */
|
|
5301
|
+
children: isPlaying ? /* @__PURE__ */ jsx28("div", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ jsxs21("div", { className: "flex gap-0.5", children: [
|
|
5302
|
+
/* @__PURE__ */ jsx28("div", { className: "w-1 h-4 bg-current rounded-sm" }),
|
|
5303
|
+
/* @__PURE__ */ jsx28("div", { className: "w-1 h-4 bg-current rounded-sm" })
|
|
5304
|
+
] }) }) : /* @__PURE__ */ jsx28(Play, { size: 24 })
|
|
5065
5305
|
}
|
|
5066
5306
|
),
|
|
5067
|
-
/* @__PURE__ */
|
|
5068
|
-
/* @__PURE__ */
|
|
5307
|
+
/* @__PURE__ */ jsx28("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime2(currentTime) }),
|
|
5308
|
+
/* @__PURE__ */ jsx28("div", { className: "flex-1 relative", "data-testid": "progress-bar", children: /* @__PURE__ */ jsx28(
|
|
5069
5309
|
"button",
|
|
5070
5310
|
{
|
|
5071
5311
|
type: "button",
|
|
@@ -5080,7 +5320,7 @@ var CardAudio = forwardRef12(
|
|
|
5080
5320
|
}
|
|
5081
5321
|
},
|
|
5082
5322
|
"aria-label": "Barra de progresso do \xE1udio",
|
|
5083
|
-
children: /* @__PURE__ */
|
|
5323
|
+
children: /* @__PURE__ */ jsx28(
|
|
5084
5324
|
"div",
|
|
5085
5325
|
{
|
|
5086
5326
|
className: "h-full bg-primary-600 rounded-full transition-all duration-100",
|
|
@@ -5091,19 +5331,19 @@ var CardAudio = forwardRef12(
|
|
|
5091
5331
|
)
|
|
5092
5332
|
}
|
|
5093
5333
|
) }),
|
|
5094
|
-
/* @__PURE__ */
|
|
5334
|
+
/* @__PURE__ */ jsx28("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime2(duration) }),
|
|
5095
5335
|
/* @__PURE__ */ jsxs21("div", { className: "relative h-6", children: [
|
|
5096
|
-
/* @__PURE__ */
|
|
5336
|
+
/* @__PURE__ */ jsx28(
|
|
5097
5337
|
"button",
|
|
5098
5338
|
{
|
|
5099
5339
|
type: "button",
|
|
5100
5340
|
onClick: toggleVolumeControl,
|
|
5101
5341
|
className: "cursor-pointer text-text-950 hover:text-primary-600",
|
|
5102
5342
|
"aria-label": "Controle de volume",
|
|
5103
|
-
children: /* @__PURE__ */
|
|
5343
|
+
children: /* @__PURE__ */ jsx28("div", { className: "w-6 h-6 flex items-center justify-center", children: getVolumeIcon() })
|
|
5104
5344
|
}
|
|
5105
5345
|
),
|
|
5106
|
-
showVolumeControl && /* @__PURE__ */
|
|
5346
|
+
showVolumeControl && /* @__PURE__ */ jsx28(
|
|
5107
5347
|
"button",
|
|
5108
5348
|
{
|
|
5109
5349
|
type: "button",
|
|
@@ -5113,7 +5353,7 @@ var CardAudio = forwardRef12(
|
|
|
5113
5353
|
setShowVolumeControl(false);
|
|
5114
5354
|
}
|
|
5115
5355
|
},
|
|
5116
|
-
children: /* @__PURE__ */
|
|
5356
|
+
children: /* @__PURE__ */ jsx28(
|
|
5117
5357
|
"input",
|
|
5118
5358
|
{
|
|
5119
5359
|
type: "range",
|
|
@@ -5155,21 +5395,21 @@ var CardAudio = forwardRef12(
|
|
|
5155
5395
|
)
|
|
5156
5396
|
] }),
|
|
5157
5397
|
/* @__PURE__ */ jsxs21("div", { className: "relative h-6", children: [
|
|
5158
|
-
/* @__PURE__ */
|
|
5398
|
+
/* @__PURE__ */ jsx28(
|
|
5159
5399
|
"button",
|
|
5160
5400
|
{
|
|
5161
5401
|
type: "button",
|
|
5162
5402
|
onClick: toggleSpeedMenu,
|
|
5163
5403
|
className: "cursor-pointer text-text-950 hover:text-primary-600",
|
|
5164
5404
|
"aria-label": "Op\xE7\xF5es de velocidade",
|
|
5165
|
-
children: /* @__PURE__ */
|
|
5405
|
+
children: /* @__PURE__ */ jsx28(DotsThreeVertical, { size: 24 })
|
|
5166
5406
|
}
|
|
5167
5407
|
),
|
|
5168
|
-
showSpeedMenu && /* @__PURE__ */
|
|
5408
|
+
showSpeedMenu && /* @__PURE__ */ jsx28("div", { className: "absolute bottom-full right-0 mb-2 p-2 bg-background border border-border-100 rounded-lg shadow-lg min-w-24 z-10", children: /* @__PURE__ */ jsx28("div", { className: "flex flex-col gap-1", children: [
|
|
5169
5409
|
{ speed: 1, label: "1x" },
|
|
5170
5410
|
{ speed: 1.5, label: "1.5x" },
|
|
5171
5411
|
{ speed: 2, label: "2x" }
|
|
5172
|
-
].map(({ speed, label }) => /* @__PURE__ */
|
|
5412
|
+
].map(({ speed, label }) => /* @__PURE__ */ jsx28(
|
|
5173
5413
|
"button",
|
|
5174
5414
|
{
|
|
5175
5415
|
type: "button",
|
|
@@ -5197,7 +5437,7 @@ var SIMULADO_BACKGROUND_CLASSES = {
|
|
|
5197
5437
|
var CardSimulado = forwardRef12(
|
|
5198
5438
|
({ title, duration, info, backgroundColor, className, ...props }, ref) => {
|
|
5199
5439
|
const backgroundClass = SIMULADO_BACKGROUND_CLASSES[backgroundColor];
|
|
5200
|
-
return /* @__PURE__ */
|
|
5440
|
+
return /* @__PURE__ */ jsx28(
|
|
5201
5441
|
CardBase,
|
|
5202
5442
|
{
|
|
5203
5443
|
ref,
|
|
@@ -5212,17 +5452,17 @@ var CardSimulado = forwardRef12(
|
|
|
5212
5452
|
...props,
|
|
5213
5453
|
children: /* @__PURE__ */ jsxs21("div", { className: "flex justify-between items-center w-full gap-4", children: [
|
|
5214
5454
|
/* @__PURE__ */ jsxs21("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
|
|
5215
|
-
/* @__PURE__ */
|
|
5455
|
+
/* @__PURE__ */ jsx28(Text_default, { size: "lg", weight: "bold", className: "text-text-950 truncate", children: title }),
|
|
5216
5456
|
/* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-4 text-text-700", children: [
|
|
5217
5457
|
duration && /* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-1", children: [
|
|
5218
|
-
/* @__PURE__ */
|
|
5219
|
-
/* @__PURE__ */
|
|
5458
|
+
/* @__PURE__ */ jsx28(Clock, { size: 16, className: "flex-shrink-0" }),
|
|
5459
|
+
/* @__PURE__ */ jsx28(Text_default, { size: "sm", children: duration })
|
|
5220
5460
|
] }),
|
|
5221
|
-
/* @__PURE__ */
|
|
5461
|
+
/* @__PURE__ */ jsx28(Text_default, { size: "sm", className: "truncate", children: info })
|
|
5222
5462
|
] })
|
|
5223
5463
|
] }),
|
|
5224
|
-
/* @__PURE__ */
|
|
5225
|
-
|
|
5464
|
+
/* @__PURE__ */ jsx28(
|
|
5465
|
+
CaretRight2,
|
|
5226
5466
|
{
|
|
5227
5467
|
size: 24,
|
|
5228
5468
|
className: "text-text-800 flex-shrink-0",
|
|
@@ -5266,7 +5506,7 @@ var CardTest = forwardRef12(
|
|
|
5266
5506
|
const interactiveClasses = isSelectable ? "cursor-pointer focus:outline-none focus:ring-2 focus:ring-primary-950 focus:ring-offset-2" : "";
|
|
5267
5507
|
const selectedClasses = selected ? "ring-2 ring-primary-950 ring-offset-2" : "";
|
|
5268
5508
|
if (isSelectable) {
|
|
5269
|
-
return /* @__PURE__ */
|
|
5509
|
+
return /* @__PURE__ */ jsx28(
|
|
5270
5510
|
"button",
|
|
5271
5511
|
{
|
|
5272
5512
|
ref,
|
|
@@ -5279,7 +5519,7 @@ var CardTest = forwardRef12(
|
|
|
5279
5519
|
"aria-pressed": selected,
|
|
5280
5520
|
...props,
|
|
5281
5521
|
children: /* @__PURE__ */ jsxs21("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
|
|
5282
|
-
/* @__PURE__ */
|
|
5522
|
+
/* @__PURE__ */ jsx28(
|
|
5283
5523
|
Text_default,
|
|
5284
5524
|
{
|
|
5285
5525
|
size: "md",
|
|
@@ -5290,8 +5530,8 @@ var CardTest = forwardRef12(
|
|
|
5290
5530
|
),
|
|
5291
5531
|
/* @__PURE__ */ jsxs21("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
|
|
5292
5532
|
duration && /* @__PURE__ */ jsxs21("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
|
|
5293
|
-
/* @__PURE__ */
|
|
5294
|
-
/* @__PURE__ */
|
|
5533
|
+
/* @__PURE__ */ jsx28(Clock, { size: 16, className: "text-text-700" }),
|
|
5534
|
+
/* @__PURE__ */ jsx28(
|
|
5295
5535
|
Text_default,
|
|
5296
5536
|
{
|
|
5297
5537
|
size: "sm",
|
|
@@ -5300,7 +5540,7 @@ var CardTest = forwardRef12(
|
|
|
5300
5540
|
}
|
|
5301
5541
|
)
|
|
5302
5542
|
] }),
|
|
5303
|
-
/* @__PURE__ */
|
|
5543
|
+
/* @__PURE__ */ jsx28(
|
|
5304
5544
|
Text_default,
|
|
5305
5545
|
{
|
|
5306
5546
|
size: "sm",
|
|
@@ -5313,14 +5553,14 @@ var CardTest = forwardRef12(
|
|
|
5313
5553
|
}
|
|
5314
5554
|
);
|
|
5315
5555
|
}
|
|
5316
|
-
return /* @__PURE__ */
|
|
5556
|
+
return /* @__PURE__ */ jsx28(
|
|
5317
5557
|
"div",
|
|
5318
5558
|
{
|
|
5319
5559
|
ref,
|
|
5320
5560
|
className: cn(`${baseClasses} ${className}`.trim()),
|
|
5321
5561
|
...props,
|
|
5322
5562
|
children: /* @__PURE__ */ jsxs21("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
|
|
5323
|
-
/* @__PURE__ */
|
|
5563
|
+
/* @__PURE__ */ jsx28(
|
|
5324
5564
|
Text_default,
|
|
5325
5565
|
{
|
|
5326
5566
|
size: "md",
|
|
@@ -5331,8 +5571,8 @@ var CardTest = forwardRef12(
|
|
|
5331
5571
|
),
|
|
5332
5572
|
/* @__PURE__ */ jsxs21("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
|
|
5333
5573
|
duration && /* @__PURE__ */ jsxs21("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
|
|
5334
|
-
/* @__PURE__ */
|
|
5335
|
-
/* @__PURE__ */
|
|
5574
|
+
/* @__PURE__ */ jsx28(Clock, { size: 16, className: "text-text-700" }),
|
|
5575
|
+
/* @__PURE__ */ jsx28(
|
|
5336
5576
|
Text_default,
|
|
5337
5577
|
{
|
|
5338
5578
|
size: "sm",
|
|
@@ -5341,7 +5581,7 @@ var CardTest = forwardRef12(
|
|
|
5341
5581
|
}
|
|
5342
5582
|
)
|
|
5343
5583
|
] }),
|
|
5344
|
-
/* @__PURE__ */
|
|
5584
|
+
/* @__PURE__ */ jsx28(
|
|
5345
5585
|
Text_default,
|
|
5346
5586
|
{
|
|
5347
5587
|
size: "sm",
|
|
@@ -5378,14 +5618,14 @@ var SIMULATION_TYPE_STYLES = {
|
|
|
5378
5618
|
}
|
|
5379
5619
|
};
|
|
5380
5620
|
var CardSimulationHistory = forwardRef12(({ data, onSimulationClick, className, ...props }, ref) => {
|
|
5381
|
-
return /* @__PURE__ */
|
|
5621
|
+
return /* @__PURE__ */ jsx28(
|
|
5382
5622
|
"div",
|
|
5383
5623
|
{
|
|
5384
5624
|
ref,
|
|
5385
5625
|
className: cn("w-full max-w-[992px] h-auto", className),
|
|
5386
5626
|
...props,
|
|
5387
5627
|
children: /* @__PURE__ */ jsxs21("div", { className: "flex flex-col gap-0", children: [
|
|
5388
|
-
data.map((section, sectionIndex) => /* @__PURE__ */
|
|
5628
|
+
data.map((section, sectionIndex) => /* @__PURE__ */ jsx28("div", { className: "flex flex-col", children: /* @__PURE__ */ jsxs21(
|
|
5389
5629
|
"div",
|
|
5390
5630
|
{
|
|
5391
5631
|
className: cn(
|
|
@@ -5393,7 +5633,7 @@ var CardSimulationHistory = forwardRef12(({ data, onSimulationClick, className,
|
|
|
5393
5633
|
sectionIndex === 0 ? "rounded-t-3xl" : ""
|
|
5394
5634
|
),
|
|
5395
5635
|
children: [
|
|
5396
|
-
/* @__PURE__ */
|
|
5636
|
+
/* @__PURE__ */ jsx28(
|
|
5397
5637
|
Text_default,
|
|
5398
5638
|
{
|
|
5399
5639
|
size: "xs",
|
|
@@ -5402,9 +5642,9 @@ var CardSimulationHistory = forwardRef12(({ data, onSimulationClick, className,
|
|
|
5402
5642
|
children: section.date
|
|
5403
5643
|
}
|
|
5404
5644
|
),
|
|
5405
|
-
/* @__PURE__ */
|
|
5645
|
+
/* @__PURE__ */ jsx28("div", { className: "flex flex-col gap-2 flex-1", children: section.simulations.map((simulation) => {
|
|
5406
5646
|
const typeStyles = SIMULATION_TYPE_STYLES[simulation.type];
|
|
5407
|
-
return /* @__PURE__ */
|
|
5647
|
+
return /* @__PURE__ */ jsx28(
|
|
5408
5648
|
CardBase,
|
|
5409
5649
|
{
|
|
5410
5650
|
layout: "horizontal",
|
|
@@ -5418,7 +5658,7 @@ var CardSimulationHistory = forwardRef12(({ data, onSimulationClick, className,
|
|
|
5418
5658
|
onClick: () => onSimulationClick?.(simulation),
|
|
5419
5659
|
children: /* @__PURE__ */ jsxs21("div", { className: "flex justify-between items-center w-full gap-2", children: [
|
|
5420
5660
|
/* @__PURE__ */ jsxs21("div", { className: "flex flex-wrap flex-col justify-between sm:flex-row gap-2 flex-1 min-w-0", children: [
|
|
5421
|
-
/* @__PURE__ */
|
|
5661
|
+
/* @__PURE__ */ jsx28(
|
|
5422
5662
|
Text_default,
|
|
5423
5663
|
{
|
|
5424
5664
|
size: "lg",
|
|
@@ -5428,7 +5668,7 @@ var CardSimulationHistory = forwardRef12(({ data, onSimulationClick, className,
|
|
|
5428
5668
|
}
|
|
5429
5669
|
),
|
|
5430
5670
|
/* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-2", children: [
|
|
5431
|
-
/* @__PURE__ */
|
|
5671
|
+
/* @__PURE__ */ jsx28(
|
|
5432
5672
|
Badge_default,
|
|
5433
5673
|
{
|
|
5434
5674
|
variant: "examsOutlined",
|
|
@@ -5437,11 +5677,11 @@ var CardSimulationHistory = forwardRef12(({ data, onSimulationClick, className,
|
|
|
5437
5677
|
children: typeStyles.text
|
|
5438
5678
|
}
|
|
5439
5679
|
),
|
|
5440
|
-
/* @__PURE__ */
|
|
5680
|
+
/* @__PURE__ */ jsx28(Text_default, { size: "sm", className: "text-text-800 truncate", children: simulation.info })
|
|
5441
5681
|
] })
|
|
5442
5682
|
] }),
|
|
5443
|
-
/* @__PURE__ */
|
|
5444
|
-
|
|
5683
|
+
/* @__PURE__ */ jsx28(
|
|
5684
|
+
CaretRight2,
|
|
5445
5685
|
{
|
|
5446
5686
|
size: 24,
|
|
5447
5687
|
className: "text-text-800 flex-shrink-0",
|
|
@@ -5456,15 +5696,15 @@ var CardSimulationHistory = forwardRef12(({ data, onSimulationClick, className,
|
|
|
5456
5696
|
]
|
|
5457
5697
|
}
|
|
5458
5698
|
) }, section.date)),
|
|
5459
|
-
data.length > 0 && /* @__PURE__ */
|
|
5699
|
+
data.length > 0 && /* @__PURE__ */ jsx28("div", { className: "w-full h-6 bg-white rounded-b-3xl" })
|
|
5460
5700
|
] })
|
|
5461
5701
|
}
|
|
5462
5702
|
);
|
|
5463
5703
|
});
|
|
5464
5704
|
|
|
5465
5705
|
// src/components/Accordation/Accordation.tsx
|
|
5466
|
-
import { CaretRight as
|
|
5467
|
-
import { jsx as
|
|
5706
|
+
import { CaretRight as CaretRight3 } from "phosphor-react";
|
|
5707
|
+
import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
5468
5708
|
var CardAccordation = forwardRef13(
|
|
5469
5709
|
({
|
|
5470
5710
|
trigger,
|
|
@@ -5474,7 +5714,7 @@ var CardAccordation = forwardRef13(
|
|
|
5474
5714
|
onToggleExpanded,
|
|
5475
5715
|
...props
|
|
5476
5716
|
}, ref) => {
|
|
5477
|
-
const [isExpanded, setIsExpanded] =
|
|
5717
|
+
const [isExpanded, setIsExpanded] = useState11(defaultExpanded);
|
|
5478
5718
|
const contentId = useId8();
|
|
5479
5719
|
const handleToggle = () => {
|
|
5480
5720
|
const newExpanded = !isExpanded;
|
|
@@ -5507,8 +5747,8 @@ var CardAccordation = forwardRef13(
|
|
|
5507
5747
|
"aria-controls": "accordion-content",
|
|
5508
5748
|
children: [
|
|
5509
5749
|
trigger,
|
|
5510
|
-
/* @__PURE__ */
|
|
5511
|
-
|
|
5750
|
+
/* @__PURE__ */ jsx29(
|
|
5751
|
+
CaretRight3,
|
|
5512
5752
|
{
|
|
5513
5753
|
size: 20,
|
|
5514
5754
|
className: cn(
|
|
@@ -5521,7 +5761,7 @@ var CardAccordation = forwardRef13(
|
|
|
5521
5761
|
]
|
|
5522
5762
|
}
|
|
5523
5763
|
),
|
|
5524
|
-
/* @__PURE__ */
|
|
5764
|
+
/* @__PURE__ */ jsx29(
|
|
5525
5765
|
"div",
|
|
5526
5766
|
{
|
|
5527
5767
|
id: contentId,
|
|
@@ -5530,7 +5770,7 @@ var CardAccordation = forwardRef13(
|
|
|
5530
5770
|
isExpanded ? "max-h-screen opacity-100" : "max-h-0 opacity-0"
|
|
5531
5771
|
),
|
|
5532
5772
|
"data-testid": "accordion-content",
|
|
5533
|
-
children: /* @__PURE__ */
|
|
5773
|
+
children: /* @__PURE__ */ jsx29("div", { className: "p-4 pt-0 border-border-50", children })
|
|
5534
5774
|
}
|
|
5535
5775
|
)
|
|
5536
5776
|
]
|
|
@@ -5541,8 +5781,8 @@ var CardAccordation = forwardRef13(
|
|
|
5541
5781
|
|
|
5542
5782
|
// src/components/Alternative/Alternative.tsx
|
|
5543
5783
|
import { CheckCircle as CheckCircle4, XCircle as XCircle3 } from "phosphor-react";
|
|
5544
|
-
import { forwardRef as forwardRef14, useId as useId9, useState as
|
|
5545
|
-
import { jsx as
|
|
5784
|
+
import { forwardRef as forwardRef14, useId as useId9, useState as useState12 } from "react";
|
|
5785
|
+
import { jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
5546
5786
|
var AlternativesList = ({
|
|
5547
5787
|
alternatives,
|
|
5548
5788
|
name,
|
|
@@ -5557,7 +5797,7 @@ var AlternativesList = ({
|
|
|
5557
5797
|
}) => {
|
|
5558
5798
|
const uniqueId = useId9();
|
|
5559
5799
|
const groupName = name || `alternatives-${uniqueId}`;
|
|
5560
|
-
const [actualValue, setActualValue] =
|
|
5800
|
+
const [actualValue, setActualValue] = useState12(value);
|
|
5561
5801
|
const isReadonly = mode === "readonly";
|
|
5562
5802
|
const getStatusStyles2 = (status, isReadonly2) => {
|
|
5563
5803
|
const hoverClass = isReadonly2 ? "" : "hover:bg-background-50";
|
|
@@ -5573,9 +5813,9 @@ var AlternativesList = ({
|
|
|
5573
5813
|
const getStatusBadge2 = (status) => {
|
|
5574
5814
|
switch (status) {
|
|
5575
5815
|
case "correct":
|
|
5576
|
-
return /* @__PURE__ */
|
|
5816
|
+
return /* @__PURE__ */ jsx30(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx30(CheckCircle4, {}), children: "Resposta correta" });
|
|
5577
5817
|
case "incorrect":
|
|
5578
|
-
return /* @__PURE__ */
|
|
5818
|
+
return /* @__PURE__ */ jsx30(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx30(XCircle3, {}), children: "Resposta incorreta" });
|
|
5579
5819
|
default:
|
|
5580
5820
|
return null;
|
|
5581
5821
|
}
|
|
@@ -5605,10 +5845,10 @@ var AlternativesList = ({
|
|
|
5605
5845
|
const renderRadio = () => {
|
|
5606
5846
|
const radioClasses = `w-6 h-6 rounded-full border-2 cursor-default transition-all duration-200 flex items-center justify-center ${isUserSelected ? "border-primary-950 bg-background" : "border-border-400 bg-background"}`;
|
|
5607
5847
|
const dotClasses = "w-3 h-3 rounded-full bg-primary-950 transition-all duration-200";
|
|
5608
|
-
return /* @__PURE__ */
|
|
5848
|
+
return /* @__PURE__ */ jsx30("div", { className: radioClasses, children: isUserSelected && /* @__PURE__ */ jsx30("div", { className: dotClasses }) });
|
|
5609
5849
|
};
|
|
5610
5850
|
if (layout === "detailed") {
|
|
5611
|
-
return /* @__PURE__ */
|
|
5851
|
+
return /* @__PURE__ */ jsx30(
|
|
5612
5852
|
"div",
|
|
5613
5853
|
{
|
|
5614
5854
|
className: cn(
|
|
@@ -5618,9 +5858,9 @@ var AlternativesList = ({
|
|
|
5618
5858
|
),
|
|
5619
5859
|
children: /* @__PURE__ */ jsxs23("div", { className: "flex items-start justify-between gap-3", children: [
|
|
5620
5860
|
/* @__PURE__ */ jsxs23("div", { className: "flex items-start gap-3 flex-1", children: [
|
|
5621
|
-
/* @__PURE__ */
|
|
5861
|
+
/* @__PURE__ */ jsx30("div", { className: "mt-1", children: renderRadio() }),
|
|
5622
5862
|
/* @__PURE__ */ jsxs23("div", { className: "flex-1", children: [
|
|
5623
|
-
/* @__PURE__ */
|
|
5863
|
+
/* @__PURE__ */ jsx30(
|
|
5624
5864
|
"p",
|
|
5625
5865
|
{
|
|
5626
5866
|
className: cn(
|
|
@@ -5630,10 +5870,10 @@ var AlternativesList = ({
|
|
|
5630
5870
|
children: alternative.label
|
|
5631
5871
|
}
|
|
5632
5872
|
),
|
|
5633
|
-
alternative.description && /* @__PURE__ */
|
|
5873
|
+
alternative.description && /* @__PURE__ */ jsx30("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
|
|
5634
5874
|
] })
|
|
5635
5875
|
] }),
|
|
5636
|
-
statusBadge && /* @__PURE__ */
|
|
5876
|
+
statusBadge && /* @__PURE__ */ jsx30("div", { className: "flex-shrink-0", children: statusBadge })
|
|
5637
5877
|
] })
|
|
5638
5878
|
},
|
|
5639
5879
|
alternativeId
|
|
@@ -5650,7 +5890,7 @@ var AlternativesList = ({
|
|
|
5650
5890
|
children: [
|
|
5651
5891
|
/* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2 flex-1", children: [
|
|
5652
5892
|
renderRadio(),
|
|
5653
|
-
/* @__PURE__ */
|
|
5893
|
+
/* @__PURE__ */ jsx30(
|
|
5654
5894
|
"span",
|
|
5655
5895
|
{
|
|
5656
5896
|
className: cn(
|
|
@@ -5661,14 +5901,14 @@ var AlternativesList = ({
|
|
|
5661
5901
|
}
|
|
5662
5902
|
)
|
|
5663
5903
|
] }),
|
|
5664
|
-
statusBadge && /* @__PURE__ */
|
|
5904
|
+
statusBadge && /* @__PURE__ */ jsx30("div", { className: "flex-shrink-0", children: statusBadge })
|
|
5665
5905
|
]
|
|
5666
5906
|
},
|
|
5667
5907
|
alternativeId
|
|
5668
5908
|
);
|
|
5669
5909
|
};
|
|
5670
5910
|
if (isReadonly) {
|
|
5671
|
-
return /* @__PURE__ */
|
|
5911
|
+
return /* @__PURE__ */ jsx30(
|
|
5672
5912
|
"div",
|
|
5673
5913
|
{
|
|
5674
5914
|
className: cn("flex flex-col", getLayoutClasses(), "w-full", className),
|
|
@@ -5678,7 +5918,7 @@ var AlternativesList = ({
|
|
|
5678
5918
|
}
|
|
5679
5919
|
);
|
|
5680
5920
|
}
|
|
5681
|
-
return /* @__PURE__ */
|
|
5921
|
+
return /* @__PURE__ */ jsx30(
|
|
5682
5922
|
RadioGroup,
|
|
5683
5923
|
{
|
|
5684
5924
|
name: groupName,
|
|
@@ -5695,7 +5935,7 @@ var AlternativesList = ({
|
|
|
5695
5935
|
const statusStyles = getStatusStyles2(alternative.status, false);
|
|
5696
5936
|
const statusBadge = getStatusBadge2(alternative.status);
|
|
5697
5937
|
if (layout === "detailed") {
|
|
5698
|
-
return /* @__PURE__ */
|
|
5938
|
+
return /* @__PURE__ */ jsx30(
|
|
5699
5939
|
"div",
|
|
5700
5940
|
{
|
|
5701
5941
|
className: cn(
|
|
@@ -5705,7 +5945,7 @@ var AlternativesList = ({
|
|
|
5705
5945
|
),
|
|
5706
5946
|
children: /* @__PURE__ */ jsxs23("div", { className: "flex items-start justify-between gap-3", children: [
|
|
5707
5947
|
/* @__PURE__ */ jsxs23("div", { className: "flex items-start gap-3 flex-1", children: [
|
|
5708
|
-
/* @__PURE__ */
|
|
5948
|
+
/* @__PURE__ */ jsx30(
|
|
5709
5949
|
RadioGroupItem,
|
|
5710
5950
|
{
|
|
5711
5951
|
value: alternative.value,
|
|
@@ -5715,7 +5955,7 @@ var AlternativesList = ({
|
|
|
5715
5955
|
}
|
|
5716
5956
|
),
|
|
5717
5957
|
/* @__PURE__ */ jsxs23("div", { className: "flex-1", children: [
|
|
5718
|
-
/* @__PURE__ */
|
|
5958
|
+
/* @__PURE__ */ jsx30(
|
|
5719
5959
|
"label",
|
|
5720
5960
|
{
|
|
5721
5961
|
htmlFor: alternativeId,
|
|
@@ -5727,10 +5967,10 @@ var AlternativesList = ({
|
|
|
5727
5967
|
children: alternative.label
|
|
5728
5968
|
}
|
|
5729
5969
|
),
|
|
5730
|
-
alternative.description && /* @__PURE__ */
|
|
5970
|
+
alternative.description && /* @__PURE__ */ jsx30("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
|
|
5731
5971
|
] })
|
|
5732
5972
|
] }),
|
|
5733
|
-
statusBadge && /* @__PURE__ */
|
|
5973
|
+
statusBadge && /* @__PURE__ */ jsx30("div", { className: "flex-shrink-0", children: statusBadge })
|
|
5734
5974
|
] })
|
|
5735
5975
|
},
|
|
5736
5976
|
alternativeId
|
|
@@ -5746,7 +5986,7 @@ var AlternativesList = ({
|
|
|
5746
5986
|
),
|
|
5747
5987
|
children: [
|
|
5748
5988
|
/* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2 flex-1", children: [
|
|
5749
|
-
/* @__PURE__ */
|
|
5989
|
+
/* @__PURE__ */ jsx30(
|
|
5750
5990
|
RadioGroupItem,
|
|
5751
5991
|
{
|
|
5752
5992
|
value: alternative.value,
|
|
@@ -5754,7 +5994,7 @@ var AlternativesList = ({
|
|
|
5754
5994
|
disabled: alternative.disabled
|
|
5755
5995
|
}
|
|
5756
5996
|
),
|
|
5757
|
-
/* @__PURE__ */
|
|
5997
|
+
/* @__PURE__ */ jsx30(
|
|
5758
5998
|
"label",
|
|
5759
5999
|
{
|
|
5760
6000
|
htmlFor: alternativeId,
|
|
@@ -5767,7 +6007,7 @@ var AlternativesList = ({
|
|
|
5767
6007
|
}
|
|
5768
6008
|
)
|
|
5769
6009
|
] }),
|
|
5770
|
-
statusBadge && /* @__PURE__ */
|
|
6010
|
+
statusBadge && /* @__PURE__ */ jsx30("div", { className: "flex-shrink-0", children: statusBadge })
|
|
5771
6011
|
]
|
|
5772
6012
|
},
|
|
5773
6013
|
alternativeId
|
|
@@ -5789,10 +6029,10 @@ var HeaderAlternative = forwardRef14(
|
|
|
5789
6029
|
...props,
|
|
5790
6030
|
children: [
|
|
5791
6031
|
/* @__PURE__ */ jsxs23("span", { className: "flex flex-col", children: [
|
|
5792
|
-
/* @__PURE__ */
|
|
5793
|
-
/* @__PURE__ */
|
|
6032
|
+
/* @__PURE__ */ jsx30("p", { className: "text-text-950 font-bold text-lg", children: title }),
|
|
6033
|
+
/* @__PURE__ */ jsx30("p", { className: "text-text-700 text-sm ", children: subTitle })
|
|
5794
6034
|
] }),
|
|
5795
|
-
/* @__PURE__ */
|
|
6035
|
+
/* @__PURE__ */ jsx30("p", { className: "text-text-950 text-md", children: content })
|
|
5796
6036
|
]
|
|
5797
6037
|
}
|
|
5798
6038
|
);
|
|
@@ -5802,9 +6042,9 @@ var HeaderAlternative = forwardRef14(
|
|
|
5802
6042
|
// src/components/AlertDialog/AlertDialog.tsx
|
|
5803
6043
|
import {
|
|
5804
6044
|
forwardRef as forwardRef15,
|
|
5805
|
-
useEffect as
|
|
6045
|
+
useEffect as useEffect9
|
|
5806
6046
|
} from "react";
|
|
5807
|
-
import { Fragment as
|
|
6047
|
+
import { Fragment as Fragment6, jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
5808
6048
|
var SIZE_CLASSES11 = {
|
|
5809
6049
|
"extra-small": "w-screen max-w-[324px]",
|
|
5810
6050
|
small: "w-screen max-w-[378px]",
|
|
@@ -5830,7 +6070,7 @@ var AlertDialog = forwardRef15(
|
|
|
5830
6070
|
size = "medium",
|
|
5831
6071
|
...props
|
|
5832
6072
|
}, ref) => {
|
|
5833
|
-
|
|
6073
|
+
useEffect9(() => {
|
|
5834
6074
|
if (!isOpen || !closeOnEscape) return;
|
|
5835
6075
|
const handleEscape = (event) => {
|
|
5836
6076
|
if (event.key === "Escape") {
|
|
@@ -5840,7 +6080,7 @@ var AlertDialog = forwardRef15(
|
|
|
5840
6080
|
document.addEventListener("keydown", handleEscape);
|
|
5841
6081
|
return () => document.removeEventListener("keydown", handleEscape);
|
|
5842
6082
|
}, [isOpen, closeOnEscape]);
|
|
5843
|
-
|
|
6083
|
+
useEffect9(() => {
|
|
5844
6084
|
if (isOpen) {
|
|
5845
6085
|
document.body.style.overflow = "hidden";
|
|
5846
6086
|
} else {
|
|
@@ -5869,7 +6109,7 @@ var AlertDialog = forwardRef15(
|
|
|
5869
6109
|
onCancel?.(cancelValue);
|
|
5870
6110
|
};
|
|
5871
6111
|
const sizeClasses = SIZE_CLASSES11[size];
|
|
5872
|
-
return /* @__PURE__ */
|
|
6112
|
+
return /* @__PURE__ */ jsx31(Fragment6, { children: isOpen && /* @__PURE__ */ jsx31(
|
|
5873
6113
|
"div",
|
|
5874
6114
|
{
|
|
5875
6115
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",
|
|
@@ -5887,7 +6127,7 @@ var AlertDialog = forwardRef15(
|
|
|
5887
6127
|
),
|
|
5888
6128
|
...props,
|
|
5889
6129
|
children: [
|
|
5890
|
-
/* @__PURE__ */
|
|
6130
|
+
/* @__PURE__ */ jsx31(
|
|
5891
6131
|
"h2",
|
|
5892
6132
|
{
|
|
5893
6133
|
id: "alert-dialog-title",
|
|
@@ -5895,7 +6135,7 @@ var AlertDialog = forwardRef15(
|
|
|
5895
6135
|
children: title
|
|
5896
6136
|
}
|
|
5897
6137
|
),
|
|
5898
|
-
/* @__PURE__ */
|
|
6138
|
+
/* @__PURE__ */ jsx31(
|
|
5899
6139
|
"p",
|
|
5900
6140
|
{
|
|
5901
6141
|
id: "alert-dialog-description",
|
|
@@ -5904,8 +6144,8 @@ var AlertDialog = forwardRef15(
|
|
|
5904
6144
|
}
|
|
5905
6145
|
),
|
|
5906
6146
|
/* @__PURE__ */ jsxs24("div", { className: "flex flex-row items-center justify-end pt-4 gap-3", children: [
|
|
5907
|
-
/* @__PURE__ */
|
|
5908
|
-
/* @__PURE__ */
|
|
6147
|
+
/* @__PURE__ */ jsx31(Button_default, { variant: "outline", size: "small", onClick: handleCancel, children: cancelButtonLabel }),
|
|
6148
|
+
/* @__PURE__ */ jsx31(
|
|
5909
6149
|
Button_default,
|
|
5910
6150
|
{
|
|
5911
6151
|
variant: "solid",
|
|
@@ -5926,9 +6166,9 @@ var AlertDialog = forwardRef15(
|
|
|
5926
6166
|
AlertDialog.displayName = "AlertDialog";
|
|
5927
6167
|
|
|
5928
6168
|
// src/components/MultipleChoice/MultipleChoice.tsx
|
|
5929
|
-
import { useEffect as
|
|
6169
|
+
import { useEffect as useEffect10, useState as useState13 } from "react";
|
|
5930
6170
|
import { CheckCircle as CheckCircle5, XCircle as XCircle4, Check as Check4 } from "phosphor-react";
|
|
5931
|
-
import { jsx as
|
|
6171
|
+
import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
5932
6172
|
var MultipleChoiceList = ({
|
|
5933
6173
|
disabled = false,
|
|
5934
6174
|
className = "",
|
|
@@ -5938,16 +6178,16 @@ var MultipleChoiceList = ({
|
|
|
5938
6178
|
onHandleSelectedValues,
|
|
5939
6179
|
mode = "interactive"
|
|
5940
6180
|
}) => {
|
|
5941
|
-
const [actualValue, setActualValue] =
|
|
5942
|
-
|
|
6181
|
+
const [actualValue, setActualValue] = useState13(selectedValues);
|
|
6182
|
+
useEffect10(() => {
|
|
5943
6183
|
setActualValue(selectedValues);
|
|
5944
6184
|
}, [selectedValues]);
|
|
5945
6185
|
const getStatusBadge2 = (status) => {
|
|
5946
6186
|
switch (status) {
|
|
5947
6187
|
case "correct":
|
|
5948
|
-
return /* @__PURE__ */
|
|
6188
|
+
return /* @__PURE__ */ jsx32(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx32(CheckCircle5, {}), children: "Resposta correta" });
|
|
5949
6189
|
case "incorrect":
|
|
5950
|
-
return /* @__PURE__ */
|
|
6190
|
+
return /* @__PURE__ */ jsx32(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx32(XCircle4, {}), children: "Resposta incorreta" });
|
|
5951
6191
|
default:
|
|
5952
6192
|
return null;
|
|
5953
6193
|
}
|
|
@@ -5968,10 +6208,10 @@ var MultipleChoiceList = ({
|
|
|
5968
6208
|
isSelected ? "border-primary-950 bg-primary-950 text-text" : "border-border-400 bg-background",
|
|
5969
6209
|
isDisabled && "opacity-40 cursor-not-allowed"
|
|
5970
6210
|
);
|
|
5971
|
-
return /* @__PURE__ */
|
|
6211
|
+
return /* @__PURE__ */ jsx32("div", { className: checkboxClasses, children: isSelected && /* @__PURE__ */ jsx32(Check4, { size: 16, weight: "bold" }) });
|
|
5972
6212
|
};
|
|
5973
6213
|
if (mode === "readonly") {
|
|
5974
|
-
return /* @__PURE__ */
|
|
6214
|
+
return /* @__PURE__ */ jsx32("div", { className: cn("flex flex-col gap-2", className), children: choices.map((choice, i) => {
|
|
5975
6215
|
const isSelected = actualValue?.includes(choice.value) || false;
|
|
5976
6216
|
const statusStyles = getStatusStyles2(choice.status);
|
|
5977
6217
|
const statusBadge = getStatusBadge2(choice.status);
|
|
@@ -5986,7 +6226,7 @@ var MultipleChoiceList = ({
|
|
|
5986
6226
|
children: [
|
|
5987
6227
|
/* @__PURE__ */ jsxs25("div", { className: "flex items-center gap-2 flex-1", children: [
|
|
5988
6228
|
renderVisualCheckbox(isSelected, choice.disabled || disabled),
|
|
5989
|
-
/* @__PURE__ */
|
|
6229
|
+
/* @__PURE__ */ jsx32(
|
|
5990
6230
|
"span",
|
|
5991
6231
|
{
|
|
5992
6232
|
className: cn(
|
|
@@ -5998,14 +6238,14 @@ var MultipleChoiceList = ({
|
|
|
5998
6238
|
}
|
|
5999
6239
|
)
|
|
6000
6240
|
] }),
|
|
6001
|
-
statusBadge && /* @__PURE__ */
|
|
6241
|
+
statusBadge && /* @__PURE__ */ jsx32("div", { className: "flex-shrink-0", children: statusBadge })
|
|
6002
6242
|
]
|
|
6003
6243
|
},
|
|
6004
6244
|
`readonly-${choice.value}-${i}`
|
|
6005
6245
|
);
|
|
6006
6246
|
}) });
|
|
6007
6247
|
}
|
|
6008
|
-
return /* @__PURE__ */
|
|
6248
|
+
return /* @__PURE__ */ jsx32(
|
|
6009
6249
|
"div",
|
|
6010
6250
|
{
|
|
6011
6251
|
className: cn(
|
|
@@ -6013,7 +6253,7 @@ var MultipleChoiceList = ({
|
|
|
6013
6253
|
disabled ? "opacity-50 cursor-not-allowed" : "",
|
|
6014
6254
|
className
|
|
6015
6255
|
),
|
|
6016
|
-
children: /* @__PURE__ */
|
|
6256
|
+
children: /* @__PURE__ */ jsx32(
|
|
6017
6257
|
CheckboxList_default,
|
|
6018
6258
|
{
|
|
6019
6259
|
name,
|
|
@@ -6028,7 +6268,7 @@ var MultipleChoiceList = ({
|
|
|
6028
6268
|
{
|
|
6029
6269
|
className: "flex flex-row gap-2 items-center",
|
|
6030
6270
|
children: [
|
|
6031
|
-
/* @__PURE__ */
|
|
6271
|
+
/* @__PURE__ */ jsx32(
|
|
6032
6272
|
CheckboxListItem,
|
|
6033
6273
|
{
|
|
6034
6274
|
value: choice.value,
|
|
@@ -6036,7 +6276,7 @@ var MultipleChoiceList = ({
|
|
|
6036
6276
|
disabled: choice.disabled || disabled
|
|
6037
6277
|
}
|
|
6038
6278
|
),
|
|
6039
|
-
/* @__PURE__ */
|
|
6279
|
+
/* @__PURE__ */ jsx32(
|
|
6040
6280
|
"label",
|
|
6041
6281
|
{
|
|
6042
6282
|
htmlFor: `interactive-${choice.value}-${i}`,
|
|
@@ -6059,7 +6299,7 @@ var MultipleChoiceList = ({
|
|
|
6059
6299
|
};
|
|
6060
6300
|
|
|
6061
6301
|
// src/hooks/useMobile.ts
|
|
6062
|
-
import { useState as
|
|
6302
|
+
import { useState as useState14, useEffect as useEffect11 } from "react";
|
|
6063
6303
|
var MOBILE_WIDTH = 500;
|
|
6064
6304
|
var TABLET_WIDTH = 931;
|
|
6065
6305
|
var DEFAULT_WIDTH = 1200;
|
|
@@ -6074,9 +6314,9 @@ var getDeviceType = () => {
|
|
|
6074
6314
|
return width < TABLET_WIDTH ? "responsive" : "desktop";
|
|
6075
6315
|
};
|
|
6076
6316
|
var useMobile = () => {
|
|
6077
|
-
const [isMobile, setIsMobile] =
|
|
6078
|
-
const [isTablet, setIsTablet] =
|
|
6079
|
-
|
|
6317
|
+
const [isMobile, setIsMobile] = useState14(false);
|
|
6318
|
+
const [isTablet, setIsTablet] = useState14(false);
|
|
6319
|
+
useEffect11(() => {
|
|
6080
6320
|
const checkScreenSize = () => {
|
|
6081
6321
|
const width = getWindowWidth();
|
|
6082
6322
|
setIsMobile(width < MOBILE_WIDTH);
|
|
@@ -6115,218 +6355,19 @@ var useMobile = () => {
|
|
|
6115
6355
|
};
|
|
6116
6356
|
};
|
|
6117
6357
|
|
|
6118
|
-
// src/hooks/useTheme.ts
|
|
6119
|
-
import { useEffect as useEffect10, useState as useState13, useCallback, useRef as useRef7 } from "react";
|
|
6120
|
-
var useTheme = () => {
|
|
6121
|
-
const [themeMode, setThemeMode] = useState13("system");
|
|
6122
|
-
const [isDark, setIsDark] = useState13(false);
|
|
6123
|
-
const themeModeRef = useRef7("system");
|
|
6124
|
-
const applyTheme = useCallback((mode) => {
|
|
6125
|
-
const htmlElement = document.documentElement;
|
|
6126
|
-
const originalTheme = htmlElement.getAttribute("data-original-theme");
|
|
6127
|
-
if (mode === "dark") {
|
|
6128
|
-
htmlElement.setAttribute("data-theme", "dark");
|
|
6129
|
-
setIsDark(true);
|
|
6130
|
-
} else if (mode === "light") {
|
|
6131
|
-
if (originalTheme) {
|
|
6132
|
-
htmlElement.setAttribute("data-theme", originalTheme);
|
|
6133
|
-
}
|
|
6134
|
-
setIsDark(false);
|
|
6135
|
-
} else if (mode === "system") {
|
|
6136
|
-
const isSystemDark = window.matchMedia(
|
|
6137
|
-
"(prefers-color-scheme: dark)"
|
|
6138
|
-
).matches;
|
|
6139
|
-
if (isSystemDark) {
|
|
6140
|
-
htmlElement.setAttribute("data-theme", "dark");
|
|
6141
|
-
setIsDark(true);
|
|
6142
|
-
} else if (originalTheme) {
|
|
6143
|
-
htmlElement.setAttribute("data-theme", originalTheme);
|
|
6144
|
-
setIsDark(false);
|
|
6145
|
-
}
|
|
6146
|
-
}
|
|
6147
|
-
}, []);
|
|
6148
|
-
const toggleTheme = useCallback(() => {
|
|
6149
|
-
let newMode;
|
|
6150
|
-
if (themeMode === "light") {
|
|
6151
|
-
newMode = "dark";
|
|
6152
|
-
} else if (themeMode === "dark") {
|
|
6153
|
-
newMode = "light";
|
|
6154
|
-
} else {
|
|
6155
|
-
newMode = "dark";
|
|
6156
|
-
}
|
|
6157
|
-
setThemeMode(newMode);
|
|
6158
|
-
themeModeRef.current = newMode;
|
|
6159
|
-
applyTheme(newMode);
|
|
6160
|
-
localStorage.setItem("theme-mode", newMode);
|
|
6161
|
-
}, [themeMode, applyTheme]);
|
|
6162
|
-
const setTheme = useCallback(
|
|
6163
|
-
(mode) => {
|
|
6164
|
-
setThemeMode(mode);
|
|
6165
|
-
themeModeRef.current = mode;
|
|
6166
|
-
applyTheme(mode);
|
|
6167
|
-
localStorage.setItem("theme-mode", mode);
|
|
6168
|
-
},
|
|
6169
|
-
[applyTheme]
|
|
6170
|
-
);
|
|
6171
|
-
useEffect10(() => {
|
|
6172
|
-
const htmlElement = document.documentElement;
|
|
6173
|
-
const currentTheme = htmlElement.getAttribute("data-theme");
|
|
6174
|
-
if (currentTheme && !htmlElement.getAttribute("data-original-theme")) {
|
|
6175
|
-
htmlElement.setAttribute("data-original-theme", currentTheme);
|
|
6176
|
-
}
|
|
6177
|
-
const savedThemeMode = localStorage.getItem("theme-mode");
|
|
6178
|
-
const initialMode = savedThemeMode || "system";
|
|
6179
|
-
if (!savedThemeMode) {
|
|
6180
|
-
localStorage.setItem("theme-mode", "system");
|
|
6181
|
-
}
|
|
6182
|
-
setThemeMode(initialMode);
|
|
6183
|
-
themeModeRef.current = initialMode;
|
|
6184
|
-
applyTheme(initialMode);
|
|
6185
|
-
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
6186
|
-
const handleSystemThemeChange = () => {
|
|
6187
|
-
if (themeModeRef.current === "system") {
|
|
6188
|
-
applyTheme("system");
|
|
6189
|
-
}
|
|
6190
|
-
};
|
|
6191
|
-
mediaQuery.addEventListener("change", handleSystemThemeChange);
|
|
6192
|
-
return () => {
|
|
6193
|
-
mediaQuery.removeEventListener("change", handleSystemThemeChange);
|
|
6194
|
-
};
|
|
6195
|
-
}, [applyTheme]);
|
|
6196
|
-
return {
|
|
6197
|
-
themeMode,
|
|
6198
|
-
isDark,
|
|
6199
|
-
toggleTheme,
|
|
6200
|
-
setTheme
|
|
6201
|
-
};
|
|
6202
|
-
};
|
|
6203
|
-
|
|
6204
|
-
// src/components/ThemeToggle/ThemeToggle.tsx
|
|
6205
|
-
import { forwardRef as forwardRef16 } from "react";
|
|
6206
|
-
import { Fragment as Fragment6, jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
6207
|
-
var ThemeToggle = forwardRef16(
|
|
6208
|
-
({
|
|
6209
|
-
variant = "simple",
|
|
6210
|
-
size = "md",
|
|
6211
|
-
showIcons = true,
|
|
6212
|
-
showLabels = true,
|
|
6213
|
-
className,
|
|
6214
|
-
children,
|
|
6215
|
-
...props
|
|
6216
|
-
}, ref) => {
|
|
6217
|
-
const { themeMode, isDark, toggleTheme, setTheme } = useTheme();
|
|
6218
|
-
const sizeClasses = {
|
|
6219
|
-
sm: "text-sm px-3 py-1.5",
|
|
6220
|
-
md: "text-md px-4 py-2",
|
|
6221
|
-
lg: "text-lg px-5 py-2.5"
|
|
6222
|
-
};
|
|
6223
|
-
const activeClasses = "bg-primary-500 text-white";
|
|
6224
|
-
const inactiveClasses = "bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-300 hover:bg-gray-300 dark:hover:bg-gray-600";
|
|
6225
|
-
const baseButtonClasses = "inline-flex items-center justify-center gap-2 rounded-md border border-gray-300 dark:border-gray-600 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500";
|
|
6226
|
-
const smallButtonClasses = "px-3 py-1.5 rounded-md text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500";
|
|
6227
|
-
const renderThemeButton = (theme, icon, label, isActive, buttonSize) => {
|
|
6228
|
-
const buttonClasses = buttonSize ? cn(baseButtonClasses, sizeClasses[buttonSize]) : smallButtonClasses;
|
|
6229
|
-
const stateClasses = isActive ? activeClasses : inactiveClasses;
|
|
6230
|
-
return /* @__PURE__ */ jsxs26(
|
|
6231
|
-
"button",
|
|
6232
|
-
{
|
|
6233
|
-
type: "button",
|
|
6234
|
-
onClick: () => setTheme(theme),
|
|
6235
|
-
className: cn(buttonClasses, stateClasses),
|
|
6236
|
-
...buttonSize ? props : {},
|
|
6237
|
-
children: [
|
|
6238
|
-
showIcons && icon,
|
|
6239
|
-
showLabels && label
|
|
6240
|
-
]
|
|
6241
|
-
}
|
|
6242
|
-
);
|
|
6243
|
-
};
|
|
6244
|
-
if (variant === "simple") {
|
|
6245
|
-
return /* @__PURE__ */ jsx32(
|
|
6246
|
-
"button",
|
|
6247
|
-
{
|
|
6248
|
-
type: "button",
|
|
6249
|
-
ref,
|
|
6250
|
-
onClick: toggleTheme,
|
|
6251
|
-
className: cn(
|
|
6252
|
-
"inline-flex items-center justify-center gap-2 rounded-md border border-gray-300 dark:border-gray-600 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
|
|
6253
|
-
sizeClasses[size],
|
|
6254
|
-
className
|
|
6255
|
-
),
|
|
6256
|
-
...props,
|
|
6257
|
-
children: children || /* @__PURE__ */ jsxs26(Fragment6, { children: [
|
|
6258
|
-
showIcons && (isDark ? "\u2600\uFE0F" : "\u{1F319}"),
|
|
6259
|
-
showLabels && (isDark ? "Claro" : "Escuro")
|
|
6260
|
-
] })
|
|
6261
|
-
}
|
|
6262
|
-
);
|
|
6263
|
-
}
|
|
6264
|
-
if (variant === "detailed") {
|
|
6265
|
-
const getLabel = () => {
|
|
6266
|
-
if (themeMode === "system") return "Sistema";
|
|
6267
|
-
if (isDark) return "Escuro";
|
|
6268
|
-
return "Claro";
|
|
6269
|
-
};
|
|
6270
|
-
return /* @__PURE__ */ jsxs26("div", { className: cn("flex flex-col gap-2", className), children: [
|
|
6271
|
-
/* @__PURE__ */ jsxs26("div", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: [
|
|
6272
|
-
"Tema: ",
|
|
6273
|
-
getLabel()
|
|
6274
|
-
] }),
|
|
6275
|
-
/* @__PURE__ */ jsxs26("div", { className: "flex gap-1", children: [
|
|
6276
|
-
renderThemeButton("light", "\u2600\uFE0F ", "Claro", themeMode === "light"),
|
|
6277
|
-
renderThemeButton("dark", "\u{1F319} ", "Escuro", themeMode === "dark"),
|
|
6278
|
-
renderThemeButton(
|
|
6279
|
-
"system",
|
|
6280
|
-
"\u2699\uFE0F ",
|
|
6281
|
-
"Sistema",
|
|
6282
|
-
themeMode === "system"
|
|
6283
|
-
)
|
|
6284
|
-
] })
|
|
6285
|
-
] });
|
|
6286
|
-
}
|
|
6287
|
-
if (variant === "buttons") {
|
|
6288
|
-
return /* @__PURE__ */ jsxs26("div", { className: cn("flex gap-2", className), children: [
|
|
6289
|
-
renderThemeButton(
|
|
6290
|
-
"light",
|
|
6291
|
-
"\u2600\uFE0F",
|
|
6292
|
-
"Claro",
|
|
6293
|
-
themeMode === "light",
|
|
6294
|
-
size
|
|
6295
|
-
),
|
|
6296
|
-
renderThemeButton(
|
|
6297
|
-
"dark",
|
|
6298
|
-
"\u{1F319}",
|
|
6299
|
-
"Escuro",
|
|
6300
|
-
themeMode === "dark",
|
|
6301
|
-
size
|
|
6302
|
-
),
|
|
6303
|
-
renderThemeButton(
|
|
6304
|
-
"system",
|
|
6305
|
-
"\u2699\uFE0F",
|
|
6306
|
-
"Sistema",
|
|
6307
|
-
themeMode === "system",
|
|
6308
|
-
size
|
|
6309
|
-
)
|
|
6310
|
-
] });
|
|
6311
|
-
}
|
|
6312
|
-
return null;
|
|
6313
|
-
}
|
|
6314
|
-
);
|
|
6315
|
-
ThemeToggle.displayName = "ThemeToggle";
|
|
6316
|
-
|
|
6317
6358
|
// src/components/Select/Select.tsx
|
|
6318
6359
|
import { create as create5, useStore as useStore4 } from "zustand";
|
|
6319
6360
|
import {
|
|
6320
|
-
useEffect as
|
|
6361
|
+
useEffect as useEffect12,
|
|
6321
6362
|
useRef as useRef8,
|
|
6322
|
-
forwardRef as
|
|
6363
|
+
forwardRef as forwardRef16,
|
|
6323
6364
|
isValidElement as isValidElement4,
|
|
6324
6365
|
Children as Children4,
|
|
6325
6366
|
cloneElement as cloneElement4,
|
|
6326
6367
|
useId as useId10
|
|
6327
6368
|
} from "react";
|
|
6328
6369
|
import { CaretDown, Check as Check5, WarningCircle as WarningCircle5 } from "phosphor-react";
|
|
6329
|
-
import { Fragment as Fragment7, jsx as jsx33, jsxs as
|
|
6370
|
+
import { Fragment as Fragment7, jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
6330
6371
|
var VARIANT_CLASSES4 = {
|
|
6331
6372
|
outlined: "border-2 rounded-lg focus:border-primary-950",
|
|
6332
6373
|
underlined: "border-b-2 focus:border-primary-950",
|
|
@@ -6448,13 +6489,13 @@ var Select = ({
|
|
|
6448
6489
|
search(children2);
|
|
6449
6490
|
return found;
|
|
6450
6491
|
};
|
|
6451
|
-
|
|
6492
|
+
useEffect12(() => {
|
|
6452
6493
|
if (!selectedLabel && defaultValue) {
|
|
6453
6494
|
const label2 = findLabelForValue(children, defaultValue);
|
|
6454
6495
|
if (label2) store.setState({ selectedLabel: label2 });
|
|
6455
6496
|
}
|
|
6456
6497
|
}, [children, defaultValue, selectedLabel]);
|
|
6457
|
-
|
|
6498
|
+
useEffect12(() => {
|
|
6458
6499
|
const handleClickOutside = (event) => {
|
|
6459
6500
|
if (selectRef.current && !selectRef.current.contains(event.target)) {
|
|
6460
6501
|
setOpen(false);
|
|
@@ -6489,7 +6530,7 @@ var Select = ({
|
|
|
6489
6530
|
document.removeEventListener("keydown", handleArrowKeys);
|
|
6490
6531
|
};
|
|
6491
6532
|
}, [open]);
|
|
6492
|
-
|
|
6533
|
+
useEffect12(() => {
|
|
6493
6534
|
if (propValue) {
|
|
6494
6535
|
setValue(propValue);
|
|
6495
6536
|
const label2 = findLabelForValue(children, propValue);
|
|
@@ -6497,7 +6538,7 @@ var Select = ({
|
|
|
6497
6538
|
}
|
|
6498
6539
|
}, [propValue]);
|
|
6499
6540
|
const sizeClasses = SIZE_CLASSES12[size];
|
|
6500
|
-
return /* @__PURE__ */
|
|
6541
|
+
return /* @__PURE__ */ jsxs26("div", { className: cn("w-full", className), children: [
|
|
6501
6542
|
label && /* @__PURE__ */ jsx33(
|
|
6502
6543
|
"label",
|
|
6503
6544
|
{
|
|
@@ -6507,9 +6548,9 @@ var Select = ({
|
|
|
6507
6548
|
}
|
|
6508
6549
|
),
|
|
6509
6550
|
/* @__PURE__ */ jsx33("div", { className: cn("relative w-full"), ref: selectRef, children: injectStore4(children, store, size, selectId) }),
|
|
6510
|
-
(helperText || errorMessage) && /* @__PURE__ */
|
|
6551
|
+
(helperText || errorMessage) && /* @__PURE__ */ jsxs26("div", { className: "mt-1.5 gap-1.5", children: [
|
|
6511
6552
|
helperText && /* @__PURE__ */ jsx33("p", { className: "text-sm text-text-500", children: helperText }),
|
|
6512
|
-
errorMessage && /* @__PURE__ */
|
|
6553
|
+
errorMessage && /* @__PURE__ */ jsxs26("p", { className: "flex gap-1 items-center text-sm text-indicator-error", children: [
|
|
6513
6554
|
/* @__PURE__ */ jsx33(WarningCircle5, { size: 16 }),
|
|
6514
6555
|
" ",
|
|
6515
6556
|
errorMessage
|
|
@@ -6526,7 +6567,7 @@ var SelectValue = ({
|
|
|
6526
6567
|
const value = useStore4(store, (s) => s.value);
|
|
6527
6568
|
return /* @__PURE__ */ jsx33("span", { className: "text-inherit flex gap-2 items-center", children: selectedLabel || placeholder || value });
|
|
6528
6569
|
};
|
|
6529
|
-
var SelectTrigger =
|
|
6570
|
+
var SelectTrigger = forwardRef16(
|
|
6530
6571
|
({
|
|
6531
6572
|
className,
|
|
6532
6573
|
invalid = false,
|
|
@@ -6543,7 +6584,7 @@ var SelectTrigger = forwardRef17(
|
|
|
6543
6584
|
const variantClasses = VARIANT_CLASSES4[variant];
|
|
6544
6585
|
const heightClasses = HEIGHT_CLASSES[size];
|
|
6545
6586
|
const paddingClasses = PADDING_CLASSES[size];
|
|
6546
|
-
return /* @__PURE__ */
|
|
6587
|
+
return /* @__PURE__ */ jsxs26(
|
|
6547
6588
|
"button",
|
|
6548
6589
|
{
|
|
6549
6590
|
ref,
|
|
@@ -6580,7 +6621,7 @@ var SelectTrigger = forwardRef17(
|
|
|
6580
6621
|
}
|
|
6581
6622
|
);
|
|
6582
6623
|
SelectTrigger.displayName = "SelectTrigger";
|
|
6583
|
-
var SelectContent =
|
|
6624
|
+
var SelectContent = forwardRef16(
|
|
6584
6625
|
({
|
|
6585
6626
|
children,
|
|
6586
6627
|
className,
|
|
@@ -6610,7 +6651,7 @@ var SelectContent = forwardRef17(
|
|
|
6610
6651
|
}
|
|
6611
6652
|
);
|
|
6612
6653
|
SelectContent.displayName = "SelectContent";
|
|
6613
|
-
var SelectItem =
|
|
6654
|
+
var SelectItem = forwardRef16(
|
|
6614
6655
|
({
|
|
6615
6656
|
className,
|
|
6616
6657
|
children,
|
|
@@ -6637,7 +6678,7 @@ var SelectItem = forwardRef17(
|
|
|
6637
6678
|
}
|
|
6638
6679
|
props.onClick?.(e);
|
|
6639
6680
|
};
|
|
6640
|
-
return /* @__PURE__ */
|
|
6681
|
+
return /* @__PURE__ */ jsxs26(
|
|
6641
6682
|
"div",
|
|
6642
6683
|
{
|
|
6643
6684
|
role: "menuitem",
|
|
@@ -6670,16 +6711,16 @@ var Select_default = Select;
|
|
|
6670
6711
|
// src/components/Menu/Menu.tsx
|
|
6671
6712
|
import { create as create6, useStore as useStore5 } from "zustand";
|
|
6672
6713
|
import {
|
|
6673
|
-
useEffect as
|
|
6714
|
+
useEffect as useEffect13,
|
|
6674
6715
|
useRef as useRef9,
|
|
6675
|
-
forwardRef as
|
|
6716
|
+
forwardRef as forwardRef17,
|
|
6676
6717
|
isValidElement as isValidElement5,
|
|
6677
6718
|
Children as Children5,
|
|
6678
6719
|
cloneElement as cloneElement5,
|
|
6679
|
-
useState as
|
|
6720
|
+
useState as useState15
|
|
6680
6721
|
} from "react";
|
|
6681
|
-
import { CaretLeft as CaretLeft2, CaretRight as
|
|
6682
|
-
import { jsx as jsx34, jsxs as
|
|
6722
|
+
import { CaretLeft as CaretLeft2, CaretRight as CaretRight4 } from "phosphor-react";
|
|
6723
|
+
import { jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
6683
6724
|
var createMenuStore = (onValueChange) => create6((set) => ({
|
|
6684
6725
|
value: "",
|
|
6685
6726
|
setValue: (value) => {
|
|
@@ -6698,7 +6739,7 @@ var VARIANT_CLASSES5 = {
|
|
|
6698
6739
|
"menu-overflow": "",
|
|
6699
6740
|
breadcrumb: "bg-transparent shadow-none !px-0"
|
|
6700
6741
|
};
|
|
6701
|
-
var Menu =
|
|
6742
|
+
var Menu = forwardRef17(
|
|
6702
6743
|
({
|
|
6703
6744
|
className,
|
|
6704
6745
|
children,
|
|
@@ -6712,7 +6753,7 @@ var Menu = forwardRef18(
|
|
|
6712
6753
|
storeRef.current ??= createMenuStore(onValueChange);
|
|
6713
6754
|
const store = storeRef.current;
|
|
6714
6755
|
const { setValue } = useStore5(store, (s) => s);
|
|
6715
|
-
|
|
6756
|
+
useEffect13(() => {
|
|
6716
6757
|
setValue(propValue ?? defaultValue);
|
|
6717
6758
|
}, [defaultValue, propValue, setValue]);
|
|
6718
6759
|
const baseClasses = variant === "menu-overflow" ? "w-fit py-2 flex flex-row items-center justify-center" : "w-full py-2 flex flex-row items-center justify-center";
|
|
@@ -6733,7 +6774,7 @@ var Menu = forwardRef18(
|
|
|
6733
6774
|
}
|
|
6734
6775
|
);
|
|
6735
6776
|
Menu.displayName = "Menu";
|
|
6736
|
-
var MenuContent =
|
|
6777
|
+
var MenuContent = forwardRef17(
|
|
6737
6778
|
({ className, children, variant = "menu", ...props }, ref) => {
|
|
6738
6779
|
const baseClasses = "w-full flex flex-row items-center gap-2";
|
|
6739
6780
|
const variantClasses = variant === "menu2" || variant === "menu-overflow" ? "overflow-x-auto scroll-smooth" : "";
|
|
@@ -6755,7 +6796,7 @@ var MenuContent = forwardRef18(
|
|
|
6755
6796
|
}
|
|
6756
6797
|
);
|
|
6757
6798
|
MenuContent.displayName = "MenuContent";
|
|
6758
|
-
var MenuItem =
|
|
6799
|
+
var MenuItem = forwardRef17(
|
|
6759
6800
|
({
|
|
6760
6801
|
className,
|
|
6761
6802
|
children,
|
|
@@ -6804,7 +6845,7 @@ var MenuItem = forwardRef18(
|
|
|
6804
6845
|
children
|
|
6805
6846
|
}
|
|
6806
6847
|
),
|
|
6807
|
-
menu2: /* @__PURE__ */
|
|
6848
|
+
menu2: /* @__PURE__ */ jsxs27(
|
|
6808
6849
|
"li",
|
|
6809
6850
|
{
|
|
6810
6851
|
"data-variant": "menu2",
|
|
@@ -6829,7 +6870,7 @@ var MenuItem = forwardRef18(
|
|
|
6829
6870
|
]
|
|
6830
6871
|
}
|
|
6831
6872
|
),
|
|
6832
|
-
"menu-overflow": /* @__PURE__ */
|
|
6873
|
+
"menu-overflow": /* @__PURE__ */ jsxs27(
|
|
6833
6874
|
"li",
|
|
6834
6875
|
{
|
|
6835
6876
|
"data-variant": "menu-overflow",
|
|
@@ -6854,7 +6895,7 @@ var MenuItem = forwardRef18(
|
|
|
6854
6895
|
]
|
|
6855
6896
|
}
|
|
6856
6897
|
),
|
|
6857
|
-
breadcrumb: /* @__PURE__ */
|
|
6898
|
+
breadcrumb: /* @__PURE__ */ jsxs27(
|
|
6858
6899
|
"li",
|
|
6859
6900
|
{
|
|
6860
6901
|
"data-variant": "breadcrumb",
|
|
@@ -6877,7 +6918,7 @@ var MenuItem = forwardRef18(
|
|
|
6877
6918
|
}
|
|
6878
6919
|
),
|
|
6879
6920
|
separator && /* @__PURE__ */ jsx34(
|
|
6880
|
-
|
|
6921
|
+
CaretRight4,
|
|
6881
6922
|
{
|
|
6882
6923
|
size: 16,
|
|
6883
6924
|
className: "text-text-600",
|
|
@@ -6914,9 +6955,9 @@ var MenuOverflow = ({
|
|
|
6914
6955
|
...props
|
|
6915
6956
|
}) => {
|
|
6916
6957
|
const containerRef = useRef9(null);
|
|
6917
|
-
const [showLeftArrow, setShowLeftArrow] =
|
|
6918
|
-
const [showRightArrow, setShowRightArrow] =
|
|
6919
|
-
|
|
6958
|
+
const [showLeftArrow, setShowLeftArrow] = useState15(false);
|
|
6959
|
+
const [showRightArrow, setShowRightArrow] = useState15(false);
|
|
6960
|
+
useEffect13(() => {
|
|
6920
6961
|
const checkScroll = () => internalCheckScroll(
|
|
6921
6962
|
containerRef.current,
|
|
6922
6963
|
setShowLeftArrow,
|
|
@@ -6931,13 +6972,13 @@ var MenuOverflow = ({
|
|
|
6931
6972
|
window.removeEventListener("resize", checkScroll);
|
|
6932
6973
|
};
|
|
6933
6974
|
}, []);
|
|
6934
|
-
return /* @__PURE__ */
|
|
6975
|
+
return /* @__PURE__ */ jsxs27(
|
|
6935
6976
|
"div",
|
|
6936
6977
|
{
|
|
6937
6978
|
"data-testid": "menu-overflow-wrapper",
|
|
6938
6979
|
className: cn("relative w-full overflow-hidden", className),
|
|
6939
6980
|
children: [
|
|
6940
|
-
showLeftArrow && /* @__PURE__ */
|
|
6981
|
+
showLeftArrow && /* @__PURE__ */ jsxs27(
|
|
6941
6982
|
"button",
|
|
6942
6983
|
{
|
|
6943
6984
|
onClick: () => internalScroll(containerRef.current, "left"),
|
|
@@ -6960,14 +7001,14 @@ var MenuOverflow = ({
|
|
|
6960
7001
|
children: /* @__PURE__ */ jsx34(MenuContent, { ref: containerRef, variant: "menu2", children })
|
|
6961
7002
|
}
|
|
6962
7003
|
),
|
|
6963
|
-
showRightArrow && /* @__PURE__ */
|
|
7004
|
+
showRightArrow && /* @__PURE__ */ jsxs27(
|
|
6964
7005
|
"button",
|
|
6965
7006
|
{
|
|
6966
7007
|
onClick: () => internalScroll(containerRef.current, "right"),
|
|
6967
7008
|
className: "absolute right-0 top-1/2 -translate-y-1/2 z-10 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-md cursor-pointer",
|
|
6968
7009
|
"data-testid": "scroll-right-button",
|
|
6969
7010
|
children: [
|
|
6970
|
-
/* @__PURE__ */ jsx34(
|
|
7011
|
+
/* @__PURE__ */ jsx34(CaretRight4, { size: 16 }),
|
|
6971
7012
|
/* @__PURE__ */ jsx34("span", { className: "sr-only", children: "Scroll right" })
|
|
6972
7013
|
]
|
|
6973
7014
|
}
|
|
@@ -6988,8 +7029,8 @@ var injectStore5 = (children, store) => Children5.map(children, (child) => {
|
|
|
6988
7029
|
var Menu_default = Menu;
|
|
6989
7030
|
|
|
6990
7031
|
// src/components/Skeleton/Skeleton.tsx
|
|
6991
|
-
import { forwardRef as
|
|
6992
|
-
import { jsx as jsx35, jsxs as
|
|
7032
|
+
import { forwardRef as forwardRef18 } from "react";
|
|
7033
|
+
import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
6993
7034
|
var SKELETON_ANIMATION_CLASSES = {
|
|
6994
7035
|
pulse: "animate-pulse",
|
|
6995
7036
|
none: ""
|
|
@@ -7006,7 +7047,7 @@ var SPACING_CLASSES = {
|
|
|
7006
7047
|
medium: "space-y-2",
|
|
7007
7048
|
large: "space-y-3"
|
|
7008
7049
|
};
|
|
7009
|
-
var Skeleton =
|
|
7050
|
+
var Skeleton = forwardRef18(
|
|
7010
7051
|
({
|
|
7011
7052
|
variant = "text",
|
|
7012
7053
|
width,
|
|
@@ -7055,13 +7096,13 @@ var Skeleton = forwardRef19(
|
|
|
7055
7096
|
);
|
|
7056
7097
|
}
|
|
7057
7098
|
);
|
|
7058
|
-
var SkeletonText =
|
|
7099
|
+
var SkeletonText = forwardRef18(
|
|
7059
7100
|
(props, ref) => /* @__PURE__ */ jsx35(Skeleton, { ref, variant: "text", ...props })
|
|
7060
7101
|
);
|
|
7061
|
-
var SkeletonCircle =
|
|
7062
|
-
var SkeletonRectangle =
|
|
7063
|
-
var SkeletonRounded =
|
|
7064
|
-
var SkeletonCard =
|
|
7102
|
+
var SkeletonCircle = forwardRef18((props, ref) => /* @__PURE__ */ jsx35(Skeleton, { ref, variant: "circular", ...props }));
|
|
7103
|
+
var SkeletonRectangle = forwardRef18((props, ref) => /* @__PURE__ */ jsx35(Skeleton, { ref, variant: "rectangular", ...props }));
|
|
7104
|
+
var SkeletonRounded = forwardRef18((props, ref) => /* @__PURE__ */ jsx35(Skeleton, { ref, variant: "rounded", ...props }));
|
|
7105
|
+
var SkeletonCard = forwardRef18(
|
|
7065
7106
|
({
|
|
7066
7107
|
showAvatar = true,
|
|
7067
7108
|
showTitle = true,
|
|
@@ -7071,7 +7112,7 @@ var SkeletonCard = forwardRef19(
|
|
|
7071
7112
|
className = "",
|
|
7072
7113
|
...props
|
|
7073
7114
|
}, ref) => {
|
|
7074
|
-
return /* @__PURE__ */
|
|
7115
|
+
return /* @__PURE__ */ jsxs28(
|
|
7075
7116
|
"div",
|
|
7076
7117
|
{
|
|
7077
7118
|
ref,
|
|
@@ -7081,14 +7122,14 @@ var SkeletonCard = forwardRef19(
|
|
|
7081
7122
|
),
|
|
7082
7123
|
...props,
|
|
7083
7124
|
children: [
|
|
7084
|
-
/* @__PURE__ */
|
|
7125
|
+
/* @__PURE__ */ jsxs28("div", { className: "flex items-start space-x-3", children: [
|
|
7085
7126
|
showAvatar && /* @__PURE__ */ jsx35(SkeletonCircle, { width: 40, height: 40 }),
|
|
7086
|
-
/* @__PURE__ */
|
|
7127
|
+
/* @__PURE__ */ jsxs28("div", { className: "flex-1 space-y-2", children: [
|
|
7087
7128
|
showTitle && /* @__PURE__ */ jsx35(SkeletonText, { width: "60%", height: 20 }),
|
|
7088
7129
|
showDescription && /* @__PURE__ */ jsx35(SkeletonText, { lines, spacing: "small" })
|
|
7089
7130
|
] })
|
|
7090
7131
|
] }),
|
|
7091
|
-
showActions && /* @__PURE__ */
|
|
7132
|
+
showActions && /* @__PURE__ */ jsxs28("div", { className: "flex justify-end space-x-2 mt-4", children: [
|
|
7092
7133
|
/* @__PURE__ */ jsx35(SkeletonRectangle, { width: 80, height: 32 }),
|
|
7093
7134
|
/* @__PURE__ */ jsx35(SkeletonRectangle, { width: 80, height: 32 })
|
|
7094
7135
|
] })
|
|
@@ -7097,7 +7138,7 @@ var SkeletonCard = forwardRef19(
|
|
|
7097
7138
|
);
|
|
7098
7139
|
}
|
|
7099
7140
|
);
|
|
7100
|
-
var SkeletonList =
|
|
7141
|
+
var SkeletonList = forwardRef18(
|
|
7101
7142
|
({
|
|
7102
7143
|
items = 3,
|
|
7103
7144
|
showAvatar = true,
|
|
@@ -7107,18 +7148,18 @@ var SkeletonList = forwardRef19(
|
|
|
7107
7148
|
className = "",
|
|
7108
7149
|
...props
|
|
7109
7150
|
}, ref) => {
|
|
7110
|
-
return /* @__PURE__ */ jsx35("div", { ref, className: cn("space-y-3", className), ...props, children: Array.from({ length: items }, (_, index) => /* @__PURE__ */
|
|
7151
|
+
return /* @__PURE__ */ jsx35("div", { ref, className: cn("space-y-3", className), ...props, children: Array.from({ length: items }, (_, index) => /* @__PURE__ */ jsxs28("div", { className: "flex items-start space-x-3 p-3", children: [
|
|
7111
7152
|
showAvatar && /* @__PURE__ */ jsx35(SkeletonCircle, { width: 32, height: 32 }),
|
|
7112
|
-
/* @__PURE__ */
|
|
7153
|
+
/* @__PURE__ */ jsxs28("div", { className: "flex-1 space-y-2", children: [
|
|
7113
7154
|
showTitle && /* @__PURE__ */ jsx35(SkeletonText, { width: "40%", height: 16 }),
|
|
7114
7155
|
showDescription && /* @__PURE__ */ jsx35(SkeletonText, { lines, spacing: "small" })
|
|
7115
7156
|
] })
|
|
7116
7157
|
] }, index)) });
|
|
7117
7158
|
}
|
|
7118
7159
|
);
|
|
7119
|
-
var SkeletonTable =
|
|
7160
|
+
var SkeletonTable = forwardRef18(
|
|
7120
7161
|
({ rows = 5, columns = 4, showHeader = true, className = "", ...props }, ref) => {
|
|
7121
|
-
return /* @__PURE__ */
|
|
7162
|
+
return /* @__PURE__ */ jsxs28("div", { ref, className: cn("w-full", className), ...props, children: [
|
|
7122
7163
|
showHeader && /* @__PURE__ */ jsx35("div", { className: "flex space-x-2 mb-3", children: Array.from({ length: columns }, (_, index) => /* @__PURE__ */ jsx35(
|
|
7123
7164
|
SkeletonText,
|
|
7124
7165
|
{
|
|
@@ -7140,7 +7181,7 @@ var SkeletonTable = forwardRef19(
|
|
|
7140
7181
|
);
|
|
7141
7182
|
|
|
7142
7183
|
// src/components/NotFound/NotFound.tsx
|
|
7143
|
-
import { jsx as jsx36, jsxs as
|
|
7184
|
+
import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
7144
7185
|
var NotFound = ({
|
|
7145
7186
|
title,
|
|
7146
7187
|
description,
|
|
@@ -7197,7 +7238,7 @@ var NotFound = ({
|
|
|
7197
7238
|
"aria-labelledby": "error-title",
|
|
7198
7239
|
"aria-describedby": "error-description",
|
|
7199
7240
|
className: "flex flex-col items-center text-center max-w-md space-y-6",
|
|
7200
|
-
children: /* @__PURE__ */
|
|
7241
|
+
children: /* @__PURE__ */ jsxs29("section", { "aria-label": `Erro ${errorCode}`, children: [
|
|
7201
7242
|
/* @__PURE__ */ jsx36(
|
|
7202
7243
|
"div",
|
|
7203
7244
|
{
|
|
@@ -7206,7 +7247,7 @@ var NotFound = ({
|
|
|
7206
7247
|
children: errorCode
|
|
7207
7248
|
}
|
|
7208
7249
|
),
|
|
7209
|
-
/* @__PURE__ */
|
|
7250
|
+
/* @__PURE__ */ jsxs29("header", { className: "space-y-2", children: [
|
|
7210
7251
|
/* @__PURE__ */ jsx36(
|
|
7211
7252
|
Text_default,
|
|
7212
7253
|
{
|
|
@@ -7243,8 +7284,8 @@ var NotFound_default = NotFound;
|
|
|
7243
7284
|
// src/components/VideoPlayer/VideoPlayer.tsx
|
|
7244
7285
|
import {
|
|
7245
7286
|
useRef as useRef10,
|
|
7246
|
-
useState as
|
|
7247
|
-
useEffect as
|
|
7287
|
+
useState as useState16,
|
|
7288
|
+
useEffect as useEffect14,
|
|
7248
7289
|
useCallback as useCallback2
|
|
7249
7290
|
} from "react";
|
|
7250
7291
|
import { createPortal } from "react-dom";
|
|
@@ -7258,7 +7299,7 @@ import {
|
|
|
7258
7299
|
ClosedCaptioning,
|
|
7259
7300
|
DotsThreeVertical as DotsThreeVertical2
|
|
7260
7301
|
} from "phosphor-react";
|
|
7261
|
-
import { jsx as jsx37, jsxs as
|
|
7302
|
+
import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
7262
7303
|
var CONTROLS_HIDE_TIMEOUT = 3e3;
|
|
7263
7304
|
var LEAVE_HIDE_TIMEOUT = 1e3;
|
|
7264
7305
|
var INIT_DELAY = 100;
|
|
@@ -7293,7 +7334,7 @@ var VolumeControls = ({
|
|
|
7293
7334
|
isMuted,
|
|
7294
7335
|
onVolumeChange,
|
|
7295
7336
|
onToggleMute
|
|
7296
|
-
}) => /* @__PURE__ */
|
|
7337
|
+
}) => /* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-2", children: [
|
|
7297
7338
|
/* @__PURE__ */ jsx37(
|
|
7298
7339
|
IconButton_default,
|
|
7299
7340
|
{
|
|
@@ -7347,7 +7388,7 @@ var SpeedMenu = ({
|
|
|
7347
7388
|
top: `${position.top}px`,
|
|
7348
7389
|
left: `${position.left}px`
|
|
7349
7390
|
} : void 0,
|
|
7350
|
-
children: [0.5, 0.75, 1, 1.25, 1.5, 2].map((speed) => /* @__PURE__ */
|
|
7391
|
+
children: [0.5, 0.75, 1, 1.25, 1.5, 2].map((speed) => /* @__PURE__ */ jsxs30(
|
|
7351
7392
|
"button",
|
|
7352
7393
|
{
|
|
7353
7394
|
role: "menuitemradio",
|
|
@@ -7364,7 +7405,7 @@ var SpeedMenu = ({
|
|
|
7364
7405
|
}
|
|
7365
7406
|
);
|
|
7366
7407
|
const portalContent = typeof window !== "undefined" && typeof document !== "undefined" ? createPortal(menuContent, document.body) : null;
|
|
7367
|
-
return /* @__PURE__ */
|
|
7408
|
+
return /* @__PURE__ */ jsxs30("div", { className: "relative", children: [
|
|
7368
7409
|
/* @__PURE__ */ jsx37(
|
|
7369
7410
|
IconButton_default,
|
|
7370
7411
|
{
|
|
@@ -7395,20 +7436,20 @@ var VideoPlayer = ({
|
|
|
7395
7436
|
storageKey = "video-progress"
|
|
7396
7437
|
}) => {
|
|
7397
7438
|
const videoRef = useRef10(null);
|
|
7398
|
-
const [isPlaying, setIsPlaying] =
|
|
7399
|
-
const [currentTime, setCurrentTime] =
|
|
7400
|
-
const [duration, setDuration] =
|
|
7401
|
-
const [isMuted, setIsMuted] =
|
|
7402
|
-
const [volume, setVolume] =
|
|
7403
|
-
const [isFullscreen, setIsFullscreen] =
|
|
7404
|
-
const [showControls, setShowControls] =
|
|
7405
|
-
const [hasCompleted, setHasCompleted] =
|
|
7406
|
-
const [showCaptions, setShowCaptions] =
|
|
7407
|
-
|
|
7439
|
+
const [isPlaying, setIsPlaying] = useState16(false);
|
|
7440
|
+
const [currentTime, setCurrentTime] = useState16(0);
|
|
7441
|
+
const [duration, setDuration] = useState16(0);
|
|
7442
|
+
const [isMuted, setIsMuted] = useState16(false);
|
|
7443
|
+
const [volume, setVolume] = useState16(1);
|
|
7444
|
+
const [isFullscreen, setIsFullscreen] = useState16(false);
|
|
7445
|
+
const [showControls, setShowControls] = useState16(true);
|
|
7446
|
+
const [hasCompleted, setHasCompleted] = useState16(false);
|
|
7447
|
+
const [showCaptions, setShowCaptions] = useState16(false);
|
|
7448
|
+
useEffect14(() => {
|
|
7408
7449
|
setHasCompleted(false);
|
|
7409
7450
|
}, [src]);
|
|
7410
|
-
const [playbackRate, setPlaybackRate] =
|
|
7411
|
-
const [showSpeedMenu, setShowSpeedMenu] =
|
|
7451
|
+
const [playbackRate, setPlaybackRate] = useState16(1);
|
|
7452
|
+
const [showSpeedMenu, setShowSpeedMenu] = useState16(false);
|
|
7412
7453
|
const lastSaveTimeRef = useRef10(0);
|
|
7413
7454
|
const trackRef = useRef10(null);
|
|
7414
7455
|
const controlsTimeoutRef = useRef10(null);
|
|
@@ -7476,13 +7517,13 @@ var VideoPlayer = ({
|
|
|
7476
7517
|
}, LEAVE_HIDE_TIMEOUT);
|
|
7477
7518
|
}
|
|
7478
7519
|
}, [isFullscreen, clearControlsTimeout, isUserInteracting]);
|
|
7479
|
-
|
|
7520
|
+
useEffect14(() => {
|
|
7480
7521
|
if (videoRef.current) {
|
|
7481
7522
|
videoRef.current.volume = volume;
|
|
7482
7523
|
videoRef.current.muted = isMuted;
|
|
7483
7524
|
}
|
|
7484
7525
|
}, [volume, isMuted]);
|
|
7485
|
-
|
|
7526
|
+
useEffect14(() => {
|
|
7486
7527
|
const video = videoRef.current;
|
|
7487
7528
|
if (!video) return;
|
|
7488
7529
|
const onPlay = () => setIsPlaying(true);
|
|
@@ -7497,7 +7538,7 @@ var VideoPlayer = ({
|
|
|
7497
7538
|
video.removeEventListener("ended", onEnded);
|
|
7498
7539
|
};
|
|
7499
7540
|
}, []);
|
|
7500
|
-
|
|
7541
|
+
useEffect14(() => {
|
|
7501
7542
|
if (isPlaying) {
|
|
7502
7543
|
showControlsWithTimer();
|
|
7503
7544
|
} else {
|
|
@@ -7509,7 +7550,7 @@ var VideoPlayer = ({
|
|
|
7509
7550
|
}
|
|
7510
7551
|
}
|
|
7511
7552
|
}, [isPlaying, isFullscreen, showControlsWithTimer, clearControlsTimeout]);
|
|
7512
|
-
|
|
7553
|
+
useEffect14(() => {
|
|
7513
7554
|
const handleFullscreenChange = () => {
|
|
7514
7555
|
const isCurrentlyFullscreen = !!document.fullscreenElement;
|
|
7515
7556
|
setIsFullscreen(isCurrentlyFullscreen);
|
|
@@ -7522,7 +7563,7 @@ var VideoPlayer = ({
|
|
|
7522
7563
|
document.removeEventListener("fullscreenchange", handleFullscreenChange);
|
|
7523
7564
|
};
|
|
7524
7565
|
}, [showControlsWithTimer]);
|
|
7525
|
-
|
|
7566
|
+
useEffect14(() => {
|
|
7526
7567
|
const init = () => {
|
|
7527
7568
|
if (!isFullscreen) {
|
|
7528
7569
|
showControlsWithTimer();
|
|
@@ -7555,7 +7596,7 @@ var VideoPlayer = ({
|
|
|
7555
7596
|
if (hasValidSaved) return saved;
|
|
7556
7597
|
return void 0;
|
|
7557
7598
|
}, [autoSave, storageKey, src, initialTime]);
|
|
7558
|
-
|
|
7599
|
+
useEffect14(() => {
|
|
7559
7600
|
const start = getInitialTime();
|
|
7560
7601
|
if (start !== void 0 && videoRef.current) {
|
|
7561
7602
|
videoRef.current.currentTime = start;
|
|
@@ -7676,12 +7717,12 @@ var VideoPlayer = ({
|
|
|
7676
7717
|
setDuration(videoRef.current.duration);
|
|
7677
7718
|
}
|
|
7678
7719
|
}, []);
|
|
7679
|
-
|
|
7720
|
+
useEffect14(() => {
|
|
7680
7721
|
if (trackRef.current?.track) {
|
|
7681
7722
|
trackRef.current.track.mode = showCaptions && subtitles ? "showing" : "hidden";
|
|
7682
7723
|
}
|
|
7683
7724
|
}, [subtitles, showCaptions]);
|
|
7684
|
-
|
|
7725
|
+
useEffect14(() => {
|
|
7685
7726
|
const handleVisibilityChange = () => {
|
|
7686
7727
|
if (document.hidden && isPlaying && videoRef.current) {
|
|
7687
7728
|
videoRef.current.pause();
|
|
@@ -7764,8 +7805,8 @@ var VideoPlayer = ({
|
|
|
7764
7805
|
toggleFullscreen
|
|
7765
7806
|
]
|
|
7766
7807
|
);
|
|
7767
|
-
return /* @__PURE__ */
|
|
7768
|
-
(title || subtitleText) && /* @__PURE__ */ jsx37("div", { className: "bg-subject-1 px-8 py-4 flex items-end justify-between min-h-20", children: /* @__PURE__ */
|
|
7808
|
+
return /* @__PURE__ */ jsxs30("div", { className: cn("flex flex-col", className), children: [
|
|
7809
|
+
(title || subtitleText) && /* @__PURE__ */ jsx37("div", { className: "bg-subject-1 px-8 py-4 flex items-end justify-between min-h-20", children: /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-1", children: [
|
|
7769
7810
|
title && /* @__PURE__ */ jsx37(
|
|
7770
7811
|
Text_default,
|
|
7771
7812
|
{
|
|
@@ -7789,7 +7830,7 @@ var VideoPlayer = ({
|
|
|
7789
7830
|
}
|
|
7790
7831
|
)
|
|
7791
7832
|
] }) }),
|
|
7792
|
-
/* @__PURE__ */
|
|
7833
|
+
/* @__PURE__ */ jsxs30(
|
|
7793
7834
|
"section",
|
|
7794
7835
|
{
|
|
7795
7836
|
className: cn(
|
|
@@ -7858,7 +7899,7 @@ var VideoPlayer = ({
|
|
|
7858
7899
|
) })
|
|
7859
7900
|
}
|
|
7860
7901
|
),
|
|
7861
|
-
/* @__PURE__ */
|
|
7902
|
+
/* @__PURE__ */ jsxs30(
|
|
7862
7903
|
"div",
|
|
7863
7904
|
{
|
|
7864
7905
|
className: cn(
|
|
@@ -7875,8 +7916,8 @@ var VideoPlayer = ({
|
|
|
7875
7916
|
onSeek: handleSeek
|
|
7876
7917
|
}
|
|
7877
7918
|
),
|
|
7878
|
-
/* @__PURE__ */
|
|
7879
|
-
/* @__PURE__ */
|
|
7919
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex items-center justify-between px-4 pb-4", children: [
|
|
7920
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-4", children: [
|
|
7880
7921
|
/* @__PURE__ */ jsx37(
|
|
7881
7922
|
IconButton_default,
|
|
7882
7923
|
{
|
|
@@ -7907,7 +7948,7 @@ var VideoPlayer = ({
|
|
|
7907
7948
|
)
|
|
7908
7949
|
}
|
|
7909
7950
|
),
|
|
7910
|
-
/* @__PURE__ */
|
|
7951
|
+
/* @__PURE__ */ jsxs30(Text_default, { size: "sm", weight: "medium", color: "text-white", children: [
|
|
7911
7952
|
formatTime(currentTime),
|
|
7912
7953
|
" / ",
|
|
7913
7954
|
formatTime(duration)
|
|
@@ -7935,9 +7976,9 @@ var VideoPlayer = ({
|
|
|
7935
7976
|
var VideoPlayer_default = VideoPlayer;
|
|
7936
7977
|
|
|
7937
7978
|
// src/components/Whiteboard/Whiteboard.tsx
|
|
7938
|
-
import { useCallback as useCallback3, useState as
|
|
7979
|
+
import { useCallback as useCallback3, useState as useState17 } from "react";
|
|
7939
7980
|
import { ArrowsOut } from "phosphor-react";
|
|
7940
|
-
import { Fragment as Fragment8, jsx as jsx38, jsxs as
|
|
7981
|
+
import { Fragment as Fragment8, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
7941
7982
|
var IMAGE_WIDTH = 225;
|
|
7942
7983
|
var IMAGE_HEIGHT = 90;
|
|
7943
7984
|
var Whiteboard = ({
|
|
@@ -7948,7 +7989,7 @@ var Whiteboard = ({
|
|
|
7948
7989
|
imagesPerRow = 2,
|
|
7949
7990
|
...rest
|
|
7950
7991
|
}) => {
|
|
7951
|
-
const [imageErrors, setImageErrors] =
|
|
7992
|
+
const [imageErrors, setImageErrors] = useState17(/* @__PURE__ */ new Set());
|
|
7952
7993
|
const handleDownload = useCallback3(
|
|
7953
7994
|
(image) => {
|
|
7954
7995
|
if (onDownload) {
|
|
@@ -7995,7 +8036,7 @@ var Whiteboard = ({
|
|
|
7995
8036
|
className
|
|
7996
8037
|
),
|
|
7997
8038
|
...rest,
|
|
7998
|
-
children: /* @__PURE__ */ jsx38("div", { className: cn("grid gap-4", gridColsClass), children: images.map((image) => /* @__PURE__ */
|
|
8039
|
+
children: /* @__PURE__ */ jsx38("div", { className: cn("grid gap-4", gridColsClass), children: images.map((image) => /* @__PURE__ */ jsxs31(
|
|
7999
8040
|
"div",
|
|
8000
8041
|
{
|
|
8001
8042
|
className: "relative group overflow-hidden bg-gray-100 rounded-lg",
|
|
@@ -8011,7 +8052,7 @@ var Whiteboard = ({
|
|
|
8011
8052
|
width: `${IMAGE_WIDTH}px`,
|
|
8012
8053
|
height: `${IMAGE_HEIGHT}px`
|
|
8013
8054
|
},
|
|
8014
|
-
children: imageErrors.has(image.id) ? /* @__PURE__ */ jsx38("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200", children: /* @__PURE__ */ jsx38("p", { className: "text-gray-500 text-sm text-center px-2", children: "Imagem indispon\xEDvel" }) }) : /* @__PURE__ */
|
|
8055
|
+
children: imageErrors.has(image.id) ? /* @__PURE__ */ jsx38("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200", children: /* @__PURE__ */ jsx38("p", { className: "text-gray-500 text-sm text-center px-2", children: "Imagem indispon\xEDvel" }) }) : /* @__PURE__ */ jsxs31(Fragment8, { children: [
|
|
8015
8056
|
/* @__PURE__ */ jsx38(
|
|
8016
8057
|
"img",
|
|
8017
8058
|
{
|
|
@@ -8056,8 +8097,8 @@ var Whiteboard_default = Whiteboard;
|
|
|
8056
8097
|
import {
|
|
8057
8098
|
createContext,
|
|
8058
8099
|
useContext,
|
|
8059
|
-
useEffect as
|
|
8060
|
-
useState as
|
|
8100
|
+
useEffect as useEffect15,
|
|
8101
|
+
useState as useState18,
|
|
8061
8102
|
useCallback as useCallback4,
|
|
8062
8103
|
useMemo as useMemo4
|
|
8063
8104
|
} from "react";
|
|
@@ -8073,7 +8114,7 @@ var AuthProvider = ({
|
|
|
8073
8114
|
getSessionFn,
|
|
8074
8115
|
getTokensFn
|
|
8075
8116
|
}) => {
|
|
8076
|
-
const [authState, setAuthState] =
|
|
8117
|
+
const [authState, setAuthState] = useState18({
|
|
8077
8118
|
isAuthenticated: false,
|
|
8078
8119
|
isLoading: true,
|
|
8079
8120
|
...initialAuthState
|
|
@@ -8121,7 +8162,7 @@ var AuthProvider = ({
|
|
|
8121
8162
|
tokens: void 0
|
|
8122
8163
|
}));
|
|
8123
8164
|
}, [signOutFn]);
|
|
8124
|
-
|
|
8165
|
+
useEffect15(() => {
|
|
8125
8166
|
checkAuth();
|
|
8126
8167
|
}, [checkAuth]);
|
|
8127
8168
|
const contextValue = useMemo4(
|
|
@@ -8275,7 +8316,7 @@ function createZustandAuthAdapter(useAuthStore) {
|
|
|
8275
8316
|
}
|
|
8276
8317
|
|
|
8277
8318
|
// src/components/Auth/useUrlAuthentication.ts
|
|
8278
|
-
import { useEffect as
|
|
8319
|
+
import { useEffect as useEffect16, useRef as useRef11 } from "react";
|
|
8279
8320
|
import { useLocation as useLocation2 } from "react-router-dom";
|
|
8280
8321
|
var getAuthParams = (location, extractParams) => {
|
|
8281
8322
|
const searchParams = new URLSearchParams(location.search);
|
|
@@ -8324,7 +8365,7 @@ var handleUserData = (responseData, setUser) => {
|
|
|
8324
8365
|
function useUrlAuthentication(options) {
|
|
8325
8366
|
const location = useLocation2();
|
|
8326
8367
|
const processedRef = useRef11(false);
|
|
8327
|
-
|
|
8368
|
+
useEffect16(() => {
|
|
8328
8369
|
const handleAuthentication = async () => {
|
|
8329
8370
|
if (processedRef.current) {
|
|
8330
8371
|
return;
|
|
@@ -8408,7 +8449,7 @@ function useApiConfig(api) {
|
|
|
8408
8449
|
// src/components/Quiz/Quiz.tsx
|
|
8409
8450
|
import {
|
|
8410
8451
|
CaretLeft as CaretLeft3,
|
|
8411
|
-
CaretRight as
|
|
8452
|
+
CaretRight as CaretRight5,
|
|
8412
8453
|
Clock as Clock2,
|
|
8413
8454
|
SquaresFour,
|
|
8414
8455
|
BookOpen,
|
|
@@ -8416,11 +8457,11 @@ import {
|
|
|
8416
8457
|
XCircle as XCircle5
|
|
8417
8458
|
} from "phosphor-react";
|
|
8418
8459
|
import {
|
|
8419
|
-
forwardRef as
|
|
8420
|
-
useEffect as
|
|
8460
|
+
forwardRef as forwardRef19,
|
|
8461
|
+
useEffect as useEffect17,
|
|
8421
8462
|
useMemo as useMemo6,
|
|
8422
8463
|
useId as useId11,
|
|
8423
|
-
useState as
|
|
8464
|
+
useState as useState19,
|
|
8424
8465
|
useCallback as useCallback5,
|
|
8425
8466
|
useRef as useRef12
|
|
8426
8467
|
} from "react";
|
|
@@ -9059,7 +9100,7 @@ var useQuizStore = create7()(
|
|
|
9059
9100
|
var mock_image_question_default = "./mock-image-question-HEZCLFDL.png";
|
|
9060
9101
|
|
|
9061
9102
|
// src/components/Quiz/Quiz.tsx
|
|
9062
|
-
import { Fragment as Fragment10, jsx as jsx40, jsxs as
|
|
9103
|
+
import { Fragment as Fragment10, jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
9063
9104
|
var getStatusBadge = (status) => {
|
|
9064
9105
|
switch (status) {
|
|
9065
9106
|
case "correct":
|
|
@@ -9078,18 +9119,18 @@ var getStatusStyles = (variantCorrect) => {
|
|
|
9078
9119
|
return "bg-error-background border-error-300";
|
|
9079
9120
|
}
|
|
9080
9121
|
};
|
|
9081
|
-
var Quiz =
|
|
9122
|
+
var Quiz = forwardRef19(({ children, className, variant = "default", ...props }, ref) => {
|
|
9082
9123
|
const { setVariant } = useQuizStore();
|
|
9083
|
-
|
|
9124
|
+
useEffect17(() => {
|
|
9084
9125
|
setVariant(variant);
|
|
9085
9126
|
}, [variant, setVariant]);
|
|
9086
9127
|
return /* @__PURE__ */ jsx40("div", { ref, className: cn("flex flex-col", className), ...props, children });
|
|
9087
9128
|
});
|
|
9088
|
-
var QuizHeaderResult =
|
|
9129
|
+
var QuizHeaderResult = forwardRef19(
|
|
9089
9130
|
({ className, ...props }, ref) => {
|
|
9090
9131
|
const { getQuestionResultByQuestionId, getCurrentQuestion } = useQuizStore();
|
|
9091
|
-
const [status, setStatus] =
|
|
9092
|
-
|
|
9132
|
+
const [status, setStatus] = useState19(void 0);
|
|
9133
|
+
useEffect17(() => {
|
|
9093
9134
|
const cq = getCurrentQuestion();
|
|
9094
9135
|
if (!cq) {
|
|
9095
9136
|
setStatus(void 0);
|
|
@@ -9124,7 +9165,7 @@ var QuizHeaderResult = forwardRef20(
|
|
|
9124
9165
|
return "N\xE3o foi dessa vez...voc\xEA deixou a resposta em branco";
|
|
9125
9166
|
}
|
|
9126
9167
|
};
|
|
9127
|
-
return /* @__PURE__ */
|
|
9168
|
+
return /* @__PURE__ */ jsxs32(
|
|
9128
9169
|
"div",
|
|
9129
9170
|
{
|
|
9130
9171
|
ref,
|
|
@@ -9142,7 +9183,7 @@ var QuizHeaderResult = forwardRef20(
|
|
|
9142
9183
|
);
|
|
9143
9184
|
}
|
|
9144
9185
|
);
|
|
9145
|
-
var QuizTitle =
|
|
9186
|
+
var QuizTitle = forwardRef19(
|
|
9146
9187
|
({ className, ...props }, ref) => {
|
|
9147
9188
|
const {
|
|
9148
9189
|
currentQuestionIndex,
|
|
@@ -9152,7 +9193,7 @@ var QuizTitle = forwardRef20(
|
|
|
9152
9193
|
formatTime: formatTime2,
|
|
9153
9194
|
isStarted
|
|
9154
9195
|
} = useQuizStore();
|
|
9155
|
-
const [showExitConfirmation, setShowExitConfirmation] =
|
|
9196
|
+
const [showExitConfirmation, setShowExitConfirmation] = useState19(false);
|
|
9156
9197
|
const totalQuestions = getTotalQuestions();
|
|
9157
9198
|
const quizTitle = getQuizTitle();
|
|
9158
9199
|
const handleBackClick = () => {
|
|
@@ -9169,8 +9210,8 @@ var QuizTitle = forwardRef20(
|
|
|
9169
9210
|
const handleCancelExit = () => {
|
|
9170
9211
|
setShowExitConfirmation(false);
|
|
9171
9212
|
};
|
|
9172
|
-
return /* @__PURE__ */
|
|
9173
|
-
/* @__PURE__ */
|
|
9213
|
+
return /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
9214
|
+
/* @__PURE__ */ jsxs32(
|
|
9174
9215
|
"div",
|
|
9175
9216
|
{
|
|
9176
9217
|
ref,
|
|
@@ -9189,7 +9230,7 @@ var QuizTitle = forwardRef20(
|
|
|
9189
9230
|
onClick: handleBackClick
|
|
9190
9231
|
}
|
|
9191
9232
|
),
|
|
9192
|
-
/* @__PURE__ */
|
|
9233
|
+
/* @__PURE__ */ jsxs32("span", { className: "flex flex-col gap-2 text-center", children: [
|
|
9193
9234
|
/* @__PURE__ */ jsx40("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
|
|
9194
9235
|
/* @__PURE__ */ jsx40("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
|
|
9195
9236
|
] }),
|
|
@@ -9213,7 +9254,7 @@ var QuizTitle = forwardRef20(
|
|
|
9213
9254
|
] });
|
|
9214
9255
|
}
|
|
9215
9256
|
);
|
|
9216
|
-
var QuizSubTitle =
|
|
9257
|
+
var QuizSubTitle = forwardRef19(
|
|
9217
9258
|
({ subTitle, ...props }, ref) => {
|
|
9218
9259
|
return /* @__PURE__ */ jsx40("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ jsx40("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
|
|
9219
9260
|
}
|
|
@@ -9230,7 +9271,7 @@ var QuizHeader = () => {
|
|
|
9230
9271
|
}
|
|
9231
9272
|
);
|
|
9232
9273
|
};
|
|
9233
|
-
var QuizContainer =
|
|
9274
|
+
var QuizContainer = forwardRef19(({ children, className, ...props }, ref) => {
|
|
9234
9275
|
return /* @__PURE__ */ jsx40(
|
|
9235
9276
|
"div",
|
|
9236
9277
|
{
|
|
@@ -9244,7 +9285,7 @@ var QuizContainer = forwardRef20(({ children, className, ...props }, ref) => {
|
|
|
9244
9285
|
}
|
|
9245
9286
|
);
|
|
9246
9287
|
});
|
|
9247
|
-
var QuizContent =
|
|
9288
|
+
var QuizContent = forwardRef19(({ paddingBottom }) => {
|
|
9248
9289
|
const { getCurrentQuestion } = useQuizStore();
|
|
9249
9290
|
const currentQuestion = getCurrentQuestion();
|
|
9250
9291
|
const questionComponents = {
|
|
@@ -9295,7 +9336,7 @@ var QuizAlternative = ({ paddingBottom }) => {
|
|
|
9295
9336
|
});
|
|
9296
9337
|
if (!alternatives)
|
|
9297
9338
|
return /* @__PURE__ */ jsx40("div", { children: /* @__PURE__ */ jsx40("p", { children: "N\xE3o h\xE1 Alternativas" }) });
|
|
9298
|
-
return /* @__PURE__ */
|
|
9339
|
+
return /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
9299
9340
|
/* @__PURE__ */ jsx40(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
9300
9341
|
/* @__PURE__ */ jsx40(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx40("div", { className: "space-y-4", children: /* @__PURE__ */ jsx40(
|
|
9301
9342
|
AlternativesList,
|
|
@@ -9396,7 +9437,7 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
|
|
|
9396
9437
|
});
|
|
9397
9438
|
if (!choices)
|
|
9398
9439
|
return /* @__PURE__ */ jsx40("div", { children: /* @__PURE__ */ jsx40("p", { children: "N\xE3o h\xE1 Escolhas Multiplas" }) });
|
|
9399
|
-
return /* @__PURE__ */
|
|
9440
|
+
return /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
9400
9441
|
/* @__PURE__ */ jsx40(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
9401
9442
|
/* @__PURE__ */ jsx40(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx40("div", { className: "space-y-4", children: /* @__PURE__ */ jsx40(
|
|
9402
9443
|
MultipleChoiceList,
|
|
@@ -9440,14 +9481,14 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
9440
9481
|
textareaRef.current.style.height = `${newHeight}px`;
|
|
9441
9482
|
}
|
|
9442
9483
|
}, []);
|
|
9443
|
-
|
|
9484
|
+
useEffect17(() => {
|
|
9444
9485
|
adjustTextareaHeight();
|
|
9445
9486
|
}, [currentAnswer, adjustTextareaHeight]);
|
|
9446
9487
|
if (!currentQuestion) {
|
|
9447
9488
|
return /* @__PURE__ */ jsx40("div", { className: "space-y-4", children: /* @__PURE__ */ jsx40("p", { className: "text-text-600 text-md", children: "Nenhuma quest\xE3o dispon\xEDvel" }) });
|
|
9448
9489
|
}
|
|
9449
9490
|
const localAnswer = (variant == "result" ? currentQuestionResult?.answer : currentAnswer?.answer) || "";
|
|
9450
|
-
return /* @__PURE__ */
|
|
9491
|
+
return /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
9451
9492
|
/* @__PURE__ */ jsx40(QuizSubTitle, { subTitle: "Resposta" }),
|
|
9452
9493
|
/* @__PURE__ */ jsx40(QuizContainer, { className: cn(variant != "result" && paddingBottom), children: /* @__PURE__ */ jsx40("div", { className: "space-y-4 max-h-[600px] overflow-y-auto", children: variant === "default" ? /* @__PURE__ */ jsx40("div", { className: "space-y-4", children: /* @__PURE__ */ jsx40(
|
|
9453
9494
|
TextArea_default,
|
|
@@ -9460,7 +9501,7 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
9460
9501
|
className: "min-h-[120px] max-h-[400px] resize-none overflow-y-auto"
|
|
9461
9502
|
}
|
|
9462
9503
|
) }) : /* @__PURE__ */ jsx40("div", { className: "space-y-4", children: /* @__PURE__ */ jsx40("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: localAnswer || "Nenhuma resposta fornecida" }) }) }) }),
|
|
9463
|
-
variant === "result" && currentQuestionResult?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */
|
|
9504
|
+
variant === "result" && currentQuestionResult?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
9464
9505
|
/* @__PURE__ */ jsx40(QuizSubTitle, { subTitle: "Observa\xE7\xE3o do professor" }),
|
|
9465
9506
|
/* @__PURE__ */ jsx40(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx40("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Integer euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Nullam ac urna eu felis dapibus condimentum sit amet a augue. Sed non neque elit. Sed ut imperdiet nisi. Proin condimentum fermentum nunc. Etiam pharetra, erat sed fermentum feugiat, velit mauris egestas quam, ut aliquam massa nisl quis neque. Suspendisse in orci enim. Mauris euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Integer euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Nullam ac urna eu felis dapibus condimentum sit amet a augue. Sed non neque elit. Sed ut imperdiet nisi. Proin condimentum fermentum nunc. Etiam pharetra, erat sed fermentum feugiat, velit mauris egestas quam, ut aliquam massa nisl quis neque. Suspendisse in orci enim. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Integer euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Nullam ac urna eu felis dapibus condimentum sit amet a augue. Sed non neque elit. Sed ut imperdiet nisi. Proin condimentum fermentum nunc. Etiam pharetra, erat sed fermentum feugiat, velit mauris egestas quam, ut aliquam massa nisl quis neque. Suspendisse in orci enim." }) })
|
|
9466
9507
|
] })
|
|
@@ -9488,16 +9529,16 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
|
|
|
9488
9529
|
];
|
|
9489
9530
|
const getLetterByIndex = (index) => String.fromCharCode(97 + index);
|
|
9490
9531
|
const isDefaultVariant = variant == "default";
|
|
9491
|
-
return /* @__PURE__ */
|
|
9532
|
+
return /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
9492
9533
|
/* @__PURE__ */ jsx40(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
9493
9534
|
/* @__PURE__ */ jsx40(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx40("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
|
|
9494
9535
|
const variantCorrect = option.isCorrect ? "correct" : "incorrect";
|
|
9495
|
-
return /* @__PURE__ */
|
|
9536
|
+
return /* @__PURE__ */ jsxs32(
|
|
9496
9537
|
"section",
|
|
9497
9538
|
{
|
|
9498
9539
|
className: "flex flex-col gap-2",
|
|
9499
9540
|
children: [
|
|
9500
|
-
/* @__PURE__ */
|
|
9541
|
+
/* @__PURE__ */ jsxs32(
|
|
9501
9542
|
"div",
|
|
9502
9543
|
{
|
|
9503
9544
|
className: cn(
|
|
@@ -9506,9 +9547,9 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
|
|
|
9506
9547
|
),
|
|
9507
9548
|
children: [
|
|
9508
9549
|
/* @__PURE__ */ jsx40("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index).concat(") ").concat(option.label) }),
|
|
9509
|
-
isDefaultVariant ? /* @__PURE__ */
|
|
9550
|
+
isDefaultVariant ? /* @__PURE__ */ jsxs32(Select_default, { size: "medium", children: [
|
|
9510
9551
|
/* @__PURE__ */ jsx40(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx40(SelectValue, { placeholder: "Selecione opc\xE3o" }) }),
|
|
9511
|
-
/* @__PURE__ */
|
|
9552
|
+
/* @__PURE__ */ jsxs32(SelectContent, { children: [
|
|
9512
9553
|
/* @__PURE__ */ jsx40(SelectItem, { value: "V", children: "Verdadeiro" }),
|
|
9513
9554
|
/* @__PURE__ */ jsx40(SelectItem, { value: "F", children: "Falso" })
|
|
9514
9555
|
] })
|
|
@@ -9516,7 +9557,7 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
|
|
|
9516
9557
|
]
|
|
9517
9558
|
}
|
|
9518
9559
|
),
|
|
9519
|
-
!isDefaultVariant && /* @__PURE__ */
|
|
9560
|
+
!isDefaultVariant && /* @__PURE__ */ jsxs32("span", { className: "flex flex-row gap-2 items-center", children: [
|
|
9520
9561
|
/* @__PURE__ */ jsx40("p", { className: "text-text-800 text-2xs", children: "Resposta selecionada: V" }),
|
|
9521
9562
|
!option.isCorrect && /* @__PURE__ */ jsx40("p", { className: "text-text-800 text-2xs", children: "Resposta correta: F" })
|
|
9522
9563
|
] })
|
|
@@ -9579,7 +9620,7 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
9579
9620
|
isCorrect: false
|
|
9580
9621
|
}
|
|
9581
9622
|
];
|
|
9582
|
-
const [userAnswers, setUserAnswers] =
|
|
9623
|
+
const [userAnswers, setUserAnswers] = useState19(() => {
|
|
9583
9624
|
if (variant === "result") {
|
|
9584
9625
|
return mockUserAnswers;
|
|
9585
9626
|
}
|
|
@@ -9608,13 +9649,13 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
9608
9649
|
const assignedDots = new Set(
|
|
9609
9650
|
userAnswers.map((a) => a.dotOption).filter(Boolean)
|
|
9610
9651
|
);
|
|
9611
|
-
return /* @__PURE__ */
|
|
9652
|
+
return /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
9612
9653
|
/* @__PURE__ */ jsx40(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
9613
9654
|
/* @__PURE__ */ jsx40(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx40("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
|
|
9614
9655
|
const answer = userAnswers[index];
|
|
9615
9656
|
const variantCorrect = answer.isCorrect ? "correct" : "incorrect";
|
|
9616
|
-
return /* @__PURE__ */
|
|
9617
|
-
/* @__PURE__ */
|
|
9657
|
+
return /* @__PURE__ */ jsxs32("section", { className: "flex flex-col gap-2", children: [
|
|
9658
|
+
/* @__PURE__ */ jsxs32(
|
|
9618
9659
|
"div",
|
|
9619
9660
|
{
|
|
9620
9661
|
className: cn(
|
|
@@ -9623,7 +9664,7 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
9623
9664
|
),
|
|
9624
9665
|
children: [
|
|
9625
9666
|
/* @__PURE__ */ jsx40("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index) + ") " + option.label }),
|
|
9626
|
-
isDefaultVariant ? /* @__PURE__ */
|
|
9667
|
+
isDefaultVariant ? /* @__PURE__ */ jsxs32(
|
|
9627
9668
|
Select_default,
|
|
9628
9669
|
{
|
|
9629
9670
|
size: "medium",
|
|
@@ -9640,12 +9681,12 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
9640
9681
|
]
|
|
9641
9682
|
}
|
|
9642
9683
|
),
|
|
9643
|
-
!isDefaultVariant && /* @__PURE__ */
|
|
9644
|
-
/* @__PURE__ */
|
|
9684
|
+
!isDefaultVariant && /* @__PURE__ */ jsxs32("span", { className: "flex flex-row gap-2 items-center", children: [
|
|
9685
|
+
/* @__PURE__ */ jsxs32("p", { className: "text-text-800 text-2xs", children: [
|
|
9645
9686
|
"Resposta selecionada: ",
|
|
9646
9687
|
answer.dotOption || "Nenhuma"
|
|
9647
9688
|
] }),
|
|
9648
|
-
!answer.isCorrect && /* @__PURE__ */
|
|
9689
|
+
!answer.isCorrect && /* @__PURE__ */ jsxs32("p", { className: "text-text-800 text-2xs", children: [
|
|
9649
9690
|
"Resposta correta: ",
|
|
9650
9691
|
answer.correctOption
|
|
9651
9692
|
] })
|
|
@@ -9698,7 +9739,7 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
9698
9739
|
isCorrect: true
|
|
9699
9740
|
}
|
|
9700
9741
|
];
|
|
9701
|
-
const [answers, setAnswers] =
|
|
9742
|
+
const [answers, setAnswers] = useState19({});
|
|
9702
9743
|
const baseId = useId11();
|
|
9703
9744
|
const getAvailableOptionsForSelect = (selectId) => {
|
|
9704
9745
|
const usedOptions = Object.entries(answers).filter(([key]) => key !== selectId).map(([, value]) => value);
|
|
@@ -9715,7 +9756,7 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
9715
9756
|
return /* @__PURE__ */ jsx40("p", { className: "inline-flex mb-2.5 text-success-600 font-semibold text-md border-b-2 border-success-600", children: mockAnswer?.correctAnswer });
|
|
9716
9757
|
};
|
|
9717
9758
|
const renderDefaultElement = (selectId, startIndex, selectedValue, availableOptionsForThisSelect) => {
|
|
9718
|
-
return /* @__PURE__ */
|
|
9759
|
+
return /* @__PURE__ */ jsxs32(
|
|
9719
9760
|
Select_default,
|
|
9720
9761
|
{
|
|
9721
9762
|
value: selectedValue,
|
|
@@ -9800,7 +9841,7 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
9800
9841
|
}
|
|
9801
9842
|
return elements;
|
|
9802
9843
|
};
|
|
9803
|
-
return /* @__PURE__ */
|
|
9844
|
+
return /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
9804
9845
|
/* @__PURE__ */ jsx40(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
9805
9846
|
/* @__PURE__ */ jsx40(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx40("div", { className: "space-y-6 px-4 h-auto", children: /* @__PURE__ */ jsx40(
|
|
9806
9847
|
"div",
|
|
@@ -9812,7 +9853,7 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
9812
9853
|
children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ jsx40("span", { children: element.element }, element.id))
|
|
9813
9854
|
}
|
|
9814
9855
|
) }) }),
|
|
9815
|
-
variant === "result" && /* @__PURE__ */
|
|
9856
|
+
variant === "result" && /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
9816
9857
|
/* @__PURE__ */ jsx40(QuizSubTitle, { subTitle: "Resultado" }),
|
|
9817
9858
|
/* @__PURE__ */ jsx40(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx40("div", { className: "space-y-6 px-4", children: /* @__PURE__ */ jsx40(
|
|
9818
9859
|
"div",
|
|
@@ -9836,7 +9877,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
9836
9877
|
};
|
|
9837
9878
|
const correctRadiusRelative = calculateCorrectRadiusRelative();
|
|
9838
9879
|
const mockUserAnswerRelative = { x: 0.72, y: 0.348 };
|
|
9839
|
-
const [clickPositionRelative, setClickPositionRelative] =
|
|
9880
|
+
const [clickPositionRelative, setClickPositionRelative] = useState19(variant == "result" ? mockUserAnswerRelative : null);
|
|
9840
9881
|
const convertToRelativeCoordinates = (x, y, rect) => {
|
|
9841
9882
|
const safeWidth = Math.max(rect.width, 1e-3);
|
|
9842
9883
|
const safeHeight = Math.max(rect.height, 1e-3);
|
|
@@ -9872,36 +9913,36 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
9872
9913
|
}
|
|
9873
9914
|
return "bg-success-600/70 border-white";
|
|
9874
9915
|
};
|
|
9875
|
-
return /* @__PURE__ */
|
|
9916
|
+
return /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
9876
9917
|
/* @__PURE__ */ jsx40(QuizSubTitle, { subTitle: "Clique na \xE1rea correta" }),
|
|
9877
|
-
/* @__PURE__ */ jsx40(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */
|
|
9918
|
+
/* @__PURE__ */ jsx40(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsxs32(
|
|
9878
9919
|
"div",
|
|
9879
9920
|
{
|
|
9880
9921
|
"data-testid": "quiz-image-container",
|
|
9881
9922
|
className: "space-y-6 p-3 relative inline-block",
|
|
9882
9923
|
children: [
|
|
9883
|
-
variant == "result" && /* @__PURE__ */
|
|
9924
|
+
variant == "result" && /* @__PURE__ */ jsxs32(
|
|
9884
9925
|
"div",
|
|
9885
9926
|
{
|
|
9886
9927
|
"data-testid": "quiz-legend",
|
|
9887
9928
|
className: "flex items-center gap-4 text-xs",
|
|
9888
9929
|
children: [
|
|
9889
|
-
/* @__PURE__ */
|
|
9930
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
|
|
9890
9931
|
/* @__PURE__ */ jsx40("div", { className: "w-3 h-3 rounded-full bg-indicator-primary/70 border border-[#F8CC2E]" }),
|
|
9891
9932
|
/* @__PURE__ */ jsx40("span", { className: "text-text-600 font-medium text-sm", children: "\xC1rea correta" })
|
|
9892
9933
|
] }),
|
|
9893
|
-
/* @__PURE__ */
|
|
9934
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
|
|
9894
9935
|
/* @__PURE__ */ jsx40("div", { className: "w-3 h-3 rounded-full bg-success-600/70 border border-white" }),
|
|
9895
9936
|
/* @__PURE__ */ jsx40("span", { className: "text-text-600 font-medium text-sm", children: "Resposta correta" })
|
|
9896
9937
|
] }),
|
|
9897
|
-
/* @__PURE__ */
|
|
9938
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
|
|
9898
9939
|
/* @__PURE__ */ jsx40("div", { className: "w-3 h-3 rounded-full bg-indicator-error/70 border border-white" }),
|
|
9899
9940
|
/* @__PURE__ */ jsx40("span", { className: "text-text-600 font-medium text-sm", children: "Resposta incorreta" })
|
|
9900
9941
|
] })
|
|
9901
9942
|
]
|
|
9902
9943
|
}
|
|
9903
9944
|
),
|
|
9904
|
-
/* @__PURE__ */
|
|
9945
|
+
/* @__PURE__ */ jsxs32(
|
|
9905
9946
|
"button",
|
|
9906
9947
|
{
|
|
9907
9948
|
"data-testid": "quiz-image-button",
|
|
@@ -10008,11 +10049,11 @@ var QuizQuestionList = ({
|
|
|
10008
10049
|
return "Em branco";
|
|
10009
10050
|
}
|
|
10010
10051
|
};
|
|
10011
|
-
return /* @__PURE__ */
|
|
10052
|
+
return /* @__PURE__ */ jsxs32("div", { className: "space-y-6 px-4 h-full", children: [
|
|
10012
10053
|
Object.entries(filteredGroupedQuestions).length == 0 && /* @__PURE__ */ jsx40("div", { className: "flex items-center justify-center text-gray-500 py-8 h-full", children: /* @__PURE__ */ jsx40("p", { className: "text-lg", children: "Nenhum resultado" }) }),
|
|
10013
10054
|
Object.entries(filteredGroupedQuestions).map(
|
|
10014
|
-
([subjectId, questions]) => /* @__PURE__ */
|
|
10015
|
-
/* @__PURE__ */
|
|
10055
|
+
([subjectId, questions]) => /* @__PURE__ */ jsxs32("section", { className: "flex flex-col gap-2", children: [
|
|
10056
|
+
/* @__PURE__ */ jsxs32("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
|
|
10016
10057
|
/* @__PURE__ */ jsx40("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ jsx40(BookOpen, { size: 17, className: "text-white" }) }),
|
|
10017
10058
|
/* @__PURE__ */ jsx40("p", { className: "text-text-800 font-bold text-lg", children: questions?.[0]?.knowledgeMatrix?.[0]?.subject?.name ?? "Sem mat\xE9ria" })
|
|
10018
10059
|
] }),
|
|
@@ -10036,7 +10077,7 @@ var QuizQuestionList = ({
|
|
|
10036
10077
|
)
|
|
10037
10078
|
] });
|
|
10038
10079
|
};
|
|
10039
|
-
var QuizFooter =
|
|
10080
|
+
var QuizFooter = forwardRef19(
|
|
10040
10081
|
({
|
|
10041
10082
|
className,
|
|
10042
10083
|
onGoToSimulated,
|
|
@@ -10064,11 +10105,11 @@ var QuizFooter = forwardRef20(
|
|
|
10064
10105
|
const currentAnswer = getCurrentAnswer();
|
|
10065
10106
|
const currentQuestion = getCurrentQuestion();
|
|
10066
10107
|
const isCurrentQuestionSkipped = currentQuestion ? getQuestionStatusFromUserAnswers(currentQuestion.id) === "skipped" : false;
|
|
10067
|
-
const [alertDialogOpen, setAlertDialogOpen] =
|
|
10068
|
-
const [modalResultOpen, setModalResultOpen] =
|
|
10069
|
-
const [modalNavigateOpen, setModalNavigateOpen] =
|
|
10070
|
-
const [modalResolutionOpen, setModalResolutionOpen] =
|
|
10071
|
-
const [filterType, setFilterType] =
|
|
10108
|
+
const [alertDialogOpen, setAlertDialogOpen] = useState19(false);
|
|
10109
|
+
const [modalResultOpen, setModalResultOpen] = useState19(false);
|
|
10110
|
+
const [modalNavigateOpen, setModalNavigateOpen] = useState19(false);
|
|
10111
|
+
const [modalResolutionOpen, setModalResolutionOpen] = useState19(false);
|
|
10112
|
+
const [filterType, setFilterType] = useState19("all");
|
|
10072
10113
|
const unansweredQuestions = getUnansweredQuestionsFromUserAnswers();
|
|
10073
10114
|
const allQuestions = getTotalQuestions();
|
|
10074
10115
|
const handleFinishQuiz = async () => {
|
|
@@ -10099,7 +10140,7 @@ var QuizFooter = forwardRef20(
|
|
|
10099
10140
|
return;
|
|
10100
10141
|
}
|
|
10101
10142
|
};
|
|
10102
|
-
return /* @__PURE__ */
|
|
10143
|
+
return /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
10103
10144
|
/* @__PURE__ */ jsx40(
|
|
10104
10145
|
"footer",
|
|
10105
10146
|
{
|
|
@@ -10109,8 +10150,8 @@ var QuizFooter = forwardRef20(
|
|
|
10109
10150
|
className
|
|
10110
10151
|
),
|
|
10111
10152
|
...props,
|
|
10112
|
-
children: variant === "default" ? /* @__PURE__ */
|
|
10113
|
-
/* @__PURE__ */
|
|
10153
|
+
children: variant === "default" ? /* @__PURE__ */ jsxs32(Fragment10, { children: [
|
|
10154
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex flex-row items-center gap-1", children: [
|
|
10114
10155
|
/* @__PURE__ */ jsx40(
|
|
10115
10156
|
IconButton_default,
|
|
10116
10157
|
{
|
|
@@ -10173,7 +10214,7 @@ var QuizFooter = forwardRef20(
|
|
|
10173
10214
|
size: "medium",
|
|
10174
10215
|
variant: "link",
|
|
10175
10216
|
action: "primary",
|
|
10176
|
-
iconRight: /* @__PURE__ */ jsx40(
|
|
10217
|
+
iconRight: /* @__PURE__ */ jsx40(CaretRight5, { size: 18 }),
|
|
10177
10218
|
disabled: !currentAnswer && !isCurrentQuestionSkipped,
|
|
10178
10219
|
onClick: () => {
|
|
10179
10220
|
goToNextQuestion();
|
|
@@ -10214,11 +10255,11 @@ var QuizFooter = forwardRef20(
|
|
|
10214
10255
|
closeOnEscape: false,
|
|
10215
10256
|
hideCloseButton: true,
|
|
10216
10257
|
size: "md",
|
|
10217
|
-
children: /* @__PURE__ */
|
|
10258
|
+
children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
|
|
10218
10259
|
resultImageComponent ? /* @__PURE__ */ jsx40("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx40("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx40("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
|
|
10219
|
-
/* @__PURE__ */
|
|
10260
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-2 text-center", children: [
|
|
10220
10261
|
/* @__PURE__ */ jsx40("h2", { className: "text-text-950 font-bold text-lg", children: "Voc\xEA concluiu o simulado!" }),
|
|
10221
|
-
/* @__PURE__ */
|
|
10262
|
+
/* @__PURE__ */ jsxs32("p", { className: "text-text-500 font-sm", children: [
|
|
10222
10263
|
"Voc\xEA acertou",
|
|
10223
10264
|
" ",
|
|
10224
10265
|
getQuestionResultStatistics()?.correctAnswers ?? "--",
|
|
@@ -10228,7 +10269,7 @@ var QuizFooter = forwardRef20(
|
|
|
10228
10269
|
" quest\xF5es."
|
|
10229
10270
|
] })
|
|
10230
10271
|
] }),
|
|
10231
|
-
/* @__PURE__ */
|
|
10272
|
+
/* @__PURE__ */ jsxs32("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: [
|
|
10232
10273
|
/* @__PURE__ */ jsx40(
|
|
10233
10274
|
Button_default,
|
|
10234
10275
|
{
|
|
@@ -10251,10 +10292,10 @@ var QuizFooter = forwardRef20(
|
|
|
10251
10292
|
onClose: () => setModalNavigateOpen(false),
|
|
10252
10293
|
title: "Quest\xF5es",
|
|
10253
10294
|
size: "lg",
|
|
10254
|
-
children: /* @__PURE__ */
|
|
10255
|
-
/* @__PURE__ */
|
|
10295
|
+
children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-col w-full not-lg:h-[calc(100vh-200px)] lg:max-h-[687px] lg:h-[687px]", children: [
|
|
10296
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex flex-row justify-between items-center py-6 pt-6 pb-4 border-b border-border-200 flex-shrink-0", children: [
|
|
10256
10297
|
/* @__PURE__ */ jsx40("p", { className: "text-text-950 font-bold text-lg", children: "Filtrar por" }),
|
|
10257
|
-
/* @__PURE__ */ jsx40("span", { className: "max-w-[266px]", children: /* @__PURE__ */
|
|
10298
|
+
/* @__PURE__ */ jsx40("span", { className: "max-w-[266px]", children: /* @__PURE__ */ jsxs32(Select_default, { value: filterType, onValueChange: setFilterType, children: [
|
|
10258
10299
|
/* @__PURE__ */ jsx40(
|
|
10259
10300
|
SelectTrigger,
|
|
10260
10301
|
{
|
|
@@ -10263,7 +10304,7 @@ var QuizFooter = forwardRef20(
|
|
|
10263
10304
|
children: /* @__PURE__ */ jsx40(SelectValue, { placeholder: "Selecione uma op\xE7\xE3o" })
|
|
10264
10305
|
}
|
|
10265
10306
|
),
|
|
10266
|
-
/* @__PURE__ */
|
|
10307
|
+
/* @__PURE__ */ jsxs32(SelectContent, { children: [
|
|
10267
10308
|
/* @__PURE__ */ jsx40(SelectItem, { value: "all", children: "Todas" }),
|
|
10268
10309
|
/* @__PURE__ */ jsx40(SelectItem, { value: "unanswered", children: "Em branco" }),
|
|
10269
10310
|
/* @__PURE__ */ jsx40(SelectItem, { value: "answered", children: "Respondidas" })
|
|
@@ -10312,10 +10353,10 @@ var QuizBadge = ({
|
|
|
10312
10353
|
return /* @__PURE__ */ jsx40(Badge_default, { variant: "solid", action: "info", "data-testid": "quiz-badge", children: subtype });
|
|
10313
10354
|
}
|
|
10314
10355
|
};
|
|
10315
|
-
var QuizResultHeaderTitle =
|
|
10356
|
+
var QuizResultHeaderTitle = forwardRef19(({ className, ...props }, ref) => {
|
|
10316
10357
|
const { getActiveQuiz } = useQuizStore();
|
|
10317
10358
|
const activeQuiz = getActiveQuiz();
|
|
10318
|
-
return /* @__PURE__ */
|
|
10359
|
+
return /* @__PURE__ */ jsxs32(
|
|
10319
10360
|
"div",
|
|
10320
10361
|
{
|
|
10321
10362
|
ref,
|
|
@@ -10328,7 +10369,7 @@ var QuizResultHeaderTitle = forwardRef20(({ className, ...props }, ref) => {
|
|
|
10328
10369
|
}
|
|
10329
10370
|
);
|
|
10330
10371
|
});
|
|
10331
|
-
var QuizResultTitle =
|
|
10372
|
+
var QuizResultTitle = forwardRef19(({ className, ...props }, ref) => {
|
|
10332
10373
|
const { getQuizTitle } = useQuizStore();
|
|
10333
10374
|
const quizTitle = getQuizTitle();
|
|
10334
10375
|
return /* @__PURE__ */ jsx40(
|
|
@@ -10341,7 +10382,7 @@ var QuizResultTitle = forwardRef20(({ className, ...props }, ref) => {
|
|
|
10341
10382
|
}
|
|
10342
10383
|
);
|
|
10343
10384
|
});
|
|
10344
|
-
var QuizResultPerformance =
|
|
10385
|
+
var QuizResultPerformance = forwardRef19(
|
|
10345
10386
|
({ ...props }, ref) => {
|
|
10346
10387
|
const {
|
|
10347
10388
|
getTotalQuestions,
|
|
@@ -10383,14 +10424,14 @@ var QuizResultPerformance = forwardRef20(
|
|
|
10383
10424
|
});
|
|
10384
10425
|
}
|
|
10385
10426
|
const percentage = totalQuestions > 0 ? Math.round(correctAnswers / totalQuestions * 100) : 0;
|
|
10386
|
-
return /* @__PURE__ */
|
|
10427
|
+
return /* @__PURE__ */ jsxs32(
|
|
10387
10428
|
"div",
|
|
10388
10429
|
{
|
|
10389
10430
|
className: "flex flex-row gap-6 p-6 rounded-xl bg-background justify-between",
|
|
10390
10431
|
ref,
|
|
10391
10432
|
...props,
|
|
10392
10433
|
children: [
|
|
10393
|
-
/* @__PURE__ */
|
|
10434
|
+
/* @__PURE__ */ jsxs32("div", { className: "relative", children: [
|
|
10394
10435
|
/* @__PURE__ */ jsx40(
|
|
10395
10436
|
ProgressCircle_default,
|
|
10396
10437
|
{
|
|
@@ -10401,14 +10442,14 @@ var QuizResultPerformance = forwardRef20(
|
|
|
10401
10442
|
label: ""
|
|
10402
10443
|
}
|
|
10403
10444
|
),
|
|
10404
|
-
/* @__PURE__ */
|
|
10405
|
-
/* @__PURE__ */
|
|
10445
|
+
/* @__PURE__ */ jsxs32("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
|
|
10446
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-1 mb-1", children: [
|
|
10406
10447
|
/* @__PURE__ */ jsx40(Clock2, { size: 12, weight: "regular", className: "text-text-800" }),
|
|
10407
10448
|
/* @__PURE__ */ jsx40("span", { className: "text-2xs font-medium text-text-800", children: formatTime2(
|
|
10408
10449
|
(getQuestionResultStatistics()?.timeSpent ?? 0) * 60
|
|
10409
10450
|
) })
|
|
10410
10451
|
] }),
|
|
10411
|
-
/* @__PURE__ */
|
|
10452
|
+
/* @__PURE__ */ jsxs32("div", { className: "text-2xl font-medium text-text-800 leading-7", children: [
|
|
10412
10453
|
getQuestionResultStatistics()?.correctAnswers ?? "--",
|
|
10413
10454
|
" de",
|
|
10414
10455
|
" ",
|
|
@@ -10417,7 +10458,7 @@ var QuizResultPerformance = forwardRef20(
|
|
|
10417
10458
|
/* @__PURE__ */ jsx40("div", { className: "text-2xs font-medium text-text-600 mt-1", children: "Corretas" })
|
|
10418
10459
|
] })
|
|
10419
10460
|
] }),
|
|
10420
|
-
/* @__PURE__ */
|
|
10461
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-4 w-full", children: [
|
|
10421
10462
|
/* @__PURE__ */ jsx40(
|
|
10422
10463
|
ProgressBar_default,
|
|
10423
10464
|
{
|
|
@@ -10466,7 +10507,7 @@ var QuizResultPerformance = forwardRef20(
|
|
|
10466
10507
|
);
|
|
10467
10508
|
}
|
|
10468
10509
|
);
|
|
10469
|
-
var QuizListResult =
|
|
10510
|
+
var QuizListResult = forwardRef19(({ className, onSubjectClick, ...props }, ref) => {
|
|
10470
10511
|
const { getQuestionsGroupedBySubject } = useQuizStore();
|
|
10471
10512
|
const groupedQuestions = getQuestionsGroupedBySubject();
|
|
10472
10513
|
const subjectsStats = Object.entries(groupedQuestions).map(
|
|
@@ -10493,7 +10534,7 @@ var QuizListResult = forwardRef20(({ className, onSubjectClick, ...props }, ref)
|
|
|
10493
10534
|
};
|
|
10494
10535
|
}
|
|
10495
10536
|
);
|
|
10496
|
-
return /* @__PURE__ */
|
|
10537
|
+
return /* @__PURE__ */ jsxs32("section", { ref, className, ...props, children: [
|
|
10497
10538
|
/* @__PURE__ */ jsx40("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Mat\xE9rias" }),
|
|
10498
10539
|
/* @__PURE__ */ jsx40("ul", { className: "flex flex-col gap-2", children: subjectsStats.map((subject) => /* @__PURE__ */ jsx40("li", { children: /* @__PURE__ */ jsx40(
|
|
10499
10540
|
CardResults,
|
|
@@ -10517,9 +10558,9 @@ var QuizListResultByMateria = ({
|
|
|
10517
10558
|
const { getQuestionsGroupedBySubject, getQuestionIndex } = useQuizStore();
|
|
10518
10559
|
const groupedQuestions = getQuestionsGroupedBySubject();
|
|
10519
10560
|
const answeredQuestions = groupedQuestions[subject] || [];
|
|
10520
|
-
return /* @__PURE__ */
|
|
10561
|
+
return /* @__PURE__ */ jsxs32("div", { className: "flex flex-col", children: [
|
|
10521
10562
|
/* @__PURE__ */ jsx40("div", { className: "flex flex-row pt-4 justify-between", children: /* @__PURE__ */ jsx40("p", { className: "text-text-950 font-bold text-2xl", children: answeredQuestions?.[0]?.knowledgeMatrix?.[0]?.subject?.name ?? "Sem mat\xE9ria" }) }),
|
|
10522
|
-
/* @__PURE__ */
|
|
10563
|
+
/* @__PURE__ */ jsxs32("section", { className: "flex flex-col ", children: [
|
|
10523
10564
|
/* @__PURE__ */ jsx40("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Resultado das quest\xF5es" }),
|
|
10524
10565
|
/* @__PURE__ */ jsx40("ul", { className: "flex flex-col gap-2 pt-4", children: answeredQuestions.map((question) => {
|
|
10525
10566
|
const questionIndex = getQuestionIndex(
|
|
@@ -10549,9 +10590,9 @@ var QuizListResultByMateria = ({
|
|
|
10549
10590
|
};
|
|
10550
10591
|
|
|
10551
10592
|
// src/components/LoadingModal/loadingModal.tsx
|
|
10552
|
-
import { forwardRef as
|
|
10553
|
-
import { jsx as jsx41, jsxs as
|
|
10554
|
-
var LoadingModal =
|
|
10593
|
+
import { forwardRef as forwardRef20 } from "react";
|
|
10594
|
+
import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
10595
|
+
var LoadingModal = forwardRef20(
|
|
10555
10596
|
({ open, title = "Titulo...", subtitle = "Subtitulo...", ...props }, ref) => {
|
|
10556
10597
|
if (!open) return null;
|
|
10557
10598
|
return /* @__PURE__ */ jsx41(
|
|
@@ -10563,8 +10604,8 @@ var LoadingModal = forwardRef21(
|
|
|
10563
10604
|
"aria-describedby": "loading-modal-subtitle",
|
|
10564
10605
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-background/90 backdrop-blur-xs",
|
|
10565
10606
|
...props,
|
|
10566
|
-
children: /* @__PURE__ */
|
|
10567
|
-
/* @__PURE__ */ jsx41("span", { className: "animate-spin", "aria-hidden": "true", children: /* @__PURE__ */
|
|
10607
|
+
children: /* @__PURE__ */ jsxs33("div", { className: "w-full max-w-[364px] flex flex-col items-center justify-center gap-14", children: [
|
|
10608
|
+
/* @__PURE__ */ jsx41("span", { className: "animate-spin", "aria-hidden": "true", children: /* @__PURE__ */ jsxs33(
|
|
10568
10609
|
"svg",
|
|
10569
10610
|
{
|
|
10570
10611
|
width: "102",
|
|
@@ -10592,7 +10633,7 @@ var LoadingModal = forwardRef21(
|
|
|
10592
10633
|
]
|
|
10593
10634
|
}
|
|
10594
10635
|
) }),
|
|
10595
|
-
/* @__PURE__ */
|
|
10636
|
+
/* @__PURE__ */ jsxs33("span", { className: "flex flex-col gap-4 text-center", children: [
|
|
10596
10637
|
/* @__PURE__ */ jsx41("p", { id: "loading-modal-title", className: "text-text-950 text-lg", children: title }),
|
|
10597
10638
|
/* @__PURE__ */ jsx41("p", { id: "loading-modal-subtitle", className: "text-text-600 text-lg", children: subtitle })
|
|
10598
10639
|
] })
|
|
@@ -10605,7 +10646,7 @@ var loadingModal_default = LoadingModal;
|
|
|
10605
10646
|
|
|
10606
10647
|
// src/components/NotificationCard/NotificationCard.tsx
|
|
10607
10648
|
import { DotsThreeVertical as DotsThreeVertical3, Bell as Bell2 } from "phosphor-react";
|
|
10608
|
-
import { useState as
|
|
10649
|
+
import { useState as useState20, useEffect as useEffect18 } from "react";
|
|
10609
10650
|
|
|
10610
10651
|
// src/store/notificationStore.ts
|
|
10611
10652
|
import { create as create8 } from "zustand";
|
|
@@ -10848,13 +10889,13 @@ var createNotificationStore = (apiClient) => {
|
|
|
10848
10889
|
};
|
|
10849
10890
|
|
|
10850
10891
|
// src/components/NotificationCard/NotificationCard.tsx
|
|
10851
|
-
import { Fragment as Fragment11, jsx as jsx42, jsxs as
|
|
10892
|
+
import { Fragment as Fragment11, jsx as jsx42, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
10852
10893
|
var NotificationEmpty = ({
|
|
10853
10894
|
emptyStateImage,
|
|
10854
10895
|
emptyStateTitle = "Nenhuma notifica\xE7\xE3o no momento",
|
|
10855
10896
|
emptyStateDescription = "Voc\xEA est\xE1 em dia com todas as novidades. Volte depois para conferir atualiza\xE7\xF5es!"
|
|
10856
10897
|
}) => {
|
|
10857
|
-
return /* @__PURE__ */
|
|
10898
|
+
return /* @__PURE__ */ jsxs34("div", { className: "flex flex-col items-center justify-center gap-4 p-6 w-full", children: [
|
|
10858
10899
|
emptyStateImage && /* @__PURE__ */ jsx42("div", { className: "w-20 h-20 flex items-center justify-center", children: /* @__PURE__ */ jsx42(
|
|
10859
10900
|
"img",
|
|
10860
10901
|
{
|
|
@@ -10873,7 +10914,7 @@ var NotificationHeader = ({
|
|
|
10873
10914
|
unreadCount,
|
|
10874
10915
|
variant = "modal"
|
|
10875
10916
|
}) => {
|
|
10876
|
-
return /* @__PURE__ */
|
|
10917
|
+
return /* @__PURE__ */ jsxs34("div", { className: "flex items-center justify-between gap-2", children: [
|
|
10877
10918
|
variant === "modal" ? /* @__PURE__ */ jsx42(Text_default, { size: "sm", weight: "bold", className: "text-text-950", children: "Notifica\xE7\xF5es" }) : /* @__PURE__ */ jsx42("h3", { className: "text-sm font-semibold text-text-950", children: "Notifica\xE7\xF5es" }),
|
|
10878
10919
|
unreadCount > 0 && /* @__PURE__ */ jsx42(
|
|
10879
10920
|
Badge_default,
|
|
@@ -10917,7 +10958,7 @@ var SingleNotificationCard = ({
|
|
|
10917
10958
|
onNavigate();
|
|
10918
10959
|
}
|
|
10919
10960
|
};
|
|
10920
|
-
return /* @__PURE__ */
|
|
10961
|
+
return /* @__PURE__ */ jsxs34(
|
|
10921
10962
|
"div",
|
|
10922
10963
|
{
|
|
10923
10964
|
className: cn(
|
|
@@ -10926,10 +10967,10 @@ var SingleNotificationCard = ({
|
|
|
10926
10967
|
className
|
|
10927
10968
|
),
|
|
10928
10969
|
children: [
|
|
10929
|
-
/* @__PURE__ */
|
|
10970
|
+
/* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-2 w-full", children: [
|
|
10930
10971
|
!isRead && /* @__PURE__ */ jsx42("div", { className: "w-[7px] h-[7px] bg-info-300 rounded-full flex-shrink-0" }),
|
|
10931
10972
|
/* @__PURE__ */ jsx42("h3", { className: "font-bold text-sm leading-4 text-text-950 flex-grow", children: title }),
|
|
10932
|
-
/* @__PURE__ */
|
|
10973
|
+
/* @__PURE__ */ jsxs34(DropdownMenu_default, { children: [
|
|
10933
10974
|
/* @__PURE__ */ jsx42(
|
|
10934
10975
|
DropdownMenuTrigger,
|
|
10935
10976
|
{
|
|
@@ -10938,7 +10979,7 @@ var SingleNotificationCard = ({
|
|
|
10938
10979
|
children: /* @__PURE__ */ jsx42(DotsThreeVertical3, { size: 24 })
|
|
10939
10980
|
}
|
|
10940
10981
|
),
|
|
10941
|
-
/* @__PURE__ */
|
|
10982
|
+
/* @__PURE__ */ jsxs34(DropdownMenuContent, { align: "end", className: "min-w-[160px]", children: [
|
|
10942
10983
|
!isRead && /* @__PURE__ */ jsx42(
|
|
10943
10984
|
DropdownMenuItem,
|
|
10944
10985
|
{
|
|
@@ -10952,7 +10993,7 @@ var SingleNotificationCard = ({
|
|
|
10952
10993
|
] })
|
|
10953
10994
|
] }),
|
|
10954
10995
|
/* @__PURE__ */ jsx42("p", { className: "text-sm leading-[21px] text-text-800 w-full", children: message }),
|
|
10955
|
-
/* @__PURE__ */
|
|
10996
|
+
/* @__PURE__ */ jsxs34("div", { className: "flex items-center justify-between w-full", children: [
|
|
10956
10997
|
/* @__PURE__ */ jsx42("span", { className: "text-sm font-medium text-text-400", children: time }),
|
|
10957
10998
|
onNavigate && actionLabel && /* @__PURE__ */ jsx42(
|
|
10958
10999
|
"button",
|
|
@@ -10981,7 +11022,7 @@ var NotificationList = ({
|
|
|
10981
11022
|
className
|
|
10982
11023
|
}) => {
|
|
10983
11024
|
if (error) {
|
|
10984
|
-
return /* @__PURE__ */
|
|
11025
|
+
return /* @__PURE__ */ jsxs34("div", { className: "flex flex-col items-center gap-4 p-6 w-full", children: [
|
|
10985
11026
|
/* @__PURE__ */ jsx42("p", { className: "text-sm text-error-600", children: error }),
|
|
10986
11027
|
onRetry && /* @__PURE__ */ jsx42(
|
|
10987
11028
|
"button",
|
|
@@ -11008,7 +11049,7 @@ var NotificationList = ({
|
|
|
11008
11049
|
if (!groupedNotifications || groupedNotifications.length === 0) {
|
|
11009
11050
|
return renderEmpty ? /* @__PURE__ */ jsx42("div", { className: "w-full", children: renderEmpty() }) : /* @__PURE__ */ jsx42(NotificationEmpty, {});
|
|
11010
11051
|
}
|
|
11011
|
-
return /* @__PURE__ */ jsx42("div", { className: cn("flex flex-col gap-0 w-full", className), children: groupedNotifications.map((group, idx) => /* @__PURE__ */
|
|
11052
|
+
return /* @__PURE__ */ jsx42("div", { className: cn("flex flex-col gap-0 w-full", className), children: groupedNotifications.map((group, idx) => /* @__PURE__ */ jsxs34("div", { className: "flex flex-col", children: [
|
|
11012
11053
|
/* @__PURE__ */ jsx42("div", { className: "flex items-end px-4 py-6 pb-4", children: /* @__PURE__ */ jsx42("h4", { className: "text-lg font-bold text-text-500 flex-grow", children: group.label }) }),
|
|
11013
11054
|
group.notifications.map((notification) => /* @__PURE__ */ jsx42(
|
|
11014
11055
|
SingleNotificationCard,
|
|
@@ -11051,7 +11092,7 @@ var NotificationCenter = ({
|
|
|
11051
11092
|
className
|
|
11052
11093
|
}) => {
|
|
11053
11094
|
const { isMobile } = useMobile();
|
|
11054
|
-
const [isModalOpen, setIsModalOpen] =
|
|
11095
|
+
const [isModalOpen, setIsModalOpen] = useState20(false);
|
|
11055
11096
|
const handleMobileClick = () => {
|
|
11056
11097
|
setIsModalOpen(true);
|
|
11057
11098
|
onFetchNotifications?.();
|
|
@@ -11059,7 +11100,7 @@ var NotificationCenter = ({
|
|
|
11059
11100
|
const handleDesktopClick = () => {
|
|
11060
11101
|
onToggleActive?.();
|
|
11061
11102
|
};
|
|
11062
|
-
|
|
11103
|
+
useEffect18(() => {
|
|
11063
11104
|
if (isActive) {
|
|
11064
11105
|
onFetchNotifications?.();
|
|
11065
11106
|
}
|
|
@@ -11077,7 +11118,7 @@ var NotificationCenter = ({
|
|
|
11077
11118
|
}
|
|
11078
11119
|
);
|
|
11079
11120
|
if (isMobile) {
|
|
11080
|
-
return /* @__PURE__ */
|
|
11121
|
+
return /* @__PURE__ */ jsxs34(Fragment11, { children: [
|
|
11081
11122
|
/* @__PURE__ */ jsx42(
|
|
11082
11123
|
IconButton_default,
|
|
11083
11124
|
{
|
|
@@ -11096,8 +11137,8 @@ var NotificationCenter = ({
|
|
|
11096
11137
|
size: "md",
|
|
11097
11138
|
hideCloseButton: false,
|
|
11098
11139
|
closeOnEscape: true,
|
|
11099
|
-
children: /* @__PURE__ */
|
|
11100
|
-
/* @__PURE__ */
|
|
11140
|
+
children: /* @__PURE__ */ jsxs34("div", { className: "flex flex-col h-full max-h-[80vh]", children: [
|
|
11141
|
+
/* @__PURE__ */ jsxs34("div", { className: "px-0 pb-3 border-b border-border-200", children: [
|
|
11101
11142
|
/* @__PURE__ */ jsx42(NotificationHeader, { unreadCount, variant: "modal" }),
|
|
11102
11143
|
unreadCount > 0 && onMarkAllAsRead && /* @__PURE__ */ jsx42(
|
|
11103
11144
|
"button",
|
|
@@ -11132,7 +11173,7 @@ var NotificationCenter = ({
|
|
|
11132
11173
|
)
|
|
11133
11174
|
] });
|
|
11134
11175
|
}
|
|
11135
|
-
return /* @__PURE__ */
|
|
11176
|
+
return /* @__PURE__ */ jsxs34(DropdownMenu_default, { children: [
|
|
11136
11177
|
/* @__PURE__ */ jsx42(DropdownMenuTrigger, { className: "text-primary cursor-pointer", children: /* @__PURE__ */ jsx42(
|
|
11137
11178
|
IconButton_default,
|
|
11138
11179
|
{
|
|
@@ -11154,8 +11195,8 @@ var NotificationCenter = ({
|
|
|
11154
11195
|
className: "min-w-[320px] max-w-[400px] max-h-[500px] overflow-hidden",
|
|
11155
11196
|
side: "bottom",
|
|
11156
11197
|
align: "end",
|
|
11157
|
-
children: /* @__PURE__ */
|
|
11158
|
-
/* @__PURE__ */
|
|
11198
|
+
children: /* @__PURE__ */ jsxs34("div", { className: "flex flex-col", children: [
|
|
11199
|
+
/* @__PURE__ */ jsxs34("div", { className: "px-4 py-3 border-b border-border-200", children: [
|
|
11159
11200
|
/* @__PURE__ */ jsx42(NotificationHeader, { unreadCount, variant: "dropdown" }),
|
|
11160
11201
|
unreadCount > 0 && onMarkAllAsRead && /* @__PURE__ */ jsx42(
|
|
11161
11202
|
"button",
|
|
@@ -11398,6 +11439,7 @@ export {
|
|
|
11398
11439
|
ProfileMenuHeader,
|
|
11399
11440
|
ProfileMenuSection,
|
|
11400
11441
|
ProfileMenuTrigger,
|
|
11442
|
+
ProfileToggleTheme,
|
|
11401
11443
|
ProgressBar_default as ProgressBar,
|
|
11402
11444
|
ProgressCircle_default as ProgressCircle,
|
|
11403
11445
|
ProtectedRoute,
|