analytica-frontend-lib 1.2.11 → 1.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1142,7 +1142,7 @@ var CheckboxGroup = ({
1142
1142
  return depCat?.selectedIds && depCat.selectedIds.length > 0;
1143
1143
  });
1144
1144
  if (!isEnabled) {
1145
- return [{ itens: category?.itens || [] }];
1145
+ return [{ itens: [] }];
1146
1146
  }
1147
1147
  const filters = category.filteredBy || [];
1148
1148
  if (filters.length === 0) {
@@ -1257,9 +1257,10 @@ var CheckboxGroup = ({
1257
1257
  const formattedItems = getFormattedItems(categoryKey);
1258
1258
  const filteredItems = formattedItems.flatMap((group) => group.itens || []);
1259
1259
  const filteredItemIds = filteredItems.map((item) => item.id);
1260
- const allFilteredSelected = filteredItemIds.every(
1260
+ const selectedFilteredCount = filteredItemIds.filter(
1261
1261
  (itemId) => category.selectedIds?.includes(itemId)
1262
- );
1262
+ ).length;
1263
+ const allFilteredSelected = selectedFilteredCount === filteredItemIds.length;
1263
1264
  const newSelection = allFilteredSelected ? category.selectedIds?.filter((id) => !filteredItemIds.includes(id)) || [] : [
1264
1265
  ...category.selectedIds || [],
1265
1266
  ...filteredItemIds.filter(
@@ -1297,24 +1298,27 @@ var CheckboxGroup = ({
1297
1298
  }
1298
1299
  onCategoriesChange(updatedCategories);
1299
1300
  };
1300
- const renderCheckboxItem = (item, categoryKey) => /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-3 px-2", children: [
1301
- /* @__PURE__ */ jsx12(
1302
- CheckBox_default,
1303
- {
1304
- id: item.id,
1305
- checked: isCheckBoxIsSelected(categoryKey, item.id),
1306
- onChange: () => toggleItem(categoryKey, item.id)
1307
- }
1308
- ),
1309
- /* @__PURE__ */ jsx12(
1310
- "label",
1311
- {
1312
- htmlFor: item.id,
1313
- className: "text-sm text-text-950 cursor-pointer select-none",
1314
- children: item.name
1315
- }
1316
- )
1317
- ] }, item.id);
1301
+ const renderCheckboxItem = (item, categoryKey) => {
1302
+ const uniqueId = `${categoryKey}-${item.id}`;
1303
+ return /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-3 px-2", children: [
1304
+ /* @__PURE__ */ jsx12(
1305
+ CheckBox_default,
1306
+ {
1307
+ id: uniqueId,
1308
+ checked: isCheckBoxIsSelected(categoryKey, item.id),
1309
+ onChange: () => toggleItem(categoryKey, item.id)
1310
+ }
1311
+ ),
1312
+ /* @__PURE__ */ jsx12(
1313
+ "label",
1314
+ {
1315
+ htmlFor: uniqueId,
1316
+ className: "text-sm text-text-950 cursor-pointer select-none",
1317
+ children: item.name
1318
+ }
1319
+ )
1320
+ ] }, item.id);
1321
+ };
1318
1322
  const renderFormattedGroup = (formattedGroup, idx, categoryKey) => /* @__PURE__ */ jsxs8(
1319
1323
  "div",
1320
1324
  {
@@ -1386,13 +1390,38 @@ var CheckboxGroup = ({
1386
1390
  openAccordion !== category.key && /* @__PURE__ */ jsx12(Divider_default, {})
1387
1391
  ] }, category.key);
1388
1392
  };
1393
+ useEffect2(() => {
1394
+ if (!openAccordion) return;
1395
+ const category = categories.find((c) => c.key === openAccordion);
1396
+ if (!category) return;
1397
+ const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
1398
+ const depCat = categories.find((c) => c.key === depKey);
1399
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
1400
+ });
1401
+ if (!isEnabled) {
1402
+ setTimeout(() => {
1403
+ setOpenAccordion("");
1404
+ }, 0);
1405
+ }
1406
+ }, [categories, openAccordion]);
1389
1407
  return /* @__PURE__ */ jsx12(
1390
1408
  AccordionGroup,
1391
1409
  {
1392
1410
  type: "single",
1411
+ collapsible: true,
1393
1412
  value: openAccordion,
1394
1413
  onValueChange: (value) => {
1395
1414
  if (typeof value === "string") {
1415
+ if (value) {
1416
+ const category = categories.find((c) => c.key === value);
1417
+ const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
1418
+ const depCat = categories.find((c) => c.key === depKey);
1419
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
1420
+ });
1421
+ if (!isEnabled) {
1422
+ return;
1423
+ }
1424
+ }
1396
1425
  setOpenAccordion(value);
1397
1426
  }
1398
1427
  },
@@ -6771,10 +6800,246 @@ var TableCaption = forwardRef14(({ className, ...props }, ref) => /* @__PURE__ *
6771
6800
  TableCaption.displayName = "TableCaption";
6772
6801
  var Table_default = Table;
6773
6802
 
6803
+ // src/components/Filter/FilterModal.tsx
6804
+ import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
6805
+ var FilterModal = ({
6806
+ isOpen,
6807
+ onClose,
6808
+ filterConfigs,
6809
+ onFiltersChange,
6810
+ onApply,
6811
+ onClear,
6812
+ title = "Filtros",
6813
+ size = "md",
6814
+ applyLabel = "Aplicar",
6815
+ clearLabel = "Limpar filtros"
6816
+ }) => {
6817
+ const handleCategoryChange = (configIndex, updatedCategories) => {
6818
+ const newConfigs = [...filterConfigs];
6819
+ newConfigs[configIndex] = {
6820
+ ...newConfigs[configIndex],
6821
+ categories: updatedCategories
6822
+ };
6823
+ onFiltersChange(newConfigs);
6824
+ };
6825
+ const handleApply = () => {
6826
+ onApply();
6827
+ onClose();
6828
+ };
6829
+ const handleClear = () => {
6830
+ onClear();
6831
+ };
6832
+ return /* @__PURE__ */ jsx40(
6833
+ Modal_default,
6834
+ {
6835
+ isOpen,
6836
+ onClose,
6837
+ title,
6838
+ size,
6839
+ footer: /* @__PURE__ */ jsxs29("div", { className: "flex gap-3 justify-end w-full", children: [
6840
+ /* @__PURE__ */ jsx40(Button_default, { variant: "outline", onClick: handleClear, children: clearLabel }),
6841
+ /* @__PURE__ */ jsx40(Button_default, { onClick: handleApply, children: applyLabel })
6842
+ ] }),
6843
+ children: /* @__PURE__ */ jsx40("div", { className: "flex flex-col gap-6", children: filterConfigs.map((config, index) => /* @__PURE__ */ jsxs29("div", { className: "flex flex-col gap-4", children: [
6844
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2 text-text-400 text-sm font-medium uppercase", children: [
6845
+ config.key === "academic" && /* @__PURE__ */ jsxs29(
6846
+ "svg",
6847
+ {
6848
+ width: "16",
6849
+ height: "16",
6850
+ viewBox: "0 0 16 16",
6851
+ fill: "none",
6852
+ xmlns: "http://www.w3.org/2000/svg",
6853
+ className: "text-text-400",
6854
+ children: [
6855
+ /* @__PURE__ */ jsx40(
6856
+ "path",
6857
+ {
6858
+ d: "M8 2L2 5.33333L8 8.66667L14 5.33333L8 2Z",
6859
+ stroke: "currentColor",
6860
+ strokeWidth: "1.5",
6861
+ strokeLinecap: "round",
6862
+ strokeLinejoin: "round"
6863
+ }
6864
+ ),
6865
+ /* @__PURE__ */ jsx40(
6866
+ "path",
6867
+ {
6868
+ d: "M2 10.6667L8 14L14 10.6667",
6869
+ stroke: "currentColor",
6870
+ strokeWidth: "1.5",
6871
+ strokeLinecap: "round",
6872
+ strokeLinejoin: "round"
6873
+ }
6874
+ ),
6875
+ /* @__PURE__ */ jsx40(
6876
+ "path",
6877
+ {
6878
+ d: "M2 8L8 11.3333L14 8",
6879
+ stroke: "currentColor",
6880
+ strokeWidth: "1.5",
6881
+ strokeLinecap: "round",
6882
+ strokeLinejoin: "round"
6883
+ }
6884
+ )
6885
+ ]
6886
+ }
6887
+ ),
6888
+ config.key === "content" && /* @__PURE__ */ jsxs29(
6889
+ "svg",
6890
+ {
6891
+ width: "16",
6892
+ height: "16",
6893
+ viewBox: "0 0 16 16",
6894
+ fill: "none",
6895
+ xmlns: "http://www.w3.org/2000/svg",
6896
+ className: "text-text-400",
6897
+ children: [
6898
+ /* @__PURE__ */ jsx40(
6899
+ "path",
6900
+ {
6901
+ d: "M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z",
6902
+ stroke: "currentColor",
6903
+ strokeWidth: "1.5",
6904
+ strokeLinecap: "round",
6905
+ strokeLinejoin: "round"
6906
+ }
6907
+ ),
6908
+ /* @__PURE__ */ jsx40(
6909
+ "path",
6910
+ {
6911
+ d: "M2 6H14",
6912
+ stroke: "currentColor",
6913
+ strokeWidth: "1.5",
6914
+ strokeLinecap: "round",
6915
+ strokeLinejoin: "round"
6916
+ }
6917
+ ),
6918
+ /* @__PURE__ */ jsx40(
6919
+ "path",
6920
+ {
6921
+ d: "M6 2V14",
6922
+ stroke: "currentColor",
6923
+ strokeWidth: "1.5",
6924
+ strokeLinecap: "round",
6925
+ strokeLinejoin: "round"
6926
+ }
6927
+ )
6928
+ ]
6929
+ }
6930
+ ),
6931
+ /* @__PURE__ */ jsx40("span", { children: config.label })
6932
+ ] }),
6933
+ /* @__PURE__ */ jsx40(
6934
+ CheckboxGroup,
6935
+ {
6936
+ categories: config.categories,
6937
+ onCategoriesChange: (updatedCategories) => handleCategoryChange(index, updatedCategories)
6938
+ }
6939
+ )
6940
+ ] }, config.key)) })
6941
+ }
6942
+ );
6943
+ };
6944
+
6945
+ // src/components/Filter/useTableFilter.ts
6946
+ import { useEffect as useEffect14, useState as useState14, useCallback as useCallback2 } from "react";
6947
+ var useTableFilter = (initialConfigs, options = {}) => {
6948
+ const { syncWithUrl = false } = options;
6949
+ const getInitialState = useCallback2(() => {
6950
+ if (!syncWithUrl || globalThis.window === void 0) {
6951
+ return initialConfigs;
6952
+ }
6953
+ const params = new URLSearchParams(globalThis.window.location.search);
6954
+ const configsWithUrlState = initialConfigs.map((config) => ({
6955
+ ...config,
6956
+ categories: config.categories.map((category) => {
6957
+ const urlValue = params.get(`filter_${category.key}`);
6958
+ const selectedIds = urlValue ? urlValue.split(",").filter(Boolean) : [];
6959
+ return {
6960
+ ...category,
6961
+ selectedIds
6962
+ };
6963
+ })
6964
+ }));
6965
+ return configsWithUrlState;
6966
+ }, [initialConfigs, syncWithUrl]);
6967
+ const [filterConfigs, setFilterConfigs] = useState14(getInitialState);
6968
+ const activeFilters = {};
6969
+ let hasActiveFilters = false;
6970
+ for (const config of filterConfigs) {
6971
+ for (const category of config.categories) {
6972
+ if (category.selectedIds && category.selectedIds.length > 0) {
6973
+ activeFilters[category.key] = category.selectedIds;
6974
+ hasActiveFilters = true;
6975
+ }
6976
+ }
6977
+ }
6978
+ const updateFilters = useCallback2((configs) => {
6979
+ setFilterConfigs(configs);
6980
+ }, []);
6981
+ const applyFilters = useCallback2(() => {
6982
+ if (!syncWithUrl || globalThis.window === void 0) {
6983
+ return;
6984
+ }
6985
+ const url = new URL(globalThis.window.location.href);
6986
+ const params = url.searchParams;
6987
+ for (const config of filterConfigs) {
6988
+ for (const category of config.categories) {
6989
+ const paramKey = `filter_${category.key}`;
6990
+ if (category.selectedIds && category.selectedIds.length > 0) {
6991
+ params.set(paramKey, category.selectedIds.join(","));
6992
+ } else {
6993
+ params.delete(paramKey);
6994
+ }
6995
+ }
6996
+ }
6997
+ globalThis.window.history.replaceState({}, "", url.toString());
6998
+ }, [filterConfigs, syncWithUrl]);
6999
+ const clearFilters = useCallback2(() => {
7000
+ const clearedConfigs = filterConfigs.map((config) => ({
7001
+ ...config,
7002
+ categories: config.categories.map((category) => ({
7003
+ ...category,
7004
+ selectedIds: []
7005
+ }))
7006
+ }));
7007
+ setFilterConfigs(clearedConfigs);
7008
+ if (syncWithUrl && globalThis.window !== void 0) {
7009
+ const url = new URL(globalThis.window.location.href);
7010
+ const params = url.searchParams;
7011
+ for (const config of filterConfigs) {
7012
+ for (const category of config.categories) {
7013
+ params.delete(`filter_${category.key}`);
7014
+ }
7015
+ }
7016
+ globalThis.window.history.replaceState({}, "", url.toString());
7017
+ }
7018
+ }, [filterConfigs, syncWithUrl]);
7019
+ useEffect14(() => {
7020
+ if (!syncWithUrl || globalThis.window === void 0) {
7021
+ return;
7022
+ }
7023
+ const handlePopState = () => {
7024
+ setFilterConfigs(getInitialState());
7025
+ };
7026
+ globalThis.window.addEventListener("popstate", handlePopState);
7027
+ return () => globalThis.window.removeEventListener("popstate", handlePopState);
7028
+ }, [syncWithUrl, getInitialState]);
7029
+ return {
7030
+ filterConfigs,
7031
+ activeFilters,
7032
+ hasActiveFilters,
7033
+ updateFilters,
7034
+ applyFilters,
7035
+ clearFilters
7036
+ };
7037
+ };
7038
+
6774
7039
  // src/components/Select/Select.tsx
6775
7040
  import { create as create7, useStore as useStore4 } from "zustand";
