analytica-frontend-lib 1.1.6 → 1.1.8

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.
Files changed (55) hide show
  1. package/dist/Auth/AuthProvider/index.js +12 -0
  2. package/dist/Auth/AuthProvider/index.js.map +1 -1
  3. package/dist/Auth/AuthProvider/index.mjs +12 -0
  4. package/dist/Auth/AuthProvider/index.mjs.map +1 -1
  5. package/dist/Auth/ProtectedRoute/index.js +12 -0
  6. package/dist/Auth/ProtectedRoute/index.js.map +1 -1
  7. package/dist/Auth/ProtectedRoute/index.mjs +12 -0
  8. package/dist/Auth/ProtectedRoute/index.mjs.map +1 -1
  9. package/dist/Auth/PublicRoute/index.js +12 -0
  10. package/dist/Auth/PublicRoute/index.js.map +1 -1
  11. package/dist/Auth/PublicRoute/index.mjs +12 -0
  12. package/dist/Auth/PublicRoute/index.mjs.map +1 -1
  13. package/dist/Auth/getRootDomain/index.js +12 -0
  14. package/dist/Auth/getRootDomain/index.js.map +1 -1
  15. package/dist/Auth/getRootDomain/index.mjs +12 -0
  16. package/dist/Auth/getRootDomain/index.mjs.map +1 -1
  17. package/dist/Auth/index.d.mts +15 -1
  18. package/dist/Auth/index.d.ts +15 -1
  19. package/dist/Auth/index.js +12 -0
  20. package/dist/Auth/index.js.map +1 -1
  21. package/dist/Auth/index.mjs +12 -0
  22. package/dist/Auth/index.mjs.map +1 -1
  23. package/dist/Auth/useAuth/index.js +12 -0
  24. package/dist/Auth/useAuth/index.js.map +1 -1
  25. package/dist/Auth/useAuth/index.mjs +12 -0
  26. package/dist/Auth/useAuth/index.mjs.map +1 -1
  27. package/dist/Auth/useAuthGuard/index.js +12 -0
  28. package/dist/Auth/useAuthGuard/index.js.map +1 -1
  29. package/dist/Auth/useAuthGuard/index.mjs +12 -0
  30. package/dist/Auth/useAuthGuard/index.mjs.map +1 -1
  31. package/dist/Auth/useRouteAuth/index.js +12 -0
  32. package/dist/Auth/useRouteAuth/index.js.map +1 -1
  33. package/dist/Auth/useRouteAuth/index.mjs +12 -0
  34. package/dist/Auth/useRouteAuth/index.mjs.map +1 -1
  35. package/dist/Auth/withAuth/index.js +12 -0
  36. package/dist/Auth/withAuth/index.js.map +1 -1
  37. package/dist/Auth/withAuth/index.mjs +12 -0
  38. package/dist/Auth/withAuth/index.mjs.map +1 -1
  39. package/dist/Whiteboard/index.d.mts +34 -0
  40. package/dist/Whiteboard/index.d.ts +34 -0
  41. package/dist/Whiteboard/index.js +151 -0
  42. package/dist/Whiteboard/index.js.map +1 -0
  43. package/dist/Whiteboard/index.mjs +130 -0
  44. package/dist/Whiteboard/index.mjs.map +1 -0
  45. package/dist/index.css +47 -0
  46. package/dist/index.css.map +1 -1
  47. package/dist/index.d.mts +1 -0
  48. package/dist/index.d.ts +1 -0
  49. package/dist/index.js +354 -222
  50. package/dist/index.js.map +1 -1
  51. package/dist/index.mjs +324 -193
  52. package/dist/index.mjs.map +1 -1
  53. package/dist/styles.css +47 -0
  54. package/dist/styles.css.map +1 -1
  55. package/package.json +3 -2
package/dist/index.mjs CHANGED
@@ -7205,17 +7205,135 @@ var VideoPlayer = ({
7205
7205
  };
7206
7206
  var VideoPlayer_default = VideoPlayer;
7207
7207
 
7208
+ // src/components/Whiteboard/Whiteboard.tsx
7209
+ import { useCallback as useCallback2, useState as useState14 } from "react";
7210
+ import { DownloadSimple } from "phosphor-react";
7211
+ import { Fragment as Fragment7, jsx as jsx37, jsxs as jsxs31 } from "react/jsx-runtime";
7212
+ var IMAGE_WIDTH = 225;
7213
+ var IMAGE_HEIGHT = 90;
7214
+ var Whiteboard = ({
7215
+ images,
7216
+ showDownload = true,
7217
+ className,
7218
+ onDownload,
7219
+ imagesPerRow = 2,
7220
+ ...rest
7221
+ }) => {
7222
+ const [imageErrors, setImageErrors] = useState14(/* @__PURE__ */ new Set());
7223
+ const handleDownload = useCallback2(
7224
+ (image) => {
7225
+ if (onDownload) {
7226
+ onDownload(image);
7227
+ } else {
7228
+ const link = document.createElement("a");
7229
+ link.href = image.imageUrl;
7230
+ link.download = image.title || `whiteboard-${image.id}`;
7231
+ link.target = "_blank";
7232
+ link.rel = "noopener noreferrer";
7233
+ document.body.appendChild(link);
7234
+ link.click();
7235
+ document.body.removeChild(link);
7236
+ }
7237
+ },
7238
+ [onDownload]
7239
+ );
7240
+ const handleImageError = useCallback2((imageId) => {
7241
+ setImageErrors((prev) => new Set(prev).add(imageId));
7242
+ }, []);
7243
+ const gridColsClass = images?.length === 1 ? "grid-cols-1" : {
7244
+ 2: "grid-cols-1 sm:grid-cols-2",
7245
+ 3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
7246
+ 4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
7247
+ }[imagesPerRow];
7248
+ if (!images || images.length === 0) {
7249
+ return /* @__PURE__ */ jsx37(
7250
+ "div",
7251
+ {
7252
+ className: cn(
7253
+ "flex items-center justify-center p-8 bg-white border border-gray-100 rounded-xl",
7254
+ className
7255
+ ),
7256
+ ...rest,
7257
+ children: /* @__PURE__ */ jsx37("p", { className: "text-gray-400 text-sm", children: "Nenhuma imagem dispon\xEDvel" })
7258
+ }
7259
+ );
7260
+ }
7261
+ return /* @__PURE__ */ jsx37(
7262
+ "div",
7263
+ {
7264
+ className: cn(
7265
+ "flex flex-col bg-white border border-gray-100 p-4 gap-2 rounded-xl w-fit mx-auto",
7266
+ className
7267
+ ),
7268
+ ...rest,
7269
+ children: /* @__PURE__ */ jsx37("div", { className: cn("grid gap-4", gridColsClass), children: images.map((image) => /* @__PURE__ */ jsxs31(
7270
+ "div",
7271
+ {
7272
+ className: "relative group overflow-hidden bg-gray-100 rounded-lg",
7273
+ style: {
7274
+ width: `${IMAGE_WIDTH}px`
7275
+ },
7276
+ children: [
7277
+ /* @__PURE__ */ jsx37(
7278
+ "div",
7279
+ {
7280
+ className: "relative",
7281
+ style: {
7282
+ width: `${IMAGE_WIDTH}px`,
7283
+ height: `${IMAGE_HEIGHT}px`
7284
+ },
7285
+ children: imageErrors.has(image.id) ? /* @__PURE__ */ jsx37("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200", children: /* @__PURE__ */ jsx37("p", { className: "text-gray-500 text-sm text-center px-2", children: "Imagem indispon\xEDvel" }) }) : /* @__PURE__ */ jsxs31(Fragment7, { children: [
7286
+ /* @__PURE__ */ jsx37(
7287
+ "img",
7288
+ {
7289
+ src: image.imageUrl,
7290
+ alt: image.title || `Whiteboard ${image.id}`,
7291
+ className: "absolute inset-0 w-full h-full object-cover",
7292
+ loading: "lazy",
7293
+ onError: () => handleImageError(image.id)
7294
+ }
7295
+ ),
7296
+ /* @__PURE__ */ jsx37("div", { className: "absolute inset-0 bg-gradient-to-t from-black/20 to-transparent" })
7297
+ ] })
7298
+ }
7299
+ ),
7300
+ showDownload && /* @__PURE__ */ jsx37(
7301
+ "button",
7302
+ {
7303
+ type: "button",
7304
+ onClick: () => handleDownload(image),
7305
+ className: "absolute bottom-3 right-3 flex items-center justify-center bg-black/20 backdrop-blur-sm rounded hover:bg-black/30 transition-colors duration-200 group/button w-6 h-6",
7306
+ "aria-label": `Download ${image.title || "imagem"}`,
7307
+ children: /* @__PURE__ */ jsx37(
7308
+ DownloadSimple,
7309
+ {
7310
+ size: 24,
7311
+ weight: "regular",
7312
+ className: "text-white group-hover/button:scale-110 transition-transform duration-200"
7313
+ }
7314
+ )
7315
+ }
7316
+ )
7317
+ ]
7318
+ },
7319
+ image.id
7320
+ )) })
7321
+ }
7322
+ );
7323
+ };
7324
+ var Whiteboard_default = Whiteboard;
7325
+
7208
7326
  // src/components/Auth/Auth.tsx
7209
7327
  import {
7210
7328
  createContext,
7211
7329
  useContext,
7212
7330
  useEffect as useEffect12,
7213
- useState as useState14,
7214
- useCallback as useCallback2,
7331
+ useState as useState15,
7332
+ useCallback as useCallback3,
7215
7333
  useMemo as useMemo4
7216
7334
  } from "react";
