analytica-frontend-lib 1.0.80 → 1.0.81

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.
@@ -131,5 +131,23 @@ interface CardTestProps extends Omit<HTMLAttributes<HTMLElement>, 'onSelect'> {
131
131
  onSelect?: (selected: boolean) => void;
132
132
  }
133
133
  declare const CardTest: react.ForwardRefExoticComponent<CardTestProps & react.RefAttributes<HTMLElement>>;
134
+ interface SimulationItem {
135
+ id: string;
136
+ title: string;
137
+ type: 'enem' | 'prova' | 'simulado' | 'vestibular';
138
+ info: string;
139
+ }
140
+ interface SimulationHistoryData {
141
+ date: string;
142
+ simulations: SimulationItem[];
143
+ }
144
+ interface CardSimulationHistoryProps extends HTMLAttributes<HTMLDivElement> {
145
+ title?: string;
146
+ activeTab?: 'create' | 'history';
147
+ data: SimulationHistoryData[];
148
+ onTabChange?: (tab: 'create' | 'history') => void;
149
+ onSimulationClick?: (simulation: SimulationItem) => void;
150
+ }
151
+ declare const CardSimulationHistory: react.ForwardRefExoticComponent<CardSimulationHistoryProps & react.RefAttributes<HTMLDivElement>>;
134
152
 
135
- export { CardActivitiesResults, CardAudio, CardBase, CardForum, CardPerformance, CardProgress, CardQuestions, CardResults, CardSettings, CardSimulado, CardStatus, CardSupport, CardTest, CardTopic };
153
+ export { CardActivitiesResults, CardAudio, CardBase, CardForum, CardPerformance, CardProgress, CardQuestions, CardResults, CardSettings, CardSimulado, CardSimulationHistory, CardStatus, CardSupport, CardTest, CardTopic };
@@ -30,6 +30,7 @@ __export(Card_exports, {
30
30
  CardResults: () => CardResults,
31
31
  CardSettings: () => CardSettings,
32
32
  CardSimulado: () => CardSimulado,
33
+ CardSimulationHistory: () => CardSimulationHistory,
33
34
  CardStatus: () => CardStatus,
34
35
  CardSupport: () => CardSupport,
35
36
  CardTest: () => CardTest,
@@ -1719,6 +1720,166 @@ var CardTest = (0, import_react.forwardRef)(
1719
1720
  );
1720
1721
  }
1721
1722
  );
