analytica-frontend-lib 1.2.7 → 1.2.9

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.js CHANGED
@@ -179,6 +179,7 @@ __export(src_exports, {
179
179
  useMobile: () => useMobile,
180
180
  useQuizStore: () => useQuizStore,
181
181
  useRouteAuth: () => useRouteAuth,
182
+ useTableSort: () => useTableSort,
182
183
  useTheme: () => useTheme,
183
184
  useThemeStore: () => useThemeStore,
184
185
  useToastStore: () => ToastStore_default,
@@ -6630,20 +6631,93 @@ var createNotificationsHook = (apiClient) => {
6630
6631
 
6631
6632
  // src/components/Table/Table.tsx
6632
6633
  var import_react23 = require("react");
6634
+ var import_phosphor_react16 = require("phosphor-react");
6633
6635
  var import_jsx_runtime39 = require("react/jsx-runtime");
6636
+ function useTableSort(data, options = {}) {
6637
+ const { syncWithUrl = false } = options;
6638
+ const getInitialState = () => {
6639
+ if (!syncWithUrl || globalThis.window === void 0) {
6640
+ return { column: null, direction: null };
6641
+ }
6642
+ const params = new URLSearchParams(globalThis.location.search);
6643
+ const sortBy = params.get("sortBy");
6644
+ const sort = params.get("sort");
6645
+ if (sortBy && sort && (sort === "ASC" || sort === "DESC")) {
6646
+ return {
6647
+ column: sortBy,
6648
+ direction: sort.toLowerCase()
6649
+ };
6650
+ }
6651
+ return { column: null, direction: null };
6652
+ };
6653
+ const initialState = getInitialState();
6654
+ const [sortColumn, setSortColumn] = (0, import_react23.useState)(
6655
+ initialState.column
6656
+ );
6657
+ const [sortDirection, setSortDirection] = (0, import_react23.useState)(
6658
+ initialState.direction
6659
+ );
6660
+ (0, import_react23.useEffect)(() => {
6661
+ if (!syncWithUrl || globalThis.window === void 0) return;
6662
+ const url = new URL(globalThis.location.href);
6663
+ const params = url.searchParams;
6664
+ if (sortColumn && sortDirection) {
6665
+ params.set("sortBy", sortColumn);
6666
+ params.set("sort", sortDirection.toUpperCase());
6667
+ } else {
6668
+ params.delete("sortBy");
6669
+ params.delete("sort");
6670
+ }
6671
+ globalThis.history.replaceState({}, "", url.toString());
6672
+ }, [sortColumn, sortDirection, syncWithUrl]);
6673
+ const handleSort = (column) => {
6674
+ if (sortColumn === column) {
6675
+ if (sortDirection === "asc") {
6676
+ setSortDirection("desc");
6677
+ } else if (sortDirection === "desc") {
6678
+ setSortColumn(null);
6679
+ setSortDirection(null);
6680
+ }
6681
+ } else {
6682
+ setSortColumn(column);
6683
+ setSortDirection("asc");
6684
+ }
6685
+ };
6686
+ const sortedData = (0, import_react23.useMemo)(() => {
6687
+ if (!sortColumn || !sortDirection) {
6688
+ return data;
6689
+ }
6690
+ return [...data].sort((a, b) => {
6691
+ const aValue = a[sortColumn];
6692
+ const bValue = b[sortColumn];
6693
+ if (typeof aValue === "string" && typeof bValue === "string") {
6694
+ const comparison = aValue.localeCompare(bValue);
6695
+ return sortDirection === "asc" ? comparison : -comparison;
6696
+ }
6697
+ if (typeof aValue === "number" && typeof bValue === "number") {
6698
+ return sortDirection === "asc" ? aValue - bValue : bValue - aValue;
6699
+ }
6700
+ return 0;
6701
+ });
6702
+ }, [data, sortColumn, sortDirection]);
6703
+ return { sortedData, sortColumn, sortDirection, handleSort };
6704
+ }
6634
6705
  var Table = (0, import_react23.forwardRef)(
6635
6706
  ({ variant = "default", className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6636
6707
  "div",
6637
6708
  {
6638
6709
  className: cn(
6639
- "relative w-full overflow-hidden",
6710
+ "relative w-full overflow-x-auto",
6640
6711
  variant === "default" && "border border-border-200 rounded-xl"
6641
6712
  ),
6642
6713
  children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
6643
6714
  "table",
6644
6715
  {
6645
6716
  ref,
6646
- className: cn("w-full caption-bottom text-sm", className),
6717
+ className: cn(
6718
+ "analytica-table w-full caption-bottom text-sm border-separate border-spacing-0",
6719
+ className
6720
+ ),
6647
6721
  ...props,
6648
6722
  children: [
6649
6723
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("caption", { className: "sr-only", children: "My Table" }),
@@ -6665,15 +6739,11 @@ var TableHeader = (0, import_react23.forwardRef)(({ className, ...props }, ref)
6665
6739
  ));
6666
6740
  TableHeader.displayName = "TableHeader";
6667
6741
  var TableBody = (0, import_react23.forwardRef)(
6668
- ({ variant = "default", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6742
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6669
6743
  "tbody",
6670
6744
  {
6671
6745
  ref,
6672
- className: cn(
6673
- "[&_tr:last-child]:border-0",
6674
- variant === "default" && "border-t border-border-200",
6675
- className
6676
- ),
6746
+ className: cn("[&_tr:last-child]:border-border-200", className),
6677
6747
  ...props
6678
6748
  }
6679
6749
  )
@@ -6696,7 +6766,7 @@ var TableFooter = (0, import_react23.forwardRef)(
6696
6766
  TableFooter.displayName = "TableFooter";
6697
6767
  var VARIANT_STATES_ROW = {
6698
6768
  default: {
6699
- default: "border-b border-border-200",
6769
+ default: "border border-border-200",
6700
6770
  borderless: ""
6701
6771
  },
6702
6772
  selected: {
@@ -6713,7 +6783,13 @@ var VARIANT_STATES_ROW = {
6713
6783
  }
6714
6784
  };
6715
6785
  var TableRow = (0, import_react23.forwardRef)(
6716
- ({ variant = "default", state = "default", className, ...props }, ref) => {
6786
+ ({
6787
+ variant = "default",
6788
+ state = "default",
6789
+ clickable = false,
6790
+ className,
6791
+ ...props
6792
+ }, ref) => {
6717
6793
  return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6718
6794
  "tr",
6719
6795
  {
@@ -6721,6 +6797,7 @@ var TableRow = (0, import_react23.forwardRef)(
6721
6797
  className: cn(
6722
6798
  "transition-colors",
6723
6799
  state !== "disabled" ? "hover:bg-muted/50" : "",
6800
+ clickable && state !== "disabled" ? "cursor-pointer" : "",
6724
6801
  VARIANT_STATES_ROW[state][variant],
6725
6802
  className
6726
6803
  ),
@@ -6731,24 +6808,49 @@ var TableRow = (0, import_react23.forwardRef)(
6731
6808
  }
6732
6809
  );
6733
6810
  TableRow.displayName = "TableRow";
6734
- var TableHead = (0, import_react23.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6735
- "th",
6736
- {
6737
- ref,
6738
- className: cn(
6739
- "h-10 px-6 py-3.5 bg-muted/50 text-left align-middle font-bold text-text-800 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
6740
- className
6741
- ),
6811
+ var TableHead = (0, import_react23.forwardRef)(
6812
+ ({
6813
+ className,
6814
+ sortable = true,
6815
+ sortDirection = null,
6816
+ onSort,
6817
+ children,
6742
6818
  ...props
6819
+ }, ref) => {
6820
+ const handleClick = () => {
6821
+ if (sortable && onSort) {
6822
+ onSort();
6823
+ }
6824
+ };
6825
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6826
+ "th",
6827
+ {
6828
+ ref,
6829
+ className: cn(
6830
+ "h-10 px-6 py-3.5 text-left align-middle font-bold text-base text-text-800 tracking-[0.2px] leading-none [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] whitespace-nowrap",
6831
+ sortable && "cursor-pointer select-none hover:bg-muted/30",
6832
+ className
6833
+ ),
6834
+ onClick: handleClick,
6835
+ ...props,
6836
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex items-center gap-2", children: [
6837
+ children,
6838
+ sortable && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-col", children: [
6839
+ sortDirection === "asc" && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_phosphor_react16.CaretUp, { size: 16, weight: "fill", className: "text-text-800" }),
6840
+ sortDirection === "desc" && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_phosphor_react16.CaretDown, { size: 16, weight: "fill", className: "text-text-800" })
6841
+ ] })
6842
+ ] })
6843
+ }
6844
+ );
6743
6845
  }
6744
- ));
6846
+ );
6745
6847
  TableHead.displayName = "TableHead";
6746
6848
  var TableCell = (0, import_react23.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6747
6849
  "td",
6748
6850
  {
6749
6851
  ref,
6750
6852
  className: cn(
6751
- "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-md text-text-800 px-6 py-3.5",
6853
+ "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-base font-normal text-text-800 leading-[150%] tracking-normal px-6 py-3.5 whitespace-nowrap",
6752
6854
  className
6753
6855
  ),
6754
6856
  ...props
@@ -6772,7 +6874,7 @@ var Table_default = Table;
6772
6874
  // src/components/Select/Select.tsx
6773
6875
  var import_zustand7 = require("zustand");
6774
6876
  var import_react24 = require("react");
6775
- var import_phosphor_react16 = require("phosphor-react");
6877
+ var import_phosphor_react17 = require("phosphor-react");
6776
6878
  var import_jsx_runtime40 = require("react/jsx-runtime");
6777
6879
  var VARIANT_CLASSES4 = {
6778
6880
  outlined: "border-2 rounded-lg focus:border-primary-950",
@@ -6957,7 +7059,7 @@ var Select = ({
6957
7059
  (helperText || errorMessage) && /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "mt-1.5 gap-1.5", children: [
6958
7060
  helperText && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: "text-sm text-text-500", children: helperText }),
6959
7061
  errorMessage && /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("p", { className: "flex gap-1 items-center text-sm text-indicator-error", children: [
6960
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_phosphor_react16.WarningCircle, { size: 16 }),
7062
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_phosphor_react17.WarningCircle, { size: 16 }),
6961
7063
  " ",
6962
7064
  errorMessage
6963
7065
  ] })
@@ -7013,7 +7115,7 @@ var SelectTrigger = (0, import_react24.forwardRef)(
7013
7115
  children: [
7014
7116
  props.children,
7015
7117
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
7016
- import_phosphor_react16.CaretDown,
7118
+ import_phosphor_react17.CaretDown,
7017
7119
  {
7018
7120
  className: cn(
7019
7121
  "h-[1em] w-[1em] opacity-50 transition-transform",
@@ -7104,7 +7206,7 @@ var SelectItem = (0, import_react24.forwardRef)(
7104
7206
  tabIndex: disabled ? -1 : 0,
7105
7207
  ...props,
7106
7208
  children: [
7107
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: selectedValue === value && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_phosphor_react16.Check, { className: "" }) }),
7209
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: selectedValue === value && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_phosphor_react17.Check, { className: "" }) }),
7108
7210
  children
7109
7211
  ]
7110
7212
  }
@@ -7117,7 +7219,7 @@ var Select_default = Select;
7117
7219
  // src/components/Menu/Menu.tsx
7118
7220
  var import_zustand8 = require("zustand");
7119
7221
  var import_react25 = require("react");
7120
- var import_phosphor_react17 = require("phosphor-react");
7222
+ var import_phosphor_react18 = require("phosphor-react");
7121
7223
  var import_jsx_runtime41 = require("react/jsx-runtime");
7122
7224
  var createMenuStore = (onValueChange) => (0, import_zustand8.create)((set) => ({
7123
7225
  value: "",
@@ -7316,7 +7418,7 @@ var MenuItem = (0, import_react25.forwardRef)(
7316
7418
  }
7317
7419
  ),
7318
7420
  separator && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7319
- import_phosphor_react17.CaretRight,
7421
+ import_phosphor_react18.CaretRight,
7320
7422
  {
7321
7423
  size: 16,
7322
7424
  className: "text-text-600",
@@ -7383,7 +7485,7 @@ var MenuOverflow = ({
7383
7485
  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",
7384
7486
  "data-testid": "scroll-left-button",
7385
7487
  children: [
7386
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_phosphor_react17.CaretLeft, { size: 16 }),
7488
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_phosphor_react18.CaretLeft, { size: 16 }),
7387
7489
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "sr-only", children: "Scroll left" })
7388
7490
  ]
7389
7491
  }
@@ -7406,7 +7508,7 @@ var MenuOverflow = ({
7406
7508
  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",
7407
7509
  "data-testid": "scroll-right-button",
7408
7510
  children: [
7409
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_phosphor_react17.CaretRight, { size: 16 }),
7511
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_phosphor_react18.CaretRight, { size: 16 }),
7410
7512
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "sr-only", children: "Scroll right" })
7411
7513
  ]
7412
7514
  }
@@ -7428,7 +7530,7 @@ var Menu_default = Menu;
7428
7530
 
7429
7531
  // src/components/Card/Card.tsx
7430
7532
  var import_react27 = require("react");
7431
- var import_phosphor_react18 = require("phosphor-react");
7533
+ var import_phosphor_react19 = require("phosphor-react");
7432
7534
 
7433
7535
  // src/components/IconRender/IconRender.tsx
7434
7536
  var import_react26 = require("react");
@@ -7883,7 +7985,7 @@ var CardPerformance = (0, import_react27.forwardRef)(
7883
7985
  ) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-xs text-text-600 truncate", children: description }) })
7884
7986
  ] }),
7885
7987
  actionVariant == "caret" && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
7886
- import_phosphor_react18.CaretRight,
7988
+ import_phosphor_react19.CaretRight,
7887
7989
  {
7888
7990
  className: "size-4.5 text-text-800 cursor-pointer",
7889
7991
  "data-testid": "caret-icon"
@@ -7945,7 +8047,7 @@ var CardResults = (0, import_react27.forwardRef)(
7945
8047
  action: "success",
7946
8048
  variant: "solid",
7947
8049
  size: "large",
7948
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.CheckCircle, {}),
8050
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.CheckCircle, {}),
7949
8051
  children: [
7950
8052
  correct_answers,
7951
8053
  " Corretas"
@@ -7958,7 +8060,7 @@ var CardResults = (0, import_react27.forwardRef)(
7958
8060
  action: "error",
7959
8061
  variant: "solid",
7960
8062
  size: "large",
7961
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.XCircle, {}),
8063
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.XCircle, {}),
7962
8064
  children: [
7963
8065
  incorrect_answers,
7964
8066
  " Incorretas"
@@ -7969,7 +8071,7 @@ var CardResults = (0, import_react27.forwardRef)(
7969
8071
  ]
7970
8072
  }
7971
8073
  ),