6776
7041
  import {
6777
- useEffect as useEffect14,
7042
+ useEffect as useEffect15,
6778
7043
  useRef as useRef8,
6779
7044
  forwardRef as forwardRef15,
6780
7045
  isValidElement as isValidElement4,
@@ -6783,7 +7048,7 @@ import {
6783
7048
  useId as useId8
6784
7049
  } from "react";
6785
7050
  import { CaretDown as CaretDown2, Check as Check4, WarningCircle as WarningCircle5 } from "phosphor-react";
6786
- import { Fragment as Fragment6, jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
7051
+ import { Fragment as Fragment6, jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
6787
7052
  var VARIANT_CLASSES4 = {
6788
7053
  outlined: "border-2 rounded-lg focus:border-primary-950",
6789
7054
  underlined: "border-b-2 focus:border-primary-950",
@@ -6843,7 +7108,7 @@ function getLabelAsNode(children) {
6843
7108
  }
6844
7109
  const flattened = Children4.toArray(children);
6845
7110
  if (flattened.length === 1) return flattened[0];
6846
- return /* @__PURE__ */ jsx40(Fragment6, { children: flattened });
7111
+ return /* @__PURE__ */ jsx41(Fragment6, { children: flattened });
6847
7112
  }
6848
7113
  var injectStore4 = (children, store, size, selectId) => {
6849
7114
  return Children4.map(children, (child) => {
@@ -6905,13 +7170,13 @@ var Select = ({
6905
7170
  search(children2);
6906
7171
  return found;
6907
7172
  };
6908
- useEffect14(() => {
7173
+ useEffect15(() => {
6909
7174
  if (!selectedLabel && defaultValue) {
6910
7175
  const label2 = findLabelForValue(children, defaultValue);
6911
7176
  if (label2) store.setState({ selectedLabel: label2 });
6912
7177
  }
6913
7178
  }, [children, defaultValue, selectedLabel]);
6914
- useEffect14(() => {
7179
+ useEffect15(() => {
6915
7180
  const handleClickOutside = (event) => {
6916
7181
  if (selectRef.current && !selectRef.current.contains(event.target)) {
6917
7182
  setOpen(false);
@@ -6946,7 +7211,7 @@ var Select = ({
6946
7211
  document.removeEventListener("keydown", handleArrowKeys);
6947
7212
  };
6948
7213
  }, [open]);
6949
- useEffect14(() => {
7214
+ useEffect15(() => {
6950
7215
  if (propValue) {
6951
7216
  setValue(propValue);
6952
7217
  const label2 = findLabelForValue(children, propValue);
@@ -6954,8 +7219,8 @@ var Select = ({
6954
7219
  }
6955
7220
  }, [propValue]);
6956
7221
  const sizeClasses = SIZE_CLASSES12[size];
6957
- return /* @__PURE__ */ jsxs29("div", { className: cn("w-full", className), children: [
6958
- label && /* @__PURE__ */ jsx40(
7222
+ return /* @__PURE__ */ jsxs30("div", { className: cn("w-full", className), children: [
7223
+ label && /* @__PURE__ */ jsx41(
6959
7224
  "label",
6960
7225
  {
6961
7226
  htmlFor: selectId,
@@ -6963,11 +7228,11 @@ var Select = ({
6963
7228
  children: label
6964
7229
  }
6965
7230
  ),
6966
- /* @__PURE__ */ jsx40("div", { className: cn("relative w-full"), ref: selectRef, children: injectStore4(children, store, size, selectId) }),
6967
- (helperText || errorMessage) && /* @__PURE__ */ jsxs29("div", { className: "mt-1.5 gap-1.5", children: [
6968
- helperText && /* @__PURE__ */ jsx40("p", { className: "text-sm text-text-500", children: helperText }),
6969
- errorMessage && /* @__PURE__ */ jsxs29("p", { className: "flex gap-1 items-center text-sm text-indicator-error", children: [
6970
- /* @__PURE__ */ jsx40(WarningCircle5, { size: 16 }),
7231
+ /* @__PURE__ */ jsx41("div", { className: cn("relative w-full"), ref: selectRef, children: injectStore4(children, store, size, selectId) }),
7232
+ (helperText || errorMessage) && /* @__PURE__ */ jsxs30("div", { className: "mt-1.5 gap-1.5", children: [
7233
+ helperText && /* @__PURE__ */ jsx41("p", { className: "text-sm text-text-500", children: helperText }),
7234
+ errorMessage && /* @__PURE__ */ jsxs30("p", { className: "flex gap-1 items-center text-sm text-indicator-error", children: [
7235
+ /* @__PURE__ */ jsx41(WarningCircle5, { size: 16 }),
6971
7236
  " ",
6972
7237
  errorMessage
6973
7238
  ] })
@@ -6981,7 +7246,7 @@ var SelectValue = ({
6981
7246
  const store = useSelectStore(externalStore);
6982
7247
  const selectedLabel = useStore4(store, (s) => s.selectedLabel);
6983
7248
  const value = useStore4(store, (s) => s.value);
6984
- return /* @__PURE__ */ jsx40("span", { className: "text-inherit flex gap-2 items-center", children: selectedLabel || placeholder || value });
7249
+ return /* @__PURE__ */ jsx41("span", { className: "text-inherit flex gap-2 items-center", children: selectedLabel || placeholder || value });
6985
7250
  };
6986
7251
  var SelectTrigger = forwardRef15(
6987
7252
  ({
@@ -7000,7 +7265,7 @@ var SelectTrigger = forwardRef15(
7000
7265
  const variantClasses = VARIANT_CLASSES4[variant];
7001
7266
  const heightClasses = HEIGHT_CLASSES[size];
7002
7267
  const paddingClasses = PADDING_CLASSES[size];
7003
- return /* @__PURE__ */ jsxs29(
7268
+ return /* @__PURE__ */ jsxs30(
7004
7269
  "button",
7005
7270
  {
7006
7271
  ref,
@@ -7022,7 +7287,7 @@ var SelectTrigger = forwardRef15(
7022
7287
  ...props,
7023
7288
  children: [
7024
7289
  props.children,
7025
- /* @__PURE__ */ jsx40(
7290
+ /* @__PURE__ */ jsx41(
7026
7291
  CaretDown2,
7027
7292
  {
7028
7293
  className: cn(
@@ -7050,7 +7315,7 @@ var SelectContent = forwardRef15(
7050
7315
  const open = useStore4(store, (s) => s.open);
7051
7316
  if (!open) return null;
7052
7317
  const getPositionClasses = () => `w-full min-w-full absolute ${SIDE_CLASSES2[side]} ${ALIGN_CLASSES2[align]}`;
7053
- return /* @__PURE__ */ jsx40(
7318
+ return /* @__PURE__ */ jsx41(
7054
7319
  "div",
7055
7320
  {
7056
7321
  role: "menu",
@@ -7094,7 +7359,7 @@ var SelectItem = forwardRef15(
7094
7359
  }
7095
7360
  props.onClick?.(e);
7096
7361
  };
7097
- return /* @__PURE__ */ jsxs29(
7362
+ return /* @__PURE__ */ jsxs30(
7098
7363
  "div",
7099
7364
  {
7100
7365
  role: "menuitem",
@@ -7114,7 +7379,7 @@ var SelectItem = forwardRef15(
7114
7379
  tabIndex: disabled ? -1 : 0,
7115
7380
  ...props,
7116
7381
  children: [
7117
- /* @__PURE__ */ jsx40("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: selectedValue === value && /* @__PURE__ */ jsx40(Check4, { className: "" }) }),
7382
+ /* @__PURE__ */ jsx41("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: selectedValue === value && /* @__PURE__ */ jsx41(Check4, { className: "" }) }),
7118
7383
  children
7119
7384
  ]
7120
7385
  }
@@ -7127,16 +7392,16 @@ var Select_default = Select;
7127
7392
  // src/components/Menu/Menu.tsx
7128
7393
  import { create as create8, useStore as useStore5 } from "zustand";
7129
7394
  import {
7130
- useEffect as useEffect15,
7395
+ useEffect as useEffect16,
7131
7396
  useRef as useRef9,
7132
7397
  forwardRef as forwardRef16,
7133
7398
  isValidElement as isValidElement5,
7134
7399
  Children as Children5,
7135
7400
  cloneElement as cloneElement5,
7136
- useState as useState14
7401
+ useState as useState15
7137
7402
  } from "react";
7138
7403
  import { CaretLeft, CaretRight as CaretRight2 } from "phosphor-react";
7139
- import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
7404
+ import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
7140
7405
  var createMenuStore = (onValueChange) => create8((set) => ({
7141
7406
  value: "",
7142
7407
  setValue: (value) => {
@@ -7169,12 +7434,12 @@ var Menu = forwardRef16(
7169
7434
  storeRef.current ??= createMenuStore(onValueChange);
7170
7435
  const store = storeRef.current;
7171
7436
  const { setValue } = useStore5(store, (s) => s);
7172
- useEffect15(() => {
7437
+ useEffect16(() => {
7173
7438
  setValue(propValue ?? defaultValue);
7174
7439
  }, [defaultValue, propValue, setValue]);
7175
7440
  const baseClasses = variant === "menu-overflow" ? "w-fit py-2 flex flex-row items-center justify-center" : "w-full py-2 flex flex-row items-center justify-center";
7176
7441
  const variantClasses = VARIANT_CLASSES5[variant];
7177
- return /* @__PURE__ */ jsx41(
7442
+ return /* @__PURE__ */ jsx42(
7178
7443
  "div",
7179
7444
  {
7180
7445
  ref,
@@ -7194,7 +7459,7 @@ var MenuContent = forwardRef16(
7194
7459
  ({ className, children, variant = "menu", ...props }, ref) => {
7195
7460
  const baseClasses = "w-full flex flex-row items-center gap-2";
7196
7461
  const variantClasses = variant === "menu2" || variant === "menu-overflow" ? "overflow-x-auto scroll-smooth" : "";
7197
- return /* @__PURE__ */ jsx41(
7462
+ return /* @__PURE__ */ jsx42(
7198
7463
  "ul",
7199
7464
  {
7200
7465
  ref,
@@ -7246,7 +7511,7 @@ var MenuItem = forwardRef16(
7246
7511
  ...props
7247
7512
  };
7248
7513
  const variants = {
7249
- menu: /* @__PURE__ */ jsx41(
7514
+ menu: /* @__PURE__ */ jsx42(
7250
7515
  "li",
7251
7516
  {
7252
7517
  "data-variant": "menu",
@@ -7261,7 +7526,7 @@ var MenuItem = forwardRef16(
7261
7526
  children
7262
7527
  }
7263
7528
  ),
7264
- menu2: /* @__PURE__ */ jsxs30(
7529
+ menu2: /* @__PURE__ */ jsxs31(
7265
7530
  "li",
7266
7531
  {
7267
7532
  "data-variant": "menu2",
@@ -7272,7 +7537,7 @@ var MenuItem = forwardRef16(
7272
7537
  `,
7273
7538
  ...commonProps,
7274
7539
  children: [
7275
- /* @__PURE__ */ jsx41(
7540
+ /* @__PURE__ */ jsx42(
7276
7541
  "span",
7277
7542
  {
7278
7543
  className: cn(
@@ -7282,11 +7547,11 @@ var MenuItem = forwardRef16(
7282
7547
  children
7283
7548
  }
7284
7549
  ),
7285
- selectedValue === value && /* @__PURE__ */ jsx41("div", { className: "h-1 w-full bg-primary-950 rounded-lg" })
7550
+ selectedValue === value && /* @__PURE__ */ jsx42("div", { className: "h-1 w-full bg-primary-950 rounded-lg" })
7286
7551
  ]
7287
7552
  }
7288
7553
  ),
7289
- "menu-overflow": /* @__PURE__ */ jsxs30(
7554
+ "menu-overflow": /* @__PURE__ */ jsxs31(
7290
7555
  "li",
7291
7556
  {
7292
7557
  "data-variant": "menu-overflow",
@@ -7297,7 +7562,7 @@ var MenuItem = forwardRef16(
7297
7562
  `,
7298
7563
  ...commonProps,
7299
7564
  children: [
7300
- /* @__PURE__ */ jsx41(
7565
+ /* @__PURE__ */ jsx42(
7301
7566
  "span",
7302
7567
  {
7303
7568
  className: cn(
@@ -7307,11 +7572,11 @@ var MenuItem = forwardRef16(
7307
7572
  children
7308
7573
  }
7309
7574
  ),
7310
- selectedValue === value && /* @__PURE__ */ jsx41("div", { className: "h-1 w-full bg-primary-950 rounded-lg" })
7575
+ selectedValue === value && /* @__PURE__ */ jsx42("div", { className: "h-1 w-full bg-primary-950 rounded-lg" })
7311
7576
  ]
7312
7577
  }
7313
7578
  ),
7314
- breadcrumb: /* @__PURE__ */ jsxs30(
7579
+ breadcrumb: /* @__PURE__ */ jsxs31(
7315
7580
  "li",
7316
7581
  {
7317
7582
  "data-variant": "breadcrumb",
@@ -7323,7 +7588,7 @@ var MenuItem = forwardRef16(
7323
7588
  `,
7324
7589
  ...commonProps,
7325
7590
  children: [
7326
- /* @__PURE__ */ jsx41(
7591
+ /* @__PURE__ */ jsx42(
7327
7592
  "span",
7328
7593
  {
7329
7594
  className: cn(
@@ -7333,7 +7598,7 @@ var MenuItem = forwardRef16(
7333
7598
  children
7334
7599
  }
7335
7600
  ),
7336
- separator && /* @__PURE__ */ jsx41(
7601
+ separator && /* @__PURE__ */ jsx42(
7337
7602
  CaretRight2,
7338
7603
  {
7339
7604
  size: 16,
@@ -7371,9 +7636,9 @@ var MenuOverflow = ({
7371
7636
  ...props
7372
7637
  }) => {
7373
7638
  const containerRef = useRef9(null);
7374
- const [showLeftArrow, setShowLeftArrow] = useState14(false);
7375
- const [showRightArrow, setShowRightArrow] = useState14(false);
7376
- useEffect15(() => {
7639
+ const [showLeftArrow, setShowLeftArrow] = useState15(false);
7640
+ const [showRightArrow, setShowRightArrow] = useState15(false);
7641
+ useEffect16(() => {
7377
7642
  const checkScroll = () => internalCheckScroll(
7378
7643
  containerRef.current,
7379
7644
  setShowLeftArrow,
@@ -7388,25 +7653,25 @@ var MenuOverflow = ({
7388
7653
  window.removeEventListener("resize", checkScroll);
7389
7654
  };
7390
7655
  }, []);
7391
- return /* @__PURE__ */ jsxs30(
7656
+ return /* @__PURE__ */ jsxs31(
7392
7657
  "div",
7393
7658
  {
7394
7659
  "data-testid": "menu-overflow-wrapper",
7395
7660
  className: cn("relative w-full overflow-hidden", className),
7396
7661
  children: [
7397
- showLeftArrow && /* @__PURE__ */ jsxs30(
7662
+ showLeftArrow && /* @__PURE__ */ jsxs31(
7398
7663
  "button",
7399
7664
  {
7400
7665
  onClick: () => internalScroll(containerRef.current, "left"),
7401
7666
  className: "absolute left-0 top-1/2 -translate-y-1/2 z-10 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-md cursor-pointer",
7402
7667
  "data-testid": "scroll-left-button",
7403
7668
  children: [
7404
- /* @__PURE__ */ jsx41(CaretLeft, { size: 16 }),
7405
- /* @__PURE__ */ jsx41("span", { className: "sr-only", children: "Scroll left" })
7669
+ /* @__PURE__ */ jsx42(CaretLeft, { size: 16 }),
7670
+ /* @__PURE__ */ jsx42("span", { className: "sr-only", children: "Scroll left" })
7406
7671
  ]
7407
7672
  }
7408
7673
  ),
7409
- /* @__PURE__ */ jsx41(
7674
+ /* @__PURE__ */ jsx42(
7410
7675
  Menu,
7411
7676
  {
7412
7677
  defaultValue,
@@ -7414,18 +7679,18 @@ var MenuOverflow = ({
7414
7679
  value,
7415
7680
  variant: "menu2",
7416
7681
  ...props,
7417
- children: /* @__PURE__ */ jsx41(MenuContent, { ref: containerRef, variant: "menu2", children })
7682
+ children: /* @__PURE__ */ jsx42(MenuContent, { ref: containerRef, variant: "menu2", children })
7418
7683
  }
7419
7684
  ),
7420
- showRightArrow && /* @__PURE__ */ jsxs30(
7685
+ showRightArrow && /* @__PURE__ */ jsxs31(
7421
7686
  "button",
7422
7687
  {
7423
7688
  onClick: () => internalScroll(containerRef.current, "right"),
7424
7689
  className: "absolute right-0 top-1/2 -translate-y-1/2 z-10 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-md cursor-pointer",
7425
7690
  "data-testid": "scroll-right-button",
7426
7691
  children: [
7427
- /* @__PURE__ */ jsx41(CaretRight2, { size: 16 }),
7428
- /* @__PURE__ */ jsx41("span", { className: "sr-only", children: "Scroll right" })
7692
+ /* @__PURE__ */ jsx42(CaretRight2, { size: 16 }),
7693
+ /* @__PURE__ */ jsx42("span", { className: "sr-only", children: "Scroll right" })
7429
7694
  ]
7430
7695
  }
7431
7696
  )
@@ -7448,9 +7713,9 @@ var Menu_default = Menu;
7448
7713
  import {
7449
7714
  forwardRef as forwardRef17,
7450
7715
  Fragment as Fragment7,
7451
- useState as useState15,
7716
+ useState as useState16,
7452
7717
  useRef as useRef10,
7453
- useEffect as useEffect16
7718
+ useEffect as useEffect17
7454
7719
  } from "react";
7455
7720
  import {
7456
7721
  CaretRight as CaretRight3,
@@ -7468,7 +7733,7 @@ import {
7468
7733
  // src/components/IconRender/IconRender.tsx
7469
7734
  import { cloneElement as cloneElement6 } from "react";
7470
7735
  import * as PhosphorIcons from "phosphor-react";
7471
- import { jsx as jsx42 } from "react/jsx-runtime";
7736
+ import { jsx as jsx43 } from "react/jsx-runtime";
7472
7737
  var IconRender = ({
7473
7738
  iconName,
7474
7739
  color = "#000000",
@@ -7478,14 +7743,14 @@ var IconRender = ({
7478
7743
  if (typeof iconName === "string") {
7479
7744
  switch (iconName) {
7480
7745
  case "Chat_PT":
7481
- return /* @__PURE__ */ jsx42(ChatPT, { size, color });
7746
+ return /* @__PURE__ */ jsx43(ChatPT, { size, color });
7482
7747
  case "Chat_EN":
7483
- return /* @__PURE__ */ jsx42(ChatEN, { size, color });
7748
+ return /* @__PURE__ */ jsx43(ChatEN, { size, color });
7484
7749
  case "Chat_ES":
7485
- return /* @__PURE__ */ jsx42(ChatES, { size, color });
7750
+ return /* @__PURE__ */ jsx43(ChatES, { size, color });
7486
7751
  default: {
7487
7752
  const IconComponent = PhosphorIcons[iconName] || PhosphorIcons.Question;
7488
- return /* @__PURE__ */ jsx42(IconComponent, { size, color, weight });
7753
+ return /* @__PURE__ */ jsx43(IconComponent, { size, color, weight });
7489
7754
  }
7490
7755
  }
7491
7756
  } else {
@@ -7498,7 +7763,7 @@ var IconRender = ({
7498
7763
  var IconRender_default = IconRender;
7499
7764
 
7500
7765
  // src/components/Card/Card.tsx
7501
- import { Fragment as Fragment8, jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
7766
+ import { Fragment as Fragment8, jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
7502
7767
  var CARD_BASE_CLASSES = {
7503
7768
  default: "w-full bg-background border border-border-50 rounded-xl",
7504
7769
  compact: "w-full bg-background border border-border-50 rounded-lg",
@@ -7540,7 +7805,7 @@ var CardBase = forwardRef17(
7540
7805
  const minHeightClasses = CARD_MIN_HEIGHT_CLASSES[minHeight];
7541
7806
  const layoutClasses = CARD_LAYOUT_CLASSES[layout];
7542
7807
  const cursorClasses = CARD_CURSOR_CLASSES[cursor];
7543
- return /* @__PURE__ */ jsx43(
7808
+ return /* @__PURE__ */ jsx44(
7544
7809
  "div",
7545
7810
  {
7546
7811
  ref,
@@ -7598,7 +7863,7 @@ var CardActivitiesResults = forwardRef17(
7598
7863
  const actionIconClasses = ACTION_ICON_CLASSES[action];
7599
7864
  const actionSubTitleClasses = ACTION_SUBTITLE_CLASSES[action];
7600
7865
  const actionHeaderClasses = ACTION_HEADER_CLASSES[action];
7601
- return /* @__PURE__ */ jsxs31(
7866
+ return /* @__PURE__ */ jsxs32(
7602
7867
  "div",
7603
7868
  {
7604
7869
  ref,
@@ -7608,7 +7873,7 @@ var CardActivitiesResults = forwardRef17(
7608
7873
  ),
7609
7874
  ...props,
7610
7875
  children: [
7611
- /* @__PURE__ */ jsxs31(
7876
+ /* @__PURE__ */ jsxs32(
7612
7877
  "div",
7613
7878
  {
7614
7879
  className: cn(
@@ -7617,7 +7882,7 @@ var CardActivitiesResults = forwardRef17(
7617
7882
  extended ? "rounded-t-xl" : "rounded-xl"
7618
7883
  ),
7619
7884
  children: [
7620
- /* @__PURE__ */ jsx43(
7885
+ /* @__PURE__ */ jsx44(
7621
7886
  "span",
7622
7887
  {
7623
7888
  className: cn(
@@ -7627,7 +7892,7 @@ var CardActivitiesResults = forwardRef17(
7627
7892
  children: icon
7628
7893
  }
7629
7894
  ),
7630
- /* @__PURE__ */ jsx43(
7895
+ /* @__PURE__ */ jsx44(
7631
7896
  Text_default,
7632
7897
  {
7633
7898
  size: "2xs",
@@ -7636,7 +7901,7 @@ var CardActivitiesResults = forwardRef17(
7636
7901
  children: title
7637
7902
  }
7638
7903
  ),
7639
- /* @__PURE__ */ jsx43(
7904
+ /* @__PURE__ */ jsx44(
7640
7905
  "p",
7641
7906
  {
7642
7907
  className: cn("text-lg font-bold truncate", actionSubTitleClasses),
@@ -7646,8 +7911,8 @@ var CardActivitiesResults = forwardRef17(
7646
7911
  ]
7647
7912
  }
7648
7913
  ),
7649
- extended && /* @__PURE__ */ jsxs31("div", { className: "flex flex-col items-center gap-2.5 pb-9.5 pt-2.5", children: [
7650
- /* @__PURE__ */ jsx43(
7914
+ extended && /* @__PURE__ */ jsxs32("div", { className: "flex flex-col items-center gap-2.5 pb-9.5 pt-2.5", children: [
7915
+ /* @__PURE__ */ jsx44(
7651
7916
  "p",
7652
7917
  {
7653
7918
  className: cn(
@@ -7657,7 +7922,7 @@ var CardActivitiesResults = forwardRef17(
7657
7922
  children: header
7658
7923
  }
7659
7924
  ),
7660
- /* @__PURE__ */ jsx43(Badge_default, { size: "large", action: "info", children: description })
7925
+ /* @__PURE__ */ jsx44(Badge_default, { size: "large", action: "info", children: description })
7661
7926
  ] })
7662
7927
  ]
7663
7928
  }
@@ -7676,7 +7941,7 @@ var CardQuestions = forwardRef17(
7676
7941
  const isDone = state === "done";
7677
7942
  const stateLabel = isDone ? "Realizado" : "N\xE3o Realizado";
7678
7943
  const buttonLabel = isDone ? "Ver Resultado" : "Responder";
7679
- return /* @__PURE__ */ jsxs31(
7944
+ return /* @__PURE__ */ jsxs32(
7680
7945
  CardBase,
7681
7946
  {
7682
7947
  ref,
@@ -7686,9 +7951,9 @@ var CardQuestions = forwardRef17(
7686
7951
  className: cn("justify-between gap-4", className),
7687
7952
  ...props,
7688
7953
  children: [
7689
- /* @__PURE__ */ jsxs31("section", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
7690
- /* @__PURE__ */ jsx43("p", { className: "font-bold text-xs text-text-950 truncate", children: header }),
7691
- /* @__PURE__ */ jsx43("div", { className: "flex flex-row gap-6 items-center", children: /* @__PURE__ */ jsx43(
7954
+ /* @__PURE__ */ jsxs32("section", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
7955
+ /* @__PURE__ */ jsx44("p", { className: "font-bold text-xs text-text-950 truncate", children: header }),
7956
+ /* @__PURE__ */ jsx44("div", { className: "flex flex-row gap-6 items-center", children: /* @__PURE__ */ jsx44(
7692
7957
  Badge_default,
7693
7958
  {
7694
7959
  size: "medium",
@@ -7698,7 +7963,7 @@ var CardQuestions = forwardRef17(
7698
7963
  }
7699
7964
  ) })
7700
7965
  ] }),
7701
- /* @__PURE__ */ jsx43("span", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx43(
7966
+ /* @__PURE__ */ jsx44("span", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx44(
7702
7967
  Button_default,
7703
7968
  {
7704
7969
  size: "extra-small",
@@ -7729,19 +7994,19 @@ var CardProgress = forwardRef17(
7729
7994
  }, ref) => {
7730
7995
  const isHorizontal = direction === "horizontal";
7731
7996
  const contentComponent = {
7732
- horizontal: /* @__PURE__ */ jsxs31(Fragment8, { children: [
7733
- showDates && /* @__PURE__ */ jsxs31("div", { className: "flex flex-row gap-6 items-center", children: [
7734
- initialDate && /* @__PURE__ */ jsxs31("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
7735
- /* @__PURE__ */ jsx43("p", { className: "text-text-800 font-semibold", children: "In\xEDcio" }),
7736
- /* @__PURE__ */ jsx43("p", { className: "text-text-600", children: initialDate })
7997
+ horizontal: /* @__PURE__ */ jsxs32(Fragment8, { children: [
7998
+ showDates && /* @__PURE__ */ jsxs32("div", { className: "flex flex-row gap-6 items-center", children: [
7999
+ initialDate && /* @__PURE__ */ jsxs32("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
8000
+ /* @__PURE__ */ jsx44("p", { className: "text-text-800 font-semibold", children: "In\xEDcio" }),
8001
+ /* @__PURE__ */ jsx44("p", { className: "text-text-600", children: initialDate })
7737
8002
  ] }),
7738
- endDate && /* @__PURE__ */ jsxs31("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
7739
- /* @__PURE__ */ jsx43("p", { className: "text-text-800 font-semibold", children: "Fim" }),
7740
- /* @__PURE__ */ jsx43("p", { className: "text-text-600", children: endDate })
8003
+ endDate && /* @__PURE__ */ jsxs32("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
8004
+ /* @__PURE__ */ jsx44("p", { className: "text-text-800 font-semibold", children: "Fim" }),
8005
+ /* @__PURE__ */ jsx44("p", { className: "text-text-600", children: endDate })
7741
8006
  ] })
7742
8007
  ] }),
7743
- /* @__PURE__ */ jsxs31("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
7744
- /* @__PURE__ */ jsx43(
8008
+ /* @__PURE__ */ jsxs32("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
8009
+ /* @__PURE__ */ jsx44(
7745
8010
  ProgressBar_default,
7746
8011
  {
7747
8012
  size: "small",
@@ -7750,7 +8015,7 @@ var CardProgress = forwardRef17(
7750
8015
  "data-testid": "progress-bar"
7751
8016
  }
7752
8017
  ),
7753
- /* @__PURE__ */ jsxs31(
8018
+ /* @__PURE__ */ jsxs32(
7754
8019
  Text_default,
7755
8020
  {
7756
8021
  size: "xs",
@@ -7766,9 +8031,9 @@ var CardProgress = forwardRef17(
7766
8031
  )
7767
8032
  ] })
7768
8033
  ] }),
7769
- vertical: /* @__PURE__ */ jsx43("p", { className: "text-sm text-text-800", children: subhead })
8034
+ vertical: /* @__PURE__ */ jsx44("p", { className: "text-sm text-text-800", children: subhead })
7770
8035
  };
7771
- return /* @__PURE__ */ jsxs31(
8036
+ return /* @__PURE__ */ jsxs32(
7772
8037
  CardBase,
7773
8038
  {
7774
8039
  ref,
@@ -7779,7 +8044,7 @@ var CardProgress = forwardRef17(
7779
8044
  className: cn(isHorizontal ? "h-20" : "", className),
7780
8045
  ...props,
7781
8046
  children: [
7782
- /* @__PURE__ */ jsx43(
8047
+ /* @__PURE__ */ jsx44(
7783
8048
  "div",
7784
8049
  {
7785
8050
  className: cn(
@@ -7792,7 +8057,7 @@ var CardProgress = forwardRef17(
7792
8057
  children: icon
7793
8058
  }
7794
8059
  ),
7795
- /* @__PURE__ */ jsxs31(
8060
+ /* @__PURE__ */ jsxs32(
7796
8061
  "div",
7797
8062
  {
7798
8063
  className: cn(
@@ -7800,7 +8065,7 @@ var CardProgress = forwardRef17(
7800
8065
  !isHorizontal && "gap-4"
7801
8066
  ),
7802
8067
  children: [
7803
- /* @__PURE__ */ jsx43(Text_default, { size: "sm", weight: "bold", className: "text-text-950 truncate", children: header }),
8068
+ /* @__PURE__ */ jsx44(Text_default, { size: "sm", weight: "bold", className: "text-text-950 truncate", children: header }),
7804
8069
  contentComponent[direction]
7805
8070
  ]
7806
8071
  }
@@ -7820,7 +8085,7 @@ var CardTopic = forwardRef17(
7820
8085
  className = "",
7821
8086
  ...props
7822
8087
  }, ref) => {
7823
- return /* @__PURE__ */ jsxs31(
8088
+ return /* @__PURE__ */ jsxs32(
7824
8089
  CardBase,
7825
8090
  {
7826
8091
  ref,
@@ -7831,13 +8096,13 @@ var CardTopic = forwardRef17(
7831
8096
  className: cn("justify-center gap-2 py-2 px-4", className),
7832
8097
  ...props,
7833
8098
  children: [
7834
- subHead && /* @__PURE__ */ jsx43("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ jsxs31(Fragment7, { children: [
7835
- /* @__PURE__ */ jsx43("p", { children: text }),
7836
- index < subHead.length - 1 && /* @__PURE__ */ jsx43("p", { children: "\u2022" })
8099
+ subHead && /* @__PURE__ */ jsx44("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ jsxs32(Fragment7, { children: [
8100
+ /* @__PURE__ */ jsx44("p", { children: text }),
8101
+ index < subHead.length - 1 && /* @__PURE__ */ jsx44("p", { children: "\u2022" })
7837
8102
  ] }, `${text} - ${index}`)) }),
7838
- /* @__PURE__ */ jsx43("p", { className: "text-sm text-text-950 font-bold truncate", children: header }),
7839
- /* @__PURE__ */ jsxs31("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
7840
- /* @__PURE__ */ jsx43(
8103
+ /* @__PURE__ */ jsx44("p", { className: "text-sm text-text-950 font-bold truncate", children: header }),
8104
+ /* @__PURE__ */ jsxs32("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
8105
+ /* @__PURE__ */ jsx44(
7841
8106
  ProgressBar_default,
7842
8107
  {
7843
8108
  size: "small",
@@ -7846,7 +8111,7 @@ var CardTopic = forwardRef17(
7846
8111
  "data-testid": "progress-bar"
7847
8112
  }
7848
8113
  ),
7849
- showPercentage && /* @__PURE__ */ jsxs31(
8114
+ showPercentage && /* @__PURE__ */ jsxs32(
7850
8115
  Text_default,
7851
8116
  {
7852
8117
  size: "xs",
@@ -7880,7 +8145,7 @@ var CardPerformance = forwardRef17(
7880
8145
  ...props
7881
8146
  }, ref) => {
7882
8147
  const hasProgress = progress !== void 0;
7883
- return /* @__PURE__ */ jsxs31(
8148
+ return /* @__PURE__ */ jsxs32(
7884
8149
  CardBase,
7885
8150
  {
7886
8151
  ref,
@@ -7894,10 +8159,10 @@ var CardPerformance = forwardRef17(
7894
8159
  onClick: () => actionVariant == "caret" && onClickButton?.(valueButton),
7895
8160
  ...props,
7896
8161
  children: [
7897
- /* @__PURE__ */ jsxs31("div", { className: "w-full flex flex-col justify-between gap-2", children: [
7898
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-row justify-between items-center gap-2", children: [
7899
- /* @__PURE__ */ jsx43("p", { className: "text-lg font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
7900
- actionVariant === "button" && /* @__PURE__ */ jsx43(
8162
+ /* @__PURE__ */ jsxs32("div", { className: "w-full flex flex-col justify-between gap-2", children: [
8163
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-row justify-between items-center gap-2", children: [
8164
+ /* @__PURE__ */ jsx44("p", { className: "text-lg font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
8165
+ actionVariant === "button" && /* @__PURE__ */ jsx44(
7901
8166
  Button_default,
7902
8167
  {
7903
8168
  variant: "outline",
@@ -7908,16 +8173,16 @@ var CardPerformance = forwardRef17(
7908
8173
  }
7909
8174
  )
7910
8175
  ] }),
7911
- /* @__PURE__ */ jsx43("div", { className: "w-full", children: hasProgress ? /* @__PURE__ */ jsx43(
8176
+ /* @__PURE__ */ jsx44("div", { className: "w-full", children: hasProgress ? /* @__PURE__ */ jsx44(
7912
8177
  ProgressBar_default,
7913
8178
  {
7914
8179
  value: progress,
7915
8180
  label: `${progress}% ${labelProgress}`,
7916
8181
  variant: progressVariant
7917
8182
  }
7918
- ) : /* @__PURE__ */ jsx43("p", { className: "text-xs text-text-600 truncate", children: description }) })
8183
+ ) : /* @__PURE__ */ jsx44("p", { className: "text-xs text-text-600 truncate", children: description }) })
7919
8184
  ] }),
7920
- actionVariant == "caret" && /* @__PURE__ */ jsx43(
8185
+ actionVariant == "caret" && /* @__PURE__ */ jsx44(
7921
8186
  CaretRight3,
7922
8187
  {
7923
8188
  className: "size-4.5 text-text-800 cursor-pointer",
@@ -7941,7 +8206,7 @@ var CardResults = forwardRef17(
7941
8206
  ...props
7942
8207
  }, ref) => {
7943
8208
  const isRow = direction == "row";
7944
- return /* @__PURE__ */ jsxs31(
8209
+ return /* @__PURE__ */ jsxs32(
7945
8210
  CardBase,
7946
8211
  {
7947
8212
  ref,
@@ -7951,7 +8216,7 @@ var CardResults = forwardRef17(
7951
8216
  className: cn("items-stretch cursor-pointer pr-4", className),
7952
8217
  ...props,
7953
8218
  children: [
7954
- /* @__PURE__ */ jsx43(
8219
+ /* @__PURE__ */ jsx44(
7955
8220
  "div",
7956
8221
  {
7957
8222
  className: cn(
@@ -7960,11 +8225,11 @@ var CardResults = forwardRef17(
7960
8225
  style: {
7961
8226
  backgroundColor: color
7962
8227
  },
7963
- children: /* @__PURE__ */ jsx43(IconRender_default, { iconName: icon, color: "currentColor", size: 20 })
8228
+ children: /* @__PURE__ */ jsx44(IconRender_default, { iconName: icon, color: "currentColor", size: 20 })
7964
8229
  }
7965
8230
  ),
7966
- /* @__PURE__ */ jsxs31("div", { className: "w-full flex flex-row justify-between items-center", children: [
7967
- /* @__PURE__ */ jsxs31(
8231
+ /* @__PURE__ */ jsxs32("div", { className: "w-full flex flex-row justify-between items-center", children: [
8232
+ /* @__PURE__ */ jsxs32(
7968
8233
  "div",
7969
8234
  {
7970
8235
  className: cn(
@@ -7972,28 +8237,28 @@ var CardResults = forwardRef17(
7972
8237
  isRow ? "flex-row items-center gap-2" : "flex-col"
7973
8238
  ),
7974
8239
  children: [
7975
- /* @__PURE__ */ jsx43("p", { className: "text-sm font-bold text-text-950 flex-1", children: header }),
7976
- /* @__PURE__ */ jsxs31("span", { className: "flex flex-wrap flex-row gap-1 items-center", children: [
7977
- /* @__PURE__ */ jsxs31(
8240
+ /* @__PURE__ */ jsx44("p", { className: "text-sm font-bold text-text-950 flex-1", children: header }),
8241
+ /* @__PURE__ */ jsxs32("span", { className: "flex flex-wrap flex-row gap-1 items-center", children: [
8242
+ /* @__PURE__ */ jsxs32(
7978
8243
  Badge_default,
7979
8244
  {
7980
8245
  action: "success",
7981
8246
  variant: "solid",
7982
8247
  size: "large",
7983
- iconLeft: /* @__PURE__ */ jsx43(CheckCircle3, {}),
8248
+ iconLeft: /* @__PURE__ */ jsx44(CheckCircle3, {}),
7984
8249
  children: [
7985
8250
  correct_answers,
7986
8251
  " Corretas"
7987
8252
  ]
7988
8253
  }
7989
8254
  ),
7990
- /* @__PURE__ */ jsxs31(
8255
+ /* @__PURE__ */ jsxs32(
7991
8256
  Badge_default,
7992
8257
  {
7993
8258
  action: "error",
7994
8259
  variant: "solid",
7995
8260
  size: "large",
7996
- iconLeft: /* @__PURE__ */ jsx43(XCircle2, {}),
8261
+ iconLeft: /* @__PURE__ */ jsx44(XCircle2, {}),
7997
8262
  children: [
7998
8263
  incorrect_answers,
7999
8264
  " Incorretas"
@@ -8004,7 +8269,7 @@ var CardResults = forwardRef17(
8004
8269
  ]
8005
8270
  }
8006
8271
  ),
8007
- /* @__PURE__ */ jsx43(CaretRight3, { className: "min-w-6 min-h-6 text-text-800" })
8272
+ /* @__PURE__ */ jsx44(CaretRight3, { className: "min-w-6 min-h-6 text-text-800" })
8008
8273
  ] })
8009
8274
  ]
8010
8275
  }
@@ -8030,13 +8295,13 @@ var CardStatus = forwardRef17(
8030
8295
  const getIconBadge = (status2) => {
8031
8296
  switch (status2) {
8032
8297
  case "correct":
8033
- return /* @__PURE__ */ jsx43(CheckCircle3, {});
8298
+ return /* @__PURE__ */ jsx44(CheckCircle3, {});
8034
8299
  case "incorrect":
8035
- return /* @__PURE__ */ jsx43(XCircle2, {});
8300
+ return /* @__PURE__ */ jsx44(XCircle2, {});
8036
8301
  case "pending":
8037
- return /* @__PURE__ */ jsx43(Clock, {});
8302
+ return /* @__PURE__ */ jsx44(Clock, {});
8038
8303
  default:
8039
- return /* @__PURE__ */ jsx43(XCircle2, {});
8304
+ return /* @__PURE__ */ jsx44(XCircle2, {});
8040
8305
  }
8041
8306
  };
8042
8307
  const getActionBadge = (status2) => {
@@ -8051,7 +8316,7 @@ var CardStatus = forwardRef17(
8051
8316
  return "info";
8052
8317
  }
8053
8318
  };
8054
- return /* @__PURE__ */ jsx43(
8319
+ return /* @__PURE__ */ jsx44(
8055
8320
  CardBase,
8056
8321
  {
8057
8322
  ref,
@@ -8060,10 +8325,10 @@ var CardStatus = forwardRef17(
8060
8325
  minHeight: "medium",
8061
8326
  className: cn("items-center cursor-pointer", className),
8062
8327
  ...props,
8063
- children: /* @__PURE__ */ jsxs31("div", { className: "flex justify-between w-full h-full flex-row items-center gap-2", children: [
8064
- /* @__PURE__ */ jsx43("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
8065
- /* @__PURE__ */ jsxs31("span", { className: "flex flex-row gap-1 items-center flex-shrink-0", children: [
8066
- status && /* @__PURE__ */ jsx43(
8328
+ children: /* @__PURE__ */ jsxs32("div", { className: "flex justify-between w-full h-full flex-row items-center gap-2", children: [
8329
+ /* @__PURE__ */ jsx44("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
8330
+ /* @__PURE__ */ jsxs32("span", { className: "flex flex-row gap-1 items-center flex-shrink-0", children: [
8331
+ status && /* @__PURE__ */ jsx44(
8067
8332
  Badge_default,
8068
8333
  {
8069
8334
  action: getActionBadge(status),
@@ -8073,9 +8338,9 @@ var CardStatus = forwardRef17(
8073
8338
  children: getLabelBadge(status)
8074
8339
  }
8075
8340
  ),
8076
- label && /* @__PURE__ */ jsx43("p", { className: "text-sm text-text-800", children: label })
8341
+ label && /* @__PURE__ */ jsx44("p", { className: "text-sm text-text-800", children: label })
8077
8342
  ] }),
8078
- /* @__PURE__ */ jsx43(CaretRight3, { className: "min-w-6 min-h-6 text-text-800 cursor-pointer flex-shrink-0 ml-2" })
8343
+ /* @__PURE__ */ jsx44(CaretRight3, { className: "min-w-6 min-h-6 text-text-800 cursor-pointer flex-shrink-0 ml-2" })
8079
8344
  ] })
8080
8345
  }
8081
8346
  );
@@ -8083,7 +8348,7 @@ var CardStatus = forwardRef17(
8083
8348
  );
8084
8349
  var CardSettings = forwardRef17(
8085
8350
  ({ header, className, icon, ...props }, ref) => {
8086
- return /* @__PURE__ */ jsxs31(
8351
+ return /* @__PURE__ */ jsxs32(
8087
8352
  CardBase,
8088
8353
  {
8089
8354
  ref,
@@ -8096,9 +8361,9 @@ var CardSettings = forwardRef17(
8096
8361
  ),
8097
8362
  ...props,
8098
8363
  children: [
8099
- /* @__PURE__ */ jsx43("span", { className: "[&>svg]:size-6", children: icon }),
8100
- /* @__PURE__ */ jsx43("p", { className: "w-full text-sm truncate", children: header }),
8101
- /* @__PURE__ */ jsx43(CaretRight3, { size: 24, className: "cursor-pointer" })
8364
+ /* @__PURE__ */ jsx44("span", { className: "[&>svg]:size-6", children: icon }),
8365
+ /* @__PURE__ */ jsx44("p", { className: "w-full text-sm truncate", children: header }),
8366
+ /* @__PURE__ */ jsx44(CaretRight3, { size: 24, className: "cursor-pointer" })
8102
8367
  ]
8103
8368
  }
8104
8369
  );
@@ -8106,7 +8371,7 @@ var CardSettings = forwardRef17(
8106
8371
  );
8107
8372
  var CardSupport = forwardRef17(
8108
8373
  ({ header, className, direction = "col", children, ...props }, ref) => {
8109
- return /* @__PURE__ */ jsxs31(
8374
+ return /* @__PURE__ */ jsxs32(
8110
8375
  CardBase,
8111
8376
  {
8112
8377
  ref,
@@ -8119,7 +8384,7 @@ var CardSupport = forwardRef17(
8119
8384
  ),
8120
8385
  ...props,
8121
8386
  children: [
8122
- /* @__PURE__ */ jsxs31(
8387
+ /* @__PURE__ */ jsxs32(
8123
8388
  "div",
8124
8389
  {
8125
8390
  className: cn(
@@ -8127,12 +8392,12 @@ var CardSupport = forwardRef17(
8127
8392
  direction == "col" ? "flex-col" : "flex-row items-center"
8128
8393
  ),
8129
8394
  children: [
8130
- /* @__PURE__ */ jsx43("span", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx43("p", { className: "text-sm text-text-950 font-bold truncate", children: header }) }),
8131
- /* @__PURE__ */ jsx43("span", { className: "flex flex-row gap-1", children })
8395
+ /* @__PURE__ */ jsx44("span", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx44("p", { className: "text-sm text-text-950 font-bold truncate", children: header }) }),
8396
+ /* @__PURE__ */ jsx44("span", { className: "flex flex-row gap-1", children })
8132
8397
  ]
8133
8398
  }
8134
8399
  ),
8135
- /* @__PURE__ */ jsx43(CaretRight3, { className: "text-text-800 cursor-pointer", size: 24 })
8400
+ /* @__PURE__ */ jsx44(CaretRight3, { className: "text-text-800 cursor-pointer", size: 24 })
8136
8401
  ]
8137
8402
  }
8138
8403
  );
@@ -8152,7 +8417,7 @@ var CardForum = forwardRef17(
8152
8417
  hour,
8153
8418
  ...props
8154
8419
  }, ref) => {
8155
- return /* @__PURE__ */ jsxs31(
8420
+ return /* @__PURE__ */ jsxs32(
8156
8421
  CardBase,
8157
8422
  {
8158
8423
  ref,
@@ -8163,7 +8428,7 @@ var CardForum = forwardRef17(
8163
8428
  className: cn("w-auto h-auto gap-3", className),
8164
8429
  ...props,
8165
8430
  children: [
8166
- /* @__PURE__ */ jsx43(
8431
+ /* @__PURE__ */ jsx44(
8167
8432
  "button",
8168
8433
  {
8169
8434
  type: "button",
@@ -8172,18 +8437,18 @@ var CardForum = forwardRef17(
8172
8437
  className: "min-w-8 h-8 rounded-full bg-background-950"
8173
8438
  }
8174
8439
  ),
8175
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
8176
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-row gap-1 items-center flex-wrap", children: [
8177
- /* @__PURE__ */ jsx43("p", { className: "text-xs font-semibold text-primary-700 truncate", children: title }),
8178
- /* @__PURE__ */ jsxs31("p", { className: "text-xs text-text-600", children: [
8440
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
8441
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-row gap-1 items-center flex-wrap", children: [
8442
+ /* @__PURE__ */ jsx44("p", { className: "text-xs font-semibold text-primary-700 truncate", children: title }),
8443
+ /* @__PURE__ */ jsxs32("p", { className: "text-xs text-text-600", children: [
8179
8444
  "\u2022 ",
8180
8445
  date,
8181
8446
  " \u2022 ",
8182
8447
  hour
8183
8448
  ] })
8184
8449
  ] }),
8185
- /* @__PURE__ */ jsx43("p", { className: "text-text-950 text-sm line-clamp-2 truncate", children: content }),
8186
- /* @__PURE__ */ jsxs31(
8450
+ /* @__PURE__ */ jsx44("p", { className: "text-text-950 text-sm line-clamp-2 truncate", children: content }),
8451
+ /* @__PURE__ */ jsxs32(
8187
8452
  "button",
8188
8453
  {
8189
8454
  type: "button",
@@ -8191,8 +8456,8 @@ var CardForum = forwardRef17(
8191
8456
  onClick: () => onClickComments?.(valueComments),
8192
8457
  className: "text-text-600 flex flex-row gap-2 items-center",
8193
8458
  children: [
8194
- /* @__PURE__ */ jsx43(ChatCircleText, { "aria-hidden": "true", size: 16 }),
8195
- /* @__PURE__ */ jsxs31("p", { className: "text-xs", children: [
8459
+ /* @__PURE__ */ jsx44(ChatCircleText, { "aria-hidden": "true", size: 16 }),
8460
+ /* @__PURE__ */ jsxs32("p", { className: "text-xs", children: [
8196
8461
  comments,
8197
8462
  " respostas"
8198
8463
  ] })
@@ -8219,13 +8484,13 @@ var CardAudio = forwardRef17(
8219
8484
  className,
8220
8485
  ...props
8221
8486
  }, ref) => {
8222
- const [isPlaying, setIsPlaying] = useState15(false);
8223
- const [currentTime, setCurrentTime] = useState15(0);
8224
- const [duration, setDuration] = useState15(0);
8225
- const [volume, setVolume] = useState15(1);
8226
- const [showVolumeControl, setShowVolumeControl] = useState15(false);
8227
- const [showSpeedMenu, setShowSpeedMenu] = useState15(false);
8228
- const [playbackRate, setPlaybackRate] = useState15(1);
8487
+ const [isPlaying, setIsPlaying] = useState16(false);
8488
+ const [currentTime, setCurrentTime] = useState16(0);
8489
+ const [duration, setDuration] = useState16(0);
8490
+ const [volume, setVolume] = useState16(1);
8491
+ const [showVolumeControl, setShowVolumeControl] = useState16(false);
8492
+ const [showSpeedMenu, setShowSpeedMenu] = useState16(false);
8493
+ const [playbackRate, setPlaybackRate] = useState16(1);
8229
8494
  const audioRef = useRef10(null);
8230
8495
  const volumeControlRef = useRef10(null);
8231
8496
  const speedMenuRef = useRef10(null);
@@ -8295,14 +8560,14 @@ var CardAudio = forwardRef17(
8295
8560
  };
8296
8561
  const getVolumeIcon = () => {
8297
8562
  if (volume === 0) {
8298
- return /* @__PURE__ */ jsx43(SpeakerSimpleX, { size: 24 });
8563
+ return /* @__PURE__ */ jsx44(SpeakerSimpleX, { size: 24 });
8299
8564
  }
8300
8565
  if (volume < 0.5) {
8301
- return /* @__PURE__ */ jsx43(SpeakerLow, { size: 24 });
8566
+ return /* @__PURE__ */ jsx44(SpeakerLow, { size: 24 });
8302
8567
  }
8303
- return /* @__PURE__ */ jsx43(SpeakerHigh, { size: 24 });
8568
+ return /* @__PURE__ */ jsx44(SpeakerHigh, { size: 24 });
8304
8569
  };
8305
- useEffect16(() => {
8570
+ useEffect17(() => {
8306
8571
  const handleClickOutside = (event) => {
8307
8572
  if (volumeControlRef.current && !volumeControlRef.current.contains(event.target)) {
8308
8573
  setShowVolumeControl(false);
@@ -8316,7 +8581,7 @@ var CardAudio = forwardRef17(
8316
8581
  document.removeEventListener("mousedown", handleClickOutside);
8317
8582
  };
8318
8583
  }, []);
8319
- return /* @__PURE__ */ jsxs31(
8584
+ return /* @__PURE__ */ jsxs32(
8320
8585
  CardBase,
8321
8586
  {
8322
8587
  ref,
@@ -8329,7 +8594,7 @@ var CardAudio = forwardRef17(
8329
8594
  ),
8330
8595
  ...props,
8331
8596
  children: [
8332
- /* @__PURE__ */ jsx43(
8597
+ /* @__PURE__ */ jsx44(
8333
8598
  "audio",
8334
8599
  {
8335
8600
  ref: audioRef,
@@ -8341,7 +8606,7 @@ var CardAudio = forwardRef17(
8341
8606
  onEnded: handleEnded,
8342
8607
  "data-testid": "audio-element",
8343
8608
  "aria-label": title,
8344
- children: tracks ? tracks.map((track) => /* @__PURE__ */ jsx43(
8609
+ children: tracks ? tracks.map((track) => /* @__PURE__ */ jsx44(
8345
8610
  "track",
8346
8611
  {
8347
8612
  kind: track.kind,
@@ -8351,7 +8616,7 @@ var CardAudio = forwardRef17(
8351
8616
  default: track.default
8352
8617
  },
8353
8618
  track.src
8354
- )) : /* @__PURE__ */ jsx43(
8619
+ )) : /* @__PURE__ */ jsx44(
8355
8620
  "track",
8356
8621
  {
8357
8622
  kind: "captions",
@@ -8362,7 +8627,7 @@ var CardAudio = forwardRef17(
8362
8627
  )
8363
8628
  }
8364
8629
  ),
8365
- /* @__PURE__ */ jsx43(
8630
+ /* @__PURE__ */ jsx44(
8366
8631
  "button",
8367
8632
  {
8368
8633
  type: "button",
@@ -8370,14 +8635,14 @@ var CardAudio = forwardRef17(
8370
8635
  disabled: !src,
8371
8636
  className: "cursor-pointer text-text-950 hover:text-primary-600 disabled:text-text-400 disabled:cursor-not-allowed",
8372
8637
  "aria-label": isPlaying ? "Pausar" : "Reproduzir",
8373
- children: isPlaying ? /* @__PURE__ */ jsx43("div", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ jsxs31("div", { className: "flex gap-0.5", children: [
8374
- /* @__PURE__ */ jsx43("div", { className: "w-1 h-4 bg-current rounded-sm" }),
8375
- /* @__PURE__ */ jsx43("div", { className: "w-1 h-4 bg-current rounded-sm" })
8376
- ] }) }) : /* @__PURE__ */ jsx43(Play, { size: 24 })
8638
+ children: isPlaying ? /* @__PURE__ */ jsx44("div", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ jsxs32("div", { className: "flex gap-0.5", children: [
8639
+ /* @__PURE__ */ jsx44("div", { className: "w-1 h-4 bg-current rounded-sm" }),
8640
+ /* @__PURE__ */ jsx44("div", { className: "w-1 h-4 bg-current rounded-sm" })
8641
+ ] }) }) : /* @__PURE__ */ jsx44(Play, { size: 24 })
8377
8642
  }
8378
8643
  ),
8379
- /* @__PURE__ */ jsx43("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime2(currentTime) }),
8380
- /* @__PURE__ */ jsx43("div", { className: "flex-1 relative", "data-testid": "progress-bar", children: /* @__PURE__ */ jsx43(
8644
+ /* @__PURE__ */ jsx44("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime2(currentTime) }),
8645
+ /* @__PURE__ */ jsx44("div", { className: "flex-1 relative", "data-testid": "progress-bar", children: /* @__PURE__ */ jsx44(
8381
8646
  "button",
8382
8647
  {
8383
8648
  type: "button",
@@ -8392,7 +8657,7 @@ var CardAudio = forwardRef17(
8392
8657
  }
8393
8658
  },
8394
8659
  "aria-label": "Barra de progresso do \xE1udio",
8395
- children: /* @__PURE__ */ jsx43(
8660
+ children: /* @__PURE__ */ jsx44(
8396
8661
  "div",
8397
8662
  {
8398
8663
  className: "h-full bg-primary-600 rounded-full transition-all duration-100",
@@ -8403,19 +8668,19 @@ var CardAudio = forwardRef17(
8403
8668
  )
8404
8669
  }
8405
8670
  ) }),
8406
- /* @__PURE__ */ jsx43("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime2(duration) }),
8407
- /* @__PURE__ */ jsxs31("div", { className: "relative h-6", ref: volumeControlRef, children: [
8408
- /* @__PURE__ */ jsx43(
8671
+ /* @__PURE__ */ jsx44("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime2(duration) }),
8672
+ /* @__PURE__ */ jsxs32("div", { className: "relative h-6", ref: volumeControlRef, children: [
8673
+ /* @__PURE__ */ jsx44(
8409
8674
  "button",
8410
8675
  {
8411
8676
  type: "button",
8412
8677
  onClick: toggleVolumeControl,
8413
8678
  className: "cursor-pointer text-text-950 hover:text-primary-600",
8414
8679
  "aria-label": "Controle de volume",
8415
- children: /* @__PURE__ */ jsx43("div", { className: "w-6 h-6 flex items-center justify-center", children: getVolumeIcon() })
8680
+ children: /* @__PURE__ */ jsx44("div", { className: "w-6 h-6 flex items-center justify-center", children: getVolumeIcon() })
8416
8681
  }
8417
8682
  ),
8418
- showVolumeControl && /* @__PURE__ */ jsx43(
8683
+ showVolumeControl && /* @__PURE__ */ jsx44(
8419
8684
  "button",
8420
8685
  {
8421
8686
  type: "button",
@@ -8425,7 +8690,7 @@ var CardAudio = forwardRef17(
8425
8690
  setShowVolumeControl(false);
8426
8691
  }
8427
8692
  },
8428
- children: /* @__PURE__ */ jsx43(
8693
+ children: /* @__PURE__ */ jsx44(
8429
8694
  "input",
8430
8695
  {
8431
8696
  type: "range",
@@ -8466,22 +8731,22 @@ var CardAudio = forwardRef17(
8466
8731
  }
8467
8732
  )
8468
8733
  ] }),
8469
- /* @__PURE__ */ jsxs31("div", { className: "relative h-6", ref: speedMenuRef, children: [
8470
- /* @__PURE__ */ jsx43(
8734
+ /* @__PURE__ */ jsxs32("div", { className: "relative h-6", ref: speedMenuRef, children: [
8735
+ /* @__PURE__ */ jsx44(
8471
8736
  "button",
8472
8737
  {
8473
8738
  type: "button",
8474
8739
  onClick: toggleSpeedMenu,
8475
8740
  className: "cursor-pointer text-text-950 hover:text-primary-600",
8476
8741
  "aria-label": "Op\xE7\xF5es de velocidade",
8477
- children: /* @__PURE__ */ jsx43(DotsThreeVertical2, { size: 24 })
8742
+ children: /* @__PURE__ */ jsx44(DotsThreeVertical2, { size: 24 })
8478
8743
  }
8479
8744
  ),
8480
- showSpeedMenu && /* @__PURE__ */ jsx43("div", { className: "absolute bottom-full right-0 mb-2 p-2 bg-background border border-border-100 rounded-lg shadow-lg min-w-24 z-10", children: /* @__PURE__ */ jsx43("div", { className: "flex flex-col gap-1", children: [
8745
+ showSpeedMenu && /* @__PURE__ */ jsx44("div", { className: "absolute bottom-full right-0 mb-2 p-2 bg-background border border-border-100 rounded-lg shadow-lg min-w-24 z-10", children: /* @__PURE__ */ jsx44("div", { className: "flex flex-col gap-1", children: [
8481
8746
  { speed: 1, label: "1x" },
8482
8747
  { speed: 1.5, label: "1.5x" },
8483
8748
  { speed: 2, label: "2x" }
8484
- ].map(({ speed, label }) => /* @__PURE__ */ jsx43(
8749
+ ].map(({ speed, label }) => /* @__PURE__ */ jsx44(
8485
8750
  "button",
8486
8751
  {
8487
8752
  type: "button",
@@ -8509,7 +8774,7 @@ var SIMULADO_BACKGROUND_CLASSES = {
8509
8774
  var CardSimulado = forwardRef17(
8510
8775
  ({ title, duration, info, backgroundColor, className, ...props }, ref) => {
8511
8776
  const backgroundClass = SIMULADO_BACKGROUND_CLASSES[backgroundColor];
8512
- return /* @__PURE__ */ jsx43(
8777
+ return /* @__PURE__ */ jsx44(
8513
8778
  CardBase,
8514
8779
  {
8515
8780
  ref,
@@ -8522,18 +8787,18 @@ var CardSimulado = forwardRef17(
8522
8787
  className
8523
8788
  ),
8524
8789
  ...props,
8525
- children: /* @__PURE__ */ jsxs31("div", { className: "flex justify-between items-center w-full gap-4", children: [
8526
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
8527
- /* @__PURE__ */ jsx43(Text_default, { size: "lg", weight: "bold", className: "text-text-950 truncate", children: title }),
8528
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-4 text-text-700", children: [
8529
- duration && /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-1", children: [
8530
- /* @__PURE__ */ jsx43(Clock, { size: 16, className: "flex-shrink-0" }),
8531
- /* @__PURE__ */ jsx43(Text_default, { size: "sm", children: duration })
8790
+ children: /* @__PURE__ */ jsxs32("div", { className: "flex justify-between items-center w-full gap-4", children: [
8791
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
8792
+ /* @__PURE__ */ jsx44(Text_default, { size: "lg", weight: "bold", className: "text-text-950 truncate", children: title }),
8793
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-4 text-text-700", children: [
8794
+ duration && /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-1", children: [
8795
+ /* @__PURE__ */ jsx44(Clock, { size: 16, className: "flex-shrink-0" }),
8796
+ /* @__PURE__ */ jsx44(Text_default, { size: "sm", children: duration })
8532
8797
  ] }),
8533
- /* @__PURE__ */ jsx43(Text_default, { size: "sm", className: "truncate", children: info })
8798
+ /* @__PURE__ */ jsx44(Text_default, { size: "sm", className: "truncate", children: info })
8534
8799
  ] })
8535
8800
  ] }),
8536
- /* @__PURE__ */ jsx43(
8801
+ /* @__PURE__ */ jsx44(
8537
8802
  CaretRight3,
8538
8803
  {
8539
8804
  size: 24,
@@ -8578,7 +8843,7 @@ var CardTest = forwardRef17(
8578
8843
  const interactiveClasses = isSelectable ? "cursor-pointer focus:outline-none focus:ring-2 focus:ring-primary-950 focus:ring-offset-2" : "";
8579
8844
  const selectedClasses = selected ? "ring-2 ring-primary-950 ring-offset-2" : "";
8580
8845
  if (isSelectable) {
8581
- return /* @__PURE__ */ jsx43(
8846
+ return /* @__PURE__ */ jsx44(
8582
8847
  "button",
8583
8848
  {
8584
8849
  ref,
@@ -8590,8 +8855,8 @@ var CardTest = forwardRef17(
8590
8855
  onKeyDown: handleKeyDown,
8591
8856
  "aria-pressed": selected,
8592
8857
  ...props,
8593
- children: /* @__PURE__ */ jsxs31("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
8594
- /* @__PURE__ */ jsx43(
8858
+ children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
8859
+ /* @__PURE__ */ jsx44(
8595
8860
  Text_default,
8596
8861
  {
8597
8862
  size: "md",
@@ -8600,10 +8865,10 @@ var CardTest = forwardRef17(
8600
8865
  children: title
8601
8866
  }
8602
8867
  ),
8603
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
8604
- duration && /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
8605
- /* @__PURE__ */ jsx43(Clock, { size: 16, className: "text-text-700" }),
8606
- /* @__PURE__ */ jsx43(
8868
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
8869
+ duration && /* @__PURE__ */ jsxs32("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
8870
+ /* @__PURE__ */ jsx44(Clock, { size: 16, className: "text-text-700" }),
8871
+ /* @__PURE__ */ jsx44(
8607
8872
  Text_default,
8608
8873
  {
8609
8874
  size: "sm",
@@ -8612,7 +8877,7 @@ var CardTest = forwardRef17(
8612
8877
  }
8613
8878
  )
8614
8879
  ] }),
8615
- /* @__PURE__ */ jsx43(
8880
+ /* @__PURE__ */ jsx44(
8616
8881
  Text_default,
8617
8882
  {
8618
8883
  size: "sm",
@@ -8625,14 +8890,14 @@ var CardTest = forwardRef17(
8625
8890
  }
8626
8891
  );
8627
8892
  }
8628
- return /* @__PURE__ */ jsx43(
8893
+ return /* @__PURE__ */ jsx44(
8629
8894
  "div",
8630
8895
  {
8631
8896
  ref,
8632
8897
  className: cn(`${baseClasses} ${className}`.trim()),
8633
8898
  ...props,
8634
- children: /* @__PURE__ */ jsxs31("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
8635
- /* @__PURE__ */ jsx43(
8899
+ children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
8900
+ /* @__PURE__ */ jsx44(
8636
8901
  Text_default,
8637
8902
  {
8638
8903
  size: "md",
@@ -8641,10 +8906,10 @@ var CardTest = forwardRef17(
8641
8906
  children: title
8642
8907
  }
8643
8908
  ),
8644
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
8645
- duration && /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
8646
- /* @__PURE__ */ jsx43(Clock, { size: 16, className: "text-text-700" }),
8647
- /* @__PURE__ */ jsx43(
8909
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
8910
+ duration && /* @__PURE__ */ jsxs32("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
8911
+ /* @__PURE__ */ jsx44(Clock, { size: 16, className: "text-text-700" }),
8912
+ /* @__PURE__ */ jsx44(
8648
8913
  Text_default,
8649
8914
  {
8650
8915
  size: "sm",
@@ -8653,7 +8918,7 @@ var CardTest = forwardRef17(
8653
8918
  }
8654
8919
  )
8655
8920
  ] }),
8656
- /* @__PURE__ */ jsx43(
8921
+ /* @__PURE__ */ jsx44(
8657
8922
  Text_default,
8658
8923
  {
8659
8924
  size: "sm",
@@ -8690,14 +8955,14 @@ var SIMULATION_TYPE_STYLES = {
8690
8955
  }
8691
8956
  };
8692
8957
  var CardSimulationHistory = forwardRef17(({ data, onSimulationClick, className, ...props }, ref) => {
8693
- return /* @__PURE__ */ jsx43(
8958
+ return /* @__PURE__ */ jsx44(
8694
8959
  "div",
8695
8960
  {
8696
8961
  ref,
8697
8962
  className: cn("w-full max-w-[992px] h-auto", className),
8698
8963
  ...props,
8699
- children: /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-0", children: [
8700
- data.map((section, sectionIndex) => /* @__PURE__ */ jsx43("div", { className: "flex flex-col", children: /* @__PURE__ */ jsxs31(
8964
+ children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-0", children: [
8965
+ data.map((section, sectionIndex) => /* @__PURE__ */ jsx44("div", { className: "flex flex-col", children: /* @__PURE__ */ jsxs32(
8701
8966
  "div",
8702
8967
  {
8703
8968
  className: cn(
@@ -8705,7 +8970,7 @@ var CardSimulationHistory = forwardRef17(({ data, onSimulationClick, className,
8705
8970
  sectionIndex === 0 ? "rounded-t-3xl" : ""
8706
8971
  ),
8707
8972
  children: [
8708
- /* @__PURE__ */ jsx43(
8973
+ /* @__PURE__ */ jsx44(
8709
8974
  Text_default,
8710
8975
  {
8711
8976
  size: "xs",
@@ -8714,9 +8979,9 @@ var CardSimulationHistory = forwardRef17(({ data, onSimulationClick, className,
8714
8979
  children: section.date
8715
8980
  }
8716
8981
  ),
8717
- /* @__PURE__ */ jsx43("div", { className: "flex flex-col gap-2 flex-1", children: section.simulations.map((simulation) => {
8982
+ /* @__PURE__ */ jsx44("div", { className: "flex flex-col gap-2 flex-1", children: section.simulations.map((simulation) => {
8718
8983
  const typeStyles = SIMULATION_TYPE_STYLES[simulation.type];
8719
- return /* @__PURE__ */ jsx43(
8984
+ return /* @__PURE__ */ jsx44(
8720
8985
  CardBase,
8721
8986
  {
8722
8987
  layout: "horizontal",
@@ -8728,9 +8993,9 @@ var CardSimulationHistory = forwardRef17(({ data, onSimulationClick, className,
8728
8993
  transition-shadow duration-200 h-auto min-h-[61px]`
8729
8994
  ),
8730
8995
  onClick: () => onSimulationClick?.(simulation),
8731
- children: /* @__PURE__ */ jsxs31("div", { className: "flex justify-between items-center w-full gap-2", children: [
8732
- /* @__PURE__ */ jsxs31("div", { className: "flex flex-wrap flex-col justify-between sm:flex-row gap-2 flex-1 min-w-0", children: [
8733
- /* @__PURE__ */ jsx43(
8996
+ children: /* @__PURE__ */ jsxs32("div", { className: "flex justify-between items-center w-full gap-2", children: [
8997
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-wrap flex-col justify-between sm:flex-row gap-2 flex-1 min-w-0", children: [
8998
+ /* @__PURE__ */ jsx44(
8734
8999
  Text_default,
8735
9000
  {
8736
9001
  size: "lg",
@@ -8739,8 +9004,8 @@ var CardSimulationHistory = forwardRef17(({ data, onSimulationClick, className,
8739
9004
  children: simulation.title
8740
9005
  }
8741
9006
  ),
8742
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
8743
- /* @__PURE__ */ jsx43(
9007
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
9008
+ /* @__PURE__ */ jsx44(
8744
9009
  Badge_default,
8745
9010
  {
8746
9011
  variant: "examsOutlined",
@@ -8749,10 +9014,10 @@ var CardSimulationHistory = forwardRef17(({ data, onSimulationClick, className,
8749
9014
  children: typeStyles.text
8750
9015
  }
8751
9016
  ),
8752
- /* @__PURE__ */ jsx43(Text_default, { size: "sm", className: "text-text-800 truncate", children: simulation.info })
9017
+ /* @__PURE__ */ jsx44(Text_default, { size: "sm", className: "text-text-800 truncate", children: simulation.info })
8753
9018
  ] })
8754
9019
  ] }),
8755
- /* @__PURE__ */ jsx43(
9020
+ /* @__PURE__ */ jsx44(
8756
9021
  CaretRight3,
8757
9022
  {
8758
9023
  size: 24,
@@ -8768,7 +9033,7 @@ var CardSimulationHistory = forwardRef17(({ data, onSimulationClick, className,
8768
9033
  ]
8769
9034
  }
8770
9035
  ) }, section.date)),
8771
- data.length > 0 && /* @__PURE__ */ jsx43("div", { className: "w-full h-6 bg-background rounded-b-3xl" })
9036
+ data.length > 0 && /* @__PURE__ */ jsx44("div", { className: "w-full h-6 bg-background rounded-b-3xl" })
8772
9037
  ] })
8773
9038
  }
8774
9039
  );
@@ -8776,7 +9041,7 @@ var CardSimulationHistory = forwardRef17(({ data, onSimulationClick, className,
8776
9041
 
8777
9042
  // src/components/StatisticsCard/StatisticsCard.tsx
8778
9043
  import { Plus } from "phosphor-react";
8779
- import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
9044
+ import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
8780
9045
  var VARIANT_STYLES = {
8781
9046
  high: "bg-success-background",
8782
9047
  medium: "bg-warning-background",
@@ -8790,12 +9055,12 @@ var VALUE_TEXT_COLORS = {
8790
9055
  total: "text-info-700"
8791
9056
  };
8792
9057
  var StatCard = ({ item, showPlaceholder = false }) => {
8793
- return /* @__PURE__ */ jsxs32(
9058
+ return /* @__PURE__ */ jsxs33(
8794
9059
  "div",
8795
9060
  {
8796
9061
  className: `rounded-xl py-[17px] px-6 min-h-[105px] flex flex-col justify-center items-start gap-1 ${VARIANT_STYLES[item.variant]}`,
8797
9062
  children: [
8798
- /* @__PURE__ */ jsx44(
9063
+ /* @__PURE__ */ jsx45(
8799
9064
  Text_default,
8800
9065
  {
8801
9066
  size: "4xl",
@@ -8804,7 +9069,7 @@ var StatCard = ({ item, showPlaceholder = false }) => {
8804
9069
  children: showPlaceholder ? "-" : item.value
8805
9070
  }
8806
9071
  ),
8807
- /* @__PURE__ */ jsx44(
9072
+ /* @__PURE__ */ jsx45(
8808
9073
  Text_default,
8809
9074
  {
8810
9075
  size: "xs",
@@ -8839,13 +9104,13 @@ var StatisticsCard = ({
8839
9104
  }) => {
8840
9105
  const hasData = data && data.length > 0;
8841
9106
  const gridColumnsClass = hasData ? getGridColumnsClass(data.length) : "";
8842
- return /* @__PURE__ */ jsxs32(
9107
+ return /* @__PURE__ */ jsxs33(
8843
9108
  "div",
8844
9109
  {
8845
9110
  className: `bg-background rounded-xl p-4 h-auto lg:h-[185px] flex flex-col gap-2 ${className}`,
8846
9111
  children: [
8847
- /* @__PURE__ */ jsxs32("div", { className: "flex flex-row justify-between items-center gap-4", children: [
8848
- /* @__PURE__ */ jsx44(
9112
+ /* @__PURE__ */ jsxs33("div", { className: "flex flex-row justify-between items-center gap-4", children: [
9113
+ /* @__PURE__ */ jsx45(
8849
9114
  Text_default,
8850
9115
  {
8851
9116
  as: "h3",
@@ -8856,22 +9121,22 @@ var StatisticsCard = ({
8856
9121
  children: title
8857
9122
  }
8858
9123
  ),
8859
- dropdownOptions && dropdownOptions.length > 0 && /* @__PURE__ */ jsx44("div", { className: "w-[120px] min-w-[90px] sm:shrink-0", children: /* @__PURE__ */ jsxs32(
9124
+ dropdownOptions && dropdownOptions.length > 0 && /* @__PURE__ */ jsx45("div", { className: "w-[120px] min-w-[90px] sm:shrink-0", children: /* @__PURE__ */ jsxs33(
8860
9125
  Select_default,
8861
9126
  {
8862
9127
  value: selectedDropdownValue,
8863
9128
  onValueChange: onDropdownChange,
8864
9129
  size: "medium",
8865
9130
  children: [
8866
- /* @__PURE__ */ jsx44(
9131
+ /* @__PURE__ */ jsx45(
8867
9132
  SelectTrigger,
8868
9133
  {
8869
9134
  className: "border border-border-300 rounded [&>span]:whitespace-nowrap [&>span]:overflow-hidden [&>span]:text-ellipsis",
8870
9135
  "aria-label": dropdownAriaLabel,
8871
- children: /* @__PURE__ */ jsx44(SelectValue, { placeholder: selectPlaceholder })
9136
+ children: /* @__PURE__ */ jsx45(SelectValue, { placeholder: selectPlaceholder })
8872
9137
  }
8873
9138
  ),
8874
- /* @__PURE__ */ jsx44(SelectContent, { className: "min-w-[120px]", children: dropdownOptions.map((option) => /* @__PURE__ */ jsx44(
9139
+ /* @__PURE__ */ jsx45(SelectContent, { className: "min-w-[120px]", children: dropdownOptions.map((option) => /* @__PURE__ */ jsx45(
8875
9140
  SelectItem,
8876
9141
  {
8877
9142
  value: option.value,
@@ -8884,11 +9149,11 @@ var StatisticsCard = ({
8884
9149
  }
8885
9150
  ) })
8886
9151
  ] }),
8887
- hasData ? /* @__PURE__ */ jsx44(
9152
+ hasData ? /* @__PURE__ */ jsx45(
8888
9153
  "div",
8889
9154
  {
8890
9155
  className: `grid grid-cols-1 sm:grid-cols-2 gap-[13px] ${gridColumnsClass}`,
8891
- children: data.map((item, index) => /* @__PURE__ */ jsx44(
9156
+ children: data.map((item, index) => /* @__PURE__ */ jsx45(
8892
9157
  StatCard,
8893
9158
  {
8894
9159
  item,
@@ -8897,8 +9162,8 @@ var StatisticsCard = ({
8897
9162
  `${item.variant}-${item.label}-${index}`
8898
9163
  ))
8899
9164
  }
8900
- ) : /* @__PURE__ */ jsxs32("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: [
8901
- /* @__PURE__ */ jsx44(
9165
+ ) : /* @__PURE__ */ jsxs33("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: [
9166
+ /* @__PURE__ */ jsx45(
8902
9167
  Text_default,
8903
9168
  {
8904
9169
  size: "sm",
@@ -8907,14 +9172,14 @@ var StatisticsCard = ({
8907
9172
  children: emptyStateMessage
8908
9173
  }
8909
9174
  ),
8910
- onEmptyStateButtonClick && /* @__PURE__ */ jsx44(
9175
+ onEmptyStateButtonClick && /* @__PURE__ */ jsx45(
8911
9176
  Button_default,
8912
9177
  {
8913
9178
  variant: "outline",
8914
9179
  action: "primary",
8915
9180
  size: "small",
8916
9181
  onClick: onEmptyStateButtonClick,
8917
- iconLeft: /* @__PURE__ */ jsx44(Plus, { size: 16, weight: "bold" }),
9182
+ iconLeft: /* @__PURE__ */ jsx45(Plus, { size: 16, weight: "bold" }),
8918
9183
  children: emptyStateButtonText
8919
9184
  }
8920
9185
  )
@@ -8925,7 +9190,7 @@ var StatisticsCard = ({
8925
9190
  };
8926
9191
 
8927
9192
  // src/components/NotFound/NotFound.tsx
8928
- import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
9193
+ import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
8929
9194
  var NotFound = ({
8930
9195
  title,
8931
9196
  description,
@@ -8968,22 +9233,22 @@ var NotFound = ({
8968
9233
  const errorTitle = title || getDefaultTitle();
8969
9234
  const errorDescription = description || getDefaultDescription();
8970
9235
  const errorCode = getErrorCode();
8971
- return /* @__PURE__ */ jsx45(
9236
+ return /* @__PURE__ */ jsx46(
8972
9237
  "div",
8973
9238
  {
8974
9239
  className: cn(
8975
9240
  "flex flex-col w-full h-screen items-center justify-center bg-background-50 px-4",
8976
9241
  className
8977
9242
  ),
8978
- children: /* @__PURE__ */ jsx45(
9243
+ children: /* @__PURE__ */ jsx46(
8979
9244
  "main",
8980
9245
  {
8981
9246
  role: "main",
8982
9247
  "aria-labelledby": "error-title",
8983
9248
  "aria-describedby": "error-description",
8984
9249
  className: "flex flex-col items-center text-center max-w-md space-y-6",
8985
- children: /* @__PURE__ */ jsxs33("section", { "aria-label": `Erro ${errorCode}`, children: [
8986
- /* @__PURE__ */ jsx45(
9250
+ children: /* @__PURE__ */ jsxs34("section", { "aria-label": `Erro ${errorCode}`, children: [
9251
+ /* @__PURE__ */ jsx46(
8987
9252
  "div",
8988
9253
  {
8989
9254
  className: "text-8xl font-bold text-primary-300 select-none",
@@ -8991,8 +9256,8 @@ var NotFound = ({
8991
9256
  children: errorCode
8992
9257
  }
8993
9258
  ),
8994
- /* @__PURE__ */ jsxs33("header", { className: "space-y-2", children: [
8995
- /* @__PURE__ */ jsx45(
9259
+ /* @__PURE__ */ jsxs34("header", { className: "space-y-2", children: [
9260
+ /* @__PURE__ */ jsx46(
8996
9261
  Text_default,
8997
9262
  {
8998
9263
  size: "xl",
@@ -9003,9 +9268,9 @@ var NotFound = ({
9003
9268
  children: errorTitle
9004
9269
  }
9005
9270
  ),
9006
- /* @__PURE__ */ jsx45(Text_default, { size: "md", className: "text-text-600", id: "error-description", children: errorDescription })
9271
+ /* @__PURE__ */ jsx46(Text_default, { size: "md", className: "text-text-600", id: "error-description", children: errorDescription })
9007
9272
  ] }),
9008
- onButtonClick && /* @__PURE__ */ jsx45("nav", { "aria-label": "Navega\xE7\xE3o de erro", children: /* @__PURE__ */ jsx45(
9273
+ onButtonClick && /* @__PURE__ */ jsx46("nav", { "aria-label": "Navega\xE7\xE3o de erro", children: /* @__PURE__ */ jsx46(
9009
9274
  Button_default,
9010
9275
  {
9011
9276
  onClick: handleButtonClick,
@@ -9026,12 +9291,12 @@ var NotFound = ({
9026
9291
  var NotFound_default = NotFound;
9027
9292
 
9028
9293
  // src/components/NoSearchResult/NoSearchResult.tsx
9029
- import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
9294
+ import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
9030
9295
  var NoSearchResult = ({ image, title, description }) => {
9031
9296
  const displayTitle = title || "Nenhum resultado encontrado";
9032
9297
  const displayDescription = description || "N\xE3o encontramos nenhum resultado com esse nome. Tente revisar a busca ou usar outra palavra-chave.";
9033
- return /* @__PURE__ */ jsxs34("div", { className: "flex flex-row justify-center items-center gap-8 w-full max-w-4xl min-h-96", children: [
9034
- /* @__PURE__ */ jsx46("div", { className: "w-72 h-72 flex-shrink-0 relative", children: /* @__PURE__ */ jsx46(
9298
+ return /* @__PURE__ */ jsxs35("div", { className: "flex flex-row justify-center items-center gap-8 w-full max-w-4xl min-h-96", children: [
9299
+ /* @__PURE__ */ jsx47("div", { className: "w-72 h-72 flex-shrink-0 relative", children: /* @__PURE__ */ jsx47(
9035
9300
  "img",
9036
9301
  {
9037
9302
  src: image,
@@ -9039,8 +9304,8 @@ var NoSearchResult = ({ image, title, description }) => {
9039
9304
  className: "w-full h-full object-contain"
9040
9305
  }
9041
9306
  ) }),
9042
- /* @__PURE__ */ jsxs34("div", { className: "flex flex-col items-start w-full max-w-md", children: [
9043
- /* @__PURE__ */ jsx46("div", { className: "flex flex-row justify-between items-end px-6 pt-6 pb-4 w-full rounded-t-xl", children: /* @__PURE__ */ jsx46(
9307
+ /* @__PURE__ */ jsxs35("div", { className: "flex flex-col items-start w-full max-w-md", children: [
9308
+ /* @__PURE__ */ jsx47("div", { className: "flex flex-row justify-between items-end px-6 pt-6 pb-4 w-full rounded-t-xl", children: /* @__PURE__ */ jsx47(
9044
9309
  Text_default,
9045
9310
  {
9046
9311
  as: "h2",
@@ -9048,7 +9313,7 @@ var NoSearchResult = ({ image, title, description }) => {
9048
9313
  children: displayTitle
9049
9314
  }
9050
9315
  ) }),
9051
- /* @__PURE__ */ jsx46("div", { className: "flex flex-row justify-center items-center px-6 gap-2 w-full", children: /* @__PURE__ */ jsx46(Text_default, { className: "text-text-600 font-normal text-lg leading-relaxed w-full text-justify", children: displayDescription }) })
9316
+ /* @__PURE__ */ jsx47("div", { className: "flex flex-row justify-center items-center px-6 gap-2 w-full", children: /* @__PURE__ */ jsx47(Text_default, { className: "text-text-600 font-normal text-lg leading-relaxed w-full text-justify", children: displayDescription }) })
9052
9317
  ] })
9053
9318
  ] });
9054
9319
  };
@@ -9057,9 +9322,9 @@ var NoSearchResult_default = NoSearchResult;
9057
9322
  // src/components/VideoPlayer/VideoPlayer.tsx
9058
9323
  import {
9059
9324
  useRef as useRef11,
9060
- useState as useState17,
9061
- useEffect as useEffect17,
9062
- useCallback as useCallback3
9325
+ useState as useState18,
9326
+ useEffect as useEffect18,
9327
+ useCallback as useCallback4
9063
9328
  } from "react";
9064
9329
  import { createPortal } from "react-dom";
9065
9330
  import {
@@ -9074,9 +9339,9 @@ import {
9074
9339
  } from "phosphor-react";
9075
9340
 
9076
9341
  // src/components/DownloadButton/DownloadButton.tsx
9077
- import { useCallback as useCallback2, useState as useState16 } from "react";
9342
+ import { useCallback as useCallback3, useState as useState17 } from "react";
9078
9343
  import { DownloadSimple } from "phosphor-react";
9079
- import { jsx as jsx47 } from "react/jsx-runtime";
9344
+ import { jsx as jsx48 } from "react/jsx-runtime";
9080
9345
  var getMimeType = (url) => {
9081
9346
  const extension = getFileExtension(url);
9082
9347
  const mimeTypes = {
@@ -9151,13 +9416,13 @@ var DownloadButton = ({
9151
9416
  lessonTitle = "aula",
9152
9417
  disabled = false
9153
9418
  }) => {
9154
- const [isDownloading, setIsDownloading] = useState16(false);
9155
- const isValidUrl = useCallback2((url) => {
9419
+ const [isDownloading, setIsDownloading] = useState17(false);
9420
+ const isValidUrl = useCallback3((url) => {
9156
9421
  return Boolean(
9157
9422
  url && url.trim() !== "" && url !== "undefined" && url !== "null"
9158
9423
  );
9159
9424
  }, []);
9160
- const getAvailableContent = useCallback2(() => {
9425
+ const getAvailableContent = useCallback3(() => {
9161
9426
  const downloads = [];
9162
9427
  if (isValidUrl(content.urlDoc)) {
9163
9428
  downloads.push({
@@ -9192,7 +9457,7 @@ var DownloadButton = ({
9192
9457
  }
9193
9458
  return downloads;
9194
9459
  }, [content, isValidUrl]);
9195
- const handleDownload = useCallback2(async () => {
9460
+ const handleDownload = useCallback3(async () => {
9196
9461
  if (disabled || isDownloading) return;
9197
9462
  const availableContent = getAvailableContent();
9198
9463
  if (availableContent.length === 0) {
@@ -9233,10 +9498,10 @@ var DownloadButton = ({
9233
9498
  if (!hasContent) {
9234
9499
  return null;
9235
9500
  }
9236
- return /* @__PURE__ */ jsx47("div", { className: cn("flex items-center", className), children: /* @__PURE__ */ jsx47(
9501
+ return /* @__PURE__ */ jsx48("div", { className: cn("flex items-center", className), children: /* @__PURE__ */ jsx48(
9237
9502
  IconButton_default,
9238
9503
  {
9239
- icon: /* @__PURE__ */ jsx47(DownloadSimple, { size: 24 }),
9504
+ icon: /* @__PURE__ */ jsx48(DownloadSimple, { size: 24 }),
9240
9505
  onClick: handleDownload,
9241
9506
  disabled: disabled || isDownloading,
9242
9507
  "aria-label": (() => {
@@ -9257,7 +9522,7 @@ var DownloadButton = ({
9257
9522
  var DownloadButton_default = DownloadButton;
9258
9523
 
9259
9524
  // src/components/VideoPlayer/VideoPlayer.tsx
9260
- import { jsx as jsx48, jsxs as jsxs35 } from "react/jsx-runtime";
9525
+ import { jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
9261
9526
  var CONTROLS_HIDE_TIMEOUT = 3e3;
9262
9527
  var LEAVE_HIDE_TIMEOUT = 1e3;
9263
9528
  var INIT_DELAY = 100;
@@ -9273,7 +9538,7 @@ var ProgressBar2 = ({
9273
9538
  progressPercentage,
9274
9539
  onSeek,
9275
9540
  className = "px-4 pb-2"
9276
- }) => /* @__PURE__ */ jsx48("div", { className, children: /* @__PURE__ */ jsx48(
9541
+ }) => /* @__PURE__ */ jsx49("div", { className, children: /* @__PURE__ */ jsx49(
9277
9542
  "input",
9278
9543
  {
9279
9544
  type: "range",
@@ -9295,17 +9560,17 @@ var VolumeControls = ({
9295
9560
  onToggleMute,
9296
9561
  iconSize = 24,
9297
9562
  showSlider = true
9298
- }) => /* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-2", children: [
9299
- /* @__PURE__ */ jsx48(
9563
+ }) => /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-2", children: [
9564
+ /* @__PURE__ */ jsx49(
9300
9565
  IconButton_default,
9301
9566
  {
9302
- icon: isMuted ? /* @__PURE__ */ jsx48(SpeakerSlash, { size: iconSize }) : /* @__PURE__ */ jsx48(SpeakerHigh2, { size: iconSize }),
9567
+ icon: isMuted ? /* @__PURE__ */ jsx49(SpeakerSlash, { size: iconSize }) : /* @__PURE__ */ jsx49(SpeakerHigh2, { size: iconSize }),
9303
9568
  onClick: onToggleMute,
9304
9569
  "aria-label": isMuted ? "Unmute" : "Mute",
9305
9570
  className: "!bg-transparent !text-white hover:!bg-white/20"
9306
9571
  }
9307
9572
  ),
9308
- showSlider && /* @__PURE__ */ jsx48(
9573
+ showSlider && /* @__PURE__ */ jsx49(
9309
9574
  "input",
9310
9575
  {
9311
9576
  type: "range",
@@ -9346,7 +9611,7 @@ var SpeedMenu = ({
9346
9611
  };
9347
9612
  };
9348
9613
  const position = getMenuPosition();
9349
- useEffect17(() => {
9614
+ useEffect18(() => {
9350
9615
  const handleClickOutside = (event) => {
9351
9616
  const target = event.target;
9352
9617
  const isOutsideContainer = speedMenuContainerRef.current && !speedMenuContainerRef.current.contains(target);
@@ -9362,7 +9627,7 @@ var SpeedMenu = ({
9362
9627
  document.removeEventListener("mousedown", handleClickOutside);
9363
9628
  };
9364
9629
  }, [showSpeedMenu, onToggleMenu]);
9365
- const menuContent = /* @__PURE__ */ jsx48(
9630
+ const menuContent = /* @__PURE__ */ jsx49(
9366
9631
  "div",
9367
9632
  {
9368
9633
  ref: speedMenuRef,
@@ -9373,7 +9638,7 @@ var SpeedMenu = ({
9373
9638
  top: `${position.top}px`,
9374
9639
  left: `${position.left}px`
9375
9640
  },
9376
- children: [0.5, 0.75, 1, 1.25, 1.5, 2].map((speed) => /* @__PURE__ */ jsxs35(
9641
+ children: [0.5, 0.75, 1, 1.25, 1.5, 2].map((speed) => /* @__PURE__ */ jsxs36(
9377
9642
  "button",
9378
9643
  {
9379
9644
  role: "menuitemradio",
@@ -9390,12 +9655,12 @@ var SpeedMenu = ({
9390
9655
  }
9391
9656
  );
9392
9657
  const portalContent = showSpeedMenu && globalThis.window !== void 0 && globalThis.document !== void 0 && !!globalThis.document?.body ? createPortal(menuContent, globalThis.document.body) : null;
9393
- return /* @__PURE__ */ jsxs35("div", { className: "relative", ref: speedMenuContainerRef, children: [
9394
- /* @__PURE__ */ jsx48(
9658
+ return /* @__PURE__ */ jsxs36("div", { className: "relative", ref: speedMenuContainerRef, children: [
9659
+ /* @__PURE__ */ jsx49(
9395
9660
  IconButton_default,
9396
9661
  {
9397
9662
  ref: buttonRef,
9398
- icon: /* @__PURE__ */ jsx48(DotsThreeVertical3, { size: iconSize }),
9663
+ icon: /* @__PURE__ */ jsx49(DotsThreeVertical3, { size: iconSize }),
9399
9664
  onClick: onToggleMenu,
9400
9665
  "aria-label": "Playback speed",
9401
9666
  "aria-haspopup": "menu",
@@ -9427,26 +9692,26 @@ var VideoPlayer = ({
9427
9692
  }) => {
9428
9693
  const videoRef = useRef11(null);
9429
9694
  const { isUltraSmallMobile, isTinyMobile } = useMobile();
9430
- const [isPlaying, setIsPlaying] = useState17(false);
9431
- const [currentTime, setCurrentTime] = useState17(0);
9432
- const [duration, setDuration] = useState17(0);
9433
- const [isMuted, setIsMuted] = useState17(false);
9434
- const [volume, setVolume] = useState17(1);
9435
- const [isFullscreen, setIsFullscreen] = useState17(false);
9436
- const [showControls, setShowControls] = useState17(true);
9437
- const [hasCompleted, setHasCompleted] = useState17(false);
9438
- const [showCaptions, setShowCaptions] = useState17(false);
9439
- const [subtitlesValidation, setSubtitlesValidation] = useState17("idle");
9440
- useEffect17(() => {
9695
+ const [isPlaying, setIsPlaying] = useState18(false);
9696
+ const [currentTime, setCurrentTime] = useState18(0);
9697
+ const [duration, setDuration] = useState18(0);
9698
+ const [isMuted, setIsMuted] = useState18(false);
9699
+ const [volume, setVolume] = useState18(1);
9700
+ const [isFullscreen, setIsFullscreen] = useState18(false);
9701
+ const [showControls, setShowControls] = useState18(true);
9702
+ const [hasCompleted, setHasCompleted] = useState18(false);
9703
+ const [showCaptions, setShowCaptions] = useState18(false);
9704
+ const [subtitlesValidation, setSubtitlesValidation] = useState18("idle");
9705
+ useEffect18(() => {
9441
9706
  setHasCompleted(false);
9442
9707
  }, [src]);
9443
- const [playbackRate, setPlaybackRate] = useState17(1);
9444
- const [showSpeedMenu, setShowSpeedMenu] = useState17(false);
9708
+ const [playbackRate, setPlaybackRate] = useState18(1);
9709
+ const [showSpeedMenu, setShowSpeedMenu] = useState18(false);
9445
9710
  const lastSaveTimeRef = useRef11(0);
9446
9711
  const trackRef = useRef11(null);
9447
9712
  const controlsTimeoutRef = useRef11(null);
9448
9713
  const lastMousePositionRef = useRef11({ x: 0, y: 0 });
9449
- const isUserInteracting = useCallback3(() => {
9714
+ const isUserInteracting = useCallback4(() => {
9450
9715
  if (showSpeedMenu) {
9451
9716
  return true;
9452
9717
  }
@@ -9463,13 +9728,13 @@ var VideoPlayer = ({
9463
9728
  }
9464
9729
  return false;
9465
9730
  }, [showSpeedMenu]);
9466
- const clearControlsTimeout = useCallback3(() => {
9731
+ const clearControlsTimeout = useCallback4(() => {
9467
9732
  if (controlsTimeoutRef.current) {
9468
9733
  clearTimeout(controlsTimeoutRef.current);
9469
9734
  controlsTimeoutRef.current = null;
9470
9735
  }
9471
9736
  }, []);
9472
- const showControlsWithTimer = useCallback3(() => {
9737
+ const showControlsWithTimer = useCallback4(() => {
9473
9738
  setShowControls(true);
9474
9739
  clearControlsTimeout();
9475
9740
  if (isFullscreen) {
@@ -9484,7 +9749,7 @@ var VideoPlayer = ({
9484
9749
  }, CONTROLS_HIDE_TIMEOUT);
9485
9750
  }
9486
9751
  }, [isFullscreen, isPlaying, clearControlsTimeout]);
9487
- const handleMouseMove = useCallback3(
9752
+ const handleMouseMove = useCallback4(
9488
9753
  (event) => {
9489
9754
  const currentX = event.clientX;
9490
9755
  const currentY = event.clientY;
@@ -9497,10 +9762,10 @@ var VideoPlayer = ({
9497
9762
  },
9498
9763
  [showControlsWithTimer]
9499
9764
  );
9500
- const handleMouseEnter = useCallback3(() => {
9765
+ const handleMouseEnter = useCallback4(() => {
9501
9766
  showControlsWithTimer();
9502
9767
  }, [showControlsWithTimer]);
9503
- const handleMouseLeave = useCallback3(() => {
9768
+ const handleMouseLeave = useCallback4(() => {
9504
9769
  const userInteracting = isUserInteracting();
9505
9770
  clearControlsTimeout();
9506
9771
  if (!isFullscreen && !userInteracting) {
@@ -9509,13 +9774,13 @@ var VideoPlayer = ({
9509
9774
  }, LEAVE_HIDE_TIMEOUT);
9510
9775
  }
9511
9776
  }, [isFullscreen, clearControlsTimeout, isUserInteracting]);
9512
- useEffect17(() => {
9777
+ useEffect18(() => {
9513
9778
  if (videoRef.current) {
9514
9779
  videoRef.current.volume = volume;
9515
9780
  videoRef.current.muted = isMuted;
9516
9781
  }
9517
9782
  }, [volume, isMuted]);
9518
- useEffect17(() => {
9783
+ useEffect18(() => {
9519
9784
  const video = videoRef.current;
9520
9785
  if (!video) return;
9521
9786
  const onPlay = () => setIsPlaying(true);
@@ -9530,13 +9795,13 @@ var VideoPlayer = ({
9530
9795
  video.removeEventListener("ended", onEnded);
9531
9796
  };
9532
9797
  }, []);
9533
- useEffect17(() => {
9798
+ useEffect18(() => {
9534
9799
  const video = videoRef.current;
9535
9800
  if (!video) return;
9536
9801
  video.setAttribute("playsinline", "");
9537
9802
  video.setAttribute("webkit-playsinline", "");
9538
9803
  }, []);
9539
- useEffect17(() => {
9804
+ useEffect18(() => {
9540
9805
  if (isPlaying) {
9541
9806
  showControlsWithTimer();
9542
9807
  } else {
@@ -9548,7 +9813,7 @@ var VideoPlayer = ({
9548
9813
  }
9549
9814
  }
9550
9815
  }, [isPlaying, isFullscreen, showControlsWithTimer, clearControlsTimeout]);
9551
- useEffect17(() => {
9816
+ useEffect18(() => {
9552
9817
  const video = videoRef.current;
9553
9818
  if (!video) return;
9554
9819
  const handleFullscreenChange = () => {
@@ -9583,7 +9848,7 @@ var VideoPlayer = ({
9583
9848
  );
9584
9849
  };
9585
9850
  }, [showControlsWithTimer]);
9586
- useEffect17(() => {
9851
+ useEffect18(() => {
9587
9852
  const init = () => {
9588
9853
  if (!isFullscreen) {
9589
9854
  showControlsWithTimer();
@@ -9605,7 +9870,7 @@ var VideoPlayer = ({
9605
9870
  };
9606
9871
  }
9607
9872
  }, []);
9608
- const getInitialTime = useCallback3(() => {
9873
+ const getInitialTime = useCallback4(() => {
9609
9874
  if (!autoSave || !storageKey) {
9610
9875
  return Number.isFinite(initialTime) && initialTime >= 0 ? initialTime : void 0;
9611
9876
  }
@@ -9618,14 +9883,14 @@ var VideoPlayer = ({
9618
9883
  if (hasValidSaved) return saved;
9619
9884
  return void 0;
9620
9885
  }, [autoSave, storageKey, src, initialTime]);
9621
- useEffect17(() => {
9886
+ useEffect18(() => {
9622
9887
  const start = getInitialTime();
9623
9888
  if (start !== void 0 && videoRef.current) {
9624
9889
  videoRef.current.currentTime = start;
9625
9890
  setCurrentTime(start);
9626
9891
  }
9627
9892
  }, [getInitialTime]);
9628
- const saveProgress = useCallback3(
9893
+ const saveProgress = useCallback4(
9629
9894
  (time) => {
9630
9895
  if (!autoSave || !storageKey) return;
9631
9896
  const now = Date.now();
@@ -9636,7 +9901,7 @@ var VideoPlayer = ({
9636
9901
  },
9637
9902
  [autoSave, storageKey, src]
9638
9903
  );
9639
- const togglePlayPause = useCallback3(async () => {
9904
+ const togglePlayPause = useCallback4(async () => {
9640
9905
  const video = videoRef.current;
9641
9906
  if (!video) return;
9642
9907
  if (!video.paused) {
@@ -9648,7 +9913,7 @@ var VideoPlayer = ({
9648
9913
  } catch {
9649
9914
  }
9650
9915
  }, []);
9651
- const handleVolumeChange = useCallback3(
9916
+ const handleVolumeChange = useCallback4(
9652
9917
  (newVolume) => {
9653
9918
  const video = videoRef.current;
9654
9919
  if (!video) return;
@@ -9667,7 +9932,7 @@ var VideoPlayer = ({
9667
9932
  },
9668
9933
  [isMuted]
9669
9934
  );
9670
- const toggleMute = useCallback3(() => {
9935
+ const toggleMute = useCallback4(() => {
9671
9936
  const video = videoRef.current;
9672
9937
  if (!video) return;
9673
9938
  if (isMuted) {
@@ -9681,20 +9946,20 @@ var VideoPlayer = ({
9681
9946
  setIsMuted(true);
9682
9947
  }
9683
9948
  }, [isMuted, volume]);
9684
- const handleSeek = useCallback3((newTime) => {
9949
+ const handleSeek = useCallback4((newTime) => {
9685
9950
  const video = videoRef.current;
9686
9951
  if (video) {
9687
9952
  video.currentTime = newTime;
9688
9953
  }
9689
9954
  }, []);
9690
- const isSafariIOS = useCallback3(() => {
9955
+ const isSafariIOS = useCallback4(() => {
9691
9956
  const ua = navigator.userAgent;
9692
9957
  const isIOS = /iPad|iPhone|iPod/.test(ua);
9693
9958
  const isWebKit = /WebKit/.test(ua);
9694
9959
  const isNotChrome = !/CriOS|Chrome/.test(ua);
9695
9960
  return isIOS && isWebKit && isNotChrome;
9696
9961
  }, []);
9697
- const toggleFullscreen = useCallback3(() => {
9962
+ const toggleFullscreen = useCallback4(() => {
9698
9963
  const video = videoRef.current;
9699
9964
  const container = video?.parentElement;
9700
9965
  if (!video || !container) return;
@@ -9711,24 +9976,24 @@ var VideoPlayer = ({
9711
9976
  document.exitFullscreen();
9712
9977
  }
9713
9978
  }, [isFullscreen, isSafariIOS]);
9714
- const handleSpeedChange = useCallback3((speed) => {
9979
+ const handleSpeedChange = useCallback4((speed) => {
9715
9980
  if (videoRef.current) {
9716
9981
  videoRef.current.playbackRate = speed;
9717
9982
  setPlaybackRate(speed);
9718
9983
  setShowSpeedMenu(false);
9719
9984
  }
9720
9985
  }, []);
9721
- const toggleSpeedMenu = useCallback3(() => {
9986
+ const toggleSpeedMenu = useCallback4(() => {
9722
9987
  setShowSpeedMenu(!showSpeedMenu);
9723
9988
  }, [showSpeedMenu]);
9724
- const toggleCaptions = useCallback3(() => {
9989
+ const toggleCaptions = useCallback4(() => {
9725
9990
  if (!trackRef.current?.track || !subtitles || subtitlesValidation !== "valid")
9726
9991
  return;
9727
9992
  const newShowCaptions = !showCaptions;
9728
9993
  setShowCaptions(newShowCaptions);
9729
9994
  trackRef.current.track.mode = newShowCaptions ? "showing" : "hidden";
9730
9995
  }, [showCaptions, subtitles, subtitlesValidation]);
9731
- const checkVideoCompletion = useCallback3(
9996
+ const checkVideoCompletion = useCallback4(
9732
9997
  (progressPercent) => {
9733
9998
  if (progressPercent >= 95 && !hasCompleted) {
9734
9999
  setHasCompleted(true);
@@ -9737,7 +10002,7 @@ var VideoPlayer = ({
9737
10002
  },
9738
10003
  [hasCompleted, onVideoComplete]
9739
10004
  );
9740
- const handleTimeUpdate = useCallback3(() => {
10005
+ const handleTimeUpdate = useCallback4(() => {
9741
10006
  const video = videoRef.current;
9742
10007
  if (!video) return;
9743
10008
  const current = video.currentTime;
@@ -9750,12 +10015,12 @@ var VideoPlayer = ({
9750
10015
  checkVideoCompletion(progressPercent);
9751
10016
  }
9752
10017
  }, [duration, saveProgress, onTimeUpdate, onProgress, checkVideoCompletion]);
9753
- const handleLoadedMetadata = useCallback3(() => {
10018
+ const handleLoadedMetadata = useCallback4(() => {
9754
10019
  if (videoRef.current) {
9755
10020
  setDuration(videoRef.current.duration);
9756
10021
  }
9757
10022
  }, []);
9758
- useEffect17(() => {
10023
+ useEffect18(() => {
9759
10024
  const controller = new AbortController();
9760
10025
  const validateSubtitles = async () => {
9761
10026
  if (!subtitles) {
@@ -9802,12 +10067,12 @@ var VideoPlayer = ({
9802
10067
  controller.abort();
9803
10068
  };
9804
10069
  }, [subtitles]);
9805
- useEffect17(() => {
10070
+ useEffect18(() => {
9806
10071
  if (trackRef.current?.track) {
9807
10072
  trackRef.current.track.mode = showCaptions && subtitles && subtitlesValidation === "valid" ? "showing" : "hidden";
9808
10073
  }
9809
10074
  }, [subtitles, showCaptions, subtitlesValidation]);
9810
- useEffect17(() => {
10075
+ useEffect18(() => {
9811
10076
  const handleVisibilityChange = () => {
9812
10077
  if (document.hidden && isPlaying && videoRef.current) {
9813
10078
  videoRef.current.pause();
@@ -9829,54 +10094,54 @@ var VideoPlayer = ({
9829
10094
  };
9830
10095
  }, [isPlaying, clearControlsTimeout]);
9831
10096
  const progressPercentage = duration > 0 ? currentTime / duration * 100 : 0;
9832
- const getIconSize2 = useCallback3(() => {
10097
+ const getIconSize2 = useCallback4(() => {
9833
10098
  if (isTinyMobile) return 18;
9834
10099
  if (isUltraSmallMobile) return 20;
9835
10100
  return 24;
9836
10101
  }, [isTinyMobile, isUltraSmallMobile]);
9837
- const getControlsPadding = useCallback3(() => {
10102
+ const getControlsPadding = useCallback4(() => {
9838
10103
  if (isTinyMobile) return "px-2 pb-2 pt-1";
9839
10104
  if (isUltraSmallMobile) return "px-3 pb-3 pt-1";
9840
10105
  return "px-4 pb-4";
9841
10106
  }, [isTinyMobile, isUltraSmallMobile]);
9842
- const getControlsGap = useCallback3(() => {
10107
+ const getControlsGap = useCallback4(() => {
9843
10108
  if (isTinyMobile) return "gap-1";
9844
10109
  if (isUltraSmallMobile) return "gap-2";
9845
10110
  return "gap-4";
9846
10111
  }, [isTinyMobile, isUltraSmallMobile]);
9847
- const getProgressBarPadding = useCallback3(() => {
10112
+ const getProgressBarPadding = useCallback4(() => {
9848
10113
  if (isTinyMobile) return "px-2 pb-1";
9849
10114
  if (isUltraSmallMobile) return "px-3 pb-1";
9850
10115
  return "px-4 pb-2";
9851
10116
  }, [isTinyMobile, isUltraSmallMobile]);
9852
- const getCenterPlayButtonPosition = useCallback3(() => {
10117
+ const getCenterPlayButtonPosition = useCallback4(() => {
9853
10118
  if (isTinyMobile) return "items-center justify-center -translate-y-12";
9854
10119
  if (isUltraSmallMobile) return "items-center justify-center -translate-y-8";
9855
10120
  return "items-center justify-center";
9856
10121
  }, [isTinyMobile, isUltraSmallMobile]);
9857
- const getTopControlsOpacity = useCallback3(() => {
10122
+ const getTopControlsOpacity = useCallback4(() => {
9858
10123
  return showControls ? "opacity-100" : "opacity-0";
9859
10124
  }, [showControls]);
9860
- const getBottomControlsOpacity = useCallback3(() => {
10125
+ const getBottomControlsOpacity = useCallback4(() => {
9861
10126
  return showControls ? "opacity-100" : "opacity-0";
9862
10127
  }, [showControls]);
9863
- const seekBackward = useCallback3(() => {
10128
+ const seekBackward = useCallback4(() => {
9864
10129
  if (videoRef.current) {
9865
10130
  videoRef.current.currentTime -= 10;
9866
10131
  }
9867
10132
  }, []);
9868
- const seekForward = useCallback3(() => {
10133
+ const seekForward = useCallback4(() => {
9869
10134
  if (videoRef.current) {
9870
10135
  videoRef.current.currentTime += 10;
9871
10136
  }
9872
10137
  }, []);
9873
- const increaseVolume = useCallback3(() => {
10138
+ const increaseVolume = useCallback4(() => {
9874
10139
  handleVolumeChange(Math.min(100, volume * 100 + 10));
9875
10140
  }, [handleVolumeChange, volume]);
9876
- const decreaseVolume = useCallback3(() => {
10141
+ const decreaseVolume = useCallback4(() => {
9877
10142
  handleVolumeChange(Math.max(0, volume * 100 - 10));
9878
10143
  }, [handleVolumeChange, volume]);
9879
- const handleVideoKeyDown = useCallback3(
10144
+ const handleVideoKeyDown = useCallback4(
9880
10145
  (e) => {
9881
10146
  if (!e.key) return;
9882
10147
  e.stopPropagation();
@@ -9911,10 +10176,10 @@ var VideoPlayer = ({
9911
10176
  ]
9912
10177
  );
9913
10178
  const groupedSubTitleValid = subtitles && subtitlesValidation === "valid";
9914
- return /* @__PURE__ */ jsxs35("div", { className: cn("flex flex-col", className), children: [
9915
- (title || subtitleText) && /* @__PURE__ */ jsxs35("div", { className: "bg-subject-1 px-8 py-4 flex items-end justify-between min-h-20", children: [
9916
- /* @__PURE__ */ jsxs35("div", { className: "flex flex-col gap-1", children: [
9917
- title && /* @__PURE__ */ jsx48(
10179
+ return /* @__PURE__ */ jsxs36("div", { className: cn("flex flex-col", className), children: [
10180
+ (title || subtitleText) && /* @__PURE__ */ jsxs36("div", { className: "bg-subject-1 px-8 py-4 flex items-end justify-between min-h-20", children: [
10181
+ /* @__PURE__ */ jsxs36("div", { className: "flex flex-col gap-1", children: [
10182
+ title && /* @__PURE__ */ jsx49(
9918
10183
  Text_default,
9919
10184
  {
9920
10185
  as: "h2",
@@ -9925,7 +10190,7 @@ var VideoPlayer = ({
9925
10190
  children: title
9926
10191
  }
9927
10192
  ),
9928
- subtitleText && /* @__PURE__ */ jsx48(
10193
+ subtitleText && /* @__PURE__ */ jsx49(
9929
10194
  Text_default,
9930
10195
  {
9931
10196
  as: "p",
@@ -9937,7 +10202,7 @@ var VideoPlayer = ({
9937
10202
  }
9938
10203
  )
9939
10204
  ] }),
9940
- showDownloadButton && downloadContent && /* @__PURE__ */ jsx48(
10205
+ showDownloadButton && downloadContent && /* @__PURE__ */ jsx49(
9941
10206
  DownloadButton_default,
9942
10207
  {
9943
10208
  content: downloadContent,
@@ -9949,7 +10214,7 @@ var VideoPlayer = ({
9949
10214
  }
9950
10215
  )
9951
10216
  ] }),
9952
- /* @__PURE__ */ jsxs35(
10217
+ /* @__PURE__ */ jsxs36(
9953
10218
  "section",
9954
10219
  {
9955
10220
  className: cn(
@@ -9964,7 +10229,7 @@ var VideoPlayer = ({
9964
10229
  onTouchStart: handleMouseEnter,
9965
10230
  onMouseLeave: handleMouseLeave,
9966
10231
  children: [
9967
- /* @__PURE__ */ jsx48(
10232
+ /* @__PURE__ */ jsx49(
9968
10233
  "video",
9969
10234
  {
9970
10235
  ref: videoRef,
@@ -9979,7 +10244,7 @@ var VideoPlayer = ({
9979
10244
  onKeyDown: handleVideoKeyDown,
9980
10245
  tabIndex: 0,
9981
10246
  "aria-label": title ? `Video: ${title}` : "Video player",
9982
- children: /* @__PURE__ */ jsx48(
10247
+ children: /* @__PURE__ */ jsx49(
9983
10248
  "track",
9984
10249
  {
9985
10250
  ref: trackRef,
@@ -9992,17 +10257,17 @@ var VideoPlayer = ({
9992
10257
  )
9993
10258
  }
9994
10259
  ),
9995
- !isPlaying && /* @__PURE__ */ jsx48(
10260
+ !isPlaying && /* @__PURE__ */ jsx49(
9996
10261
  "div",
9997
10262
  {
9998
10263
  className: cn(
9999
10264
  "absolute inset-0 flex bg-black/30 transition-opacity",
10000
10265
  getCenterPlayButtonPosition()
10001
10266
  ),
10002
- children: /* @__PURE__ */ jsx48(
10267
+ children: /* @__PURE__ */ jsx49(
10003
10268
  IconButton_default,
10004
10269
  {
10005
- icon: /* @__PURE__ */ jsx48(Play2, { size: 32, weight: "regular", className: "ml-1" }),
10270
+ icon: /* @__PURE__ */ jsx49(Play2, { size: 32, weight: "regular", className: "ml-1" }),
10006
10271
  onClick: togglePlayPause,
10007
10272
  "aria-label": "Play video",
10008
10273
  className: "!bg-transparent !text-white !w-auto !h-auto hover:!bg-transparent hover:!text-gray-200"
@@ -10010,17 +10275,17 @@ var VideoPlayer = ({
10010
10275
  )
10011
10276
  }
10012
10277
  ),
10013
- /* @__PURE__ */ jsx48(
10278
+ /* @__PURE__ */ jsx49(
10014
10279
  "div",
10015
10280
  {
10016
10281
  className: cn(
10017
10282
  "absolute top-0 left-0 right-0 p-4 bg-gradient-to-b from-black/70 to-transparent transition-opacity",
10018
10283
  getTopControlsOpacity()
10019
10284
  ),
10020
- children: /* @__PURE__ */ jsx48("div", { className: "flex justify-start", children: /* @__PURE__ */ jsx48(
10285
+ children: /* @__PURE__ */ jsx49("div", { className: "flex justify-start", children: /* @__PURE__ */ jsx49(
10021
10286
  IconButton_default,
10022
10287
  {
10023
- icon: isFullscreen ? /* @__PURE__ */ jsx48(ArrowsInSimple, { size: 24 }) : /* @__PURE__ */ jsx48(ArrowsOutSimple, { size: 24 }),
10288
+ icon: isFullscreen ? /* @__PURE__ */ jsx49(ArrowsInSimple, { size: 24 }) : /* @__PURE__ */ jsx49(ArrowsOutSimple, { size: 24 }),
10024
10289
  onClick: toggleFullscreen,
10025
10290
  "aria-label": isFullscreen ? "Exit fullscreen" : "Enter fullscreen",
10026
10291
  className: "!bg-transparent !text-white hover:!bg-white/20"
@@ -10028,7 +10293,7 @@ var VideoPlayer = ({
10028
10293
  ) })
10029
10294
  }
10030
10295
  ),
10031
- /* @__PURE__ */ jsxs35(
10296
+ /* @__PURE__ */ jsxs36(
10032
10297
  "div",
10033
10298
  {
10034
10299
  className: cn(
@@ -10036,7 +10301,7 @@ var VideoPlayer = ({
10036
10301
  getBottomControlsOpacity()
10037
10302
  ),
10038
10303
  children: [
10039
- /* @__PURE__ */ jsx48(
10304
+ /* @__PURE__ */ jsx49(
10040
10305
  ProgressBar2,
10041
10306
  {
10042
10307
  currentTime,
@@ -10046,7 +10311,7 @@ var VideoPlayer = ({
10046
10311
  className: getProgressBarPadding()
10047
10312
  }
10048
10313
  ),
10049
- /* @__PURE__ */ jsxs35(
10314
+ /* @__PURE__ */ jsxs36(
10050
10315
  "div",
10051
10316
  {
10052
10317
  className: cn(
@@ -10054,17 +10319,17 @@ var VideoPlayer = ({
10054
10319
  getControlsPadding()
10055
10320
  ),
10056
10321
  children: [
10057
- /* @__PURE__ */ jsxs35("div", { className: cn("flex items-center", getControlsGap()), children: [
10058
- /* @__PURE__ */ jsx48(
10322
+ /* @__PURE__ */ jsxs36("div", { className: cn("flex items-center", getControlsGap()), children: [
10323
+ /* @__PURE__ */ jsx49(
10059
10324
  IconButton_default,
10060
10325
  {
10061
- icon: isPlaying ? /* @__PURE__ */ jsx48(Pause, { size: getIconSize2() }) : /* @__PURE__ */ jsx48(Play2, { size: getIconSize2() }),
10326
+ icon: isPlaying ? /* @__PURE__ */ jsx49(Pause, { size: getIconSize2() }) : /* @__PURE__ */ jsx49(Play2, { size: getIconSize2() }),
10062
10327
  onClick: togglePlayPause,
10063
10328
  "aria-label": isPlaying ? "Pause" : "Play",
10064
10329
  className: "!bg-transparent !text-white hover:!bg-white/20"
10065
10330
  }
10066
10331
  ),
10067
- /* @__PURE__ */ jsx48(
10332
+ /* @__PURE__ */ jsx49(
10068
10333
  VolumeControls,
10069
10334
  {
10070
10335
  volume,
@@ -10075,10 +10340,10 @@ var VideoPlayer = ({
10075
10340
  showSlider: !isUltraSmallMobile
10076
10341
  }
10077
10342
  ),
10078
- groupedSubTitleValid && /* @__PURE__ */ jsx48(
10343
+ groupedSubTitleValid && /* @__PURE__ */ jsx49(
10079
10344
  IconButton_default,
10080
10345
  {
10081
- icon: /* @__PURE__ */ jsx48(ClosedCaptioning, { size: getIconSize2() }),
10346
+ icon: /* @__PURE__ */ jsx49(ClosedCaptioning, { size: getIconSize2() }),
10082
10347
  onClick: toggleCaptions,
10083
10348
  "aria-label": showCaptions ? "Hide captions" : "Show captions",
10084
10349
  className: cn(
@@ -10087,13 +10352,13 @@ var VideoPlayer = ({
10087
10352
  )
10088
10353
  }
10089
10354
  ),
10090
- /* @__PURE__ */ jsxs35(Text_default, { size: "sm", weight: "medium", color: "text-white", children: [
10355
+ /* @__PURE__ */ jsxs36(Text_default, { size: "sm", weight: "medium", color: "text-white", children: [
10091
10356
  formatTime(currentTime),
10092
10357
  " / ",
10093
10358
  formatTime(duration)
10094
10359
  ] })
10095
10360
  ] }),
10096
- /* @__PURE__ */ jsx48("div", { className: "flex items-center gap-4", children: /* @__PURE__ */ jsx48(
10361
+ /* @__PURE__ */ jsx49("div", { className: "flex items-center gap-4", children: /* @__PURE__ */ jsx49(
10097
10362
  SpeedMenu,
10098
10363
  {
10099
10364
  showSpeedMenu,
@@ -10119,9 +10384,9 @@ var VideoPlayer = ({
10119
10384
  var VideoPlayer_default = VideoPlayer;
10120
10385
 
10121
10386
  // src/components/Whiteboard/Whiteboard.tsx
10122
- import { useCallback as useCallback4, useState as useState18 } from "react";
10387
+ import { useCallback as useCallback5, useState as useState19 } from "react";
10123
10388
  import { ArrowsOut } from "phosphor-react";
10124
- import { Fragment as Fragment9, jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
10389
+ import { Fragment as Fragment9, jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
10125
10390
  var IMAGE_WIDTH = 225;
10126
10391
  var IMAGE_HEIGHT = 90;
10127
10392
  var Whiteboard = ({
@@ -10132,8 +10397,8 @@ var Whiteboard = ({
10132
10397
  imagesPerRow = 2,
10133
10398
  ...rest
10134
10399
  }) => {
10135
- const [imageErrors, setImageErrors] = useState18(/* @__PURE__ */ new Set());
10136
- const handleDownload = useCallback4(
10400
+ const [imageErrors, setImageErrors] = useState19(/* @__PURE__ */ new Set());
10401
+ const handleDownload = useCallback5(
10137
10402
  (image) => {
10138
10403
  if (onDownload) {
10139
10404
  onDownload(image);
@@ -10150,7 +10415,7 @@ var Whiteboard = ({
10150
10415
  },
10151
10416
  [onDownload]
10152
10417
  );
10153
- const handleImageError = useCallback4((imageId) => {
10418
+ const handleImageError = useCallback5((imageId) => {
10154
10419
  setImageErrors((prev) => new Set(prev).add(imageId));
10155
10420
  }, []);
10156
10421
  const gridColsClass = images?.length === 1 ? "grid-cols-1" : {
@@ -10159,7 +10424,7 @@ var Whiteboard = ({
10159
10424
  4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
10160
10425
  }[imagesPerRow];
10161
10426
  if (!images || images.length === 0) {
10162
- return /* @__PURE__ */ jsx49(
10427
+ return /* @__PURE__ */ jsx50(
10163
10428
  "div",
10164
10429
  {
10165
10430
  className: cn(
@@ -10167,11 +10432,11 @@ var Whiteboard = ({
10167
10432
  className
10168
10433
  ),
10169
10434
  ...rest,
10170
- children: /* @__PURE__ */ jsx49("p", { className: "text-gray-400 text-sm", children: "Nenhuma imagem dispon\xEDvel" })
10435
+ children: /* @__PURE__ */ jsx50("p", { className: "text-gray-400 text-sm", children: "Nenhuma imagem dispon\xEDvel" })
10171
10436
  }
10172
10437
  );
10173
10438
  }
10174
- return /* @__PURE__ */ jsx49(
10439
+ return /* @__PURE__ */ jsx50(
10175
10440
  "div",
10176
10441
  {
10177
10442
  className: cn(
@@ -10179,7 +10444,7 @@ var Whiteboard = ({
10179
10444
  className
10180
10445
  ),
10181
10446
  ...rest,
10182
- children: /* @__PURE__ */ jsx49("div", { className: cn("grid gap-4", gridColsClass), children: images.map((image) => /* @__PURE__ */ jsxs36(
10447
+ children: /* @__PURE__ */ jsx50("div", { className: cn("grid gap-4", gridColsClass), children: images.map((image) => /* @__PURE__ */ jsxs37(
10183
10448
  "div",
10184
10449
  {
10185
10450
  className: "relative group overflow-hidden bg-gray-100 rounded-lg",
@@ -10187,7 +10452,7 @@ var Whiteboard = ({
10187
10452
  width: `${IMAGE_WIDTH}px`
10188
10453
  },
10189
10454
  children: [
10190
- /* @__PURE__ */ jsx49(
10455
+ /* @__PURE__ */ jsx50(
10191
10456
  "div",
10192
10457
  {
10193
10458
  className: "relative",
@@ -10195,8 +10460,8 @@ var Whiteboard = ({
10195
10460
  width: `${IMAGE_WIDTH}px`,
10196
10461
  height: `${IMAGE_HEIGHT}px`
10197
10462
  },
10198
- children: imageErrors.has(image.id) ? /* @__PURE__ */ jsx49("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200", children: /* @__PURE__ */ jsx49("p", { className: "text-gray-500 text-sm text-center px-2", children: "Imagem indispon\xEDvel" }) }) : /* @__PURE__ */ jsxs36(Fragment9, { children: [
10199
- /* @__PURE__ */ jsx49(
10463
+ children: imageErrors.has(image.id) ? /* @__PURE__ */ jsx50("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200", children: /* @__PURE__ */ jsx50("p", { className: "text-gray-500 text-sm text-center px-2", children: "Imagem indispon\xEDvel" }) }) : /* @__PURE__ */ jsxs37(Fragment9, { children: [
10464
+ /* @__PURE__ */ jsx50(
10200
10465
  "img",
10201
10466
  {
10202
10467
  src: image.imageUrl,
@@ -10206,18 +10471,18 @@ var Whiteboard = ({
10206
10471
  onError: () => handleImageError(image.id)
10207
10472
  }
10208
10473
  ),
10209
- /* @__PURE__ */ jsx49("div", { className: "absolute inset-0 bg-gradient-to-t from-black/20 to-transparent" })
10474
+ /* @__PURE__ */ jsx50("div", { className: "absolute inset-0 bg-gradient-to-t from-black/20 to-transparent" })
10210
10475
  ] })
10211
10476
  }
10212
10477
  ),
10213
- showDownload && /* @__PURE__ */ jsx49(
10478
+ showDownload && /* @__PURE__ */ jsx50(
10214
10479
  "button",
10215
10480
  {
10216
10481
  type: "button",
10217
10482
  onClick: () => handleDownload(image),
10218
10483
  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",
10219
10484
  "aria-label": `Download ${image.title || "imagem"}`,
10220
- children: /* @__PURE__ */ jsx49(
10485
+ children: /* @__PURE__ */ jsx50(
10221
10486
  ArrowsOut,
10222
10487
  {
10223
10488
  size: 24,
@@ -10240,13 +10505,13 @@ var Whiteboard_default = Whiteboard;
10240
10505
  import {
10241
10506
  createContext,
10242
10507
  useContext,
10243
- useEffect as useEffect18,
10244
- useState as useState19,
10245
- useCallback as useCallback5,
10508
+ useEffect as useEffect19,
10509
+ useState as useState20,
10510
+ useCallback as useCallback6,
10246
10511
  useMemo as useMemo6
10247
10512
  } from "react";
10248
10513
  import { useLocation, Navigate } from "react-router-dom";
10249
- import { Fragment as Fragment10, jsx as jsx50 } from "react/jsx-runtime";
10514
+ import { Fragment as Fragment10, jsx as jsx51 } from "react/jsx-runtime";
10250
10515
  var AuthContext = createContext(void 0);
10251
10516
  var AuthProvider = ({
10252
10517
  children,
@@ -10257,12 +10522,12 @@ var AuthProvider = ({
10257
10522
  getSessionFn,
10258
10523
  getTokensFn
10259
10524
  }) => {
10260
- const [authState, setAuthState] = useState19({
10525
+ const [authState, setAuthState] = useState20({
10261
10526
  isAuthenticated: false,
10262
10527
  isLoading: true,
10263
10528
  ...initialAuthState
10264
10529
  });
10265
- const checkAuth = useCallback5(async () => {
10530
+ const checkAuth = useCallback6(async () => {
10266
10531
  try {
10267
10532
  setAuthState((prev) => ({ ...prev, isLoading: true }));
10268
10533
  if (!checkAuthFn) {
@@ -10293,7 +10558,7 @@ var AuthProvider = ({
10293
10558
  return false;
10294
10559
  }
10295
10560
  }, [checkAuthFn, getUserFn, getSessionFn, getTokensFn]);
10296
- const signOut = useCallback5(() => {
10561
+ const signOut = useCallback6(() => {
10297
10562
  if (signOutFn) {
10298
10563
  signOutFn();
10299
10564
  }
@@ -10305,7 +10570,7 @@ var AuthProvider = ({
10305
10570
  tokens: void 0
10306
10571
  }));
10307
10572
  }, [signOutFn]);
10308
- useEffect18(() => {
10573
+ useEffect19(() => {
10309
10574
  checkAuth();
10310
10575
  }, [checkAuth]);
10311
10576
  const contextValue = useMemo6(
@@ -10316,7 +10581,7 @@ var AuthProvider = ({
10316
10581
  }),
10317
10582
  [authState, checkAuth, signOut]
10318
10583
  );
10319
- return /* @__PURE__ */ jsx50(AuthContext.Provider, { value: contextValue, children });
10584
+ return /* @__PURE__ */ jsx51(AuthContext.Provider, { value: contextValue, children });
10320
10585
  };
10321
10586
  var useAuth = () => {
10322
10587
  const context = useContext(AuthContext);
@@ -10332,9 +10597,9 @@ var ProtectedRoute = ({
10332
10597
  additionalCheck
10333
10598
  }) => {
10334
10599
  const { isAuthenticated, isLoading, ...authState } = useAuth();
10335
- const defaultLoadingComponent = /* @__PURE__ */ jsx50("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx50("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
10600
+ const defaultLoadingComponent = /* @__PURE__ */ jsx51("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx51("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
10336
10601
  if (isLoading) {
10337
- return /* @__PURE__ */ jsx50(Fragment10, { children: loadingComponent || defaultLoadingComponent });
10602
+ return /* @__PURE__ */ jsx51(Fragment10, { children: loadingComponent || defaultLoadingComponent });
10338
10603
  }
10339
10604
  if (!isAuthenticated) {
10340
10605
  if (typeof window !== "undefined") {
@@ -10345,12 +10610,12 @@ var ProtectedRoute = ({
10345
10610
  return null;
10346
10611
  }
10347
10612
  }
10348
- return /* @__PURE__ */ jsx50(Navigate, { to: redirectTo, replace: true });
10613
+ return /* @__PURE__ */ jsx51(Navigate, { to: redirectTo, replace: true });
10349
10614
  }
10350
10615
  if (additionalCheck && !additionalCheck({ isAuthenticated, isLoading, ...authState })) {
10351
- return /* @__PURE__ */ jsx50(Navigate, { to: redirectTo, replace: true });
10616
+ return /* @__PURE__ */ jsx51(Navigate, { to: redirectTo, replace: true });
10352
10617
  }
10353
- return /* @__PURE__ */ jsx50(Fragment10, { children });
10618
+ return /* @__PURE__ */ jsx51(Fragment10, { children });
10354
10619
  };
10355
10620
  var PublicRoute = ({
10356
10621
  children,
@@ -10360,15 +10625,15 @@ var PublicRoute = ({
10360
10625
  }) => {
10361
10626
  const { isAuthenticated, isLoading } = useAuth();
10362
10627
  if (checkAuthBeforeRender && isLoading) {
10363
- return /* @__PURE__ */ jsx50("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx50("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
10628
+ return /* @__PURE__ */ jsx51("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx51("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
10364
10629
  }
10365
10630
  if (isAuthenticated && redirectIfAuthenticated) {
10366
- return /* @__PURE__ */ jsx50(Navigate, { to: redirectTo, replace: true });
10631
+ return /* @__PURE__ */ jsx51(Navigate, { to: redirectTo, replace: true });
10367
10632
  }
10368
- return /* @__PURE__ */ jsx50(Fragment10, { children });
10633
+ return /* @__PURE__ */ jsx51(Fragment10, { children });
10369
10634
  };
10370
10635
  var withAuth = (Component, options = {}) => {
10371
- return (props) => /* @__PURE__ */ jsx50(ProtectedRoute, { ...options, children: /* @__PURE__ */ jsx50(Component, { ...props }) });
10636
+ return (props) => /* @__PURE__ */ jsx51(ProtectedRoute, { ...options, children: /* @__PURE__ */ jsx51(Component, { ...props }) });
10372
10637
  };
10373
10638
  var useAuthGuard = (options = {}) => {
10374
10639
  const authState = useAuth();
@@ -10383,7 +10648,7 @@ var useAuthGuard = (options = {}) => {
10383
10648
  var useRouteAuth = (fallbackPath = "/") => {
10384
10649
  const { isAuthenticated, isLoading } = useAuth();
10385
10650
  const location = useLocation();
10386
- const redirectToLogin = () => /* @__PURE__ */ jsx50(Navigate, { to: fallbackPath, state: { from: location }, replace: true });
10651
+ const redirectToLogin = () => /* @__PURE__ */ jsx51(Navigate, { to: fallbackPath, state: { from: location }, replace: true });
10387
10652
  return {
10388
10653
  isAuthenticated,
10389
10654
  isLoading,
@@ -10420,11 +10685,11 @@ var getRootDomain = () => {
10420
10685
  import {
10421
10686
  forwardRef as forwardRef18,
10422
10687
  useId as useId9,
10423
- useState as useState20,
10424
- useEffect as useEffect19
10688
+ useState as useState21,
10689
+ useEffect as useEffect20
10425
10690
  } from "react";
10426
10691
  import { CaretRight as CaretRight4 } from "phosphor-react";
10427
- import { jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
10692
+ import { jsx as jsx52, jsxs as jsxs38 } from "react/jsx-runtime";
10428
10693
  var CardAccordation = forwardRef18(
10429
10694
  ({
10430
10695
  trigger,
@@ -10437,13 +10702,13 @@ var CardAccordation = forwardRef18(
10437
10702
  disabled = false,
10438
10703
  ...props
10439
10704
  }, ref) => {
10440
- const [internalExpanded, setInternalExpanded] = useState20(defaultExpanded);
10705
+ const [internalExpanded, setInternalExpanded] = useState21(defaultExpanded);
10441
10706
  const generatedId = useId9();
10442
10707
  const contentId = value ? `accordion-content-${value}` : generatedId;
10443
10708
  const headerId = value ? `accordion-header-${value}` : `${generatedId}-header`;
10444
10709
  const isControlled = controlledExpanded !== void 0;
10445
10710
  const isExpanded = isControlled ? controlledExpanded : internalExpanded;
10446
- useEffect19(() => {
10711
+ useEffect20(() => {
10447
10712
  if (isControlled) {
10448
10713
  setInternalExpanded(controlledExpanded);
10449
10714
  }
@@ -10463,7 +10728,7 @@ var CardAccordation = forwardRef18(
10463
10728
  handleToggle();
10464
10729
  }
10465
10730
  };
10466
- return /* @__PURE__ */ jsxs37(
10731
+ return /* @__PURE__ */ jsxs38(
10467
10732
  CardBase,
10468
10733
  {
10469
10734
  ref,
@@ -10473,7 +10738,7 @@ var CardAccordation = forwardRef18(
10473
10738
  className: cn("overflow-hidden", className),
10474
10739
  ...props,
10475
10740
  children: [
10476
- /* @__PURE__ */ jsxs37(
10741
+ /* @__PURE__ */ jsxs38(
10477
10742
  "button",
10478
10743
  {
10479
10744
  id: headerId,
@@ -10491,7 +10756,7 @@ var CardAccordation = forwardRef18(
10491
10756
  "data-value": value,
10492
10757
  children: [
10493
10758
  trigger,
10494
- /* @__PURE__ */ jsx51(
10759
+ /* @__PURE__ */ jsx52(
10495
10760
  CaretRight4,
10496
10761
  {
10497
10762
  size: 20,
@@ -10506,7 +10771,7 @@ var CardAccordation = forwardRef18(
10506
10771
  ]
10507
10772
  }
10508
10773
  ),
10509
- /* @__PURE__ */ jsx51(
10774
+ /* @__PURE__ */ jsx52(
10510
10775
  "section",
10511
10776
  {
10512
10777
  id: contentId,
@@ -10518,7 +10783,7 @@ var CardAccordation = forwardRef18(
10518
10783
  ),
10519
10784
  "data-testid": "accordion-content",
10520
10785
  "data-value": value,
10521
- children: /* @__PURE__ */ jsx51("div", { className: "p-4 pt-0", children })
10786
+ children: /* @__PURE__ */ jsx52("div", { className: "p-4 pt-0", children })
10522
10787
  }
10523
10788
  )
10524
10789
  ]
@@ -10534,12 +10799,12 @@ import {
10534
10799
  cloneElement as cloneElement7,
10535
10800
  forwardRef as forwardRef19,
10536
10801
  isValidElement as isValidElement6,
10537
- useEffect as useEffect20,
10802
+ useEffect as useEffect21,
10538
10803
  useRef as useRef12,
10539
- useState as useState21
10804
+ useState as useState22
10540
10805
  } from "react";
10541
10806
  import { create as create9 } from "zustand";
10542
- import { jsx as jsx52 } from "react/jsx-runtime";
10807
+ import { jsx as jsx53 } from "react/jsx-runtime";
10543
10808
  function createAccordionGroupStore(type, initialValue, collapsible) {
10544
10809
  return create9((set, get) => ({
10545
10810
  type,
@@ -10605,7 +10870,7 @@ var AccordionGroup = forwardRef19(
10605
10870
  className,
10606
10871
  ...props
10607
10872
  }, ref) => {
10608
- const [internalValue, setInternalValue] = useState21(
10873
+ const [internalValue, setInternalValue] = useState22(
10609
10874
  defaultValue || (type === "single" ? "" : [])
10610
10875
  );
10611
10876
  const isControlled = controlledValue !== void 0;
@@ -10630,10 +10895,10 @@ var AccordionGroup = forwardRef19(
10630
10895
  );
10631
10896
  }
10632
10897
  const store = storeRef.current;
10633
- useEffect20(() => {
10898
+ useEffect21(() => {
10634
10899
  store.setState({ value: currentValue });
10635
10900
  }, [currentValue, store]);
10636
- useEffect20(() => {
10901
+ useEffect21(() => {
10637
10902
  if (!isControlled) {
10638
10903
  setInternalValue((prev) => {
10639
10904
  if (type === "single") {
@@ -10679,15 +10944,15 @@ var AccordionGroup = forwardRef19(
10679
10944
  indexRef,
10680
10945
  handleItemToggle
10681
10946
  );
10682
- return /* @__PURE__ */ jsx52("div", { ref, className, ...props, children: enhancedChildren });
10947
+ return /* @__PURE__ */ jsx53("div", { ref, className, ...props, children: enhancedChildren });
10683
10948
  }
10684
10949
  );
10685
10950
  AccordionGroup.displayName = "AccordionGroup";
10686
10951
 
10687
10952
  // src/components/Alternative/Alternative.tsx
10688
10953
  import { CheckCircle as CheckCircle4, XCircle as XCircle3 } from "phosphor-react";
10689
- import { forwardRef as forwardRef20, useId as useId10, useState as useState22 } from "react";
10690
- import { jsx as jsx53, jsxs as jsxs38 } from "react/jsx-runtime";
10954
+ import { forwardRef as forwardRef20, useId as useId10, useState as useState23 } from "react";
10955
+ import { jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
10691
10956
  var AlternativesList = ({
10692
10957
  alternatives,
10693
10958
  name,
@@ -10702,7 +10967,7 @@ var AlternativesList = ({
10702
10967
  }) => {
10703
10968
  const uniqueId = useId10();
10704
10969
  const groupName = name || `alternatives-${uniqueId}`;
10705
- const [actualValue, setActualValue] = useState22(value);
10970
+ const [actualValue, setActualValue] = useState23(value);
10706
10971
  const isReadonly = mode === "readonly";
10707
10972
  const getStatusStyles2 = (status, isReadonly2) => {
10708
10973
  const hoverClass = isReadonly2 ? "" : "hover:bg-background-50";
@@ -10718,9 +10983,9 @@ var AlternativesList = ({
10718
10983
  const getStatusBadge2 = (status) => {
10719
10984
  switch (status) {
10720
10985
  case "correct":
10721
- return /* @__PURE__ */ jsx53(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx53(CheckCircle4, {}), children: "Resposta correta" });
10986
+ return /* @__PURE__ */ jsx54(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx54(CheckCircle4, {}), children: "Resposta correta" });
10722
10987
  case "incorrect":
10723
- return /* @__PURE__ */ jsx53(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx53(XCircle3, {}), children: "Resposta incorreta" });
10988
+ return /* @__PURE__ */ jsx54(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx54(XCircle3, {}), children: "Resposta incorreta" });
10724
10989
  default:
10725
10990
  return null;
10726
10991
  }
@@ -10750,10 +11015,10 @@ var AlternativesList = ({
10750
11015
  const renderRadio = () => {
10751
11016
  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"}`;
10752
11017
  const dotClasses = "w-3 h-3 rounded-full bg-primary-950 transition-all duration-200";
10753
- return /* @__PURE__ */ jsx53("div", { className: radioClasses, children: isUserSelected && /* @__PURE__ */ jsx53("div", { className: dotClasses }) });
11018
+ return /* @__PURE__ */ jsx54("div", { className: radioClasses, children: isUserSelected && /* @__PURE__ */ jsx54("div", { className: dotClasses }) });
10754
11019
  };
10755
11020
  if (layout === "detailed") {
10756
- return /* @__PURE__ */ jsx53(
11021
+ return /* @__PURE__ */ jsx54(
10757
11022
  "div",
10758
11023
  {
10759
11024
  className: cn(
@@ -10761,11 +11026,11 @@ var AlternativesList = ({
10761
11026
  statusStyles,
10762
11027
  alternative.disabled ? "opacity-50" : ""
10763
11028
  ),
10764
- children: /* @__PURE__ */ jsxs38("div", { className: "flex items-start justify-between gap-3", children: [
10765
- /* @__PURE__ */ jsxs38("div", { className: "flex items-start gap-3 flex-1", children: [
10766
- /* @__PURE__ */ jsx53("div", { className: "mt-1", children: renderRadio() }),
10767
- /* @__PURE__ */ jsxs38("div", { className: "flex-1", children: [
10768
- /* @__PURE__ */ jsx53(
11029
+ children: /* @__PURE__ */ jsxs39("div", { className: "flex items-start justify-between gap-3", children: [
11030
+ /* @__PURE__ */ jsxs39("div", { className: "flex items-start gap-3 flex-1", children: [
11031
+ /* @__PURE__ */ jsx54("div", { className: "mt-1", children: renderRadio() }),
11032
+ /* @__PURE__ */ jsxs39("div", { className: "flex-1", children: [
11033
+ /* @__PURE__ */ jsx54(
10769
11034
  "p",
10770
11035
  {
10771
11036
  className: cn(
@@ -10775,16 +11040,16 @@ var AlternativesList = ({
10775
11040
  children: alternative.label
10776
11041
  }
10777
11042
  ),
10778
- alternative.description && /* @__PURE__ */ jsx53("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
11043
+ alternative.description && /* @__PURE__ */ jsx54("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
10779
11044
  ] })
10780
11045
  ] }),
10781
- statusBadge && /* @__PURE__ */ jsx53("div", { className: "flex-shrink-0", children: statusBadge })
11046
+ statusBadge && /* @__PURE__ */ jsx54("div", { className: "flex-shrink-0", children: statusBadge })
10782
11047
  ] })
10783
11048
  },
10784
11049
  alternativeId
10785
11050
  );
10786
11051
  }
10787
- return /* @__PURE__ */ jsxs38(
11052
+ return /* @__PURE__ */ jsxs39(
10788
11053
  "div",
10789
11054
  {
10790
11055
  className: cn(
@@ -10793,9 +11058,9 @@ var AlternativesList = ({
10793
11058
  alternative.disabled ? "opacity-50" : ""
10794
11059
  ),
10795
11060
  children: [
10796
- /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2 flex-1", children: [
11061
+ /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-2 flex-1", children: [
10797
11062
  renderRadio(),
10798
- /* @__PURE__ */ jsx53(
11063
+ /* @__PURE__ */ jsx54(
10799
11064
  "span",
10800
11065
  {
10801
11066
  className: cn(
@@ -10806,14 +11071,14 @@ var AlternativesList = ({
10806
11071
  }
10807
11072
  )
10808
11073
  ] }),
10809
- statusBadge && /* @__PURE__ */ jsx53("div", { className: "flex-shrink-0", children: statusBadge })
11074
+ statusBadge && /* @__PURE__ */ jsx54("div", { className: "flex-shrink-0", children: statusBadge })
10810
11075
  ]
10811
11076
  },
10812
11077
  alternativeId
10813
11078
  );
10814
11079
  };
10815
11080
  if (isReadonly) {
10816
- return /* @__PURE__ */ jsx53(
11081
+ return /* @__PURE__ */ jsx54(
10817
11082
  "div",
10818
11083
  {
10819
11084
  className: cn("flex flex-col", getLayoutClasses(), "w-full", className),
@@ -10823,7 +11088,7 @@ var AlternativesList = ({
10823
11088
  }
10824
11089
  );
10825
11090
  }
10826
- return /* @__PURE__ */ jsx53(
11091
+ return /* @__PURE__ */ jsx54(
10827
11092
  RadioGroup,
10828
11093
  {
10829
11094
  name: groupName,
@@ -10840,7 +11105,7 @@ var AlternativesList = ({
10840
11105
  const statusStyles = getStatusStyles2(alternative.status, false);
10841
11106
  const statusBadge = getStatusBadge2(alternative.status);
10842
11107
  if (layout === "detailed") {
10843
- return /* @__PURE__ */ jsx53(
11108
+ return /* @__PURE__ */ jsx54(
10844
11109
  "div",
10845
11110
  {
10846
11111
  className: cn(
@@ -10848,9 +11113,9 @@ var AlternativesList = ({
10848
11113
  statusStyles,
10849
11114
  alternative.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
10850
11115
  ),
10851
- children: /* @__PURE__ */ jsxs38("div", { className: "flex items-start justify-between gap-3", children: [
10852
- /* @__PURE__ */ jsxs38("div", { className: "flex items-start gap-3 flex-1", children: [
10853
- /* @__PURE__ */ jsx53(
11116
+ children: /* @__PURE__ */ jsxs39("div", { className: "flex items-start justify-between gap-3", children: [
11117
+ /* @__PURE__ */ jsxs39("div", { className: "flex items-start gap-3 flex-1", children: [
11118
+ /* @__PURE__ */ jsx54(
10854
11119
  RadioGroupItem,
10855
11120
  {
10856
11121
  value: alternative.value,
@@ -10859,8 +11124,8 @@ var AlternativesList = ({
10859
11124
  className: "mt-1"
10860
11125
  }
10861
11126
  ),
10862
- /* @__PURE__ */ jsxs38("div", { className: "flex-1", children: [
10863
- /* @__PURE__ */ jsx53(
11127
+ /* @__PURE__ */ jsxs39("div", { className: "flex-1", children: [
11128
+ /* @__PURE__ */ jsx54(
10864
11129
  "label",
10865
11130
  {
10866
11131
  htmlFor: alternativeId,
@@ -10872,16 +11137,16 @@ var AlternativesList = ({
10872
11137
  children: alternative.label
10873
11138
  }
10874
11139
  ),
10875
- alternative.description && /* @__PURE__ */ jsx53("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
11140
+ alternative.description && /* @__PURE__ */ jsx54("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
10876
11141
  ] })
10877
11142
  ] }),
10878
- statusBadge && /* @__PURE__ */ jsx53("div", { className: "flex-shrink-0", children: statusBadge })
11143
+ statusBadge && /* @__PURE__ */ jsx54("div", { className: "flex-shrink-0", children: statusBadge })
10879
11144
  ] })
10880
11145
  },
10881
11146
  alternativeId
10882
11147
  );
10883
11148
  }
10884
- return /* @__PURE__ */ jsxs38(
11149
+ return /* @__PURE__ */ jsxs39(
10885
11150
  "div",
10886
11151
  {
10887
11152
  className: cn(
@@ -10890,8 +11155,8 @@ var AlternativesList = ({
10890
11155
  alternative.disabled ? "opacity-50 cursor-not-allowed" : ""
10891
11156
  ),
10892
11157
  children: [
10893
- /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2 flex-1", children: [
10894
- /* @__PURE__ */ jsx53(
11158
+ /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-2 flex-1", children: [
11159
+ /* @__PURE__ */ jsx54(
10895
11160
  RadioGroupItem,
10896
11161
  {
10897
11162
  value: alternative.value,
@@ -10899,7 +11164,7 @@ var AlternativesList = ({
10899
11164
  disabled: alternative.disabled
10900
11165
  }
10901
11166
  ),
10902
- /* @__PURE__ */ jsx53(
11167
+ /* @__PURE__ */ jsx54(
10903
11168
  "label",
10904
11169
  {
10905
11170
  htmlFor: alternativeId,
@@ -10912,7 +11177,7 @@ var AlternativesList = ({
10912
11177
  }
10913
11178
  )
10914
11179
  ] }),
10915
- statusBadge && /* @__PURE__ */ jsx53("div", { className: "flex-shrink-0", children: statusBadge })
11180
+ statusBadge && /* @__PURE__ */ jsx54("div", { className: "flex-shrink-0", children: statusBadge })
10916
11181
  ]
10917
11182
  },
10918
11183
  alternativeId
@@ -10923,7 +11188,7 @@ var AlternativesList = ({
10923
11188
  };
10924
11189
  var HeaderAlternative = forwardRef20(
10925
11190
  ({ className, title, subTitle, content, ...props }, ref) => {
10926
- return /* @__PURE__ */ jsxs38(
11191
+ return /* @__PURE__ */ jsxs39(
10927
11192
  "div",
10928
11193
  {
10929
11194
  ref,
@@ -10933,11 +11198,11 @@ var HeaderAlternative = forwardRef20(
10933
11198
  ),
10934
11199
  ...props,
10935
11200
  children: [
10936
- /* @__PURE__ */ jsxs38("span", { className: "flex flex-col", children: [
10937
- /* @__PURE__ */ jsx53("p", { className: "text-text-950 font-bold text-lg", children: title }),
10938
- /* @__PURE__ */ jsx53("p", { className: "text-text-700 text-sm ", children: subTitle })
11201
+ /* @__PURE__ */ jsxs39("span", { className: "flex flex-col", children: [
11202
+ /* @__PURE__ */ jsx54("p", { className: "text-text-950 font-bold text-lg", children: title }),
11203
+ /* @__PURE__ */ jsx54("p", { className: "text-text-700 text-sm ", children: subTitle })
10939
11204
  ] }),
10940
- /* @__PURE__ */ jsx53("p", { className: "text-text-950 text-md", children: content })
11205
+ /* @__PURE__ */ jsx54("p", { className: "text-text-950 text-md", children: content })
10941
11206
  ]
10942
11207
  }
10943
11208
  );
@@ -10987,7 +11252,7 @@ function createZustandAuthAdapter(useAuthStore2) {
10987
11252
  }
10988
11253
 
10989
11254
  // src/components/Auth/useUrlAuthentication.ts
10990
- import { useEffect as useEffect21, useRef as useRef13 } from "react";
11255
+ import { useEffect as useEffect22, useRef as useRef13 } from "react";
10991
11256
  import { useLocation as useLocation2 } from "react-router-dom";
10992
11257
  var getAuthParams = (location, extractParams) => {
10993
11258
  const searchParams = new URLSearchParams(location.search);
@@ -11036,7 +11301,7 @@ var handleUserData = (responseData, setUser) => {
11036
11301
  function useUrlAuthentication(options) {
11037
11302
  const location = useLocation2();
11038
11303
  const processedRef = useRef13(false);
11039
- useEffect21(() => {
11304
+ useEffect22(() => {
11040
11305
  const handleAuthentication = async () => {
11041
11306
  if (processedRef.current) {
11042
11307
  return;
@@ -11127,8 +11392,8 @@ import {
11127
11392
  } from "phosphor-react";
11128
11393
  import {
11129
11394
  forwardRef as forwardRef22,
11130
- useEffect as useEffect24,
11131
- useState as useState25
11395
+ useEffect as useEffect25,
11396
+ useState as useState26
11132
11397
  } from "react";
11133
11398
 
11134
11399
  // src/components/Quiz/useQuizStore.ts
@@ -11741,18 +12006,18 @@ var useQuizStore = create10()(
11741
12006
  // src/components/Quiz/QuizContent.tsx
11742
12007
  import {
11743
12008
  forwardRef as forwardRef21,
11744
- useCallback as useCallback6,
11745
- useEffect as useEffect23,
12009
+ useCallback as useCallback7,
12010
+ useEffect as useEffect24,
11746
12011
  useId as useId11,
11747
12012
  useMemo as useMemo8,
11748
12013
  useRef as useRef14,
11749
- useState as useState24
12014
+ useState as useState25
11750
12015
  } from "react";
11751
12016
 
11752
12017
  // src/components/MultipleChoice/MultipleChoice.tsx
11753
- import { useEffect as useEffect22, useState as useState23 } from "react";
12018
+ import { useEffect as useEffect23, useState as useState24 } from "react";
11754
12019
  import { CheckCircle as CheckCircle5, XCircle as XCircle4, Check as Check5 } from "phosphor-react";
11755
- import { jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
12020
+ import { jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
11756
12021
  var MultipleChoiceList = ({
11757
12022
  disabled = false,
11758
12023
  className = "",
@@ -11762,16 +12027,16 @@ var MultipleChoiceList = ({
11762
12027
  onHandleSelectedValues,
11763
12028
  mode = "interactive"
11764
12029
  }) => {
11765
- const [actualValue, setActualValue] = useState23(selectedValues);
11766
- useEffect22(() => {
12030
+ const [actualValue, setActualValue] = useState24(selectedValues);
12031
+ useEffect23(() => {
11767
12032
  setActualValue(selectedValues);
11768
12033
  }, [selectedValues]);
11769
12034
  const getStatusBadge2 = (status) => {
11770
12035
  switch (status) {
11771
12036
  case "correct":
11772
- return /* @__PURE__ */ jsx54(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx54(CheckCircle5, {}), children: "Resposta correta" });
12037
+ return /* @__PURE__ */ jsx55(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx55(CheckCircle5, {}), children: "Resposta correta" });
11773
12038
  case "incorrect":
11774
- return /* @__PURE__ */ jsx54(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx54(XCircle4, {}), children: "Resposta incorreta" });
12039
+ return /* @__PURE__ */ jsx55(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx55(XCircle4, {}), children: "Resposta incorreta" });
11775
12040
  default:
11776
12041
  return null;
11777
12042
  }
@@ -11792,14 +12057,14 @@ var MultipleChoiceList = ({
11792
12057
  isSelected ? "border-primary-950 bg-primary-950 text-text" : "border-border-400 bg-background",
11793
12058
  isDisabled && "opacity-40 cursor-not-allowed"
11794
12059
  );
11795
- return /* @__PURE__ */ jsx54("div", { className: checkboxClasses, children: isSelected && /* @__PURE__ */ jsx54(Check5, { size: 16, weight: "bold" }) });
12060
+ return /* @__PURE__ */ jsx55("div", { className: checkboxClasses, children: isSelected && /* @__PURE__ */ jsx55(Check5, { size: 16, weight: "bold" }) });
11796
12061
  };
11797
12062
  if (mode === "readonly") {
11798
- return /* @__PURE__ */ jsx54("div", { className: cn("flex flex-col gap-2", className), children: choices.map((choice, i) => {
12063
+ return /* @__PURE__ */ jsx55("div", { className: cn("flex flex-col gap-2", className), children: choices.map((choice, i) => {
11799
12064
  const isSelected = actualValue?.includes(choice.value) || false;
11800
12065
  const statusStyles = getStatusStyles2(choice.status);
11801
12066
  const statusBadge = getStatusBadge2(choice.status);
11802
- return /* @__PURE__ */ jsxs39(
12067
+ return /* @__PURE__ */ jsxs40(
11803
12068
  "div",
11804
12069
  {
11805
12070
  className: cn(
@@ -11808,9 +12073,9 @@ var MultipleChoiceList = ({
11808
12073
  choice.disabled ? "opacity-50 cursor-not-allowed" : ""
11809
12074
  ),
11810
12075
  children: [
11811
- /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-2 flex-1", children: [
12076
+ /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2 flex-1", children: [
11812
12077
  renderVisualCheckbox(isSelected, choice.disabled || disabled),
11813
- /* @__PURE__ */ jsx54(
12078
+ /* @__PURE__ */ jsx55(
11814
12079
  "span",
11815
12080
  {
11816
12081
  className: cn(
@@ -11822,14 +12087,14 @@ var MultipleChoiceList = ({
11822
12087
  }
11823
12088
  )
11824
12089
  ] }),
11825
- statusBadge && /* @__PURE__ */ jsx54("div", { className: "flex-shrink-0", children: statusBadge })
12090
+ statusBadge && /* @__PURE__ */ jsx55("div", { className: "flex-shrink-0", children: statusBadge })
11826
12091
  ]
11827
12092
  },
11828
12093
  `readonly-${choice.value}-${i}`
11829
12094
  );
11830
12095
  }) });
11831
12096
  }
11832
- return /* @__PURE__ */ jsx54(
12097
+ return /* @__PURE__ */ jsx55(
11833
12098
  "div",
11834
12099
  {
11835
12100
  className: cn(
@@ -11837,7 +12102,7 @@ var MultipleChoiceList = ({
11837
12102
  disabled ? "opacity-50 cursor-not-allowed" : "",
11838
12103
  className
11839
12104
  ),
11840
- children: /* @__PURE__ */ jsx54(
12105
+ children: /* @__PURE__ */ jsx55(
11841
12106
  CheckboxList_default,
11842
12107
  {
11843
12108
  name,
@@ -11847,12 +12112,12 @@ var MultipleChoiceList = ({
11847
12112
  onHandleSelectedValues?.(v);
11848
12113
  },
11849
12114
  disabled,
11850
- children: choices.map((choice, i) => /* @__PURE__ */ jsxs39(
12115
+ children: choices.map((choice, i) => /* @__PURE__ */ jsxs40(
11851
12116
  "div",
11852
12117
  {
11853
12118
  className: "flex flex-row gap-2 items-center",
11854
12119
  children: [
11855
- /* @__PURE__ */ jsx54(
12120
+ /* @__PURE__ */ jsx55(
11856
12121
  CheckboxListItem,
11857
12122
  {
11858
12123
  value: choice.value,
@@ -11860,7 +12125,7 @@ var MultipleChoiceList = ({
11860
12125
  disabled: choice.disabled || disabled
11861
12126
  }
11862
12127
  ),
11863
- /* @__PURE__ */ jsx54(
12128
+ /* @__PURE__ */ jsx55(
11864
12129
  "label",
11865
12130
  {
11866
12131
  htmlFor: `interactive-${choice.value}-${i}`,
@@ -11889,13 +12154,13 @@ import { CheckCircle as CheckCircle6, XCircle as XCircle5 } from "phosphor-react
11889
12154
  var mock_image_question_default = "./mock-image-question-HEZCLFDL.png";
11890
12155
 
11891
12156
  // src/components/Quiz/QuizContent.tsx
11892
- import { Fragment as Fragment11, jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
12157
+ import { Fragment as Fragment11, jsx as jsx56, jsxs as jsxs41 } from "react/jsx-runtime";
11893
12158
  var getStatusBadge = (status) => {
11894
12159
  switch (status) {
11895
12160
  case "correct":
11896
- return /* @__PURE__ */ jsx55(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx55(CheckCircle6, {}), children: "Resposta correta" });
12161
+ return /* @__PURE__ */ jsx56(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx56(CheckCircle6, {}), children: "Resposta correta" });
11897
12162
  case "incorrect":
11898
- return /* @__PURE__ */ jsx55(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx55(XCircle5, {}), children: "Resposta incorreta" });
12163
+ return /* @__PURE__ */ jsx56(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx56(XCircle5, {}), children: "Resposta incorreta" });
11899
12164
  default:
11900
12165
  return null;
11901
12166
  }
@@ -11910,11 +12175,11 @@ var getStatusStyles = (variantCorrect) => {
11910
12175
  };
11911
12176
  var QuizSubTitle = forwardRef21(
11912
12177
  ({ subTitle, ...props }, ref) => {
11913
- return /* @__PURE__ */ jsx55("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ jsx55("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
12178
+ return /* @__PURE__ */ jsx56("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ jsx56("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
11914
12179
  }
11915
12180
  );
11916
12181
  var QuizContainer = forwardRef21(({ children, className, ...props }, ref) => {
11917
- return /* @__PURE__ */ jsx55(
12182
+ return /* @__PURE__ */ jsx56(
11918
12183
  "div",
11919
12184
  {
11920
12185
  ref,
@@ -11967,10 +12232,10 @@ var QuizAlternative = ({ paddingBottom }) => {
11967
12232
  };
11968
12233
  });
11969
12234
  if (!alternatives)
11970
- return /* @__PURE__ */ jsx55("div", { children: /* @__PURE__ */ jsx55("p", { children: "N\xE3o h\xE1 Alternativas" }) });
11971
- return /* @__PURE__ */ jsxs40(Fragment11, { children: [
11972
- /* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Alternativas" }),
11973
- /* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx55("div", { className: "space-y-4", children: /* @__PURE__ */ jsx55(
12235
+ return /* @__PURE__ */ jsx56("div", { children: /* @__PURE__ */ jsx56("p", { children: "N\xE3o h\xE1 Alternativas" }) });
12236
+ return /* @__PURE__ */ jsxs41(Fragment11, { children: [
12237
+ /* @__PURE__ */ jsx56(QuizSubTitle, { subTitle: "Alternativas" }),
12238
+ /* @__PURE__ */ jsx56(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx56("div", { className: "space-y-4", children: /* @__PURE__ */ jsx56(
11974
12239
  AlternativesList,
11975
12240
  {
11976
12241
  mode: variant === "default" ? "interactive" : "readonly",
@@ -12034,7 +12299,7 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
12034
12299
  variant,
12035
12300
  currentQuestionResult?.selectedOptions
12036
12301
  ]);
12037
- const handleSelectedValues = useCallback6(
12302
+ const handleSelectedValues = useCallback7(
12038
12303
  (values) => {
12039
12304
  if (currentQuestion) {
12040
12305
  selectMultipleAnswer(currentQuestion.id, values);
@@ -12073,10 +12338,10 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
12073
12338
  };
12074
12339
  });
12075
12340
  if (!choices)
12076
- return /* @__PURE__ */ jsx55("div", { children: /* @__PURE__ */ jsx55("p", { children: "N\xE3o h\xE1 Escolhas Multiplas" }) });
12077
- return /* @__PURE__ */ jsxs40(Fragment11, { children: [
12078
- /* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Alternativas" }),
12079
- /* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx55("div", { className: "space-y-4", children: /* @__PURE__ */ jsx55(
12341
+ return /* @__PURE__ */ jsx56("div", { children: /* @__PURE__ */ jsx56("p", { children: "N\xE3o h\xE1 Escolhas Multiplas" }) });
12342
+ return /* @__PURE__ */ jsxs41(Fragment11, { children: [
12343
+ /* @__PURE__ */ jsx56(QuizSubTitle, { subTitle: "Alternativas" }),
12344
+ /* @__PURE__ */ jsx56(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx56("div", { className: "space-y-4", children: /* @__PURE__ */ jsx56(
12080
12345
  MultipleChoiceList,
12081
12346
  {
12082
12347
  choices,
@@ -12110,7 +12375,7 @@ var QuizDissertative = ({ paddingBottom }) => {
12110
12375
  selectDissertativeAnswer(currentQuestion.id, value);
12111
12376
  }
12112
12377
  };
12113
- const adjustTextareaHeight = useCallback6(() => {
12378
+ const adjustTextareaHeight = useCallback7(() => {
12114
12379
  if (textareaRef.current) {
12115
12380
  textareaRef.current.style.height = "auto";
12116
12381
  const scrollHeight = textareaRef.current.scrollHeight;
@@ -12120,16 +12385,16 @@ var QuizDissertative = ({ paddingBottom }) => {
12120
12385
  textareaRef.current.style.height = `${newHeight}px`;
12121
12386
  }
12122
12387
  }, []);
12123
- useEffect23(() => {
12388
+ useEffect24(() => {
12124
12389
  adjustTextareaHeight();
12125
12390
  }, [currentAnswer, adjustTextareaHeight]);
12126
12391
  if (!currentQuestion) {
12127
- return /* @__PURE__ */ jsx55("div", { className: "space-y-4", children: /* @__PURE__ */ jsx55("p", { className: "text-text-600 text-md", children: "Nenhuma quest\xE3o dispon\xEDvel" }) });
12392
+ return /* @__PURE__ */ jsx56("div", { className: "space-y-4", children: /* @__PURE__ */ jsx56("p", { className: "text-text-600 text-md", children: "Nenhuma quest\xE3o dispon\xEDvel" }) });
12128
12393
  }
12129
12394
  const localAnswer = (variant == "result" ? currentQuestionResult?.answer : currentAnswer?.answer) || "";
12130
- return /* @__PURE__ */ jsxs40(Fragment11, { children: [
12131
- /* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Resposta" }),
12132
- /* @__PURE__ */ jsx55(QuizContainer, { className: cn(variant != "result" && paddingBottom), children: /* @__PURE__ */ jsx55("div", { className: "space-y-4 max-h-[600px] overflow-y-auto", children: variant === "default" ? /* @__PURE__ */ jsx55("div", { className: "space-y-4", children: /* @__PURE__ */ jsx55(
12395
+ return /* @__PURE__ */ jsxs41(Fragment11, { children: [
12396
+ /* @__PURE__ */ jsx56(QuizSubTitle, { subTitle: "Resposta" }),
12397
+ /* @__PURE__ */ jsx56(QuizContainer, { className: cn(variant != "result" && paddingBottom), children: /* @__PURE__ */ jsx56("div", { className: "space-y-4 max-h-[600px] overflow-y-auto", children: variant === "default" ? /* @__PURE__ */ jsx56("div", { className: "space-y-4", children: /* @__PURE__ */ jsx56(
12133
12398
  TextArea_default,
12134
12399
  {
12135
12400
  ref: textareaRef,
@@ -12141,10 +12406,10 @@ var QuizDissertative = ({ paddingBottom }) => {
12141
12406
  maxLength: charLimit,
12142
12407
  showCharacterCount: !!charLimit
12143
12408
  }
12144
- ) }) : /* @__PURE__ */ jsx55("div", { className: "space-y-4", children: /* @__PURE__ */ jsx55("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: localAnswer || "Nenhuma resposta fornecida" }) }) }) }),
12145
- variant === "result" && currentQuestionResult?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ jsxs40(Fragment11, { children: [
12146
- /* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Observa\xE7\xE3o do professor" }),
12147
- /* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx55("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: currentQuestionResult?.teacherFeedback }) })
12409
+ ) }) : /* @__PURE__ */ jsx56("div", { className: "space-y-4", children: /* @__PURE__ */ jsx56("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: localAnswer || "Nenhuma resposta fornecida" }) }) }) }),
12410
+ variant === "result" && currentQuestionResult?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ jsxs41(Fragment11, { children: [
12411
+ /* @__PURE__ */ jsx56(QuizSubTitle, { subTitle: "Observa\xE7\xE3o do professor" }),
12412
+ /* @__PURE__ */ jsx56(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx56("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: currentQuestionResult?.teacherFeedback }) })
12148
12413
  ] })
12149
12414
  ] });
12150
12415
  };
@@ -12170,16 +12435,16 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
12170
12435
  ];
12171
12436
  const getLetterByIndex = (index) => String.fromCodePoint(97 + index);
12172
12437
  const isDefaultVariant = variant === "default";
12173
- return /* @__PURE__ */ jsxs40(Fragment11, { children: [
12174
- /* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Alternativas" }),
12175
- /* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx55("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
12438
+ return /* @__PURE__ */ jsxs41(Fragment11, { children: [
12439
+ /* @__PURE__ */ jsx56(QuizSubTitle, { subTitle: "Alternativas" }),
12440
+ /* @__PURE__ */ jsx56(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx56("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
12176
12441
  const variantCorrect = option.isCorrect ? "correct" : "incorrect";
12177
- return /* @__PURE__ */ jsxs40(
12442
+ return /* @__PURE__ */ jsxs41(
12178
12443
  "section",
12179
12444
  {
12180
12445
  className: "flex flex-col gap-2",
12181
12446
  children: [
12182
- /* @__PURE__ */ jsxs40(
12447
+ /* @__PURE__ */ jsxs41(
12183
12448
  "div",
12184
12449
  {
12185
12450
  className: cn(
@@ -12187,20 +12452,20 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
12187
12452
  isDefaultVariant ? "" : getStatusStyles(variantCorrect)
12188
12453
  ),
12189
12454
  children: [
12190
- /* @__PURE__ */ jsx55("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index).concat(") ").concat(option.label) }),
12191
- isDefaultVariant ? /* @__PURE__ */ jsxs40(Select_default, { size: "medium", children: [
12192
- /* @__PURE__ */ jsx55(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx55(SelectValue, { placeholder: "Selecione opc\xE3o" }) }),
12193
- /* @__PURE__ */ jsxs40(SelectContent, { children: [
12194
- /* @__PURE__ */ jsx55(SelectItem, { value: "V", children: "Verdadeiro" }),
12195
- /* @__PURE__ */ jsx55(SelectItem, { value: "F", children: "Falso" })
12455
+ /* @__PURE__ */ jsx56("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index).concat(") ").concat(option.label) }),
12456
+ isDefaultVariant ? /* @__PURE__ */ jsxs41(Select_default, { size: "medium", children: [
12457
+ /* @__PURE__ */ jsx56(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx56(SelectValue, { placeholder: "Selecione opc\xE3o" }) }),
12458
+ /* @__PURE__ */ jsxs41(SelectContent, { children: [
12459
+ /* @__PURE__ */ jsx56(SelectItem, { value: "V", children: "Verdadeiro" }),
12460
+ /* @__PURE__ */ jsx56(SelectItem, { value: "F", children: "Falso" })
12196
12461
  ] })
12197
- ] }) : /* @__PURE__ */ jsx55("div", { className: "flex-shrink-0", children: getStatusBadge(variantCorrect) })
12462
+ ] }) : /* @__PURE__ */ jsx56("div", { className: "flex-shrink-0", children: getStatusBadge(variantCorrect) })
12198
12463
  ]
12199
12464
  }
12200
12465
  ),
12201
- !isDefaultVariant && /* @__PURE__ */ jsxs40("span", { className: "flex flex-row gap-2 items-center", children: [
12202
- /* @__PURE__ */ jsx55("p", { className: "text-text-800 text-2xs", children: "Resposta selecionada: V" }),
12203
- !option.isCorrect && /* @__PURE__ */ jsx55("p", { className: "text-text-800 text-2xs", children: "Resposta correta: F" })
12466
+ !isDefaultVariant && /* @__PURE__ */ jsxs41("span", { className: "flex flex-row gap-2 items-center", children: [
12467
+ /* @__PURE__ */ jsx56("p", { className: "text-text-800 text-2xs", children: "Resposta selecionada: V" }),
12468
+ !option.isCorrect && /* @__PURE__ */ jsx56("p", { className: "text-text-800 text-2xs", children: "Resposta correta: F" })
12204
12469
  ] })
12205
12470
  ]
12206
12471
  },
@@ -12261,7 +12526,7 @@ var QuizConnectDots = ({ paddingBottom }) => {
12261
12526
  isCorrect: false
12262
12527
  }
12263
12528
  ];
12264
- const [userAnswers, setUserAnswers] = useState24(() => {
12529
+ const [userAnswers, setUserAnswers] = useState25(() => {
12265
12530
  if (variant === "result") {
12266
12531
  return mockUserAnswers;
12267
12532
  }
@@ -12290,13 +12555,13 @@ var QuizConnectDots = ({ paddingBottom }) => {
12290
12555
  const assignedDots = new Set(
12291
12556
  userAnswers.map((a) => a.dotOption).filter(Boolean)
12292
12557
  );
12293
- return /* @__PURE__ */ jsxs40(Fragment11, { children: [
12294
- /* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Alternativas" }),
12295
- /* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx55("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
12558
+ return /* @__PURE__ */ jsxs41(Fragment11, { children: [
12559
+ /* @__PURE__ */ jsx56(QuizSubTitle, { subTitle: "Alternativas" }),
12560
+ /* @__PURE__ */ jsx56(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx56("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
12296
12561
  const answer = userAnswers[index];
12297
12562
  const variantCorrect = answer.isCorrect ? "correct" : "incorrect";
12298
- return /* @__PURE__ */ jsxs40("section", { className: "flex flex-col gap-2", children: [
12299
- /* @__PURE__ */ jsxs40(
12563
+ return /* @__PURE__ */ jsxs41("section", { className: "flex flex-col gap-2", children: [
12564
+ /* @__PURE__ */ jsxs41(
12300
12565
  "div",
12301
12566
  {
12302
12567
  className: cn(
@@ -12304,30 +12569,30 @@ var QuizConnectDots = ({ paddingBottom }) => {
12304
12569
  isDefaultVariant ? "" : getStatusStyles(variantCorrect)
12305
12570
  ),
12306
12571
  children: [
12307
- /* @__PURE__ */ jsx55("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index) + ") " + option.label }),
12308
- isDefaultVariant ? /* @__PURE__ */ jsxs40(
12572
+ /* @__PURE__ */ jsx56("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index) + ") " + option.label }),
12573
+ isDefaultVariant ? /* @__PURE__ */ jsxs41(
12309
12574
  Select_default,
12310
12575
  {
12311
12576
  size: "medium",
12312
12577
  value: answer.dotOption || void 0,
12313
12578
  onValueChange: (value) => handleSelectDot(index, value),
12314
12579
  children: [
12315
- /* @__PURE__ */ jsx55(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx55(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
12316
- /* @__PURE__ */ jsx55(SelectContent, { children: dotsOptions.filter(
12580
+ /* @__PURE__ */ jsx56(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx56(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
12581
+ /* @__PURE__ */ jsx56(SelectContent, { children: dotsOptions.filter(
12317
12582
  (dot) => !assignedDots.has(dot.label) || answer.dotOption === dot.label
12318
- ).map((dot) => /* @__PURE__ */ jsx55(SelectItem, { value: dot.label, children: dot.label }, dot.label)) })
12583
+ ).map((dot) => /* @__PURE__ */ jsx56(SelectItem, { value: dot.label, children: dot.label }, dot.label)) })
12319
12584
  ]
12320
12585
  }
12321
- ) : /* @__PURE__ */ jsx55("div", { className: "flex-shrink-0", children: answer.isCorrect === null ? null : getStatusBadge(variantCorrect) })
12586
+ ) : /* @__PURE__ */ jsx56("div", { className: "flex-shrink-0", children: answer.isCorrect === null ? null : getStatusBadge(variantCorrect) })
12322
12587
  ]
12323
12588
  }
12324
12589
  ),
12325
- !isDefaultVariant && /* @__PURE__ */ jsxs40("span", { className: "flex flex-row gap-2 items-center", children: [
12326
- /* @__PURE__ */ jsxs40("p", { className: "text-text-800 text-2xs", children: [
12590
+ !isDefaultVariant && /* @__PURE__ */ jsxs41("span", { className: "flex flex-row gap-2 items-center", children: [
12591
+ /* @__PURE__ */ jsxs41("p", { className: "text-text-800 text-2xs", children: [
12327
12592
  "Resposta selecionada: ",
12328
12593
  answer.dotOption || "Nenhuma"
12329
12594
  ] }),
12330
- !answer.isCorrect && /* @__PURE__ */ jsxs40("p", { className: "text-text-800 text-2xs", children: [
12595
+ !answer.isCorrect && /* @__PURE__ */ jsxs41("p", { className: "text-text-800 text-2xs", children: [
12331
12596
  "Resposta correta: ",
12332
12597
  answer.correctOption
12333
12598
  ] })
@@ -12380,7 +12645,7 @@ var QuizFill = ({ paddingBottom }) => {
12380
12645
  isCorrect: true
12381
12646
  }
12382
12647
  ];
12383
- const [answers, setAnswers] = useState24({});
12648
+ const [answers, setAnswers] = useState25({});
12384
12649
  const baseId = useId11();
12385
12650
  const getAvailableOptionsForSelect = (selectId) => {
12386
12651
  const usedOptions = new Set(
@@ -12396,18 +12661,18 @@ var QuizFill = ({ paddingBottom }) => {
12396
12661
  const mockAnswer = mockUserAnswers.find(
12397
12662
  (answer) => answer.selectId === selectId
12398
12663
  );
12399
- return /* @__PURE__ */ jsx55("p", { className: "inline-flex mb-2.5 text-success-600 font-semibold text-md border-b-2 border-success-600", children: mockAnswer?.correctAnswer });
12664
+ return /* @__PURE__ */ jsx56("p", { className: "inline-flex mb-2.5 text-success-600 font-semibold text-md border-b-2 border-success-600", children: mockAnswer?.correctAnswer });
12400
12665
  };
12401
12666
  const renderDefaultElement = (selectId, startIndex, selectedValue, availableOptionsForThisSelect) => {
12402
- return /* @__PURE__ */ jsxs40(
12667
+ return /* @__PURE__ */ jsxs41(
12403
12668
  Select_default,
12404
12669
  {
12405
12670
  value: selectedValue,
12406
12671
  onValueChange: (value) => handleSelectChange(selectId, value),
12407
12672
  className: "inline-flex mb-2.5",
12408
12673
  children: [
12409
- /* @__PURE__ */ jsx55(SelectTrigger, { className: "inline-flex w-auto min-w-[140px] h-8 mx-1 bg-background border-gray-300", children: /* @__PURE__ */ jsx55(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
12410
- /* @__PURE__ */ jsx55(SelectContent, { children: availableOptionsForThisSelect.map((option, index) => /* @__PURE__ */ jsx55(SelectItem, { value: option, children: option }, `${option}-${index}`)) })
12674
+ /* @__PURE__ */ jsx56(SelectTrigger, { className: "inline-flex w-auto min-w-[140px] h-8 mx-1 bg-background border-gray-300", children: /* @__PURE__ */ jsx56(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
12675
+ /* @__PURE__ */ jsx56(SelectContent, { children: availableOptionsForThisSelect.map((option, index) => /* @__PURE__ */ jsx56(SelectItem, { value: option, children: option }, `${option}-${index}`)) })
12411
12676
  ]
12412
12677
  },
12413
12678
  `${selectId}-${startIndex}`
@@ -12419,8 +12684,8 @@ var QuizFill = ({ paddingBottom }) => {
12419
12684
  );
12420
12685
  if (!mockAnswer) return null;
12421
12686
  const action = mockAnswer.isCorrect ? "success" : "error";
12422
- const icon = mockAnswer.isCorrect ? /* @__PURE__ */ jsx55(CheckCircle6, {}) : /* @__PURE__ */ jsx55(XCircle5, {});
12423
- return /* @__PURE__ */ jsx55(
12687
+ const icon = mockAnswer.isCorrect ? /* @__PURE__ */ jsx56(CheckCircle6, {}) : /* @__PURE__ */ jsx56(XCircle5, {});
12688
+ return /* @__PURE__ */ jsx56(
12424
12689
  Badge_default,
12425
12690
  {
12426
12691
  variant: "solid",
@@ -12428,7 +12693,7 @@ var QuizFill = ({ paddingBottom }) => {
12428
12693
  iconRight: icon,
12429
12694
  size: "large",
12430
12695
  className: "py-3 w-[180px] justify-between mb-2.5",
12431
- children: /* @__PURE__ */ jsx55("span", { className: "text-text-900", children: mockAnswer.userAnswer })
12696
+ children: /* @__PURE__ */ jsx56("span", { className: "text-text-900", children: mockAnswer.userAnswer })
12432
12697
  },
12433
12698
  selectId
12434
12699
  );
@@ -12484,25 +12749,25 @@ var QuizFill = ({ paddingBottom }) => {
12484
12749
  }
12485
12750
  return elements;
12486
12751
  };
12487
- return /* @__PURE__ */ jsxs40(Fragment11, { children: [
12488
- /* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Alternativas" }),
12489
- /* @__PURE__ */ jsx55(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx55("div", { className: "space-y-6 px-4 h-auto", children: /* @__PURE__ */ jsx55(
12752
+ return /* @__PURE__ */ jsxs41(Fragment11, { children: [
12753
+ /* @__PURE__ */ jsx56(QuizSubTitle, { subTitle: "Alternativas" }),
12754
+ /* @__PURE__ */ jsx56(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx56("div", { className: "space-y-6 px-4 h-auto", children: /* @__PURE__ */ jsx56(
12490
12755
  "div",
12491
12756
  {
12492
12757
  className: cn(
12493
12758
  "text-lg text-text-900 leading-8 h-auto",
12494
12759
  variant != "result" && paddingBottom
12495
12760
  ),
12496
- children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ jsx55("span", { children: element.element }, element.id))
12761
+ children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ jsx56("span", { children: element.element }, element.id))
12497
12762
  }
12498
12763
  ) }) }),
12499
- variant === "result" && /* @__PURE__ */ jsxs40(Fragment11, { children: [
12500
- /* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Resultado" }),
12501
- /* @__PURE__ */ jsx55(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx55("div", { className: "space-y-6 px-4", children: /* @__PURE__ */ jsx55(
12764
+ variant === "result" && /* @__PURE__ */ jsxs41(Fragment11, { children: [
12765
+ /* @__PURE__ */ jsx56(QuizSubTitle, { subTitle: "Resultado" }),
12766
+ /* @__PURE__ */ jsx56(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx56("div", { className: "space-y-6 px-4", children: /* @__PURE__ */ jsx56(
12502
12767
  "div",
12503
12768
  {
12504
12769
  className: cn("text-lg text-text-900 leading-8", paddingBottom),
12505
- children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */ jsx55("span", { children: element.element }, element.id))
12770
+ children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */ jsx56("span", { children: element.element }, element.id))
12506
12771
  }
12507
12772
  ) }) })
12508
12773
  ] })
@@ -12520,7 +12785,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
12520
12785
  };
12521
12786
  const correctRadiusRelative = calculateCorrectRadiusRelative();
12522
12787
  const mockUserAnswerRelative = { x: 0.72, y: 0.348 };
12523
- const [clickPositionRelative, setClickPositionRelative] = useState24(variant == "result" ? mockUserAnswerRelative : null);
12788
+ const [clickPositionRelative, setClickPositionRelative] = useState25(variant == "result" ? mockUserAnswerRelative : null);
12524
12789
  const convertToRelativeCoordinates = (x, y, rect) => {
12525
12790
  const safeWidth = Math.max(rect.width, 1e-3);
12526
12791
  const safeHeight = Math.max(rect.height, 1e-3);
@@ -12556,36 +12821,36 @@ var QuizImageQuestion = ({ paddingBottom }) => {
12556
12821
  }
12557
12822
  return "bg-success-600/70 border-white";
12558
12823
  };
12559
- return /* @__PURE__ */ jsxs40(Fragment11, { children: [
12560
- /* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Clique na \xE1rea correta" }),
12561
- /* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsxs40(
12824
+ return /* @__PURE__ */ jsxs41(Fragment11, { children: [
12825
+ /* @__PURE__ */ jsx56(QuizSubTitle, { subTitle: "Clique na \xE1rea correta" }),
12826
+ /* @__PURE__ */ jsx56(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsxs41(
12562
12827
  "div",
12563
12828
  {
12564
12829
  "data-testid": "quiz-image-container",
12565
12830
  className: "space-y-6 p-3 relative inline-block",
12566
12831
  children: [
12567
- variant == "result" && /* @__PURE__ */ jsxs40(
12832
+ variant == "result" && /* @__PURE__ */ jsxs41(
12568
12833
  "div",
12569
12834
  {
12570
12835
  "data-testid": "quiz-legend",
12571
12836
  className: "flex items-center gap-4 text-xs",
12572
12837
  children: [
12573
- /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2", children: [
12574
- /* @__PURE__ */ jsx55("div", { className: "w-3 h-3 rounded-full bg-indicator-primary/70 border border-[#F8CC2E]" }),
12575
- /* @__PURE__ */ jsx55("span", { className: "text-text-600 font-medium text-sm", children: "\xC1rea correta" })
12838
+ /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-2", children: [
12839
+ /* @__PURE__ */ jsx56("div", { className: "w-3 h-3 rounded-full bg-indicator-primary/70 border border-[#F8CC2E]" }),
12840
+ /* @__PURE__ */ jsx56("span", { className: "text-text-600 font-medium text-sm", children: "\xC1rea correta" })
12576
12841
  ] }),
12577
- /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2", children: [
12578
- /* @__PURE__ */ jsx55("div", { className: "w-3 h-3 rounded-full bg-success-600/70 border border-white" }),
12579
- /* @__PURE__ */ jsx55("span", { className: "text-text-600 font-medium text-sm", children: "Resposta correta" })
12842
+ /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-2", children: [
12843
+ /* @__PURE__ */ jsx56("div", { className: "w-3 h-3 rounded-full bg-success-600/70 border border-white" }),
12844
+ /* @__PURE__ */ jsx56("span", { className: "text-text-600 font-medium text-sm", children: "Resposta correta" })
12580
12845
  ] }),
12581
- /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2", children: [
12582
- /* @__PURE__ */ jsx55("div", { className: "w-3 h-3 rounded-full bg-indicator-error/70 border border-white" }),
12583
- /* @__PURE__ */ jsx55("span", { className: "text-text-600 font-medium text-sm", children: "Resposta incorreta" })
12846
+ /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-2", children: [
12847
+ /* @__PURE__ */ jsx56("div", { className: "w-3 h-3 rounded-full bg-indicator-error/70 border border-white" }),
12848
+ /* @__PURE__ */ jsx56("span", { className: "text-text-600 font-medium text-sm", children: "Resposta incorreta" })
12584
12849
  ] })
12585
12850
  ]
12586
12851
  }
12587
12852
  ),
12588
- /* @__PURE__ */ jsxs40(
12853
+ /* @__PURE__ */ jsxs41(
12589
12854
  "button",
12590
12855
  {
12591
12856
  "data-testid": "quiz-image-button",
@@ -12600,7 +12865,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
12600
12865
  },
12601
12866
  "aria-label": "\xC1rea da imagem interativa",
12602
12867
  children: [
12603
- /* @__PURE__ */ jsx55(
12868
+ /* @__PURE__ */ jsx56(
12604
12869
  "img",
12605
12870
  {
12606
12871
  "data-testid": "quiz-image",
@@ -12609,7 +12874,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
12609
12874
  className: "w-full h-auto rounded-md"
12610
12875
  }
12611
12876
  ),
12612
- variant === "result" && /* @__PURE__ */ jsx55(
12877
+ variant === "result" && /* @__PURE__ */ jsx56(
12613
12878
  "div",
12614
12879
  {
12615
12880
  "data-testid": "quiz-correct-circle",
@@ -12624,7 +12889,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
12624
12889
  }
12625
12890
  }
12626
12891
  ),
12627
- clickPositionRelative && /* @__PURE__ */ jsx55(
12892
+ clickPositionRelative && /* @__PURE__ */ jsx56(
12628
12893
  "div",
12629
12894
  {
12630
12895
  "data-testid": "quiz-user-circle",
@@ -12649,7 +12914,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
12649
12914
  };
12650
12915
 
12651
12916
  // src/components/Quiz/Quiz.tsx
12652
- import { Fragment as Fragment12, jsx as jsx56, jsxs as jsxs41 } from "react/jsx-runtime";
12917
+ import { Fragment as Fragment12, jsx as jsx57, jsxs as jsxs42 } from "react/jsx-runtime";
12653
12918
  var getQuizTypeConfig = (type) => {
12654
12919
  const QUIZ_TYPE_CONFIG = {
12655
12920
  ["SIMULADO" /* SIMULADO */]: {
@@ -12688,10 +12953,10 @@ var getFinishConfirmationText = (type) => {
12688
12953
  };
12689
12954
  var Quiz = forwardRef22(({ children, className, variant = "default", ...props }, ref) => {
12690
12955
  const { setVariant } = useQuizStore();
12691
- useEffect24(() => {
12956
+ useEffect25(() => {
12692
12957
  setVariant(variant);
12693
12958
  }, [variant, setVariant]);
12694
- return /* @__PURE__ */ jsx56("div", { ref, className: cn("flex flex-col", className), ...props, children });
12959
+ return /* @__PURE__ */ jsx57("div", { ref, className: cn("flex flex-col", className), ...props, children });
12695
12960
  });
12696
12961
  var QuizTitle = forwardRef22(({ className, onBack, ...props }, ref) => {
12697
12962
  const {
@@ -12703,7 +12968,7 @@ var QuizTitle = forwardRef22(({ className, onBack, ...props }, ref) => {
12703
12968
  formatTime: formatTime2,
12704
12969
  isStarted
12705
12970
  } = useQuizStore();
12706
- const [showExitConfirmation, setShowExitConfirmation] = useState25(false);
12971
+ const [showExitConfirmation, setShowExitConfirmation] = useState26(false);
12707
12972
  const totalQuestions = getTotalQuestions();
12708
12973
  const quizTitle = getQuizTitle();
12709
12974
  const handleBackClick = () => {
@@ -12727,8 +12992,8 @@ var QuizTitle = forwardRef22(({ className, onBack, ...props }, ref) => {
12727
12992
  const handleCancelExit = () => {
12728
12993
  setShowExitConfirmation(false);
12729
12994
  };
12730
- return /* @__PURE__ */ jsxs41(Fragment12, { children: [
12731
- /* @__PURE__ */ jsxs41(
12995
+ return /* @__PURE__ */ jsxs42(Fragment12, { children: [
12996
+ /* @__PURE__ */ jsxs42(
12732
12997
  "div",
12733
12998
  {
12734
12999
  ref,
@@ -12738,24 +13003,24 @@ var QuizTitle = forwardRef22(({ className, onBack, ...props }, ref) => {
12738
13003
  ),
12739
13004
  ...props,
12740
13005
  children: [
12741
- /* @__PURE__ */ jsx56(
13006
+ /* @__PURE__ */ jsx57(
12742
13007
  IconButton_default,
12743
13008
  {
12744
- icon: /* @__PURE__ */ jsx56(CaretLeft2, { size: 24 }),
13009
+ icon: /* @__PURE__ */ jsx57(CaretLeft2, { size: 24 }),
12745
13010
  size: "md",
12746
13011
  "aria-label": "Voltar",
12747
13012
  onClick: handleBackClick
12748
13013
  }
12749
13014
  ),
12750
- /* @__PURE__ */ jsxs41("span", { className: "flex flex-col gap-2 text-center", children: [
12751
- /* @__PURE__ */ jsx56("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
12752
- /* @__PURE__ */ jsx56("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
13015
+ /* @__PURE__ */ jsxs42("span", { className: "flex flex-col gap-2 text-center", children: [
13016
+ /* @__PURE__ */ jsx57("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
13017
+ /* @__PURE__ */ jsx57("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
12753
13018
  ] }),
12754
- /* @__PURE__ */ jsx56("span", { className: "flex flex-row items-center justify-center", children: /* @__PURE__ */ jsx56(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ jsx56(Clock2, {}), children: isStarted ? formatTime2(timeElapsed) : "00:00" }) })
13019
+ /* @__PURE__ */ jsx57("span", { className: "flex flex-row items-center justify-center", children: /* @__PURE__ */ jsx57(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ jsx57(Clock2, {}), children: isStarted ? formatTime2(timeElapsed) : "00:00" }) })
12755
13020
  ]
12756
13021
  }
12757
13022
  ),
12758
- /* @__PURE__ */ jsx56(
13023
+ /* @__PURE__ */ jsx57(
12759
13024
  AlertDialog,
12760
13025
  {
12761
13026
  isOpen: showExitConfirmation,
@@ -12775,7 +13040,7 @@ var QuizHeader = () => {
12775
13040
  const currentQuestion = getCurrentQuestion();
12776
13041
  let currentId = currentQuestion && "questionId" in currentQuestion ? currentQuestion.questionId : currentQuestion?.id;
12777
13042
  const questionIndex = getQuestionIndex(currentId);
12778
- return /* @__PURE__ */ jsx56(
13043
+ return /* @__PURE__ */ jsx57(
12779
13044
  HeaderAlternative,
12780
13045
  {
12781
13046
  title: currentQuestion ? `Quest\xE3o ${questionIndex.toString().padStart(2, "0")}` : "Quest\xE3o",
@@ -12797,7 +13062,7 @@ var QuizContent = ({ paddingBottom }) => {
12797
13062
  ["IMAGEM" /* IMAGEM */]: QuizImageQuestion
12798
13063
  };
12799
13064
  const QuestionComponent = currentQuestion ? questionComponents[currentQuestion.questionType] : null;
12800
- return QuestionComponent ? /* @__PURE__ */ jsx56(QuestionComponent, { paddingBottom }) : null;
13065
+ return QuestionComponent ? /* @__PURE__ */ jsx57(QuestionComponent, { paddingBottom }) : null;
12801
13066
  };
12802
13067
  var QuizQuestionList = ({
12803
13068
  filterType = "all",
@@ -12844,18 +13109,18 @@ var QuizQuestionList = ({
12844
13109
  return "Em branco";
12845
13110
  }
12846
13111
  };
12847
- return /* @__PURE__ */ jsxs41("div", { className: "space-y-6 px-4 h-full", children: [
12848
- Object.entries(filteredGroupedQuestions).length == 0 && /* @__PURE__ */ jsx56("div", { className: "flex items-center justify-center text-gray-500 py-8 h-full", children: /* @__PURE__ */ jsx56("p", { className: "text-lg", children: "Nenhum resultado" }) }),
13112
+ return /* @__PURE__ */ jsxs42("div", { className: "space-y-6 px-4 h-full", children: [
13113
+ Object.entries(filteredGroupedQuestions).length == 0 && /* @__PURE__ */ jsx57("div", { className: "flex items-center justify-center text-gray-500 py-8 h-full", children: /* @__PURE__ */ jsx57("p", { className: "text-lg", children: "Nenhum resultado" }) }),
12849
13114
  Object.entries(filteredGroupedQuestions).map(
12850
- ([subjectId, questions]) => /* @__PURE__ */ jsxs41("section", { className: "flex flex-col gap-2", children: [
12851
- /* @__PURE__ */ jsxs41("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
12852
- /* @__PURE__ */ jsx56("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ jsx56(BookOpen, { size: 17, className: "text-white" }) }),
12853
- /* @__PURE__ */ jsx56("p", { className: "text-text-800 font-bold text-lg", children: questions?.[0]?.knowledgeMatrix?.[0]?.subject?.name ?? "Sem mat\xE9ria" })
13115
+ ([subjectId, questions]) => /* @__PURE__ */ jsxs42("section", { className: "flex flex-col gap-2", children: [
13116
+ /* @__PURE__ */ jsxs42("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
13117
+ /* @__PURE__ */ jsx57("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ jsx57(BookOpen, { size: 17, className: "text-white" }) }),
13118
+ /* @__PURE__ */ jsx57("p", { className: "text-text-800 font-bold text-lg", children: questions?.[0]?.knowledgeMatrix?.[0]?.subject?.name ?? "Sem mat\xE9ria" })
12854
13119
  ] }),
12855
- /* @__PURE__ */ jsx56("ul", { className: "flex flex-col gap-2", children: questions.map((question) => {
13120
+ /* @__PURE__ */ jsx57("ul", { className: "flex flex-col gap-2", children: questions.map((question) => {
12856
13121
  const status = getQuestionStatus(question.id);
12857
13122
  const questionNumber = getQuestionIndex(question.id);
12858
- return /* @__PURE__ */ jsx56(
13123
+ return /* @__PURE__ */ jsx57(
12859
13124
  CardStatus,
12860
13125
  {
12861
13126
  header: `Quest\xE3o ${questionNumber.toString().padStart(2, "0")}`,
@@ -12906,8 +13171,8 @@ var QuizFooter = forwardRef22(
12906
13171
  const currentAnswer = getCurrentAnswer();
12907
13172
  const currentQuestion = getCurrentQuestion();
12908
13173
  const isCurrentQuestionSkipped = currentQuestion ? getQuestionStatusFromUserAnswers(currentQuestion.id) === "skipped" : false;
12909
- const [activeModal, setActiveModal] = useState25(null);
12910
- const [filterType, setFilterType] = useState25("all");
13174
+ const [activeModal, setActiveModal] = useState26(null);
13175
+ const [filterType, setFilterType] = useState26("all");
12911
13176
  const openModal = (modalName) => setActiveModal(modalName);
12912
13177
  const closeModal = () => setActiveModal(null);
12913
13178
  const isModalOpen = (modalName) => activeModal === modalName;
@@ -12962,8 +13227,8 @@ var QuizFooter = forwardRef22(
12962
13227
  return;
12963
13228
  }
12964
13229
  };
12965
- return /* @__PURE__ */ jsxs41(Fragment12, { children: [
12966
- /* @__PURE__ */ jsx56(
13230
+ return /* @__PURE__ */ jsxs42(Fragment12, { children: [
13231
+ /* @__PURE__ */ jsx57(
12967
13232
  "footer",
12968
13233
  {
12969
13234
  ref,
@@ -12972,17 +13237,17 @@ var QuizFooter = forwardRef22(
12972
13237
  className
12973
13238
  ),
12974
13239
  ...props,
12975
- children: variant === "default" ? /* @__PURE__ */ jsxs41(Fragment12, { children: [
12976
- /* @__PURE__ */ jsxs41("div", { className: "flex flex-row items-center gap-1", children: [
12977
- /* @__PURE__ */ jsx56(
13240
+ children: variant === "default" ? /* @__PURE__ */ jsxs42(Fragment12, { children: [
13241
+ /* @__PURE__ */ jsxs42("div", { className: "flex flex-row items-center gap-1", children: [
13242
+ /* @__PURE__ */ jsx57(
12978
13243
  IconButton_default,
12979
13244
  {
12980
- icon: /* @__PURE__ */ jsx56(SquaresFour, { size: 24, className: "text-text-950" }),
13245
+ icon: /* @__PURE__ */ jsx57(SquaresFour, { size: 24, className: "text-text-950" }),
12981
13246
  size: "md",
12982
13247
  onClick: () => openModal("modalNavigate")
12983
13248
  }
12984
13249
  ),
12985
- isFirstQuestion ? /* @__PURE__ */ jsx56(
13250
+ isFirstQuestion ? /* @__PURE__ */ jsx57(
12986
13251
  Button_default,
12987
13252
  {
12988
13253
  variant: "outline",
@@ -12993,13 +13258,13 @@ var QuizFooter = forwardRef22(
12993
13258
  },
12994
13259
  children: "Pular"
12995
13260
  }
12996
- ) : /* @__PURE__ */ jsx56(
13261
+ ) : /* @__PURE__ */ jsx57(
12997
13262
  Button_default,
12998
13263
  {
12999
13264
  size: "medium",
13000
13265
  variant: "link",
13001
13266
  action: "primary",
13002
- iconLeft: /* @__PURE__ */ jsx56(CaretLeft2, { size: 18 }),
13267
+ iconLeft: /* @__PURE__ */ jsx57(CaretLeft2, { size: 18 }),
13003
13268
  onClick: () => {
13004
13269
  goToPreviousQuestion();
13005
13270
  },
@@ -13007,7 +13272,7 @@ var QuizFooter = forwardRef22(
13007
13272
  }
13008
13273
  )
13009
13274
  ] }),
13010
- !isFirstQuestion && !isLastQuestion && /* @__PURE__ */ jsx56(
13275
+ !isFirstQuestion && !isLastQuestion && /* @__PURE__ */ jsx57(
13011
13276
  Button_default,
13012
13277
  {
13013
13278
  size: "small",
@@ -13020,7 +13285,7 @@ var QuizFooter = forwardRef22(
13020
13285
  children: "Pular"
13021
13286
  }
13022
13287
  ),
13023
- isLastQuestion ? /* @__PURE__ */ jsx56(
13288
+ isLastQuestion ? /* @__PURE__ */ jsx57(
13024
13289
  Button_default,
13025
13290
  {
13026
13291
  size: "medium",
@@ -13029,13 +13294,13 @@ var QuizFooter = forwardRef22(
13029
13294
  onClick: handleFinishQuiz,
13030
13295
  children: "Finalizar"
13031
13296
  }
13032
- ) : /* @__PURE__ */ jsx56(
13297
+ ) : /* @__PURE__ */ jsx57(
13033
13298
  Button_default,
13034
13299
  {
13035
13300
  size: "medium",
13036
13301
  variant: "link",
13037
13302
  action: "primary",
13038
- iconRight: /* @__PURE__ */ jsx56(CaretRight5, { size: 18 }),
13303
+ iconRight: /* @__PURE__ */ jsx57(CaretRight5, { size: 18 }),
13039
13304
  disabled: !currentAnswer && !isCurrentQuestionSkipped,
13040
13305
  onClick: () => {
13041
13306
  goToNextQuestion();
@@ -13043,7 +13308,7 @@ var QuizFooter = forwardRef22(
13043
13308
  children: "Avan\xE7ar"
13044
13309
  }
13045
13310
  )
13046
- ] }) : /* @__PURE__ */ jsx56("div", { className: "flex flex-row items-center justify-center w-full", children: /* @__PURE__ */ jsx56(
13311
+ ] }) : /* @__PURE__ */ jsx57("div", { className: "flex flex-row items-center justify-center w-full", children: /* @__PURE__ */ jsx57(
13047
13312
  Button_default,
13048
13313
  {
13049
13314
  variant: "link",
@@ -13055,7 +13320,7 @@ var QuizFooter = forwardRef22(
13055
13320
  ) })
13056
13321
  }
13057
13322
  ),
13058
- /* @__PURE__ */ jsx56(
13323
+ /* @__PURE__ */ jsx57(
13059
13324
  AlertDialog,
13060
13325
  {
13061
13326
  isOpen: isModalOpen("alertDialog"),
@@ -13067,7 +13332,7 @@ var QuizFooter = forwardRef22(
13067
13332
  onSubmit: handleAlertSubmit
13068
13333
  }
13069
13334
  ),
13070
- /* @__PURE__ */ jsx56(
13335
+ /* @__PURE__ */ jsx57(
13071
13336
  Modal_default,
13072
13337
  {
13073
13338
  isOpen: isModalOpen("modalResult"),
@@ -13076,11 +13341,11 @@ var QuizFooter = forwardRef22(
13076
13341
  closeOnEscape: false,
13077
13342
  hideCloseButton: true,
13078
13343
  size: "md",
13079
- children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
13080
- resultImageComponent ? /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx56("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
13081
- /* @__PURE__ */ jsxs41("div", { className: "flex flex-col gap-2 text-center", children: [
13082
- /* @__PURE__ */ jsx56("h2", { className: "text-text-950 font-bold text-lg", children: getCompletionTitle(quizType) }),
13083
- /* @__PURE__ */ jsxs41("p", { className: "text-text-500 font-sm", children: [
13344
+ children: /* @__PURE__ */ jsxs42("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
13345
+ resultImageComponent ? /* @__PURE__ */ jsx57("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx57("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx57("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
13346
+ /* @__PURE__ */ jsxs42("div", { className: "flex flex-col gap-2 text-center", children: [
13347
+ /* @__PURE__ */ jsx57("h2", { className: "text-text-950 font-bold text-lg", children: getCompletionTitle(quizType) }),
13348
+ /* @__PURE__ */ jsxs42("p", { className: "text-text-500 font-sm", children: [
13084
13349
  "Voc\xEA acertou ",
13085
13350
  correctAnswers ?? "--",
13086
13351
  " de ",
@@ -13089,8 +13354,8 @@ var QuizFooter = forwardRef22(
13089
13354
  "quest\xF5es."
13090
13355
  ] })
13091
13356
  ] }),
13092
- /* @__PURE__ */ jsxs41("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: [
13093
- /* @__PURE__ */ jsx56(
13357
+ /* @__PURE__ */ jsxs42("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: [
13358
+ /* @__PURE__ */ jsx57(
13094
13359
  Button_default,
13095
13360
  {
13096
13361
  variant: "outline",
@@ -13100,38 +13365,38 @@ var QuizFooter = forwardRef22(
13100
13365
  children: quizTypeLabel === "Question\xE1rio" ? "Ir para aulas" : `Ir para ${quizTypeLabel.toLocaleLowerCase()}s`
13101
13366
  }
13102
13367
  ),
13103
- /* @__PURE__ */ jsx56(Button_default, { className: "w-full", onClick: onDetailResult, children: "Detalhar resultado" })
13368
+ /* @__PURE__ */ jsx57(Button_default, { className: "w-full", onClick: onDetailResult, children: "Detalhar resultado" })
13104
13369
  ] })
13105
13370
  ] })
13106
13371
  }
13107
13372
  ),
13108
- /* @__PURE__ */ jsx56(
13373
+ /* @__PURE__ */ jsx57(
13109
13374
  Modal_default,
13110
13375
  {
13111
13376
  isOpen: isModalOpen("modalNavigate"),
13112
13377
  onClose: closeModal,
13113
13378
  title: "Quest\xF5es",
13114
13379
  size: "lg",
13115
- children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-col w-full not-lg:h-[calc(100vh-200px)] lg:max-h-[687px] lg:h-[687px]", children: [
13116
- /* @__PURE__ */ jsxs41("div", { className: "flex flex-row justify-between items-center py-6 pt-6 pb-4 border-b border-border-200 flex-shrink-0", children: [
13117
- /* @__PURE__ */ jsx56("p", { className: "text-text-950 font-bold text-lg", children: "Filtrar por" }),
13118
- /* @__PURE__ */ jsx56("span", { className: "max-w-[266px]", children: /* @__PURE__ */ jsxs41(Select_default, { value: filterType, onValueChange: setFilterType, children: [
13119
- /* @__PURE__ */ jsx56(
13380
+ children: /* @__PURE__ */ jsxs42("div", { className: "flex flex-col w-full not-lg:h-[calc(100vh-200px)] lg:max-h-[687px] lg:h-[687px]", children: [
13381
+ /* @__PURE__ */ jsxs42("div", { className: "flex flex-row justify-between items-center py-6 pt-6 pb-4 border-b border-border-200 flex-shrink-0", children: [
13382
+ /* @__PURE__ */ jsx57("p", { className: "text-text-950 font-bold text-lg", children: "Filtrar por" }),
13383
+ /* @__PURE__ */ jsx57("span", { className: "max-w-[266px]", children: /* @__PURE__ */ jsxs42(Select_default, { value: filterType, onValueChange: setFilterType, children: [
13384
+ /* @__PURE__ */ jsx57(
13120
13385
  SelectTrigger,
13121
13386
  {
13122
13387
  variant: "rounded",
13123
13388
  className: "max-w-[266px] min-w-[160px]",
13124
- children: /* @__PURE__ */ jsx56(SelectValue, { placeholder: "Selecione uma op\xE7\xE3o" })
13389
+ children: /* @__PURE__ */ jsx57(SelectValue, { placeholder: "Selecione uma op\xE7\xE3o" })
13125
13390
  }
13126
13391
  ),
13127
- /* @__PURE__ */ jsxs41(SelectContent, { children: [
13128
- /* @__PURE__ */ jsx56(SelectItem, { value: "all", children: "Todas" }),
13129
- /* @__PURE__ */ jsx56(SelectItem, { value: "unanswered", children: "Em branco" }),
13130
- /* @__PURE__ */ jsx56(SelectItem, { value: "answered", children: "Respondidas" })
13392
+ /* @__PURE__ */ jsxs42(SelectContent, { children: [
13393
+ /* @__PURE__ */ jsx57(SelectItem, { value: "all", children: "Todas" }),
13394
+ /* @__PURE__ */ jsx57(SelectItem, { value: "unanswered", children: "Em branco" }),
13395
+ /* @__PURE__ */ jsx57(SelectItem, { value: "answered", children: "Respondidas" })
13131
13396
  ] })
13132
13397
  ] }) })
13133
13398
  ] }),
13134
- /* @__PURE__ */ jsx56("div", { className: "flex flex-col gap-2 flex-1 min-h-0 overflow-y-auto", children: /* @__PURE__ */ jsx56(
13399
+ /* @__PURE__ */ jsx57("div", { className: "flex flex-col gap-2 flex-1 min-h-0 overflow-y-auto", children: /* @__PURE__ */ jsx57(
13135
13400
  QuizQuestionList,
13136
13401
  {
13137
13402
  filterType,
@@ -13141,7 +13406,7 @@ var QuizFooter = forwardRef22(
13141
13406
  ] })
13142
13407
  }
13143
13408
  ),
13144
- /* @__PURE__ */ jsx56(
13409
+ /* @__PURE__ */ jsx57(
13145
13410
  Modal_default,
13146
13411
  {
13147
13412
  isOpen: isModalOpen("modalResolution"),
@@ -13151,7 +13416,7 @@ var QuizFooter = forwardRef22(
13151
13416
  children: currentQuestion?.solutionExplanation
13152
13417
  }
13153
13418
  ),
13154
- /* @__PURE__ */ jsx56(
13419
+ /* @__PURE__ */ jsx57(
13155
13420
  Modal_default,
13156
13421
  {
13157
13422
  isOpen: isModalOpen("modalQuestionnaireAllCorrect"),
@@ -13160,17 +13425,17 @@ var QuizFooter = forwardRef22(
13160
13425
  closeOnEscape: false,
13161
13426
  hideCloseButton: true,
13162
13427
  size: "md",
13163
- children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
13164
- resultImageComponent ? /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx56("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
13165
- /* @__PURE__ */ jsxs41("div", { className: "flex flex-col gap-2 text-center", children: [
13166
- /* @__PURE__ */ jsx56("h2", { className: "text-text-950 font-bold text-lg", children: "\u{1F389} Parab\xE9ns!" }),
13167
- /* @__PURE__ */ jsx56("p", { className: "text-text-500 font-sm", children: "Voc\xEA concluiu o m\xF3dulo Movimento Uniforme." })
13428
+ children: /* @__PURE__ */ jsxs42("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
13429
+ resultImageComponent ? /* @__PURE__ */ jsx57("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx57("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx57("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
13430
+ /* @__PURE__ */ jsxs42("div", { className: "flex flex-col gap-2 text-center", children: [
13431
+ /* @__PURE__ */ jsx57("h2", { className: "text-text-950 font-bold text-lg", children: "\u{1F389} Parab\xE9ns!" }),
13432
+ /* @__PURE__ */ jsx57("p", { className: "text-text-500 font-sm", children: "Voc\xEA concluiu o m\xF3dulo Movimento Uniforme." })
13168
13433
  ] }),
13169
- /* @__PURE__ */ jsx56("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: /* @__PURE__ */ jsx56(Button_default, { className: "w-full", onClick: onGoToNextModule, children: "Pr\xF3ximo m\xF3dulo" }) })
13434
+ /* @__PURE__ */ jsx57("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: /* @__PURE__ */ jsx57(Button_default, { className: "w-full", onClick: onGoToNextModule, children: "Pr\xF3ximo m\xF3dulo" }) })
13170
13435
  ] })
13171
13436
  }
13172
13437
  ),
13173
- /* @__PURE__ */ jsx56(
13438
+ /* @__PURE__ */ jsx57(
13174
13439
  Modal_default,
13175
13440
  {
13176
13441
  isOpen: isModalOpen("modalQuestionnaireAllIncorrect"),
@@ -13179,16 +13444,16 @@ var QuizFooter = forwardRef22(
13179
13444
  closeOnEscape: false,
13180
13445
  hideCloseButton: true,
13181
13446
  size: "md",
13182
- children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
13183
- resultIncorrectImageComponent ? /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-auto", children: resultIncorrectImageComponent }) : /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx56("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
13184
- /* @__PURE__ */ jsxs41("div", { className: "flex flex-col gap-2 text-center", children: [
13185
- /* @__PURE__ */ jsx56("h2", { className: "text-text-950 font-bold text-lg", children: "\u{1F615} N\xE3o foi dessa vez..." }),
13186
- /* @__PURE__ */ jsx56("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." }),
13187
- /* @__PURE__ */ jsx56("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." }),
13188
- /* @__PURE__ */ jsx56("p", { className: "text-text-500 font-sm", children: "Clique em Repetir Question\xE1rio e mostre do que voc\xEA \xE9 capaz! \u{1F4AA}" })
13447
+ children: /* @__PURE__ */ jsxs42("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
13448
+ resultIncorrectImageComponent ? /* @__PURE__ */ jsx57("div", { className: "w-[282px] h-auto", children: resultIncorrectImageComponent }) : /* @__PURE__ */ jsx57("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx57("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
13449
+ /* @__PURE__ */ jsxs42("div", { className: "flex flex-col gap-2 text-center", children: [
13450
+ /* @__PURE__ */ jsx57("h2", { className: "text-text-950 font-bold text-lg", children: "\u{1F615} N\xE3o foi dessa vez..." }),
13451
+ /* @__PURE__ */ jsx57("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." }),
13452
+ /* @__PURE__ */ jsx57("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." }),
13453
+ /* @__PURE__ */ jsx57("p", { className: "text-text-500 font-sm", children: "Clique em Repetir Question\xE1rio e mostre do que voc\xEA \xE9 capaz! \u{1F4AA}" })
13189
13454
  ] }),
13190
- /* @__PURE__ */ jsxs41("div", { className: "flex flex-row justify-center items-center gap-2 w-full", children: [
13191
- /* @__PURE__ */ jsx56(
13455
+ /* @__PURE__ */ jsxs42("div", { className: "flex flex-row justify-center items-center gap-2 w-full", children: [
13456
+ /* @__PURE__ */ jsx57(
13192
13457
  Button_default,
13193
13458
  {
13194
13459
  type: "button",
@@ -13202,7 +13467,7 @@ var QuizFooter = forwardRef22(
13202
13467
  children: "Tentar depois"
13203
13468
  }
13204
13469
  ),
13205
- /* @__PURE__ */ jsx56(
13470
+ /* @__PURE__ */ jsx57(
13206
13471
  Button_default,
13207
13472
  {
13208
13473
  variant: "outline",
@@ -13212,7 +13477,7 @@ var QuizFooter = forwardRef22(
13212
13477
  children: "Detalhar resultado"
13213
13478
  }
13214
13479
  ),
13215
- /* @__PURE__ */ jsx56(
13480
+ /* @__PURE__ */ jsx57(
13216
13481
  Button_default,
13217
13482
  {
13218
13483
  className: "w-auto",
@@ -13225,7 +13490,7 @@ var QuizFooter = forwardRef22(
13225
13490
  ] })
13226
13491
  }
13227
13492
  ),
13228
- /* @__PURE__ */ jsx56(
13493
+ /* @__PURE__ */ jsx57(
13229
13494
  AlertDialog,
13230
13495
  {
13231
13496
  isOpen: isModalOpen("alertDialogTryLater"),
@@ -13249,26 +13514,26 @@ var QuizFooter = forwardRef22(
13249
13514
  );
13250
13515
 
13251
13516
  // src/components/Quiz/QuizResult.tsx
13252
- import { forwardRef as forwardRef23, useEffect as useEffect25, useState as useState26 } from "react";
13517
+ import { forwardRef as forwardRef23, useEffect as useEffect26, useState as useState27 } from "react";
13253
13518
  import { Clock as Clock3 } from "phosphor-react";
13254
- import { jsx as jsx57, jsxs as jsxs42 } from "react/jsx-runtime";
13519
+ import { jsx as jsx58, jsxs as jsxs43 } from "react/jsx-runtime";
13255
13520
  var QuizBadge = ({
13256
13521
  subtype
13257
13522
  }) => {
13258
13523
  switch (subtype) {
13259
13524
  case "PROVA" /* PROVA */:
13260
- return /* @__PURE__ */ jsx57(Badge_default, { variant: "examsOutlined", action: "exam2", "data-testid": "quiz-badge", children: "Prova" });
13525
+ return /* @__PURE__ */ jsx58(Badge_default, { variant: "examsOutlined", action: "exam2", "data-testid": "quiz-badge", children: "Prova" });
13261
13526
  case "ENEM_PROVA_1" /* ENEM_PROVA_1 */:
13262
13527
  case "ENEM_PROVA_2" /* ENEM_PROVA_2 */:
13263
- return /* @__PURE__ */ jsx57(Badge_default, { variant: "examsOutlined", action: "exam1", "data-testid": "quiz-badge", children: "Enem" });
13528
+ return /* @__PURE__ */ jsx58(Badge_default, { variant: "examsOutlined", action: "exam1", "data-testid": "quiz-badge", children: "Enem" });
13264
13529
  case "VESTIBULAR" /* VESTIBULAR */:
13265
- return /* @__PURE__ */ jsx57(Badge_default, { variant: "examsOutlined", action: "exam4", "data-testid": "quiz-badge", children: "Vestibular" });
13530
+ return /* @__PURE__ */ jsx58(Badge_default, { variant: "examsOutlined", action: "exam4", "data-testid": "quiz-badge", children: "Vestibular" });
13266
13531
  case "SIMULADO" /* SIMULADO */:
13267
13532
  case "SIMULADAO" /* SIMULADAO */:
13268
13533
  case void 0:
13269
- return /* @__PURE__ */ jsx57(Badge_default, { variant: "examsOutlined", action: "exam3", "data-testid": "quiz-badge", children: "Simulad\xE3o" });
13534
+ return /* @__PURE__ */ jsx58(Badge_default, { variant: "examsOutlined", action: "exam3", "data-testid": "quiz-badge", children: "Simulad\xE3o" });
13270
13535
  default:
13271
- return /* @__PURE__ */ jsx57(Badge_default, { variant: "solid", action: "info", "data-testid": "quiz-badge", children: subtype });
13536
+ return /* @__PURE__ */ jsx58(Badge_default, { variant: "solid", action: "info", "data-testid": "quiz-badge", children: subtype });
13272
13537
  }
13273
13538
  };
13274
13539
  var QuizHeaderResult = forwardRef23(
@@ -13278,8 +13543,8 @@ var QuizHeaderResult = forwardRef23(
13278
13543
  getCurrentQuestion,
13279
13544
  questionsResult
13280
13545
  } = useQuizStore();
13281
- const [status, setStatus] = useState26(void 0);
13282
- useEffect25(() => {
13546
+ const [status, setStatus] = useState27(void 0);
13547
+ useEffect26(() => {
13283
13548
  const cq = getCurrentQuestion();
13284
13549
  if (!cq) {
13285
13550
  setStatus(void 0);
@@ -13325,7 +13590,7 @@ var QuizHeaderResult = forwardRef23(
13325
13590
  return "N\xE3o foi dessa vez...voc\xEA deixou a resposta em branco";
13326
13591
  }
13327
13592
  };
13328
- return /* @__PURE__ */ jsxs42(
13593
+ return /* @__PURE__ */ jsxs43(
13329
13594
  "div",
13330
13595
  {
13331
13596
  ref,
@@ -13336,8 +13601,8 @@ var QuizHeaderResult = forwardRef23(
13336
13601
  ),
13337
13602
  ...props,
13338
13603
  children: [
13339
- /* @__PURE__ */ jsx57("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
13340
- /* @__PURE__ */ jsx57("p", { className: "text-text-700 text-md", children: getLabelByAnswersStatus() })
13604
+ /* @__PURE__ */ jsx58("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
13605
+ /* @__PURE__ */ jsx58("p", { className: "text-text-700 text-md", children: getLabelByAnswersStatus() })
13341
13606
  ]
13342
13607
  }
13343
13608
  );
@@ -13345,7 +13610,7 @@ var QuizHeaderResult = forwardRef23(
13345
13610
  );
13346
13611
  var QuizResultHeaderTitle = forwardRef23(({ className, showBadge = true, onRepeat, canRetry, ...props }, ref) => {
13347
13612
  const { quiz } = useQuizStore();
13348
- return /* @__PURE__ */ jsxs42(
13613
+ return /* @__PURE__ */ jsxs43(
13349
13614
  "div",
13350
13615
  {
13351
13616
  ref,
@@ -13355,9 +13620,9 @@ var QuizResultHeaderTitle = forwardRef23(({ className, showBadge = true, onRepea
13355
13620
  ),
13356
13621
  ...props,
13357
13622
  children: [
13358
- /* @__PURE__ */ jsx57("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
13359
- /* @__PURE__ */ jsxs42("div", { className: "flex flex-row gap-3 items-center", children: [
13360
- canRetry && onRepeat && /* @__PURE__ */ jsx57(
13623
+ /* @__PURE__ */ jsx58("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
13624
+ /* @__PURE__ */ jsxs43("div", { className: "flex flex-row gap-3 items-center", children: [
13625
+ canRetry && onRepeat && /* @__PURE__ */ jsx58(
13361
13626
  Button_default,
13362
13627
  {
13363
13628
  variant: "solid",
@@ -13367,7 +13632,7 @@ var QuizResultHeaderTitle = forwardRef23(({ className, showBadge = true, onRepea
13367
13632
  children: "Repetir question\xE1rio"
13368
13633
  }
13369
13634
  ),
13370
- showBadge && /* @__PURE__ */ jsx57(QuizBadge, { subtype: quiz?.subtype || void 0 })
13635
+ showBadge && /* @__PURE__ */ jsx58(QuizBadge, { subtype: quiz?.subtype || void 0 })
13371
13636
  ] })
13372
13637
  ]
13373
13638
  }
@@ -13376,7 +13641,7 @@ var QuizResultHeaderTitle = forwardRef23(({ className, showBadge = true, onRepea
13376
13641
  var QuizResultTitle = forwardRef23(({ className, ...props }, ref) => {
13377
13642
  const { getQuizTitle } = useQuizStore();
13378
13643
  const quizTitle = getQuizTitle();
13379
- return /* @__PURE__ */ jsx57(
13644
+ return /* @__PURE__ */ jsx58(
13380
13645
  "p",
13381
13646
  {
13382
13647
  className: cn("pt-6 pb-4 text-text-950 font-bold text-lg", className),
@@ -13437,7 +13702,7 @@ var QuizResultPerformance = forwardRef23(({ showDetails = true, ...props }, ref)
13437
13702
  };
13438
13703
  const percentage = totalQuestions > 0 ? Math.round(stats.correctAnswers / totalQuestions * 100) : 0;
13439
13704
  const classesJustifyBetween = showDetails ? "justify-between" : "justify-center";
13440
- return /* @__PURE__ */ jsxs42(
13705
+ return /* @__PURE__ */ jsxs43(
13441
13706
  "div",
13442
13707
  {
13443
13708
  className: cn(
@@ -13447,8 +13712,8 @@ var QuizResultPerformance = forwardRef23(({ showDetails = true, ...props }, ref)
13447
13712
  ref,
13448
13713
  ...props,
13449
13714
  children: [
13450
- /* @__PURE__ */ jsxs42("div", { className: "relative", children: [
13451
- /* @__PURE__ */ jsx57(
13715
+ /* @__PURE__ */ jsxs43("div", { className: "relative", children: [
13716
+ /* @__PURE__ */ jsx58(
13452
13717
  ProgressCircle_default,
13453
13718
  {
13454
13719
  size: "medium",
@@ -13458,24 +13723,24 @@ var QuizResultPerformance = forwardRef23(({ showDetails = true, ...props }, ref)
13458
13723
  label: ""
13459
13724
  }
13460
13725
  ),
13461
- /* @__PURE__ */ jsxs42("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
13462
- showDetails && /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-1 mb-1", children: [
13463
- /* @__PURE__ */ jsx57(Clock3, { size: 12, weight: "regular", className: "text-text-800" }),
13464
- /* @__PURE__ */ jsx57("span", { className: "text-2xs font-medium text-text-800", children: formatTime2(
13726
+ /* @__PURE__ */ jsxs43("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
13727
+ showDetails && /* @__PURE__ */ jsxs43("div", { className: "flex items-center gap-1 mb-1", children: [
13728
+ /* @__PURE__ */ jsx58(Clock3, { size: 12, weight: "regular", className: "text-text-800" }),
13729
+ /* @__PURE__ */ jsx58("span", { className: "text-2xs font-medium text-text-800", children: formatTime2(
13465
13730
  (getQuestionResultStatistics()?.timeSpent ?? 0) * 60
13466
13731
  ) })
13467
13732
  ] }),
13468
- /* @__PURE__ */ jsxs42("div", { className: "text-2xl font-medium text-text-800 leading-7", children: [
13733
+ /* @__PURE__ */ jsxs43("div", { className: "text-2xl font-medium text-text-800 leading-7", children: [
13469
13734
  getQuestionResultStatistics()?.correctAnswers ?? "--",
13470
13735
  " de",
13471
13736
  " ",
13472
13737
  totalQuestions
13473
13738
  ] }),
13474
- /* @__PURE__ */ jsx57("div", { className: "text-2xs font-medium text-text-600 mt-1", children: "Corretas" })
13739
+ /* @__PURE__ */ jsx58("div", { className: "text-2xs font-medium text-text-600 mt-1", children: "Corretas" })
13475
13740
  ] })
13476
13741
  ] }),
13477
- showDetails && /* @__PURE__ */ jsxs42("div", { className: "flex flex-col gap-4 w-full", children: [
13478
- /* @__PURE__ */ jsx57(
13742
+ showDetails && /* @__PURE__ */ jsxs43("div", { className: "flex flex-col gap-4 w-full", children: [
13743
+ /* @__PURE__ */ jsx58(
13479
13744
  ProgressBar_default,
13480
13745
  {
13481
13746
  className: "w-full",
@@ -13489,7 +13754,7 @@ var QuizResultPerformance = forwardRef23(({ showDetails = true, ...props }, ref)
13489
13754
  percentageClassName: "text-xs font-medium leading-[14px] text-right"
13490
13755
  }
13491
13756
  ),
13492
- /* @__PURE__ */ jsx57(
13757
+ /* @__PURE__ */ jsx58(
13493
13758
  ProgressBar_default,
13494
13759
  {
13495
13760
  className: "w-full",
@@ -13503,7 +13768,7 @@ var QuizResultPerformance = forwardRef23(({ showDetails = true, ...props }, ref)
13503
13768
  percentageClassName: "text-xs font-medium leading-[14px] text-right"
13504
13769
  }
13505
13770
  ),
13506
- /* @__PURE__ */ jsx57(
13771
+ /* @__PURE__ */ jsx58(
13507
13772
  ProgressBar_default,
13508
13773
  {
13509
13774
  className: "w-full",
@@ -13550,9 +13815,9 @@ var QuizListResult = forwardRef23(({ className, onSubjectClick, ...props }, ref)
13550
13815
  };
13551
13816
  }
13552
13817
  );
13553
- return /* @__PURE__ */ jsxs42("section", { ref, className, ...props, children: [
13554
- /* @__PURE__ */ jsx57("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Mat\xE9rias" }),
13555
- /* @__PURE__ */ jsx57("ul", { className: "flex flex-col gap-2", children: subjectsStats.map((subject) => /* @__PURE__ */ jsx57("li", { children: /* @__PURE__ */ jsx57(
13818
+ return /* @__PURE__ */ jsxs43("section", { ref, className, ...props, children: [
13819
+ /* @__PURE__ */ jsx58("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Mat\xE9rias" }),
13820
+ /* @__PURE__ */ jsx58("ul", { className: "flex flex-col gap-2", children: subjectsStats.map((subject) => /* @__PURE__ */ jsx58("li", { children: /* @__PURE__ */ jsx58(
13556
13821
  CardResults,
13557
13822
  {
13558
13823
  onClick: () => onSubjectClick?.(subject.subject.id),
@@ -13576,16 +13841,16 @@ var QuizListResultByMateria = ({
13576
13841
  const groupedQuestions = getQuestionsGroupedBySubject();
13577
13842
  const answeredQuestions = groupedQuestions[subject] || [];
13578
13843
  const formattedQuestions = subject == "all" ? Object.values(groupedQuestions).flat() : answeredQuestions;
13579
- return /* @__PURE__ */ jsxs42("div", { className: "flex flex-col", children: [
13580
- /* @__PURE__ */ jsx57("div", { className: "flex flex-row pt-4 justify-between", children: /* @__PURE__ */ jsx57("p", { className: "text-text-950 font-bold text-2xl", children: subjectName || formattedQuestions?.[0]?.knowledgeMatrix?.[0]?.subject?.name || "Sem mat\xE9ria" }) }),
13581
- /* @__PURE__ */ jsxs42("section", { className: "flex flex-col ", children: [
13582
- /* @__PURE__ */ jsx57("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Resultado das quest\xF5es" }),
13583
- /* @__PURE__ */ jsx57("ul", { className: "flex flex-col gap-2 pt-4", children: formattedQuestions.map((question) => {
13844
+ return /* @__PURE__ */ jsxs43("div", { className: "flex flex-col", children: [
13845
+ /* @__PURE__ */ jsx58("div", { className: "flex flex-row pt-4 justify-between", children: /* @__PURE__ */ jsx58("p", { className: "text-text-950 font-bold text-2xl", children: subjectName || formattedQuestions?.[0]?.knowledgeMatrix?.[0]?.subject?.name || "Sem mat\xE9ria" }) }),
13846
+ /* @__PURE__ */ jsxs43("section", { className: "flex flex-col ", children: [
13847
+ /* @__PURE__ */ jsx58("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Resultado das quest\xF5es" }),
13848
+ /* @__PURE__ */ jsx58("ul", { className: "flex flex-col gap-2 pt-4", children: formattedQuestions.map((question) => {
13584
13849
  const questionIndex = getQuestionIndex(
13585
13850
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13586
13851
  question.questionId ?? question.id
13587
13852
  );
13588
- return /* @__PURE__ */ jsx57("li", { children: /* @__PURE__ */ jsx57(
13853
+ return /* @__PURE__ */ jsx58("li", { children: /* @__PURE__ */ jsx58(
13589
13854
  CardStatus,
13590
13855
  {
13591
13856
  className: "max-w-full",
@@ -13611,7 +13876,7 @@ var QuizListResultByMateria = ({
13611
13876
 
13612
13877
  // src/components/BreadcrumbMenu/BreadcrumbMenu.tsx
13613
13878
  import { useNavigate } from "react-router-dom";
13614
- import { jsx as jsx58 } from "react/jsx-runtime";
13879
+ import { jsx as jsx59 } from "react/jsx-runtime";
13615
13880
  var BreadcrumbMenu = ({
13616
13881
  breadcrumbs,
13617
13882
  onBreadcrumbClick,
@@ -13624,17 +13889,17 @@ var BreadcrumbMenu = ({
13624
13889
  }
13625
13890
  navigate(breadcrumb.url);
13626
13891
  };
13627
- return /* @__PURE__ */ jsx58(
13892
+ return /* @__PURE__ */ jsx59(
13628
13893
  Menu,
13629
13894
  {
13630
13895
  value: `breadcrumb-${breadcrumbs.length - 1}`,
13631
13896
  defaultValue: "breadcrumb-0",
13632
13897
  variant: "breadcrumb",
13633
13898
  className,
13634
- children: /* @__PURE__ */ jsx58(MenuContent, { className: "w-full flex flex-row flex-wrap gap-2 !px-0", children: breadcrumbs.map((breadcrumb, index) => {
13899
+ children: /* @__PURE__ */ jsx59(MenuContent, { className: "w-full flex flex-row flex-wrap gap-2 !px-0", children: breadcrumbs.map((breadcrumb, index) => {
13635
13900
  const isLast = index === breadcrumbs.length - 1;
13636
13901
  const hasSeparator = !isLast;
13637
- return /* @__PURE__ */ jsx58(
13902
+ return /* @__PURE__ */ jsx59(
13638
13903
  MenuItem,
13639
13904
  {
13640
13905
  variant: "breadcrumb",
@@ -13652,7 +13917,7 @@ var BreadcrumbMenu = ({
13652
13917
  };
13653
13918
 
13654
13919
  // src/components/BreadcrumbMenu/useBreadcrumbBuilder.ts
13655
- import { useEffect as useEffect26 } from "react";
13920
+ import { useEffect as useEffect27 } from "react";
13656
13921
 
13657
13922
  // src/components/BreadcrumbMenu/breadcrumbStore.ts
13658
13923
  import { create as create11 } from "zustand";
@@ -13781,7 +14046,7 @@ var useBreadcrumbBuilder = (config) => {
13781
14046
  (level) => isBreadcrumbWithData(level) ? level.data : null
13782
14047
  );
13783
14048
  const levelUrlIds = levels.map((level) => level.urlId);
13784
- useEffect26(() => {
14049
+ useEffect27(() => {
13785
14050
  const newBreadcrumbs = [root];
13786
14051
  const previousIds = [];
13787
14052
  for (const level of levels) {
@@ -13831,12 +14096,12 @@ var useUrlParams = (config) => {
13831
14096
  import { useMemo as useMemo10 } from "react";
13832
14097
 
13833
14098
  // src/hooks/useInstitution.ts
13834
- import { useEffect as useEffect27, useState as useState27 } from "react";
14099
+ import { useEffect as useEffect28, useState as useState28 } from "react";
13835
14100
  function useInstitutionId() {
13836
- const [institutionId, setInstitutionId] = useState27(() => {
14101
+ const [institutionId, setInstitutionId] = useState28(() => {
13837
14102
  return document.querySelector('meta[name="institution-id"]')?.getAttribute("content") ?? null;
13838
14103
  });
13839
- useEffect27(() => {
14104
+ useEffect28(() => {
13840
14105
  const metaTag = document.querySelector('meta[name="institution-id"]');
13841
14106
  if (!metaTag) return;
13842
14107
  const observer = new MutationObserver(() => {
@@ -14040,7 +14305,7 @@ function useAppInitialization() {
14040
14305
  }
14041
14306
 
14042
14307
  // src/hooks/useAppContent.ts
14043
- import { useCallback as useCallback7, useEffect as useEffect28, useMemo as useMemo11 } from "react";
14308
+ import { useCallback as useCallback8, useEffect as useEffect29, useMemo as useMemo11 } from "react";
14044
14309
  import { useNavigate as useNavigate2 } from "react-router-dom";
14045
14310
  function useAppContent(config) {
14046
14311
  const navigate = useNavigate2();
@@ -14066,20 +14331,20 @@ function useAppContent(config) {
14066
14331
  navigate("/painel");
14067
14332
  }
14068
14333
  };
14069
- const handleSetSelectedProfile = useCallback7(
14334
+ const handleSetSelectedProfile = useCallback8(
14070
14335
  (profile) => {
14071
14336
  setSelectedProfile(profile);
14072
14337
  },
14073
14338
  [setSelectedProfile]
14074
14339
  );
14075
- const handleClearParamsFromURL = useCallback7(() => {
14340
+ const handleClearParamsFromURL = useCallback8(() => {
14076
14341
  if (onClearParamsFromURL) {
14077
14342
  onClearParamsFromURL();
14078
14343
  } else {
14079
14344
  globalThis.location.replace("/painel");
14080
14345
  }
14081
14346
  }, [onClearParamsFromURL]);
14082
- const handleError = useCallback7(
14347
+ const handleError = useCallback8(
14083
14348
  (error) => {
14084
14349
  if (onError) {
14085
14350
  onError(error);
@@ -14119,7 +14384,7 @@ function useAppContent(config) {
14119
14384
  const institutionIdToUse = useMemo11(() => {
14120
14385
  return sessionInfo?.institutionId || getInstitutionId;
14121
14386
  }, [sessionInfo?.institutionId, getInstitutionId]);
14122
- useEffect28(() => {
14387
+ useEffect29(() => {
14123
14388
  if (institutionIdToUse && !initialized) {
14124
14389
  initialize(institutionIdToUse);
14125
14390
  }
@@ -14165,6 +14430,7 @@ export {
14165
14430
  DropdownMenuItem,
14166
14431
  DropdownMenuSeparator,
14167
14432
  DropdownMenuTrigger,
14433
+ FilterModal,
14168
14434
  IconButton_default as IconButton,
14169
14435
  IconRender_default as IconRender,
14170
14436
  IconRoundedButton_default as IconRoundedButton,
@@ -14281,6 +14547,7 @@ export {
14281
14547
  useMobile,
14282
14548
  useQuizStore,
14283
14549
  useRouteAuth,
14550
+ useTableFilter,
14284
14551
  useTableSort,
14285
14552
  useTheme,
14286
14553
  useThemeStore,