analytica-frontend-lib 1.1.60 → 1.1.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordation/index.js +230 -211
- package/dist/Accordation/index.js.map +1 -1
- package/dist/Accordation/index.mjs +199 -180
- package/dist/Accordation/index.mjs.map +1 -1
- package/dist/Card/index.js +220 -201
- package/dist/Card/index.js.map +1 -1
- package/dist/Card/index.mjs +193 -174
- package/dist/Card/index.mjs.map +1 -1
- package/dist/DropdownMenu/index.js.map +1 -1
- package/dist/DropdownMenu/index.mjs.map +1 -1
- package/dist/IconRender/index.d.mts +2 -2
- package/dist/IconRender/index.d.ts +2 -2
- package/dist/IconRender/index.js +37 -18
- package/dist/IconRender/index.js.map +1 -1
- package/dist/IconRender/index.mjs +37 -18
- package/dist/IconRender/index.mjs.map +1 -1
- package/dist/NotificationCard/index.d.mts +1 -1
- package/dist/NotificationCard/index.d.ts +1 -1
- package/dist/NotificationCard/index.js +76 -62
- package/dist/NotificationCard/index.js.map +1 -1
- package/dist/NotificationCard/index.mjs +76 -62
- package/dist/NotificationCard/index.mjs.map +1 -1
- package/dist/{NotificationCard-DpSGkWEa.d.mts → NotificationCard-4GgB0Nsf.d.mts} +5 -0
- package/dist/{NotificationCard-DpSGkWEa.d.ts → NotificationCard-4GgB0Nsf.d.ts} +5 -0
- package/dist/Quiz/index.js +495 -476
- package/dist/Quiz/index.js.map +1 -1
- package/dist/Quiz/index.mjs +412 -393
- package/dist/Quiz/index.mjs.map +1 -1
- package/dist/Search/index.js.map +1 -1
- package/dist/Search/index.mjs.map +1 -1
- package/dist/SubjectInfo/index.d.mts +1 -1
- package/dist/SubjectInfo/index.d.ts +1 -1
- package/dist/SubjectInfo/index.js +24 -20
- package/dist/SubjectInfo/index.js.map +1 -1
- package/dist/SubjectInfo/index.mjs +24 -19
- package/dist/SubjectInfo/index.mjs.map +1 -1
- package/dist/{SubjectInfo-DZvZ5alE.d.mts → SubjectInfo-Dvt0OodP.d.mts} +2 -2
- package/dist/{SubjectInfo-DZvZ5alE.d.ts → SubjectInfo-Dvt0OodP.d.ts} +2 -2
- package/dist/ThemeToggle/index.js.map +1 -1
- package/dist/ThemeToggle/index.mjs.map +1 -1
- package/dist/index.css +15 -0
- 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 +562 -633
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +477 -547
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +15 -0
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
package/dist/Quiz/index.js
CHANGED
|
@@ -971,7 +971,7 @@ IconButton.displayName = "IconButton";
|
|
|
971
971
|
var IconButton_default = IconButton;
|
|
972
972
|
|
|
973
973
|
// src/components/Quiz/Quiz.tsx
|
|
974
|
-
var
|
|
974
|
+
var import_react13 = require("react");
|
|
975
975
|
|
|
976
976
|
// src/components/Quiz/useQuizStore.ts
|
|
977
977
|
var import_zustand2 = require("zustand");
|
|
@@ -2256,7 +2256,7 @@ SelectItem.displayName = "SelectItem";
|
|
|
2256
2256
|
var Select_default = Select;
|
|
2257
2257
|
|
|
2258
2258
|
// src/components/Card/Card.tsx
|
|
2259
|
-
var
|
|
2259
|
+
var import_react8 = require("react");
|
|
2260
2260
|
|
|
2261
2261
|
// src/components/ProgressBar/ProgressBar.tsx
|
|
2262
2262
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
@@ -2738,7 +2738,10 @@ var ProgressBar_default = ProgressBar;
|
|
|
2738
2738
|
var import_phosphor_react5 = require("phosphor-react");
|
|
2739
2739
|
|
|
2740
2740
|
// src/components/IconRender/IconRender.tsx
|
|
2741
|
+
var import_react7 = require("react");
|
|
2741
2742
|
var PhosphorIcons = __toESM(require("phosphor-react"));
|
|
2743
|
+
|
|
2744
|
+
// src/assets/icons/subjects/ChatPT.tsx
|
|
2742
2745
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
2743
2746
|
var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
2744
2747
|
"svg",
|
|
@@ -2773,7 +2776,10 @@ var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)
|
|
|
2773
2776
|
]
|
|
2774
2777
|
}
|
|
2775
2778
|
);
|
|
2776
|
-
|
|
2779
|
+
|
|
2780
|
+
// src/assets/icons/subjects/ChatEN.tsx
|
|
2781
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
2782
|
+
var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
2777
2783
|
"svg",
|
|
2778
2784
|
{
|
|
2779
2785
|
width: size,
|
|
@@ -2782,21 +2788,21 @@ var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)
|
|
|
2782
2788
|
fill: "none",
|
|
2783
2789
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2784
2790
|
children: [
|
|
2785
|
-
/* @__PURE__ */ (0,
|
|
2791
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2786
2792
|
"path",
|
|
2787
2793
|
{
|
|
2788
2794
|
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",
|
|
2789
2795
|
fill: color
|
|
2790
2796
|
}
|
|
2791
2797
|
),
|
|
2792
|
-
/* @__PURE__ */ (0,
|
|
2798
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2793
2799
|
"path",
|
|
2794
2800
|
{
|
|
2795
2801
|
d: "M22.5488 12V20.5312H21.0781L17.252 14.4199V20.5312H15.7812V12H17.252L21.0898 18.123V12H22.5488Z",
|
|
2796
2802
|
fill: color
|
|
2797
2803
|
}
|
|
2798
2804
|
),
|
|
2799
|
-
/* @__PURE__ */ (0,
|
|
2805
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2800
2806
|
"path",
|
|
2801
2807
|
{
|
|
2802
2808
|
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",
|
|
@@ -2806,7 +2812,10 @@ var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)
|
|
|
2806
2812
|
]
|
|
2807
2813
|
}
|
|
2808
2814
|
);
|
|
2809
|
-
|
|
2815
|
+
|
|
2816
|
+
// src/assets/icons/subjects/ChatES.tsx
|
|
2817
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
2818
|
+
var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
2810
2819
|
"svg",
|
|
2811
2820
|
{
|
|
2812
2821
|
width: size,
|
|
@@ -2815,21 +2824,21 @@ var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)
|
|
|
2815
2824
|
fill: "none",
|
|
2816
2825
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2817
2826
|
children: [
|
|
2818
|
-
/* @__PURE__ */ (0,
|
|
2827
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2819
2828
|
"path",
|
|
2820
2829
|
{
|
|
2821
2830
|
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",
|
|
2822
2831
|
fill: color
|
|
2823
2832
|
}
|
|
2824
2833
|
),
|
|
2825
|
-
/* @__PURE__ */ (0,
|
|
2834
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2826
2835
|
"path",
|
|
2827
2836
|
{
|
|
2828
2837
|
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",
|
|
2829
2838
|
fill: color
|
|
2830
2839
|
}
|
|
2831
2840
|
),
|
|
2832
|
-
/* @__PURE__ */ (0,
|
|
2841
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2833
2842
|
"path",
|
|
2834
2843
|
{
|
|
2835
2844
|
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",
|
|
@@ -2839,29 +2848,39 @@ var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)
|
|
|
2839
2848
|
]
|
|
2840
2849
|
}
|
|
2841
2850
|
);
|
|
2851
|
+
|
|
2852
|
+
// src/components/IconRender/IconRender.tsx
|
|
2853
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
2842
2854
|
var IconRender = ({
|
|
2843
2855
|
iconName,
|
|
2844
2856
|
color = "#000000",
|
|
2845
2857
|
size = 24,
|
|
2846
2858
|
weight = "regular"
|
|
2847
2859
|
}) => {
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2860
|
+
if (typeof iconName === "string") {
|
|
2861
|
+
switch (iconName) {
|
|
2862
|
+
case "Chat_PT":
|
|
2863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ChatPT, { size, color });
|
|
2864
|
+
case "Chat_EN":
|
|
2865
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ChatEN, { size, color });
|
|
2866
|
+
case "Chat_ES":
|
|
2867
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ChatES, { size, color });
|
|
2868
|
+
default: {
|
|
2869
|
+
const IconComponent = PhosphorIcons[iconName] || PhosphorIcons.Question;
|
|
2870
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(IconComponent, { size, color, weight });
|
|
2871
|
+
}
|
|
2858
2872
|
}
|
|
2873
|
+
} else {
|
|
2874
|
+
return (0, import_react7.cloneElement)(iconName, {
|
|
2875
|
+
size,
|
|
2876
|
+
color: "currentColor"
|
|
2877
|
+
});
|
|
2859
2878
|
}
|
|
2860
2879
|
};
|
|
2861
2880
|
var IconRender_default = IconRender;
|
|
2862
2881
|
|
|
2863
2882
|
// src/components/Card/Card.tsx
|
|
2864
|
-
var
|
|
2883
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
2865
2884
|
var CARD_BASE_CLASSES = {
|
|
2866
2885
|
default: "w-full bg-background border border-border-50 rounded-xl",
|
|
2867
2886
|
compact: "w-full bg-background border border-border-50 rounded-lg",
|
|
@@ -2887,7 +2906,7 @@ var CARD_CURSOR_CLASSES = {
|
|
|
2887
2906
|
default: "",
|
|
2888
2907
|
pointer: "cursor-pointer"
|
|
2889
2908
|
};
|
|
2890
|
-
var CardBase = (0,
|
|
2909
|
+
var CardBase = (0, import_react8.forwardRef)(
|
|
2891
2910
|
({
|
|
2892
2911
|
children,
|
|
2893
2912
|
variant = "default",
|
|
@@ -2903,7 +2922,7 @@ var CardBase = (0, import_react7.forwardRef)(
|
|
|
2903
2922
|
const minHeightClasses = CARD_MIN_HEIGHT_CLASSES[minHeight];
|
|
2904
2923
|
const layoutClasses = CARD_LAYOUT_CLASSES[layout];
|
|
2905
2924
|
const cursorClasses = CARD_CURSOR_CLASSES[cursor];
|
|
2906
|
-
return /* @__PURE__ */ (0,
|
|
2925
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2907
2926
|
"div",
|
|
2908
2927
|
{
|
|
2909
2928
|
ref,
|
|
@@ -2945,7 +2964,7 @@ var ACTION_HEADER_CLASSES = {
|
|
|
2945
2964
|
error: "text-error-300",
|
|
2946
2965
|
info: "text-info-300"
|
|
2947
2966
|
};
|
|
2948
|
-
var CardActivitiesResults = (0,
|
|
2967
|
+
var CardActivitiesResults = (0, import_react8.forwardRef)(
|
|
2949
2968
|
({
|
|
2950
2969
|
icon,
|
|
2951
2970
|
title,
|
|
@@ -2961,7 +2980,7 @@ var CardActivitiesResults = (0, import_react7.forwardRef)(
|
|
|
2961
2980
|
const actionIconClasses = ACTION_ICON_CLASSES[action];
|
|
2962
2981
|
const actionSubTitleClasses = ACTION_SUBTITLE_CLASSES[action];
|
|
2963
2982
|
const actionHeaderClasses = ACTION_HEADER_CLASSES[action];
|
|
2964
|
-
return /* @__PURE__ */ (0,
|
|
2983
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
2965
2984
|
"div",
|
|
2966
2985
|
{
|
|
2967
2986
|
ref,
|
|
@@ -2971,7 +2990,7 @@ var CardActivitiesResults = (0, import_react7.forwardRef)(
|
|
|
2971
2990
|
),
|
|
2972
2991
|
...props,
|
|
2973
2992
|
children: [
|
|
2974
|
-
/* @__PURE__ */ (0,
|
|
2993
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
2975
2994
|
"div",
|
|
2976
2995
|
{
|
|
2977
2996
|
className: cn(
|
|
@@ -2980,7 +2999,7 @@ var CardActivitiesResults = (0, import_react7.forwardRef)(
|
|
|
2980
2999
|
extended ? "rounded-t-xl" : "rounded-xl"
|
|
2981
3000
|
),
|
|
2982
3001
|
children: [
|
|
2983
|
-
/* @__PURE__ */ (0,
|
|
3002
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2984
3003
|
"span",
|
|
2985
3004
|
{
|
|
2986
3005
|
className: cn(
|
|
@@ -2990,7 +3009,7 @@ var CardActivitiesResults = (0, import_react7.forwardRef)(
|
|
|
2990
3009
|
children: icon
|
|
2991
3010
|
}
|
|
2992
3011
|
),
|
|
2993
|
-
/* @__PURE__ */ (0,
|
|
3012
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2994
3013
|
Text_default,
|
|
2995
3014
|
{
|
|
2996
3015
|
size: "2xs",
|
|
@@ -2999,7 +3018,7 @@ var CardActivitiesResults = (0, import_react7.forwardRef)(
|
|
|
2999
3018
|
children: title
|
|
3000
3019
|
}
|
|
3001
3020
|
),
|
|
3002
|
-
/* @__PURE__ */ (0,
|
|
3021
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3003
3022
|
"p",
|
|
3004
3023
|
{
|
|
3005
3024
|
className: cn("text-lg font-bold truncate", actionSubTitleClasses),
|
|
@@ -3009,8 +3028,8 @@ var CardActivitiesResults = (0, import_react7.forwardRef)(
|
|
|
3009
3028
|
]
|
|
3010
3029
|
}
|
|
3011
3030
|
),
|
|
3012
|
-
extended && /* @__PURE__ */ (0,
|
|
3013
|
-
/* @__PURE__ */ (0,
|
|
3031
|
+
extended && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col items-center gap-2.5 pb-9.5 pt-2.5", children: [
|
|
3032
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3014
3033
|
"p",
|
|
3015
3034
|
{
|
|
3016
3035
|
className: cn(
|
|
@@ -3020,14 +3039,14 @@ var CardActivitiesResults = (0, import_react7.forwardRef)(
|
|
|
3020
3039
|
children: header
|
|
3021
3040
|
}
|
|
3022
3041
|
),
|
|
3023
|
-
/* @__PURE__ */ (0,
|
|
3042
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Badge_default, { size: "large", action: "info", children: description })
|
|
3024
3043
|
] })
|
|
3025
3044
|
]
|
|
3026
3045
|
}
|
|
3027
3046
|
);
|
|
3028
3047
|
}
|
|
3029
3048
|
);
|
|
3030
|
-
var CardQuestions = (0,
|
|
3049
|
+
var CardQuestions = (0, import_react8.forwardRef)(
|
|
3031
3050
|
({
|
|
3032
3051
|
header,
|
|
3033
3052
|
state = "undone",
|
|
@@ -3039,7 +3058,7 @@ var CardQuestions = (0, import_react7.forwardRef)(
|
|
|
3039
3058
|
const isDone = state === "done";
|
|
3040
3059
|
const stateLabel = isDone ? "Realizado" : "N\xE3o Realizado";
|
|
3041
3060
|
const buttonLabel = isDone ? "Ver Quest\xE3o" : "Responder";
|
|
3042
|
-
return /* @__PURE__ */ (0,
|
|
3061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3043
3062
|
CardBase,
|
|
3044
3063
|
{
|
|
3045
3064
|
ref,
|
|
@@ -3049,10 +3068,10 @@ var CardQuestions = (0, import_react7.forwardRef)(
|
|
|
3049
3068
|
className: cn("justify-between gap-4", className),
|
|
3050
3069
|
...props,
|
|
3051
3070
|
children: [
|
|
3052
|
-
/* @__PURE__ */ (0,
|
|
3053
|
-
/* @__PURE__ */ (0,
|
|
3054
|
-
/* @__PURE__ */ (0,
|
|
3055
|
-
/* @__PURE__ */ (0,
|
|
3071
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("section", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
|
|
3072
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "font-bold text-xs text-text-950 truncate", children: header }),
|
|
3073
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-row gap-6 items-center", children: [
|
|
3074
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3056
3075
|
Badge_default,
|
|
3057
3076
|
{
|
|
3058
3077
|
size: "medium",
|
|
@@ -3061,13 +3080,13 @@ var CardQuestions = (0, import_react7.forwardRef)(
|
|
|
3061
3080
|
children: stateLabel
|
|
3062
3081
|
}
|
|
3063
3082
|
),
|
|
3064
|
-
/* @__PURE__ */ (0,
|
|
3083
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "flex flex-row items-center gap-1 text-text-700 text-xs", children: [
|
|
3065
3084
|
isDone ? "Nota" : "Sem nota",
|
|
3066
|
-
isDone && /* @__PURE__ */ (0,
|
|
3085
|
+
isDone && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Badge_default, { size: "medium", action: "success", children: "00" })
|
|
3067
3086
|
] })
|
|
3068
3087
|
] })
|
|
3069
3088
|
] }),
|
|
3070
|
-
/* @__PURE__ */ (0,
|
|
3089
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3071
3090
|
Button_default,
|
|
3072
3091
|
{
|
|
3073
3092
|
size: "extra-small",
|
|
@@ -3081,7 +3100,7 @@ var CardQuestions = (0, import_react7.forwardRef)(
|
|
|
3081
3100
|
);
|
|
3082
3101
|
}
|
|
3083
3102
|
);
|
|
3084
|
-
var CardProgress = (0,
|
|
3103
|
+
var CardProgress = (0, import_react8.forwardRef)(
|
|
3085
3104
|
({
|
|
3086
3105
|
header,
|
|
3087
3106
|
subhead,
|
|
@@ -3098,19 +3117,19 @@ var CardProgress = (0, import_react7.forwardRef)(
|
|
|
3098
3117
|
}, ref) => {
|
|
3099
3118
|
const isHorizontal = direction === "horizontal";
|
|
3100
3119
|
const contentComponent = {
|
|
3101
|
-
horizontal: /* @__PURE__ */ (0,
|
|
3102
|
-
showDates && /* @__PURE__ */ (0,
|
|
3103
|
-
initialDate && /* @__PURE__ */ (0,
|
|
3104
|
-
/* @__PURE__ */ (0,
|
|
3105
|
-
/* @__PURE__ */ (0,
|
|
3120
|
+
horizontal: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
|
|
3121
|
+
showDates && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-row gap-6 items-center", children: [
|
|
3122
|
+
initialDate && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
|
|
3123
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-text-800 font-semibold", children: "In\xEDcio" }),
|
|
3124
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-text-600", children: initialDate })
|
|
3106
3125
|
] }),
|
|
3107
|
-
endDate && /* @__PURE__ */ (0,
|
|
3108
|
-
/* @__PURE__ */ (0,
|
|
3109
|
-
/* @__PURE__ */ (0,
|
|
3126
|
+
endDate && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
|
|
3127
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-text-800 font-semibold", children: "Fim" }),
|
|
3128
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-text-600", children: endDate })
|
|
3110
3129
|
] })
|
|
3111
3130
|
] }),
|
|
3112
|
-
/* @__PURE__ */ (0,
|
|
3113
|
-
/* @__PURE__ */ (0,
|
|
3131
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
|
|
3132
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3114
3133
|
ProgressBar_default,
|
|
3115
3134
|
{
|
|
3116
3135
|
size: "small",
|
|
@@ -3119,7 +3138,7 @@ var CardProgress = (0, import_react7.forwardRef)(
|
|
|
3119
3138
|
"data-testid": "progress-bar"
|
|
3120
3139
|
}
|
|
3121
3140
|
),
|
|
3122
|
-
/* @__PURE__ */ (0,
|
|
3141
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3123
3142
|
Text_default,
|
|
3124
3143
|
{
|
|
3125
3144
|
size: "xs",
|
|
@@ -3135,9 +3154,9 @@ var CardProgress = (0, import_react7.forwardRef)(
|
|
|
3135
3154
|
)
|
|
3136
3155
|
] })
|
|
3137
3156
|
] }),
|
|
3138
|
-
vertical: /* @__PURE__ */ (0,
|
|
3157
|
+
vertical: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-sm text-text-800", children: subhead })
|
|
3139
3158
|
};
|
|
3140
|
-
return /* @__PURE__ */ (0,
|
|
3159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3141
3160
|
CardBase,
|
|
3142
3161
|
{
|
|
3143
3162
|
ref,
|
|
@@ -3148,20 +3167,20 @@ var CardProgress = (0, import_react7.forwardRef)(
|
|
|
3148
3167
|
className: cn(isHorizontal ? "h-20" : "", className),
|
|
3149
3168
|
...props,
|
|
3150
3169
|
children: [
|
|
3151
|
-
/* @__PURE__ */ (0,
|
|
3170
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3152
3171
|
"div",
|
|
3153
3172
|
{
|
|
3154
3173
|
className: cn(
|
|
3155
3174
|
"flex justify-center items-center [&>svg]:size-6 text-text-950",
|
|
3156
3175
|
isHorizontal ? "min-w-[80px] min-h-[80px] rounded-l-xl" : "min-h-[50px] w-full rounded-t-xl",
|
|
3157
|
-
!color.startsWith("#") ?
|
|
3176
|
+
!color.startsWith("#") ? `${color}` : ""
|
|
3158
3177
|
),
|
|
3159
3178
|
style: color.startsWith("#") ? { backgroundColor: color } : void 0,
|
|
3160
3179
|
"data-testid": "icon-container",
|
|
3161
3180
|
children: icon
|
|
3162
3181
|
}
|
|
3163
3182
|
),
|
|
3164
|
-
/* @__PURE__ */ (0,
|
|
3183
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3165
3184
|
"div",
|
|
3166
3185
|
{
|
|
3167
3186
|
className: cn(
|
|
@@ -3169,7 +3188,7 @@ var CardProgress = (0, import_react7.forwardRef)(
|
|
|
3169
3188
|
!isHorizontal && "gap-4"
|
|
3170
3189
|
),
|
|
3171
3190
|
children: [
|
|
3172
|
-
/* @__PURE__ */ (0,
|
|
3191
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { size: "sm", weight: "bold", className: "text-text-950 truncate", children: header }),
|
|
3173
3192
|
contentComponent[direction]
|
|
3174
3193
|
]
|
|
3175
3194
|
}
|
|
@@ -3179,7 +3198,7 @@ var CardProgress = (0, import_react7.forwardRef)(
|
|
|
3179
3198
|
);
|
|
3180
3199
|
}
|
|
3181
3200
|
);
|
|
3182
|
-
var CardTopic = (0,
|
|
3201
|
+
var CardTopic = (0, import_react8.forwardRef)(
|
|
3183
3202
|
({
|
|
3184
3203
|
header,
|
|
3185
3204
|
subHead,
|
|
@@ -3189,7 +3208,7 @@ var CardTopic = (0, import_react7.forwardRef)(
|
|
|
3189
3208
|
className = "",
|
|
3190
3209
|
...props
|
|
3191
3210
|
}, ref) => {
|
|
3192
|
-
return /* @__PURE__ */ (0,
|
|
3211
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3193
3212
|
CardBase,
|
|
3194
3213
|
{
|
|
3195
3214
|
ref,
|
|
@@ -3200,13 +3219,13 @@ var CardTopic = (0, import_react7.forwardRef)(
|
|
|
3200
3219
|
className: cn("justify-center gap-2 py-2 px-4", className),
|
|
3201
3220
|
...props,
|
|
3202
3221
|
children: [
|
|
3203
|
-
subHead && /* @__PURE__ */ (0,
|
|
3204
|
-
/* @__PURE__ */ (0,
|
|
3205
|
-
index < subHead.length - 1 && /* @__PURE__ */ (0,
|
|
3222
|
+
subHead && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react8.Fragment, { children: [
|
|
3223
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { children: text }),
|
|
3224
|
+
index < subHead.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { children: "\u2022" })
|
|
3206
3225
|
] }, `${text} - ${index}`)) }),
|
|
3207
|
-
/* @__PURE__ */ (0,
|
|
3208
|
-
/* @__PURE__ */ (0,
|
|
3209
|
-
/* @__PURE__ */ (0,
|
|
3226
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }),
|
|
3227
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
|
|
3228
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3210
3229
|
ProgressBar_default,
|
|
3211
3230
|
{
|
|
3212
3231
|
size: "small",
|
|
@@ -3215,7 +3234,7 @@ var CardTopic = (0, import_react7.forwardRef)(
|
|
|
3215
3234
|
"data-testid": "progress-bar"
|
|
3216
3235
|
}
|
|
3217
3236
|
),
|
|
3218
|
-
showPercentage && /* @__PURE__ */ (0,
|
|
3237
|
+
showPercentage && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3219
3238
|
Text_default,
|
|
3220
3239
|
{
|
|
3221
3240
|
size: "xs",
|
|
@@ -3235,7 +3254,7 @@ var CardTopic = (0, import_react7.forwardRef)(
|
|
|
3235
3254
|
);
|
|
3236
3255
|
}
|
|
3237
3256
|
);
|
|
3238
|
-
var CardPerformance = (0,
|
|
3257
|
+
var CardPerformance = (0, import_react8.forwardRef)(
|
|
3239
3258
|
({
|
|
3240
3259
|
header,
|
|
3241
3260
|
progress,
|
|
@@ -3249,7 +3268,7 @@ var CardPerformance = (0, import_react7.forwardRef)(
|
|
|
3249
3268
|
...props
|
|
3250
3269
|
}, ref) => {
|
|
3251
3270
|
const hasProgress = progress !== void 0;
|
|
3252
|
-
return /* @__PURE__ */ (0,
|
|
3271
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3253
3272
|
CardBase,
|
|
3254
3273
|
{
|
|
3255
3274
|
ref,
|
|
@@ -3263,10 +3282,10 @@ var CardPerformance = (0, import_react7.forwardRef)(
|
|
|
3263
3282
|
onClick: () => actionVariant == "caret" && onClickButton?.(valueButton),
|
|
3264
3283
|
...props,
|
|
3265
3284
|
children: [
|
|
3266
|
-
/* @__PURE__ */ (0,
|
|
3267
|
-
/* @__PURE__ */ (0,
|
|
3268
|
-
/* @__PURE__ */ (0,
|
|
3269
|
-
actionVariant === "button" && /* @__PURE__ */ (0,
|
|
3285
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "w-full flex flex-col justify-between gap-2", children: [
|
|
3286
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-row justify-between items-center gap-2", children: [
|
|
3287
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-lg font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
|
|
3288
|
+
actionVariant === "button" && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3270
3289
|
Button_default,
|
|
3271
3290
|
{
|
|
3272
3291
|
variant: "outline",
|
|
@@ -3277,16 +3296,16 @@ var CardPerformance = (0, import_react7.forwardRef)(
|
|
|
3277
3296
|
}
|
|
3278
3297
|
)
|
|
3279
3298
|
] }),
|
|
3280
|
-
/* @__PURE__ */ (0,
|
|
3299
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-full", children: hasProgress ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3281
3300
|
ProgressBar_default,
|
|
3282
3301
|
{
|
|
3283
3302
|
value: progress,
|
|
3284
3303
|
label: `${progress}% ${labelProgress}`,
|
|
3285
3304
|
variant: progressVariant
|
|
3286
3305
|
}
|
|
3287
|
-
) : /* @__PURE__ */ (0,
|
|
3306
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-xs text-text-600 truncate", children: description }) })
|
|
3288
3307
|
] }),
|
|
3289
|
-
actionVariant == "caret" && /* @__PURE__ */ (0,
|
|
3308
|
+
actionVariant == "caret" && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3290
3309
|
import_phosphor_react5.CaretRight,
|
|
3291
3310
|
{
|
|
3292
3311
|
className: "size-4.5 text-text-800 cursor-pointer",
|
|
@@ -3298,7 +3317,7 @@ var CardPerformance = (0, import_react7.forwardRef)(
|
|
|
3298
3317
|
);
|
|
3299
3318
|
}
|
|
3300
3319
|
);
|
|
3301
|
-
var CardResults = (0,
|
|
3320
|
+
var CardResults = (0, import_react8.forwardRef)(
|
|
3302
3321
|
({
|
|
3303
3322
|
header,
|
|
3304
3323
|
correct_answers,
|
|
@@ -3310,7 +3329,7 @@ var CardResults = (0, import_react7.forwardRef)(
|
|
|
3310
3329
|
...props
|
|
3311
3330
|
}, ref) => {
|
|
3312
3331
|
const isRow = direction == "row";
|
|
3313
|
-
return /* @__PURE__ */ (0,
|
|
3332
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3314
3333
|
CardBase,
|
|
3315
3334
|
{
|
|
3316
3335
|
ref,
|
|
@@ -3320,7 +3339,7 @@ var CardResults = (0, import_react7.forwardRef)(
|
|
|
3320
3339
|
className: cn("items-stretch cursor-pointer pr-4", className),
|
|
3321
3340
|
...props,
|
|
3322
3341
|
children: [
|
|
3323
|
-
/* @__PURE__ */ (0,
|
|
3342
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3324
3343
|
"div",
|
|
3325
3344
|
{
|
|
3326
3345
|
className: cn(
|
|
@@ -3329,11 +3348,11 @@ var CardResults = (0, import_react7.forwardRef)(
|
|
|
3329
3348
|
style: {
|
|
3330
3349
|
backgroundColor: color
|
|
3331
3350
|
},
|
|
3332
|
-
children: /* @__PURE__ */ (0,
|
|
3351
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(IconRender_default, { iconName: icon, color: "currentColor", size: 20 })
|
|
3333
3352
|
}
|
|
3334
3353
|
),
|
|
3335
|
-
/* @__PURE__ */ (0,
|
|
3336
|
-
/* @__PURE__ */ (0,
|
|
3354
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "w-full flex flex-row justify-between items-center", children: [
|
|
3355
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3337
3356
|
"div",
|
|
3338
3357
|
{
|
|
3339
3358
|
className: cn(
|
|
@@ -3341,28 +3360,28 @@ var CardResults = (0, import_react7.forwardRef)(
|
|
|
3341
3360
|
isRow ? "flex-row items-center gap-2" : "flex-col"
|
|
3342
3361
|
),
|
|
3343
3362
|
children: [
|
|
3344
|
-
/* @__PURE__ */ (0,
|
|
3345
|
-
/* @__PURE__ */ (0,
|
|
3346
|
-
/* @__PURE__ */ (0,
|
|
3363
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-sm font-bold text-text-950 flex-1", children: header }),
|
|
3364
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "flex flex-wrap flex-row gap-1 items-center", children: [
|
|
3365
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3347
3366
|
Badge_default,
|
|
3348
3367
|
{
|
|
3349
3368
|
action: "success",
|
|
3350
3369
|
variant: "solid",
|
|
3351
3370
|
size: "large",
|
|
3352
|
-
iconLeft: /* @__PURE__ */ (0,
|
|
3371
|
+
iconLeft: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.CheckCircle, {}),
|
|
3353
3372
|
children: [
|
|
3354
3373
|
correct_answers,
|
|
3355
3374
|
" Corretas"
|
|
3356
3375
|
]
|
|
3357
3376
|
}
|
|
3358
3377
|
),
|
|
3359
|
-
/* @__PURE__ */ (0,
|
|
3378
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3360
3379
|
Badge_default,
|
|
3361
3380
|
{
|
|
3362
3381
|
action: "error",
|
|
3363
3382
|
variant: "solid",
|
|
3364
3383
|
size: "large",
|
|
3365
|
-
iconLeft: /* @__PURE__ */ (0,
|
|
3384
|
+
iconLeft: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.XCircle, {}),
|
|
3366
3385
|
children: [
|
|
3367
3386
|
incorrect_answers,
|
|
3368
3387
|
" Incorretas"
|
|
@@ -3373,14 +3392,14 @@ var CardResults = (0, import_react7.forwardRef)(
|
|
|
3373
3392
|
]
|
|
3374
3393
|
}
|
|
3375
3394
|
),
|
|
3376
|
-
/* @__PURE__ */ (0,
|
|
3395
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
|
|
3377
3396
|
] })
|
|
3378
3397
|
]
|
|
3379
3398
|
}
|
|
3380
3399
|
);
|
|
3381
3400
|
}
|
|
3382
3401
|
);
|
|
3383
|
-
var CardStatus = (0,
|
|
3402
|
+
var CardStatus = (0, import_react8.forwardRef)(
|
|
3384
3403
|
({ header, className, status, label, ...props }, ref) => {
|
|
3385
3404
|
const getLabelBadge = (status2) => {
|
|
3386
3405
|
switch (status2) {
|
|
@@ -3394,7 +3413,7 @@ var CardStatus = (0, import_react7.forwardRef)(
|
|
|
3394
3413
|
return "Em branco";
|
|
3395
3414
|
}
|
|
3396
3415
|
};
|
|
3397
|
-
return /* @__PURE__ */ (0,
|
|
3416
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3398
3417
|
CardBase,
|
|
3399
3418
|
{
|
|
3400
3419
|
ref,
|
|
@@ -3403,30 +3422,30 @@ var CardStatus = (0, import_react7.forwardRef)(
|
|
|
3403
3422
|
minHeight: "medium",
|
|
3404
3423
|
className: cn("items-center cursor-pointer", className),
|
|
3405
3424
|
...props,
|
|
3406
|
-
children: /* @__PURE__ */ (0,
|
|
3407
|
-
/* @__PURE__ */ (0,
|
|
3408
|
-
/* @__PURE__ */ (0,
|
|
3409
|
-
status && /* @__PURE__ */ (0,
|
|
3425
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex justify-between w-full h-full flex-row items-center gap-2", children: [
|
|
3426
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
|
|
3427
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "flex flex-row gap-1 items-center flex-shrink-0", children: [
|
|
3428
|
+
status && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3410
3429
|
Badge_default,
|
|
3411
3430
|
{
|
|
3412
3431
|
action: status == "correct" ? "success" : "error",
|
|
3413
3432
|
variant: "solid",
|
|
3414
3433
|
size: "medium",
|
|
3415
|
-
iconLeft: status == "correct" ? /* @__PURE__ */ (0,
|
|
3434
|
+
iconLeft: status == "correct" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.CheckCircle, {}) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.XCircle, {}),
|
|
3416
3435
|
children: getLabelBadge(status)
|
|
3417
3436
|
}
|
|
3418
3437
|
),
|
|
3419
|
-
label && /* @__PURE__ */ (0,
|
|
3438
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-sm text-text-800", children: label })
|
|
3420
3439
|
] }),
|
|
3421
|
-
/* @__PURE__ */ (0,
|
|
3440
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.CaretRight, { className: "min-w-6 min-h-6 text-text-800 cursor-pointer flex-shrink-0 ml-2" })
|
|
3422
3441
|
] })
|
|
3423
3442
|
}
|
|
3424
3443
|
);
|
|
3425
3444
|
}
|
|
3426
3445
|
);
|
|
3427
|
-
var CardSettings = (0,
|
|
3446
|
+
var CardSettings = (0, import_react8.forwardRef)(
|
|
3428
3447
|
({ header, className, icon, ...props }, ref) => {
|
|
3429
|
-
return /* @__PURE__ */ (0,
|
|
3448
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3430
3449
|
CardBase,
|
|
3431
3450
|
{
|
|
3432
3451
|
ref,
|
|
@@ -3439,17 +3458,17 @@ var CardSettings = (0, import_react7.forwardRef)(
|
|
|
3439
3458
|
),
|
|
3440
3459
|
...props,
|
|
3441
3460
|
children: [
|
|
3442
|
-
/* @__PURE__ */ (0,
|
|
3443
|
-
/* @__PURE__ */ (0,
|
|
3444
|
-
/* @__PURE__ */ (0,
|
|
3461
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "[&>svg]:size-6", children: icon }),
|
|
3462
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "w-full text-sm truncate", children: header }),
|
|
3463
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.CaretRight, { size: 24, className: "cursor-pointer" })
|
|
3445
3464
|
]
|
|
3446
3465
|
}
|
|
3447
3466
|
);
|
|
3448
3467
|
}
|
|
3449
3468
|
);
|
|
3450
|
-
var CardSupport = (0,
|
|
3469
|
+
var CardSupport = (0, import_react8.forwardRef)(
|
|
3451
3470
|
({ header, className, direction = "col", children, ...props }, ref) => {
|
|
3452
|
-
return /* @__PURE__ */ (0,
|
|
3471
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3453
3472
|
CardBase,
|
|
3454
3473
|
{
|
|
3455
3474
|
ref,
|
|
@@ -3462,7 +3481,7 @@ var CardSupport = (0, import_react7.forwardRef)(
|
|
|
3462
3481
|
),
|
|
3463
3482
|
...props,
|
|
3464
3483
|
children: [
|
|
3465
|
-
/* @__PURE__ */ (0,
|
|
3484
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3466
3485
|
"div",
|
|
3467
3486
|
{
|
|
3468
3487
|
className: cn(
|
|
@@ -3470,18 +3489,18 @@ var CardSupport = (0, import_react7.forwardRef)(
|
|
|
3470
3489
|
direction == "col" ? "flex-col" : "flex-row items-center"
|
|
3471
3490
|
),
|
|
3472
3491
|
children: [
|
|
3473
|
-
/* @__PURE__ */ (0,
|
|
3474
|
-
/* @__PURE__ */ (0,
|
|
3492
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }) }),
|
|
3493
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "flex flex-row gap-1", children })
|
|
3475
3494
|
]
|
|
3476
3495
|
}
|
|
3477
3496
|
),
|
|
3478
|
-
/* @__PURE__ */ (0,
|
|
3497
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.CaretRight, { className: "text-text-800 cursor-pointer", size: 24 })
|
|
3479
3498
|
]
|
|
3480
3499
|
}
|
|
3481
3500
|
);
|
|
3482
3501
|
}
|
|
3483
3502
|
);
|
|
3484
|
-
var CardForum = (0,
|
|
3503
|
+
var CardForum = (0, import_react8.forwardRef)(
|
|
3485
3504
|
({
|
|
3486
3505
|
title,
|
|
3487
3506
|
content,
|
|
@@ -3495,7 +3514,7 @@ var CardForum = (0, import_react7.forwardRef)(
|
|
|
3495
3514
|
hour,
|
|
3496
3515
|
...props
|
|
3497
3516
|
}, ref) => {
|
|
3498
|
-
return /* @__PURE__ */ (0,
|
|
3517
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3499
3518
|
CardBase,
|
|
3500
3519
|
{
|
|
3501
3520
|
ref,
|
|
@@ -3506,7 +3525,7 @@ var CardForum = (0, import_react7.forwardRef)(
|
|
|
3506
3525
|
className: cn("w-auto h-auto gap-3", className),
|
|
3507
3526
|
...props,
|
|
3508
3527
|
children: [
|
|
3509
|
-
/* @__PURE__ */ (0,
|
|
3528
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3510
3529
|
"button",
|
|
3511
3530
|
{
|
|
3512
3531
|
type: "button",
|
|
@@ -3515,18 +3534,18 @@ var CardForum = (0, import_react7.forwardRef)(
|
|
|
3515
3534
|
className: "min-w-8 h-8 rounded-full bg-background-950"
|
|
3516
3535
|
}
|
|
3517
3536
|
),
|
|
3518
|
-
/* @__PURE__ */ (0,
|
|
3519
|
-
/* @__PURE__ */ (0,
|
|
3520
|
-
/* @__PURE__ */ (0,
|
|
3521
|
-
/* @__PURE__ */ (0,
|
|
3537
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
|
|
3538
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-row gap-1 items-center flex-wrap", children: [
|
|
3539
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-xs font-semibold text-primary-700 truncate", children: title }),
|
|
3540
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("p", { className: "text-xs text-text-600", children: [
|
|
3522
3541
|
"\u2022 ",
|
|
3523
3542
|
date,
|
|
3524
3543
|
" \u2022 ",
|
|
3525
3544
|
hour
|
|
3526
3545
|
] })
|
|
3527
3546
|
] }),
|
|
3528
|
-
/* @__PURE__ */ (0,
|
|
3529
|
-
/* @__PURE__ */ (0,
|
|
3547
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-text-950 text-sm line-clamp-2 truncate", children: content }),
|
|
3548
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3530
3549
|
"button",
|
|
3531
3550
|
{
|
|
3532
3551
|
type: "button",
|
|
@@ -3534,8 +3553,8 @@ var CardForum = (0, import_react7.forwardRef)(
|
|
|
3534
3553
|
onClick: () => onClickComments?.(valueComments),
|
|
3535
3554
|
className: "text-text-600 flex flex-row gap-2 items-center",
|
|
3536
3555
|
children: [
|
|
3537
|
-
/* @__PURE__ */ (0,
|
|
3538
|
-
/* @__PURE__ */ (0,
|
|
3556
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.ChatCircleText, { "aria-hidden": "true", size: 16 }),
|
|
3557
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("p", { className: "text-xs", children: [
|
|
3539
3558
|
comments,
|
|
3540
3559
|
" respostas"
|
|
3541
3560
|
] })
|
|
@@ -3548,7 +3567,7 @@ var CardForum = (0, import_react7.forwardRef)(
|
|
|
3548
3567
|
);
|
|
3549
3568
|
}
|
|
3550
3569
|
);
|
|
3551
|
-
var CardAudio = (0,
|
|
3570
|
+
var CardAudio = (0, import_react8.forwardRef)(
|
|
3552
3571
|
({
|
|
3553
3572
|
src,
|
|
3554
3573
|
title,
|
|
@@ -3562,16 +3581,16 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3562
3581
|
className,
|
|
3563
3582
|
...props
|
|
3564
3583
|
}, ref) => {
|
|
3565
|
-
const [isPlaying, setIsPlaying] = (0,
|
|
3566
|
-
const [currentTime, setCurrentTime] = (0,
|
|
3567
|
-
const [duration, setDuration] = (0,
|
|
3568
|
-
const [volume, setVolume] = (0,
|
|
3569
|
-
const [showVolumeControl, setShowVolumeControl] = (0,
|
|
3570
|
-
const [showSpeedMenu, setShowSpeedMenu] = (0,
|
|
3571
|
-
const [playbackRate, setPlaybackRate] = (0,
|
|
3572
|
-
const audioRef = (0,
|
|
3573
|
-
const volumeControlRef = (0,
|
|
3574
|
-
const speedMenuRef = (0,
|
|
3584
|
+
const [isPlaying, setIsPlaying] = (0, import_react8.useState)(false);
|
|
3585
|
+
const [currentTime, setCurrentTime] = (0, import_react8.useState)(0);
|
|
3586
|
+
const [duration, setDuration] = (0, import_react8.useState)(0);
|
|
3587
|
+
const [volume, setVolume] = (0, import_react8.useState)(1);
|
|
3588
|
+
const [showVolumeControl, setShowVolumeControl] = (0, import_react8.useState)(false);
|
|
3589
|
+
const [showSpeedMenu, setShowSpeedMenu] = (0, import_react8.useState)(false);
|
|
3590
|
+
const [playbackRate, setPlaybackRate] = (0, import_react8.useState)(1);
|
|
3591
|
+
const audioRef = (0, import_react8.useRef)(null);
|
|
3592
|
+
const volumeControlRef = (0, import_react8.useRef)(null);
|
|
3593
|
+
const speedMenuRef = (0, import_react8.useRef)(null);
|
|
3575
3594
|
const formatTime = (time) => {
|
|
3576
3595
|
const minutes = Math.floor(time / 60);
|
|
3577
3596
|
const seconds = Math.floor(time % 60);
|
|
@@ -3638,14 +3657,14 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3638
3657
|
};
|
|
3639
3658
|
const getVolumeIcon = () => {
|
|
3640
3659
|
if (volume === 0) {
|
|
3641
|
-
return /* @__PURE__ */ (0,
|
|
3660
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.SpeakerSimpleX, { size: 24 });
|
|
3642
3661
|
}
|
|
3643
3662
|
if (volume < 0.5) {
|
|
3644
|
-
return /* @__PURE__ */ (0,
|
|
3663
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.SpeakerLow, { size: 24 });
|
|
3645
3664
|
}
|
|
3646
|
-
return /* @__PURE__ */ (0,
|
|
3665
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.SpeakerHigh, { size: 24 });
|
|
3647
3666
|
};
|
|
3648
|
-
(0,
|
|
3667
|
+
(0, import_react8.useEffect)(() => {
|
|
3649
3668
|
const handleClickOutside = (event) => {
|
|
3650
3669
|
if (volumeControlRef.current && !volumeControlRef.current.contains(event.target)) {
|
|
3651
3670
|
setShowVolumeControl(false);
|
|
@@ -3659,7 +3678,7 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3659
3678
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
3660
3679
|
};
|
|
3661
3680
|
}, []);
|
|
3662
|
-
return /* @__PURE__ */ (0,
|
|
3681
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3663
3682
|
CardBase,
|
|
3664
3683
|
{
|
|
3665
3684
|
ref,
|
|
@@ -3672,7 +3691,7 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3672
3691
|
),
|
|
3673
3692
|
...props,
|
|
3674
3693
|
children: [
|
|
3675
|
-
/* @__PURE__ */ (0,
|
|
3694
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3676
3695
|
"audio",
|
|
3677
3696
|
{
|
|
3678
3697
|
ref: audioRef,
|
|
@@ -3684,7 +3703,7 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3684
3703
|
onEnded: handleEnded,
|
|
3685
3704
|
"data-testid": "audio-element",
|
|
3686
3705
|
"aria-label": title,
|
|
3687
|
-
children: tracks ? tracks.map((track) => /* @__PURE__ */ (0,
|
|
3706
|
+
children: tracks ? tracks.map((track) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3688
3707
|
"track",
|
|
3689
3708
|
{
|
|
3690
3709
|
kind: track.kind,
|
|
@@ -3694,7 +3713,7 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3694
3713
|
default: track.default
|
|
3695
3714
|
},
|
|
3696
3715
|
track.src
|
|
3697
|
-
)) : /* @__PURE__ */ (0,
|
|
3716
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3698
3717
|
"track",
|
|
3699
3718
|
{
|
|
3700
3719
|
kind: "captions",
|
|
@@ -3705,7 +3724,7 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3705
3724
|
)
|
|
3706
3725
|
}
|
|
3707
3726
|
),
|
|
3708
|
-
/* @__PURE__ */ (0,
|
|
3727
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3709
3728
|
"button",
|
|
3710
3729
|
{
|
|
3711
3730
|
type: "button",
|
|
@@ -3713,14 +3732,14 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3713
3732
|
disabled: !src,
|
|
3714
3733
|
className: "cursor-pointer text-text-950 hover:text-primary-600 disabled:text-text-400 disabled:cursor-not-allowed",
|
|
3715
3734
|
"aria-label": isPlaying ? "Pausar" : "Reproduzir",
|
|
3716
|
-
children: isPlaying ? /* @__PURE__ */ (0,
|
|
3717
|
-
/* @__PURE__ */ (0,
|
|
3718
|
-
/* @__PURE__ */ (0,
|
|
3719
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
3735
|
+
children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex gap-0.5", children: [
|
|
3736
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" }),
|
|
3737
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" })
|
|
3738
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.Play, { size: 24 })
|
|
3720
3739
|
}
|
|
3721
3740
|
),
|
|
3722
|
-
/* @__PURE__ */ (0,
|
|
3723
|
-
/* @__PURE__ */ (0,
|
|
3741
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime(currentTime) }),
|
|
3742
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "flex-1 relative", "data-testid": "progress-bar", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3724
3743
|
"button",
|
|
3725
3744
|
{
|
|
3726
3745
|
type: "button",
|
|
@@ -3735,7 +3754,7 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3735
3754
|
}
|
|
3736
3755
|
},
|
|
3737
3756
|
"aria-label": "Barra de progresso do \xE1udio",
|
|
3738
|
-
children: /* @__PURE__ */ (0,
|
|
3757
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3739
3758
|
"div",
|
|
3740
3759
|
{
|
|
3741
3760
|
className: "h-full bg-primary-600 rounded-full transition-all duration-100",
|
|
@@ -3746,19 +3765,19 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3746
3765
|
)
|
|
3747
3766
|
}
|
|
3748
3767
|
) }),
|
|
3749
|
-
/* @__PURE__ */ (0,
|
|
3750
|
-
/* @__PURE__ */ (0,
|
|
3751
|
-
/* @__PURE__ */ (0,
|
|
3768
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime(duration) }),
|
|
3769
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "relative h-6", ref: volumeControlRef, children: [
|
|
3770
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3752
3771
|
"button",
|
|
3753
3772
|
{
|
|
3754
3773
|
type: "button",
|
|
3755
3774
|
onClick: toggleVolumeControl,
|
|
3756
3775
|
className: "cursor-pointer text-text-950 hover:text-primary-600",
|
|
3757
3776
|
"aria-label": "Controle de volume",
|
|
3758
|
-
children: /* @__PURE__ */ (0,
|
|
3777
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: getVolumeIcon() })
|
|
3759
3778
|
}
|
|
3760
3779
|
),
|
|
3761
|
-
showVolumeControl && /* @__PURE__ */ (0,
|
|
3780
|
+
showVolumeControl && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3762
3781
|
"button",
|
|
3763
3782
|
{
|
|
3764
3783
|
type: "button",
|
|
@@ -3768,7 +3787,7 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3768
3787
|
setShowVolumeControl(false);
|
|
3769
3788
|
}
|
|
3770
3789
|
},
|
|
3771
|
-
children: /* @__PURE__ */ (0,
|
|
3790
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3772
3791
|
"input",
|
|
3773
3792
|
{
|
|
3774
3793
|
type: "range",
|
|
@@ -3809,22 +3828,22 @@ var CardAudio = (0, import_react7.forwardRef)(
|
|
|
3809
3828
|
}
|
|
3810
3829
|
)
|
|
3811
3830
|
] }),
|
|
3812
|
-
/* @__PURE__ */ (0,
|
|
3813
|
-
/* @__PURE__ */ (0,
|
|
3831
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "relative h-6", ref: speedMenuRef, children: [
|
|
3832
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3814
3833
|
"button",
|
|
3815
3834
|
{
|
|
3816
3835
|
type: "button",
|
|
3817
3836
|
onClick: toggleSpeedMenu,
|
|
3818
3837
|
className: "cursor-pointer text-text-950 hover:text-primary-600",
|
|
3819
3838
|
"aria-label": "Op\xE7\xF5es de velocidade",
|
|
3820
|
-
children: /* @__PURE__ */ (0,
|
|
3839
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.DotsThreeVertical, { size: 24 })
|
|
3821
3840
|
}
|
|
3822
3841
|
),
|
|
3823
|
-
showSpeedMenu && /* @__PURE__ */ (0,
|
|
3842
|
+
showSpeedMenu && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("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__ */ (0, import_jsx_runtime15.jsx)("div", { className: "flex flex-col gap-1", children: [
|
|
3824
3843
|
{ speed: 1, label: "1x" },
|
|
3825
3844
|
{ speed: 1.5, label: "1.5x" },
|
|
3826
3845
|
{ speed: 2, label: "2x" }
|
|
3827
|
-
].map(({ speed, label }) => /* @__PURE__ */ (0,
|
|
3846
|
+
].map(({ speed, label }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3828
3847
|
"button",
|
|
3829
3848
|
{
|
|
3830
3849
|
type: "button",
|
|
@@ -3849,10 +3868,10 @@ var SIMULADO_BACKGROUND_CLASSES = {
|
|
|
3849
3868
|
simuladao: "bg-exam-3",
|
|
3850
3869
|
vestibular: "bg-exam-4"
|
|
3851
3870
|
};
|
|
3852
|
-
var CardSimulado = (0,
|
|
3871
|
+
var CardSimulado = (0, import_react8.forwardRef)(
|
|
3853
3872
|
({ title, duration, info, backgroundColor, className, ...props }, ref) => {
|
|
3854
3873
|
const backgroundClass = SIMULADO_BACKGROUND_CLASSES[backgroundColor];
|
|
3855
|
-
return /* @__PURE__ */ (0,
|
|
3874
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3856
3875
|
CardBase,
|
|
3857
3876
|
{
|
|
3858
3877
|
ref,
|
|
@@ -3865,18 +3884,18 @@ var CardSimulado = (0, import_react7.forwardRef)(
|
|
|
3865
3884
|
className
|
|
3866
3885
|
),
|
|
3867
3886
|
...props,
|
|
3868
|
-
children: /* @__PURE__ */ (0,
|
|
3869
|
-
/* @__PURE__ */ (0,
|
|
3870
|
-
/* @__PURE__ */ (0,
|
|
3871
|
-
/* @__PURE__ */ (0,
|
|
3872
|
-
duration && /* @__PURE__ */ (0,
|
|
3873
|
-
/* @__PURE__ */ (0,
|
|
3874
|
-
/* @__PURE__ */ (0,
|
|
3887
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex justify-between items-center w-full gap-4", children: [
|
|
3888
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
|
|
3889
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { size: "lg", weight: "bold", className: "text-text-950 truncate", children: title }),
|
|
3890
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center gap-4 text-text-700", children: [
|
|
3891
|
+
duration && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
3892
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.Clock, { size: 16, className: "flex-shrink-0" }),
|
|
3893
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { size: "sm", children: duration })
|
|
3875
3894
|
] }),
|
|
3876
|
-
/* @__PURE__ */ (0,
|
|
3895
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { size: "sm", className: "truncate", children: info })
|
|
3877
3896
|
] })
|
|
3878
3897
|
] }),
|
|
3879
|
-
/* @__PURE__ */ (0,
|
|
3898
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3880
3899
|
import_phosphor_react5.CaretRight,
|
|
3881
3900
|
{
|
|
3882
3901
|
size: 24,
|
|
@@ -3889,7 +3908,7 @@ var CardSimulado = (0, import_react7.forwardRef)(
|
|
|
3889
3908
|
);
|
|
3890
3909
|
}
|
|
3891
3910
|
);
|
|
3892
|
-
var CardTest = (0,
|
|
3911
|
+
var CardTest = (0, import_react8.forwardRef)(
|
|
3893
3912
|
({
|
|
3894
3913
|
title,
|
|
3895
3914
|
duration,
|
|
@@ -3921,7 +3940,7 @@ var CardTest = (0, import_react7.forwardRef)(
|
|
|
3921
3940
|
const interactiveClasses = isSelectable ? "cursor-pointer focus:outline-none focus:ring-2 focus:ring-primary-950 focus:ring-offset-2" : "";
|
|
3922
3941
|
const selectedClasses = selected ? "ring-2 ring-primary-950 ring-offset-2" : "";
|
|
3923
3942
|
if (isSelectable) {
|
|
3924
|
-
return /* @__PURE__ */ (0,
|
|
3943
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3925
3944
|
"button",
|
|
3926
3945
|
{
|
|
3927
3946
|
ref,
|
|
@@ -3933,8 +3952,8 @@ var CardTest = (0, import_react7.forwardRef)(
|
|
|
3933
3952
|
onKeyDown: handleKeyDown,
|
|
3934
3953
|
"aria-pressed": selected,
|
|
3935
3954
|
...props,
|
|
3936
|
-
children: /* @__PURE__ */ (0,
|
|
3937
|
-
/* @__PURE__ */ (0,
|
|
3955
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
|
|
3956
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3938
3957
|
Text_default,
|
|
3939
3958
|
{
|
|
3940
3959
|
size: "md",
|
|
@@ -3943,10 +3962,10 @@ var CardTest = (0, import_react7.forwardRef)(
|
|
|
3943
3962
|
children: title
|
|
3944
3963
|
}
|
|
3945
3964
|
),
|
|
3946
|
-
/* @__PURE__ */ (0,
|
|
3947
|
-
duration && /* @__PURE__ */ (0,
|
|
3948
|
-
/* @__PURE__ */ (0,
|
|
3949
|
-
/* @__PURE__ */ (0,
|
|
3965
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
|
|
3966
|
+
duration && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
|
|
3967
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.Clock, { size: 16, className: "text-text-700" }),
|
|
3968
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3950
3969
|
Text_default,
|
|
3951
3970
|
{
|
|
3952
3971
|
size: "sm",
|
|
@@ -3955,7 +3974,7 @@ var CardTest = (0, import_react7.forwardRef)(
|
|
|
3955
3974
|
}
|
|
3956
3975
|
)
|
|
3957
3976
|
] }),
|
|
3958
|
-
/* @__PURE__ */ (0,
|
|
3977
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3959
3978
|
Text_default,
|
|
3960
3979
|
{
|
|
3961
3980
|
size: "sm",
|
|
@@ -3968,14 +3987,14 @@ var CardTest = (0, import_react7.forwardRef)(
|
|
|
3968
3987
|
}
|
|
3969
3988
|
);
|
|
3970
3989
|
}
|
|
3971
|
-
return /* @__PURE__ */ (0,
|
|
3990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3972
3991
|
"div",
|
|
3973
3992
|
{
|
|
3974
3993
|
ref,
|
|
3975
3994
|
className: cn(`${baseClasses} ${className}`.trim()),
|
|
3976
3995
|
...props,
|
|
3977
|
-
children: /* @__PURE__ */ (0,
|
|
3978
|
-
/* @__PURE__ */ (0,
|
|
3996
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
|
|
3997
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3979
3998
|
Text_default,
|
|
3980
3999
|
{
|
|
3981
4000
|
size: "md",
|
|
@@ -3984,10 +4003,10 @@ var CardTest = (0, import_react7.forwardRef)(
|
|
|
3984
4003
|
children: title
|
|
3985
4004
|
}
|
|
3986
4005
|
),
|
|
3987
|
-
/* @__PURE__ */ (0,
|
|
3988
|
-
duration && /* @__PURE__ */ (0,
|
|
3989
|
-
/* @__PURE__ */ (0,
|
|
3990
|
-
/* @__PURE__ */ (0,
|
|
4006
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
|
|
4007
|
+
duration && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
|
|
4008
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react5.Clock, { size: 16, className: "text-text-700" }),
|
|
4009
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3991
4010
|
Text_default,
|
|
3992
4011
|
{
|
|
3993
4012
|
size: "sm",
|
|
@@ -3996,7 +4015,7 @@ var CardTest = (0, import_react7.forwardRef)(
|
|
|
3996
4015
|
}
|
|
3997
4016
|
)
|
|
3998
4017
|
] }),
|
|
3999
|
-
/* @__PURE__ */ (0,
|
|
4018
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
4000
4019
|
Text_default,
|
|
4001
4020
|
{
|
|
4002
4021
|
size: "sm",
|
|
@@ -4032,15 +4051,15 @@ var SIMULATION_TYPE_STYLES = {
|
|
|
4032
4051
|
text: "Vestibular"
|
|
4033
4052
|
}
|
|
4034
4053
|
};
|
|
4035
|
-
var CardSimulationHistory = (0,
|
|
4036
|
-
return /* @__PURE__ */ (0,
|
|
4054
|
+
var CardSimulationHistory = (0, import_react8.forwardRef)(({ data, onSimulationClick, className, ...props }, ref) => {
|
|
4055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
4037
4056
|
"div",
|
|
4038
4057
|
{
|
|
4039
4058
|
ref,
|
|
4040
4059
|
className: cn("w-full max-w-[992px] h-auto", className),
|
|
4041
4060
|
...props,
|
|
4042
|
-
children: /* @__PURE__ */ (0,
|
|
4043
|
-
data.map((section, sectionIndex) => /* @__PURE__ */ (0,
|
|
4061
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col gap-0", children: [
|
|
4062
|
+
data.map((section, sectionIndex) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
4044
4063
|
"div",
|
|
4045
4064
|
{
|
|
4046
4065
|
className: cn(
|
|
@@ -4048,7 +4067,7 @@ var CardSimulationHistory = (0, import_react7.forwardRef)(({ data, onSimulationC
|
|
|
4048
4067
|
sectionIndex === 0 ? "rounded-t-3xl" : ""
|
|
4049
4068
|
),
|
|
4050
4069
|
children: [
|
|
4051
|
-
/* @__PURE__ */ (0,
|
|
4070
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
4052
4071
|
Text_default,
|
|
4053
4072
|
{
|
|
4054
4073
|
size: "xs",
|
|
@@ -4057,9 +4076,9 @@ var CardSimulationHistory = (0, import_react7.forwardRef)(({ data, onSimulationC
|
|
|
4057
4076
|
children: section.date
|
|
4058
4077
|
}
|
|
4059
4078
|
),
|
|
4060
|
-
/* @__PURE__ */ (0,
|
|
4079
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "flex flex-col gap-2 flex-1", children: section.simulations.map((simulation) => {
|
|
4061
4080
|
const typeStyles = SIMULATION_TYPE_STYLES[simulation.type];
|
|
4062
|
-
return /* @__PURE__ */ (0,
|
|
4081
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
4063
4082
|
CardBase,
|
|
4064
4083
|
{
|
|
4065
4084
|
layout: "horizontal",
|
|
@@ -4071,9 +4090,9 @@ var CardSimulationHistory = (0, import_react7.forwardRef)(({ data, onSimulationC
|
|
|
4071
4090
|
transition-shadow duration-200 h-auto min-h-[61px]`
|
|
4072
4091
|
),
|
|
4073
4092
|
onClick: () => onSimulationClick?.(simulation),
|
|
4074
|
-
children: /* @__PURE__ */ (0,
|
|
4075
|
-
/* @__PURE__ */ (0,
|
|
4076
|
-
/* @__PURE__ */ (0,
|
|
4093
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex justify-between items-center w-full gap-2", children: [
|
|
4094
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-wrap flex-col justify-between sm:flex-row gap-2 flex-1 min-w-0", children: [
|
|
4095
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
4077
4096
|
Text_default,
|
|
4078
4097
|
{
|
|
4079
4098
|
size: "lg",
|
|
@@ -4082,8 +4101,8 @@ var CardSimulationHistory = (0, import_react7.forwardRef)(({ data, onSimulationC
|
|
|
4082
4101
|
children: simulation.title
|
|
4083
4102
|
}
|
|
4084
4103
|
),
|
|
4085
|
-
/* @__PURE__ */ (0,
|
|
4086
|
-
/* @__PURE__ */ (0,
|
|
4104
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
4105
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
4087
4106
|
Badge_default,
|
|
4088
4107
|
{
|
|
4089
4108
|
variant: "examsOutlined",
|
|
@@ -4092,10 +4111,10 @@ var CardSimulationHistory = (0, import_react7.forwardRef)(({ data, onSimulationC
|
|
|
4092
4111
|
children: typeStyles.text
|
|
4093
4112
|
}
|
|
4094
4113
|
),
|
|
4095
|
-
/* @__PURE__ */ (0,
|
|
4114
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { size: "sm", className: "text-text-800 truncate", children: simulation.info })
|
|
4096
4115
|
] })
|
|
4097
4116
|
] }),
|
|
4098
|
-
/* @__PURE__ */ (0,
|
|
4117
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
4099
4118
|
import_phosphor_react5.CaretRight,
|
|
4100
4119
|
{
|
|
4101
4120
|
size: 24,
|
|
@@ -4111,14 +4130,14 @@ var CardSimulationHistory = (0, import_react7.forwardRef)(({ data, onSimulationC
|
|
|
4111
4130
|
]
|
|
4112
4131
|
}
|
|
4113
4132
|
) }, section.date)),
|
|
4114
|
-
data.length > 0 && /* @__PURE__ */ (0,
|
|
4133
|
+
data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-full h-6 bg-white rounded-b-3xl" })
|
|
4115
4134
|
] })
|
|
4116
4135
|
}
|
|
4117
4136
|
);
|
|
4118
4137
|
});
|
|
4119
4138
|
|
|
4120
4139
|
// src/components/ProgressCircle/ProgressCircle.tsx
|
|
4121
|
-
var
|
|
4140
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
4122
4141
|
var SIZE_CLASSES8 = {
|
|
4123
4142
|
small: {
|
|
4124
4143
|
container: "w-[90px] h-[90px]",
|
|
@@ -4200,7 +4219,7 @@ var ProgressCircle = ({
|
|
|
4200
4219
|
const strokeDashoffset = circumference - percentage / 100 * circumference;
|
|
4201
4220
|
const center = size === "small" ? 45 : 76;
|
|
4202
4221
|
const svgSize = size === "small" ? 90 : 152;
|
|
4203
|
-
return /* @__PURE__ */ (0,
|
|
4222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
4204
4223
|
"div",
|
|
4205
4224
|
{
|
|
4206
4225
|
className: cn(
|
|
@@ -4210,7 +4229,7 @@ var ProgressCircle = ({
|
|
|
4210
4229
|
className
|
|
4211
4230
|
),
|
|
4212
4231
|
children: [
|
|
4213
|
-
/* @__PURE__ */ (0,
|
|
4232
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
4214
4233
|
"svg",
|
|
4215
4234
|
{
|
|
4216
4235
|
className: "absolute inset-0 transform -rotate-90",
|
|
@@ -4219,7 +4238,7 @@ var ProgressCircle = ({
|
|
|
4219
4238
|
viewBox: `0 0 ${svgSize} ${svgSize}`,
|
|
4220
4239
|
"aria-hidden": "true",
|
|
4221
4240
|
children: [
|
|
4222
|
-
/* @__PURE__ */ (0,
|
|
4241
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
4223
4242
|
"circle",
|
|
4224
4243
|
{
|
|
4225
4244
|
cx: center,
|
|
@@ -4230,7 +4249,7 @@ var ProgressCircle = ({
|
|
|
4230
4249
|
className: cn(variantClasses.background, "rounded-lg")
|
|
4231
4250
|
}
|
|
4232
4251
|
),
|
|
4233
|
-
/* @__PURE__ */ (0,
|
|
4252
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
4234
4253
|
"circle",
|
|
4235
4254
|
{
|
|
4236
4255
|
cx: center,
|
|
@@ -4250,7 +4269,7 @@ var ProgressCircle = ({
|
|
|
4250
4269
|
]
|
|
4251
4270
|
}
|
|
4252
4271
|
),
|
|
4253
|
-
/* @__PURE__ */ (0,
|
|
4272
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
4254
4273
|
"progress",
|
|
4255
4274
|
{
|
|
4256
4275
|
value: clampedValue,
|
|
@@ -4259,7 +4278,7 @@ var ProgressCircle = ({
|
|
|
4259
4278
|
className: "absolute opacity-0 w-0 h-0"
|
|
4260
4279
|
}
|
|
4261
4280
|
),
|
|
4262
|
-
/* @__PURE__ */ (0,
|
|
4281
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
4263
4282
|
"div",
|
|
4264
4283
|
{
|
|
4265
4284
|
className: cn(
|
|
@@ -4268,7 +4287,7 @@ var ProgressCircle = ({
|
|
|
4268
4287
|
sizeClasses.contentWidth
|
|
4269
4288
|
),
|
|
4270
4289
|
children: [
|
|
4271
|
-
showPercentage && /* @__PURE__ */ (0,
|
|
4290
|
+
showPercentage && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
4272
4291
|
Text_default,
|
|
4273
4292
|
{
|
|
4274
4293
|
size: sizeClasses.textSize,
|
|
@@ -4284,7 +4303,7 @@ var ProgressCircle = ({
|
|
|
4284
4303
|
]
|
|
4285
4304
|
}
|
|
4286
4305
|
),
|
|
4287
|
-
label && /* @__PURE__ */ (0,
|
|
4306
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
4288
4307
|
Text_default,
|
|
4289
4308
|
{
|
|
4290
4309
|
as: "span",
|
|
@@ -4308,16 +4327,16 @@ var ProgressCircle = ({
|
|
|
4308
4327
|
var ProgressCircle_default = ProgressCircle;
|
|
4309
4328
|
|
|
4310
4329
|
// src/components/MultipleChoice/MultipleChoice.tsx
|
|
4311
|
-
var
|
|
4330
|
+
var import_react11 = require("react");
|
|
4312
4331
|
|
|
4313
4332
|
// src/components/CheckBox/CheckboxList.tsx
|
|
4314
|
-
var
|
|
4333
|
+
var import_react10 = require("react");
|
|
4315
4334
|
var import_zustand4 = require("zustand");
|
|
4316
4335
|
|
|
4317
4336
|
// src/components/CheckBox/CheckBox.tsx
|
|
4318
|
-
var
|
|
4337
|
+
var import_react9 = require("react");
|
|
4319
4338
|
var import_phosphor_react6 = require("phosphor-react");
|
|
4320
|
-
var
|
|
4339
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
4321
4340
|
var SIZE_CLASSES9 = {
|
|
4322
4341
|
small: {
|
|
4323
4342
|
checkbox: "w-4 h-4",
|
|
@@ -4377,7 +4396,7 @@ var STATE_CLASSES2 = {
|
|
|
4377
4396
|
checked: "border-primary-600 bg-primary-600 text-text cursor-not-allowed opacity-40"
|
|
4378
4397
|
}
|
|
4379
4398
|
};
|
|
4380
|
-
var CheckBox = (0,
|
|
4399
|
+
var CheckBox = (0, import_react9.forwardRef)(
|
|
4381
4400
|
({
|
|
4382
4401
|
label,
|
|
4383
4402
|
size = "medium",
|
|
@@ -4393,9 +4412,9 @@ var CheckBox = (0, import_react8.forwardRef)(
|
|
|
4393
4412
|
onChange,
|
|
4394
4413
|
...props
|
|
4395
4414
|
}, ref) => {
|
|
4396
|
-
const generatedId = (0,
|
|
4415
|
+
const generatedId = (0, import_react9.useId)();
|
|
4397
4416
|
const inputId = id ?? `checkbox-${generatedId}`;
|
|
4398
|
-
const [internalChecked, setInternalChecked] = (0,
|
|
4417
|
+
const [internalChecked, setInternalChecked] = (0, import_react9.useState)(false);
|
|
4399
4418
|
const isControlled = checkedProp !== void 0;
|
|
4400
4419
|
const checked = isControlled ? checkedProp : internalChecked;
|
|
4401
4420
|
const handleChange = (event) => {
|
|
@@ -4418,7 +4437,7 @@ var CheckBox = (0, import_react8.forwardRef)(
|
|
|
4418
4437
|
);
|
|
4419
4438
|
const renderIcon = () => {
|
|
4420
4439
|
if (indeterminate) {
|
|
4421
|
-
return /* @__PURE__ */ (0,
|
|
4440
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
4422
4441
|
import_phosphor_react6.Minus,
|
|
4423
4442
|
{
|
|
4424
4443
|
size: sizeClasses.iconSize,
|
|
@@ -4428,7 +4447,7 @@ var CheckBox = (0, import_react8.forwardRef)(
|
|
|
4428
4447
|
);
|
|
4429
4448
|
}
|
|
4430
4449
|
if (checked) {
|
|
4431
|
-
return /* @__PURE__ */ (0,
|
|
4450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
4432
4451
|
import_phosphor_react6.Check,
|
|
4433
4452
|
{
|
|
4434
4453
|
size: sizeClasses.iconSize,
|
|
@@ -4439,8 +4458,8 @@ var CheckBox = (0, import_react8.forwardRef)(
|
|
|
4439
4458
|
}
|
|
4440
4459
|
return null;
|
|
4441
4460
|
};
|
|
4442
|
-
return /* @__PURE__ */ (0,
|
|
4443
|
-
/* @__PURE__ */ (0,
|
|
4461
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex flex-col", children: [
|
|
4462
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
4444
4463
|
"div",
|
|
4445
4464
|
{
|
|
4446
4465
|
className: cn(
|
|
@@ -4449,7 +4468,7 @@ var CheckBox = (0, import_react8.forwardRef)(
|
|
|
4449
4468
|
disabled ? "opacity-40" : ""
|
|
4450
4469
|
),
|
|
4451
4470
|
children: [
|
|
4452
|
-
/* @__PURE__ */ (0,
|
|
4471
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
4453
4472
|
"input",
|
|
4454
4473
|
{
|
|
4455
4474
|
ref,
|
|
@@ -4462,15 +4481,15 @@ var CheckBox = (0, import_react8.forwardRef)(
|
|
|
4462
4481
|
...props
|
|
4463
4482
|
}
|
|
4464
4483
|
),
|
|
4465
|
-
/* @__PURE__ */ (0,
|
|
4466
|
-
label && /* @__PURE__ */ (0,
|
|
4484
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("label", { htmlFor: inputId, className: checkboxClasses, children: renderIcon() }),
|
|
4485
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
4467
4486
|
"div",
|
|
4468
4487
|
{
|
|
4469
4488
|
className: cn(
|
|
4470
4489
|
"flex flex-row items-center",
|
|
4471
4490
|
sizeClasses.labelHeight
|
|
4472
4491
|
),
|
|
4473
|
-
children: /* @__PURE__ */ (0,
|
|
4492
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
4474
4493
|
Text_default,
|
|
4475
4494
|
{
|
|
4476
4495
|
as: "label",
|
|
@@ -4489,7 +4508,7 @@ var CheckBox = (0, import_react8.forwardRef)(
|
|
|
4489
4508
|
]
|
|
4490
4509
|
}
|
|
4491
4510
|
),
|
|
4492
|
-
errorMessage && /* @__PURE__ */ (0,
|
|
4511
|
+
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
4493
4512
|
Text_default,
|
|
4494
4513
|
{
|
|
4495
4514
|
size: "sm",
|
|
@@ -4499,7 +4518,7 @@ var CheckBox = (0, import_react8.forwardRef)(
|
|
|
4499
4518
|
children: errorMessage
|
|
4500
4519
|
}
|
|
4501
4520
|
),
|
|
4502
|
-
helperText && !errorMessage && /* @__PURE__ */ (0,
|
|
4521
|
+
helperText && !errorMessage && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
4503
4522
|
Text_default,
|
|
4504
4523
|
{
|
|
4505
4524
|
size: "sm",
|
|
@@ -4516,7 +4535,7 @@ CheckBox.displayName = "CheckBox";
|
|
|
4516
4535
|
var CheckBox_default = CheckBox;
|
|
4517
4536
|
|
|
4518
4537
|
// src/components/CheckBox/CheckboxList.tsx
|
|
4519
|
-
var
|
|
4538
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
4520
4539
|
var createCheckboxListStore = (name, defaultValues, disabled, onValuesChange) => (0, import_zustand4.create)((set, get) => ({
|
|
4521
4540
|
values: defaultValues,
|
|
4522
4541
|
setValues: (values) => {
|
|
@@ -4543,16 +4562,16 @@ var useCheckboxListStore = (externalStore) => {
|
|
|
4543
4562
|
}
|
|
4544
4563
|
return externalStore;
|
|
4545
4564
|
};
|
|
4546
|
-
var injectStore3 = (children, store) =>
|
|
4547
|
-
if (!(0,
|
|
4565
|
+
var injectStore3 = (children, store) => import_react10.Children.map(children, (child) => {
|
|
4566
|
+
if (!(0, import_react10.isValidElement)(child)) return child;
|
|
4548
4567
|
const typedChild = child;
|
|
4549
4568
|
const shouldInject = typedChild.type === CheckboxListItem;
|
|
4550
|
-
return (0,
|
|
4569
|
+
return (0, import_react10.cloneElement)(typedChild, {
|
|
4551
4570
|
...shouldInject ? { store } : {},
|
|
4552
4571
|
...typedChild.props.children ? { children: injectStore3(typedChild.props.children, store) } : {}
|
|
4553
4572
|
});
|
|
4554
4573
|
});
|
|
4555
|
-
var CheckboxList = (0,
|
|
4574
|
+
var CheckboxList = (0, import_react10.forwardRef)(
|
|
4556
4575
|
({
|
|
4557
4576
|
values: propValues,
|
|
4558
4577
|
defaultValues = [],
|
|
@@ -4563,9 +4582,9 @@ var CheckboxList = (0, import_react9.forwardRef)(
|
|
|
4563
4582
|
children,
|
|
4564
4583
|
...props
|
|
4565
4584
|
}, ref) => {
|
|
4566
|
-
const generatedId = (0,
|
|
4585
|
+
const generatedId = (0, import_react10.useId)();
|
|
4567
4586
|
const name = propName || `checkbox-list-${generatedId}`;
|
|
4568
|
-
const storeRef = (0,
|
|
4587
|
+
const storeRef = (0, import_react10.useRef)(null);
|
|
4569
4588
|
storeRef.current ??= createCheckboxListStore(
|
|
4570
4589
|
name,
|
|
4571
4590
|
defaultValues,
|
|
@@ -4574,21 +4593,21 @@ var CheckboxList = (0, import_react9.forwardRef)(
|
|
|
4574
4593
|
);
|
|
4575
4594
|
const store = storeRef.current;
|
|
4576
4595
|
const { setValues } = (0, import_zustand4.useStore)(store, (s) => s);
|
|
4577
|
-
(0,
|
|
4596
|
+
(0, import_react10.useEffect)(() => {
|
|
4578
4597
|
const currentValues = store.getState().values;
|
|
4579
4598
|
if (currentValues.length > 0 && onValuesChange) {
|
|
4580
4599
|
onValuesChange(currentValues);
|
|
4581
4600
|
}
|
|
4582
4601
|
}, []);
|
|
4583
|
-
(0,
|
|
4602
|
+
(0, import_react10.useEffect)(() => {
|
|
4584
4603
|
if (propValues !== void 0) {
|
|
4585
4604
|
setValues(propValues);
|
|
4586
4605
|
}
|
|
4587
4606
|
}, [propValues, setValues]);
|
|
4588
|
-
(0,
|
|
4607
|
+
(0, import_react10.useEffect)(() => {
|
|
4589
4608
|
store.setState({ disabled });
|
|
4590
4609
|
}, [disabled, store]);
|
|
4591
|
-
return /* @__PURE__ */ (0,
|
|
4610
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
4592
4611
|
"div",
|
|
4593
4612
|
{
|
|
4594
4613
|
ref,
|
|
@@ -4601,7 +4620,7 @@ var CheckboxList = (0, import_react9.forwardRef)(
|
|
|
4601
4620
|
}
|
|
4602
4621
|
);
|
|
4603
4622
|
CheckboxList.displayName = "CheckboxList";
|
|
4604
|
-
var CheckboxListItem = (0,
|
|
4623
|
+
var CheckboxListItem = (0, import_react10.forwardRef)(
|
|
4605
4624
|
({
|
|
4606
4625
|
value,
|
|
4607
4626
|
store: externalStore,
|
|
@@ -4619,12 +4638,12 @@ var CheckboxListItem = (0, import_react9.forwardRef)(
|
|
|
4619
4638
|
disabled: groupDisabled,
|
|
4620
4639
|
name
|
|
4621
4640
|
} = (0, import_zustand4.useStore)(store);
|
|
4622
|
-
const generatedId = (0,
|
|
4641
|
+
const generatedId = (0, import_react10.useId)();
|
|
4623
4642
|
const inputId = id ?? `checkbox-item-${generatedId}`;
|
|
4624
4643
|
const isChecked = groupValues.includes(value);
|
|
4625
4644
|
const isDisabled = groupDisabled || itemDisabled;
|
|
4626
4645
|
const currentState = isDisabled ? "disabled" : state;
|
|
4627
|
-
return /* @__PURE__ */ (0,
|
|
4646
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
4628
4647
|
CheckBox_default,
|
|
4629
4648
|
{
|
|
4630
4649
|
ref,
|
|
@@ -4651,7 +4670,7 @@ var CheckboxList_default = CheckboxList;
|
|
|
4651
4670
|
|
|
4652
4671
|
// src/components/MultipleChoice/MultipleChoice.tsx
|
|
4653
4672
|
var import_phosphor_react7 = require("phosphor-react");
|
|
4654
|
-
var
|
|
4673
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
4655
4674
|
var MultipleChoiceList = ({
|
|
4656
4675
|
disabled = false,
|
|
4657
4676
|
className = "",
|
|
@@ -4661,16 +4680,16 @@ var MultipleChoiceList = ({
|
|
|
4661
4680
|
onHandleSelectedValues,
|
|
4662
4681
|
mode = "interactive"
|
|
4663
4682
|
}) => {
|
|
4664
|
-
const [actualValue, setActualValue] = (0,
|
|
4665
|
-
(0,
|
|
4683
|
+
const [actualValue, setActualValue] = (0, import_react11.useState)(selectedValues);
|
|
4684
|
+
(0, import_react11.useEffect)(() => {
|
|
4666
4685
|
setActualValue(selectedValues);
|
|
4667
4686
|
}, [selectedValues]);
|
|
4668
4687
|
const getStatusBadge2 = (status) => {
|
|
4669
4688
|
switch (status) {
|
|
4670
4689
|
case "correct":
|
|
4671
|
-
return /* @__PURE__ */ (0,
|
|
4690
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_phosphor_react7.CheckCircle, {}), children: "Resposta correta" });
|
|
4672
4691
|
case "incorrect":
|
|
4673
|
-
return /* @__PURE__ */ (0,
|
|
4692
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_phosphor_react7.XCircle, {}), children: "Resposta incorreta" });
|
|
4674
4693
|
default:
|
|
4675
4694
|
return null;
|
|
4676
4695
|
}
|
|
@@ -4691,14 +4710,14 @@ var MultipleChoiceList = ({
|
|
|
4691
4710
|
isSelected ? "border-primary-950 bg-primary-950 text-text" : "border-border-400 bg-background",
|
|
4692
4711
|
isDisabled && "opacity-40 cursor-not-allowed"
|
|
4693
4712
|
);
|
|
4694
|
-
return /* @__PURE__ */ (0,
|
|
4713
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: checkboxClasses, children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_phosphor_react7.Check, { size: 16, weight: "bold" }) });
|
|
4695
4714
|
};
|
|
4696
4715
|
if (mode === "readonly") {
|
|
4697
|
-
return /* @__PURE__ */ (0,
|
|
4716
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: cn("flex flex-col gap-2", className), children: choices.map((choice, i) => {
|
|
4698
4717
|
const isSelected = actualValue?.includes(choice.value) || false;
|
|
4699
4718
|
const statusStyles = getStatusStyles2(choice.status);
|
|
4700
4719
|
const statusBadge = getStatusBadge2(choice.status);
|
|
4701
|
-
return /* @__PURE__ */ (0,
|
|
4720
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
4702
4721
|
"div",
|
|
4703
4722
|
{
|
|
4704
4723
|
className: cn(
|
|
@@ -4707,9 +4726,9 @@ var MultipleChoiceList = ({
|
|
|
4707
4726
|
choice.disabled ? "opacity-50 cursor-not-allowed" : ""
|
|
4708
4727
|
),
|
|
4709
4728
|
children: [
|
|
4710
|
-
/* @__PURE__ */ (0,
|
|
4729
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-2 flex-1", children: [
|
|
4711
4730
|
renderVisualCheckbox(isSelected, choice.disabled || disabled),
|
|
4712
|
-
/* @__PURE__ */ (0,
|
|
4731
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
4713
4732
|
"span",
|
|
4714
4733
|
{
|
|
4715
4734
|
className: cn(
|
|
@@ -4721,14 +4740,14 @@ var MultipleChoiceList = ({
|
|
|
4721
4740
|
}
|
|
4722
4741
|
)
|
|
4723
4742
|
] }),
|
|
4724
|
-
statusBadge && /* @__PURE__ */ (0,
|
|
4743
|
+
statusBadge && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex-shrink-0", children: statusBadge })
|
|
4725
4744
|
]
|
|
4726
4745
|
},
|
|
4727
4746
|
`readonly-${choice.value}-${i}`
|
|
4728
4747
|
);
|
|
4729
4748
|
}) });
|
|
4730
4749
|
}
|
|
4731
|
-
return /* @__PURE__ */ (0,
|
|
4750
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
4732
4751
|
"div",
|
|
4733
4752
|
{
|
|
4734
4753
|
className: cn(
|
|
@@ -4736,7 +4755,7 @@ var MultipleChoiceList = ({
|
|
|
4736
4755
|
disabled ? "opacity-50 cursor-not-allowed" : "",
|
|
4737
4756
|
className
|
|
4738
4757
|
),
|
|
4739
|
-
children: /* @__PURE__ */ (0,
|
|
4758
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
4740
4759
|
CheckboxList_default,
|
|
4741
4760
|
{
|
|
4742
4761
|
name,
|
|
@@ -4746,12 +4765,12 @@ var MultipleChoiceList = ({
|
|
|
4746
4765
|
onHandleSelectedValues?.(v);
|
|
4747
4766
|
},
|
|
4748
4767
|
disabled,
|
|
4749
|
-
children: choices.map((choice, i) => /* @__PURE__ */ (0,
|
|
4768
|
+
children: choices.map((choice, i) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
4750
4769
|
"div",
|
|
4751
4770
|
{
|
|
4752
4771
|
className: "flex flex-row gap-2 items-center",
|
|
4753
4772
|
children: [
|
|
4754
|
-
/* @__PURE__ */ (0,
|
|
4773
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
4755
4774
|
CheckboxListItem,
|
|
4756
4775
|
{
|
|
4757
4776
|
value: choice.value,
|
|
@@ -4759,7 +4778,7 @@ var MultipleChoiceList = ({
|
|
|
4759
4778
|
disabled: choice.disabled || disabled
|
|
4760
4779
|
}
|
|
4761
4780
|
),
|
|
4762
|
-
/* @__PURE__ */ (0,
|
|
4781
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
4763
4782
|
"label",
|
|
4764
4783
|
{
|
|
4765
4784
|
htmlFor: `interactive-${choice.value}-${i}`,
|
|
@@ -4782,9 +4801,9 @@ var MultipleChoiceList = ({
|
|
|
4782
4801
|
};
|
|
4783
4802
|
|
|
4784
4803
|
// src/components/TextArea/TextArea.tsx
|
|
4785
|
-
var
|
|
4804
|
+
var import_react12 = require("react");
|
|
4786
4805
|
var import_phosphor_react8 = require("phosphor-react");
|
|
4787
|
-
var
|
|
4806
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
4788
4807
|
var SIZE_CLASSES10 = {
|
|
4789
4808
|
small: {
|
|
4790
4809
|
textarea: "h-24 text-sm",
|
|
@@ -4835,7 +4854,7 @@ var STATE_CLASSES3 = {
|
|
|
4835
4854
|
focus: ""
|
|
4836
4855
|
}
|
|
4837
4856
|
};
|
|
4838
|
-
var TextArea = (0,
|
|
4857
|
+
var TextArea = (0, import_react12.forwardRef)(
|
|
4839
4858
|
({
|
|
4840
4859
|
label,
|
|
4841
4860
|
size = "medium",
|
|
@@ -4850,9 +4869,9 @@ var TextArea = (0, import_react11.forwardRef)(
|
|
|
4850
4869
|
placeholder,
|
|
4851
4870
|
...props
|
|
4852
4871
|
}, ref) => {
|
|
4853
|
-
const generatedId = (0,
|
|
4872
|
+
const generatedId = (0, import_react12.useId)();
|
|
4854
4873
|
const inputId = id ?? `textarea-${generatedId}`;
|
|
4855
|
-
const [isFocused, setIsFocused] = (0,
|
|
4874
|
+
const [isFocused, setIsFocused] = (0, import_react12.useState)(false);
|
|
4856
4875
|
const handleChange = (event) => {
|
|
4857
4876
|
onChange?.(event);
|
|
4858
4877
|
};
|
|
@@ -4878,8 +4897,8 @@ var TextArea = (0, import_react11.forwardRef)(
|
|
|
4878
4897
|
stateClasses.focus,
|
|
4879
4898
|
className
|
|
4880
4899
|
);
|
|
4881
|
-
return /* @__PURE__ */ (0,
|
|
4882
|
-
label && /* @__PURE__ */ (0,
|
|
4900
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `flex flex-col`, children: [
|
|
4901
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4883
4902
|
Text_default,
|
|
4884
4903
|
{
|
|
4885
4904
|
as: "label",
|
|
@@ -4891,7 +4910,7 @@ var TextArea = (0, import_react11.forwardRef)(
|
|
|
4891
4910
|
children: label
|
|
4892
4911
|
}
|
|
4893
4912
|
),
|
|
4894
|
-
/* @__PURE__ */ (0,
|
|
4913
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4895
4914
|
"textarea",
|
|
4896
4915
|
{
|
|
4897
4916
|
ref,
|
|
@@ -4905,12 +4924,12 @@ var TextArea = (0, import_react11.forwardRef)(
|
|
|
4905
4924
|
...props
|
|
4906
4925
|
}
|
|
4907
4926
|
),
|
|
4908
|
-
errorMessage && /* @__PURE__ */ (0,
|
|
4909
|
-
/* @__PURE__ */ (0,
|
|
4927
|
+
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "flex gap-1 items-center text-sm text-indicator-error mt-1.5", children: [
|
|
4928
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_phosphor_react8.WarningCircle, { size: 16 }),
|
|
4910
4929
|
" ",
|
|
4911
4930
|
errorMessage
|
|
4912
4931
|
] }),
|
|
4913
|
-
helperMessage && !errorMessage && /* @__PURE__ */ (0,
|
|
4932
|
+
helperMessage && !errorMessage && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text_default, { size: "sm", weight: "normal", className: "mt-1.5 text-text-500", children: helperMessage })
|
|
4914
4933
|
] });
|
|
4915
4934
|
}
|
|
4916
4935
|
);
|
|
@@ -4921,13 +4940,13 @@ var TextArea_default = TextArea;
|
|
|
4921
4940
|
var mock_image_question_default = "../mock-image-question-HEZCLFDL.png";
|
|
4922
4941
|
|
|
4923
4942
|
// src/components/Quiz/Quiz.tsx
|
|
4924
|
-
var
|
|
4943
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
4925
4944
|
var getStatusBadge = (status) => {
|
|
4926
4945
|
switch (status) {
|
|
4927
4946
|
case "correct":
|
|
4928
|
-
return /* @__PURE__ */ (0,
|
|
4947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CheckCircle, {}), children: "Resposta correta" });
|
|
4929
4948
|
case "incorrect":
|
|
4930
|
-
return /* @__PURE__ */ (0,
|
|
4949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.XCircle, {}), children: "Resposta incorreta" });
|
|
4931
4950
|
default:
|
|
4932
4951
|
return null;
|
|
4933
4952
|
}
|
|
@@ -4940,18 +4959,18 @@ var getStatusStyles = (variantCorrect) => {
|
|
|
4940
4959
|
return "bg-error-background border-error-300";
|
|
4941
4960
|
}
|
|
4942
4961
|
};
|
|
4943
|
-
var Quiz = (0,
|
|
4962
|
+
var Quiz = (0, import_react13.forwardRef)(({ children, className, variant = "default", ...props }, ref) => {
|
|
4944
4963
|
const { setVariant } = useQuizStore();
|
|
4945
|
-
(0,
|
|
4964
|
+
(0, import_react13.useEffect)(() => {
|
|
4946
4965
|
setVariant(variant);
|
|
4947
4966
|
}, [variant, setVariant]);
|
|
4948
|
-
return /* @__PURE__ */ (0,
|
|
4967
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { ref, className: cn("flex flex-col", className), ...props, children });
|
|
4949
4968
|
});
|
|
4950
|
-
var QuizHeaderResult = (0,
|
|
4969
|
+
var QuizHeaderResult = (0, import_react13.forwardRef)(
|
|
4951
4970
|
({ className, ...props }, ref) => {
|
|
4952
4971
|
const { getQuestionResultByQuestionId, getCurrentQuestion } = useQuizStore();
|
|
4953
|
-
const [status, setStatus] = (0,
|
|
4954
|
-
(0,
|
|
4972
|
+
const [status, setStatus] = (0, import_react13.useState)(void 0);
|
|
4973
|
+
(0, import_react13.useEffect)(() => {
|
|
4955
4974
|
const cq = getCurrentQuestion();
|
|
4956
4975
|
if (!cq) {
|
|
4957
4976
|
setStatus(void 0);
|
|
@@ -4986,7 +5005,7 @@ var QuizHeaderResult = (0, import_react12.forwardRef)(
|
|
|
4986
5005
|
return "N\xE3o foi dessa vez...voc\xEA deixou a resposta em branco";
|
|
4987
5006
|
}
|
|
4988
5007
|
};
|
|
4989
|
-
return /* @__PURE__ */ (0,
|
|
5008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
4990
5009
|
"div",
|
|
4991
5010
|
{
|
|
4992
5011
|
ref,
|
|
@@ -4997,14 +5016,14 @@ var QuizHeaderResult = (0, import_react12.forwardRef)(
|
|
|
4997
5016
|
),
|
|
4998
5017
|
...props,
|
|
4999
5018
|
children: [
|
|
5000
|
-
/* @__PURE__ */ (0,
|
|
5001
|
-
/* @__PURE__ */ (0,
|
|
5019
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
|
|
5020
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-700 text-md", children: getLabelByAnswersStatus() })
|
|
5002
5021
|
]
|
|
5003
5022
|
}
|
|
5004
5023
|
);
|
|
5005
5024
|
}
|
|
5006
5025
|
);
|
|
5007
|
-
var QuizTitle = (0,
|
|
5026
|
+
var QuizTitle = (0, import_react13.forwardRef)(
|
|
5008
5027
|
({ className, ...props }, ref) => {
|
|
5009
5028
|
const {
|
|
5010
5029
|
currentQuestionIndex,
|
|
@@ -5014,7 +5033,7 @@ var QuizTitle = (0, import_react12.forwardRef)(
|
|
|
5014
5033
|
formatTime,
|
|
5015
5034
|
isStarted
|
|
5016
5035
|
} = useQuizStore();
|
|
5017
|
-
const [showExitConfirmation, setShowExitConfirmation] = (0,
|
|
5036
|
+
const [showExitConfirmation, setShowExitConfirmation] = (0, import_react13.useState)(false);
|
|
5018
5037
|
const totalQuestions = getTotalQuestions();
|
|
5019
5038
|
const quizTitle = getQuizTitle();
|
|
5020
5039
|
const handleBackClick = () => {
|
|
@@ -5031,8 +5050,8 @@ var QuizTitle = (0, import_react12.forwardRef)(
|
|
|
5031
5050
|
const handleCancelExit = () => {
|
|
5032
5051
|
setShowExitConfirmation(false);
|
|
5033
5052
|
};
|
|
5034
|
-
return /* @__PURE__ */ (0,
|
|
5035
|
-
/* @__PURE__ */ (0,
|
|
5053
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5054
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5036
5055
|
"div",
|
|
5037
5056
|
{
|
|
5038
5057
|
ref,
|
|
@@ -5042,24 +5061,24 @@ var QuizTitle = (0, import_react12.forwardRef)(
|
|
|
5042
5061
|
),
|
|
5043
5062
|
...props,
|
|
5044
5063
|
children: [
|
|
5045
|
-
/* @__PURE__ */ (0,
|
|
5064
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5046
5065
|
IconButton_default,
|
|
5047
5066
|
{
|
|
5048
|
-
icon: /* @__PURE__ */ (0,
|
|
5067
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CaretLeft, { size: 24 }),
|
|
5049
5068
|
size: "md",
|
|
5050
5069
|
"aria-label": "Voltar",
|
|
5051
5070
|
onClick: handleBackClick
|
|
5052
5071
|
}
|
|
5053
5072
|
),
|
|
5054
|
-
/* @__PURE__ */ (0,
|
|
5055
|
-
/* @__PURE__ */ (0,
|
|
5056
|
-
/* @__PURE__ */ (0,
|
|
5073
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "flex flex-col gap-2 text-center", children: [
|
|
5074
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
|
|
5075
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
|
|
5057
5076
|
] }),
|
|
5058
|
-
/* @__PURE__ */ (0,
|
|
5077
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "flex flex-row items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.Clock, {}), children: isStarted ? formatTime(timeElapsed) : "00:00" }) })
|
|
5059
5078
|
]
|
|
5060
5079
|
}
|
|
5061
5080
|
),
|
|
5062
|
-
/* @__PURE__ */ (0,
|
|
5081
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5063
5082
|
AlertDialog,
|
|
5064
5083
|
{
|
|
5065
5084
|
isOpen: showExitConfirmation,
|
|
@@ -5075,15 +5094,15 @@ var QuizTitle = (0, import_react12.forwardRef)(
|
|
|
5075
5094
|
] });
|
|
5076
5095
|
}
|
|
5077
5096
|
);
|
|
5078
|
-
var QuizSubTitle = (0,
|
|
5097
|
+
var QuizSubTitle = (0, import_react13.forwardRef)(
|
|
5079
5098
|
({ subTitle, ...props }, ref) => {
|
|
5080
|
-
return /* @__PURE__ */ (0,
|
|
5099
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
|
|
5081
5100
|
}
|
|
5082
5101
|
);
|
|
5083
5102
|
var QuizHeader = () => {
|
|
5084
5103
|
const { getCurrentQuestion, currentQuestionIndex } = useQuizStore();
|
|
5085
5104
|
const currentQuestion = getCurrentQuestion();
|
|
5086
|
-
return /* @__PURE__ */ (0,
|
|
5105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5087
5106
|
HeaderAlternative,
|
|
5088
5107
|
{
|
|
5089
5108
|
title: currentQuestion ? `Quest\xE3o ${currentQuestionIndex + 1}` : "Quest\xE3o",
|
|
@@ -5092,8 +5111,8 @@ var QuizHeader = () => {
|
|
|
5092
5111
|
}
|
|
5093
5112
|
);
|
|
5094
5113
|
};
|
|
5095
|
-
var QuizContainer = (0,
|
|
5096
|
-
return /* @__PURE__ */ (0,
|
|
5114
|
+
var QuizContainer = (0, import_react13.forwardRef)(({ children, className, ...props }, ref) => {
|
|
5115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5097
5116
|
"div",
|
|
5098
5117
|
{
|
|
5099
5118
|
ref,
|
|
@@ -5106,7 +5125,7 @@ var QuizContainer = (0, import_react12.forwardRef)(({ children, className, ...pr
|
|
|
5106
5125
|
}
|
|
5107
5126
|
);
|
|
5108
5127
|
});
|
|
5109
|
-
var QuizContent = (0,
|
|
5128
|
+
var QuizContent = (0, import_react13.forwardRef)(({ paddingBottom }) => {
|
|
5110
5129
|
const { getCurrentQuestion } = useQuizStore();
|
|
5111
5130
|
const currentQuestion = getCurrentQuestion();
|
|
5112
5131
|
const questionComponents = {
|
|
@@ -5119,7 +5138,7 @@ var QuizContent = (0, import_react12.forwardRef)(({ paddingBottom }) => {
|
|
|
5119
5138
|
["IMAGEM" /* IMAGEM */]: QuizImageQuestion
|
|
5120
5139
|
};
|
|
5121
5140
|
const QuestionComponent = currentQuestion ? questionComponents[currentQuestion.questionType] : null;
|
|
5122
|
-
return QuestionComponent ? /* @__PURE__ */ (0,
|
|
5141
|
+
return QuestionComponent ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuestionComponent, { paddingBottom }) : null;
|
|
5123
5142
|
});
|
|
5124
5143
|
var QuizAlternative = ({ paddingBottom }) => {
|
|
5125
5144
|
const {
|
|
@@ -5156,10 +5175,10 @@ var QuizAlternative = ({ paddingBottom }) => {
|
|
|
5156
5175
|
};
|
|
5157
5176
|
});
|
|
5158
5177
|
if (!alternatives)
|
|
5159
|
-
return /* @__PURE__ */ (0,
|
|
5160
|
-
return /* @__PURE__ */ (0,
|
|
5161
|
-
/* @__PURE__ */ (0,
|
|
5162
|
-
/* @__PURE__ */ (0,
|
|
5178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { children: "N\xE3o h\xE1 Alternativas" }) });
|
|
5179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5180
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
5181
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "space-y-4", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5163
5182
|
AlternativesList,
|
|
5164
5183
|
{
|
|
5165
5184
|
mode: variant === "default" ? "interactive" : "readonly",
|
|
@@ -5191,15 +5210,15 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
|
|
|
5191
5210
|
const currentQuestionResult = getQuestionResultByQuestionId(
|
|
5192
5211
|
currentQuestion?.id || ""
|
|
5193
5212
|
);
|
|
5194
|
-
const prevSelectedValuesRef = (0,
|
|
5195
|
-
const prevQuestionIdRef = (0,
|
|
5196
|
-
const allCurrentAnswerIds = (0,
|
|
5213
|
+
const prevSelectedValuesRef = (0, import_react13.useRef)([]);
|
|
5214
|
+
const prevQuestionIdRef = (0, import_react13.useRef)("");
|
|
5215
|
+
const allCurrentAnswerIds = (0, import_react13.useMemo)(() => {
|
|
5197
5216
|
return allCurrentAnswers?.map((answer) => answer.optionId) || [];
|
|
5198
5217
|
}, [allCurrentAnswers]);
|
|
5199
|
-
const selectedValues = (0,
|
|
5218
|
+
const selectedValues = (0, import_react13.useMemo)(() => {
|
|
5200
5219
|
return allCurrentAnswerIds?.filter((id) => id !== null) || [];
|
|
5201
5220
|
}, [allCurrentAnswerIds]);
|
|
5202
|
-
const stableSelectedValues = (0,
|
|
5221
|
+
const stableSelectedValues = (0, import_react13.useMemo)(() => {
|
|
5203
5222
|
const currentQuestionId = currentQuestion?.id || "";
|
|
5204
5223
|
const hasQuestionChanged = prevQuestionIdRef.current !== currentQuestionId;
|
|
5205
5224
|
if (hasQuestionChanged) {
|
|
@@ -5223,7 +5242,7 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
|
|
|
5223
5242
|
variant,
|
|
5224
5243
|
currentQuestionResult?.selectedOptions
|
|
5225
5244
|
]);
|
|
5226
|
-
const handleSelectedValues = (0,
|
|
5245
|
+
const handleSelectedValues = (0, import_react13.useCallback)(
|
|
5227
5246
|
(values) => {
|
|
5228
5247
|
if (currentQuestion) {
|
|
5229
5248
|
selectMultipleAnswer(currentQuestion.id, values);
|
|
@@ -5231,7 +5250,7 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
|
|
|
5231
5250
|
},
|
|
5232
5251
|
[currentQuestion, selectMultipleAnswer]
|
|
5233
5252
|
);
|
|
5234
|
-
const questionKey = (0,
|
|
5253
|
+
const questionKey = (0, import_react13.useMemo)(
|
|
5235
5254
|
() => `question-${currentQuestion?.id || "1"}`,
|
|
5236
5255
|
[currentQuestion?.id]
|
|
5237
5256
|
);
|
|
@@ -5257,10 +5276,10 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
|
|
|
5257
5276
|
};
|
|
5258
5277
|
});
|
|
5259
5278
|
if (!choices)
|
|
5260
|
-
return /* @__PURE__ */ (0,
|
|
5261
|
-
return /* @__PURE__ */ (0,
|
|
5262
|
-
/* @__PURE__ */ (0,
|
|
5263
|
-
/* @__PURE__ */ (0,
|
|
5279
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { children: "N\xE3o h\xE1 Escolhas Multiplas" }) });
|
|
5280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5281
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
5282
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "space-y-4", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5264
5283
|
MultipleChoiceList,
|
|
5265
5284
|
{
|
|
5266
5285
|
choices,
|
|
@@ -5286,13 +5305,13 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
5286
5305
|
currentQuestion?.id || ""
|
|
5287
5306
|
);
|
|
5288
5307
|
const currentAnswer = getCurrentAnswer();
|
|
5289
|
-
const textareaRef = (0,
|
|
5308
|
+
const textareaRef = (0, import_react13.useRef)(null);
|
|
5290
5309
|
const handleAnswerChange = (value) => {
|
|
5291
5310
|
if (currentQuestion) {
|
|
5292
5311
|
selectDissertativeAnswer(currentQuestion.id, value);
|
|
5293
5312
|
}
|
|
5294
5313
|
};
|
|
5295
|
-
const adjustTextareaHeight = (0,
|
|
5314
|
+
const adjustTextareaHeight = (0, import_react13.useCallback)(() => {
|
|
5296
5315
|
if (textareaRef.current) {
|
|
5297
5316
|
textareaRef.current.style.height = "auto";
|
|
5298
5317
|
const scrollHeight = textareaRef.current.scrollHeight;
|
|
@@ -5302,16 +5321,16 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
5302
5321
|
textareaRef.current.style.height = `${newHeight}px`;
|
|
5303
5322
|
}
|
|
5304
5323
|
}, []);
|
|
5305
|
-
(0,
|
|
5324
|
+
(0, import_react13.useEffect)(() => {
|
|
5306
5325
|
adjustTextareaHeight();
|
|
5307
5326
|
}, [currentAnswer, adjustTextareaHeight]);
|
|
5308
5327
|
if (!currentQuestion) {
|
|
5309
|
-
return /* @__PURE__ */ (0,
|
|
5328
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "space-y-4", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-600 text-md", children: "Nenhuma quest\xE3o dispon\xEDvel" }) });
|
|
5310
5329
|
}
|
|
5311
5330
|
const localAnswer = (variant == "result" ? currentQuestionResult?.answer : currentAnswer?.answer) || "";
|
|
5312
|
-
return /* @__PURE__ */ (0,
|
|
5313
|
-
/* @__PURE__ */ (0,
|
|
5314
|
-
/* @__PURE__ */ (0,
|
|
5331
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5332
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizSubTitle, { subTitle: "Resposta" }),
|
|
5333
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizContainer, { className: cn(variant != "result" && paddingBottom), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "space-y-4 max-h-[600px] overflow-y-auto", children: variant === "default" ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "space-y-4", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5315
5334
|
TextArea_default,
|
|
5316
5335
|
{
|
|
5317
5336
|
ref: textareaRef,
|
|
@@ -5321,10 +5340,10 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
5321
5340
|
rows: 4,
|
|
5322
5341
|
className: "min-h-[120px] max-h-[400px] resize-none overflow-y-auto"
|
|
5323
5342
|
}
|
|
5324
|
-
) }) : /* @__PURE__ */ (0,
|
|
5325
|
-
variant === "result" && currentQuestionResult?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ (0,
|
|
5326
|
-
/* @__PURE__ */ (0,
|
|
5327
|
-
/* @__PURE__ */ (0,
|
|
5343
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "space-y-4", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: localAnswer || "Nenhuma resposta fornecida" }) }) }) }),
|
|
5344
|
+
variant === "result" && currentQuestionResult?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5345
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizSubTitle, { subTitle: "Observa\xE7\xE3o do professor" }),
|
|
5346
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("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." }) })
|
|
5328
5347
|
] })
|
|
5329
5348
|
] });
|
|
5330
5349
|
};
|
|
@@ -5350,16 +5369,16 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
|
|
|
5350
5369
|
];
|
|
5351
5370
|
const getLetterByIndex = (index) => String.fromCharCode(97 + index);
|
|
5352
5371
|
const isDefaultVariant = variant == "default";
|
|
5353
|
-
return /* @__PURE__ */ (0,
|
|
5354
|
-
/* @__PURE__ */ (0,
|
|
5355
|
-
/* @__PURE__ */ (0,
|
|
5372
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5373
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
5374
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
|
|
5356
5375
|
const variantCorrect = option.isCorrect ? "correct" : "incorrect";
|
|
5357
|
-
return /* @__PURE__ */ (0,
|
|
5376
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5358
5377
|
"section",
|
|
5359
5378
|
{
|
|
5360
5379
|
className: "flex flex-col gap-2",
|
|
5361
5380
|
children: [
|
|
5362
|
-
/* @__PURE__ */ (0,
|
|
5381
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5363
5382
|
"div",
|
|
5364
5383
|
{
|
|
5365
5384
|
className: cn(
|
|
@@ -5367,20 +5386,20 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
|
|
|
5367
5386
|
!isDefaultVariant ? getStatusStyles(variantCorrect) : ""
|
|
5368
5387
|
),
|
|
5369
5388
|
children: [
|
|
5370
|
-
/* @__PURE__ */ (0,
|
|
5371
|
-
isDefaultVariant ? /* @__PURE__ */ (0,
|
|
5372
|
-
/* @__PURE__ */ (0,
|
|
5373
|
-
/* @__PURE__ */ (0,
|
|
5374
|
-
/* @__PURE__ */ (0,
|
|
5375
|
-
/* @__PURE__ */ (0,
|
|
5389
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index).concat(") ").concat(option.label) }),
|
|
5390
|
+
isDefaultVariant ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Select_default, { size: "medium", children: [
|
|
5391
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectValue, { placeholder: "Selecione opc\xE3o" }) }),
|
|
5392
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(SelectContent, { children: [
|
|
5393
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectItem, { value: "V", children: "Verdadeiro" }),
|
|
5394
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectItem, { value: "F", children: "Falso" })
|
|
5376
5395
|
] })
|
|
5377
|
-
] }) : /* @__PURE__ */ (0,
|
|
5396
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex-shrink-0", children: getStatusBadge(variantCorrect) })
|
|
5378
5397
|
]
|
|
5379
5398
|
}
|
|
5380
5399
|
),
|
|
5381
|
-
!isDefaultVariant && /* @__PURE__ */ (0,
|
|
5382
|
-
/* @__PURE__ */ (0,
|
|
5383
|
-
!option.isCorrect && /* @__PURE__ */ (0,
|
|
5400
|
+
!isDefaultVariant && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "flex flex-row gap-2 items-center", children: [
|
|
5401
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-800 text-2xs", children: "Resposta selecionada: V" }),
|
|
5402
|
+
!option.isCorrect && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-800 text-2xs", children: "Resposta correta: F" })
|
|
5384
5403
|
] })
|
|
5385
5404
|
]
|
|
5386
5405
|
},
|
|
@@ -5441,7 +5460,7 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
5441
5460
|
isCorrect: false
|
|
5442
5461
|
}
|
|
5443
5462
|
];
|
|
5444
|
-
const [userAnswers, setUserAnswers] = (0,
|
|
5463
|
+
const [userAnswers, setUserAnswers] = (0, import_react13.useState)(() => {
|
|
5445
5464
|
if (variant === "result") {
|
|
5446
5465
|
return mockUserAnswers;
|
|
5447
5466
|
}
|
|
@@ -5470,13 +5489,13 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
5470
5489
|
const assignedDots = new Set(
|
|
5471
5490
|
userAnswers.map((a) => a.dotOption).filter(Boolean)
|
|
5472
5491
|
);
|
|
5473
|
-
return /* @__PURE__ */ (0,
|
|
5474
|
-
/* @__PURE__ */ (0,
|
|
5475
|
-
/* @__PURE__ */ (0,
|
|
5492
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5493
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
5494
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
|
|
5476
5495
|
const answer = userAnswers[index];
|
|
5477
5496
|
const variantCorrect = answer.isCorrect ? "correct" : "incorrect";
|
|
5478
|
-
return /* @__PURE__ */ (0,
|
|
5479
|
-
/* @__PURE__ */ (0,
|
|
5497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("section", { className: "flex flex-col gap-2", children: [
|
|
5498
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5480
5499
|
"div",
|
|
5481
5500
|
{
|
|
5482
5501
|
className: cn(
|
|
@@ -5484,30 +5503,30 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
5484
5503
|
!isDefaultVariant ? getStatusStyles(variantCorrect) : ""
|
|
5485
5504
|
),
|
|
5486
5505
|
children: [
|
|
5487
|
-
/* @__PURE__ */ (0,
|
|
5488
|
-
isDefaultVariant ? /* @__PURE__ */ (0,
|
|
5506
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index) + ") " + option.label }),
|
|
5507
|
+
isDefaultVariant ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5489
5508
|
Select_default,
|
|
5490
5509
|
{
|
|
5491
5510
|
size: "medium",
|
|
5492
5511
|
value: answer.dotOption || void 0,
|
|
5493
5512
|
onValueChange: (value) => handleSelectDot(index, value),
|
|
5494
5513
|
children: [
|
|
5495
|
-
/* @__PURE__ */ (0,
|
|
5496
|
-
/* @__PURE__ */ (0,
|
|
5514
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
|
|
5515
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectContent, { children: dotsOptions.filter(
|
|
5497
5516
|
(dot) => !assignedDots.has(dot.label) || answer.dotOption === dot.label
|
|
5498
|
-
).map((dot) => /* @__PURE__ */ (0,
|
|
5517
|
+
).map((dot) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectItem, { value: dot.label, children: dot.label }, dot.label)) })
|
|
5499
5518
|
]
|
|
5500
5519
|
}
|
|
5501
|
-
) : /* @__PURE__ */ (0,
|
|
5520
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex-shrink-0", children: answer.isCorrect === null ? null : getStatusBadge(variantCorrect) })
|
|
5502
5521
|
]
|
|
5503
5522
|
}
|
|
5504
5523
|
),
|
|
5505
|
-
!isDefaultVariant && /* @__PURE__ */ (0,
|
|
5506
|
-
/* @__PURE__ */ (0,
|
|
5524
|
+
!isDefaultVariant && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "flex flex-row gap-2 items-center", children: [
|
|
5525
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("p", { className: "text-text-800 text-2xs", children: [
|
|
5507
5526
|
"Resposta selecionada: ",
|
|
5508
5527
|
answer.dotOption || "Nenhuma"
|
|
5509
5528
|
] }),
|
|
5510
|
-
!answer.isCorrect && /* @__PURE__ */ (0,
|
|
5529
|
+
!answer.isCorrect && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("p", { className: "text-text-800 text-2xs", children: [
|
|
5511
5530
|
"Resposta correta: ",
|
|
5512
5531
|
answer.correctOption
|
|
5513
5532
|
] })
|
|
@@ -5560,8 +5579,8 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
5560
5579
|
isCorrect: true
|
|
5561
5580
|
}
|
|
5562
5581
|
];
|
|
5563
|
-
const [answers, setAnswers] = (0,
|
|
5564
|
-
const baseId = (0,
|
|
5582
|
+
const [answers, setAnswers] = (0, import_react13.useState)({});
|
|
5583
|
+
const baseId = (0, import_react13.useId)();
|
|
5565
5584
|
const getAvailableOptionsForSelect = (selectId) => {
|
|
5566
5585
|
const usedOptions = Object.entries(answers).filter(([key]) => key !== selectId).map(([, value]) => value);
|
|
5567
5586
|
return options.filter((option) => !usedOptions.includes(option));
|
|
@@ -5574,18 +5593,18 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
5574
5593
|
const mockAnswer = mockUserAnswers.find(
|
|
5575
5594
|
(answer) => answer.selectId === selectId
|
|
5576
5595
|
);
|
|
5577
|
-
return /* @__PURE__ */ (0,
|
|
5596
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "inline-flex mb-2.5 text-success-600 font-semibold text-md border-b-2 border-success-600", children: mockAnswer?.correctAnswer });
|
|
5578
5597
|
};
|
|
5579
5598
|
const renderDefaultElement = (selectId, startIndex, selectedValue, availableOptionsForThisSelect) => {
|
|
5580
|
-
return /* @__PURE__ */ (0,
|
|
5599
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5581
5600
|
Select_default,
|
|
5582
5601
|
{
|
|
5583
5602
|
value: selectedValue,
|
|
5584
5603
|
onValueChange: (value) => handleSelectChange(selectId, value),
|
|
5585
5604
|
className: "inline-flex mb-2.5",
|
|
5586
5605
|
children: [
|
|
5587
|
-
/* @__PURE__ */ (0,
|
|
5588
|
-
/* @__PURE__ */ (0,
|
|
5606
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectTrigger, { className: "inline-flex w-auto min-w-[140px] h-8 mx-1 bg-white border-gray-300", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
|
|
5607
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectContent, { children: availableOptionsForThisSelect.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectItem, { value: option, children: option }, `${option}-${index}`)) })
|
|
5589
5608
|
]
|
|
5590
5609
|
},
|
|
5591
5610
|
`${selectId}-${startIndex}`
|
|
@@ -5597,8 +5616,8 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
5597
5616
|
);
|
|
5598
5617
|
if (!mockAnswer) return null;
|
|
5599
5618
|
const action = mockAnswer.isCorrect ? "success" : "error";
|
|
5600
|
-
const icon = mockAnswer.isCorrect ? /* @__PURE__ */ (0,
|
|
5601
|
-
return /* @__PURE__ */ (0,
|
|
5619
|
+
const icon = mockAnswer.isCorrect ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CheckCircle, {}) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.XCircle, {});
|
|
5620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5602
5621
|
Badge_default,
|
|
5603
5622
|
{
|
|
5604
5623
|
variant: "solid",
|
|
@@ -5606,7 +5625,7 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
5606
5625
|
iconRight: icon,
|
|
5607
5626
|
size: "large",
|
|
5608
5627
|
className: "py-3 w-[180px] justify-between mb-2.5",
|
|
5609
|
-
children: /* @__PURE__ */ (0,
|
|
5628
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-text-900", children: mockAnswer.userAnswer })
|
|
5610
5629
|
},
|
|
5611
5630
|
selectId
|
|
5612
5631
|
);
|
|
@@ -5662,25 +5681,25 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
5662
5681
|
}
|
|
5663
5682
|
return elements;
|
|
5664
5683
|
};
|
|
5665
|
-
return /* @__PURE__ */ (0,
|
|
5666
|
-
/* @__PURE__ */ (0,
|
|
5667
|
-
/* @__PURE__ */ (0,
|
|
5684
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5685
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
5686
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "space-y-6 px-4 h-auto", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5668
5687
|
"div",
|
|
5669
5688
|
{
|
|
5670
5689
|
className: cn(
|
|
5671
5690
|
"text-lg text-text-900 leading-8 h-auto",
|
|
5672
5691
|
variant != "result" && paddingBottom
|
|
5673
5692
|
),
|
|
5674
|
-
children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ (0,
|
|
5693
|
+
children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children: element.element }, element.id))
|
|
5675
5694
|
}
|
|
5676
5695
|
) }) }),
|
|
5677
|
-
variant === "result" && /* @__PURE__ */ (0,
|
|
5678
|
-
/* @__PURE__ */ (0,
|
|
5679
|
-
/* @__PURE__ */ (0,
|
|
5696
|
+
variant === "result" && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5697
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizSubTitle, { subTitle: "Resultado" }),
|
|
5698
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "space-y-6 px-4", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5680
5699
|
"div",
|
|
5681
5700
|
{
|
|
5682
5701
|
className: cn("text-lg text-text-900 leading-8", paddingBottom),
|
|
5683
|
-
children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */ (0,
|
|
5702
|
+
children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children: element.element }, element.id))
|
|
5684
5703
|
}
|
|
5685
5704
|
) }) })
|
|
5686
5705
|
] })
|
|
@@ -5698,7 +5717,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
5698
5717
|
};
|
|
5699
5718
|
const correctRadiusRelative = calculateCorrectRadiusRelative();
|
|
5700
5719
|
const mockUserAnswerRelative = { x: 0.72, y: 0.348 };
|
|
5701
|
-
const [clickPositionRelative, setClickPositionRelative] = (0,
|
|
5720
|
+
const [clickPositionRelative, setClickPositionRelative] = (0, import_react13.useState)(variant == "result" ? mockUserAnswerRelative : null);
|
|
5702
5721
|
const convertToRelativeCoordinates = (x, y, rect) => {
|
|
5703
5722
|
const safeWidth = Math.max(rect.width, 1e-3);
|
|
5704
5723
|
const safeHeight = Math.max(rect.height, 1e-3);
|
|
@@ -5734,36 +5753,36 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
5734
5753
|
}
|
|
5735
5754
|
return "bg-success-600/70 border-white";
|
|
5736
5755
|
};
|
|
5737
|
-
return /* @__PURE__ */ (0,
|
|
5738
|
-
/* @__PURE__ */ (0,
|
|
5739
|
-
/* @__PURE__ */ (0,
|
|
5756
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5757
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizSubTitle, { subTitle: "Clique na \xE1rea correta" }),
|
|
5758
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5740
5759
|
"div",
|
|
5741
5760
|
{
|
|
5742
5761
|
"data-testid": "quiz-image-container",
|
|
5743
5762
|
className: "space-y-6 p-3 relative inline-block",
|
|
5744
5763
|
children: [
|
|
5745
|
-
variant == "result" && /* @__PURE__ */ (0,
|
|
5764
|
+
variant == "result" && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5746
5765
|
"div",
|
|
5747
5766
|
{
|
|
5748
5767
|
"data-testid": "quiz-legend",
|
|
5749
5768
|
className: "flex items-center gap-4 text-xs",
|
|
5750
5769
|
children: [
|
|
5751
|
-
/* @__PURE__ */ (0,
|
|
5752
|
-
/* @__PURE__ */ (0,
|
|
5753
|
-
/* @__PURE__ */ (0,
|
|
5770
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
5771
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-3 h-3 rounded-full bg-indicator-primary/70 border border-[#F8CC2E]" }),
|
|
5772
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-text-600 font-medium text-sm", children: "\xC1rea correta" })
|
|
5754
5773
|
] }),
|
|
5755
|
-
/* @__PURE__ */ (0,
|
|
5756
|
-
/* @__PURE__ */ (0,
|
|
5757
|
-
/* @__PURE__ */ (0,
|
|
5774
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
5775
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-3 h-3 rounded-full bg-success-600/70 border border-white" }),
|
|
5776
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-text-600 font-medium text-sm", children: "Resposta correta" })
|
|
5758
5777
|
] }),
|
|
5759
|
-
/* @__PURE__ */ (0,
|
|
5760
|
-
/* @__PURE__ */ (0,
|
|
5761
|
-
/* @__PURE__ */ (0,
|
|
5778
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
5779
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-3 h-3 rounded-full bg-indicator-error/70 border border-white" }),
|
|
5780
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-text-600 font-medium text-sm", children: "Resposta incorreta" })
|
|
5762
5781
|
] })
|
|
5763
5782
|
]
|
|
5764
5783
|
}
|
|
5765
5784
|
),
|
|
5766
|
-
/* @__PURE__ */ (0,
|
|
5785
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5767
5786
|
"button",
|
|
5768
5787
|
{
|
|
5769
5788
|
"data-testid": "quiz-image-button",
|
|
@@ -5778,7 +5797,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
5778
5797
|
},
|
|
5779
5798
|
"aria-label": "\xC1rea da imagem interativa",
|
|
5780
5799
|
children: [
|
|
5781
|
-
/* @__PURE__ */ (0,
|
|
5800
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5782
5801
|
"img",
|
|
5783
5802
|
{
|
|
5784
5803
|
"data-testid": "quiz-image",
|
|
@@ -5787,7 +5806,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
5787
5806
|
className: "w-full h-auto rounded-md"
|
|
5788
5807
|
}
|
|
5789
5808
|
),
|
|
5790
|
-
variant === "result" && /* @__PURE__ */ (0,
|
|
5809
|
+
variant === "result" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5791
5810
|
"div",
|
|
5792
5811
|
{
|
|
5793
5812
|
"data-testid": "quiz-correct-circle",
|
|
@@ -5802,7 +5821,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
5802
5821
|
}
|
|
5803
5822
|
}
|
|
5804
5823
|
),
|
|
5805
|
-
clickPositionRelative && /* @__PURE__ */ (0,
|
|
5824
|
+
clickPositionRelative && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5806
5825
|
"div",
|
|
5807
5826
|
{
|
|
5808
5827
|
"data-testid": "quiz-user-circle",
|
|
@@ -5870,18 +5889,18 @@ var QuizQuestionList = ({
|
|
|
5870
5889
|
return "Em branco";
|
|
5871
5890
|
}
|
|
5872
5891
|
};
|
|
5873
|
-
return /* @__PURE__ */ (0,
|
|
5874
|
-
Object.entries(filteredGroupedQuestions).length == 0 && /* @__PURE__ */ (0,
|
|
5892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-6 px-4 h-full", children: [
|
|
5893
|
+
Object.entries(filteredGroupedQuestions).length == 0 && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex items-center justify-center text-gray-500 py-8 h-full", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-lg", children: "Nenhum resultado" }) }),
|
|
5875
5894
|
Object.entries(filteredGroupedQuestions).map(
|
|
5876
|
-
([subjectId, questions]) => /* @__PURE__ */ (0,
|
|
5877
|
-
/* @__PURE__ */ (0,
|
|
5878
|
-
/* @__PURE__ */ (0,
|
|
5879
|
-
/* @__PURE__ */ (0,
|
|
5895
|
+
([subjectId, questions]) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("section", { className: "flex flex-col gap-2", children: [
|
|
5896
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
|
|
5897
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.BookOpen, { size: 17, className: "text-white" }) }),
|
|
5898
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-800 font-bold text-lg", children: questions?.[0]?.knowledgeMatrix?.[0]?.subject?.name ?? "Sem mat\xE9ria" })
|
|
5880
5899
|
] }),
|
|
5881
|
-
/* @__PURE__ */ (0,
|
|
5900
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("ul", { className: "flex flex-col gap-2", children: questions.map((question) => {
|
|
5882
5901
|
const status = getQuestionStatus(question.id);
|
|
5883
5902
|
const questionNumber = getQuestionIndex(question.id);
|
|
5884
|
-
return /* @__PURE__ */ (0,
|
|
5903
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5885
5904
|
CardStatus,
|
|
5886
5905
|
{
|
|
5887
5906
|
header: `Quest\xE3o ${questionNumber.toString().padStart(2, "0")}`,
|
|
@@ -5898,7 +5917,7 @@ var QuizQuestionList = ({
|
|
|
5898
5917
|
)
|
|
5899
5918
|
] });
|
|
5900
5919
|
};
|
|
5901
|
-
var QuizFooter = (0,
|
|
5920
|
+
var QuizFooter = (0, import_react13.forwardRef)(
|
|
5902
5921
|
({
|
|
5903
5922
|
className,
|
|
5904
5923
|
onGoToSimulated,
|
|
@@ -5926,11 +5945,11 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
5926
5945
|
const currentAnswer = getCurrentAnswer();
|
|
5927
5946
|
const currentQuestion = getCurrentQuestion();
|
|
5928
5947
|
const isCurrentQuestionSkipped = currentQuestion ? getQuestionStatusFromUserAnswers(currentQuestion.id) === "skipped" : false;
|
|
5929
|
-
const [alertDialogOpen, setAlertDialogOpen] = (0,
|
|
5930
|
-
const [modalResultOpen, setModalResultOpen] = (0,
|
|
5931
|
-
const [modalNavigateOpen, setModalNavigateOpen] = (0,
|
|
5932
|
-
const [modalResolutionOpen, setModalResolutionOpen] = (0,
|
|
5933
|
-
const [filterType, setFilterType] = (0,
|
|
5948
|
+
const [alertDialogOpen, setAlertDialogOpen] = (0, import_react13.useState)(false);
|
|
5949
|
+
const [modalResultOpen, setModalResultOpen] = (0, import_react13.useState)(false);
|
|
5950
|
+
const [modalNavigateOpen, setModalNavigateOpen] = (0, import_react13.useState)(false);
|
|
5951
|
+
const [modalResolutionOpen, setModalResolutionOpen] = (0, import_react13.useState)(false);
|
|
5952
|
+
const [filterType, setFilterType] = (0, import_react13.useState)("all");
|
|
5934
5953
|
const unansweredQuestions = getUnansweredQuestionsFromUserAnswers();
|
|
5935
5954
|
const allQuestions = getTotalQuestions();
|
|
5936
5955
|
const handleFinishQuiz = async () => {
|
|
@@ -5961,8 +5980,8 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
5961
5980
|
return;
|
|
5962
5981
|
}
|
|
5963
5982
|
};
|
|
5964
|
-
return /* @__PURE__ */ (0,
|
|
5965
|
-
/* @__PURE__ */ (0,
|
|
5983
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5984
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5966
5985
|
"footer",
|
|
5967
5986
|
{
|
|
5968
5987
|
ref,
|
|
@@ -5971,17 +5990,17 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
5971
5990
|
className
|
|
5972
5991
|
),
|
|
5973
5992
|
...props,
|
|
5974
|
-
children: variant === "default" ? /* @__PURE__ */ (0,
|
|
5975
|
-
/* @__PURE__ */ (0,
|
|
5976
|
-
/* @__PURE__ */ (0,
|
|
5993
|
+
children: variant === "default" ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
5994
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row items-center gap-1", children: [
|
|
5995
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5977
5996
|
IconButton_default,
|
|
5978
5997
|
{
|
|
5979
|
-
icon: /* @__PURE__ */ (0,
|
|
5998
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.SquaresFour, { size: 24, className: "text-text-950" }),
|
|
5980
5999
|
size: "md",
|
|
5981
6000
|
onClick: () => setModalNavigateOpen(true)
|
|
5982
6001
|
}
|
|
5983
6002
|
),
|
|
5984
|
-
isFirstQuestion ? /* @__PURE__ */ (0,
|
|
6003
|
+
isFirstQuestion ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5985
6004
|
Button_default,
|
|
5986
6005
|
{
|
|
5987
6006
|
variant: "outline",
|
|
@@ -5992,13 +6011,13 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
5992
6011
|
},
|
|
5993
6012
|
children: "Pular"
|
|
5994
6013
|
}
|
|
5995
|
-
) : /* @__PURE__ */ (0,
|
|
6014
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5996
6015
|
Button_default,
|
|
5997
6016
|
{
|
|
5998
6017
|
size: "medium",
|
|
5999
6018
|
variant: "link",
|
|
6000
6019
|
action: "primary",
|
|
6001
|
-
iconLeft: /* @__PURE__ */ (0,
|
|
6020
|
+
iconLeft: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CaretLeft, { size: 18 }),
|
|
6002
6021
|
onClick: () => {
|
|
6003
6022
|
goToPreviousQuestion();
|
|
6004
6023
|
},
|
|
@@ -6006,7 +6025,7 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
6006
6025
|
}
|
|
6007
6026
|
)
|
|
6008
6027
|
] }),
|
|
6009
|
-
!isFirstQuestion && !isLastQuestion && /* @__PURE__ */ (0,
|
|
6028
|
+
!isFirstQuestion && !isLastQuestion && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6010
6029
|
Button_default,
|
|
6011
6030
|
{
|
|
6012
6031
|
size: "small",
|
|
@@ -6019,7 +6038,7 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
6019
6038
|
children: "Pular"
|
|
6020
6039
|
}
|
|
6021
6040
|
),
|
|
6022
|
-
isLastQuestion ? /* @__PURE__ */ (0,
|
|
6041
|
+
isLastQuestion ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6023
6042
|
Button_default,
|
|
6024
6043
|
{
|
|
6025
6044
|
size: "medium",
|
|
@@ -6029,13 +6048,13 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
6029
6048
|
onClick: handleFinishQuiz,
|
|
6030
6049
|
children: "Finalizar"
|
|
6031
6050
|
}
|
|
6032
|
-
) : /* @__PURE__ */ (0,
|
|
6051
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6033
6052
|
Button_default,
|
|
6034
6053
|
{
|
|
6035
6054
|
size: "medium",
|
|
6036
6055
|
variant: "link",
|
|
6037
6056
|
action: "primary",
|
|
6038
|
-
iconRight: /* @__PURE__ */ (0,
|
|
6057
|
+
iconRight: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CaretRight, { size: 18 }),
|
|
6039
6058
|
disabled: !currentAnswer && !isCurrentQuestionSkipped,
|
|
6040
6059
|
onClick: () => {
|
|
6041
6060
|
goToNextQuestion();
|
|
@@ -6043,7 +6062,7 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
6043
6062
|
children: "Avan\xE7ar"
|
|
6044
6063
|
}
|
|
6045
6064
|
)
|
|
6046
|
-
] }) : /* @__PURE__ */ (0,
|
|
6065
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-row items-center justify-end w-full", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6047
6066
|
Button_default,
|
|
6048
6067
|
{
|
|
6049
6068
|
variant: "solid",
|
|
@@ -6055,7 +6074,7 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
6055
6074
|
) })
|
|
6056
6075
|
}
|
|
6057
6076
|
),
|
|
6058
|
-
/* @__PURE__ */ (0,
|
|
6077
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6059
6078
|
AlertDialog,
|
|
6060
6079
|
{
|
|
6061
6080
|
isOpen: alertDialogOpen,
|
|
@@ -6067,7 +6086,7 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
6067
6086
|
onSubmit: handleAlertSubmit
|
|
6068
6087
|
}
|
|
6069
6088
|
),
|
|
6070
|
-
/* @__PURE__ */ (0,
|
|
6089
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6071
6090
|
Modal_default,
|
|
6072
6091
|
{
|
|
6073
6092
|
isOpen: modalResultOpen,
|
|
@@ -6076,11 +6095,11 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
6076
6095
|
closeOnEscape: false,
|
|
6077
6096
|
hideCloseButton: true,
|
|
6078
6097
|
size: "md",
|
|
6079
|
-
children: /* @__PURE__ */ (0,
|
|
6080
|
-
resultImageComponent ? /* @__PURE__ */ (0,
|
|
6081
|
-
/* @__PURE__ */ (0,
|
|
6082
|
-
/* @__PURE__ */ (0,
|
|
6083
|
-
/* @__PURE__ */ (0,
|
|
6098
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
|
|
6099
|
+
resultImageComponent ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
|
|
6100
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col gap-2 text-center", children: [
|
|
6101
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("h2", { className: "text-text-950 font-bold text-lg", children: "Voc\xEA concluiu o simulado!" }),
|
|
6102
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("p", { className: "text-text-500 font-sm", children: [
|
|
6084
6103
|
"Voc\xEA acertou",
|
|
6085
6104
|
" ",
|
|
6086
6105
|
getQuestionResultStatistics()?.correctAnswers ?? "--",
|
|
@@ -6090,8 +6109,8 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
6090
6109
|
" quest\xF5es."
|
|
6091
6110
|
] })
|
|
6092
6111
|
] }),
|
|
6093
|
-
/* @__PURE__ */ (0,
|
|
6094
|
-
/* @__PURE__ */ (0,
|
|
6112
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: [
|
|
6113
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6095
6114
|
Button_default,
|
|
6096
6115
|
{
|
|
6097
6116
|
variant: "outline",
|
|
@@ -6101,38 +6120,38 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
6101
6120
|
children: "Ir para simulados"
|
|
6102
6121
|
}
|
|
6103
6122
|
),
|
|
6104
|
-
/* @__PURE__ */ (0,
|
|
6123
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button_default, { className: "w-full", onClick: onDetailResult, children: "Detalhar resultado" })
|
|
6105
6124
|
] })
|
|
6106
6125
|
] })
|
|
6107
6126
|
}
|
|
6108
6127
|
),
|
|
6109
|
-
/* @__PURE__ */ (0,
|
|
6128
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6110
6129
|
Modal_default,
|
|
6111
6130
|
{
|
|
6112
6131
|
isOpen: modalNavigateOpen,
|
|
6113
6132
|
onClose: () => setModalNavigateOpen(false),
|
|
6114
6133
|
title: "Quest\xF5es",
|
|
6115
6134
|
size: "lg",
|
|
6116
|
-
children: /* @__PURE__ */ (0,
|
|
6117
|
-
/* @__PURE__ */ (0,
|
|
6118
|
-
/* @__PURE__ */ (0,
|
|
6119
|
-
/* @__PURE__ */ (0,
|
|
6120
|
-
/* @__PURE__ */ (0,
|
|
6135
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col w-full not-lg:h-[calc(100vh-200px)] lg:max-h-[687px] lg:h-[687px]", children: [
|
|
6136
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row justify-between items-center py-6 pt-6 pb-4 border-b border-border-200 flex-shrink-0", children: [
|
|
6137
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-950 font-bold text-lg", children: "Filtrar por" }),
|
|
6138
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "max-w-[266px]", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Select_default, { value: filterType, onValueChange: setFilterType, children: [
|
|
6139
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6121
6140
|
SelectTrigger,
|
|
6122
6141
|
{
|
|
6123
6142
|
variant: "rounded",
|
|
6124
6143
|
className: "max-w-[266px] min-w-[160px]",
|
|
6125
|
-
children: /* @__PURE__ */ (0,
|
|
6144
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectValue, { placeholder: "Selecione uma op\xE7\xE3o" })
|
|
6126
6145
|
}
|
|
6127
6146
|
),
|
|
6128
|
-
/* @__PURE__ */ (0,
|
|
6129
|
-
/* @__PURE__ */ (0,
|
|
6130
|
-
/* @__PURE__ */ (0,
|
|
6131
|
-
/* @__PURE__ */ (0,
|
|
6147
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(SelectContent, { children: [
|
|
6148
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectItem, { value: "all", children: "Todas" }),
|
|
6149
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectItem, { value: "unanswered", children: "Em branco" }),
|
|
6150
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SelectItem, { value: "answered", children: "Respondidas" })
|
|
6132
6151
|
] })
|
|
6133
6152
|
] }) })
|
|
6134
6153
|
] }),
|
|
6135
|
-
/* @__PURE__ */ (0,
|
|
6154
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-col gap-2 flex-1 min-h-0 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6136
6155
|
QuizQuestionList,
|
|
6137
6156
|
{
|
|
6138
6157
|
filterType,
|
|
@@ -6142,7 +6161,7 @@ var QuizFooter = (0, import_react12.forwardRef)(
|
|
|
6142
6161
|
] })
|
|
6143
6162
|
}
|
|
6144
6163
|
),
|
|
6145
|
-
/* @__PURE__ */ (0,
|
|
6164
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6146
6165
|
Modal_default,
|
|
6147
6166
|
{
|
|
6148
6167
|
isOpen: modalResolutionOpen,
|
|
@@ -6160,40 +6179,40 @@ var QuizBadge = ({
|
|
|
6160
6179
|
}) => {
|
|
6161
6180
|
switch (subtype) {
|
|
6162
6181
|
case "PROVA" /* PROVA */:
|
|
6163
|
-
return /* @__PURE__ */ (0,
|
|
6182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Badge_default, { variant: "examsOutlined", action: "exam2", "data-testid": "quiz-badge", children: "Prova" });
|
|
6164
6183
|
case "ENEM_PROVA_1" /* ENEM_PROVA_1 */:
|
|
6165
6184
|
case "ENEM_PROVA_2" /* ENEM_PROVA_2 */:
|
|
6166
|
-
return /* @__PURE__ */ (0,
|
|
6185
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Badge_default, { variant: "examsOutlined", action: "exam1", "data-testid": "quiz-badge", children: "Enem" });
|
|
6167
6186
|
case "VESTIBULAR" /* VESTIBULAR */:
|
|
6168
|
-
return /* @__PURE__ */ (0,
|
|
6187
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Badge_default, { variant: "examsOutlined", action: "exam4", "data-testid": "quiz-badge", children: "Vestibular" });
|
|
6169
6188
|
case "SIMULADO" /* SIMULADO */:
|
|
6170
6189
|
case "SIMULADAO" /* SIMULADAO */:
|
|
6171
6190
|
case void 0:
|
|
6172
|
-
return /* @__PURE__ */ (0,
|
|
6191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Badge_default, { variant: "examsOutlined", action: "exam3", "data-testid": "quiz-badge", children: "Simulad\xE3o" });
|
|
6173
6192
|
default:
|
|
6174
|
-
return /* @__PURE__ */ (0,
|
|
6193
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Badge_default, { variant: "solid", action: "info", "data-testid": "quiz-badge", children: subtype });
|
|
6175
6194
|
}
|
|
6176
6195
|
};
|
|
6177
|
-
var QuizResultHeaderTitle = (0,
|
|
6196
|
+
var QuizResultHeaderTitle = (0, import_react13.forwardRef)(({ className, ...props }, ref) => {
|
|
6178
6197
|
const { getActiveQuiz } = useQuizStore();
|
|
6179
6198
|
const activeQuiz = getActiveQuiz();
|
|
6180
|
-
return /* @__PURE__ */ (0,
|
|
6199
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
6181
6200
|
"div",
|
|
6182
6201
|
{
|
|
6183
6202
|
ref,
|
|
6184
6203
|
className: cn("flex flex-row pt-4 justify-between", className),
|
|
6185
6204
|
...props,
|
|
6186
6205
|
children: [
|
|
6187
|
-
/* @__PURE__ */ (0,
|
|
6188
|
-
/* @__PURE__ */ (0,
|
|
6206
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
|
|
6207
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(QuizBadge, { subtype: activeQuiz?.quiz.subtype || void 0 })
|
|
6189
6208
|
]
|
|
6190
6209
|
}
|
|
6191
6210
|
);
|
|
6192
6211
|
});
|
|
6193
|
-
var QuizResultTitle = (0,
|
|
6212
|
+
var QuizResultTitle = (0, import_react13.forwardRef)(({ className, ...props }, ref) => {
|
|
6194
6213
|
const { getQuizTitle } = useQuizStore();
|
|
6195
6214
|
const quizTitle = getQuizTitle();
|
|
6196
|
-
return /* @__PURE__ */ (0,
|
|
6215
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6197
6216
|
"p",
|
|
6198
6217
|
{
|
|
6199
6218
|
className: cn("pt-6 pb-4 text-text-950 font-bold text-lg", className),
|
|
@@ -6203,7 +6222,7 @@ var QuizResultTitle = (0, import_react12.forwardRef)(({ className, ...props }, r
|
|
|
6203
6222
|
}
|
|
6204
6223
|
);
|
|
6205
6224
|
});
|
|
6206
|
-
var QuizResultPerformance = (0,
|
|
6225
|
+
var QuizResultPerformance = (0, import_react13.forwardRef)(
|
|
6207
6226
|
({ ...props }, ref) => {
|
|
6208
6227
|
const {
|
|
6209
6228
|
getTotalQuestions,
|
|
@@ -6245,15 +6264,15 @@ var QuizResultPerformance = (0, import_react12.forwardRef)(
|
|
|
6245
6264
|
});
|
|
6246
6265
|
}
|
|
6247
6266
|
const percentage = totalQuestions > 0 ? Math.round(correctAnswers / totalQuestions * 100) : 0;
|
|
6248
|
-
return /* @__PURE__ */ (0,
|
|
6267
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
6249
6268
|
"div",
|
|
6250
6269
|
{
|
|
6251
6270
|
className: "flex flex-row gap-6 p-6 rounded-xl bg-background justify-between",
|
|
6252
6271
|
ref,
|
|
6253
6272
|
...props,
|
|
6254
6273
|
children: [
|
|
6255
|
-
/* @__PURE__ */ (0,
|
|
6256
|
-
/* @__PURE__ */ (0,
|
|
6274
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "relative", children: [
|
|
6275
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6257
6276
|
ProgressCircle_default,
|
|
6258
6277
|
{
|
|
6259
6278
|
size: "medium",
|
|
@@ -6263,24 +6282,24 @@ var QuizResultPerformance = (0, import_react12.forwardRef)(
|
|
|
6263
6282
|
label: ""
|
|
6264
6283
|
}
|
|
6265
6284
|
),
|
|
6266
|
-
/* @__PURE__ */ (0,
|
|
6267
|
-
/* @__PURE__ */ (0,
|
|
6268
|
-
/* @__PURE__ */ (0,
|
|
6269
|
-
/* @__PURE__ */ (0,
|
|
6285
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
|
|
6286
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1 mb-1", children: [
|
|
6287
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.Clock, { size: 12, weight: "regular", className: "text-text-800" }),
|
|
6288
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-2xs font-medium text-text-800", children: formatTime(
|
|
6270
6289
|
(getQuestionResultStatistics()?.timeSpent ?? 0) * 60
|
|
6271
6290
|
) })
|
|
6272
6291
|
] }),
|
|
6273
|
-
/* @__PURE__ */ (0,
|
|
6292
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "text-2xl font-medium text-text-800 leading-7", children: [
|
|
6274
6293
|
getQuestionResultStatistics()?.correctAnswers ?? "--",
|
|
6275
6294
|
" de",
|
|
6276
6295
|
" ",
|
|
6277
6296
|
totalQuestions
|
|
6278
6297
|
] }),
|
|
6279
|
-
/* @__PURE__ */ (0,
|
|
6298
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "text-2xs font-medium text-text-600 mt-1", children: "Corretas" })
|
|
6280
6299
|
] })
|
|
6281
6300
|
] }),
|
|
6282
|
-
/* @__PURE__ */ (0,
|
|
6283
|
-
/* @__PURE__ */ (0,
|
|
6301
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col gap-4 w-full", children: [
|
|
6302
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6284
6303
|
ProgressBar_default,
|
|
6285
6304
|
{
|
|
6286
6305
|
className: "w-full",
|
|
@@ -6294,7 +6313,7 @@ var QuizResultPerformance = (0, import_react12.forwardRef)(
|
|
|
6294
6313
|
percentageClassName: "text-xs font-medium leading-[14px] text-right"
|
|
6295
6314
|
}
|
|
6296
6315
|
),
|
|
6297
|
-
/* @__PURE__ */ (0,
|
|
6316
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6298
6317
|
ProgressBar_default,
|
|
6299
6318
|
{
|
|
6300
6319
|
className: "w-full",
|
|
@@ -6308,7 +6327,7 @@ var QuizResultPerformance = (0, import_react12.forwardRef)(
|
|
|
6308
6327
|
percentageClassName: "text-xs font-medium leading-[14px] text-right"
|
|
6309
6328
|
}
|
|
6310
6329
|
),
|
|
6311
|
-
/* @__PURE__ */ (0,
|
|
6330
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6312
6331
|
ProgressBar_default,
|
|
6313
6332
|
{
|
|
6314
6333
|
className: "w-full",
|
|
@@ -6328,7 +6347,7 @@ var QuizResultPerformance = (0, import_react12.forwardRef)(
|
|
|
6328
6347
|
);
|
|
6329
6348
|
}
|
|
6330
6349
|
);
|
|
6331
|
-
var QuizListResult = (0,
|
|
6350
|
+
var QuizListResult = (0, import_react13.forwardRef)(({ className, onSubjectClick, ...props }, ref) => {
|
|
6332
6351
|
const { getQuestionsGroupedBySubject } = useQuizStore();
|
|
6333
6352
|
const groupedQuestions = getQuestionsGroupedBySubject();
|
|
6334
6353
|
const subjectsStats = Object.entries(groupedQuestions).map(
|
|
@@ -6355,9 +6374,9 @@ var QuizListResult = (0, import_react12.forwardRef)(({ className, onSubjectClick
|
|
|
6355
6374
|
};
|
|
6356
6375
|
}
|
|
6357
6376
|
);
|
|
6358
|
-
return /* @__PURE__ */ (0,
|
|
6359
|
-
/* @__PURE__ */ (0,
|
|
6360
|
-
/* @__PURE__ */ (0,
|
|
6377
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("section", { ref, className, ...props, children: [
|
|
6378
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Mat\xE9rias" }),
|
|
6379
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("ul", { className: "flex flex-col gap-2", children: subjectsStats.map((subject) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6361
6380
|
CardResults,
|
|
6362
6381
|
{
|
|
6363
6382
|
onClick: () => onSubjectClick?.(subject.subject.id),
|
|
@@ -6379,16 +6398,16 @@ var QuizListResultByMateria = ({
|
|
|
6379
6398
|
const { getQuestionsGroupedBySubject, getQuestionIndex } = useQuizStore();
|
|
6380
6399
|
const groupedQuestions = getQuestionsGroupedBySubject();
|
|
6381
6400
|
const answeredQuestions = groupedQuestions[subject] || [];
|
|
6382
|
-
return /* @__PURE__ */ (0,
|
|
6383
|
-
/* @__PURE__ */ (0,
|
|
6384
|
-
/* @__PURE__ */ (0,
|
|
6385
|
-
/* @__PURE__ */ (0,
|
|
6386
|
-
/* @__PURE__ */ (0,
|
|
6401
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col", children: [
|
|
6402
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-row pt-4 justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-950 font-bold text-2xl", children: answeredQuestions?.[0]?.knowledgeMatrix?.[0]?.subject?.name ?? "Sem mat\xE9ria" }) }),
|
|
6403
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("section", { className: "flex flex-col ", children: [
|
|
6404
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Resultado das quest\xF5es" }),
|
|
6405
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("ul", { className: "flex flex-col gap-2 pt-4", children: answeredQuestions.map((question) => {
|
|
6387
6406
|
const questionIndex = getQuestionIndex(
|
|
6388
6407
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6389
6408
|
question.questionId ?? question.id
|
|
6390
6409
|
);
|
|
6391
|
-
return /* @__PURE__ */ (0,
|
|
6410
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
6392
6411
|
CardStatus,
|
|
6393
6412
|
{
|
|
6394
6413
|
className: "max-w-full",
|