7972
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
8074
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
7973
8075
  ] })
7974
8076
  ]
7975
8077
  }
@@ -7995,13 +8097,13 @@ var CardStatus = (0, import_react27.forwardRef)(
7995
8097
  const getIconBadge = (status2) => {
7996
8098
  switch (status2) {
7997
8099
  case "correct":
7998
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.CheckCircle, {});
8100
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.CheckCircle, {});
7999
8101
  case "incorrect":
8000
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.XCircle, {});
8102
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.XCircle, {});
8001
8103
  case "pending":
8002
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.Clock, {});
8104
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.Clock, {});
8003
8105
  default:
8004
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.XCircle, {});
8106
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.XCircle, {});
8005
8107
  }
8006
8108
  };
8007
8109
  const getActionBadge = (status2) => {
@@ -8040,7 +8142,7 @@ var CardStatus = (0, import_react27.forwardRef)(
8040
8142
  ),
8041
8143
  label && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-sm text-text-800", children: label })
8042
8144
  ] }),
8043
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.CaretRight, { className: "min-w-6 min-h-6 text-text-800 cursor-pointer flex-shrink-0 ml-2" })
8145
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.CaretRight, { className: "min-w-6 min-h-6 text-text-800 cursor-pointer flex-shrink-0 ml-2" })
8044
8146
  ] })