1723
+ var SIMULATION_TYPE_STYLES = {
1724
+ enem: {
1725
+ background: "bg-exam-1",
1726
+ badge: "exam1",
1727
+ text: "Enem"
1728
+ },
1729
+ prova: {
1730
+ background: "bg-exam-2",
1731
+ badge: "exam2",
1732
+ text: "Prova"
1733
+ },
1734
+ simulado: {
1735
+ background: "bg-exam-3",
1736
+ badge: "exam3",
1737
+ text: "Simulado"
1738
+ },
1739
+ vestibular: {
1740
+ background: "bg-exam-4",
1741
+ badge: "exam4",
1742
+ text: "Vestibular"
1743
+ }
1744
+ };
1745
+ var CardSimulationHistory = (0, import_react.forwardRef)(
1746
+ ({
1747
+ title = "Simulados",
1748
+ activeTab = "history",
1749
+ data,
1750
+ onTabChange,
1751
+ onSimulationClick,
1752
+ className,
1753
+ ...props
1754
+ }, ref) => {
1755
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
1756
+ "div",
1757
+ {
1758
+ ref,
1759
+ className: `w-full max-w-[992px] h-auto ${className}`,
1760
+ ...props,
1761
+ children: [
1762
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex flex-row items-end justify-between gap-4 mb-4", children: [
1763
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Text_default, { size: "2xl", weight: "bold", className: "text-text-950 flex-1", children: title }),
1764
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex flex-row gap-2", children: [
1765
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
1766
+ "button",
1767
+ {
1768
+ type: "button",
1769
+ onClick: () => onTabChange?.("create"),
1770
+ className: `
1771
+ flex flex-row justify-center items-center px-4 py-3 gap-2 rounded-md relative
1772
+ ${activeTab === "create" ? "text-text-950" : "text-text-950 hover:bg-background-50"}
1773
+ `,
1774
+ children: [
1775
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Text_default, { size: "xs", weight: "bold", className: "leading-4 tracking-wide", children: "Criar Simulado" }),
1776
+ activeTab === "create" && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "absolute bottom-0 left-2 right-2 h-1 bg-primary-950 rounded-lg" })
1777
+ ]
1778
+ }
1779
+ ),
1780
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
1781
+ "button",
1782
+ {
1783
+ type: "button",
1784
+ onClick: () => onTabChange?.("history"),
1785
+ className: `
1786
+ flex flex-row justify-center items-center px-4 py-3 gap-2 rounded-md relative
1787
+ ${activeTab === "history" ? "text-text-950" : "text-text-950 hover:bg-background-50"}
1788
+ `,
1789
+ children: [
1790
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Text_default, { size: "xs", weight: "bold", className: "leading-4 tracking-wide", children: "Hist\xF3rico" }),
1791
+ activeTab === "history" && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "absolute bottom-0 left-2 right-2 h-1 bg-primary-950 rounded-lg" })
1792
+ ]
1793
+ }
1794
+ )
1795
+ ] })
1796
+ ] }),
1797
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex flex-col gap-0", children: [
1798
+ data.map((section, sectionIndex) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
1799
+ "div",
1800
+ {
1801
+ className: `
1802
+ flex flex-row justify-center items-start px-4 py-6 gap-2 w-full bg-white
1803
+ ${sectionIndex === 0 ? "rounded-t-3xl" : ""}
1804
+ `,
1805
+ children: [
1806
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1807
+ Text_default,
1808
+ {
1809
+ size: "xs",
1810
+ weight: "bold",
1811
+ className: "text-text-800 w-11 flex-shrink-0",
1812
+ children: section.date
1813
+ }
1814
+ ),
1815
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "flex flex-col gap-2 flex-1", children: section.simulations.map((simulation) => {
1816
+ const typeStyles = SIMULATION_TYPE_STYLES[simulation.type];
1817
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1818
+ CardBase,
1819
+ {
1820
+ layout: "horizontal",
1821
+ padding: "medium",
1822
+ minHeight: "none",
1823
+ cursor: "pointer",
1824
+ className: `
1825
+ ${typeStyles.background} rounded-xl hover:shadow-soft-shadow-2
1826
+ transition-shadow duration-200 h-auto min-h-[61px]
1827
+ `,
1828
+ onClick: () => onSimulationClick?.(simulation),
1829
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex justify-between items-center w-full gap-2", children: [
1830
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
1831
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1832
+ Text_default,
1833
+ {
1834
+ size: "lg",
1835
+ weight: "bold",
1836
+ className: "text-text-950 truncate",
1837
+ children: simulation.title
1838
+ }
1839
+ ),
1840
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-center gap-2", children: [
1841
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1842
+ Badge_default,
1843
+ {
1844
+ variant: "examsOutlined",
1845
+ action: typeStyles.badge,
1846
+ size: "medium",
1847
+ children: typeStyles.text
1848
+ }
1849
+ ),
1850
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1851
+ Text_default,
1852
+ {
1853
+ size: "sm",
1854
+ className: "text-text-800 truncate",
1855
+ children: simulation.info
1856
+ }
1857
+ )
1858
+ ] })
1859
+ ] }),
1860
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1861
+ import_phosphor_react2.CaretRight,
1862
+ {
1863
+ size: 24,
1864
+ className: "text-text-800 flex-shrink-0",
1865
+ "data-testid": "caret-icon"
1866
+ }
1867
+ )
1868
+ ] })
1869
+ },
1870
+ simulation.id
1871
+ );
1872
+ }) })
1873
+ ]
1874
+ }
1875
+ ) }, section.date)),
1876
+ data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "w-full h-6 bg-white rounded-b-3xl" })
1877
+ ] })
1878
+ ]
1879
+ }
1880
+ );
1881
+ }
1882
+ );
1722
1883
  // Annotate the CommonJS export names for ESM import in node:
1723
1884
  0 && (module.exports = {
1724
1885
  CardActivitiesResults,
@@ -1731,6 +1892,7 @@ var CardTest = (0, import_react.forwardRef)(
1731
1892
  CardResults,
1732
1893
  CardSettings,
1733
1894
  CardSimulado,
1895
+ CardSimulationHistory,
1734
1896
  CardStatus,
1735
1897
  CardSupport,
1736
1898
  CardTest,