7217
7335
  import { useLocation, Navigate } from "react-router-dom";
7218
- import { Fragment as Fragment7, jsx as jsx37 } from "react/jsx-runtime";
7336
+ import { Fragment as Fragment8, jsx as jsx38 } from "react/jsx-runtime";
7219
7337
  var AuthContext = createContext(void 0);
7220
7338
  var AuthProvider = ({
7221
7339
  children,
@@ -7226,12 +7344,12 @@ var AuthProvider = ({
7226
7344
  getSessionFn,
7227
7345
  getTokensFn
7228
7346
  }) => {
7229
- const [authState, setAuthState] = useState14({
7347
+ const [authState, setAuthState] = useState15({
7230
7348
  isAuthenticated: false,
7231
7349
  isLoading: true,
7232
7350
  ...initialAuthState
7233
7351
  });
7234
- const checkAuth = useCallback2(async () => {
7352
+ const checkAuth = useCallback3(async () => {
7235
7353
  try {
7236
7354
  setAuthState((prev) => ({ ...prev, isLoading: true }));
7237
7355
  if (!checkAuthFn) {
@@ -7262,7 +7380,7 @@ var AuthProvider = ({
7262
7380
  return false;
7263
7381
  }
7264
7382
  }, [checkAuthFn, getUserFn, getSessionFn, getTokensFn]);
7265
- const signOut = useCallback2(() => {
7383
+ const signOut = useCallback3(() => {
7266
7384
  if (signOutFn) {
7267
7385
  signOutFn();
7268
7386
  }
@@ -7285,7 +7403,7 @@ var AuthProvider = ({
7285
7403
  }),
7286
7404
  [authState, checkAuth, signOut]
7287
7405
  );
7288
- return /* @__PURE__ */ jsx37(AuthContext.Provider, { value: contextValue, children });
7406
+ return /* @__PURE__ */ jsx38(AuthContext.Provider, { value: contextValue, children });
7289
7407
  };
7290
7408
  var useAuth = () => {
7291
7409
  const context = useContext(AuthContext);
@@ -7301,9 +7419,9 @@ var ProtectedRoute = ({
7301
7419
  additionalCheck
7302
7420
  }) => {
7303
7421
  const { isAuthenticated, isLoading, ...authState } = useAuth();
7304
- const defaultLoadingComponent = /* @__PURE__ */ jsx37("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx37("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
7422
+ const defaultLoadingComponent = /* @__PURE__ */ jsx38("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx38("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
7305
7423
  if (isLoading) {
7306
- return /* @__PURE__ */ jsx37(Fragment7, { children: loadingComponent || defaultLoadingComponent });
7424
+ return /* @__PURE__ */ jsx38(Fragment8, { children: loadingComponent || defaultLoadingComponent });
7307
7425
  }
7308
7426
  if (!isAuthenticated) {
7309
7427
  if (typeof window !== "undefined") {
@@ -7314,12 +7432,12 @@ var ProtectedRoute = ({
7314
7432
  return null;
7315
7433
  }
7316
7434
  }
7317
- return /* @__PURE__ */ jsx37(Navigate, { to: redirectTo, replace: true });
7435
+ return /* @__PURE__ */ jsx38(Navigate, { to: redirectTo, replace: true });
7318
7436
  }
7319
7437
  if (additionalCheck && !additionalCheck({ isAuthenticated, isLoading, ...authState })) {
7320
- return /* @__PURE__ */ jsx37(Navigate, { to: redirectTo, replace: true });
7438
+ return /* @__PURE__ */ jsx38(Navigate, { to: redirectTo, replace: true });
7321
7439
  }
7322
- return /* @__PURE__ */ jsx37(Fragment7, { children });
7440
+ return /* @__PURE__ */ jsx38(Fragment8, { children });
7323
7441
  };
7324
7442
  var PublicRoute = ({
7325
7443
  children,
@@ -7329,15 +7447,15 @@ var PublicRoute = ({
7329
7447
  }) => {
7330
7448
  const { isAuthenticated, isLoading } = useAuth();
7331
7449
  if (checkAuthBeforeRender && isLoading) {
7332
- return /* @__PURE__ */ jsx37("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx37("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
7450
+ return /* @__PURE__ */ jsx38("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx38("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
7333
7451
  }
7334
7452
  if (isAuthenticated && redirectIfAuthenticated) {
7335
- return /* @__PURE__ */ jsx37(Navigate, { to: redirectTo, replace: true });
7453
+ return /* @__PURE__ */ jsx38(Navigate, { to: redirectTo, replace: true });
7336
7454
  }
7337
- return /* @__PURE__ */ jsx37(Fragment7, { children });
7455
+ return /* @__PURE__ */ jsx38(Fragment8, { children });
7338
7456
  };
7339
7457
  var withAuth = (Component, options = {}) => {
7340
- return (props) => /* @__PURE__ */ jsx37(ProtectedRoute, { ...options, children: /* @__PURE__ */ jsx37(Component, { ...props }) });
7458
+ return (props) => /* @__PURE__ */ jsx38(ProtectedRoute, { ...options, children: /* @__PURE__ */ jsx38(Component, { ...props }) });
7341
7459
  };
7342
7460
  var useAuthGuard = (options = {}) => {
7343
7461
  const authState = useAuth();
@@ -7352,7 +7470,7 @@ var useAuthGuard = (options = {}) => {
7352
7470
  var useRouteAuth = (fallbackPath = "/") => {
7353
7471
  const { isAuthenticated, isLoading } = useAuth();
7354
7472
  const location = useLocation();
7355
- const redirectToLogin = () => /* @__PURE__ */ jsx37(Navigate, { to: fallbackPath, state: { from: location }, replace: true });
7473
+ const redirectToLogin = () => /* @__PURE__ */ jsx38(Navigate, { to: fallbackPath, state: { from: location }, replace: true });
7356
7474
  return {
7357
7475
  isAuthenticated,
7358
7476
  isLoading,
@@ -7365,7 +7483,19 @@ var getRootDomain = () => {
7365
7483
  if (hostname === "localhost") {
7366
7484
  return `${protocol}//${hostname}${portStr}`;
7367
7485
  }
7486
+ const isIPv4 = /^\d{1,3}(?:\.\d{1,3}){3}$/.test(hostname);
7487
+ const isIPv6 = hostname.includes(":");
7488
+ if (isIPv4 || isIPv6) {
7489
+ return `${protocol}//${hostname}${portStr}`;
7490
+ }
7368
7491
  const parts = hostname.split(".");
7492
+ if (parts.length >= 3 && parts[parts.length - 2] === "com" && parts[parts.length - 1] === "br") {
7493
+ if (parts.length === 3) {
7494
+ return `${protocol}//${hostname}${portStr}`;
7495
+ }
7496
+ const base = parts.slice(-3).join(".");
7497
+ return `${protocol}//${base}${portStr}`;
7498
+ }
7369
7499
  if (parts.length > 2) {
7370
7500
  const base = parts.slice(-2).join(".");
7371
7501
  return `${protocol}//${base}${portStr}`;
@@ -7529,8 +7659,8 @@ import {
7529
7659
  useEffect as useEffect14,
7530
7660
  useMemo as useMemo6,
7531
7661
  useId as useId10,
7532
- useState as useState15,
7533
- useCallback as useCallback3,
7662
+ useState as useState16,
7663
+ useCallback as useCallback4,
7534
7664
  useRef as useRef10
7535
7665
  } from "react";
7536
7666
 
@@ -8032,13 +8162,13 @@ var simulated_result_default = "./simulated-result-QN5HCUY5.png";
8032
8162
  var mock_image_question_default = "./mock-image-question-HEZCLFDL.png";
8033
8163
 
8034
8164
  // src/components/Quiz/Quiz.tsx
8035
- import { Fragment as Fragment8, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
8165
+ import { Fragment as Fragment9, jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime";
8036
8166
  var getStatusBadge = (status) => {
8037
8167
  switch (status) {
8038
8168
  case "correct":
8039
- return /* @__PURE__ */ jsx38(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx38(CheckCircle6, {}), children: "Resposta correta" });
8169
+ return /* @__PURE__ */ jsx39(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx39(CheckCircle6, {}), children: "Resposta correta" });
8040
8170
  case "incorrect":
8041
- return /* @__PURE__ */ jsx38(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx38(XCircle5, {}), children: "Resposta incorreta" });
8171
+ return /* @__PURE__ */ jsx39(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx39(XCircle5, {}), children: "Resposta incorreta" });
8042
8172
  default:
8043
8173
  return null;
8044
8174
  }
@@ -8056,7 +8186,7 @@ var Quiz = forwardRef19(({ children, className, variant = "default", ...props },
8056
8186
  useEffect14(() => {
8057
8187
  setVariant(variant);
8058
8188
  }, [variant, setVariant]);
8059
- return /* @__PURE__ */ jsx38(
8189
+ return /* @__PURE__ */ jsx39(
8060
8190
  "div",
8061
8191
  {
8062
8192
  ref,
@@ -8073,7 +8203,7 @@ var QuizHeaderResult = forwardRef19(
8073
8203
  ({ className, ...props }, ref) => {
8074
8204
  const { getAllCurrentAnswer } = useQuizStore();
8075
8205
  const usersAnswer = getAllCurrentAnswer();
8076
- const [isCorrect, setIsCorrect] = useState15(false);
8206
+ const [isCorrect, setIsCorrect] = useState16(false);
8077
8207
  useEffect14(() => {
8078
8208
  if (usersAnswer) {
8079
8209
  setIsCorrect(
@@ -8083,7 +8213,7 @@ var QuizHeaderResult = forwardRef19(
8083
8213
  );
8084
8214
  }
8085
8215
  }, [usersAnswer]);
8086
- return /* @__PURE__ */ jsxs31(
8216
+ return /* @__PURE__ */ jsxs32(
8087
8217
  "div",
8088
8218
  {
8089
8219
  ref,
@@ -8094,8 +8224,8 @@ var QuizHeaderResult = forwardRef19(
8094
8224
  ),
8095
8225
  ...props,
8096
8226
  children: [
8097
- /* @__PURE__ */ jsx38("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
8098
- /* @__PURE__ */ jsx38("p", { className: "text-text-700 text-md", children: isCorrect ? "\u{1F389} Parab\xE9ns!!" : "N\xE3o foi dessa vez..." })
8227
+ /* @__PURE__ */ jsx39("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
8228
+ /* @__PURE__ */ jsx39("p", { className: "text-text-700 text-md", children: isCorrect ? "\u{1F389} Parab\xE9ns!!" : "N\xE3o foi dessa vez..." })
8099
8229
  ]
8100
8230
  }
8101
8231
  );
@@ -8113,7 +8243,7 @@ var QuizTitle = forwardRef19(
8113
8243
  } = useQuizStore();
8114
8244
  const totalQuestions = getTotalQuestions();
8115
8245
  const quizTitle = getQuizTitle();
8116
- return /* @__PURE__ */ jsxs31(
8246
+ return /* @__PURE__ */ jsxs32(
8117
8247
  "div",
8118
8248
  {
8119
8249
  ref,
@@ -8123,11 +8253,11 @@ var QuizTitle = forwardRef19(
8123
8253
  ),
8124
8254
  ...props,
8125
8255
  children: [
8126
- /* @__PURE__ */ jsxs31("span", { className: "flex flex-col gap-2 text-center", children: [
8127
- /* @__PURE__ */ jsx38("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
8128
- /* @__PURE__ */ jsx38("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
8256
+ /* @__PURE__ */ jsxs32("span", { className: "flex flex-col gap-2 text-center", children: [
8257
+ /* @__PURE__ */ jsx39("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
8258
+ /* @__PURE__ */ jsx39("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
8129
8259
  ] }),
8130
- /* @__PURE__ */ jsx38("span", { className: "absolute right-2", children: /* @__PURE__ */ jsx38(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ jsx38(Clock2, {}), children: isStarted ? formatTime2(timeElapsed) : "00:00" }) })
8260
+ /* @__PURE__ */ jsx39("span", { className: "absolute right-2", children: /* @__PURE__ */ jsx39(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ jsx39(Clock2, {}), children: isStarted ? formatTime2(timeElapsed) : "00:00" }) })
8131
8261
  ]
8132
8262
  }
8133
8263
  );
@@ -8135,13 +8265,13 @@ var QuizTitle = forwardRef19(
8135
8265
  );
8136
8266
  var QuizSubTitle = forwardRef19(
8137
8267
  ({ subTitle, ...props }, ref) => {
8138
- return /* @__PURE__ */ jsx38("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ jsx38("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
8268
+ return /* @__PURE__ */ jsx39("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ jsx39("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
8139
8269
  }
8140
8270
  );
8141
8271
  var QuizHeader = () => {
8142
8272
  const { getCurrentQuestion, currentQuestionIndex } = useQuizStore();
8143
8273
  const currentQuestion = getCurrentQuestion();
8144
- return /* @__PURE__ */ jsx38(
8274
+ return /* @__PURE__ */ jsx39(
8145
8275
  HeaderAlternative,
8146
8276
  {
8147
8277
  title: currentQuestion ? `Quest\xE3o ${currentQuestionIndex + 1}` : "Quest\xE3o",
@@ -8151,7 +8281,7 @@ var QuizHeader = () => {
8151
8281
  );
8152
8282
  };
8153
8283
  var QuizContainer = forwardRef19(({ children, className, ...props }, ref) => {
8154
- return /* @__PURE__ */ jsx38(
8284
+ return /* @__PURE__ */ jsx39(
8155
8285
  "div",
8156
8286
  {
8157
8287
  ref,
@@ -8177,7 +8307,7 @@ var QuizContent = forwardRef19(({ paddingBottom }) => {
8177
8307
  ["IMAGEM" /* IMAGEM */]: QuizImageQuestion
8178
8308
  };
8179
8309
  const QuestionComponent = currentQuestion ? questionComponents[currentQuestion.type] : null;
8180
- return QuestionComponent ? /* @__PURE__ */ jsx38(QuestionComponent, { variant, paddingBottom }) : null;
8310
+ return QuestionComponent ? /* @__PURE__ */ jsx39(QuestionComponent, { variant, paddingBottom }) : null;
8181
8311
  });
8182
8312
  var QuizAlternative = ({
8183
8313
  variant = "default",
@@ -8205,10 +8335,10 @@ var QuizAlternative = ({
8205
8335
  };
8206
8336
  });
8207
8337
  if (!alternatives)
8208
- return /* @__PURE__ */ jsx38("div", { children: /* @__PURE__ */ jsx38("p", { children: "N\xE3o h\xE1 Alternativas" }) });
8209
- return /* @__PURE__ */ jsxs31(Fragment8, { children: [
8210
- /* @__PURE__ */ jsx38(QuizSubTitle, { subTitle: "Alternativas" }),
8211
- /* @__PURE__ */ jsx38(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx38("div", { className: "space-y-4", children: /* @__PURE__ */ jsx38(
8338
+ return /* @__PURE__ */ jsx39("div", { children: /* @__PURE__ */ jsx39("p", { children: "N\xE3o h\xE1 Alternativas" }) });
8339
+ return /* @__PURE__ */ jsxs32(Fragment9, { children: [
8340
+ /* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Alternativas" }),
8341
+ /* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx39("div", { className: "space-y-4", children: /* @__PURE__ */ jsx39(
8212
8342
  AlternativesList,
8213
8343
  {
8214
8344
  mode: variant === "default" ? "interactive" : "readonly",
@@ -8257,7 +8387,7 @@ var QuizMultipleChoice = ({
8257
8387
  }
8258
8388
  return prevSelectedValuesRef.current;
8259
8389
  }, [selectedValues, currentQuestion?.id]);
8260
- const handleSelectedValues = useCallback3(
8390
+ const handleSelectedValues = useCallback4(
8261
8391
  (values) => {
8262
8392
  if (currentQuestion) {
8263
8393
  selectMultipleAnswer(currentQuestion.id, values);
@@ -8286,10 +8416,10 @@ var QuizMultipleChoice = ({
8286
8416
  };
8287
8417
  });
8288
8418
  if (!choices)
8289
- return /* @__PURE__ */ jsx38("div", { children: /* @__PURE__ */ jsx38("p", { children: "N\xE3o h\xE1 Escolhas Multiplas" }) });
8290
- return /* @__PURE__ */ jsxs31(Fragment8, { children: [
8291
- /* @__PURE__ */ jsx38(QuizSubTitle, { subTitle: "Alternativas" }),
8292
- /* @__PURE__ */ jsx38(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx38("div", { className: "space-y-4", children: /* @__PURE__ */ jsx38(
8419
+ return /* @__PURE__ */ jsx39("div", { children: /* @__PURE__ */ jsx39("p", { children: "N\xE3o h\xE1 Escolhas Multiplas" }) });
8420
+ return /* @__PURE__ */ jsxs32(Fragment9, { children: [
8421
+ /* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Alternativas" }),
8422
+ /* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx39("div", { className: "space-y-4", children: /* @__PURE__ */ jsx39(
8293
8423
  MultipleChoiceList,
8294
8424
  {
8295
8425
  choices,
@@ -8315,7 +8445,7 @@ var QuizDissertative = ({
8315
8445
  selectDissertativeAnswer(currentQuestion.id, value);
8316
8446
  }
8317
8447
  };
8318
- const adjustTextareaHeight = useCallback3(() => {
8448
+ const adjustTextareaHeight = useCallback4(() => {
8319
8449
  if (textareaRef.current) {
8320
8450
  textareaRef.current.style.height = "auto";
8321
8451
  const scrollHeight = textareaRef.current.scrollHeight;
@@ -8329,11 +8459,11 @@ var QuizDissertative = ({
8329
8459
  adjustTextareaHeight();
8330
8460
  }, [currentAnswer, adjustTextareaHeight]);
8331
8461
  if (!currentQuestion) {
8332
- return /* @__PURE__ */ jsx38("div", { className: "space-y-4", children: /* @__PURE__ */ jsx38("p", { className: "text-text-600 text-md", children: "Nenhuma quest\xE3o dispon\xEDvel" }) });
8462
+ return /* @__PURE__ */ jsx39("div", { className: "space-y-4", children: /* @__PURE__ */ jsx39("p", { className: "text-text-600 text-md", children: "Nenhuma quest\xE3o dispon\xEDvel" }) });
8333
8463
  }
8334
- return /* @__PURE__ */ jsxs31(Fragment8, { children: [
8335
- /* @__PURE__ */ jsx38(QuizSubTitle, { subTitle: "Resposta" }),
8336
- /* @__PURE__ */ jsx38(QuizContainer, { className: cn(variant != "result" && paddingBottom), children: /* @__PURE__ */ jsx38("div", { className: "space-y-4 max-h-[600px] overflow-y-auto", children: variant === "default" ? /* @__PURE__ */ jsx38("div", { className: "space-y-4", children: /* @__PURE__ */ jsx38(
8464
+ return /* @__PURE__ */ jsxs32(Fragment9, { children: [
8465
+ /* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Resposta" }),
8466
+ /* @__PURE__ */ jsx39(QuizContainer, { className: cn(variant != "result" && paddingBottom), children: /* @__PURE__ */ jsx39("div", { className: "space-y-4 max-h-[600px] overflow-y-auto", children: variant === "default" ? /* @__PURE__ */ jsx39("div", { className: "space-y-4", children: /* @__PURE__ */ jsx39(
8337
8467
  TextArea_default,
8338
8468
  {
8339
8469
  ref: textareaRef,
@@ -8343,10 +8473,10 @@ var QuizDissertative = ({
8343
8473
  rows: 4,
8344
8474
  className: "min-h-[120px] max-h-[400px] resize-none overflow-y-auto"
8345
8475
  }
8346
- ) }) : /* @__PURE__ */ jsx38("div", { className: "space-y-4", children: /* @__PURE__ */ jsx38("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: currentAnswer?.answer || "Nenhuma resposta fornecida" }) }) }) }),
8347
- variant === "result" && currentAnswer?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ jsxs31(Fragment8, { children: [
8348
- /* @__PURE__ */ jsx38(QuizSubTitle, { subTitle: "Observa\xE7\xE3o do professor" }),
8349
- /* @__PURE__ */ jsx38(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx38("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." }) })
8476
+ ) }) : /* @__PURE__ */ jsx39("div", { className: "space-y-4", children: /* @__PURE__ */ jsx39("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: currentAnswer?.answer || "Nenhuma resposta fornecida" }) }) }) }),
8477
+ variant === "result" && currentAnswer?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ jsxs32(Fragment9, { children: [
8478
+ /* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Observa\xE7\xE3o do professor" }),
8479
+ /* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx39("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." }) })
8350
8480
  ] })
8351
8481
  ] });
8352
8482
  };
@@ -8374,16 +8504,16 @@ var QuizTrueOrFalse = ({
8374
8504
  ];
8375
8505
  const getLetterByIndex = (index) => String.fromCharCode(97 + index);
8376
8506
  const isDefaultVariant = variant == "default";
8377
- return /* @__PURE__ */ jsxs31(Fragment8, { children: [
8378
- /* @__PURE__ */ jsx38(QuizSubTitle, { subTitle: "Alternativas" }),
8379
- /* @__PURE__ */ jsx38(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx38("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
8507
+ return /* @__PURE__ */ jsxs32(Fragment9, { children: [
8508
+ /* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Alternativas" }),
8509
+ /* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx39("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
8380
8510
  const variantCorrect = option.isCorrect ? "correct" : "incorrect";
8381
- return /* @__PURE__ */ jsxs31(
8511
+ return /* @__PURE__ */ jsxs32(
8382
8512
  "section",
8383
8513
  {
8384
8514
  className: "flex flex-col gap-2",
8385
8515
  children: [
8386
- /* @__PURE__ */ jsxs31(
8516
+ /* @__PURE__ */ jsxs32(
8387
8517
  "div",
8388
8518
  {
8389
8519
  className: cn(
@@ -8391,20 +8521,20 @@ var QuizTrueOrFalse = ({
8391
8521
  !isDefaultVariant ? getStatusStyles(variantCorrect) : ""
8392
8522
  ),
8393
8523
  children: [
8394
- /* @__PURE__ */ jsx38("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index).concat(") ").concat(option.label) }),
8395
- isDefaultVariant ? /* @__PURE__ */ jsxs31(Select_default, { size: "medium", children: [
8396
- /* @__PURE__ */ jsx38(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx38(SelectValue, { placeholder: "Selecione opc\xE3o" }) }),
8397
- /* @__PURE__ */ jsxs31(SelectContent, { children: [
8398
- /* @__PURE__ */ jsx38(SelectItem, { value: "V", children: "Verdadeiro" }),
8399
- /* @__PURE__ */ jsx38(SelectItem, { value: "F", children: "Falso" })
8524
+ /* @__PURE__ */ jsx39("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index).concat(") ").concat(option.label) }),
8525
+ isDefaultVariant ? /* @__PURE__ */ jsxs32(Select_default, { size: "medium", children: [
8526
+ /* @__PURE__ */ jsx39(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx39(SelectValue, { placeholder: "Selecione opc\xE3o" }) }),
8527
+ /* @__PURE__ */ jsxs32(SelectContent, { children: [
8528
+ /* @__PURE__ */ jsx39(SelectItem, { value: "V", children: "Verdadeiro" }),
8529
+ /* @__PURE__ */ jsx39(SelectItem, { value: "F", children: "Falso" })
8400
8530
  ] })
8401
- ] }) : /* @__PURE__ */ jsx38("div", { className: "flex-shrink-0", children: getStatusBadge(variantCorrect) })
8531
+ ] }) : /* @__PURE__ */ jsx39("div", { className: "flex-shrink-0", children: getStatusBadge(variantCorrect) })
8402
8532
  ]
8403
8533
  }
8404
8534
  ),
8405
- !isDefaultVariant && /* @__PURE__ */ jsxs31("span", { className: "flex flex-row gap-2 items-center", children: [
8406
- /* @__PURE__ */ jsx38("p", { className: "text-text-800 text-2xs", children: "Resposta selecionada: V" }),
8407
- !option.isCorrect && /* @__PURE__ */ jsx38("p", { className: "text-text-800 text-2xs", children: "Resposta correta: F" })
8535
+ !isDefaultVariant && /* @__PURE__ */ jsxs32("span", { className: "flex flex-row gap-2 items-center", children: [
8536
+ /* @__PURE__ */ jsx39("p", { className: "text-text-800 text-2xs", children: "Resposta selecionada: V" }),
8537
+ !option.isCorrect && /* @__PURE__ */ jsx39("p", { className: "text-text-800 text-2xs", children: "Resposta correta: F" })
8408
8538
  ] })
8409
8539
  ]
8410
8540
  },
@@ -8467,7 +8597,7 @@ var QuizConnectDots = ({
8467
8597
  isCorrect: false
8468
8598
  }
8469
8599
  ];
8470
- const [userAnswers, setUserAnswers] = useState15(() => {
8600
+ const [userAnswers, setUserAnswers] = useState16(() => {
8471
8601
  if (variant === "result") {
8472
8602
  return mockUserAnswers;
8473
8603
  }
@@ -8496,13 +8626,13 @@ var QuizConnectDots = ({
8496
8626
  const assignedDots = new Set(
8497
8627
  userAnswers.map((a) => a.dotOption).filter(Boolean)
8498
8628
  );
8499
- return /* @__PURE__ */ jsxs31(Fragment8, { children: [
8500
- /* @__PURE__ */ jsx38(QuizSubTitle, { subTitle: "Alternativas" }),
8501
- /* @__PURE__ */ jsx38(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx38("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
8629
+ return /* @__PURE__ */ jsxs32(Fragment9, { children: [
8630
+ /* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Alternativas" }),
8631
+ /* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx39("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
8502
8632
  const answer = userAnswers[index];
8503
8633
  const variantCorrect = answer.isCorrect ? "correct" : "incorrect";
8504
- return /* @__PURE__ */ jsxs31("section", { className: "flex flex-col gap-2", children: [
8505
- /* @__PURE__ */ jsxs31(
8634
+ return /* @__PURE__ */ jsxs32("section", { className: "flex flex-col gap-2", children: [
8635
+ /* @__PURE__ */ jsxs32(
8506
8636
  "div",
8507
8637
  {
8508
8638
  className: cn(
@@ -8510,30 +8640,30 @@ var QuizConnectDots = ({
8510
8640
  !isDefaultVariant ? getStatusStyles(variantCorrect) : ""
8511
8641
  ),
8512
8642
  children: [
8513
- /* @__PURE__ */ jsx38("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index) + ") " + option.label }),
8514
- isDefaultVariant ? /* @__PURE__ */ jsxs31(
8643
+ /* @__PURE__ */ jsx39("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index) + ") " + option.label }),
8644
+ isDefaultVariant ? /* @__PURE__ */ jsxs32(
8515
8645
  Select_default,
8516
8646
  {
8517
8647
  size: "medium",
8518
8648
  value: answer.dotOption || void 0,
8519
8649
  onValueChange: (value) => handleSelectDot(index, value),
8520
8650
  children: [
8521
- /* @__PURE__ */ jsx38(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx38(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
8522
- /* @__PURE__ */ jsx38(SelectContent, { children: dotsOptions.filter(
8651
+ /* @__PURE__ */ jsx39(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx39(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
8652
+ /* @__PURE__ */ jsx39(SelectContent, { children: dotsOptions.filter(
8523
8653
  (dot) => !assignedDots.has(dot.label) || answer.dotOption === dot.label
8524
- ).map((dot) => /* @__PURE__ */ jsx38(SelectItem, { value: dot.label, children: dot.label }, dot.label)) })
8654
+ ).map((dot) => /* @__PURE__ */ jsx39(SelectItem, { value: dot.label, children: dot.label }, dot.label)) })
8525
8655
  ]
8526
8656
  }
8527
- ) : /* @__PURE__ */ jsx38("div", { className: "flex-shrink-0", children: answer.isCorrect === null ? null : getStatusBadge(variantCorrect) })
8657
+ ) : /* @__PURE__ */ jsx39("div", { className: "flex-shrink-0", children: answer.isCorrect === null ? null : getStatusBadge(variantCorrect) })
8528
8658
  ]
8529
8659
  }
8530
8660
  ),
8531
- !isDefaultVariant && /* @__PURE__ */ jsxs31("span", { className: "flex flex-row gap-2 items-center", children: [
8532
- /* @__PURE__ */ jsxs31("p", { className: "text-text-800 text-2xs", children: [
8661
+ !isDefaultVariant && /* @__PURE__ */ jsxs32("span", { className: "flex flex-row gap-2 items-center", children: [
8662
+ /* @__PURE__ */ jsxs32("p", { className: "text-text-800 text-2xs", children: [
8533
8663
  "Resposta selecionada: ",
8534
8664
  answer.dotOption || "Nenhuma"
8535
8665
  ] }),
8536
- !answer.isCorrect && /* @__PURE__ */ jsxs31("p", { className: "text-text-800 text-2xs", children: [
8666
+ !answer.isCorrect && /* @__PURE__ */ jsxs32("p", { className: "text-text-800 text-2xs", children: [
8537
8667
  "Resposta correta: ",
8538
8668
  answer.correctOption
8539
8669
  ] })
@@ -8588,7 +8718,7 @@ var QuizFill = ({
8588
8718
  isCorrect: true
8589
8719
  }
8590
8720
  ];
8591
- const [answers, setAnswers] = useState15({});
8721
+ const [answers, setAnswers] = useState16({});
8592
8722
  const baseId = useId10();
8593
8723
  const getAvailableOptionsForSelect = (selectId) => {
8594
8724
  const usedOptions = Object.entries(answers).filter(([key]) => key !== selectId).map(([, value]) => value);
@@ -8602,18 +8732,18 @@ var QuizFill = ({
8602
8732
  const mockAnswer = mockUserAnswers.find(
8603
8733
  (answer) => answer.selectId === selectId
8604
8734
  );
8605
- return /* @__PURE__ */ jsx38("p", { className: "inline-flex mb-2.5 text-success-600 font-semibold text-md border-b-2 border-success-600", children: mockAnswer?.correctAnswer });
8735
+ return /* @__PURE__ */ jsx39("p", { className: "inline-flex mb-2.5 text-success-600 font-semibold text-md border-b-2 border-success-600", children: mockAnswer?.correctAnswer });
8606
8736
  };
8607
8737
  const renderDefaultElement = (selectId, startIndex, selectedValue, availableOptionsForThisSelect) => {
8608
- return /* @__PURE__ */ jsxs31(
8738
+ return /* @__PURE__ */ jsxs32(
8609
8739
  Select_default,
8610
8740
  {
8611
8741
  value: selectedValue,
8612
8742
  onValueChange: (value) => handleSelectChange(selectId, value),
8613
8743
  className: "inline-flex mb-2.5",
8614
8744
  children: [
8615
- /* @__PURE__ */ jsx38(SelectTrigger, { className: "inline-flex w-auto min-w-[140px] h-8 mx-1 bg-white border-gray-300", children: /* @__PURE__ */ jsx38(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
8616
- /* @__PURE__ */ jsx38(SelectContent, { children: availableOptionsForThisSelect.map((option, index) => /* @__PURE__ */ jsx38(SelectItem, { value: option, children: option }, `${option}-${index}`)) })
8745
+ /* @__PURE__ */ jsx39(SelectTrigger, { className: "inline-flex w-auto min-w-[140px] h-8 mx-1 bg-white border-gray-300", children: /* @__PURE__ */ jsx39(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
8746
+ /* @__PURE__ */ jsx39(SelectContent, { children: availableOptionsForThisSelect.map((option, index) => /* @__PURE__ */ jsx39(SelectItem, { value: option, children: option }, `${option}-${index}`)) })
8617
8747
  ]
8618
8748
  },
8619
8749
  `${selectId}-${startIndex}`
@@ -8625,8 +8755,8 @@ var QuizFill = ({
8625
8755
  );
8626
8756
  if (!mockAnswer) return null;
8627
8757
  const action = mockAnswer.isCorrect ? "success" : "error";
8628
- const icon = mockAnswer.isCorrect ? /* @__PURE__ */ jsx38(CheckCircle6, {}) : /* @__PURE__ */ jsx38(XCircle5, {});
8629
- return /* @__PURE__ */ jsx38(
8758
+ const icon = mockAnswer.isCorrect ? /* @__PURE__ */ jsx39(CheckCircle6, {}) : /* @__PURE__ */ jsx39(XCircle5, {});
8759
+ return /* @__PURE__ */ jsx39(
8630
8760
  Badge_default,
8631
8761
  {
8632
8762
  variant: "solid",
@@ -8634,7 +8764,7 @@ var QuizFill = ({
8634
8764
  iconRight: icon,
8635
8765
  size: "large",
8636
8766
  className: "py-3 w-[180px] justify-between mb-2.5",
8637
- children: /* @__PURE__ */ jsx38("span", { className: "text-text-900", children: mockAnswer.userAnswer })
8767
+ children: /* @__PURE__ */ jsx39("span", { className: "text-text-900", children: mockAnswer.userAnswer })
8638
8768
  },
8639
8769
  selectId
8640
8770
  );
@@ -8690,25 +8820,25 @@ var QuizFill = ({
8690
8820
  }
8691
8821
  return elements;
8692
8822
  };
8693
- return /* @__PURE__ */ jsxs31(Fragment8, { children: [
8694
- /* @__PURE__ */ jsx38(QuizSubTitle, { subTitle: "Alternativas" }),
8695
- /* @__PURE__ */ jsx38(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx38("div", { className: "space-y-6 px-4 h-auto", children: /* @__PURE__ */ jsx38(
8823
+ return /* @__PURE__ */ jsxs32(Fragment9, { children: [
8824
+ /* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Alternativas" }),
8825
+ /* @__PURE__ */ jsx39(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx39("div", { className: "space-y-6 px-4 h-auto", children: /* @__PURE__ */ jsx39(
8696
8826
  "div",
8697
8827
  {
8698
8828
  className: cn(
8699
8829
  "text-lg text-text-900 leading-8 h-auto",
8700
8830
  variant != "result" && paddingBottom
8701
8831
  ),
8702
- children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ jsx38("span", { children: element.element }, element.id))
8832
+ children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ jsx39("span", { children: element.element }, element.id))
8703
8833
  }
8704
8834
  ) }) }),
8705
- variant === "result" && /* @__PURE__ */ jsxs31(Fragment8, { children: [
8706
- /* @__PURE__ */ jsx38(QuizSubTitle, { subTitle: "Resultado" }),
8707
- /* @__PURE__ */ jsx38(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx38("div", { className: "space-y-6 px-4", children: /* @__PURE__ */ jsx38(
8835
+ variant === "result" && /* @__PURE__ */ jsxs32(Fragment9, { children: [
8836
+ /* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Resultado" }),
8837
+ /* @__PURE__ */ jsx39(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx39("div", { className: "space-y-6 px-4", children: /* @__PURE__ */ jsx39(
8708
8838
  "div",
8709
8839
  {
8710
8840
  className: cn("text-lg text-text-900 leading-8", paddingBottom),
8711
- children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */ jsx38("span", { children: element.element }, element.id))
8841
+ children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */ jsx39("span", { children: element.element }, element.id))
8712
8842
  }
8713
8843
  ) }) })
8714
8844
  ] })
@@ -8728,7 +8858,7 @@ var QuizImageQuestion = ({
8728
8858
  };
8729
8859
  const correctRadiusRelative = calculateCorrectRadiusRelative();
8730
8860
  const mockUserAnswerRelative = { x: 0.72, y: 0.348 };
8731
- const [clickPositionRelative, setClickPositionRelative] = useState15(variant == "result" ? mockUserAnswerRelative : null);
8861
+ const [clickPositionRelative, setClickPositionRelative] = useState16(variant == "result" ? mockUserAnswerRelative : null);
8732
8862
  const convertToRelativeCoordinates = (x, y, rect) => {
8733
8863
  const safeWidth = Math.max(rect.width, 1e-3);
8734
8864
  const safeHeight = Math.max(rect.height, 1e-3);
@@ -8764,36 +8894,36 @@ var QuizImageQuestion = ({
8764
8894
  }
8765
8895
  return "bg-success-600/70 border-white";
8766
8896
  };
8767
- return /* @__PURE__ */ jsxs31(Fragment8, { children: [
8768
- /* @__PURE__ */ jsx38(QuizSubTitle, { subTitle: "Clique na \xE1rea correta" }),
8769
- /* @__PURE__ */ jsx38(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsxs31(
8897
+ return /* @__PURE__ */ jsxs32(Fragment9, { children: [
8898
+ /* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Clique na \xE1rea correta" }),
8899
+ /* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsxs32(
8770
8900
  "div",
8771
8901
  {
8772
8902
  "data-testid": "quiz-image-container",
8773
8903
  className: "space-y-6 p-3 relative inline-block",
8774
8904
  children: [
8775
- variant == "result" && /* @__PURE__ */ jsxs31(
8905
+ variant == "result" && /* @__PURE__ */ jsxs32(
8776
8906
  "div",
8777
8907
  {
8778
8908
  "data-testid": "quiz-legend",
8779
8909
  className: "flex items-center gap-4 text-xs",
8780
8910
  children: [
8781
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
8782
- /* @__PURE__ */ jsx38("div", { className: "w-3 h-3 rounded-full bg-indicator-primary/70 border border-[#F8CC2E]" }),
8783
- /* @__PURE__ */ jsx38("span", { className: "text-text-600 font-medium text-sm", children: "\xC1rea correta" })
8911
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
8912
+ /* @__PURE__ */ jsx39("div", { className: "w-3 h-3 rounded-full bg-indicator-primary/70 border border-[#F8CC2E]" }),
8913
+ /* @__PURE__ */ jsx39("span", { className: "text-text-600 font-medium text-sm", children: "\xC1rea correta" })
8784
8914
  ] }),
8785
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
8786
- /* @__PURE__ */ jsx38("div", { className: "w-3 h-3 rounded-full bg-success-600/70 border border-white" }),
8787
- /* @__PURE__ */ jsx38("span", { className: "text-text-600 font-medium text-sm", children: "Resposta correta" })
8915
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
8916
+ /* @__PURE__ */ jsx39("div", { className: "w-3 h-3 rounded-full bg-success-600/70 border border-white" }),
8917
+ /* @__PURE__ */ jsx39("span", { className: "text-text-600 font-medium text-sm", children: "Resposta correta" })
8788
8918
  ] }),
8789
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
8790
- /* @__PURE__ */ jsx38("div", { className: "w-3 h-3 rounded-full bg-indicator-error/70 border border-white" }),
8791
- /* @__PURE__ */ jsx38("span", { className: "text-text-600 font-medium text-sm", children: "Resposta incorreta" })
8919
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
8920
+ /* @__PURE__ */ jsx39("div", { className: "w-3 h-3 rounded-full bg-indicator-error/70 border border-white" }),
8921
+ /* @__PURE__ */ jsx39("span", { className: "text-text-600 font-medium text-sm", children: "Resposta incorreta" })
8792
8922
  ] })
8793
8923
  ]
8794
8924
  }
8795
8925
  ),
8796
- /* @__PURE__ */ jsxs31(
8926
+ /* @__PURE__ */ jsxs32(
8797
8927
  "button",
8798
8928
  {
8799
8929
  "data-testid": "quiz-image-button",
@@ -8808,7 +8938,7 @@ var QuizImageQuestion = ({
8808
8938
  },
8809
8939
  "aria-label": "\xC1rea da imagem interativa",
8810
8940
  children: [
8811
- /* @__PURE__ */ jsx38(
8941
+ /* @__PURE__ */ jsx39(
8812
8942
  "img",
8813
8943
  {
8814
8944
  "data-testid": "quiz-image",
@@ -8817,7 +8947,7 @@ var QuizImageQuestion = ({
8817
8947
  className: "w-full h-auto rounded-md"
8818
8948
  }
8819
8949
  ),
8820
- variant === "result" && /* @__PURE__ */ jsx38(
8950
+ variant === "result" && /* @__PURE__ */ jsx39(
8821
8951
  "div",
8822
8952
  {
8823
8953
  "data-testid": "quiz-correct-circle",
@@ -8832,7 +8962,7 @@ var QuizImageQuestion = ({
8832
8962
  }
8833
8963
  }
8834
8964
  ),
8835
- clickPositionRelative && /* @__PURE__ */ jsx38(
8965
+ clickPositionRelative && /* @__PURE__ */ jsx39(
8836
8966
  "div",
8837
8967
  {
8838
8968
  "data-testid": "quiz-user-circle",
@@ -8900,16 +9030,16 @@ var QuizQuestionList = ({
8900
9030
  return "Em branco";
8901
9031
  }
8902
9032
  };
8903
- return /* @__PURE__ */ jsx38("div", { className: "space-y-6 px-4", children: Object.entries(filteredGroupedQuestions).map(
8904
- ([subjectId, questions]) => /* @__PURE__ */ jsxs31("section", { className: "flex flex-col gap-2", children: [
8905
- /* @__PURE__ */ jsxs31("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
8906
- /* @__PURE__ */ jsx38("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ jsx38(BookOpen, { size: 17, className: "text-white" }) }),
8907
- /* @__PURE__ */ jsx38("p", { className: "text-text-800 font-bold text-lg", children: subjectId })
9033
+ return /* @__PURE__ */ jsx39("div", { className: "space-y-6 px-4", children: Object.entries(filteredGroupedQuestions).map(
9034
+ ([subjectId, questions]) => /* @__PURE__ */ jsxs32("section", { className: "flex flex-col gap-2", children: [
9035
+ /* @__PURE__ */ jsxs32("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
9036
+ /* @__PURE__ */ jsx39("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ jsx39(BookOpen, { size: 17, className: "text-white" }) }),
9037
+ /* @__PURE__ */ jsx39("p", { className: "text-text-800 font-bold text-lg", children: subjectId })
8908
9038
  ] }),
8909
- /* @__PURE__ */ jsx38("ul", { className: "flex flex-col gap-2", children: questions.map((question) => {
9039
+ /* @__PURE__ */ jsx39("ul", { className: "flex flex-col gap-2", children: questions.map((question) => {
8910
9040
  const status = getQuestionStatus(question.id);
8911
9041
  const questionNumber = getQuestionIndex(question.id);
8912
- return /* @__PURE__ */ jsx38(
9042
+ return /* @__PURE__ */ jsx39(
8913
9043
  CardStatus,
8914
9044
  {
8915
9045
  header: `Quest\xE3o ${questionNumber.toString().padStart(2, "0")}`,
@@ -8953,11 +9083,11 @@ var QuizFooter = forwardRef19(
8953
9083
  const currentAnswer = getCurrentAnswer();
8954
9084
  const currentQuestion = getCurrentQuestion();
8955
9085
  const isCurrentQuestionSkipped = currentQuestion ? getQuestionStatusFromUserAnswers(currentQuestion.id) === "skipped" : false;
8956
- const [alertDialogOpen, setAlertDialogOpen] = useState15(false);
8957
- const [modalResultOpen, setModalResultOpen] = useState15(false);
8958
- const [modalNavigateOpen, setModalNavigateOpen] = useState15(false);
8959
- const [modalResolutionOpen, setModalResolutionOpen] = useState15(false);
8960
- const [filterType, setFilterType] = useState15("all");
9086
+ const [alertDialogOpen, setAlertDialogOpen] = useState16(false);
9087
+ const [modalResultOpen, setModalResultOpen] = useState16(false);
9088
+ const [modalNavigateOpen, setModalNavigateOpen] = useState16(false);
9089
+ const [modalResolutionOpen, setModalResolutionOpen] = useState16(false);
9090
+ const [filterType, setFilterType] = useState16("all");
8961
9091
  const unansweredQuestions = getUnansweredQuestionsFromUserAnswers();
8962
9092
  const userAnswers = getUserAnswers();
8963
9093
  const allQuestions = getTotalQuestions();
@@ -8989,8 +9119,8 @@ var QuizFooter = forwardRef19(
8989
9119
  setAlertDialogOpen(false);
8990
9120
  }
8991
9121
  };
8992
- return /* @__PURE__ */ jsxs31(Fragment8, { children: [
8993
- /* @__PURE__ */ jsx38(
9122
+ return /* @__PURE__ */ jsxs32(Fragment9, { children: [
9123
+ /* @__PURE__ */ jsx39(
8994
9124
  "footer",
8995
9125
  {
8996
9126
  ref,
@@ -8999,17 +9129,17 @@ var QuizFooter = forwardRef19(
8999
9129
  className
9000
9130
  ),
9001
9131
  ...props,
9002
- children: variant === "default" ? /* @__PURE__ */ jsxs31(Fragment8, { children: [
9003
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-1", children: [
9004
- /* @__PURE__ */ jsx38(
9132
+ children: variant === "default" ? /* @__PURE__ */ jsxs32(Fragment9, { children: [
9133
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-row items-center gap-1", children: [
9134
+ /* @__PURE__ */ jsx39(
9005
9135
  IconButton_default,
9006
9136
  {
9007
- icon: /* @__PURE__ */ jsx38(SquaresFour, { size: 24, className: "text-text-950" }),
9137
+ icon: /* @__PURE__ */ jsx39(SquaresFour, { size: 24, className: "text-text-950" }),
9008
9138
  size: "md",
9009
9139
  onClick: () => setModalNavigateOpen(true)
9010
9140
  }
9011
9141
  ),
9012
- isFirstQuestion ? /* @__PURE__ */ jsx38(
9142
+ isFirstQuestion ? /* @__PURE__ */ jsx39(
9013
9143
  Button_default,
9014
9144
  {
9015
9145
  variant: "outline",
@@ -9020,13 +9150,13 @@ var QuizFooter = forwardRef19(
9020
9150
  },
9021
9151
  children: "Pular"
9022
9152
  }
9023
- ) : /* @__PURE__ */ jsx38(
9153
+ ) : /* @__PURE__ */ jsx39(
9024
9154
  Button_default,
9025
9155
  {
9026
9156
  size: "medium",
9027
9157
  variant: "link",
9028
9158
  action: "primary",
9029
- iconLeft: /* @__PURE__ */ jsx38(CaretLeft3, { size: 18 }),
9159
+ iconLeft: /* @__PURE__ */ jsx39(CaretLeft3, { size: 18 }),
9030
9160
  onClick: () => {
9031
9161
  goToPreviousQuestion();
9032
9162
  },
@@ -9034,7 +9164,7 @@ var QuizFooter = forwardRef19(
9034
9164
  }
9035
9165
  )
9036
9166
  ] }),
9037
- !isFirstQuestion && /* @__PURE__ */ jsx38(
9167
+ !isFirstQuestion && /* @__PURE__ */ jsx39(
9038
9168
  Button_default,
9039
9169
  {
9040
9170
  size: "small",
@@ -9047,7 +9177,7 @@ var QuizFooter = forwardRef19(
9047
9177
  children: "Pular"
9048
9178
  }
9049
9179
  ),
9050
- isLastQuestion ? /* @__PURE__ */ jsx38(
9180
+ isLastQuestion ? /* @__PURE__ */ jsx39(
9051
9181
  Button_default,
9052
9182
  {
9053
9183
  size: "medium",
@@ -9057,13 +9187,13 @@ var QuizFooter = forwardRef19(
9057
9187
  onClick: handleFinishQuiz,
9058
9188
  children: "Finalizar"
9059
9189
  }
9060
- ) : /* @__PURE__ */ jsx38(
9190
+ ) : /* @__PURE__ */ jsx39(
9061
9191
  Button_default,
9062
9192
  {
9063
9193
  size: "medium",
9064
9194
  variant: "link",
9065
9195
  action: "primary",
9066
- iconRight: /* @__PURE__ */ jsx38(CaretRight4, { size: 18 }),
9196
+ iconRight: /* @__PURE__ */ jsx39(CaretRight4, { size: 18 }),
9067
9197
  disabled: !currentAnswer && !isCurrentQuestionSkipped,
9068
9198
  onClick: () => {
9069
9199
  goToNextQuestion();
@@ -9071,7 +9201,7 @@ var QuizFooter = forwardRef19(
9071
9201
  children: "Avan\xE7ar"
9072
9202
  }
9073
9203
  )
9074
- ] }) : /* @__PURE__ */ jsx38("div", { className: "flex flex-row items-center justify-end w-full", children: /* @__PURE__ */ jsx38(
9204
+ ] }) : /* @__PURE__ */ jsx39("div", { className: "flex flex-row items-center justify-end w-full", children: /* @__PURE__ */ jsx39(
9075
9205
  Button_default,
9076
9206
  {
9077
9207
  variant: "solid",
@@ -9083,7 +9213,7 @@ var QuizFooter = forwardRef19(
9083
9213
  ) })
9084
9214
  }
9085
9215
  ),
9086
- /* @__PURE__ */ jsx38(
9216
+ /* @__PURE__ */ jsx39(
9087
9217
  AlertDialog,
9088
9218
  {
9089
9219
  isOpen: alertDialogOpen,
@@ -9095,7 +9225,7 @@ var QuizFooter = forwardRef19(
9095
9225
  onSubmit: handleAlertSubmit
9096
9226
  }
9097
9227
  ),
9098
- /* @__PURE__ */ jsx38(
9228
+ /* @__PURE__ */ jsx39(
9099
9229
  Modal_default,
9100
9230
  {
9101
9231
  isOpen: modalResultOpen,
@@ -9105,8 +9235,8 @@ var QuizFooter = forwardRef19(
9105
9235
  closeOnEscape: false,
9106
9236
  hideCloseButton: true,
9107
9237
  size: "md",
9108
- children: /* @__PURE__ */ jsxs31("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
9109
- /* @__PURE__ */ jsx38(
9238
+ children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
9239
+ /* @__PURE__ */ jsx39(
9110
9240
  "img",
9111
9241
  {
9112
9242
  src: simulated_result_default,
@@ -9114,9 +9244,9 @@ var QuizFooter = forwardRef19(
9114
9244
  className: "w-[282px] h-auto object-cover"
9115
9245
  }
9116
9246
  ),
9117
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-2 text-center", children: [
9118
- /* @__PURE__ */ jsx38("h2", { className: "text-text-950 font-bold text-lg", children: "Voc\xEA concluiu o simulado!" }),
9119
- /* @__PURE__ */ jsxs31("p", { className: "text-text-500 font-sm", children: [
9247
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-2 text-center", children: [
9248
+ /* @__PURE__ */ jsx39("h2", { className: "text-text-950 font-bold text-lg", children: "Voc\xEA concluiu o simulado!" }),
9249
+ /* @__PURE__ */ jsxs32("p", { className: "text-text-500 font-sm", children: [
9120
9250
  "Voc\xEA acertou",
9121
9251
  " ",
9122
9252
  (() => {
@@ -9138,8 +9268,8 @@ var QuizFooter = forwardRef19(
9138
9268
  " quest\xF5es."
9139
9269
  ] })
9140
9270
  ] }),
9141
- /* @__PURE__ */ jsxs31("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: [
9142
- /* @__PURE__ */ jsx38(
9271
+ /* @__PURE__ */ jsxs32("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: [
9272
+ /* @__PURE__ */ jsx39(
9143
9273
  Button_default,
9144
9274
  {
9145
9275
  variant: "outline",
@@ -9149,31 +9279,31 @@ var QuizFooter = forwardRef19(
9149
9279
  children: "Ir para simulados"
9150
9280
  }
9151
9281
  ),
9152
- /* @__PURE__ */ jsx38(Button_default, { className: "w-full", onClick: onDetailResult, children: "Detalhar resultado" })
9282
+ /* @__PURE__ */ jsx39(Button_default, { className: "w-full", onClick: onDetailResult, children: "Detalhar resultado" })
9153
9283
  ] })
9154
9284
  ] })
9155
9285
  }
9156
9286
  ),
9157
- /* @__PURE__ */ jsx38(
9287
+ /* @__PURE__ */ jsx39(
9158
9288
  Modal_default,
9159
9289
  {
9160
9290
  isOpen: modalNavigateOpen,
9161
9291
  onClose: () => setModalNavigateOpen(false),
9162
9292
  title: "Quest\xF5es",
9163
9293
  size: "lg",
9164
- children: /* @__PURE__ */ jsxs31("div", { className: "flex flex-col w-full h-full", children: [
9165
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-row justify-between items-center py-6 pt-6 pb-4 border-b border-border-200", children: [
9166
- /* @__PURE__ */ jsx38("p", { className: "text-text-950 font-bold text-lg", children: "Filtrar por" }),
9167
- /* @__PURE__ */ jsx38("span", { className: "max-w-[266px]", children: /* @__PURE__ */ jsxs31(Select_default, { value: filterType, onValueChange: setFilterType, children: [
9168
- /* @__PURE__ */ jsx38(SelectTrigger, { variant: "rounded", className: "max-w-[266px]", children: /* @__PURE__ */ jsx38(SelectValue, { placeholder: "Selecione uma op\xE7\xE3o" }) }),
9169
- /* @__PURE__ */ jsxs31(SelectContent, { children: [
9170
- /* @__PURE__ */ jsx38(SelectItem, { value: "all", children: "Todas" }),
9171
- /* @__PURE__ */ jsx38(SelectItem, { value: "unanswered", children: "Em branco" }),
9172
- /* @__PURE__ */ jsx38(SelectItem, { value: "answered", children: "Respondidas" })
9294
+ children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-col w-full h-full", children: [
9295
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-row justify-between items-center py-6 pt-6 pb-4 border-b border-border-200", children: [
9296
+ /* @__PURE__ */ jsx39("p", { className: "text-text-950 font-bold text-lg", children: "Filtrar por" }),
9297
+ /* @__PURE__ */ jsx39("span", { className: "max-w-[266px]", children: /* @__PURE__ */ jsxs32(Select_default, { value: filterType, onValueChange: setFilterType, children: [
9298
+ /* @__PURE__ */ jsx39(SelectTrigger, { variant: "rounded", className: "max-w-[266px]", children: /* @__PURE__ */ jsx39(SelectValue, { placeholder: "Selecione uma op\xE7\xE3o" }) }),
9299
+ /* @__PURE__ */ jsxs32(SelectContent, { children: [
9300
+ /* @__PURE__ */ jsx39(SelectItem, { value: "all", children: "Todas" }),
9301
+ /* @__PURE__ */ jsx39(SelectItem, { value: "unanswered", children: "Em branco" }),
9302
+ /* @__PURE__ */ jsx39(SelectItem, { value: "answered", children: "Respondidas" })
9173
9303
  ] })
9174
9304
  ] }) })
9175
9305
  ] }),
9176
- /* @__PURE__ */ jsx38("div", { className: "flex flex-col gap-2 not-lg:h-[calc(100vh-200px)] lg:max-h-[687px] overflow-y-auto", children: /* @__PURE__ */ jsx38(
9306
+ /* @__PURE__ */ jsx39("div", { className: "flex flex-col gap-2 not-lg:h-[calc(100vh-200px)] lg:max-h-[687px] overflow-y-auto", children: /* @__PURE__ */ jsx39(
9177
9307
  QuizQuestionList,
9178
9308
  {
9179
9309
  filterType,
@@ -9183,7 +9313,7 @@ var QuizFooter = forwardRef19(
9183
9313
  ] })
9184
9314
  }
9185
9315
  ),
9186
- /* @__PURE__ */ jsx38(
9316
+ /* @__PURE__ */ jsx39(
9187
9317
  Modal_default,
9188
9318
  {
9189
9319
  isOpen: modalResolutionOpen,
@@ -9198,15 +9328,15 @@ var QuizFooter = forwardRef19(
9198
9328
  );
9199
9329
  var QuizResultHeaderTitle = forwardRef19(({ className, ...props }, ref) => {
9200
9330
  const { bySimulated } = useQuizStore();
9201
- return /* @__PURE__ */ jsxs31(
9331
+ return /* @__PURE__ */ jsxs32(
9202
9332
  "div",
9203
9333
  {
9204
9334
  ref,
9205
9335
  className: cn("flex flex-row pt-4 justify-between", className),
9206
9336
  ...props,
9207
9337
  children: [
9208
- /* @__PURE__ */ jsx38("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
9209
- bySimulated && /* @__PURE__ */ jsx38(Badge_default, { variant: "solid", action: "info", children: bySimulated.category })
9338
+ /* @__PURE__ */ jsx39("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
9339
+ bySimulated && /* @__PURE__ */ jsx39(Badge_default, { variant: "solid", action: "info", children: bySimulated.category })
9210
9340
  ]
9211
9341
  }
9212
9342
  );
@@ -9214,7 +9344,7 @@ var QuizResultHeaderTitle = forwardRef19(({ className, ...props }, ref) => {
9214
9344
  var QuizResultTitle = forwardRef19(({ className, ...props }, ref) => {
9215
9345
  const { getQuizTitle } = useQuizStore();
9216
9346
  const quizTitle = getQuizTitle();
9217
- return /* @__PURE__ */ jsx38(
9347
+ return /* @__PURE__ */ jsx39(
9218
9348
  "p",
9219
9349
  {
9220
9350
  className: cn("pt-6 pb-4 text-text-950 font-bold text-lg", className),
@@ -9270,15 +9400,15 @@ var QuizResultPerformance = forwardRef19(
9270
9400
  });
9271
9401
  }
9272
9402
  const percentage = totalQuestions > 0 ? Math.round(correctAnswers / totalQuestions * 100) : 0;
9273
- return /* @__PURE__ */ jsxs31(
9403
+ return /* @__PURE__ */ jsxs32(
9274
9404
  "div",
9275
9405
  {
9276
9406
  className: "flex flex-row gap-6 p-6 rounded-xl bg-background justify-between",
9277
9407
  ref,
9278
9408
  ...props,
9279
9409
  children: [
9280
- /* @__PURE__ */ jsxs31("div", { className: "relative", children: [
9281
- /* @__PURE__ */ jsx38(
9410
+ /* @__PURE__ */ jsxs32("div", { className: "relative", children: [
9411
+ /* @__PURE__ */ jsx39(
9282
9412
  ProgressCircle_default,
9283
9413
  {
9284
9414
  size: "medium",
@@ -9288,21 +9418,21 @@ var QuizResultPerformance = forwardRef19(
9288
9418
  label: ""
9289
9419
  }
9290
9420
  ),
9291
- /* @__PURE__ */ jsxs31("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
9292
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-1 mb-1", children: [
9293
- /* @__PURE__ */ jsx38(Clock2, { size: 12, weight: "regular", className: "text-text-800" }),
9294
- /* @__PURE__ */ jsx38("span", { className: "text-2xs font-medium text-text-800", children: formatTime2(timeElapsed) })
9421
+ /* @__PURE__ */ jsxs32("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
9422
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-1 mb-1", children: [
9423
+ /* @__PURE__ */ jsx39(Clock2, { size: 12, weight: "regular", className: "text-text-800" }),
9424
+ /* @__PURE__ */ jsx39("span", { className: "text-2xs font-medium text-text-800", children: formatTime2(timeElapsed) })
9295
9425
  ] }),
9296
- /* @__PURE__ */ jsxs31("div", { className: "text-2xl font-medium text-text-800 leading-7", children: [
9426
+ /* @__PURE__ */ jsxs32("div", { className: "text-2xl font-medium text-text-800 leading-7", children: [
9297
9427
  correctAnswers,
9298
9428
  " de ",
9299
9429
  totalQuestions
9300
9430
  ] }),
9301
- /* @__PURE__ */ jsx38("div", { className: "text-2xs font-medium text-text-600 mt-1", children: "Corretas" })
9431
+ /* @__PURE__ */ jsx39("div", { className: "text-2xs font-medium text-text-600 mt-1", children: "Corretas" })
9302
9432
  ] })
9303
9433
  ] }),
9304
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-4 w-full", children: [
9305
- /* @__PURE__ */ jsx38(
9434
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-4 w-full", children: [
9435
+ /* @__PURE__ */ jsx39(
9306
9436
  ProgressBar_default,
9307
9437
  {
9308
9438
  className: "w-full",
@@ -9316,7 +9446,7 @@ var QuizResultPerformance = forwardRef19(
9316
9446
  percentageClassName: "text-xs font-medium leading-[14px] text-right"
9317
9447
  }
9318
9448
  ),
9319
- /* @__PURE__ */ jsx38(
9449
+ /* @__PURE__ */ jsx39(
9320
9450
  ProgressBar_default,
9321
9451
  {
9322
9452
  className: "w-full",
@@ -9330,7 +9460,7 @@ var QuizResultPerformance = forwardRef19(
9330
9460
  percentageClassName: "text-xs font-medium leading-[14px] text-right"
9331
9461
  }
9332
9462
  ),
9333
- /* @__PURE__ */ jsx38(
9463
+ /* @__PURE__ */ jsx39(
9334
9464
  ProgressBar_default,
9335
9465
  {
9336
9466
  className: "w-full",
@@ -9379,9 +9509,9 @@ var QuizListResult = forwardRef19(({ className, onSubjectClick, ...props }, ref)
9379
9509
  };
9380
9510
  }
9381
9511
  );
9382
- return /* @__PURE__ */ jsxs31("section", { ref, className, ...props, children: [
9383
- /* @__PURE__ */ jsx38("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Mat\xE9rias" }),
9384
- /* @__PURE__ */ jsx38("ul", { className: "flex flex-col gap-2", children: subjectsStats.map((subject) => /* @__PURE__ */ jsx38("li", { children: /* @__PURE__ */ jsx38(
9512
+ return /* @__PURE__ */ jsxs32("section", { ref, className, ...props, children: [
9513
+ /* @__PURE__ */ jsx39("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Mat\xE9rias" }),
9514
+ /* @__PURE__ */ jsx39("ul", { className: "flex flex-col gap-2", children: subjectsStats.map((subject) => /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsx39(
9385
9515
  CardResults,
9386
9516
  {
9387
9517
  onClick: () => onSubjectClick?.(subject.subject),
@@ -9389,7 +9519,7 @@ var QuizListResult = forwardRef19(({ className, onSubjectClick, ...props }, ref)
9389
9519
  header: subject.subject,
9390
9520
  correct_answers: subject.correct,
9391
9521
  incorrect_answers: subject.incorrect,
9392
- icon: /* @__PURE__ */ jsx38(Book, { size: 20 }),
9522
+ icon: /* @__PURE__ */ jsx39(Book, { size: 20 }),
9393
9523
  direction: "row"
9394
9524
  }
9395
9525
  ) }, subject.subject)) })
@@ -9406,13 +9536,13 @@ var QuizListResultByMateria = ({
9406
9536
  } = useQuizStore();
9407
9537
  const groupedQuestions = getQuestionsGroupedBySubject();
9408
9538
  const answeredQuestions = groupedQuestions[subject] || [];
9409
- return /* @__PURE__ */ jsxs31("div", { className: "w-full max-w-[1000px] flex flex-col mx-auto h-full relative not-lg:px-6", children: [
9410
- /* @__PURE__ */ jsx38("div", { className: "flex flex-row pt-4 justify-between", children: /* @__PURE__ */ jsx38("p", { className: "text-text-950 font-bold text-2xl", children: subject }) }),
9411
- /* @__PURE__ */ jsxs31("section", { className: "flex flex-col ", children: [
9412
- /* @__PURE__ */ jsx38("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Resultado das quest\xF5es" }),
9413
- /* @__PURE__ */ jsx38("ul", { className: "flex flex-col gap-2 pt-4", children: answeredQuestions.map((question) => {
9539
+ return /* @__PURE__ */ jsxs32("div", { className: "w-full max-w-[1000px] flex flex-col mx-auto h-full relative not-lg:px-6", children: [
9540
+ /* @__PURE__ */ jsx39("div", { className: "flex flex-row pt-4 justify-between", children: /* @__PURE__ */ jsx39("p", { className: "text-text-950 font-bold text-2xl", children: subject }) }),
9541
+ /* @__PURE__ */ jsxs32("section", { className: "flex flex-col ", children: [
9542
+ /* @__PURE__ */ jsx39("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Resultado das quest\xF5es" }),
9543
+ /* @__PURE__ */ jsx39("ul", { className: "flex flex-col gap-2 pt-4", children: answeredQuestions.map((question) => {
9414
9544
  const questionIndex = getQuestionIndex(question.id);
9415
- return /* @__PURE__ */ jsx38("li", { children: /* @__PURE__ */ jsx38(
9545
+ return /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsx39(
9416
9546
  CardStatus,
9417
9547
  {
9418
9548
  className: "max-w-full",
@@ -9525,6 +9655,7 @@ export {
9525
9655
  Toast_default as Toast,
9526
9656
  Toaster_default as Toaster,
9527
9657
  VideoPlayer_default as VideoPlayer,
9658
+ Whiteboard_default as Whiteboard,
9528
9659
  createZustandAuthAdapter,
9529
9660
  getRootDomain,
9530
9661
  getStatusBadge,