8045
8147
  }
8046
8148
  );
@@ -8063,7 +8165,7 @@ var CardSettings = (0, import_react27.forwardRef)(
8063
8165
  children: [
8064
8166
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "[&>svg]:size-6", children: icon }),
8065
8167
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "w-full text-sm truncate", children: header }),
8066
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.CaretRight, { size: 24, className: "cursor-pointer" })
8168
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.CaretRight, { size: 24, className: "cursor-pointer" })
8067
8169
  ]
8068
8170
  }
8069
8171
  );
@@ -8097,7 +8199,7 @@ var CardSupport = (0, import_react27.forwardRef)(
8097
8199
  ]
8098
8200
  }
8099
8201
  ),
8100
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.CaretRight, { className: "text-text-800 cursor-pointer", size: 24 })
8202
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.CaretRight, { className: "text-text-800 cursor-pointer", size: 24 })
8101
8203
  ]
8102
8204
  }
8103
8205
  );
@@ -8156,7 +8258,7 @@ var CardForum = (0, import_react27.forwardRef)(
8156
8258
  onClick: () => onClickComments?.(valueComments),
8157
8259
  className: "text-text-600 flex flex-row gap-2 items-center",
8158
8260
  children: [
8159
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.ChatCircleText, { "aria-hidden": "true", size: 16 }),
8261
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.ChatCircleText, { "aria-hidden": "true", size: 16 }),
8160
8262
  /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("p", { className: "text-xs", children: [
8161
8263
  comments,
8162
8264
  " respostas"
@@ -8260,12 +8362,12 @@ var CardAudio = (0, import_react27.forwardRef)(
8260
8362
  };
8261
8363
  const getVolumeIcon = () => {
8262
8364
  if (volume === 0) {
8263
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.SpeakerSimpleX, { size: 24 });
8365
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.SpeakerSimpleX, { size: 24 });
8264
8366
  }
8265
8367
  if (volume < 0.5) {
8266
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.SpeakerLow, { size: 24 });
8368
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.SpeakerLow, { size: 24 });
8267
8369
  }
