analytica-frontend-lib 1.1.93 → 1.1.95

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 (41) hide show
  1. package/dist/BreadcrumbMenu/breadcrumbStore/index.d.mts +77 -0
  2. package/dist/BreadcrumbMenu/breadcrumbStore/index.d.ts +77 -0
  3. package/dist/BreadcrumbMenu/breadcrumbStore/index.js +146 -0
  4. package/dist/BreadcrumbMenu/breadcrumbStore/index.js.map +1 -0
  5. package/dist/BreadcrumbMenu/breadcrumbStore/index.mjs +120 -0
  6. package/dist/BreadcrumbMenu/breadcrumbStore/index.mjs.map +1 -0
  7. package/dist/BreadcrumbMenu/index.d.mts +31 -0
  8. package/dist/BreadcrumbMenu/index.d.ts +31 -0
  9. package/dist/BreadcrumbMenu/index.js +308 -0
  10. package/dist/BreadcrumbMenu/index.js.map +1 -0
  11. package/dist/BreadcrumbMenu/index.mjs +289 -0
  12. package/dist/BreadcrumbMenu/index.mjs.map +1 -0
  13. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.d.mts +48 -0
  14. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.d.ts +48 -0
  15. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.js +189 -0
  16. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.js.map +1 -0
  17. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.mjs +164 -0
  18. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.mjs.map +1 -0
  19. package/dist/BreadcrumbMenu/useUrlParams/index.d.mts +28 -0
  20. package/dist/BreadcrumbMenu/useUrlParams/index.d.ts +28 -0
  21. package/dist/BreadcrumbMenu/useUrlParams/index.js +43 -0
  22. package/dist/BreadcrumbMenu/useUrlParams/index.js.map +1 -0
  23. package/dist/BreadcrumbMenu/useUrlParams/index.mjs +18 -0
  24. package/dist/BreadcrumbMenu/useUrlParams/index.mjs.map +1 -0
  25. package/dist/StatisticsCard/index.d.mts +77 -0
  26. package/dist/StatisticsCard/index.d.ts +77 -0
  27. package/dist/StatisticsCard/index.js +608 -0
  28. package/dist/StatisticsCard/index.js.map +1 -0
  29. package/dist/StatisticsCard/index.mjs +589 -0
  30. package/dist/StatisticsCard/index.mjs.map +1 -0
  31. package/dist/index.css +41 -0
  32. package/dist/index.css.map +1 -1
  33. package/dist/index.d.mts +5 -0
  34. package/dist/index.d.ts +5 -0
  35. package/dist/index.js +699 -354
  36. package/dist/index.js.map +1 -1
  37. package/dist/index.mjs +679 -339
  38. package/dist/index.mjs.map +1 -1
  39. package/dist/styles.css +41 -0
  40. package/dist/styles.css.map +1 -1
  41. package/package.json +3 -1
package/dist/index.mjs CHANGED
@@ -8073,8 +8073,125 @@ var CardSimulationHistory = forwardRef17(({ data, onSimulationClick, className,
8073
8073
  );
8074
8074
  });
8075
8075
 