8268
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.SpeakerHigh, { size: 24 });
8370
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.SpeakerHigh, { size: 24 });
8269
8371
  };
8270
8372
  (0, import_react27.useEffect)(() => {
8271
8373
  const handleClickOutside = (event) => {
@@ -8338,7 +8440,7 @@ var CardAudio = (0, import_react27.forwardRef)(
8338
8440
  children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex gap-0.5", children: [
8339
8441
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" }),
8340
8442
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" })
8341
- ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.Play, { size: 24 })
8443
+ ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.Play, { size: 24 })
8342
8444
  }
8343
8445
  ),
8344
8446
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime2(currentTime) }),
@@ -8439,7 +8541,7 @@ var CardAudio = (0, import_react27.forwardRef)(
8439
8541
  onClick: toggleSpeedMenu,
8440
8542
  className: "cursor-pointer text-text-950 hover:text-primary-600",
8441
8543
  "aria-label": "Op\xE7\xF5es de velocidade",
8442
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.DotsThreeVertical, { size: 24 })
8544
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.DotsThreeVertical, { size: 24 })
8443
8545
  }
8444
8546
  ),
8445
8547
  showSpeedMenu && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "absolute bottom-full right-0 mb-2 p-2 bg-background border border-border-100 rounded-lg shadow-lg min-w-24 z-10", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex flex-col gap-1", children: [
@@ -8492,14 +8594,14 @@ var CardSimulado = (0, import_react27.forwardRef)(
8492
8594
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text_default, { size: "lg", weight: "bold", className: "text-text-950 truncate", children: title }),
8493
8595
  /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center gap-4 text-text-700", children: [
8494
8596
  duration && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center gap-1", children: [
8495
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.Clock, { size: 16, className: "flex-shrink-0" }),
8597
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.Clock, { size: 16, className: "flex-shrink-0" }),
8496
8598
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text_default, { size: "sm", children: duration })
8497
8599
  ] }),
8498
8600
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text_default, { size: "sm", className: "truncate", children: info })
8499
8601
  ] })
8500
8602
  ] }),
8501
8603
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8502
- import_phosphor_react18.CaretRight,
8604
+ import_phosphor_react19.CaretRight,
8503
8605
  {
8504
8606
  size: 24,
8505
8607
  className: "text-text-800 flex-shrink-0",
@@ -8567,7 +8669,7 @@ var CardTest = (0, import_react27.forwardRef)(
8567
8669
  ),
8568
8670
  /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
8569
8671
  duration && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
8570
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.Clock, { size: 16, className: "text-text-700" }),
8672
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.Clock, { size: 16, className: "text-text-700" }),
8571
8673
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8572
8674
  Text_default,
8573
8675
  {
@@ -8608,7 +8710,7 @@ var CardTest = (0, import_react27.forwardRef)(
8608
8710
  ),
8609
8711
  /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
8610
8712
  duration && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
8611
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react18.Clock, { size: 16, className: "text-text-700" }),
8713
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_phosphor_react19.Clock, { size: 16, className: "text-text-700" }),
8612
8714
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8613
8715
  Text_default,
8614
8716
  {
@@ -8718,7 +8820,7 @@ var CardSimulationHistory = (0, import_react27.forwardRef)(({ data, onSimulation
8718
8820
  ] })
8719
8821
  ] }),