8076
- // src/components/NotFound/NotFound.tsx
8076
+ // src/components/StatisticsCard/StatisticsCard.tsx
8077
+ import { Plus } from "phosphor-react";
8077
8078
  import { jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
8079
+ var VARIANT_STYLES = {
8080
+ high: "bg-success-background",
8081
+ medium: "bg-warning-background",
8082
+ low: "bg-error-background",
8083
+ total: "bg-info-background"
8084
+ };
8085
+ var VALUE_TEXT_COLORS = {
8086
+ high: "text-success-700",
8087
+ medium: "text-warning-600",
8088
+ low: "text-error-700",
8089
+ total: "text-info-700"
8090
+ };
8091
+ var StatCard = ({ item }) => {
8092
+ return /* @__PURE__ */ jsxs30(
8093
+ "div",
8094
+ {
8095
+ className: `rounded-xl py-[17px] px-6 min-h-[105px] flex flex-col justify-center items-start gap-1 ${VARIANT_STYLES[item.variant]}`,
8096
+ children: [
8097
+ /* @__PURE__ */ jsx42(
8098
+ Text_default,
8099
+ {
8100
+ size: "4xl",
8101
+ weight: "bold",
8102
+ className: `${VALUE_TEXT_COLORS[item.variant]} leading-[42px] tracking-[0.2px] self-stretch`,
8103
+ children: item.value
8104
+ }
8105
+ ),
8106
+ /* @__PURE__ */ jsx42(
8107
+ Text_default,
8108
+ {
8109
+ size: "xs",
8110
+ weight: "bold",
8111
+ className: "uppercase text-[8px] leading-[9px] text-text-800 self-stretch",
8112
+ children: item.label
8113
+ }
8114
+ )
8115
+ ]
8116
+ }
8117
+ );
8118
+ };
8119
+ var StatisticsCard = ({
8120
+ title,
8121
+ data,
8122
+ emptyStateMessage,
8123
+ emptyStateButtonText,
8124
+ onEmptyStateButtonClick,
8125
+ dropdownOptions,
8126
+ selectedDropdownValue,
8127
+ onDropdownChange,
8128
+ selectPlaceholder = "Selecione um per\xEDodo",
8129
+ dropdownAriaLabel = "Filtro de per\xEDodo",
8130
+ className = ""
8131
+ }) => {
8132
+ const hasData = data && data.length > 0;
8133
+ return /* @__PURE__ */ jsxs30(
8134
+ "div",
8135
+ {
8136
+ className: `bg-background rounded-xl p-4 h-auto lg:h-[185px] flex flex-col gap-2 ${className}`,
8137
+ children: [
8138
+ /* @__PURE__ */ jsxs30("div", { className: "flex flex-row justify-between items-center gap-4", children: [
8139
+ /* @__PURE__ */ jsx42(Text_default, { as: "h3", size: "sm", weight: "medium", color: "text-text-600", children: title }),
8140
+ dropdownOptions && dropdownOptions.length > 0 && /* @__PURE__ */ jsx42("div", { className: "w-[99px]", children: /* @__PURE__ */ jsxs30(
8141
+ Select_default,
8142
+ {
8143
+ value: selectedDropdownValue,
8144
+ onValueChange: onDropdownChange,
8145
+ size: "medium",
8146
+ children: [
8147
+ /* @__PURE__ */ jsx42(
8148
+ SelectTrigger,
8149
+ {
8150
+ className: "border border-border-300 rounded whitespace-nowrap",
8151
+ "aria-label": dropdownAriaLabel,
8152
+ children: /* @__PURE__ */ jsx42(SelectValue, { placeholder: selectPlaceholder })
8153
+ }
8154
+ ),
8155
+ /* @__PURE__ */ jsx42(SelectContent, { children: dropdownOptions.map((option) => /* @__PURE__ */ jsx42(SelectItem, { value: option.value, children: option.label }, option.value)) })
8156
+ ]
8157
+ }
8158
+ ) })
8159
+ ] }),
8160
+ hasData ? /* @__PURE__ */ jsx42("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-[13px]", children: data.map((item, index) => /* @__PURE__ */ jsx42(
8161
+ StatCard,
8162
+ {
8163
+ item
8164
+ },
8165
+ `${item.variant}-${item.label}-${index}`
8166
+ )) }) : /* @__PURE__ */ jsxs30("div", { className: "border border-dashed border-border-300 rounded-lg p-6 min-h-[105px] flex flex-col items-center justify-center gap-2", children: [
8167
+ /* @__PURE__ */ jsx42(
8168
+ Text_default,
8169
+ {
8170
+ size: "sm",
8171
+ color: "text-text-600",
8172
+ className: "text-center max-w-md",
8173
+ children: emptyStateMessage
8174
+ }
8175
+ ),
8176
+ onEmptyStateButtonClick && /* @__PURE__ */ jsx42(
8177
+ Button_default,
8178
+ {
8179
+ variant: "outline",
8180
+ action: "primary",
8181
+ size: "small",
8182
+ onClick: onEmptyStateButtonClick,
8183
+ iconLeft: /* @__PURE__ */ jsx42(Plus, { size: 16, weight: "bold" }),
8184
+ children: emptyStateButtonText
8185
+ }
8186
+ )
8187
+ ] })
8188
+ ]
8189
+ }
8190
+ );
8191
+ };
8192
+
8193
+ // src/components/NotFound/NotFound.tsx
8194
+ import { jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
8078
8195
  var NotFound = ({
8079
8196
  title,
8080
8197
  description,
@@ -8117,22 +8234,22 @@ var NotFound = ({
8117
8234
  const errorTitle = title || getDefaultTitle();
8118
8235
  const errorDescription = description || getDefaultDescription();
8119
8236
  const errorCode = getErrorCode();
8120
- return /* @__PURE__ */ jsx42(
8237
+ return /* @__PURE__ */ jsx43(
8121
8238
  "div",
8122
8239
  {
8123
8240
  className: cn(
8124
8241
  "flex flex-col w-full h-screen items-center justify-center bg-background-50 px-4",
8125
8242
  className
8126
8243
  ),
8127
- children: /* @__PURE__ */ jsx42(
8244
+ children: /* @__PURE__ */ jsx43(
8128
8245
  "main",
8129
8246
  {
8130
8247
  role: "main",
8131
8248
  "aria-labelledby": "error-title",
8132
8249
  "aria-describedby": "error-description",
8133
8250
  className: "flex flex-col items-center text-center max-w-md space-y-6",
8134
- children: /* @__PURE__ */ jsxs30("section", { "aria-label": `Erro ${errorCode}`, children: [
8135
- /* @__PURE__ */ jsx42(
8251
+ children: /* @__PURE__ */ jsxs31("section", { "aria-label": `Erro ${errorCode}`, children: [
8252
+ /* @__PURE__ */ jsx43(
8136
8253
  "div",
8137
8254
  {
8138
8255
  className: "text-8xl font-bold text-primary-300 select-none",
@@ -8140,8 +8257,8 @@ var NotFound = ({
8140
8257
  children: errorCode
8141
8258
  }
8142
8259
  ),
8143
- /* @__PURE__ */ jsxs30("header", { className: "space-y-2", children: [
8144
- /* @__PURE__ */ jsx42(
8260
+ /* @__PURE__ */ jsxs31("header", { className: "space-y-2", children: [
8261
+ /* @__PURE__ */ jsx43(
8145
8262
  Text_default,
8146
8263
  {
8147
8264
  size: "xl",
@@ -8152,9 +8269,9 @@ var NotFound = ({
8152
8269
  children: errorTitle
8153
8270
  }
8154
8271
  ),
8155
- /* @__PURE__ */ jsx42(Text_default, { size: "md", className: "text-text-600", id: "error-description", children: errorDescription })
8272
+ /* @__PURE__ */ jsx43(Text_default, { size: "md", className: "text-text-600", id: "error-description", children: errorDescription })
8156
8273
  ] }),
8157
- onButtonClick && /* @__PURE__ */ jsx42("nav", { "aria-label": "Navega\xE7\xE3o de erro", children: /* @__PURE__ */ jsx42(
8274
+ onButtonClick && /* @__PURE__ */ jsx43("nav", { "aria-label": "Navega\xE7\xE3o de erro", children: /* @__PURE__ */ jsx43(
8158
8275
  Button_default,
8159
8276
  {
8160
8277
  onClick: handleButtonClick,
@@ -8196,7 +8313,7 @@ import {
8196
8313
  // src/components/DownloadButton/DownloadButton.tsx
8197
8314
  import { useCallback as useCallback2, useState as useState13 } from "react";
8198
8315
  import { DownloadSimple } from "phosphor-react";
8199
- import { jsx as jsx43 } from "react/jsx-runtime";
8316
+ import { jsx as jsx44 } from "react/jsx-runtime";
8200
8317
  var getMimeType = (url) => {
8201
8318
  const extension = getFileExtension(url);
8202
8319
  const mimeTypes = {
@@ -8353,10 +8470,10 @@ var DownloadButton = ({
8353
8470
  if (!hasContent) {
8354
8471
  return null;
8355
8472
  }
8356
- return /* @__PURE__ */ jsx43("div", { className: cn("flex items-center", className), children: /* @__PURE__ */ jsx43(
8473
+ return /* @__PURE__ */ jsx44("div", { className: cn("flex items-center", className), children: /* @__PURE__ */ jsx44(
8357
8474
  IconButton_default,
8358
8475
  {
8359
- icon: /* @__PURE__ */ jsx43(DownloadSimple, { size: 24 }),
8476
+ icon: /* @__PURE__ */ jsx44(DownloadSimple, { size: 24 }),
8360
8477
  onClick: handleDownload,
8361
8478
  disabled: disabled || isDownloading,
8362
8479
  "aria-label": (() => {
@@ -8377,7 +8494,7 @@ var DownloadButton = ({
8377
8494
  var DownloadButton_default = DownloadButton;
8378
8495
 
8379
8496
  // src/components/VideoPlayer/VideoPlayer.tsx
8380
- import { jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
8497
+ import { jsx as jsx45, jsxs as jsxs32 } from "react/jsx-runtime";
8381
8498
  var CONTROLS_HIDE_TIMEOUT = 3e3;
8382
8499
  var LEAVE_HIDE_TIMEOUT = 1e3;
8383
8500
  var INIT_DELAY = 100;
@@ -8393,7 +8510,7 @@ var ProgressBar2 = ({
8393
8510
  progressPercentage,
8394
8511
  onSeek,
8395
8512
  className = "px-4 pb-2"
8396
- }) => /* @__PURE__ */ jsx44("div", { className, children: /* @__PURE__ */ jsx44(
8513
+ }) => /* @__PURE__ */ jsx45("div", { className, children: /* @__PURE__ */ jsx45(
8397
8514
  "input",
8398
8515
  {
8399
8516
  type: "range",
@@ -8415,17 +8532,17 @@ var VolumeControls = ({
8415
8532
  onToggleMute,
8416
8533
  iconSize = 24,
8417
8534
  showSlider = true
8418
- }) => /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
8419
- /* @__PURE__ */ jsx44(
8535
+ }) => /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
8536
+ /* @__PURE__ */ jsx45(
8420
8537
  IconButton_default,
8421
8538
  {
8422
- icon: isMuted ? /* @__PURE__ */ jsx44(SpeakerSlash, { size: iconSize }) : /* @__PURE__ */ jsx44(SpeakerHigh2, { size: iconSize }),
8539
+ icon: isMuted ? /* @__PURE__ */ jsx45(SpeakerSlash, { size: iconSize }) : /* @__PURE__ */ jsx45(SpeakerHigh2, { size: iconSize }),
8423
8540
  onClick: onToggleMute,
8424
8541
  "aria-label": isMuted ? "Unmute" : "Mute",
8425
8542
  className: "!bg-transparent !text-white hover:!bg-white/20"
8426
8543
  }
8427
8544
  ),
8428
- showSlider && /* @__PURE__ */ jsx44(
8545
+ showSlider && /* @__PURE__ */ jsx45(
8429
8546
  "input",
8430
8547
  {
8431
8548
  type: "range",
@@ -8482,7 +8599,7 @@ var SpeedMenu = ({
8482
8599
  document.removeEventListener("mousedown", handleClickOutside);
8483
8600
  };
8484
8601
  }, [showSpeedMenu, onToggleMenu]);
8485
- const menuContent = /* @__PURE__ */ jsx44(
8602
+ const menuContent = /* @__PURE__ */ jsx45(
8486
8603
  "div",
8487
8604
  {
8488
8605
  ref: speedMenuRef,
@@ -8493,7 +8610,7 @@ var SpeedMenu = ({
8493
8610
  top: `${position.top}px`,
8494
8611
  left: `${position.left}px`
8495
8612
  },
8496
- children: [0.5, 0.75, 1, 1.25, 1.5, 2].map((speed) => /* @__PURE__ */ jsxs31(
8613
+ children: [0.5, 0.75, 1, 1.25, 1.5, 2].map((speed) => /* @__PURE__ */ jsxs32(
8497
8614
  "button",
8498
8615
  {
8499
8616
  role: "menuitemradio",
@@ -8510,12 +8627,12 @@ var SpeedMenu = ({
8510
8627
  }
8511
8628
  );
8512
8629
  const portalContent = showSpeedMenu && globalThis.window !== void 0 && globalThis.document !== void 0 && !!globalThis.document?.body ? createPortal(menuContent, globalThis.document.body) : null;
8513
- return /* @__PURE__ */ jsxs31("div", { className: "relative", ref: speedMenuContainerRef, children: [
8514
- /* @__PURE__ */ jsx44(
8630
+ return /* @__PURE__ */ jsxs32("div", { className: "relative", ref: speedMenuContainerRef, children: [
8631
+ /* @__PURE__ */ jsx45(
8515
8632
  IconButton_default,
8516
8633
  {
8517
8634
  ref: buttonRef,
8518
- icon: /* @__PURE__ */ jsx44(DotsThreeVertical3, { size: iconSize }),
8635
+ icon: /* @__PURE__ */ jsx45(DotsThreeVertical3, { size: iconSize }),
8519
8636
  onClick: onToggleMenu,
8520
8637
  "aria-label": "Playback speed",
8521
8638
  "aria-haspopup": "menu",
@@ -9031,10 +9148,10 @@ var VideoPlayer = ({
9031
9148
  ]
9032
9149
  );
9033
9150
  const groupedSubTitleValid = subtitles && subtitlesValidation === "valid";
9034
- return /* @__PURE__ */ jsxs31("div", { className: cn("flex flex-col", className), children: [
9035
- (title || subtitleText) && /* @__PURE__ */ jsxs31("div", { className: "bg-subject-1 px-8 py-4 flex items-end justify-between min-h-20", children: [
9036
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-1", children: [
9037
- title && /* @__PURE__ */ jsx44(
9151
+ return /* @__PURE__ */ jsxs32("div", { className: cn("flex flex-col", className), children: [
9152
+ (title || subtitleText) && /* @__PURE__ */ jsxs32("div", { className: "bg-subject-1 px-8 py-4 flex items-end justify-between min-h-20", children: [
9153
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-1", children: [
9154
+ title && /* @__PURE__ */ jsx45(
9038
9155
  Text_default,
9039
9156
  {
9040
9157
  as: "h2",
@@ -9045,7 +9162,7 @@ var VideoPlayer = ({
9045
9162
  children: title
9046
9163
  }
9047
9164
  ),
9048
- subtitleText && /* @__PURE__ */ jsx44(
9165
+ subtitleText && /* @__PURE__ */ jsx45(
9049
9166
  Text_default,
9050
9167
  {
9051
9168
  as: "p",
@@ -9057,7 +9174,7 @@ var VideoPlayer = ({
9057
9174
  }
9058
9175
  )
9059
9176
  ] }),
9060
- showDownloadButton && downloadContent && /* @__PURE__ */ jsx44(
9177
+ showDownloadButton && downloadContent && /* @__PURE__ */ jsx45(
9061
9178
  DownloadButton_default,
9062
9179
  {
9063
9180
  content: downloadContent,
@@ -9069,7 +9186,7 @@ var VideoPlayer = ({
9069
9186
  }
9070
9187
  )
9071
9188
  ] }),
9072
- /* @__PURE__ */ jsxs31(
9189
+ /* @__PURE__ */ jsxs32(
9073
9190
  "section",
9074
9191
  {
9075
9192
  className: cn(
@@ -9084,7 +9201,7 @@ var VideoPlayer = ({
9084
9201
  onTouchStart: handleMouseEnter,
9085
9202
  onMouseLeave: handleMouseLeave,
9086
9203
  children: [
9087
- /* @__PURE__ */ jsx44(
9204
+ /* @__PURE__ */ jsx45(
9088
9205
  "video",
9089
9206
  {
9090
9207
  ref: videoRef,
@@ -9099,7 +9216,7 @@ var VideoPlayer = ({
9099
9216
  onKeyDown: handleVideoKeyDown,
9100
9217
  tabIndex: 0,
9101
9218
  "aria-label": title ? `Video: ${title}` : "Video player",
9102
- children: /* @__PURE__ */ jsx44(
9219
+ children: /* @__PURE__ */ jsx45(
9103
9220
  "track",
9104
9221
  {
9105
9222
  ref: trackRef,
@@ -9112,17 +9229,17 @@ var VideoPlayer = ({
9112
9229
  )
9113
9230
  }
9114
9231
  ),
9115
- !isPlaying && /* @__PURE__ */ jsx44(
9232
+ !isPlaying && /* @__PURE__ */ jsx45(
9116
9233
  "div",
9117
9234
  {
9118
9235
  className: cn(
9119
9236
  "absolute inset-0 flex bg-black/30 transition-opacity",
9120
9237
  getCenterPlayButtonPosition()
9121
9238
  ),
9122
- children: /* @__PURE__ */ jsx44(
9239
+ children: /* @__PURE__ */ jsx45(
9123
9240
  IconButton_default,
9124
9241
  {
9125
- icon: /* @__PURE__ */ jsx44(Play2, { size: 32, weight: "regular", className: "ml-1" }),
9242
+ icon: /* @__PURE__ */ jsx45(Play2, { size: 32, weight: "regular", className: "ml-1" }),
9126
9243
  onClick: togglePlayPause,
9127
9244
  "aria-label": "Play video",
9128
9245
  className: "!bg-transparent !text-white !w-auto !h-auto hover:!bg-transparent hover:!text-gray-200"
@@ -9130,17 +9247,17 @@ var VideoPlayer = ({
9130
9247
  )
9131
9248
  }
9132
9249
  ),
9133
- /* @__PURE__ */ jsx44(
9250
+ /* @__PURE__ */ jsx45(
9134
9251
  "div",
9135
9252
  {
9136
9253
  className: cn(
9137
9254
  "absolute top-0 left-0 right-0 p-4 bg-gradient-to-b from-black/70 to-transparent transition-opacity",
9138
9255
  getTopControlsOpacity()
9139
9256
  ),
9140
- children: /* @__PURE__ */ jsx44("div", { className: "flex justify-start", children: /* @__PURE__ */ jsx44(
9257
+ children: /* @__PURE__ */ jsx45("div", { className: "flex justify-start", children: /* @__PURE__ */ jsx45(
9141
9258
  IconButton_default,
9142
9259
  {
9143
- icon: isFullscreen ? /* @__PURE__ */ jsx44(ArrowsInSimple, { size: 24 }) : /* @__PURE__ */ jsx44(ArrowsOutSimple, { size: 24 }),
9260
+ icon: isFullscreen ? /* @__PURE__ */ jsx45(ArrowsInSimple, { size: 24 }) : /* @__PURE__ */ jsx45(ArrowsOutSimple, { size: 24 }),
9144
9261
  onClick: toggleFullscreen,
9145
9262
  "aria-label": isFullscreen ? "Exit fullscreen" : "Enter fullscreen",
9146
9263
  className: "!bg-transparent !text-white hover:!bg-white/20"
@@ -9148,7 +9265,7 @@ var VideoPlayer = ({
9148
9265
  ) })
9149
9266
  }
9150
9267
  ),
9151
- /* @__PURE__ */ jsxs31(
9268
+ /* @__PURE__ */ jsxs32(
9152
9269
  "div",
9153
9270
  {
9154
9271
  className: cn(
@@ -9156,7 +9273,7 @@ var VideoPlayer = ({
9156
9273
  getBottomControlsOpacity()
9157
9274
  ),
9158
9275
  children: [
9159
- /* @__PURE__ */ jsx44(
9276
+ /* @__PURE__ */ jsx45(
9160
9277
  ProgressBar2,
9161
9278
  {
9162
9279
  currentTime,
@@ -9166,7 +9283,7 @@ var VideoPlayer = ({
9166
9283
  className: getProgressBarPadding()
9167
9284
  }
9168
9285
  ),
9169
- /* @__PURE__ */ jsxs31(
9286
+ /* @__PURE__ */ jsxs32(
9170
9287
  "div",
9171
9288
  {
9172
9289
  className: cn(
@@ -9174,17 +9291,17 @@ var VideoPlayer = ({
9174
9291
  getControlsPadding()
9175
9292
  ),
9176
9293
  children: [
9177
- /* @__PURE__ */ jsxs31("div", { className: cn("flex items-center", getControlsGap()), children: [
9178
- /* @__PURE__ */ jsx44(
9294
+ /* @__PURE__ */ jsxs32("div", { className: cn("flex items-center", getControlsGap()), children: [
9295
+ /* @__PURE__ */ jsx45(
9179
9296
  IconButton_default,
9180
9297
  {
9181
- icon: isPlaying ? /* @__PURE__ */ jsx44(Pause, { size: getIconSize2() }) : /* @__PURE__ */ jsx44(Play2, { size: getIconSize2() }),
9298
+ icon: isPlaying ? /* @__PURE__ */ jsx45(Pause, { size: getIconSize2() }) : /* @__PURE__ */ jsx45(Play2, { size: getIconSize2() }),
9182
9299
  onClick: togglePlayPause,
9183
9300
  "aria-label": isPlaying ? "Pause" : "Play",
9184
9301
  className: "!bg-transparent !text-white hover:!bg-white/20"
9185
9302
  }
9186
9303
  ),
9187
- /* @__PURE__ */ jsx44(
9304
+ /* @__PURE__ */ jsx45(
9188
9305
  VolumeControls,
9189
9306
  {
9190
9307
  volume,
@@ -9195,10 +9312,10 @@ var VideoPlayer = ({
9195
9312
  showSlider: !isUltraSmallMobile
9196
9313
  }
9197
9314
  ),
9198
- groupedSubTitleValid && /* @__PURE__ */ jsx44(
9315
+ groupedSubTitleValid && /* @__PURE__ */ jsx45(
9199
9316
  IconButton_default,
9200
9317
  {
9201
- icon: /* @__PURE__ */ jsx44(ClosedCaptioning, { size: getIconSize2() }),
9318
+ icon: /* @__PURE__ */ jsx45(ClosedCaptioning, { size: getIconSize2() }),
9202
9319
  onClick: toggleCaptions,
9203
9320
  "aria-label": showCaptions ? "Hide captions" : "Show captions",
9204
9321
  className: cn(
@@ -9207,13 +9324,13 @@ var VideoPlayer = ({
9207
9324
  )
9208
9325
  }
9209
9326
  ),
9210
- /* @__PURE__ */ jsxs31(Text_default, { size: "sm", weight: "medium", color: "text-white", children: [
9327
+ /* @__PURE__ */ jsxs32(Text_default, { size: "sm", weight: "medium", color: "text-white", children: [
9211
9328
  formatTime(currentTime),
9212
9329
  " / ",
9213
9330
  formatTime(duration)
9214
9331
  ] })
9215
9332
  ] }),
9216
- /* @__PURE__ */ jsx44("div", { className: "flex items-center gap-4", children: /* @__PURE__ */ jsx44(
9333
+ /* @__PURE__ */ jsx45("div", { className: "flex items-center gap-4", children: /* @__PURE__ */ jsx45(
9217
9334
  SpeedMenu,
9218
9335
  {
9219
9336
  showSpeedMenu,
@@ -9241,7 +9358,7 @@ var VideoPlayer_default = VideoPlayer;
9241
9358
  // src/components/Whiteboard/Whiteboard.tsx
9242
9359
  import { useCallback as useCallback4, useState as useState15 } from "react";
9243
9360
  import { ArrowsOut } from "phosphor-react";
9244
- import { Fragment as Fragment9, jsx as jsx45, jsxs as jsxs32 } from "react/jsx-runtime";
9361
+ import { Fragment as Fragment9, jsx as jsx46, jsxs as jsxs33 } from "react/jsx-runtime";
9245
9362
  var IMAGE_WIDTH = 225;
9246
9363
  var IMAGE_HEIGHT = 90;
9247
9364
  var Whiteboard = ({
@@ -9279,7 +9396,7 @@ var Whiteboard = ({
9279
9396
  4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
9280
9397
  }[imagesPerRow];
9281
9398
  if (!images || images.length === 0) {
9282
- return /* @__PURE__ */ jsx45(
9399
+ return /* @__PURE__ */ jsx46(
9283
9400
  "div",
9284
9401
  {
9285
9402
  className: cn(
@@ -9287,11 +9404,11 @@ var Whiteboard = ({
9287
9404
  className
9288
9405
  ),
9289
9406
  ...rest,
9290
- children: /* @__PURE__ */ jsx45("p", { className: "text-gray-400 text-sm", children: "Nenhuma imagem dispon\xEDvel" })
9407
+ children: /* @__PURE__ */ jsx46("p", { className: "text-gray-400 text-sm", children: "Nenhuma imagem dispon\xEDvel" })
9291
9408
  }
9292
9409
  );
9293
9410
  }
9294
- return /* @__PURE__ */ jsx45(
9411
+ return /* @__PURE__ */ jsx46(
9295
9412
  "div",
9296
9413
  {
9297
9414
  className: cn(
@@ -9299,7 +9416,7 @@ var Whiteboard = ({
9299
9416
  className
9300
9417
  ),
9301
9418
  ...rest,
9302
- children: /* @__PURE__ */ jsx45("div", { className: cn("grid gap-4", gridColsClass), children: images.map((image) => /* @__PURE__ */ jsxs32(
9419
+ children: /* @__PURE__ */ jsx46("div", { className: cn("grid gap-4", gridColsClass), children: images.map((image) => /* @__PURE__ */ jsxs33(
9303
9420
  "div",
9304
9421
  {
9305
9422
  className: "relative group overflow-hidden bg-gray-100 rounded-lg",
@@ -9307,7 +9424,7 @@ var Whiteboard = ({
9307
9424
  width: `${IMAGE_WIDTH}px`
9308
9425
  },
9309
9426
  children: [
9310
- /* @__PURE__ */ jsx45(
9427
+ /* @__PURE__ */ jsx46(
9311
9428
  "div",
9312
9429
  {
9313
9430
  className: "relative",
@@ -9315,8 +9432,8 @@ var Whiteboard = ({
9315
9432
  width: `${IMAGE_WIDTH}px`,
9316
9433
  height: `${IMAGE_HEIGHT}px`
9317
9434
  },
9318
- children: imageErrors.has(image.id) ? /* @__PURE__ */ jsx45("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200", children: /* @__PURE__ */ jsx45("p", { className: "text-gray-500 text-sm text-center px-2", children: "Imagem indispon\xEDvel" }) }) : /* @__PURE__ */ jsxs32(Fragment9, { children: [
9319
- /* @__PURE__ */ jsx45(
9435
+ children: imageErrors.has(image.id) ? /* @__PURE__ */ jsx46("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200", children: /* @__PURE__ */ jsx46("p", { className: "text-gray-500 text-sm text-center px-2", children: "Imagem indispon\xEDvel" }) }) : /* @__PURE__ */ jsxs33(Fragment9, { children: [
9436
+ /* @__PURE__ */ jsx46(
9320
9437
  "img",
9321
9438
  {
9322
9439
  src: image.imageUrl,
@@ -9326,18 +9443,18 @@ var Whiteboard = ({
9326
9443
  onError: () => handleImageError(image.id)
9327
9444
  }
9328
9445
  ),
9329
- /* @__PURE__ */ jsx45("div", { className: "absolute inset-0 bg-gradient-to-t from-black/20 to-transparent" })
9446
+ /* @__PURE__ */ jsx46("div", { className: "absolute inset-0 bg-gradient-to-t from-black/20 to-transparent" })
9330
9447
  ] })
9331
9448
  }
9332
9449
  ),
9333
- showDownload && /* @__PURE__ */ jsx45(
9450
+ showDownload && /* @__PURE__ */ jsx46(
9334
9451
  "button",
9335
9452
  {
9336
9453
  type: "button",
9337
9454
  onClick: () => handleDownload(image),
9338
9455
  className: "cursor-pointer 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",
9339
9456
  "aria-label": `Download ${image.title || "imagem"}`,
9340
- children: /* @__PURE__ */ jsx45(
9457
+ children: /* @__PURE__ */ jsx46(
9341
9458
  ArrowsOut,
9342
9459
  {
9343
9460
  size: 24,
@@ -9366,7 +9483,7 @@ import {
9366
9483
  useMemo as useMemo4
9367
9484
  } from "react";
9368
9485
  import { useLocation, Navigate } from "react-router-dom";
9369
- import { Fragment as Fragment10, jsx as jsx46 } from "react/jsx-runtime";
9486
+ import { Fragment as Fragment10, jsx as jsx47 } from "react/jsx-runtime";
9370
9487
  var AuthContext = createContext(void 0);
9371
9488
  var AuthProvider = ({
9372
9489
  children,
@@ -9436,7 +9553,7 @@ var AuthProvider = ({
9436
9553
  }),
9437
9554
  [authState, checkAuth, signOut]
9438
9555
  );
9439
- return /* @__PURE__ */ jsx46(AuthContext.Provider, { value: contextValue, children });
9556
+ return /* @__PURE__ */ jsx47(AuthContext.Provider, { value: contextValue, children });
9440
9557
  };
9441
9558
  var useAuth = () => {
9442
9559
  const context = useContext(AuthContext);
@@ -9452,9 +9569,9 @@ var ProtectedRoute = ({
9452
9569
  additionalCheck
9453
9570
  }) => {
9454
9571
  const { isAuthenticated, isLoading, ...authState } = useAuth();
9455
- const defaultLoadingComponent = /* @__PURE__ */ jsx46("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx46("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
9572
+ const defaultLoadingComponent = /* @__PURE__ */ jsx47("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx47("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
9456
9573
  if (isLoading) {
9457
- return /* @__PURE__ */ jsx46(Fragment10, { children: loadingComponent || defaultLoadingComponent });
9574
+ return /* @__PURE__ */ jsx47(Fragment10, { children: loadingComponent || defaultLoadingComponent });
9458
9575
  }
9459
9576
  if (!isAuthenticated) {
9460
9577
  if (typeof window !== "undefined") {
@@ -9465,12 +9582,12 @@ var ProtectedRoute = ({
9465
9582
  return null;
9466
9583
  }
9467
9584
  }
9468
- return /* @__PURE__ */ jsx46(Navigate, { to: redirectTo, replace: true });
9585
+ return /* @__PURE__ */ jsx47(Navigate, { to: redirectTo, replace: true });
9469
9586
  }
9470
9587
  if (additionalCheck && !additionalCheck({ isAuthenticated, isLoading, ...authState })) {
9471
- return /* @__PURE__ */ jsx46(Navigate, { to: redirectTo, replace: true });
9588
+ return /* @__PURE__ */ jsx47(Navigate, { to: redirectTo, replace: true });
9472
9589
  }
9473
- return /* @__PURE__ */ jsx46(Fragment10, { children });
9590
+ return /* @__PURE__ */ jsx47(Fragment10, { children });
9474
9591
  };
9475
9592
  var PublicRoute = ({
9476
9593
  children,
@@ -9480,15 +9597,15 @@ var PublicRoute = ({
9480
9597
  }) => {
9481
9598
  const { isAuthenticated, isLoading } = useAuth();
9482
9599
  if (checkAuthBeforeRender && isLoading) {
9483
- return /* @__PURE__ */ jsx46("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx46("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
9600
+ return /* @__PURE__ */ jsx47("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx47("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
9484
9601
  }
9485
9602
  if (isAuthenticated && redirectIfAuthenticated) {
9486
- return /* @__PURE__ */ jsx46(Navigate, { to: redirectTo, replace: true });
9603
+ return /* @__PURE__ */ jsx47(Navigate, { to: redirectTo, replace: true });
9487
9604
  }
9488
- return /* @__PURE__ */ jsx46(Fragment10, { children });
9605
+ return /* @__PURE__ */ jsx47(Fragment10, { children });
9489
9606
  };
9490
9607
  var withAuth = (Component, options = {}) => {
9491
- return (props) => /* @__PURE__ */ jsx46(ProtectedRoute, { ...options, children: /* @__PURE__ */ jsx46(Component, { ...props }) });
9608
+ return (props) => /* @__PURE__ */ jsx47(ProtectedRoute, { ...options, children: /* @__PURE__ */ jsx47(Component, { ...props }) });
9492
9609
  };
9493
9610
  var useAuthGuard = (options = {}) => {
9494
9611
  const authState = useAuth();
@@ -9503,7 +9620,7 @@ var useAuthGuard = (options = {}) => {
9503
9620
  var useRouteAuth = (fallbackPath = "/") => {
9504
9621
  const { isAuthenticated, isLoading } = useAuth();
9505
9622
  const location = useLocation();
9506
- const redirectToLogin = () => /* @__PURE__ */ jsx46(Navigate, { to: fallbackPath, state: { from: location }, replace: true });
9623
+ const redirectToLogin = () => /* @__PURE__ */ jsx47(Navigate, { to: fallbackPath, state: { from: location }, replace: true });
9507
9624
  return {
9508
9625
  isAuthenticated,
9509
9626
  isLoading,
@@ -9543,7 +9660,7 @@ import {
9543
9660
  useState as useState17
9544
9661
  } from "react";
9545
9662
  import { CaretRight as CaretRight4 } from "phosphor-react";
9546
- import { jsx as jsx47, jsxs as jsxs33 } from "react/jsx-runtime";
9663
+ import { jsx as jsx48, jsxs as jsxs34 } from "react/jsx-runtime";
9547
9664
  var CardAccordation = forwardRef18(
9548
9665
  ({
9549
9666
  trigger,
@@ -9566,7 +9683,7 @@ var CardAccordation = forwardRef18(
9566
9683
  handleToggle();
9567
9684
  }
9568
9685
  };
9569
- return /* @__PURE__ */ jsxs33(
9686
+ return /* @__PURE__ */ jsxs34(
9570
9687
  CardBase,
9571
9688
  {
9572
9689
  ref,
@@ -9576,7 +9693,7 @@ var CardAccordation = forwardRef18(
9576
9693
  className: cn("overflow-hidden", className),
9577
9694
  ...props,
9578
9695
  children: [
9579
- /* @__PURE__ */ jsxs33(
9696
+ /* @__PURE__ */ jsxs34(
9580
9697
  "button",
9581
9698
  {
9582
9699
  onClick: handleToggle,
@@ -9586,7 +9703,7 @@ var CardAccordation = forwardRef18(
9586
9703
  "aria-controls": "accordion-content",
9587
9704
  children: [
9588
9705
  trigger,
9589
- /* @__PURE__ */ jsx47(
9706
+ /* @__PURE__ */ jsx48(
9590
9707
  CaretRight4,
9591
9708
  {
9592
9709
  size: 20,
@@ -9600,7 +9717,7 @@ var CardAccordation = forwardRef18(
9600
9717
  ]
9601
9718
  }
9602
9719
  ),
9603
- /* @__PURE__ */ jsx47(
9720
+ /* @__PURE__ */ jsx48(
9604
9721
  "div",
9605
9722
  {
9606
9723
  id: contentId,
@@ -9609,7 +9726,7 @@ var CardAccordation = forwardRef18(
9609
9726
  isExpanded ? "max-h-screen opacity-100" : "max-h-0 opacity-0"
9610
9727
  ),
9611
9728
  "data-testid": "accordion-content",
9612
- children: /* @__PURE__ */ jsx47("div", { className: "p-4 pt-0 border-border-50", children })
9729
+ children: /* @__PURE__ */ jsx48("div", { className: "p-4 pt-0 border-border-50", children })
9613
9730
  }
9614
9731
  )
9615
9732
  ]
@@ -9621,7 +9738,7 @@ var CardAccordation = forwardRef18(
9621
9738
  // src/components/Alternative/Alternative.tsx
9622
9739
  import { CheckCircle as CheckCircle4, XCircle as XCircle3 } from "phosphor-react";
9623
9740
  import { forwardRef as forwardRef19, useId as useId10, useState as useState18 } from "react";
9624
- import { jsx as jsx48, jsxs as jsxs34 } from "react/jsx-runtime";
9741
+ import { jsx as jsx49, jsxs as jsxs35 } from "react/jsx-runtime";
9625
9742
  var AlternativesList = ({
9626
9743
  alternatives,
9627
9744
  name,
@@ -9652,9 +9769,9 @@ var AlternativesList = ({
9652
9769
  const getStatusBadge2 = (status) => {
9653
9770
  switch (status) {
9654
9771
  case "correct":
9655
- return /* @__PURE__ */ jsx48(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx48(CheckCircle4, {}), children: "Resposta correta" });
9772
+ return /* @__PURE__ */ jsx49(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx49(CheckCircle4, {}), children: "Resposta correta" });
9656
9773
  case "incorrect":
9657
- return /* @__PURE__ */ jsx48(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx48(XCircle3, {}), children: "Resposta incorreta" });
9774
+ return /* @__PURE__ */ jsx49(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx49(XCircle3, {}), children: "Resposta incorreta" });
9658
9775
  default:
9659
9776
  return null;
9660
9777
  }
@@ -9684,10 +9801,10 @@ var AlternativesList = ({
9684
9801
  const renderRadio = () => {
9685
9802
  const radioClasses = `w-6 h-6 rounded-full border-2 cursor-default transition-all duration-200 flex items-center justify-center ${isUserSelected ? "border-primary-950 bg-background" : "border-border-400 bg-background"}`;
9686
9803
  const dotClasses = "w-3 h-3 rounded-full bg-primary-950 transition-all duration-200";
9687
- return /* @__PURE__ */ jsx48("div", { className: radioClasses, children: isUserSelected && /* @__PURE__ */ jsx48("div", { className: dotClasses }) });
9804
+ return /* @__PURE__ */ jsx49("div", { className: radioClasses, children: isUserSelected && /* @__PURE__ */ jsx49("div", { className: dotClasses }) });
9688
9805
  };
9689
9806
  if (layout === "detailed") {
9690
- return /* @__PURE__ */ jsx48(
9807
+ return /* @__PURE__ */ jsx49(
9691
9808
  "div",
9692
9809
  {
9693
9810
  className: cn(
@@ -9695,11 +9812,11 @@ var AlternativesList = ({
9695
9812
  statusStyles,
9696
9813
  alternative.disabled ? "opacity-50" : ""
9697
9814
  ),
9698
- children: /* @__PURE__ */ jsxs34("div", { className: "flex items-start justify-between gap-3", children: [
9699
- /* @__PURE__ */ jsxs34("div", { className: "flex items-start gap-3 flex-1", children: [
9700
- /* @__PURE__ */ jsx48("div", { className: "mt-1", children: renderRadio() }),
9701
- /* @__PURE__ */ jsxs34("div", { className: "flex-1", children: [
9702
- /* @__PURE__ */ jsx48(
9815
+ children: /* @__PURE__ */ jsxs35("div", { className: "flex items-start justify-between gap-3", children: [
9816
+ /* @__PURE__ */ jsxs35("div", { className: "flex items-start gap-3 flex-1", children: [
9817
+ /* @__PURE__ */ jsx49("div", { className: "mt-1", children: renderRadio() }),
9818
+ /* @__PURE__ */ jsxs35("div", { className: "flex-1", children: [
9819
+ /* @__PURE__ */ jsx49(
9703
9820
  "p",
9704
9821
  {
9705
9822
  className: cn(
@@ -9709,16 +9826,16 @@ var AlternativesList = ({
9709
9826
  children: alternative.label
9710
9827
  }
9711
9828
  ),
9712
- alternative.description && /* @__PURE__ */ jsx48("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
9829
+ alternative.description && /* @__PURE__ */ jsx49("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
9713
9830
  ] })
9714
9831
  ] }),
9715
- statusBadge && /* @__PURE__ */ jsx48("div", { className: "flex-shrink-0", children: statusBadge })
9832
+ statusBadge && /* @__PURE__ */ jsx49("div", { className: "flex-shrink-0", children: statusBadge })
9716
9833
  ] })
9717
9834
  },
9718
9835
  alternativeId
9719
9836
  );
9720
9837
  }
9721
- return /* @__PURE__ */ jsxs34(
9838
+ return /* @__PURE__ */ jsxs35(
9722
9839
  "div",
9723
9840
  {
9724
9841
  className: cn(
@@ -9727,9 +9844,9 @@ var AlternativesList = ({
9727
9844
  alternative.disabled ? "opacity-50" : ""
9728
9845
  ),
9729
9846
  children: [
9730
- /* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-2 flex-1", children: [
9847
+ /* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-2 flex-1", children: [
9731
9848
  renderRadio(),
9732
- /* @__PURE__ */ jsx48(
9849
+ /* @__PURE__ */ jsx49(
9733
9850
  "span",
9734
9851
  {
9735
9852
  className: cn(
@@ -9740,14 +9857,14 @@ var AlternativesList = ({
9740
9857
  }
9741
9858
  )
9742
9859
  ] }),
9743
- statusBadge && /* @__PURE__ */ jsx48("div", { className: "flex-shrink-0", children: statusBadge })
9860
+ statusBadge && /* @__PURE__ */ jsx49("div", { className: "flex-shrink-0", children: statusBadge })
9744
9861
  ]
9745
9862
  },
9746
9863
  alternativeId
9747
9864
  );
9748
9865
  };
9749
9866
  if (isReadonly) {
9750
- return /* @__PURE__ */ jsx48(
9867
+ return /* @__PURE__ */ jsx49(
9751
9868
  "div",
9752
9869
  {
9753
9870
  className: cn("flex flex-col", getLayoutClasses(), "w-full", className),
@@ -9757,7 +9874,7 @@ var AlternativesList = ({
9757
9874
  }
9758
9875
  );
9759
9876
  }
9760
- return /* @__PURE__ */ jsx48(
9877
+ return /* @__PURE__ */ jsx49(
9761
9878
  RadioGroup,
9762
9879
  {
9763
9880
  name: groupName,
@@ -9774,7 +9891,7 @@ var AlternativesList = ({
9774
9891
  const statusStyles = getStatusStyles2(alternative.status, false);
9775
9892
  const statusBadge = getStatusBadge2(alternative.status);
9776
9893
  if (layout === "detailed") {
9777
- return /* @__PURE__ */ jsx48(
9894
+ return /* @__PURE__ */ jsx49(
9778
9895
  "div",
9779
9896
  {
9780
9897
  className: cn(
@@ -9782,9 +9899,9 @@ var AlternativesList = ({
9782
9899
  statusStyles,
9783
9900
  alternative.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
9784
9901
  ),
9785
- children: /* @__PURE__ */ jsxs34("div", { className: "flex items-start justify-between gap-3", children: [
9786
- /* @__PURE__ */ jsxs34("div", { className: "flex items-start gap-3 flex-1", children: [
9787
- /* @__PURE__ */ jsx48(
9902
+ children: /* @__PURE__ */ jsxs35("div", { className: "flex items-start justify-between gap-3", children: [
9903
+ /* @__PURE__ */ jsxs35("div", { className: "flex items-start gap-3 flex-1", children: [
9904
+ /* @__PURE__ */ jsx49(
9788
9905
  RadioGroupItem,
9789
9906
  {
9790
9907
  value: alternative.value,
@@ -9793,8 +9910,8 @@ var AlternativesList = ({
9793
9910
  className: "mt-1"
9794
9911
  }
9795
9912
  ),
9796
- /* @__PURE__ */ jsxs34("div", { className: "flex-1", children: [
9797
- /* @__PURE__ */ jsx48(
9913
+ /* @__PURE__ */ jsxs35("div", { className: "flex-1", children: [
9914
+ /* @__PURE__ */ jsx49(
9798
9915
  "label",
9799
9916
  {
9800
9917
  htmlFor: alternativeId,
@@ -9806,16 +9923,16 @@ var AlternativesList = ({
9806
9923
  children: alternative.label
9807
9924
  }
9808
9925
  ),
9809
- alternative.description && /* @__PURE__ */ jsx48("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
9926
+ alternative.description && /* @__PURE__ */ jsx49("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
9810
9927
  ] })
9811
9928
  ] }),
9812
- statusBadge && /* @__PURE__ */ jsx48("div", { className: "flex-shrink-0", children: statusBadge })
9929
+ statusBadge && /* @__PURE__ */ jsx49("div", { className: "flex-shrink-0", children: statusBadge })
9813
9930
  ] })
9814
9931
  },
9815
9932
  alternativeId
9816
9933
  );
9817
9934
  }
9818
- return /* @__PURE__ */ jsxs34(
9935
+ return /* @__PURE__ */ jsxs35(
9819
9936
  "div",
9820
9937
  {
9821
9938
  className: cn(
@@ -9824,8 +9941,8 @@ var AlternativesList = ({
9824
9941
  alternative.disabled ? "opacity-50 cursor-not-allowed" : ""
9825
9942
  ),
9826
9943
  children: [
9827
- /* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-2 flex-1", children: [
9828
- /* @__PURE__ */ jsx48(
9944
+ /* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-2 flex-1", children: [
9945
+ /* @__PURE__ */ jsx49(
9829
9946
  RadioGroupItem,
9830
9947
  {
9831
9948
  value: alternative.value,
@@ -9833,7 +9950,7 @@ var AlternativesList = ({
9833
9950
  disabled: alternative.disabled
9834
9951
  }
9835
9952
  ),
9836
- /* @__PURE__ */ jsx48(
9953
+ /* @__PURE__ */ jsx49(
9837
9954
  "label",
9838
9955
  {
9839
9956
  htmlFor: alternativeId,
@@ -9846,7 +9963,7 @@ var AlternativesList = ({
9846
9963
  }
9847
9964
  )
9848
9965
  ] }),
9849
- statusBadge && /* @__PURE__ */ jsx48("div", { className: "flex-shrink-0", children: statusBadge })
9966
+ statusBadge && /* @__PURE__ */ jsx49("div", { className: "flex-shrink-0", children: statusBadge })
9850
9967
  ]
9851
9968
  },
9852
9969
  alternativeId
@@ -9857,7 +9974,7 @@ var AlternativesList = ({
9857
9974
  };
9858
9975
  var HeaderAlternative = forwardRef19(
9859
9976
  ({ className, title, subTitle, content, ...props }, ref) => {
9860
- return /* @__PURE__ */ jsxs34(
9977
+ return /* @__PURE__ */ jsxs35(
9861
9978
  "div",
9862
9979
  {
9863
9980
  ref,
@@ -9867,11 +9984,11 @@ var HeaderAlternative = forwardRef19(
9867
9984
  ),
9868
9985
  ...props,
9869
9986
  children: [
9870
- /* @__PURE__ */ jsxs34("span", { className: "flex flex-col", children: [
9871
- /* @__PURE__ */ jsx48("p", { className: "text-text-950 font-bold text-lg", children: title }),
9872
- /* @__PURE__ */ jsx48("p", { className: "text-text-700 text-sm ", children: subTitle })
9987
+ /* @__PURE__ */ jsxs35("span", { className: "flex flex-col", children: [
9988
+ /* @__PURE__ */ jsx49("p", { className: "text-text-950 font-bold text-lg", children: title }),
9989
+ /* @__PURE__ */ jsx49("p", { className: "text-text-700 text-sm ", children: subTitle })
9873
9990
  ] }),
9874
- /* @__PURE__ */ jsx48("p", { className: "text-text-950 text-md", children: content })
9991
+ /* @__PURE__ */ jsx49("p", { className: "text-text-950 text-md", children: content })
9875
9992
  ]
9876
9993
  }
9877
9994
  );
@@ -10669,7 +10786,7 @@ import {
10669
10786
  // src/components/MultipleChoice/MultipleChoice.tsx
10670
10787
  import { useEffect as useEffect18, useState as useState19 } from "react";
10671
10788
  import { CheckCircle as CheckCircle5, XCircle as XCircle4, Check as Check5 } from "phosphor-react";
10672
- import { jsx as jsx49, jsxs as jsxs35 } from "react/jsx-runtime";
10789
+ import { jsx as jsx50, jsxs as jsxs36 } from "react/jsx-runtime";
10673
10790
  var MultipleChoiceList = ({
10674
10791
  disabled = false,
10675
10792
  className = "",
@@ -10686,9 +10803,9 @@ var MultipleChoiceList = ({
10686
10803
  const getStatusBadge2 = (status) => {
10687
10804
  switch (status) {
10688
10805
  case "correct":
10689
- return /* @__PURE__ */ jsx49(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx49(CheckCircle5, {}), children: "Resposta correta" });
10806
+ return /* @__PURE__ */ jsx50(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx50(CheckCircle5, {}), children: "Resposta correta" });
10690
10807
  case "incorrect":
10691
- return /* @__PURE__ */ jsx49(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx49(XCircle4, {}), children: "Resposta incorreta" });
10808
+ return /* @__PURE__ */ jsx50(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx50(XCircle4, {}), children: "Resposta incorreta" });
10692
10809
  default:
10693
10810
  return null;
10694
10811
  }
@@ -10709,14 +10826,14 @@ var MultipleChoiceList = ({
10709
10826
  isSelected ? "border-primary-950 bg-primary-950 text-text" : "border-border-400 bg-background",
10710
10827
  isDisabled && "opacity-40 cursor-not-allowed"
10711
10828
  );
10712
- return /* @__PURE__ */ jsx49("div", { className: checkboxClasses, children: isSelected && /* @__PURE__ */ jsx49(Check5, { size: 16, weight: "bold" }) });
10829
+ return /* @__PURE__ */ jsx50("div", { className: checkboxClasses, children: isSelected && /* @__PURE__ */ jsx50(Check5, { size: 16, weight: "bold" }) });
10713
10830
  };
10714
10831
  if (mode === "readonly") {
10715
- return /* @__PURE__ */ jsx49("div", { className: cn("flex flex-col gap-2", className), children: choices.map((choice, i) => {
10832
+ return /* @__PURE__ */ jsx50("div", { className: cn("flex flex-col gap-2", className), children: choices.map((choice, i) => {
10716
10833
  const isSelected = actualValue?.includes(choice.value) || false;
10717
10834
  const statusStyles = getStatusStyles2(choice.status);
10718
10835
  const statusBadge = getStatusBadge2(choice.status);
10719
- return /* @__PURE__ */ jsxs35(
10836
+ return /* @__PURE__ */ jsxs36(
10720
10837
  "div",
10721
10838
  {
10722
10839
  className: cn(
@@ -10725,9 +10842,9 @@ var MultipleChoiceList = ({
10725
10842
  choice.disabled ? "opacity-50 cursor-not-allowed" : ""
10726
10843
  ),
10727
10844
  children: [
10728
- /* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-2 flex-1", children: [
10845
+ /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-2 flex-1", children: [
10729
10846
  renderVisualCheckbox(isSelected, choice.disabled || disabled),
10730
- /* @__PURE__ */ jsx49(
10847
+ /* @__PURE__ */ jsx50(
10731
10848
  "span",
10732
10849
  {
10733
10850
  className: cn(
@@ -10739,14 +10856,14 @@ var MultipleChoiceList = ({
10739
10856
  }
10740
10857
  )
10741
10858
  ] }),
10742
- statusBadge && /* @__PURE__ */ jsx49("div", { className: "flex-shrink-0", children: statusBadge })
10859
+ statusBadge && /* @__PURE__ */ jsx50("div", { className: "flex-shrink-0", children: statusBadge })
10743
10860
  ]
10744
10861
  },
10745
10862
  `readonly-${choice.value}-${i}`
10746
10863
  );
10747
10864
  }) });
10748
10865
  }
10749
- return /* @__PURE__ */ jsx49(
10866
+ return /* @__PURE__ */ jsx50(
10750
10867
  "div",
10751
10868
  {
10752
10869
  className: cn(
@@ -10754,7 +10871,7 @@ var MultipleChoiceList = ({
10754
10871
  disabled ? "opacity-50 cursor-not-allowed" : "",
10755
10872
  className
10756
10873
  ),
10757
- children: /* @__PURE__ */ jsx49(
10874
+ children: /* @__PURE__ */ jsx50(
10758
10875
  CheckboxList_default,
10759
10876
  {
10760
10877
  name,
@@ -10764,12 +10881,12 @@ var MultipleChoiceList = ({
10764
10881
  onHandleSelectedValues?.(v);
10765
10882
  },
10766
10883
  disabled,
10767
- children: choices.map((choice, i) => /* @__PURE__ */ jsxs35(
10884
+ children: choices.map((choice, i) => /* @__PURE__ */ jsxs36(
10768
10885
  "div",
10769
10886
  {
10770
10887
  className: "flex flex-row gap-2 items-center",
10771
10888
  children: [
10772
- /* @__PURE__ */ jsx49(
10889
+ /* @__PURE__ */ jsx50(
10773
10890
  CheckboxListItem,
10774
10891
  {
10775
10892
  value: choice.value,
@@ -10777,7 +10894,7 @@ var MultipleChoiceList = ({
10777
10894
  disabled: choice.disabled || disabled
10778
10895
  }
10779
10896
  ),
10780
- /* @__PURE__ */ jsx49(
10897
+ /* @__PURE__ */ jsx50(
10781
10898
  "label",
10782
10899
  {
10783
10900
  htmlFor: `interactive-${choice.value}-${i}`,
@@ -10806,13 +10923,13 @@ import { CheckCircle as CheckCircle6, XCircle as XCircle5 } from "phosphor-react
10806
10923
  var mock_image_question_default = "./mock-image-question-HEZCLFDL.png";
10807
10924
 
10808
10925
  // src/components/Quiz/QuizContent.tsx
10809
- import { Fragment as Fragment11, jsx as jsx50, jsxs as jsxs36 } from "react/jsx-runtime";
10926
+ import { Fragment as Fragment11, jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
10810
10927
  var getStatusBadge = (status) => {
10811
10928
  switch (status) {
10812
10929
  case "correct":
10813
- return /* @__PURE__ */ jsx50(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx50(CheckCircle6, {}), children: "Resposta correta" });
10930
+ return /* @__PURE__ */ jsx51(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx51(CheckCircle6, {}), children: "Resposta correta" });
10814
10931
  case "incorrect":
10815
- return /* @__PURE__ */ jsx50(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx50(XCircle5, {}), children: "Resposta incorreta" });
10932
+ return /* @__PURE__ */ jsx51(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx51(XCircle5, {}), children: "Resposta incorreta" });
10816
10933
  default:
10817
10934
  return null;
10818
10935
  }
@@ -10827,11 +10944,11 @@ var getStatusStyles = (variantCorrect) => {
10827
10944
  };
10828
10945
  var QuizSubTitle = forwardRef20(
10829
10946
  ({ subTitle, ...props }, ref) => {
10830
- return /* @__PURE__ */ jsx50("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ jsx50("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
10947
+ return /* @__PURE__ */ jsx51("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ jsx51("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
10831
10948
  }
10832
10949
  );
10833
10950
  var QuizContainer = forwardRef20(({ children, className, ...props }, ref) => {
10834
- return /* @__PURE__ */ jsx50(
10951
+ return /* @__PURE__ */ jsx51(
10835
10952
  "div",
10836
10953
  {
10837
10954
  ref,
@@ -10879,10 +10996,10 @@ var QuizAlternative = ({ paddingBottom }) => {
10879
10996
  };
10880
10997
  });
10881
10998
  if (!alternatives)
10882
- return /* @__PURE__ */ jsx50("div", { children: /* @__PURE__ */ jsx50("p", { children: "N\xE3o h\xE1 Alternativas" }) });
10883
- return /* @__PURE__ */ jsxs36(Fragment11, { children: [
10884
- /* @__PURE__ */ jsx50(QuizSubTitle, { subTitle: "Alternativas" }),
10885
- /* @__PURE__ */ jsx50(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx50("div", { className: "space-y-4", children: /* @__PURE__ */ jsx50(
10999
+ return /* @__PURE__ */ jsx51("div", { children: /* @__PURE__ */ jsx51("p", { children: "N\xE3o h\xE1 Alternativas" }) });
11000
+ return /* @__PURE__ */ jsxs37(Fragment11, { children: [
11001
+ /* @__PURE__ */ jsx51(QuizSubTitle, { subTitle: "Alternativas" }),
11002
+ /* @__PURE__ */ jsx51(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx51("div", { className: "space-y-4", children: /* @__PURE__ */ jsx51(
10886
11003
  AlternativesList,
10887
11004
  {
10888
11005
  mode: variant === "default" ? "interactive" : "readonly",
@@ -10980,10 +11097,10 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
10980
11097
  };
10981
11098
  });
10982
11099
  if (!choices)
10983
- return /* @__PURE__ */ jsx50("div", { children: /* @__PURE__ */ jsx50("p", { children: "N\xE3o h\xE1 Escolhas Multiplas" }) });
10984
- return /* @__PURE__ */ jsxs36(Fragment11, { children: [
10985
- /* @__PURE__ */ jsx50(QuizSubTitle, { subTitle: "Alternativas" }),
10986
- /* @__PURE__ */ jsx50(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx50("div", { className: "space-y-4", children: /* @__PURE__ */ jsx50(
11100
+ return /* @__PURE__ */ jsx51("div", { children: /* @__PURE__ */ jsx51("p", { children: "N\xE3o h\xE1 Escolhas Multiplas" }) });
11101
+ return /* @__PURE__ */ jsxs37(Fragment11, { children: [
11102
+ /* @__PURE__ */ jsx51(QuizSubTitle, { subTitle: "Alternativas" }),
11103
+ /* @__PURE__ */ jsx51(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx51("div", { className: "space-y-4", children: /* @__PURE__ */ jsx51(
10987
11104
  MultipleChoiceList,
10988
11105
  {
10989
11106
  choices,
@@ -11029,12 +11146,12 @@ var QuizDissertative = ({ paddingBottom }) => {
11029
11146
  adjustTextareaHeight();
11030
11147
  }, [currentAnswer, adjustTextareaHeight]);
11031
11148
  if (!currentQuestion) {
11032
- return /* @__PURE__ */ jsx50("div", { className: "space-y-4", children: /* @__PURE__ */ jsx50("p", { className: "text-text-600 text-md", children: "Nenhuma quest\xE3o dispon\xEDvel" }) });
11149
+ return /* @__PURE__ */ jsx51("div", { className: "space-y-4", children: /* @__PURE__ */ jsx51("p", { className: "text-text-600 text-md", children: "Nenhuma quest\xE3o dispon\xEDvel" }) });
11033
11150
  }
11034
11151
  const localAnswer = (variant == "result" ? currentQuestionResult?.answer : currentAnswer?.answer) || "";
11035
- return /* @__PURE__ */ jsxs36(Fragment11, { children: [
11036
- /* @__PURE__ */ jsx50(QuizSubTitle, { subTitle: "Resposta" }),
11037
- /* @__PURE__ */ jsx50(QuizContainer, { className: cn(variant != "result" && paddingBottom), children: /* @__PURE__ */ jsx50("div", { className: "space-y-4 max-h-[600px] overflow-y-auto", children: variant === "default" ? /* @__PURE__ */ jsx50("div", { className: "space-y-4", children: /* @__PURE__ */ jsx50(
11152
+ return /* @__PURE__ */ jsxs37(Fragment11, { children: [
11153
+ /* @__PURE__ */ jsx51(QuizSubTitle, { subTitle: "Resposta" }),
11154
+ /* @__PURE__ */ jsx51(QuizContainer, { className: cn(variant != "result" && paddingBottom), children: /* @__PURE__ */ jsx51("div", { className: "space-y-4 max-h-[600px] overflow-y-auto", children: variant === "default" ? /* @__PURE__ */ jsx51("div", { className: "space-y-4", children: /* @__PURE__ */ jsx51(
11038
11155
  TextArea_default,
11039
11156
  {
11040
11157
  ref: textareaRef,
@@ -11044,10 +11161,10 @@ var QuizDissertative = ({ paddingBottom }) => {
11044
11161
  rows: 4,
11045
11162
  className: "min-h-[120px] max-h-[400px] resize-none overflow-y-auto"
11046
11163
  }
11047
- ) }) : /* @__PURE__ */ jsx50("div", { className: "space-y-4", children: /* @__PURE__ */ jsx50("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: localAnswer || "Nenhuma resposta fornecida" }) }) }) }),
11048
- variant === "result" && currentQuestionResult?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ jsxs36(Fragment11, { children: [
11049
- /* @__PURE__ */ jsx50(QuizSubTitle, { subTitle: "Observa\xE7\xE3o do professor" }),
11050
- /* @__PURE__ */ jsx50(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx50("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: currentQuestionResult?.teacherFeedback }) })
11164
+ ) }) : /* @__PURE__ */ jsx51("div", { className: "space-y-4", children: /* @__PURE__ */ jsx51("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: localAnswer || "Nenhuma resposta fornecida" }) }) }) }),
11165
+ variant === "result" && currentQuestionResult?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ jsxs37(Fragment11, { children: [
11166
+ /* @__PURE__ */ jsx51(QuizSubTitle, { subTitle: "Observa\xE7\xE3o do professor" }),
11167
+ /* @__PURE__ */ jsx51(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx51("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: currentQuestionResult?.teacherFeedback }) })
11051
11168
  ] })
11052
11169
  ] });
11053
11170
  };
@@ -11073,16 +11190,16 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
11073
11190
  ];
11074
11191
  const getLetterByIndex = (index) => String.fromCharCode(97 + index);
11075
11192
  const isDefaultVariant = variant == "default";
11076
- return /* @__PURE__ */ jsxs36(Fragment11, { children: [
11077
- /* @__PURE__ */ jsx50(QuizSubTitle, { subTitle: "Alternativas" }),
11078
- /* @__PURE__ */ jsx50(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx50("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
11193
+ return /* @__PURE__ */ jsxs37(Fragment11, { children: [
11194
+ /* @__PURE__ */ jsx51(QuizSubTitle, { subTitle: "Alternativas" }),
11195
+ /* @__PURE__ */ jsx51(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx51("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
11079
11196
  const variantCorrect = option.isCorrect ? "correct" : "incorrect";
11080
- return /* @__PURE__ */ jsxs36(
11197
+ return /* @__PURE__ */ jsxs37(
11081
11198
  "section",
11082
11199
  {
11083
11200
  className: "flex flex-col gap-2",
11084
11201
  children: [
11085
- /* @__PURE__ */ jsxs36(
11202
+ /* @__PURE__ */ jsxs37(
11086
11203
  "div",
11087
11204
  {
11088
11205
  className: cn(
@@ -11090,20 +11207,20 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
11090
11207
  !isDefaultVariant ? getStatusStyles(variantCorrect) : ""
11091
11208
  ),
11092
11209
  children: [
11093
- /* @__PURE__ */ jsx50("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index).concat(") ").concat(option.label) }),
11094
- isDefaultVariant ? /* @__PURE__ */ jsxs36(Select_default, { size: "medium", children: [
11095
- /* @__PURE__ */ jsx50(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx50(SelectValue, { placeholder: "Selecione opc\xE3o" }) }),
11096
- /* @__PURE__ */ jsxs36(SelectContent, { children: [
11097
- /* @__PURE__ */ jsx50(SelectItem, { value: "V", children: "Verdadeiro" }),
11098
- /* @__PURE__ */ jsx50(SelectItem, { value: "F", children: "Falso" })
11210
+ /* @__PURE__ */ jsx51("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index).concat(") ").concat(option.label) }),
11211
+ isDefaultVariant ? /* @__PURE__ */ jsxs37(Select_default, { size: "medium", children: [
11212
+ /* @__PURE__ */ jsx51(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx51(SelectValue, { placeholder: "Selecione opc\xE3o" }) }),
11213
+ /* @__PURE__ */ jsxs37(SelectContent, { children: [
11214
+ /* @__PURE__ */ jsx51(SelectItem, { value: "V", children: "Verdadeiro" }),
11215
+ /* @__PURE__ */ jsx51(SelectItem, { value: "F", children: "Falso" })
11099
11216
  ] })
11100
- ] }) : /* @__PURE__ */ jsx50("div", { className: "flex-shrink-0", children: getStatusBadge(variantCorrect) })
11217
+ ] }) : /* @__PURE__ */ jsx51("div", { className: "flex-shrink-0", children: getStatusBadge(variantCorrect) })
11101
11218
  ]
11102
11219
  }
11103
11220
  ),
11104
- !isDefaultVariant && /* @__PURE__ */ jsxs36("span", { className: "flex flex-row gap-2 items-center", children: [
11105
- /* @__PURE__ */ jsx50("p", { className: "text-text-800 text-2xs", children: "Resposta selecionada: V" }),
11106
- !option.isCorrect && /* @__PURE__ */ jsx50("p", { className: "text-text-800 text-2xs", children: "Resposta correta: F" })
11221
+ !isDefaultVariant && /* @__PURE__ */ jsxs37("span", { className: "flex flex-row gap-2 items-center", children: [
11222
+ /* @__PURE__ */ jsx51("p", { className: "text-text-800 text-2xs", children: "Resposta selecionada: V" }),
11223
+ !option.isCorrect && /* @__PURE__ */ jsx51("p", { className: "text-text-800 text-2xs", children: "Resposta correta: F" })
11107
11224
  ] })
11108
11225
  ]
11109
11226
  },
@@ -11193,13 +11310,13 @@ var QuizConnectDots = ({ paddingBottom }) => {
11193
11310
  const assignedDots = new Set(
11194
11311
  userAnswers.map((a) => a.dotOption).filter(Boolean)
11195
11312
  );
11196
- return /* @__PURE__ */ jsxs36(Fragment11, { children: [
11197
- /* @__PURE__ */ jsx50(QuizSubTitle, { subTitle: "Alternativas" }),
11198
- /* @__PURE__ */ jsx50(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx50("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
11313
+ return /* @__PURE__ */ jsxs37(Fragment11, { children: [
11314
+ /* @__PURE__ */ jsx51(QuizSubTitle, { subTitle: "Alternativas" }),
11315
+ /* @__PURE__ */ jsx51(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx51("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
11199
11316
  const answer = userAnswers[index];
11200
11317
  const variantCorrect = answer.isCorrect ? "correct" : "incorrect";
11201
- return /* @__PURE__ */ jsxs36("section", { className: "flex flex-col gap-2", children: [
11202
- /* @__PURE__ */ jsxs36(
11318
+ return /* @__PURE__ */ jsxs37("section", { className: "flex flex-col gap-2", children: [
11319
+ /* @__PURE__ */ jsxs37(
11203
11320
  "div",
11204
11321
  {
11205
11322
  className: cn(
@@ -11207,30 +11324,30 @@ var QuizConnectDots = ({ paddingBottom }) => {
11207
11324
  !isDefaultVariant ? getStatusStyles(variantCorrect) : ""
11208
11325
  ),
11209
11326
  children: [
11210
- /* @__PURE__ */ jsx50("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index) + ") " + option.label }),
11211
- isDefaultVariant ? /* @__PURE__ */ jsxs36(
11327
+ /* @__PURE__ */ jsx51("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index) + ") " + option.label }),
11328
+ isDefaultVariant ? /* @__PURE__ */ jsxs37(
11212
11329
  Select_default,
11213
11330
  {
11214
11331
  size: "medium",
11215
11332
  value: answer.dotOption || void 0,
11216
11333
  onValueChange: (value) => handleSelectDot(index, value),
11217
11334
  children: [
11218
- /* @__PURE__ */ jsx50(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx50(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
11219
- /* @__PURE__ */ jsx50(SelectContent, { children: dotsOptions.filter(
11335
+ /* @__PURE__ */ jsx51(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx51(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
11336
+ /* @__PURE__ */ jsx51(SelectContent, { children: dotsOptions.filter(
11220
11337
  (dot) => !assignedDots.has(dot.label) || answer.dotOption === dot.label
11221
- ).map((dot) => /* @__PURE__ */ jsx50(SelectItem, { value: dot.label, children: dot.label }, dot.label)) })
11338
+ ).map((dot) => /* @__PURE__ */ jsx51(SelectItem, { value: dot.label, children: dot.label }, dot.label)) })
11222
11339
  ]
11223
11340
  }
11224
- ) : /* @__PURE__ */ jsx50("div", { className: "flex-shrink-0", children: answer.isCorrect === null ? null : getStatusBadge(variantCorrect) })
11341
+ ) : /* @__PURE__ */ jsx51("div", { className: "flex-shrink-0", children: answer.isCorrect === null ? null : getStatusBadge(variantCorrect) })
11225
11342
  ]
11226
11343
  }
11227
11344
  ),
11228
- !isDefaultVariant && /* @__PURE__ */ jsxs36("span", { className: "flex flex-row gap-2 items-center", children: [
11229
- /* @__PURE__ */ jsxs36("p", { className: "text-text-800 text-2xs", children: [
11345
+ !isDefaultVariant && /* @__PURE__ */ jsxs37("span", { className: "flex flex-row gap-2 items-center", children: [
11346
+ /* @__PURE__ */ jsxs37("p", { className: "text-text-800 text-2xs", children: [
11230
11347
  "Resposta selecionada: ",
11231
11348
  answer.dotOption || "Nenhuma"
11232
11349
  ] }),
11233
- !answer.isCorrect && /* @__PURE__ */ jsxs36("p", { className: "text-text-800 text-2xs", children: [
11350
+ !answer.isCorrect && /* @__PURE__ */ jsxs37("p", { className: "text-text-800 text-2xs", children: [
11234
11351
  "Resposta correta: ",
11235
11352
  answer.correctOption
11236
11353
  ] })
@@ -11297,18 +11414,18 @@ var QuizFill = ({ paddingBottom }) => {
11297
11414
  const mockAnswer = mockUserAnswers.find(
11298
11415
  (answer) => answer.selectId === selectId
11299
11416
  );
11300
- return /* @__PURE__ */ jsx50("p", { className: "inline-flex mb-2.5 text-success-600 font-semibold text-md border-b-2 border-success-600", children: mockAnswer?.correctAnswer });
11417
+ return /* @__PURE__ */ jsx51("p", { className: "inline-flex mb-2.5 text-success-600 font-semibold text-md border-b-2 border-success-600", children: mockAnswer?.correctAnswer });
11301
11418
  };
11302
11419
  const renderDefaultElement = (selectId, startIndex, selectedValue, availableOptionsForThisSelect) => {
11303
- return /* @__PURE__ */ jsxs36(
11420
+ return /* @__PURE__ */ jsxs37(
11304
11421
  Select_default,
11305
11422
  {
11306
11423
  value: selectedValue,
11307
11424
  onValueChange: (value) => handleSelectChange(selectId, value),
11308
11425
  className: "inline-flex mb-2.5",
11309
11426
  children: [
11310
- /* @__PURE__ */ jsx50(SelectTrigger, { className: "inline-flex w-auto min-w-[140px] h-8 mx-1 bg-background border-gray-300", children: /* @__PURE__ */ jsx50(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
11311
- /* @__PURE__ */ jsx50(SelectContent, { children: availableOptionsForThisSelect.map((option, index) => /* @__PURE__ */ jsx50(SelectItem, { value: option, children: option }, `${option}-${index}`)) })
11427
+ /* @__PURE__ */ jsx51(SelectTrigger, { className: "inline-flex w-auto min-w-[140px] h-8 mx-1 bg-background border-gray-300", children: /* @__PURE__ */ jsx51(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
11428
+ /* @__PURE__ */ jsx51(SelectContent, { children: availableOptionsForThisSelect.map((option, index) => /* @__PURE__ */ jsx51(SelectItem, { value: option, children: option }, `${option}-${index}`)) })
11312
11429
  ]
11313
11430
  },
11314
11431
  `${selectId}-${startIndex}`
@@ -11320,8 +11437,8 @@ var QuizFill = ({ paddingBottom }) => {
11320
11437
  );
11321
11438
  if (!mockAnswer) return null;
11322
11439
  const action = mockAnswer.isCorrect ? "success" : "error";
11323
- const icon = mockAnswer.isCorrect ? /* @__PURE__ */ jsx50(CheckCircle6, {}) : /* @__PURE__ */ jsx50(XCircle5, {});
11324
- return /* @__PURE__ */ jsx50(
11440
+ const icon = mockAnswer.isCorrect ? /* @__PURE__ */ jsx51(CheckCircle6, {}) : /* @__PURE__ */ jsx51(XCircle5, {});
11441
+ return /* @__PURE__ */ jsx51(
11325
11442
  Badge_default,
11326
11443
  {
11327
11444
  variant: "solid",
@@ -11329,7 +11446,7 @@ var QuizFill = ({ paddingBottom }) => {
11329
11446
  iconRight: icon,
11330
11447
  size: "large",
11331
11448
  className: "py-3 w-[180px] justify-between mb-2.5",
11332
- children: /* @__PURE__ */ jsx50("span", { className: "text-text-900", children: mockAnswer.userAnswer })
11449
+ children: /* @__PURE__ */ jsx51("span", { className: "text-text-900", children: mockAnswer.userAnswer })
11333
11450
  },
11334
11451
  selectId
11335
11452
  );
@@ -11385,25 +11502,25 @@ var QuizFill = ({ paddingBottom }) => {
11385
11502
  }
11386
11503
  return elements;
11387
11504
  };
11388
- return /* @__PURE__ */ jsxs36(Fragment11, { children: [
11389
- /* @__PURE__ */ jsx50(QuizSubTitle, { subTitle: "Alternativas" }),
11390
- /* @__PURE__ */ jsx50(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx50("div", { className: "space-y-6 px-4 h-auto", children: /* @__PURE__ */ jsx50(
11505
+ return /* @__PURE__ */ jsxs37(Fragment11, { children: [
11506
+ /* @__PURE__ */ jsx51(QuizSubTitle, { subTitle: "Alternativas" }),
11507
+ /* @__PURE__ */ jsx51(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx51("div", { className: "space-y-6 px-4 h-auto", children: /* @__PURE__ */ jsx51(
11391
11508
  "div",
11392
11509
  {
11393
11510
  className: cn(
11394
11511
  "text-lg text-text-900 leading-8 h-auto",
11395
11512
  variant != "result" && paddingBottom
11396
11513
  ),
11397
- children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ jsx50("span", { children: element.element }, element.id))
11514
+ children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ jsx51("span", { children: element.element }, element.id))
11398
11515
  }
11399
11516
  ) }) }),
11400
- variant === "result" && /* @__PURE__ */ jsxs36(Fragment11, { children: [
11401
- /* @__PURE__ */ jsx50(QuizSubTitle, { subTitle: "Resultado" }),
11402
- /* @__PURE__ */ jsx50(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx50("div", { className: "space-y-6 px-4", children: /* @__PURE__ */ jsx50(
11517
+ variant === "result" && /* @__PURE__ */ jsxs37(Fragment11, { children: [
11518
+ /* @__PURE__ */ jsx51(QuizSubTitle, { subTitle: "Resultado" }),
11519
+ /* @__PURE__ */ jsx51(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx51("div", { className: "space-y-6 px-4", children: /* @__PURE__ */ jsx51(
11403
11520
  "div",
11404
11521
  {
11405
11522
  className: cn("text-lg text-text-900 leading-8", paddingBottom),
11406
- children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */ jsx50("span", { children: element.element }, element.id))
11523
+ children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */ jsx51("span", { children: element.element }, element.id))
11407
11524
  }
11408
11525
  ) }) })
11409
11526
  ] })
@@ -11457,36 +11574,36 @@ var QuizImageQuestion = ({ paddingBottom }) => {
11457
11574
  }
11458
11575
  return "bg-success-600/70 border-white";
11459
11576
  };
11460
- return /* @__PURE__ */ jsxs36(Fragment11, { children: [
11461
- /* @__PURE__ */ jsx50(QuizSubTitle, { subTitle: "Clique na \xE1rea correta" }),
11462
- /* @__PURE__ */ jsx50(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsxs36(
11577
+ return /* @__PURE__ */ jsxs37(Fragment11, { children: [
11578
+ /* @__PURE__ */ jsx51(QuizSubTitle, { subTitle: "Clique na \xE1rea correta" }),
11579
+ /* @__PURE__ */ jsx51(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsxs37(
11463
11580
  "div",
11464
11581
  {
11465
11582
  "data-testid": "quiz-image-container",
11466
11583
  className: "space-y-6 p-3 relative inline-block",
11467
11584
  children: [
11468
- variant == "result" && /* @__PURE__ */ jsxs36(
11585
+ variant == "result" && /* @__PURE__ */ jsxs37(
11469
11586
  "div",
11470
11587
  {
11471
11588
  "data-testid": "quiz-legend",
11472
11589
  className: "flex items-center gap-4 text-xs",
11473
11590
  children: [
11474
- /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-2", children: [
11475
- /* @__PURE__ */ jsx50("div", { className: "w-3 h-3 rounded-full bg-indicator-primary/70 border border-[#F8CC2E]" }),
11476
- /* @__PURE__ */ jsx50("span", { className: "text-text-600 font-medium text-sm", children: "\xC1rea correta" })
11591
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-2", children: [
11592
+ /* @__PURE__ */ jsx51("div", { className: "w-3 h-3 rounded-full bg-indicator-primary/70 border border-[#F8CC2E]" }),
11593
+ /* @__PURE__ */ jsx51("span", { className: "text-text-600 font-medium text-sm", children: "\xC1rea correta" })
11477
11594
  ] }),
11478
- /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-2", children: [
11479
- /* @__PURE__ */ jsx50("div", { className: "w-3 h-3 rounded-full bg-success-600/70 border border-white" }),
11480
- /* @__PURE__ */ jsx50("span", { className: "text-text-600 font-medium text-sm", children: "Resposta correta" })
11595
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-2", children: [
11596
+ /* @__PURE__ */ jsx51("div", { className: "w-3 h-3 rounded-full bg-success-600/70 border border-white" }),
11597
+ /* @__PURE__ */ jsx51("span", { className: "text-text-600 font-medium text-sm", children: "Resposta correta" })
11481
11598
  ] }),
11482
- /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-2", children: [
11483
- /* @__PURE__ */ jsx50("div", { className: "w-3 h-3 rounded-full bg-indicator-error/70 border border-white" }),
11484
- /* @__PURE__ */ jsx50("span", { className: "text-text-600 font-medium text-sm", children: "Resposta incorreta" })
11599
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-2", children: [
11600
+ /* @__PURE__ */ jsx51("div", { className: "w-3 h-3 rounded-full bg-indicator-error/70 border border-white" }),
11601
+ /* @__PURE__ */ jsx51("span", { className: "text-text-600 font-medium text-sm", children: "Resposta incorreta" })
11485
11602
  ] })
11486
11603
  ]
11487
11604
  }
11488
11605
  ),
11489
- /* @__PURE__ */ jsxs36(
11606
+ /* @__PURE__ */ jsxs37(
11490
11607
  "button",
11491
11608
  {
11492
11609
  "data-testid": "quiz-image-button",
@@ -11501,7 +11618,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
11501
11618
  },
11502
11619
  "aria-label": "\xC1rea da imagem interativa",
11503
11620
  children: [
11504
- /* @__PURE__ */ jsx50(
11621
+ /* @__PURE__ */ jsx51(
11505
11622
  "img",
11506
11623
  {
11507
11624
  "data-testid": "quiz-image",
@@ -11510,7 +11627,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
11510
11627
  className: "w-full h-auto rounded-md"
11511
11628
  }
11512
11629
  ),
11513
- variant === "result" && /* @__PURE__ */ jsx50(
11630
+ variant === "result" && /* @__PURE__ */ jsx51(
11514
11631
  "div",
11515
11632
  {
11516
11633
  "data-testid": "quiz-correct-circle",
@@ -11525,7 +11642,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
11525
11642
  }
11526
11643
  }
11527
11644
  ),
11528
- clickPositionRelative && /* @__PURE__ */ jsx50(
11645
+ clickPositionRelative && /* @__PURE__ */ jsx51(
11529
11646
  "div",
11530
11647
  {
11531
11648
  "data-testid": "quiz-user-circle",
@@ -11550,7 +11667,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
11550
11667
  };
11551
11668
 
11552
11669
  // src/components/Quiz/Quiz.tsx
11553
- import { Fragment as Fragment12, jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
11670
+ import { Fragment as Fragment12, jsx as jsx52, jsxs as jsxs38 } from "react/jsx-runtime";
11554
11671
  var getQuizTypeConfig = (type) => {
11555
11672
  const QUIZ_TYPE_CONFIG = {
11556
11673
  ["SIMULADO" /* SIMULADO */]: {
@@ -11592,7 +11709,7 @@ var Quiz = forwardRef21(({ children, className, variant = "default", ...props },
11592
11709
  useEffect20(() => {
11593
11710
  setVariant(variant);
11594
11711
  }, [variant, setVariant]);
11595
- return /* @__PURE__ */ jsx51("div", { ref, className: cn("flex flex-col", className), ...props, children });
11712
+ return /* @__PURE__ */ jsx52("div", { ref, className: cn("flex flex-col", className), ...props, children });
11596
11713
  });
11597
11714
  var QuizTitle = forwardRef21(({ className, onBack, ...props }, ref) => {
11598
11715
  const {
@@ -11628,8 +11745,8 @@ var QuizTitle = forwardRef21(({ className, onBack, ...props }, ref) => {
11628
11745
  const handleCancelExit = () => {
11629
11746
  setShowExitConfirmation(false);
11630
11747
  };
11631
- return /* @__PURE__ */ jsxs37(Fragment12, { children: [
11632
- /* @__PURE__ */ jsxs37(
11748
+ return /* @__PURE__ */ jsxs38(Fragment12, { children: [
11749
+ /* @__PURE__ */ jsxs38(
11633
11750
  "div",
11634
11751
  {
11635
11752
  ref,
@@ -11639,24 +11756,24 @@ var QuizTitle = forwardRef21(({ className, onBack, ...props }, ref) => {
11639
11756
  ),
11640
11757
  ...props,
11641
11758
  children: [
11642
- /* @__PURE__ */ jsx51(
11759
+ /* @__PURE__ */ jsx52(
11643
11760
  IconButton_default,
11644
11761
  {
11645
- icon: /* @__PURE__ */ jsx51(CaretLeft2, { size: 24 }),
11762
+ icon: /* @__PURE__ */ jsx52(CaretLeft2, { size: 24 }),
11646
11763
  size: "md",
11647
11764
  "aria-label": "Voltar",
11648
11765
  onClick: handleBackClick
11649
11766
  }
11650
11767
  ),
11651
- /* @__PURE__ */ jsxs37("span", { className: "flex flex-col gap-2 text-center", children: [
11652
- /* @__PURE__ */ jsx51("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
11653
- /* @__PURE__ */ jsx51("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
11768
+ /* @__PURE__ */ jsxs38("span", { className: "flex flex-col gap-2 text-center", children: [
11769
+ /* @__PURE__ */ jsx52("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
11770
+ /* @__PURE__ */ jsx52("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
11654
11771
  ] }),
11655
- /* @__PURE__ */ jsx51("span", { className: "flex flex-row items-center justify-center", children: /* @__PURE__ */ jsx51(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ jsx51(Clock2, {}), children: isStarted ? formatTime2(timeElapsed) : "00:00" }) })
11772
+ /* @__PURE__ */ jsx52("span", { className: "flex flex-row items-center justify-center", children: /* @__PURE__ */ jsx52(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ jsx52(Clock2, {}), children: isStarted ? formatTime2(timeElapsed) : "00:00" }) })
11656
11773
  ]
11657
11774
  }
11658
11775
  ),
11659
- /* @__PURE__ */ jsx51(
11776
+ /* @__PURE__ */ jsx52(
11660
11777
  AlertDialog,
11661
11778
  {
11662
11779
  isOpen: showExitConfirmation,
@@ -11674,7 +11791,7 @@ var QuizTitle = forwardRef21(({ className, onBack, ...props }, ref) => {
11674
11791
  var QuizHeader = () => {
11675
11792
  const { getCurrentQuestion, currentQuestionIndex } = useQuizStore();
11676
11793
  const currentQuestion = getCurrentQuestion();
11677
- return /* @__PURE__ */ jsx51(
11794
+ return /* @__PURE__ */ jsx52(
11678
11795
  HeaderAlternative,
11679
11796
  {
11680
11797
  title: currentQuestion ? `Quest\xE3o ${currentQuestionIndex + 1}` : "Quest\xE3o",
@@ -11696,7 +11813,7 @@ var QuizContent = ({ paddingBottom }) => {
11696
11813
  ["IMAGEM" /* IMAGEM */]: QuizImageQuestion
11697
11814
  };
11698
11815
  const QuestionComponent = currentQuestion ? questionComponents[currentQuestion.questionType] : null;
11699
- return QuestionComponent ? /* @__PURE__ */ jsx51(QuestionComponent, { paddingBottom }) : null;
11816
+ return QuestionComponent ? /* @__PURE__ */ jsx52(QuestionComponent, { paddingBottom }) : null;
11700
11817
  };
11701
11818
  var QuizQuestionList = ({
11702
11819
  filterType = "all",
@@ -11743,18 +11860,18 @@ var QuizQuestionList = ({
11743
11860
  return "Em branco";
11744
11861
  }
11745
11862
  };
11746
- return /* @__PURE__ */ jsxs37("div", { className: "space-y-6 px-4 h-full", children: [
11747
- Object.entries(filteredGroupedQuestions).length == 0 && /* @__PURE__ */ jsx51("div", { className: "flex items-center justify-center text-gray-500 py-8 h-full", children: /* @__PURE__ */ jsx51("p", { className: "text-lg", children: "Nenhum resultado" }) }),
11863
+ return /* @__PURE__ */ jsxs38("div", { className: "space-y-6 px-4 h-full", children: [
11864
+ Object.entries(filteredGroupedQuestions).length == 0 && /* @__PURE__ */ jsx52("div", { className: "flex items-center justify-center text-gray-500 py-8 h-full", children: /* @__PURE__ */ jsx52("p", { className: "text-lg", children: "Nenhum resultado" }) }),
11748
11865
  Object.entries(filteredGroupedQuestions).map(
11749
- ([subjectId, questions]) => /* @__PURE__ */ jsxs37("section", { className: "flex flex-col gap-2", children: [
11750
- /* @__PURE__ */ jsxs37("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
11751
- /* @__PURE__ */ jsx51("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ jsx51(BookOpen, { size: 17, className: "text-white" }) }),
11752
- /* @__PURE__ */ jsx51("p", { className: "text-text-800 font-bold text-lg", children: questions?.[0]?.knowledgeMatrix?.[0]?.subject?.name ?? "Sem mat\xE9ria" })
11866
+ ([subjectId, questions]) => /* @__PURE__ */ jsxs38("section", { className: "flex flex-col gap-2", children: [
11867
+ /* @__PURE__ */ jsxs38("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
11868
+ /* @__PURE__ */ jsx52("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ jsx52(BookOpen, { size: 17, className: "text-white" }) }),
11869
+ /* @__PURE__ */ jsx52("p", { className: "text-text-800 font-bold text-lg", children: questions?.[0]?.knowledgeMatrix?.[0]?.subject?.name ?? "Sem mat\xE9ria" })
11753
11870
  ] }),
11754
- /* @__PURE__ */ jsx51("ul", { className: "flex flex-col gap-2", children: questions.map((question) => {
11871
+ /* @__PURE__ */ jsx52("ul", { className: "flex flex-col gap-2", children: questions.map((question) => {
11755
11872
  const status = getQuestionStatus(question.id);
11756
11873
  const questionNumber = getQuestionIndex(question.id);
11757
- return /* @__PURE__ */ jsx51(
11874
+ return /* @__PURE__ */ jsx52(
11758
11875
  CardStatus,
11759
11876
  {
11760
11877
  header: `Quest\xE3o ${questionNumber.toString().padStart(2, "0")}`,
@@ -11859,8 +11976,8 @@ var QuizFooter = forwardRef21(
11859
11976
  return;
11860
11977
  }
11861
11978
  };
11862
- return /* @__PURE__ */ jsxs37(Fragment12, { children: [
11863
- /* @__PURE__ */ jsx51(
11979
+ return /* @__PURE__ */ jsxs38(Fragment12, { children: [
11980
+ /* @__PURE__ */ jsx52(
11864
11981
  "footer",
11865
11982
  {
11866
11983
  ref,
@@ -11869,17 +11986,17 @@ var QuizFooter = forwardRef21(
11869
11986
  className
11870
11987
  ),
11871
11988
  ...props,
11872
- children: variant === "default" ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
11873
- /* @__PURE__ */ jsxs37("div", { className: "flex flex-row items-center gap-1", children: [
11874
- /* @__PURE__ */ jsx51(
11989
+ children: variant === "default" ? /* @__PURE__ */ jsxs38(Fragment12, { children: [
11990
+ /* @__PURE__ */ jsxs38("div", { className: "flex flex-row items-center gap-1", children: [
11991
+ /* @__PURE__ */ jsx52(
11875
11992
  IconButton_default,
11876
11993
  {
11877
- icon: /* @__PURE__ */ jsx51(SquaresFour, { size: 24, className: "text-text-950" }),
11994
+ icon: /* @__PURE__ */ jsx52(SquaresFour, { size: 24, className: "text-text-950" }),
11878
11995
  size: "md",
11879
11996
  onClick: () => openModal("modalNavigate")
11880
11997
  }
11881
11998
  ),
11882
- isFirstQuestion ? /* @__PURE__ */ jsx51(
11999
+ isFirstQuestion ? /* @__PURE__ */ jsx52(
11883
12000
  Button_default,
11884
12001
  {
11885
12002
  variant: "outline",
@@ -11890,13 +12007,13 @@ var QuizFooter = forwardRef21(
11890
12007
  },
11891
12008
  children: "Pular"
11892
12009
  }
11893
- ) : /* @__PURE__ */ jsx51(
12010
+ ) : /* @__PURE__ */ jsx52(
11894
12011
  Button_default,
11895
12012
  {
11896
12013
  size: "medium",
11897
12014
  variant: "link",
11898
12015
  action: "primary",
11899
- iconLeft: /* @__PURE__ */ jsx51(CaretLeft2, { size: 18 }),
12016
+ iconLeft: /* @__PURE__ */ jsx52(CaretLeft2, { size: 18 }),
11900
12017
  onClick: () => {
11901
12018
  goToPreviousQuestion();
11902
12019
  },
@@ -11904,7 +12021,7 @@ var QuizFooter = forwardRef21(
11904
12021
  }
11905
12022
  )
11906
12023
  ] }),
11907
- !isFirstQuestion && !isLastQuestion && /* @__PURE__ */ jsx51(
12024
+ !isFirstQuestion && !isLastQuestion && /* @__PURE__ */ jsx52(
11908
12025
  Button_default,
11909
12026
  {
11910
12027
  size: "small",
@@ -11917,7 +12034,7 @@ var QuizFooter = forwardRef21(
11917
12034
  children: "Pular"
11918
12035
  }
11919
12036
  ),
11920
- isLastQuestion ? /* @__PURE__ */ jsx51(
12037
+ isLastQuestion ? /* @__PURE__ */ jsx52(
11921
12038
  Button_default,
11922
12039
  {
11923
12040
  size: "medium",
@@ -11927,13 +12044,13 @@ var QuizFooter = forwardRef21(
11927
12044
  onClick: handleFinishQuiz,
11928
12045
  children: "Finalizar"
11929
12046
  }
11930
- ) : /* @__PURE__ */ jsx51(
12047
+ ) : /* @__PURE__ */ jsx52(
11931
12048
  Button_default,
11932
12049
  {
11933
12050
  size: "medium",
11934
12051
  variant: "link",
11935
12052
  action: "primary",
11936
- iconRight: /* @__PURE__ */ jsx51(CaretRight5, { size: 18 }),
12053
+ iconRight: /* @__PURE__ */ jsx52(CaretRight5, { size: 18 }),
11937
12054
  disabled: !currentAnswer && !isCurrentQuestionSkipped,
11938
12055
  onClick: () => {
11939
12056
  goToNextQuestion();
@@ -11941,7 +12058,7 @@ var QuizFooter = forwardRef21(
11941
12058
  children: "Avan\xE7ar"
11942
12059
  }
11943
12060
  )
11944
- ] }) : /* @__PURE__ */ jsx51("div", { className: "flex flex-row items-center justify-center w-full", children: /* @__PURE__ */ jsx51(
12061
+ ] }) : /* @__PURE__ */ jsx52("div", { className: "flex flex-row items-center justify-center w-full", children: /* @__PURE__ */ jsx52(
11945
12062
  Button_default,
11946
12063
  {
11947
12064
  variant: "link",
@@ -11953,7 +12070,7 @@ var QuizFooter = forwardRef21(
11953
12070
  ) })
11954
12071
  }
11955
12072
  ),
11956
- /* @__PURE__ */ jsx51(
12073
+ /* @__PURE__ */ jsx52(
11957
12074
  AlertDialog,
11958
12075
  {
11959
12076
  isOpen: isModalOpen("alertDialog"),
@@ -11965,7 +12082,7 @@ var QuizFooter = forwardRef21(
11965
12082
  onSubmit: handleAlertSubmit
11966
12083
  }
11967
12084
  ),
11968
- /* @__PURE__ */ jsx51(
12085
+ /* @__PURE__ */ jsx52(
11969
12086
  Modal_default,
11970
12087
  {
11971
12088
  isOpen: isModalOpen("modalResult"),
@@ -11974,11 +12091,11 @@ var QuizFooter = forwardRef21(
11974
12091
  closeOnEscape: false,
11975
12092
  hideCloseButton: true,
11976
12093
  size: "md",
11977
- children: /* @__PURE__ */ jsxs37("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
11978
- resultImageComponent ? /* @__PURE__ */ jsx51("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx51("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx51("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
11979
- /* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-2 text-center", children: [
11980
- /* @__PURE__ */ jsx51("h2", { className: "text-text-950 font-bold text-lg", children: getCompletionTitle(quizType) }),
11981
- /* @__PURE__ */ jsxs37("p", { className: "text-text-500 font-sm", children: [
12094
+ children: /* @__PURE__ */ jsxs38("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
12095
+ resultImageComponent ? /* @__PURE__ */ jsx52("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx52("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx52("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
12096
+ /* @__PURE__ */ jsxs38("div", { className: "flex flex-col gap-2 text-center", children: [
12097
+ /* @__PURE__ */ jsx52("h2", { className: "text-text-950 font-bold text-lg", children: getCompletionTitle(quizType) }),
12098
+ /* @__PURE__ */ jsxs38("p", { className: "text-text-500 font-sm", children: [
11982
12099
  "Voc\xEA acertou ",
11983
12100
  correctAnswers ?? "--",
11984
12101
  " de ",
@@ -11987,8 +12104,8 @@ var QuizFooter = forwardRef21(
11987
12104
  "quest\xF5es."
11988
12105
  ] })
11989
12106
  ] }),
11990
- /* @__PURE__ */ jsxs37("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: [
11991
- /* @__PURE__ */ jsx51(
12107
+ /* @__PURE__ */ jsxs38("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: [
12108
+ /* @__PURE__ */ jsx52(
11992
12109
  Button_default,
11993
12110
  {
11994
12111
  variant: "outline",
@@ -11998,38 +12115,38 @@ var QuizFooter = forwardRef21(
11998
12115
  children: quizTypeLabel === "Question\xE1rio" ? "Ir para aulas" : `Ir para ${quizTypeLabel.toLocaleLowerCase()}s`
11999
12116
  }
12000
12117
  ),
12001
- /* @__PURE__ */ jsx51(Button_default, { className: "w-full", onClick: onDetailResult, children: "Detalhar resultado" })
12118
+ /* @__PURE__ */ jsx52(Button_default, { className: "w-full", onClick: onDetailResult, children: "Detalhar resultado" })
12002
12119
  ] })
12003
12120
  ] })
12004
12121
  }
12005
12122
  ),
12006
- /* @__PURE__ */ jsx51(
12123
+ /* @__PURE__ */ jsx52(
12007
12124
  Modal_default,
12008
12125
  {
12009
12126
  isOpen: isModalOpen("modalNavigate"),
12010
12127
  onClose: closeModal,
12011
12128
  title: "Quest\xF5es",
12012
12129
  size: "lg",
12013
- children: /* @__PURE__ */ jsxs37("div", { className: "flex flex-col w-full not-lg:h-[calc(100vh-200px)] lg:max-h-[687px] lg:h-[687px]", children: [
12014
- /* @__PURE__ */ jsxs37("div", { className: "flex flex-row justify-between items-center py-6 pt-6 pb-4 border-b border-border-200 flex-shrink-0", children: [
12015
- /* @__PURE__ */ jsx51("p", { className: "text-text-950 font-bold text-lg", children: "Filtrar por" }),
12016
- /* @__PURE__ */ jsx51("span", { className: "max-w-[266px]", children: /* @__PURE__ */ jsxs37(Select_default, { value: filterType, onValueChange: setFilterType, children: [
12017
- /* @__PURE__ */ jsx51(
12130
+ children: /* @__PURE__ */ jsxs38("div", { className: "flex flex-col w-full not-lg:h-[calc(100vh-200px)] lg:max-h-[687px] lg:h-[687px]", children: [
12131
+ /* @__PURE__ */ jsxs38("div", { className: "flex flex-row justify-between items-center py-6 pt-6 pb-4 border-b border-border-200 flex-shrink-0", children: [
12132
+ /* @__PURE__ */ jsx52("p", { className: "text-text-950 font-bold text-lg", children: "Filtrar por" }),
12133
+ /* @__PURE__ */ jsx52("span", { className: "max-w-[266px]", children: /* @__PURE__ */ jsxs38(Select_default, { value: filterType, onValueChange: setFilterType, children: [
12134
+ /* @__PURE__ */ jsx52(
12018
12135
  SelectTrigger,
12019
12136
  {
12020
12137
  variant: "rounded",
12021
12138
  className: "max-w-[266px] min-w-[160px]",
12022
- children: /* @__PURE__ */ jsx51(SelectValue, { placeholder: "Selecione uma op\xE7\xE3o" })
12139
+ children: /* @__PURE__ */ jsx52(SelectValue, { placeholder: "Selecione uma op\xE7\xE3o" })
12023
12140
  }
12024
12141
  ),
12025
- /* @__PURE__ */ jsxs37(SelectContent, { children: [
12026
- /* @__PURE__ */ jsx51(SelectItem, { value: "all", children: "Todas" }),
12027
- /* @__PURE__ */ jsx51(SelectItem, { value: "unanswered", children: "Em branco" }),
12028
- /* @__PURE__ */ jsx51(SelectItem, { value: "answered", children: "Respondidas" })
12142
+ /* @__PURE__ */ jsxs38(SelectContent, { children: [
12143
+ /* @__PURE__ */ jsx52(SelectItem, { value: "all", children: "Todas" }),
12144
+ /* @__PURE__ */ jsx52(SelectItem, { value: "unanswered", children: "Em branco" }),
12145
+ /* @__PURE__ */ jsx52(SelectItem, { value: "answered", children: "Respondidas" })
12029
12146
  ] })
12030
12147
  ] }) })
12031
12148
  ] }),
12032
- /* @__PURE__ */ jsx51("div", { className: "flex flex-col gap-2 flex-1 min-h-0 overflow-y-auto", children: /* @__PURE__ */ jsx51(
12149
+ /* @__PURE__ */ jsx52("div", { className: "flex flex-col gap-2 flex-1 min-h-0 overflow-y-auto", children: /* @__PURE__ */ jsx52(
12033
12150
  QuizQuestionList,
12034
12151
  {
12035
12152
  filterType,
@@ -12039,7 +12156,7 @@ var QuizFooter = forwardRef21(
12039
12156
  ] })
12040
12157
  }
12041
12158
  ),
12042
- /* @__PURE__ */ jsx51(
12159
+ /* @__PURE__ */ jsx52(
12043
12160
  Modal_default,
12044
12161
  {
12045
12162
  isOpen: isModalOpen("modalResolution"),
@@ -12049,7 +12166,7 @@ var QuizFooter = forwardRef21(
12049
12166
  children: currentQuestion?.solutionExplanation
12050
12167
  }
12051
12168
  ),
12052
- /* @__PURE__ */ jsx51(
12169
+ /* @__PURE__ */ jsx52(
12053
12170
  Modal_default,
12054
12171
  {
12055
12172
  isOpen: isModalOpen("modalQuestionnaireAllCorrect"),
@@ -12058,17 +12175,17 @@ var QuizFooter = forwardRef21(
12058
12175
  closeOnEscape: false,
12059
12176
  hideCloseButton: true,
12060
12177
  size: "md",
12061
- children: /* @__PURE__ */ jsxs37("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
12062
- resultImageComponent ? /* @__PURE__ */ jsx51("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx51("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx51("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
12063
- /* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-2 text-center", children: [
12064
- /* @__PURE__ */ jsx51("h2", { className: "text-text-950 font-bold text-lg", children: "\u{1F389} Parab\xE9ns!" }),
12065
- /* @__PURE__ */ jsx51("p", { className: "text-text-500 font-sm", children: "Voc\xEA concluiu o m\xF3dulo Movimento Uniforme." })
12178
+ children: /* @__PURE__ */ jsxs38("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
12179
+ resultImageComponent ? /* @__PURE__ */ jsx52("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx52("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx52("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
12180
+ /* @__PURE__ */ jsxs38("div", { className: "flex flex-col gap-2 text-center", children: [
12181
+ /* @__PURE__ */ jsx52("h2", { className: "text-text-950 font-bold text-lg", children: "\u{1F389} Parab\xE9ns!" }),
12182
+ /* @__PURE__ */ jsx52("p", { className: "text-text-500 font-sm", children: "Voc\xEA concluiu o m\xF3dulo Movimento Uniforme." })
12066
12183
  ] }),
12067
- /* @__PURE__ */ jsx51("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: /* @__PURE__ */ jsx51(Button_default, { className: "w-full", onClick: onGoToNextModule, children: "Pr\xF3ximo m\xF3dulo" }) })
12184
+ /* @__PURE__ */ jsx52("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: /* @__PURE__ */ jsx52(Button_default, { className: "w-full", onClick: onGoToNextModule, children: "Pr\xF3ximo m\xF3dulo" }) })
12068
12185
  ] })
12069
12186
  }
12070
12187
  ),
12071
- /* @__PURE__ */ jsx51(
12188
+ /* @__PURE__ */ jsx52(
12072
12189
  Modal_default,
12073
12190
  {
12074
12191
  isOpen: isModalOpen("modalQuestionnaireAllIncorrect"),
@@ -12077,16 +12194,16 @@ var QuizFooter = forwardRef21(
12077
12194
  closeOnEscape: false,
12078
12195
  hideCloseButton: true,
12079
12196
  size: "md",
12080
- children: /* @__PURE__ */ jsxs37("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
12081
- resultIncorrectImageComponent ? /* @__PURE__ */ jsx51("div", { className: "w-[282px] h-auto", children: resultIncorrectImageComponent }) : /* @__PURE__ */ jsx51("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx51("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
12082
- /* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-2 text-center", children: [
12083
- /* @__PURE__ */ jsx51("h2", { className: "text-text-950 font-bold text-lg", children: "\u{1F615} N\xE3o foi dessa vez..." }),
12084
- /* @__PURE__ */ jsx51("p", { className: "text-text-500 font-sm", children: "Voc\xEA tirou 0 no question\xE1rio, mas n\xE3o se preocupe! Isso \xE9 apenas uma oportunidade de aprendizado." }),
12085
- /* @__PURE__ */ jsx51("p", { className: "text-text-500 font-sm", children: "Que tal tentar novamente para melhorar sua nota? Estamos aqui para te ajudar a entender o conte\xFAdo e evoluir." }),
12086
- /* @__PURE__ */ jsx51("p", { className: "text-text-500 font-sm", children: "Clique em Repetir Question\xE1rio e mostre do que voc\xEA \xE9 capaz! \u{1F4AA}" })
12197
+ children: /* @__PURE__ */ jsxs38("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
12198
+ resultIncorrectImageComponent ? /* @__PURE__ */ jsx52("div", { className: "w-[282px] h-auto", children: resultIncorrectImageComponent }) : /* @__PURE__ */ jsx52("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx52("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
12199
+ /* @__PURE__ */ jsxs38("div", { className: "flex flex-col gap-2 text-center", children: [
12200
+ /* @__PURE__ */ jsx52("h2", { className: "text-text-950 font-bold text-lg", children: "\u{1F615} N\xE3o foi dessa vez..." }),
12201
+ /* @__PURE__ */ jsx52("p", { className: "text-text-500 font-sm", children: "Voc\xEA tirou 0 no question\xE1rio, mas n\xE3o se preocupe! Isso \xE9 apenas uma oportunidade de aprendizado." }),
12202
+ /* @__PURE__ */ jsx52("p", { className: "text-text-500 font-sm", children: "Que tal tentar novamente para melhorar sua nota? Estamos aqui para te ajudar a entender o conte\xFAdo e evoluir." }),
12203
+ /* @__PURE__ */ jsx52("p", { className: "text-text-500 font-sm", children: "Clique em Repetir Question\xE1rio e mostre do que voc\xEA \xE9 capaz! \u{1F4AA}" })
12087
12204
  ] }),
12088
- /* @__PURE__ */ jsxs37("div", { className: "flex flex-row justify-center items-center gap-2 w-full", children: [
12089
- /* @__PURE__ */ jsx51(
12205
+ /* @__PURE__ */ jsxs38("div", { className: "flex flex-row justify-center items-center gap-2 w-full", children: [
12206
+ /* @__PURE__ */ jsx52(
12090
12207
  Button_default,
12091
12208
  {
12092
12209
  type: "button",
@@ -12100,7 +12217,7 @@ var QuizFooter = forwardRef21(
12100
12217
  children: "Tentar depois"
12101
12218
  }
12102
12219
  ),
12103
- /* @__PURE__ */ jsx51(
12220
+ /* @__PURE__ */ jsx52(
12104
12221
  Button_default,
12105
12222
  {
12106
12223
  variant: "outline",
@@ -12110,7 +12227,7 @@ var QuizFooter = forwardRef21(
12110
12227
  children: "Detalhar resultado"
12111
12228
  }
12112
12229
  ),
12113
- /* @__PURE__ */ jsx51(
12230
+ /* @__PURE__ */ jsx52(
12114
12231
  Button_default,
12115
12232
  {
12116
12233
  className: "w-auto",
@@ -12123,7 +12240,7 @@ var QuizFooter = forwardRef21(
12123
12240
  ] })
12124
12241
  }
12125
12242
  ),
12126
- /* @__PURE__ */ jsx51(
12243
+ /* @__PURE__ */ jsx52(
12127
12244
  AlertDialog,
12128
12245
  {
12129
12246
  isOpen: isModalOpen("alertDialogTryLater"),
@@ -12149,24 +12266,24 @@ var QuizFooter = forwardRef21(
12149
12266
  // src/components/Quiz/QuizResult.tsx
12150
12267
  import { forwardRef as forwardRef22, useEffect as useEffect21, useState as useState22 } from "react";
12151
12268
  import { Clock as Clock3 } from "phosphor-react";
12152
- import { jsx as jsx52, jsxs as jsxs38 } from "react/jsx-runtime";
12269
+ import { jsx as jsx53, jsxs as jsxs39 } from "react/jsx-runtime";
12153
12270
  var QuizBadge = ({
12154
12271
  subtype
12155
12272
  }) => {
12156
12273
  switch (subtype) {
12157
12274
  case "PROVA" /* PROVA */:
12158
- return /* @__PURE__ */ jsx52(Badge_default, { variant: "examsOutlined", action: "exam2", "data-testid": "quiz-badge", children: "Prova" });
12275
+ return /* @__PURE__ */ jsx53(Badge_default, { variant: "examsOutlined", action: "exam2", "data-testid": "quiz-badge", children: "Prova" });
12159
12276
  case "ENEM_PROVA_1" /* ENEM_PROVA_1 */:
12160
12277
  case "ENEM_PROVA_2" /* ENEM_PROVA_2 */:
12161
- return /* @__PURE__ */ jsx52(Badge_default, { variant: "examsOutlined", action: "exam1", "data-testid": "quiz-badge", children: "Enem" });
12278
+ return /* @__PURE__ */ jsx53(Badge_default, { variant: "examsOutlined", action: "exam1", "data-testid": "quiz-badge", children: "Enem" });
12162
12279
  case "VESTIBULAR" /* VESTIBULAR */:
12163
- return /* @__PURE__ */ jsx52(Badge_default, { variant: "examsOutlined", action: "exam4", "data-testid": "quiz-badge", children: "Vestibular" });
12280
+ return /* @__PURE__ */ jsx53(Badge_default, { variant: "examsOutlined", action: "exam4", "data-testid": "quiz-badge", children: "Vestibular" });
12164
12281
  case "SIMULADO" /* SIMULADO */:
12165
12282
  case "SIMULADAO" /* SIMULADAO */:
12166
12283
  case void 0:
12167
- return /* @__PURE__ */ jsx52(Badge_default, { variant: "examsOutlined", action: "exam3", "data-testid": "quiz-badge", children: "Simulad\xE3o" });
12284
+ return /* @__PURE__ */ jsx53(Badge_default, { variant: "examsOutlined", action: "exam3", "data-testid": "quiz-badge", children: "Simulad\xE3o" });
12168
12285
  default:
12169
- return /* @__PURE__ */ jsx52(Badge_default, { variant: "solid", action: "info", "data-testid": "quiz-badge", children: subtype });
12286
+ return /* @__PURE__ */ jsx53(Badge_default, { variant: "solid", action: "info", "data-testid": "quiz-badge", children: subtype });
12170
12287
  }
12171
12288
  };
12172
12289
  var QuizHeaderResult = forwardRef22(
@@ -12211,7 +12328,7 @@ var QuizHeaderResult = forwardRef22(
12211
12328
  return "N\xE3o foi dessa vez...voc\xEA deixou a resposta em branco";
12212
12329
  }
12213
12330
  };
12214
- return /* @__PURE__ */ jsxs38(
12331
+ return /* @__PURE__ */ jsxs39(
12215
12332
  "div",
12216
12333
  {
12217
12334
  ref,
@@ -12222,8 +12339,8 @@ var QuizHeaderResult = forwardRef22(
12222
12339
  ),
12223
12340
  ...props,
12224
12341
  children: [
12225
- /* @__PURE__ */ jsx52("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
12226
- /* @__PURE__ */ jsx52("p", { className: "text-text-700 text-md", children: getLabelByAnswersStatus() })
12342
+ /* @__PURE__ */ jsx53("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
12343
+ /* @__PURE__ */ jsx53("p", { className: "text-text-700 text-md", children: getLabelByAnswersStatus() })
12227
12344
  ]
12228
12345
  }
12229
12346
  );
@@ -12231,7 +12348,7 @@ var QuizHeaderResult = forwardRef22(
12231
12348
  );
12232
12349
  var QuizResultHeaderTitle = forwardRef22(({ className, showBadge = true, onRepeat, canRetry, ...props }, ref) => {
12233
12350
  const { quiz } = useQuizStore();
12234
- return /* @__PURE__ */ jsxs38(
12351
+ return /* @__PURE__ */ jsxs39(
12235
12352
  "div",
12236
12353
  {
12237
12354
  ref,
@@ -12241,9 +12358,9 @@ var QuizResultHeaderTitle = forwardRef22(({ className, showBadge = true, onRepea
12241
12358
  ),
12242
12359
  ...props,
12243
12360
  children: [
12244
- /* @__PURE__ */ jsx52("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
12245
- /* @__PURE__ */ jsxs38("div", { className: "flex flex-row gap-3 items-center", children: [
12246
- canRetry && onRepeat && /* @__PURE__ */ jsx52(
12361
+ /* @__PURE__ */ jsx53("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
12362
+ /* @__PURE__ */ jsxs39("div", { className: "flex flex-row gap-3 items-center", children: [
12363
+ canRetry && onRepeat && /* @__PURE__ */ jsx53(
12247
12364
  Button_default,
12248
12365
  {
12249
12366
  variant: "solid",
@@ -12253,7 +12370,7 @@ var QuizResultHeaderTitle = forwardRef22(({ className, showBadge = true, onRepea
12253
12370
  children: "Repetir question\xE1rio"
12254
12371
  }
12255
12372
  ),
12256
- showBadge && /* @__PURE__ */ jsx52(QuizBadge, { subtype: quiz?.subtype || void 0 })
12373
+ showBadge && /* @__PURE__ */ jsx53(QuizBadge, { subtype: quiz?.subtype || void 0 })
12257
12374
  ] })
12258
12375
  ]
12259
12376
  }
@@ -12262,7 +12379,7 @@ var QuizResultHeaderTitle = forwardRef22(({ className, showBadge = true, onRepea
12262
12379
  var QuizResultTitle = forwardRef22(({ className, ...props }, ref) => {
12263
12380
  const { getQuizTitle } = useQuizStore();
12264
12381
  const quizTitle = getQuizTitle();
12265
- return /* @__PURE__ */ jsx52(
12382
+ return /* @__PURE__ */ jsx53(
12266
12383
  "p",
12267
12384
  {
12268
12385
  className: cn("pt-6 pb-4 text-text-950 font-bold text-lg", className),
@@ -12314,7 +12431,7 @@ var QuizResultPerformance = forwardRef22(({ showDetails = true, ...props }, ref)
12314
12431
  }
12315
12432
  const percentage = totalQuestions > 0 ? Math.round(correctAnswers / totalQuestions * 100) : 0;
12316
12433
  const classesJustifyBetween = showDetails ? "justify-between" : "justify-center";
12317
- return /* @__PURE__ */ jsxs38(
12434
+ return /* @__PURE__ */ jsxs39(
12318
12435
  "div",
12319
12436
  {
12320
12437
  className: cn(
@@ -12324,8 +12441,8 @@ var QuizResultPerformance = forwardRef22(({ showDetails = true, ...props }, ref)
12324
12441
  ref,
12325
12442
  ...props,
12326
12443
  children: [
12327
- /* @__PURE__ */ jsxs38("div", { className: "relative", children: [
12328
- /* @__PURE__ */ jsx52(
12444
+ /* @__PURE__ */ jsxs39("div", { className: "relative", children: [
12445
+ /* @__PURE__ */ jsx53(
12329
12446
  ProgressCircle_default,
12330
12447
  {
12331
12448
  size: "medium",
@@ -12335,24 +12452,24 @@ var QuizResultPerformance = forwardRef22(({ showDetails = true, ...props }, ref)
12335
12452
  label: ""
12336
12453
  }
12337
12454
  ),
12338
- /* @__PURE__ */ jsxs38("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
12339
- showDetails && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-1 mb-1", children: [
12340
- /* @__PURE__ */ jsx52(Clock3, { size: 12, weight: "regular", className: "text-text-800" }),
12341
- /* @__PURE__ */ jsx52("span", { className: "text-2xs font-medium text-text-800", children: formatTime2(
12455
+ /* @__PURE__ */ jsxs39("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
12456
+ showDetails && /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-1 mb-1", children: [
12457
+ /* @__PURE__ */ jsx53(Clock3, { size: 12, weight: "regular", className: "text-text-800" }),
12458
+ /* @__PURE__ */ jsx53("span", { className: "text-2xs font-medium text-text-800", children: formatTime2(
12342
12459
  (getQuestionResultStatistics()?.timeSpent ?? 0) * 60
12343
12460
  ) })
12344
12461
  ] }),
12345
- /* @__PURE__ */ jsxs38("div", { className: "text-2xl font-medium text-text-800 leading-7", children: [
12462
+ /* @__PURE__ */ jsxs39("div", { className: "text-2xl font-medium text-text-800 leading-7", children: [
12346
12463
  getQuestionResultStatistics()?.correctAnswers ?? "--",
12347
12464
  " de",
12348
12465
  " ",
12349
12466
  totalQuestions
12350
12467
  ] }),
12351
- /* @__PURE__ */ jsx52("div", { className: "text-2xs font-medium text-text-600 mt-1", children: "Corretas" })
12468
+ /* @__PURE__ */ jsx53("div", { className: "text-2xs font-medium text-text-600 mt-1", children: "Corretas" })
12352
12469
  ] })
12353
12470
  ] }),
12354
- showDetails && /* @__PURE__ */ jsxs38("div", { className: "flex flex-col gap-4 w-full", children: [
12355
- /* @__PURE__ */ jsx52(
12471
+ showDetails && /* @__PURE__ */ jsxs39("div", { className: "flex flex-col gap-4 w-full", children: [
12472
+ /* @__PURE__ */ jsx53(
12356
12473
  ProgressBar_default,
12357
12474
  {
12358
12475
  className: "w-full",
@@ -12366,7 +12483,7 @@ var QuizResultPerformance = forwardRef22(({ showDetails = true, ...props }, ref)
12366
12483
  percentageClassName: "text-xs font-medium leading-[14px] text-right"
12367
12484
  }
12368
12485
  ),
12369
- /* @__PURE__ */ jsx52(
12486
+ /* @__PURE__ */ jsx53(
12370
12487
  ProgressBar_default,
12371
12488
  {
12372
12489
  className: "w-full",
@@ -12380,7 +12497,7 @@ var QuizResultPerformance = forwardRef22(({ showDetails = true, ...props }, ref)
12380
12497
  percentageClassName: "text-xs font-medium leading-[14px] text-right"
12381
12498
  }
12382
12499
  ),
12383
- /* @__PURE__ */ jsx52(
12500
+ /* @__PURE__ */ jsx53(
12384
12501
  ProgressBar_default,
12385
12502
  {
12386
12503
  className: "w-full",
@@ -12427,9 +12544,9 @@ var QuizListResult = forwardRef22(({ className, onSubjectClick, ...props }, ref)
12427
12544
  };
12428
12545
  }
12429
12546
  );
12430
- return /* @__PURE__ */ jsxs38("section", { ref, className, ...props, children: [
12431
- /* @__PURE__ */ jsx52("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Mat\xE9rias" }),
12432
- /* @__PURE__ */ jsx52("ul", { className: "flex flex-col gap-2", children: subjectsStats.map((subject) => /* @__PURE__ */ jsx52("li", { children: /* @__PURE__ */ jsx52(
12547
+ return /* @__PURE__ */ jsxs39("section", { ref, className, ...props, children: [
12548
+ /* @__PURE__ */ jsx53("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Mat\xE9rias" }),
12549
+ /* @__PURE__ */ jsx53("ul", { className: "flex flex-col gap-2", children: subjectsStats.map((subject) => /* @__PURE__ */ jsx53("li", { children: /* @__PURE__ */ jsx53(
12433
12550
  CardResults,
12434
12551
  {
12435
12552
  onClick: () => onSubjectClick?.(subject.subject.id),
@@ -12453,16 +12570,16 @@ var QuizListResultByMateria = ({
12453
12570
  const groupedQuestions = getQuestionsGroupedBySubject();
12454
12571
  const answeredQuestions = groupedQuestions[subject] || [];
12455
12572
  const formattedQuestions = subject == "all" ? Object.values(groupedQuestions).flat() : answeredQuestions;
12456
- return /* @__PURE__ */ jsxs38("div", { className: "flex flex-col", children: [
12457
- /* @__PURE__ */ jsx52("div", { className: "flex flex-row pt-4 justify-between", children: /* @__PURE__ */ jsx52("p", { className: "text-text-950 font-bold text-2xl", children: subjectName || formattedQuestions?.[0]?.knowledgeMatrix?.[0]?.subject?.name || "Sem mat\xE9ria" }) }),
12458
- /* @__PURE__ */ jsxs38("section", { className: "flex flex-col ", children: [
12459
- /* @__PURE__ */ jsx52("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Resultado das quest\xF5es" }),
12460
- /* @__PURE__ */ jsx52("ul", { className: "flex flex-col gap-2 pt-4", children: formattedQuestions.map((question) => {
12573
+ return /* @__PURE__ */ jsxs39("div", { className: "flex flex-col", children: [
12574
+ /* @__PURE__ */ jsx53("div", { className: "flex flex-row pt-4 justify-between", children: /* @__PURE__ */ jsx53("p", { className: "text-text-950 font-bold text-2xl", children: subjectName || formattedQuestions?.[0]?.knowledgeMatrix?.[0]?.subject?.name || "Sem mat\xE9ria" }) }),
12575
+ /* @__PURE__ */ jsxs39("section", { className: "flex flex-col ", children: [
12576
+ /* @__PURE__ */ jsx53("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Resultado das quest\xF5es" }),
12577
+ /* @__PURE__ */ jsx53("ul", { className: "flex flex-col gap-2 pt-4", children: formattedQuestions.map((question) => {
12461
12578
  const questionIndex = getQuestionIndex(
12462
12579
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12463
12580
  question.questionId ?? question.id
12464
12581
  );
12465
- return /* @__PURE__ */ jsx52("li", { children: /* @__PURE__ */ jsx52(
12582
+ return /* @__PURE__ */ jsx53("li", { children: /* @__PURE__ */ jsx53(
12466
12583
  CardStatus,
12467
12584
  {
12468
12585
  className: "max-w-full",
@@ -12486,16 +12603,234 @@ var QuizListResultByMateria = ({
12486
12603
  ] });
12487
12604
  };
12488
12605
 
12489
- // src/hooks/useAppInitialization.ts
12606
+ // src/components/BreadcrumbMenu/BreadcrumbMenu.tsx
12607
+ import { useNavigate } from "react-router-dom";
12608
+ import { jsx as jsx54 } from "react/jsx-runtime";
12609
+ var BreadcrumbMenu = ({
12610
+ breadcrumbs,
12611
+ onBreadcrumbClick,
12612
+ className = "!px-0 py-4 flex-wrap w-full"
12613
+ }) => {
12614
+ const navigate = useNavigate();
12615
+ const handleClick = (breadcrumb, index) => {
12616
+ if (onBreadcrumbClick) {
12617
+ onBreadcrumbClick(breadcrumb, index);
12618
+ }
12619
+ navigate(breadcrumb.url);
12620
+ };
12621
+ return /* @__PURE__ */ jsx54(
12622
+ Menu,
12623
+ {
12624
+ value: `breadcrumb-${breadcrumbs.length - 1}`,
12625
+ defaultValue: "breadcrumb-0",
12626
+ variant: "breadcrumb",
12627
+ className,
12628
+ children: /* @__PURE__ */ jsx54(MenuContent, { className: "w-full flex flex-row flex-wrap gap-2 !px-0", children: breadcrumbs.map((breadcrumb, index) => {
12629
+ const isLast = index === breadcrumbs.length - 1;
12630
+ const hasSeparator = !isLast;
12631
+ return /* @__PURE__ */ jsx54(
12632
+ MenuItem,
12633
+ {
12634
+ variant: "breadcrumb",
12635
+ value: `breadcrumb-${index}`,
12636
+ className: "!p-0 whitespace-nowrap",
12637
+ onClick: () => handleClick(breadcrumb, index),
12638
+ separator: hasSeparator,
12639
+ children: breadcrumb.name
12640
+ },
12641
+ breadcrumb.id
12642
+ );
12643
+ }) })
12644
+ }
12645
+ );
12646
+ };
12647
+
12648
+ // src/components/BreadcrumbMenu/useBreadcrumbBuilder.ts
12649
+ import { useEffect as useEffect22 } from "react";
12650
+
12651
+ // src/components/BreadcrumbMenu/breadcrumbStore.ts
12652
+ import { create as create10 } from "zustand";
12653
+ var useBreadcrumbStore = create10((set, get) => ({
12654
+ breadcrumbs: {},
12655
+ setBreadcrumbs: (namespace, items) => {
12656
+ set((state) => ({
12657
+ breadcrumbs: {
12658
+ ...state.breadcrumbs,
12659
+ [namespace]: items
12660
+ }
12661
+ }));
12662
+ },
12663
+ addBreadcrumb: (namespace, item) => {
12664
+ set((state) => {
12665
+ const current = state.breadcrumbs[namespace] || [];
12666
+ return {
12667
+ breadcrumbs: {
12668
+ ...state.breadcrumbs,
12669
+ [namespace]: [...current, item]
12670
+ }
12671
+ };
12672
+ });
12673
+ },
12674
+ updateBreadcrumb: (namespace, itemId, updates) => {
12675
+ set((state) => {
12676
+ const current = state.breadcrumbs[namespace] || [];
12677
+ return {
12678
+ breadcrumbs: {
12679
+ ...state.breadcrumbs,
12680
+ [namespace]: current.map(
12681
+ (item) => item.id === itemId ? { ...item, ...updates } : item
12682
+ )
12683
+ }
12684
+ };
12685
+ });
12686
+ },
12687
+ removeBreadcrumbFrom: (namespace, itemId) => {
12688
+ set((state) => {
12689
+ const current = state.breadcrumbs[namespace] || [];
12690
+ const index = current.findIndex((item) => item.id === itemId);
12691
+ if (index === -1) return state;
12692
+ return {
12693
+ breadcrumbs: {
12694
+ ...state.breadcrumbs,
12695
+ [namespace]: current.slice(0, index)
12696
+ }
12697
+ };
12698
+ });
12699
+ },
12700
+ sliceBreadcrumbs: (namespace, index) => {
12701
+ set((state) => {
12702
+ const current = state.breadcrumbs[namespace] || [];
12703
+ return {
12704
+ breadcrumbs: {
12705
+ ...state.breadcrumbs,
12706
+ [namespace]: current.slice(0, index + 1)
12707
+ }
12708
+ };
12709
+ });
12710
+ },
12711
+ clearBreadcrumbs: (namespace) => {
12712
+ set((state) => {
12713
+ const { [namespace]: _, ...rest } = state.breadcrumbs;
12714
+ return {
12715
+ breadcrumbs: rest
12716
+ };
12717
+ });
12718
+ },
12719
+ getBreadcrumbs: (namespace) => {
12720
+ return get().breadcrumbs[namespace] || [];
12721
+ }
12722
+ }));
12723
+ var useBreadcrumb = (namespace) => {
12724
+ const store = useBreadcrumbStore();
12725
+ const breadcrumbs = store.breadcrumbs[namespace] || [];
12726
+ return {
12727
+ breadcrumbs,
12728
+ /**
12729
+ * Define todos os breadcrumbs de uma vez
12730
+ */
12731
+ setBreadcrumbs: (items) => {
12732
+ store.setBreadcrumbs(namespace, items);
12733
+ },
12734
+ /**
12735
+ * Adiciona um novo breadcrumb ao final
12736
+ */
12737
+ addBreadcrumb: (item) => {
12738
+ store.addBreadcrumb(namespace, item);
12739
+ },
12740
+ /**
12741
+ * Atualiza um breadcrumb existente
12742
+ */
12743
+ updateBreadcrumb: (itemId, updates) => {
12744
+ store.updateBreadcrumb(namespace, itemId, updates);
12745
+ },
12746
+ /**
12747
+ * Remove um breadcrumb e todos os seguintes
12748
+ */
12749
+ removeBreadcrumbFrom: (itemId) => {
12750
+ store.removeBreadcrumbFrom(namespace, itemId);
12751
+ },
12752
+ /**
12753
+ * Mantém apenas os breadcrumbs até o índice especificado (inclusivo)
12754
+ */
12755
+ sliceBreadcrumbs: (index) => {
12756
+ store.sliceBreadcrumbs(namespace, index);
12757
+ },
12758
+ /**
12759
+ * Limpa todos os breadcrumbs
12760
+ */
12761
+ clearBreadcrumbs: () => {
12762
+ store.clearBreadcrumbs(namespace);
12763
+ }
12764
+ };
12765
+ };
12766
+
12767
+ // src/components/BreadcrumbMenu/useBreadcrumbBuilder.ts
12768
+ var isBreadcrumbWithData = (level) => {
12769
+ return "data" in level;
12770
+ };
12771
+ var useBreadcrumbBuilder = (config) => {
12772
+ const { namespace, root, levels } = config;
12773
+ const { breadcrumbs, setBreadcrumbs, sliceBreadcrumbs } = useBreadcrumb(namespace);
12774
+ const levelDependencies = levels.map(
12775
+ (level) => isBreadcrumbWithData(level) ? level.data : null
12776
+ );
12777
+ const levelUrlIds = levels.map((level) => level.urlId);
12778
+ useEffect22(() => {
12779
+ const newBreadcrumbs = [root];
12780
+ const previousIds = [];
12781
+ for (const level of levels) {
12782
+ const { urlId } = level;
12783
+ if (isBreadcrumbWithData(level)) {
12784
+ const { data, getId, getName, getUrl } = level;
12785
+ if (!data) break;
12786
+ const dataId = getId(data);
12787
+ if (urlId === void 0 || dataId !== urlId) break;
12788
+ newBreadcrumbs.push({
12789
+ id: dataId,
12790
+ name: getName(data),
12791
+ url: getUrl(data, previousIds)
12792
+ });
12793
+ previousIds.push(dataId);
12794
+ } else {
12795
+ const { breadcrumb } = level;
12796
+ if (urlId === void 0) break;
12797
+ newBreadcrumbs.push(breadcrumb);
12798
+ previousIds.push(breadcrumb.id);
12799
+ }
12800
+ }
12801
+ setBreadcrumbs(newBreadcrumbs);
12802
+ }, [namespace, ...levelDependencies, ...levelUrlIds, root.id]);
12803
+ return {
12804
+ breadcrumbs,
12805
+ sliceBreadcrumbs
12806
+ };
12807
+ };
12808
+
12809
+ // src/components/BreadcrumbMenu/useUrlParams.ts
12490
12810
  import { useMemo as useMemo7 } from "react";
12811
+ import { useLocation as useLocation3 } from "react-router-dom";
12812
+ var useUrlParams = (config) => {
12813
+ const location = useLocation3();
12814
+ return useMemo7(() => {
12815
+ const segments = location.pathname.split("/").filter(Boolean);
12816
+ const params = {};
12817
+ for (const [key, index] of Object.entries(config)) {
12818
+ params[key] = segments[index];
12819
+ }
12820
+ return params;
12821
+ }, [location.pathname, config]);
12822
+ };
12823
+
12824
+ // src/hooks/useAppInitialization.ts
12825
+ import { useMemo as useMemo8 } from "react";
12491
12826
 
12492
12827
  // src/hooks/useInstitution.ts
12493
- import { useEffect as useEffect22, useState as useState23 } from "react";
12828
+ import { useEffect as useEffect23, useState as useState23 } from "react";
12494
12829
  function useInstitutionId() {
12495
12830
  const [institutionId, setInstitutionId] = useState23(() => {
12496
12831
  return document.querySelector('meta[name="institution-id"]')?.getAttribute("content") ?? null;
12497
12832
  });
12498
- useEffect22(() => {
12833
+ useEffect23(() => {
12499
12834
  const metaTag = document.querySelector('meta[name="institution-id"]');
12500
12835
  if (!metaTag) return;
12501
12836
  const observer = new MutationObserver(() => {
@@ -12512,9 +12847,9 @@ function useInstitutionId() {
12512
12847
  }
12513
12848
 
12514
12849
  // src/store/appStore.ts
12515
- import { create as create10 } from "zustand";
12850
+ import { create as create11 } from "zustand";
12516
12851
  import { createJSONStorage, persist as persist2 } from "zustand/middleware";
12517
- var useAppStore = create10()(
12852
+ var useAppStore = create11()(
12518
12853
  persist2(
12519
12854
  (set, get) => ({
12520
12855
  institutionId: null,
@@ -12558,9 +12893,9 @@ var useAppStore = create10()(
12558
12893
  );
12559
12894
 
12560
12895
  // src/store/authStore.ts
12561
- import { create as create11 } from "zustand";
12896
+ import { create as create12 } from "zustand";
12562
12897
  import { createJSONStorage as createJSONStorage2, persist as persist3 } from "zustand/middleware";
12563
- var useAuthStore = create11()(
12898
+ var useAuthStore = create12()(
12564
12899
  persist3(
12565
12900
  (set, get) => ({
12566
12901
  user: null,
@@ -12662,7 +12997,7 @@ var useAuthStore = create11()(
12662
12997
  function useAppInitialization() {
12663
12998
  const getInstitutionId = useInstitutionId();
12664
12999
  const { initialize, initialized, institutionId } = useAppStore();
12665
- const authFunctions = useMemo7(
13000
+ const authFunctions = useMemo8(
12666
13001
  () => ({
12667
13002
  checkAuth: async () => {
12668
13003
  const { sessionInfo, tokens } = useAuthStore.getState();
@@ -12699,10 +13034,10 @@ function useAppInitialization() {
12699
13034
  }
12700
13035
 
12701
13036
  // src/hooks/useAppContent.ts
12702
- import { useCallback as useCallback7, useEffect as useEffect23, useMemo as useMemo8 } from "react";
12703
- import { useNavigate } from "react-router-dom";
13037
+ import { useCallback as useCallback7, useEffect as useEffect24, useMemo as useMemo9 } from "react";
13038
+ import { useNavigate as useNavigate2 } from "react-router-dom";
12704
13039
  function useAppContent(config) {
12705
- const navigate = useNavigate();
13040
+ const navigate = useNavigate2();
12706
13041
  const { setTokens, setSessionInfo, setSelectedProfile } = useAuthStore();
12707
13042
  const {
12708
13043
  api,
@@ -12749,7 +13084,7 @@ function useAppContent(config) {
12749
13084
  },
12750
13085
  [navigate, onError]
12751
13086
  );
12752
- const urlAuthConfig = useMemo8(
13087
+ const urlAuthConfig = useMemo9(
12753
13088
  () => ({
12754
13089
  setTokens,
12755
13090
  setSessionInfo,
@@ -12775,10 +13110,10 @@ function useAppContent(config) {
12775
13110
  );
12776
13111
  useUrlAuthentication(urlAuthConfig);
12777
13112
  const { sessionInfo } = useAuth();
12778
- const institutionIdToUse = useMemo8(() => {
13113
+ const institutionIdToUse = useMemo9(() => {
12779
13114
  return sessionInfo?.institutionId || getInstitutionId;
12780
13115
  }, [sessionInfo?.institutionId, getInstitutionId]);
12781
- useEffect23(() => {
13116
+ useEffect24(() => {
12782
13117
  if (institutionIdToUse && !initialized) {
12783
13118
  initialize(institutionIdToUse);
12784
13119
  }
@@ -12796,6 +13131,7 @@ export {
12796
13131
  AlternativesList,
12797
13132
  AuthProvider,
12798
13133
  Badge_default as Badge,
13134
+ BreadcrumbMenu,
12799
13135
  Button_default as Button,
12800
13136
  Calendar_default as Calendar,
12801
13137
  CardAccordation,
@@ -12887,6 +13223,7 @@ export {
12887
13223
  SkeletonRounded,
12888
13224
  SkeletonTable,
12889
13225
  SkeletonText,
13226
+ StatisticsCard,
12890
13227
  Stepper_default as Stepper,
12891
13228
  SubjectEnum,
12892
13229
  SubjectInfo,
@@ -12921,6 +13258,8 @@ export {
12921
13258
  useAuth,
12922
13259
  useAuthGuard,
12923
13260
  useAuthStore,
13261
+ useBreadcrumb,
13262
+ useBreadcrumbBuilder,
12924
13263
  useInstitutionId,
12925
13264
  useMobile,
12926
13265
  useQuizStore,
@@ -12929,6 +13268,7 @@ export {
12929
13268
  useThemeStore,
12930
13269
  ToastStore_default as useToastStore,
12931
13270
  useUrlAuthentication,
13271
+ useUrlParams,
12932
13272
  withAuth
12933
13273
  };
12934
13274
  //# sourceMappingURL=index.mjs.map