8720
8822
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8721
- import_phosphor_react18.CaretRight,
8823
+ import_phosphor_react19.CaretRight,
8722
8824
  {
8723
8825
  size: 24,
8724
8826
  className: "text-text-800 flex-shrink-0",
@@ -8740,7 +8842,7 @@ var CardSimulationHistory = (0, import_react27.forwardRef)(({ data, onSimulation
8740
8842
  });
8741
8843
 
8742
8844
  // src/components/StatisticsCard/StatisticsCard.tsx
8743
- var import_phosphor_react19 = require("phosphor-react");
8845
+ var import_phosphor_react20 = require("phosphor-react");
8744
8846
  var import_jsx_runtime44 = require("react/jsx-runtime");
8745
8847
  var VARIANT_STYLES = {
8746
8848
  high: "bg-success-background",
@@ -8879,7 +8981,7 @@ var StatisticsCard = ({
8879
8981
  action: "primary",
8880
8982
  size: "small",
8881
8983
  onClick: onEmptyStateButtonClick,
8882
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_phosphor_react19.Plus, { size: 16, weight: "bold" }),
8984
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_phosphor_react20.Plus, { size: 16, weight: "bold" }),
8883
8985
  children: emptyStateButtonText
8884
8986
  }
8885
8987
  )
@@ -8993,11 +9095,11 @@ var NotFound_default = NotFound;
8993
9095
  // src/components/VideoPlayer/VideoPlayer.tsx
8994
9096
  var import_react29 = require("react");
8995
9097
  var import_react_dom = require("react-dom");
8996
- var import_phosphor_react21 = require("phosphor-react");
9098
+ var import_phosphor_react22 = require("phosphor-react");
8997
9099
 
8998
9100
  // src/components/DownloadButton/DownloadButton.tsx
8999
9101
  var import_react28 = require("react");
9000
- var import_phosphor_react20 = require("phosphor-react");
9102
+ var import_phosphor_react21 = require("phosphor-react");
9001
9103
  var import_jsx_runtime46 = require("react/jsx-runtime");
9002
9104
  var getMimeType = (url) => {
9003
9105
  const extension = getFileExtension(url);
@@ -9158,7 +9260,7 @@ var DownloadButton = ({
9158
9260
  return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: cn("flex items-center", className), children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
9159
9261
  IconButton_default,
9160
9262
  {
9161
- icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_phosphor_react20.DownloadSimple, { size: 24 }),
9263
+ icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_phosphor_react21.DownloadSimple, { size: 24 }),
9162
9264
  onClick: handleDownload,
9163
9265
  disabled: disabled || isDownloading,
9164
9266
  "aria-label": (() => {
@@ -9221,7 +9323,7 @@ var VolumeControls = ({
9221
9323
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9222
9324
  IconButton_default,
9223
9325
  {
9224
- icon: isMuted ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react21.SpeakerSlash, { size: iconSize }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react21.SpeakerHigh, { size: iconSize }),
9326
+ icon: isMuted ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react22.SpeakerSlash, { size: iconSize }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react22.SpeakerHigh, { size: iconSize }),
9225
9327
  onClick: onToggleMute,
9226
9328
  "aria-label": isMuted ? "Unmute" : "Mute",
9227
9329
  className: "!bg-transparent !text-white hover:!bg-white/20"
@@ -9317,7 +9419,7 @@ var SpeedMenu = ({
9317
9419
  IconButton_default,
9318
9420
  {
9319
9421
  ref: buttonRef,
9320
- icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react21.DotsThreeVertical, { size: iconSize }),
9422
+ icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react22.DotsThreeVertical, { size: iconSize }),
9321
9423
  onClick: onToggleMenu,
9322
9424
  "aria-label": "Playback speed",
9323
9425
  "aria-haspopup": "menu",
@@ -9924,7 +10026,7 @@ var VideoPlayer = ({
9924
10026
  children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9925
10027
  IconButton_default,
9926
10028
  {
9927
- icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react21.Play, { size: 32, weight: "regular", className: "ml-1" }),
10029
+ icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react22.Play, { size: 32, weight: "regular", className: "ml-1" }),
9928
10030
  onClick: togglePlayPause,
9929
10031
  "aria-label": "Play video",
9930
10032
  className: "!bg-transparent !text-white !w-auto !h-auto hover:!bg-transparent hover:!text-gray-200"
@@ -9942,7 +10044,7 @@ var VideoPlayer = ({
9942
10044
  children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex justify-start", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9943
10045
  IconButton_default,
9944
10046
  {
9945
- icon: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react21.ArrowsInSimple, { size: 24 }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react21.ArrowsOutSimple, { size: 24 }),
10047
+ icon: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react22.ArrowsInSimple, { size: 24 }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react22.ArrowsOutSimple, { size: 24 }),
9946
10048
  onClick: toggleFullscreen,
9947
10049
  "aria-label": isFullscreen ? "Exit fullscreen" : "Enter fullscreen",
9948
10050
  className: "!bg-transparent !text-white hover:!bg-white/20"
@@ -9980,7 +10082,7 @@ var VideoPlayer = ({
9980
10082
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9981
10083
  IconButton_default,
9982
10084
  {
9983
- icon: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react21.Pause, { size: getIconSize2() }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react21.Play, { size: getIconSize2() }),
10085
+ icon: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react22.Pause, { size: getIconSize2() }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react22.Play, { size: getIconSize2() }),
9984
10086
  onClick: togglePlayPause,
9985
10087
  "aria-label": isPlaying ? "Pause" : "Play",
9986
10088
  className: "!bg-transparent !text-white hover:!bg-white/20"
@@ -10000,7 +10102,7 @@ var VideoPlayer = ({
10000
10102
  groupedSubTitleValid && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
10001
10103
  IconButton_default,
10002
10104
  {
10003
- icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react21.ClosedCaptioning, { size: getIconSize2() }),
10105
+ icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_phosphor_react22.ClosedCaptioning, { size: getIconSize2() }),
10004
10106
  onClick: toggleCaptions,
10005
10107
  "aria-label": showCaptions ? "Hide captions" : "Show captions",
10006
10108
  className: cn(
@@ -10042,7 +10144,7 @@ var VideoPlayer_default = VideoPlayer;
10042
10144
 
10043
10145
  // src/components/Whiteboard/Whiteboard.tsx
10044
10146
  var import_react30 = require("react");
10045
- var import_phosphor_react22 = require("phosphor-react");
10147
+ var import_phosphor_react23 = require("phosphor-react");
10046
10148
  var import_jsx_runtime48 = require("react/jsx-runtime");
10047
10149
  var IMAGE_WIDTH = 225;
10048
10150
  var IMAGE_HEIGHT = 90;
@@ -10140,7 +10242,7 @@ var Whiteboard = ({
10140
10242
  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",
10141
10243
  "aria-label": `Download ${image.title || "imagem"}`,
10142
10244
  children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
10143
- import_phosphor_react22.ArrowsOut,
10245
+ import_phosphor_react23.ArrowsOut,
10144
10246
  {
10145
10247
  size: 24,
10146
10248
  weight: "regular",
@@ -10333,7 +10435,7 @@ var getRootDomain = () => {
10333
10435
 
10334
10436
  // src/components/Accordation/Accordation.tsx
10335
10437
  var import_react32 = require("react");
10336
- var import_phosphor_react23 = require("phosphor-react");
10438
+ var import_phosphor_react24 = require("phosphor-react");
10337
10439
  var import_jsx_runtime50 = require("react/jsx-runtime");
10338
10440
  var CardAccordation = (0, import_react32.forwardRef)(
10339
10441
  ({
@@ -10402,7 +10504,7 @@ var CardAccordation = (0, import_react32.forwardRef)(
10402
10504
  children: [
10403
10505
  trigger,
10404
10506
  /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
10405
- import_phosphor_react23.CaretRight,
10507
+ import_phosphor_react24.CaretRight,
10406
10508
  {
10407
10509
  size: 20,
10408
10510
  className: cn(
@@ -10587,7 +10689,7 @@ var AccordionGroup = (0, import_react33.forwardRef)(
10587
10689
  AccordionGroup.displayName = "AccordionGroup";
10588
10690
 
10589
10691
  // src/components/Alternative/Alternative.tsx
10590
- var import_phosphor_react24 = require("phosphor-react");
10692
+ var import_phosphor_react25 = require("phosphor-react");
10591
10693
  var import_react34 = require("react");
10592
10694
  var import_jsx_runtime52 = require("react/jsx-runtime");
10593
10695
  var AlternativesList = ({
@@ -10620,9 +10722,9 @@ var AlternativesList = ({
10620
10722
  const getStatusBadge2 = (status) => {
10621
10723
  switch (status) {
10622
10724
  case "correct":
10623
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_phosphor_react24.CheckCircle, {}), children: "Resposta correta" });
10725
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_phosphor_react25.CheckCircle, {}), children: "Resposta correta" });
10624
10726
  case "incorrect":
10625
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_phosphor_react24.XCircle, {}), children: "Resposta incorreta" });
10727
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_phosphor_react25.XCircle, {}), children: "Resposta incorreta" });
10626
10728
  default:
10627
10729
  return null;
10628
10730
  }
@@ -11020,7 +11122,7 @@ function useApiConfig(api) {
11020
11122
  }
11021
11123
 
11022
11124
  // src/components/Quiz/Quiz.tsx
11023
- var import_phosphor_react27 = require("phosphor-react");
11125
+ var import_phosphor_react28 = require("phosphor-react");
11024
11126
  var import_react39 = require("react");
11025
11127
 
11026
11128
  // src/components/Quiz/useQuizStore.ts
@@ -11627,7 +11729,7 @@ var import_react38 = require("react");
11627
11729
 
11628
11730
  // src/components/MultipleChoice/MultipleChoice.tsx
11629
11731
  var import_react37 = require("react");
11630
- var import_phosphor_react25 = require("phosphor-react");
11732
+ var import_phosphor_react26 = require("phosphor-react");
11631
11733
  var import_jsx_runtime53 = require("react/jsx-runtime");
11632
11734
  var MultipleChoiceList = ({
11633
11735
  disabled = false,
@@ -11645,9 +11747,9 @@ var MultipleChoiceList = ({
11645
11747
  const getStatusBadge2 = (status) => {
11646
11748
  switch (status) {
11647
11749
  case "correct":
11648
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_phosphor_react25.CheckCircle, {}), children: "Resposta correta" });
11750
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_phosphor_react26.CheckCircle, {}), children: "Resposta correta" });
11649
11751
  case "incorrect":
11650
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_phosphor_react25.XCircle, {}), children: "Resposta incorreta" });
11752
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_phosphor_react26.XCircle, {}), children: "Resposta incorreta" });
11651
11753
  default:
11652
11754
  return null;
11653
11755
  }
@@ -11668,7 +11770,7 @@ var MultipleChoiceList = ({
11668
11770
  isSelected ? "border-primary-950 bg-primary-950 text-text" : "border-border-400 bg-background",
11669
11771
  isDisabled && "opacity-40 cursor-not-allowed"
11670
11772
  );
11671
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: checkboxClasses, children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_phosphor_react25.Check, { size: 16, weight: "bold" }) });
11773
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: checkboxClasses, children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_phosphor_react26.Check, { size: 16, weight: "bold" }) });
11672
11774
  };
11673
11775
  if (mode === "readonly") {
11674
11776
  return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: cn("flex flex-col gap-2", className), children: choices.map((choice, i) => {
@@ -11759,7 +11861,7 @@ var MultipleChoiceList = ({
11759
11861
  };
11760
11862
 
11761
11863
  // src/components/Quiz/QuizContent.tsx
11762
- var import_phosphor_react26 = require("phosphor-react");
11864
+ var import_phosphor_react27 = require("phosphor-react");
11763
11865
 
11764
11866
  // src/assets/img/mock-image-question.png
11765
11867
  var mock_image_question_default = "./mock-image-question-HEZCLFDL.png";
@@ -11769,9 +11871,9 @@ var import_jsx_runtime54 = require("react/jsx-runtime");
11769
11871
  var getStatusBadge = (status) => {
11770
11872
  switch (status) {
11771
11873
  case "correct":
11772
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_phosphor_react26.CheckCircle, {}), children: "Resposta correta" });
11874
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_phosphor_react27.CheckCircle, {}), children: "Resposta correta" });
11773
11875
  case "incorrect":
11774
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_phosphor_react26.XCircle, {}), children: "Resposta incorreta" });
11876
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_phosphor_react27.XCircle, {}), children: "Resposta incorreta" });
11775
11877
  default:
11776
11878
  return null;
11777
11879
  }
@@ -12291,7 +12393,7 @@ var QuizFill = ({ paddingBottom }) => {
12291
12393
  );
12292
12394
  if (!mockAnswer) return null;
12293
12395
  const action = mockAnswer.isCorrect ? "success" : "error";
12294
- const icon = mockAnswer.isCorrect ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_phosphor_react26.CheckCircle, {}) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_phosphor_react26.XCircle, {});
12396
+ const icon = mockAnswer.isCorrect ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_phosphor_react27.CheckCircle, {}) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_phosphor_react27.XCircle, {});
12295
12397
  return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
12296
12398
  Badge_default,
12297
12399
  {
@@ -12613,7 +12715,7 @@ var QuizTitle = (0, import_react39.forwardRef)(({ className, onBack, ...props },
12613
12715
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
12614
12716
  IconButton_default,
12615
12717
  {
12616
- icon: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react27.CaretLeft, { size: 24 }),
12718
+ icon: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react28.CaretLeft, { size: 24 }),
12617
12719
  size: "md",
12618
12720
  "aria-label": "Voltar",
12619
12721
  onClick: handleBackClick
@@ -12623,7 +12725,7 @@ var QuizTitle = (0, import_react39.forwardRef)(({ className, onBack, ...props },
12623
12725
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
12624
12726
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
12625
12727
  ] }),
12626
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "flex flex-row items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react27.Clock, {}), children: isStarted ? formatTime2(timeElapsed) : "00:00" }) })
12728
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "flex flex-row items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react28.Clock, {}), children: isStarted ? formatTime2(timeElapsed) : "00:00" }) })
12627
12729
  ]
12628
12730
  }
12629
12731
  ),
@@ -12721,7 +12823,7 @@ var QuizQuestionList = ({
12721
12823
  Object.entries(filteredGroupedQuestions).map(
12722
12824
  ([subjectId, questions]) => /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("section", { className: "flex flex-col gap-2", children: [
12723
12825
  /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
12724
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react27.BookOpen, { size: 17, className: "text-white" }) }),
12826
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react28.BookOpen, { size: 17, className: "text-white" }) }),
12725
12827
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "text-text-800 font-bold text-lg", children: questions?.[0]?.knowledgeMatrix?.[0]?.subject?.name ?? "Sem mat\xE9ria" })
12726
12828
  ] }),
12727
12829
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("ul", { className: "flex flex-col gap-2", children: questions.map((question) => {
@@ -12849,7 +12951,7 @@ var QuizFooter = (0, import_react39.forwardRef)(
12849
12951
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
12850
12952
  IconButton_default,
12851
12953
  {
12852
- icon: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react27.SquaresFour, { size: 24, className: "text-text-950" }),
12954
+ icon: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react28.SquaresFour, { size: 24, className: "text-text-950" }),
12853
12955
  size: "md",
12854
12956
  onClick: () => openModal("modalNavigate")
12855
12957
  }
@@ -12871,7 +12973,7 @@ var QuizFooter = (0, import_react39.forwardRef)(
12871
12973
  size: "medium",
12872
12974
  variant: "link",
12873
12975
  action: "primary",
12874
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react27.CaretLeft, { size: 18 }),
12976
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react28.CaretLeft, { size: 18 }),
12875
12977
  onClick: () => {
12876
12978
  goToPreviousQuestion();
12877
12979
  },
@@ -12907,7 +13009,7 @@ var QuizFooter = (0, import_react39.forwardRef)(
12907
13009
  size: "medium",
12908
13010
  variant: "link",
12909
13011
  action: "primary",
12910
- iconRight: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react27.CaretRight, { size: 18 }),
13012
+ iconRight: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_phosphor_react28.CaretRight, { size: 18 }),
12911
13013
  disabled: !currentAnswer && !isCurrentQuestionSkipped,
12912
13014
  onClick: () => {
12913
13015
  goToNextQuestion();
@@ -13122,7 +13224,7 @@ var QuizFooter = (0, import_react39.forwardRef)(
13122
13224
 
13123
13225
  // src/components/Quiz/QuizResult.tsx
13124
13226
  var import_react40 = require("react");
13125
- var import_phosphor_react28 = require("phosphor-react");
13227
+ var import_phosphor_react29 = require("phosphor-react");
13126
13228
  var import_jsx_runtime56 = require("react/jsx-runtime");
13127
13229
  var QuizBadge = ({
13128
13230
  subtype
@@ -13332,7 +13434,7 @@ var QuizResultPerformance = (0, import_react40.forwardRef)(({ showDetails = true
13332
13434
  ),
13333
13435
  /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
13334
13436
  showDetails && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center gap-1 mb-1", children: [
13335
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_phosphor_react28.Clock, { size: 12, weight: "regular", className: "text-text-800" }),
13437
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_phosphor_react29.Clock, { size: 12, weight: "regular", className: "text-text-800" }),
13336
13438
  /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-2xs font-medium text-text-800", children: formatTime2(
13337
13439
  (getQuestionResultStatistics()?.timeSpent ?? 0) * 60
13338
13440
  ) })
@@ -14153,6 +14255,7 @@ function useAppContent(config) {
14153
14255
  useMobile,
14154
14256
  useQuizStore,
14155
14257
  useRouteAuth,
14258
+ useTableSort,
14156
14259
  useTheme,
14157
14260
  useThemeStore,
14158
14261
  useToastStore,