analytica-frontend-lib 1.2.78 → 1.2.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/ActivitiesHistory/index.js +485 -418
  2. package/dist/ActivitiesHistory/index.js.map +1 -1
  3. package/dist/ActivitiesHistory/index.mjs +478 -411
  4. package/dist/ActivitiesHistory/index.mjs.map +1 -1
  5. package/dist/RecommendedLessonsHistory/index.d.ts +1 -1
  6. package/dist/RecommendedLessonsHistory/index.d.ts.map +1 -1
  7. package/dist/RecommendedLessonsHistory/index.js +1183 -381
  8. package/dist/RecommendedLessonsHistory/index.js.map +1 -1
  9. package/dist/RecommendedLessonsHistory/index.mjs +1176 -372
  10. package/dist/RecommendedLessonsHistory/index.mjs.map +1 -1
  11. package/dist/SendActivityModal/SendActivityModal.d.ts.map +1 -1
  12. package/dist/SendActivityModal/SendActivityModal.js +4261 -4117
  13. package/dist/SendActivityModal/SendActivityModal.js.map +1 -1
  14. package/dist/SendActivityModal/SendActivityModal.mjs +4282 -4139
  15. package/dist/SendActivityModal/SendActivityModal.mjs.map +1 -1
  16. package/dist/SendActivityModal/hooks/useSendActivityModal.d.ts.map +1 -1
  17. package/dist/SendActivityModal/hooks/useSendActivityModal.js +16 -18
  18. package/dist/SendActivityModal/hooks/useSendActivityModal.js.map +1 -1
  19. package/dist/SendActivityModal/hooks/useSendActivityModal.mjs +16 -18
  20. package/dist/SendActivityModal/hooks/useSendActivityModal.mjs.map +1 -1
  21. package/dist/SendActivityModal/index.js +1285 -1141
  22. package/dist/SendActivityModal/index.js.map +1 -1
  23. package/dist/SendActivityModal/index.mjs +1164 -1021
  24. package/dist/SendActivityModal/index.mjs.map +1 -1
  25. package/dist/hooks/useGoalModels.d.ts +171 -0
  26. package/dist/hooks/useGoalModels.d.ts.map +1 -0
  27. package/dist/index.d.ts +9 -6
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +1864 -1716
  30. package/dist/index.js.map +1 -1
  31. package/dist/index.mjs +1896 -1765
  32. package/dist/index.mjs.map +1 -1
  33. package/dist/types/recommendedLessons/index.d.ts +61 -0
  34. package/dist/types/recommendedLessons/index.d.ts.map +1 -1
  35. package/dist/types/recommendedLessons/index.js +7 -0
  36. package/dist/types/recommendedLessons/index.js.map +1 -1
  37. package/dist/types/recommendedLessons/index.mjs +6 -0
  38. package/dist/types/recommendedLessons/index.mjs.map +1 -1
  39. package/dist/types/recommendedLessons.d.ts +61 -0
  40. package/dist/types/recommendedLessons.d.ts.map +1 -1
  41. package/dist/utils/extractStudentsFromCategories.d.ts +15 -0
  42. package/dist/utils/extractStudentsFromCategories.d.ts.map +1 -0
  43. package/dist/utils/renderSubjectCell.d.ts +11 -0
  44. package/dist/utils/renderSubjectCell.d.ts.map +1 -0
  45. package/package.json +3 -2
@@ -47,8 +47,7 @@ __export(SendActivityModal_exports, {
47
47
  module.exports = __toCommonJS(SendActivityModal_exports);
48
48
 
49
49
  // src/components/SendActivityModal/SendActivityModal.tsx
50
- var import_react17 = require("react");
51
- var import_react18 = require("@phosphor-icons/react");
50
+ var import_react18 = require("react");
52
51
 
53
52
  // src/components/Modal/Modal.tsx
54
53
  var import_react = require("react");
@@ -1456,209 +1455,532 @@ var RadioGroupItem = (0, import_react4.forwardRef)(
1456
1455
  );
1457
1456
  RadioGroupItem.displayName = "RadioGroupItem";
1458
1457
 
1459
- // src/components/CheckBoxGroup/CheckBoxGroup.tsx
1460
- var import_react16 = require("react");
1458
+ // src/components/SendActivityModal/hooks/useSendActivityModal.ts
1459
+ var import_zustand2 = require("zustand");
1461
1460
 
1462
- // src/components/Badge/Badge.tsx
1463
- var import_phosphor_react6 = require("phosphor-react");
1464
- var import_jsx_runtime9 = require("react/jsx-runtime");
1465
- var VARIANT_ACTION_CLASSES2 = {
1466
- solid: {
1467
- error: "bg-error-background text-error-700 focus-visible:outline-none",
1468
- warning: "bg-warning text-warning-800 focus-visible:outline-none",
1469
- success: "bg-success text-success-800 focus-visible:outline-none",
1470
- info: "bg-info text-info-800 focus-visible:outline-none",
1471
- muted: "bg-background-muted text-background-800 focus-visible:outline-none"
1472
- },
1473
- outlined: {
1474
- error: "bg-error text-error-700 border border-error-300 focus-visible:outline-none",
1475
- warning: "bg-warning text-warning-800 border border-warning-300 focus-visible:outline-none",
1476
- success: "bg-success text-success-800 border border-success-300 focus-visible:outline-none",
1477
- info: "bg-info text-info-800 border border-info-300 focus-visible:outline-none",
1478
- muted: "bg-background-muted text-background-800 border border-border-300 focus-visible:outline-none"
1479
- },
1480
- exams: {
1481
- exam1: "bg-exam-1 text-info-700 focus-visible:outline-none",
1482
- exam2: "bg-exam-2 text-typography-1 focus-visible:outline-none",
1483
- exam3: "bg-exam-3 text-typography-2 focus-visible:outline-none",
1484
- exam4: "bg-exam-4 text-success-700 focus-visible:outline-none"
1485
- },
1486
- examsOutlined: {
1487
- exam1: "bg-exam-1 text-info-700 border border-info-700 focus-visible:outline-none",
1488
- exam2: "bg-exam-2 text-typography-1 border border-typography-1 focus-visible:outline-none",
1489
- exam3: "bg-exam-3 text-typography-2 border border-typography-2 focus-visible:outline-none",
1490
- exam4: "bg-exam-4 text-success-700 border border-success-700 focus-visible:outline-none"
1491
- },
1492
- resultStatus: {
1493
- negative: "bg-error text-error-800 focus-visible:outline-none",
1494
- positive: "bg-success text-success-800 focus-visible:outline-none"
1495
- },
1496
- notification: "text-primary"
1497
- };
1498
- var SIZE_CLASSES7 = {
1499
- small: "text-2xs px-2 py-1",
1500
- medium: "text-xs px-2 py-1",
1501
- large: "text-sm px-2 py-1"
1502
- };
1503
- var SIZE_CLASSES_ICON = {
1504
- small: "size-3",
1505
- medium: "size-3.5",
1506
- large: "size-4"
1461
+ // src/components/SendActivityModal/validation.ts
1462
+ var import_zod = require("zod");
1463
+ var ERROR_MESSAGES = {
1464
+ SUBTYPE_REQUIRED: "Campo obrigat\xF3rio! Por favor, selecione uma op\xE7\xE3o para continuar.",
1465
+ TITLE_REQUIRED: "Campo obrigat\xF3rio! Por favor, preencha este campo para continuar.",
1466
+ STUDENTS_REQUIRED: "Campo obrigat\xF3rio! Por favor, selecione pelo menos um aluno para continuar.",
1467
+ START_DATE_REQUIRED: "Campo obrigat\xF3rio! Por favor, preencha este campo para continuar.",
1468
+ FINAL_DATE_REQUIRED: "Campo obrigat\xF3rio! Por favor, preencha este campo para continuar.",
1469
+ FINAL_DATE_INVALID: "A data final deve ser maior ou igual \xE0 data inicial."
1507
1470
  };
1508
- var Badge = ({
1509
- children,
1510
- iconLeft,
1511
- iconRight,
1512
- size = "medium",
1513
- variant = "solid",
1514
- action = "error",
1515
- className = "",
1516
- notificationActive = false,
1517
- ...props
1518
- }) => {
1519
- const sizeClasses = SIZE_CLASSES7[size];
1520
- const sizeClassesIcon = SIZE_CLASSES_ICON[size];
1521
- const variantActionMap = VARIANT_ACTION_CLASSES2[variant] || {};
1522
- const variantClasses = typeof variantActionMap === "string" ? variantActionMap : variantActionMap[action] ?? variantActionMap.muted ?? "";
1523
- const baseClasses = "inline-flex items-center justify-center rounded-xs font-normal gap-1 relative";
1524
- const baseClassesIcon = "flex items-center";
1525
- if (variant === "notification") {
1526
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
1527
- "div",
1528
- {
1529
- className: cn(baseClasses, variantClasses, sizeClasses, className),
1530
- ...props,
1531
- children: [
1532
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_phosphor_react6.Bell, { size: 24, className: "text-current", "aria-hidden": "true" }),
1533
- notificationActive && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1534
- "span",
1535
- {
1536
- "data-testid": "notification-dot",
1537
- className: "absolute top-[5px] right-[10px] block h-2 w-2 rounded-full bg-indicator-error ring-2 ring-white"
1538
- }
1539
- )
1540
- ]
1541
- }
1542
- );
1543
- }
1544
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
1545
- "div",
1471
+ var activityStepSchema = import_zod.z.object({
1472
+ subtype: import_zod.z.enum(["TAREFA", "TRABALHO", "PROVA"], {
1473
+ errorMap: () => ({ message: ERROR_MESSAGES.SUBTYPE_REQUIRED })
1474
+ }),
1475
+ title: import_zod.z.string({ required_error: ERROR_MESSAGES.TITLE_REQUIRED }).transform((val) => val.trim()).refine((val) => val.length > 0, {
1476
+ message: ERROR_MESSAGES.TITLE_REQUIRED
1477
+ }),
1478
+ notification: import_zod.z.string().optional()
1479
+ });
1480
+ var recipientStepSchema = import_zod.z.object({
1481
+ students: import_zod.z.array(
1482
+ import_zod.z.object({
1483
+ studentId: import_zod.z.string(),
1484
+ userInstitutionId: import_zod.z.string()
1485
+ }),
1546
1486
  {
1547
- className: cn(baseClasses, variantClasses, sizeClasses, className),
1548
- ...props,
1549
- children: [
1550
- iconLeft && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconLeft }),
1551
- children,
1552
- iconRight && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconRight })
1553
- ]
1487
+ required_error: ERROR_MESSAGES.STUDENTS_REQUIRED,
1488
+ invalid_type_error: ERROR_MESSAGES.STUDENTS_REQUIRED
1554
1489
  }
1555
- );
1556
- };
1557
- var Badge_default = Badge;
1558
-
1559
- // src/components/SelectionButton/SelectionButton.tsx
1560
- var import_react5 = require("react");
1561
- var import_jsx_runtime10 = require("react/jsx-runtime");
1562
- var SelectionButton = (0, import_react5.forwardRef)(
1563
- ({ icon, label, selected = false, className = "", disabled, ...props }, ref) => {
1564
- const baseClasses = [
1565
- "inline-flex",
1566
- "items-center",
1567
- "justify-start",
1568
- "gap-2",
1569
- "p-4",
1570
- "rounded-xl",
1571
- "cursor-pointer",
1572
- "border",
1573
- "border-border-50",
1574
- "bg-background",
1575
- "text-sm",
1576
- "text-text-700",
1577
- "font-bold",
1578
- "shadow-soft-shadow-1",
1579
- "hover:bg-background-100",
1580
- "focus-visible:outline-none",
1581
- "focus-visible:ring-2",
1582
- "focus-visible:ring-indicator-info",
1583
- "focus-visible:ring-offset-0",
1584
- "focus-visible:shadow-none",
1585
- "active:ring-2",
1586
- "active:ring-primary-950",
1587
- "active:ring-offset-0",
1588
- "active:shadow-none",
1589
- "disabled:opacity-50",
1590
- "disabled:cursor-not-allowed"
1591
- ];
1592
- const stateClasses = selected ? ["ring-primary-950", "ring-2", "ring-offset-0", "shadow-none"] : [];
1593
- const allClasses = [...baseClasses, ...stateClasses].join(" ");
1594
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1595
- "button",
1596
- {
1597
- ref,
1598
- type: "button",
1599
- className: cn(allClasses, className),
1600
- disabled,
1601
- "aria-pressed": selected,
1602
- ...props,
1603
- children: [
1604
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "flex items-center justify-center w-6 h-6", children: icon }),
1605
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { children: label })
1606
- ]
1607
- }
1608
- );
1609
- }
1610
- );
1611
- SelectionButton.displayName = "SelectionButton";
1612
- var SelectionButton_default = SelectionButton;
1613
-
1614
- // src/components/CheckBox/CheckBox.tsx
1615
- var import_react6 = require("react");
1616
- var import_phosphor_react7 = require("phosphor-react");
1617
- var import_jsx_runtime11 = require("react/jsx-runtime");
1618
- var SIZE_CLASSES8 = {
1619
- small: {
1620
- checkbox: "w-4 h-4",
1621
- // 16px x 16px
1622
- textSize: "sm",
1623
- spacing: "gap-1.5",
1624
- // 6px
1625
- borderWidth: "border-2",
1626
- iconSize: 14,
1627
- // pixels for Phosphor icons
1628
- labelHeight: "h-[21px]"
1629
- },
1630
- medium: {
1631
- checkbox: "w-5 h-5",
1632
- // 20px x 20px
1633
- textSize: "md",
1634
- spacing: "gap-2",
1635
- // 8px
1636
- borderWidth: "border-2",
1637
- iconSize: 16,
1638
- // pixels for Phosphor icons
1639
- labelHeight: "h-6"
1490
+ ).min(1, ERROR_MESSAGES.STUDENTS_REQUIRED)
1491
+ });
1492
+ var DATE_REGEX = /^\d{4}-\d{2}-\d{2}$/;
1493
+ var TIME_REGEX = /^\d{2}:\d{2}$/;
1494
+ var deadlineStepBaseSchema = import_zod.z.object({
1495
+ startDate: import_zod.z.string({
1496
+ required_error: ERROR_MESSAGES.START_DATE_REQUIRED,
1497
+ invalid_type_error: ERROR_MESSAGES.START_DATE_REQUIRED
1498
+ }).min(1, ERROR_MESSAGES.START_DATE_REQUIRED).regex(DATE_REGEX, ERROR_MESSAGES.START_DATE_REQUIRED),
1499
+ startTime: import_zod.z.string().regex(TIME_REGEX).default("00:00"),
1500
+ finalDate: import_zod.z.string({
1501
+ required_error: ERROR_MESSAGES.FINAL_DATE_REQUIRED,
1502
+ invalid_type_error: ERROR_MESSAGES.FINAL_DATE_REQUIRED
1503
+ }).min(1, ERROR_MESSAGES.FINAL_DATE_REQUIRED).regex(DATE_REGEX, ERROR_MESSAGES.FINAL_DATE_REQUIRED),
1504
+ finalTime: import_zod.z.string().regex(TIME_REGEX).default("23:59"),
1505
+ canRetry: import_zod.z.boolean().default(false)
1506
+ });
1507
+ var deadlineStepSchema = deadlineStepBaseSchema.refine(
1508
+ (data) => {
1509
+ const start = /* @__PURE__ */ new Date(`${data.startDate}T${data.startTime}`);
1510
+ const end = /* @__PURE__ */ new Date(`${data.finalDate}T${data.finalTime}`);
1511
+ return end >= start;
1640
1512
  },
1641
- large: {
1642
- checkbox: "w-6 h-6",
1643
- // 24px x 24px
1644
- textSize: "lg",
1645
- spacing: "gap-2",
1646
- // 8px
1647
- borderWidth: "border-[3px]",
1648
- // 3px border
1649
- iconSize: 20,
1650
- // pixels for Phosphor icons
1651
- labelHeight: "h-[27px]"
1513
+ { message: ERROR_MESSAGES.FINAL_DATE_INVALID, path: ["finalDate"] }
1514
+ );
1515
+ function validateActivityStep(data) {
1516
+ const errors = {};
1517
+ const result = activityStepSchema.safeParse({
1518
+ subtype: data.subtype,
1519
+ title: data.title,
1520
+ notification: data.notification
1521
+ });
1522
+ if (!result.success) {
1523
+ result.error.issues.forEach((issue) => {
1524
+ const field = issue.path[0];
1525
+ if (field === "subtype" || field === "title") {
1526
+ errors[field] = issue.message;
1527
+ }
1528
+ });
1652
1529
  }
1653
- };
1654
- var BASE_CHECKBOX_CLASSES = "rounded border cursor-pointer transition-all duration-200 flex items-center justify-center focus:outline-none";
1655
- var STATE_CLASSES6 = {
1656
- default: {
1657
- unchecked: "border-border-400 bg-background hover:border-border-500",
1658
- checked: "border-primary-950 bg-primary-950 text-text hover:border-primary-800 hover:bg-primary-800"
1659
- },
1660
- hovered: {
1661
- unchecked: "border-border-500 bg-background",
1530
+ return errors;
1531
+ }
1532
+ function validateRecipientStep(data) {
1533
+ const errors = {};
1534
+ const result = recipientStepSchema.safeParse({
1535
+ students: data.students ?? []
1536
+ });
1537
+ if (!result.success) {
1538
+ result.error.issues.forEach((issue) => {
1539
+ if (issue.path[0] === "students") {
1540
+ errors.students = issue.message;
1541
+ }
1542
+ });
1543
+ }
1544
+ return errors;
1545
+ }
1546
+ function validateDeadlineStep(data) {
1547
+ const errors = {};
1548
+ if (!data.startDate) {
1549
+ errors.startDate = ERROR_MESSAGES.START_DATE_REQUIRED;
1550
+ }
1551
+ if (!data.finalDate) {
1552
+ errors.finalDate = ERROR_MESSAGES.FINAL_DATE_REQUIRED;
1553
+ }
1554
+ if (data.startDate && data.finalDate) {
1555
+ const result = deadlineStepSchema.safeParse({
1556
+ startDate: data.startDate,
1557
+ startTime: data.startTime ?? "00:00",
1558
+ finalDate: data.finalDate,
1559
+ finalTime: data.finalTime ?? "23:59",
1560
+ canRetry: data.canRetry ?? false
1561
+ });
1562
+ if (!result.success) {
1563
+ result.error.issues.forEach((issue) => {
1564
+ const field = issue.path[0];
1565
+ if (field === "startDate" || field === "finalDate") {
1566
+ errors[field] = issue.message;
1567
+ }
1568
+ });
1569
+ }
1570
+ }
1571
+ return errors;
1572
+ }
1573
+ function validateStep(step, data) {
1574
+ switch (step) {
1575
+ case 1:
1576
+ return validateActivityStep(data);
1577
+ case 2:
1578
+ return validateRecipientStep(data);
1579
+ case 3:
1580
+ return validateDeadlineStep(data);
1581
+ default:
1582
+ return {};
1583
+ }
1584
+ }
1585
+ function isStepValid(step, data) {
1586
+ const errors = validateStep(step, data);
1587
+ return Object.keys(errors).length === 0;
1588
+ }
1589
+ function isFormValid(data) {
1590
+ return isStepValid(1, data) && isStepValid(2, data) && isStepValid(3, data);
1591
+ }
1592
+
1593
+ // src/utils/extractStudentsFromCategories.ts
1594
+ function extractStudentsFromCategories(categories) {
1595
+ const studentsCategory = categories.find((cat) => cat.key === "students");
1596
+ if (!studentsCategory?.selectedIds || !studentsCategory.itens) {
1597
+ return [];
1598
+ }
1599
+ return studentsCategory.selectedIds.map((id) => {
1600
+ const student = studentsCategory.itens?.find((item) => item.id === id);
1601
+ if (student) {
1602
+ const rawStudentId = student.studentId;
1603
+ const rawUserInstId = student.userInstitutionId;
1604
+ const rawInstId = student.institutionId;
1605
+ const studentId = typeof rawStudentId === "string" || typeof rawStudentId === "number" ? String(rawStudentId) : student.id;
1606
+ let userInstitutionId = "";
1607
+ if (typeof rawUserInstId === "string" || typeof rawUserInstId === "number") {
1608
+ userInstitutionId = String(rawUserInstId);
1609
+ } else if (typeof rawInstId === "string" || typeof rawInstId === "number") {
1610
+ userInstitutionId = String(rawInstId);
1611
+ }
1612
+ if (!userInstitutionId) {
1613
+ return null;
1614
+ }
1615
+ return { studentId, userInstitutionId };
1616
+ }
1617
+ return null;
1618
+ }).filter((s) => s !== null);
1619
+ }
1620
+
1621
+ // src/components/SendActivityModal/hooks/useSendActivityModal.ts
1622
+ var initialState = {
1623
+ formData: {
1624
+ canRetry: false,
1625
+ startTime: "00:00",
1626
+ finalTime: "23:59"
1627
+ },
1628
+ currentStep: 1,
1629
+ completedSteps: [],
1630
+ errors: {},
1631
+ categories: []
1632
+ };
1633
+ var useSendActivityModalStore = (0, import_zustand2.create)(
1634
+ (set, get) => ({
1635
+ ...initialState,
1636
+ setFormData: (data) => {
1637
+ set((state) => ({
1638
+ formData: { ...state.formData, ...data }
1639
+ }));
1640
+ },
1641
+ goToStep: (step) => {
1642
+ if (step >= 1 && step <= 3) {
1643
+ set({ currentStep: step, errors: {} });
1644
+ }
1645
+ },
1646
+ nextStep: () => {
1647
+ const state = get();
1648
+ const isValid = state.validateCurrentStep();
1649
+ if (isValid && state.currentStep < 3) {
1650
+ set((prev) => ({
1651
+ currentStep: prev.currentStep + 1,
1652
+ completedSteps: prev.completedSteps.includes(prev.currentStep) ? prev.completedSteps : [...prev.completedSteps, prev.currentStep],
1653
+ errors: {}
1654
+ }));
1655
+ return true;
1656
+ }
1657
+ return isValid;
1658
+ },
1659
+ previousStep: () => {
1660
+ const state = get();
1661
+ if (state.currentStep > 1) {
1662
+ set({ currentStep: state.currentStep - 1, errors: {} });
1663
+ }
1664
+ },
1665
+ setErrors: (errors) => {
1666
+ set({ errors });
1667
+ },
1668
+ validateCurrentStep: () => {
1669
+ const state = get();
1670
+ let formDataToValidate = state.formData;
1671
+ let updatedFormData = state.formData;
1672
+ if (state.currentStep === 2 && state.categories.length > 0) {
1673
+ const students = extractStudentsFromCategories(state.categories);
1674
+ formDataToValidate = { ...state.formData, students };
1675
+ updatedFormData = formDataToValidate;
1676
+ }
1677
+ const errors = validateStep(state.currentStep, formDataToValidate);
1678
+ set({ formData: updatedFormData, errors });
1679
+ return Object.keys(errors).length === 0;
1680
+ },
1681
+ validateAllSteps: () => {
1682
+ const state = get();
1683
+ let formDataForStep2 = state.formData;
1684
+ if (state.categories.length > 0) {
1685
+ const students = extractStudentsFromCategories(state.categories);
1686
+ formDataForStep2 = { ...state.formData, students };
1687
+ }
1688
+ const errors1 = validateStep(1, state.formData);
1689
+ const errors2 = validateStep(2, formDataForStep2);
1690
+ const errors3 = validateStep(3, state.formData);
1691
+ const allErrors = { ...errors1, ...errors2, ...errors3 };
1692
+ set({ errors: allErrors });
1693
+ return Object.keys(allErrors).length === 0;
1694
+ },
1695
+ setCategories: (categories) => {
1696
+ const students = extractStudentsFromCategories(categories);
1697
+ set((state) => ({
1698
+ categories,
1699
+ formData: { ...state.formData, students }
1700
+ }));
1701
+ },
1702
+ reset: () => {
1703
+ set({
1704
+ ...initialState,
1705
+ categories: []
1706
+ });
1707
+ }
1708
+ })
1709
+ );
1710
+ function useSendActivityModal() {
1711
+ return useSendActivityModalStore();
1712
+ }
1713
+
1714
+ // src/components/SendActivityModal/types.ts
1715
+ var ACTIVITY_TYPE_OPTIONS = [
1716
+ { value: "TAREFA", label: "Tarefa" },
1717
+ { value: "TRABALHO", label: "Trabalho" },
1718
+ { value: "PROVA", label: "Prova" }
1719
+ ];
1720
+
1721
+ // src/components/shared/SendModalBase/hooks/useDateTimeHandlers.ts
1722
+ var import_react5 = require("react");
1723
+ function useDateTimeHandlers({ setFormData }) {
1724
+ const handleStartDateChange = (0, import_react5.useCallback)(
1725
+ (value) => {
1726
+ setFormData({ startDate: value });
1727
+ },
1728
+ [setFormData]
1729
+ );
1730
+ const handleStartTimeChange = (0, import_react5.useCallback)(
1731
+ (value) => {
1732
+ setFormData({ startTime: value });
1733
+ },
1734
+ [setFormData]
1735
+ );
1736
+ const handleFinalDateChange = (0, import_react5.useCallback)(
1737
+ (value) => {
1738
+ setFormData({ finalDate: value });
1739
+ },
1740
+ [setFormData]
1741
+ );
1742
+ const handleFinalTimeChange = (0, import_react5.useCallback)(
1743
+ (value) => {
1744
+ setFormData({ finalTime: value });
1745
+ },
1746
+ [setFormData]
1747
+ );
1748
+ return {
1749
+ handleStartDateChange,
1750
+ handleStartTimeChange,
1751
+ handleFinalDateChange,
1752
+ handleFinalTimeChange
1753
+ };
1754
+ }
1755
+
1756
+ // src/components/shared/SendModalBase/components/SendModalError.tsx
1757
+ var import_phosphor_react6 = require("phosphor-react");
1758
+ var import_jsx_runtime9 = require("react/jsx-runtime");
1759
+ var SendModalError = ({
1760
+ error,
1761
+ testId
1762
+ }) => {
1763
+ if (!error) return null;
1764
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
1765
+ Text_default,
1766
+ {
1767
+ as: "p",
1768
+ size: "sm",
1769
+ color: "text-error-600",
1770
+ className: "flex items-center gap-1 mt-1",
1771
+ "data-testid": testId,
1772
+ "aria-live": "polite",
1773
+ children: [
1774
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_phosphor_react6.WarningCircle, { size: 16 }),
1775
+ error
1776
+ ]
1777
+ }
1778
+ );
1779
+ };
1780
+
1781
+ // src/components/CheckBoxGroup/CheckBoxGroup.tsx
1782
+ var import_react17 = require("react");
1783
+
1784
+ // src/components/Badge/Badge.tsx
1785
+ var import_phosphor_react7 = require("phosphor-react");
1786
+ var import_jsx_runtime10 = require("react/jsx-runtime");
1787
+ var VARIANT_ACTION_CLASSES2 = {
1788
+ solid: {
1789
+ error: "bg-error-background text-error-700 focus-visible:outline-none",
1790
+ warning: "bg-warning text-warning-800 focus-visible:outline-none",
1791
+ success: "bg-success text-success-800 focus-visible:outline-none",
1792
+ info: "bg-info text-info-800 focus-visible:outline-none",
1793
+ muted: "bg-background-muted text-background-800 focus-visible:outline-none"
1794
+ },
1795
+ outlined: {
1796
+ error: "bg-error text-error-700 border border-error-300 focus-visible:outline-none",
1797
+ warning: "bg-warning text-warning-800 border border-warning-300 focus-visible:outline-none",
1798
+ success: "bg-success text-success-800 border border-success-300 focus-visible:outline-none",
1799
+ info: "bg-info text-info-800 border border-info-300 focus-visible:outline-none",
1800
+ muted: "bg-background-muted text-background-800 border border-border-300 focus-visible:outline-none"
1801
+ },
1802
+ exams: {
1803
+ exam1: "bg-exam-1 text-info-700 focus-visible:outline-none",
1804
+ exam2: "bg-exam-2 text-typography-1 focus-visible:outline-none",
1805
+ exam3: "bg-exam-3 text-typography-2 focus-visible:outline-none",
1806
+ exam4: "bg-exam-4 text-success-700 focus-visible:outline-none"
1807
+ },
1808
+ examsOutlined: {
1809
+ exam1: "bg-exam-1 text-info-700 border border-info-700 focus-visible:outline-none",
1810
+ exam2: "bg-exam-2 text-typography-1 border border-typography-1 focus-visible:outline-none",
1811
+ exam3: "bg-exam-3 text-typography-2 border border-typography-2 focus-visible:outline-none",
1812
+ exam4: "bg-exam-4 text-success-700 border border-success-700 focus-visible:outline-none"
1813
+ },
1814
+ resultStatus: {
1815
+ negative: "bg-error text-error-800 focus-visible:outline-none",
1816
+ positive: "bg-success text-success-800 focus-visible:outline-none"
1817
+ },
1818
+ notification: "text-primary"
1819
+ };
1820
+ var SIZE_CLASSES7 = {
1821
+ small: "text-2xs px-2 py-1",
1822
+ medium: "text-xs px-2 py-1",
1823
+ large: "text-sm px-2 py-1"
1824
+ };
1825
+ var SIZE_CLASSES_ICON = {
1826
+ small: "size-3",
1827
+ medium: "size-3.5",
1828
+ large: "size-4"
1829
+ };
1830
+ var Badge = ({
1831
+ children,
1832
+ iconLeft,
1833
+ iconRight,
1834
+ size = "medium",
1835
+ variant = "solid",
1836
+ action = "error",
1837
+ className = "",
1838
+ notificationActive = false,
1839
+ ...props
1840
+ }) => {
1841
+ const sizeClasses = SIZE_CLASSES7[size];
1842
+ const sizeClassesIcon = SIZE_CLASSES_ICON[size];
1843
+ const variantActionMap = VARIANT_ACTION_CLASSES2[variant] || {};
1844
+ const variantClasses = typeof variantActionMap === "string" ? variantActionMap : variantActionMap[action] ?? variantActionMap.muted ?? "";
1845
+ const baseClasses = "inline-flex items-center justify-center rounded-xs font-normal gap-1 relative";
1846
+ const baseClassesIcon = "flex items-center";
1847
+ if (variant === "notification") {
1848
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1849
+ "div",
1850
+ {
1851
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
1852
+ ...props,
1853
+ children: [
1854
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_phosphor_react7.Bell, { size: 24, className: "text-current", "aria-hidden": "true" }),
1855
+ notificationActive && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1856
+ "span",
1857
+ {
1858
+ "data-testid": "notification-dot",
1859
+ className: "absolute top-[5px] right-[10px] block h-2 w-2 rounded-full bg-indicator-error ring-2 ring-white"
1860
+ }
1861
+ )
1862
+ ]
1863
+ }
1864
+ );
1865
+ }
1866
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1867
+ "div",
1868
+ {
1869
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
1870
+ ...props,
1871
+ children: [
1872
+ iconLeft && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconLeft }),
1873
+ children,
1874
+ iconRight && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconRight })
1875
+ ]
1876
+ }
1877
+ );
1878
+ };
1879
+ var Badge_default = Badge;
1880
+
1881
+ // src/components/SelectionButton/SelectionButton.tsx
1882
+ var import_react6 = require("react");
1883
+ var import_jsx_runtime11 = require("react/jsx-runtime");
1884
+ var SelectionButton = (0, import_react6.forwardRef)(
1885
+ ({ icon, label, selected = false, className = "", disabled, ...props }, ref) => {
1886
+ const baseClasses = [
1887
+ "inline-flex",
1888
+ "items-center",
1889
+ "justify-start",
1890
+ "gap-2",
1891
+ "p-4",
1892
+ "rounded-xl",
1893
+ "cursor-pointer",
1894
+ "border",
1895
+ "border-border-50",
1896
+ "bg-background",
1897
+ "text-sm",
1898
+ "text-text-700",
1899
+ "font-bold",
1900
+ "shadow-soft-shadow-1",
1901
+ "hover:bg-background-100",
1902
+ "focus-visible:outline-none",
1903
+ "focus-visible:ring-2",
1904
+ "focus-visible:ring-indicator-info",
1905
+ "focus-visible:ring-offset-0",
1906
+ "focus-visible:shadow-none",
1907
+ "active:ring-2",
1908
+ "active:ring-primary-950",
1909
+ "active:ring-offset-0",
1910
+ "active:shadow-none",
1911
+ "disabled:opacity-50",
1912
+ "disabled:cursor-not-allowed"
1913
+ ];
1914
+ const stateClasses = selected ? ["ring-primary-950", "ring-2", "ring-offset-0", "shadow-none"] : [];
1915
+ const allClasses = [...baseClasses, ...stateClasses].join(" ");
1916
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1917
+ "button",
1918
+ {
1919
+ ref,
1920
+ type: "button",
1921
+ className: cn(allClasses, className),
1922
+ disabled,
1923
+ "aria-pressed": selected,
1924
+ ...props,
1925
+ children: [
1926
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "flex items-center justify-center w-6 h-6", children: icon }),
1927
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: label })
1928
+ ]
1929
+ }
1930
+ );
1931
+ }
1932
+ );
1933
+ SelectionButton.displayName = "SelectionButton";
1934
+ var SelectionButton_default = SelectionButton;
1935
+
1936
+ // src/components/CheckBox/CheckBox.tsx
1937
+ var import_react7 = require("react");
1938
+ var import_phosphor_react8 = require("phosphor-react");
1939
+ var import_jsx_runtime12 = require("react/jsx-runtime");
1940
+ var SIZE_CLASSES8 = {
1941
+ small: {
1942
+ checkbox: "w-4 h-4",
1943
+ // 16px x 16px
1944
+ textSize: "sm",
1945
+ spacing: "gap-1.5",
1946
+ // 6px
1947
+ borderWidth: "border-2",
1948
+ iconSize: 14,
1949
+ // pixels for Phosphor icons
1950
+ labelHeight: "h-[21px]"
1951
+ },
1952
+ medium: {
1953
+ checkbox: "w-5 h-5",
1954
+ // 20px x 20px
1955
+ textSize: "md",
1956
+ spacing: "gap-2",
1957
+ // 8px
1958
+ borderWidth: "border-2",
1959
+ iconSize: 16,
1960
+ // pixels for Phosphor icons
1961
+ labelHeight: "h-6"
1962
+ },
1963
+ large: {
1964
+ checkbox: "w-6 h-6",
1965
+ // 24px x 24px
1966
+ textSize: "lg",
1967
+ spacing: "gap-2",
1968
+ // 8px
1969
+ borderWidth: "border-[3px]",
1970
+ // 3px border
1971
+ iconSize: 20,
1972
+ // pixels for Phosphor icons
1973
+ labelHeight: "h-[27px]"
1974
+ }
1975
+ };
1976
+ var BASE_CHECKBOX_CLASSES = "rounded border cursor-pointer transition-all duration-200 flex items-center justify-center focus:outline-none";
1977
+ var STATE_CLASSES6 = {
1978
+ default: {
1979
+ unchecked: "border-border-400 bg-background hover:border-border-500",
1980
+ checked: "border-primary-950 bg-primary-950 text-text hover:border-primary-800 hover:bg-primary-800"
1981
+ },
1982
+ hovered: {
1983
+ unchecked: "border-border-500 bg-background",
1662
1984
  checked: "border-primary-800 bg-primary-800 text-text"
1663
1985
  },
1664
1986
  focused: {
@@ -1674,7 +1996,7 @@ var STATE_CLASSES6 = {
1674
1996
  checked: "border-primary-600 bg-primary-600 text-text cursor-not-allowed opacity-40"
1675
1997
  }
1676
1998
  };
1677
- var CheckBox = (0, import_react6.forwardRef)(
1999
+ var CheckBox = (0, import_react7.forwardRef)(
1678
2000
  ({
1679
2001
  label,
1680
2002
  size = "medium",
@@ -1690,9 +2012,9 @@ var CheckBox = (0, import_react6.forwardRef)(
1690
2012
  onChange,
1691
2013
  ...props
1692
2014
  }, ref) => {
1693
- const generatedId = (0, import_react6.useId)();
2015
+ const generatedId = (0, import_react7.useId)();
1694
2016
  const inputId = id ?? `checkbox-${generatedId}`;
1695
- const [internalChecked, setInternalChecked] = (0, import_react6.useState)(false);
2017
+ const [internalChecked, setInternalChecked] = (0, import_react7.useState)(false);
1696
2018
  const isControlled = checkedProp !== void 0;
1697
2019
  const checked = isControlled ? checkedProp : internalChecked;
1698
2020
  const handleChange = (event) => {
@@ -1715,8 +2037,8 @@ var CheckBox = (0, import_react6.forwardRef)(
1715
2037
  );
1716
2038
  const renderIcon = () => {
1717
2039
  if (indeterminate) {
1718
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1719
- import_phosphor_react7.Minus,
2040
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2041
+ import_phosphor_react8.Minus,
1720
2042
  {
1721
2043
  size: sizeClasses.iconSize,
1722
2044
  weight: "bold",
@@ -1725,8 +2047,8 @@ var CheckBox = (0, import_react6.forwardRef)(
1725
2047
  );
1726
2048
  }
1727
2049
  if (checked) {
1728
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1729
- import_phosphor_react7.Check,
2050
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2051
+ import_phosphor_react8.Check,
1730
2052
  {
1731
2053
  size: sizeClasses.iconSize,
1732
2054
  weight: "bold",
@@ -1736,8 +2058,8 @@ var CheckBox = (0, import_react6.forwardRef)(
1736
2058
  }
1737
2059
  return null;
1738
2060
  };
1739
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col", children: [
1740
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
2061
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col", children: [
2062
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1741
2063
  "div",
1742
2064
  {
1743
2065
  className: cn(
@@ -1746,7 +2068,7 @@ var CheckBox = (0, import_react6.forwardRef)(
1746
2068
  disabled ? "opacity-40" : ""
1747
2069
  ),
1748
2070
  children: [
1749
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2071
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1750
2072
  "input",
1751
2073
  {
1752
2074
  ref,
@@ -1759,15 +2081,15 @@ var CheckBox = (0, import_react6.forwardRef)(
1759
2081
  ...props
1760
2082
  }
1761
2083
  ),
1762
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("label", { htmlFor: inputId, className: checkboxClasses, children: renderIcon() }),
1763
- label && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2084
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("label", { htmlFor: inputId, className: checkboxClasses, children: renderIcon() }),
2085
+ label && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1764
2086
  "div",
1765
2087
  {
1766
2088
  className: cn(
1767
2089
  "flex flex-row items-center",
1768
2090
  sizeClasses.labelHeight
1769
2091
  ),
1770
- children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2092
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1771
2093
  Text_default,
1772
2094
  {
1773
2095
  as: "label",
@@ -1786,7 +2108,7 @@ var CheckBox = (0, import_react6.forwardRef)(
1786
2108
  ]
1787
2109
  }
1788
2110
  ),
1789
- errorMessage && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2111
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1790
2112
  Text_default,
1791
2113
  {
1792
2114
  size: "sm",
@@ -1796,7 +2118,7 @@ var CheckBox = (0, import_react6.forwardRef)(
1796
2118
  children: errorMessage
1797
2119
  }
1798
2120
  ),
1799
- helperText && !errorMessage && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2121
+ helperText && !errorMessage && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1800
2122
  Text_default,
1801
2123
  {
1802
2124
  size: "sm",
@@ -1813,7 +2135,7 @@ CheckBox.displayName = "CheckBox";
1813
2135
  var CheckBox_default = CheckBox;
1814
2136
 
1815
2137
  // src/components/Divider/Divider.tsx
1816
- var import_jsx_runtime12 = require("react/jsx-runtime");
2138
+ var import_jsx_runtime13 = require("react/jsx-runtime");
1817
2139
  var Divider = ({
1818
2140
  orientation = "horizontal",
1819
2141
  className = "",
@@ -1824,7 +2146,7 @@ var Divider = ({
1824
2146
  horizontal: "w-full h-px",
1825
2147
  vertical: "h-full w-px"
1826
2148
  };
1827
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2149
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1828
2150
  "hr",
1829
2151
  {
1830
2152
  className: cn(baseClasses, orientationClasses[orientation], className),
@@ -1836,20 +2158,20 @@ var Divider = ({
1836
2158
  var Divider_default = Divider;
1837
2159
 
1838
2160
  // src/components/DropdownMenu/DropdownMenu.tsx
1839
- var import_phosphor_react9 = require("phosphor-react");
1840
- var import_react9 = require("react");
2161
+ var import_phosphor_react10 = require("phosphor-react");
2162
+ var import_react10 = require("react");
1841
2163
  var import_react_dom = require("react-dom");
1842
- var import_zustand3 = require("zustand");
2164
+ var import_zustand4 = require("zustand");
1843
2165
 
1844
2166
  // src/components/ThemeToggle/ThemeToggle.tsx
1845
- var import_phosphor_react8 = require("phosphor-react");
1846
- var import_react8 = require("react");
2167
+ var import_phosphor_react9 = require("phosphor-react");
2168
+ var import_react9 = require("react");
1847
2169
 
1848
2170
  // src/hooks/useTheme.ts
1849
- var import_react7 = require("react");
2171
+ var import_react8 = require("react");
1850
2172
 
1851
2173
  // src/store/themeStore.ts
1852
- var import_zustand2 = require("zustand");
2174
+ var import_zustand3 = require("zustand");
1853
2175
  var import_middleware = require("zustand/middleware");
1854
2176
  var applyThemeToDOM = (mode) => {
1855
2177
  const htmlElement = document.documentElement;
@@ -1883,7 +2205,7 @@ var saveOriginalTheme = () => {
1883
2205
  htmlElement.setAttribute("data-original-theme", currentTheme);
1884
2206
  }
1885
2207
  };
1886
- var useThemeStore = (0, import_zustand2.create)()(
2208
+ var useThemeStore = (0, import_zustand3.create)()(
1887
2209
  (0, import_middleware.devtools)(
1888
2210
  (0, import_middleware.persist)(
1889
2211
  (set, get) => ({
@@ -1950,7 +2272,7 @@ var useTheme = () => {
1950
2272
  initializeTheme,
1951
2273
  handleSystemThemeChange
1952
2274
  } = useThemeStore();
1953
- (0, import_react7.useEffect)(() => {
2275
+ (0, import_react8.useEffect)(() => {
1954
2276
  initializeTheme();
1955
2277
  const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
1956
2278
  mediaQuery.addEventListener("change", handleSystemThemeChange);
@@ -1967,31 +2289,31 @@ var useTheme = () => {
1967
2289
  };
1968
2290
 
1969
2291
  // src/components/ThemeToggle/ThemeToggle.tsx
1970
- var import_jsx_runtime13 = require("react/jsx-runtime");
2292
+ var import_jsx_runtime14 = require("react/jsx-runtime");
1971
2293
  var ThemeToggle = ({
1972
2294
  variant = "default",
1973
2295
  onToggle
1974
2296
  }) => {
1975
2297
  const { themeMode, setTheme } = useTheme();
1976
- const [tempTheme, setTempTheme] = (0, import_react8.useState)(themeMode);
1977
- (0, import_react8.useEffect)(() => {
2298
+ const [tempTheme, setTempTheme] = (0, import_react9.useState)(themeMode);
2299
+ (0, import_react9.useEffect)(() => {
1978
2300
  setTempTheme(themeMode);
1979
2301
  }, [themeMode]);
1980
2302
  const problemTypes = [
1981
2303
  {
1982
2304
  id: "light",
1983
2305
  title: "Claro",
1984
- icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_phosphor_react8.Sun, { size: 24 })
2306
+ icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_phosphor_react9.Sun, { size: 24 })
1985
2307
  },
1986
2308
  {
1987
2309
  id: "dark",
1988
2310
  title: "Escuro",
1989
- icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_phosphor_react8.Moon, { size: 24 })
2311
+ icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_phosphor_react9.Moon, { size: 24 })
1990
2312
  },
1991
2313
  {
1992
2314
  id: "system",
1993
2315
  title: "Sistema",
1994
- icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2316
+ icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1995
2317
  "svg",
1996
2318
  {
1997
2319
  width: "25",
@@ -1999,7 +2321,7 @@ var ThemeToggle = ({
1999
2321
  viewBox: "0 0 25 25",
2000
2322
  fill: "none",
2001
2323
  xmlns: "http://www.w3.org/2000/svg",
2002
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2324
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2003
2325
  "path",
2004
2326
  {
2005
2327
  d: "M12.5 2.75C15.085 2.75276 17.5637 3.78054 19.3916 5.6084C21.2195 7.43628 22.2473 9.915 22.25 12.5C22.25 14.4284 21.6778 16.3136 20.6064 17.917C19.5352 19.5201 18.0128 20.7699 16.2314 21.5078C14.4499 22.2458 12.489 22.4387 10.5977 22.0625C8.70642 21.6863 6.96899 20.758 5.60547 19.3945C4.24197 18.031 3.31374 16.2936 2.9375 14.4023C2.56129 12.511 2.75423 10.5501 3.49219 8.76855C4.23012 6.98718 5.47982 5.46483 7.08301 4.39355C8.68639 3.32221 10.5716 2.75 12.5 2.75ZM11.75 4.28516C9.70145 4.47452 7.7973 5.42115 6.41016 6.94043C5.02299 8.4599 4.25247 10.4426 4.25 12.5C4.25247 14.5574 5.02299 16.5401 6.41016 18.0596C7.7973 19.5789 9.70145 20.5255 11.75 20.7148V4.28516Z",
@@ -2021,7 +2343,7 @@ var ThemeToggle = ({
2021
2343
  }
2022
2344
  };
2023
2345
  const currentTheme = variant === "with-save" ? tempTheme : themeMode;
2024
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "flex flex-row gap-2 sm:gap-4 py-2", children: problemTypes.map((type) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2346
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "flex flex-row gap-2 sm:gap-4 py-2", children: problemTypes.map((type) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2025
2347
  SelectionButton_default,
2026
2348
  {
2027
2349
  icon: type.icon,
@@ -2035,9 +2357,9 @@ var ThemeToggle = ({
2035
2357
  };
2036
2358
 
2037
2359
  // src/components/DropdownMenu/DropdownMenu.tsx
2038
- var import_jsx_runtime14 = require("react/jsx-runtime");
2360
+ var import_jsx_runtime15 = require("react/jsx-runtime");
2039
2361
  function createDropdownStore() {
2040
- return (0, import_zustand3.create)((set) => ({
2362
+ return (0, import_zustand4.create)((set) => ({
2041
2363
  open: false,
2042
2364
  setOpen: (open) => set({ open })
2043
2365
  }));
@@ -2051,8 +2373,8 @@ var useDropdownStore = (externalStore) => {
2051
2373
  return externalStore;
2052
2374
  };
2053
2375
  var injectStore2 = (children, store) => {
2054
- return import_react9.Children.map(children, (child) => {
2055
- if ((0, import_react9.isValidElement)(child)) {
2376
+ return import_react10.Children.map(children, (child) => {
2377
+ if ((0, import_react10.isValidElement)(child)) {
2056
2378
  const typedChild = child;
2057
2379
  const displayName = typedChild.type.displayName;
2058
2380
  const allowed = [
@@ -2074,7 +2396,7 @@ var injectStore2 = (children, store) => {
2074
2396
  if (typedChild.props.children) {
2075
2397
  newProps.children = injectStore2(typedChild.props.children, store);
2076
2398
  }
2077
- return (0, import_react9.cloneElement)(typedChild, newProps);
2399
+ return (0, import_react10.cloneElement)(typedChild, newProps);
2078
2400
  }
2079
2401
  return child;
2080
2402
  });
@@ -2084,14 +2406,14 @@ var DropdownMenu = ({
2084
2406
  open: propOpen,
2085
2407
  onOpenChange
2086
2408
  }) => {
2087
- const storeRef = (0, import_react9.useRef)(null);
2409
+ const storeRef = (0, import_react10.useRef)(null);
2088
2410
  storeRef.current ??= createDropdownStore();
2089
2411
  const store = storeRef.current;
2090
- const { open, setOpen: storeSetOpen } = (0, import_zustand3.useStore)(store, (s) => s);
2412
+ const { open, setOpen: storeSetOpen } = (0, import_zustand4.useStore)(store, (s) => s);
2091
2413
  const setOpen = (newOpen) => {
2092
2414
  storeSetOpen(newOpen);
2093
2415
  };
2094
- const menuRef = (0, import_react9.useRef)(null);
2416
+ const menuRef = (0, import_react10.useRef)(null);
2095
2417
  const handleArrowDownOrArrowUp = (event) => {
2096
2418
  const menuContent = menuRef.current?.querySelector('[role="menu"]');
2097
2419
  if (menuContent) {
@@ -2130,7 +2452,7 @@ var DropdownMenu = ({
2130
2452
  }
2131
2453
  setOpen(false);
2132
2454
  };
2133
- (0, import_react9.useEffect)(() => {
2455
+ (0, import_react10.useEffect)(() => {
2134
2456
  if (open) {
2135
2457
  document.addEventListener("pointerdown", handleClickOutside);
2136
2458
  document.addEventListener("keydown", handleDownkey);
@@ -2140,21 +2462,21 @@ var DropdownMenu = ({
2140
2462
  document.removeEventListener("keydown", handleDownkey);
2141
2463
  };
2142
2464
  }, [open]);
2143
- (0, import_react9.useEffect)(() => {
2465
+ (0, import_react10.useEffect)(() => {
2144
2466
  onOpenChange?.(open);
2145
2467
  }, [open, onOpenChange]);
2146
- (0, import_react9.useEffect)(() => {
2468
+ (0, import_react10.useEffect)(() => {
2147
2469
  if (propOpen !== void 0) {
2148
2470
  setOpen(propOpen);
2149
2471
  }
2150
2472
  }, [propOpen]);
2151
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "relative", ref: menuRef, children: injectStore2(children, store) });
2473
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "relative", ref: menuRef, children: injectStore2(children, store) });
2152
2474
  };
2153
- var DropdownMenuTrigger = (0, import_react9.forwardRef)(({ className, children, onClick, store: externalStore, ...props }, ref) => {
2475
+ var DropdownMenuTrigger = (0, import_react10.forwardRef)(({ className, children, onClick, store: externalStore, ...props }, ref) => {
2154
2476
  const store = useDropdownStore(externalStore);
2155
- const open = (0, import_zustand3.useStore)(store, (s) => s.open);
2477
+ const open = (0, import_zustand4.useStore)(store, (s) => s.open);
2156
2478
  const toggleOpen = () => store.setState({ open: !open });
2157
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2479
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2158
2480
  "button",
2159
2481
  {
2160
2482
  ref,
@@ -2194,8 +2516,8 @@ var MENUCONTENT_VARIANT_CLASSES = {
2194
2516
  menu: "p-1",
2195
2517
  profile: "p-6"
2196
2518
  };
2197
- var MenuLabel = (0, import_react9.forwardRef)(({ className, inset, store: _store, ...props }, ref) => {
2198
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2519
+ var MenuLabel = (0, import_react10.forwardRef)(({ className, inset, store: _store, ...props }, ref) => {
2520
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2199
2521
  "div",
2200
2522
  {
2201
2523
  ref,
@@ -2205,7 +2527,7 @@ var MenuLabel = (0, import_react9.forwardRef)(({ className, inset, store: _store
2205
2527
  );
2206
2528
  });
2207
2529
  MenuLabel.displayName = "MenuLabel";
2208
- var DropdownMenuContent = (0, import_react9.forwardRef)(
2530
+ var DropdownMenuContent = (0, import_react10.forwardRef)(
2209
2531
  ({
2210
2532
  className,
2211
2533
  align = "start",
@@ -2219,11 +2541,11 @@ var DropdownMenuContent = (0, import_react9.forwardRef)(
2219
2541
  ...props
2220
2542
  }, ref) => {
2221
2543
  const store = useDropdownStore(externalStore);
2222
- const open = (0, import_zustand3.useStore)(store, (s) => s.open);
2223
- const [isVisible, setIsVisible] = (0, import_react9.useState)(open);
2224
- const [portalPosition, setPortalPosition] = (0, import_react9.useState)({ top: 0, left: 0 });
2225
- const contentRef = (0, import_react9.useRef)(null);
2226
- (0, import_react9.useEffect)(() => {
2544
+ const open = (0, import_zustand4.useStore)(store, (s) => s.open);
2545
+ const [isVisible, setIsVisible] = (0, import_react10.useState)(open);
2546
+ const [portalPosition, setPortalPosition] = (0, import_react10.useState)({ top: 0, left: 0 });
2547
+ const contentRef = (0, import_react10.useRef)(null);
2548
+ (0, import_react10.useEffect)(() => {
2227
2549
  if (open) {
2228
2550
  setIsVisible(true);
2229
2551
  } else {
@@ -2231,7 +2553,7 @@ var DropdownMenuContent = (0, import_react9.forwardRef)(
2231
2553
  return () => clearTimeout(timer);
2232
2554
  }
2233
2555
  }, [open]);
2234
- (0, import_react9.useLayoutEffect)(() => {
2556
+ (0, import_react10.useLayoutEffect)(() => {
2235
2557
  if (portal && open && triggerRef?.current) {
2236
2558
  const rect = triggerRef.current.getBoundingClientRect();
2237
2559
  let top = rect.bottom + sideOffset;
@@ -2280,7 +2602,7 @@ var DropdownMenuContent = (0, import_react9.forwardRef)(
2280
2602
  return baseStyle;
2281
2603
  };
2282
2604
  const variantClasses = MENUCONTENT_VARIANT_CLASSES[variant];
2283
- const content = /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2605
+ const content = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2284
2606
  "div",
2285
2607
  {
2286
2608
  ref: portal ? contentRef : ref,
@@ -2312,7 +2634,7 @@ var DropdownMenuContent = (0, import_react9.forwardRef)(
2312
2634
  }
2313
2635
  );
2314
2636
  DropdownMenuContent.displayName = "DropdownMenuContent";
2315
- var DropdownMenuItem = (0, import_react9.forwardRef)(
2637
+ var DropdownMenuItem = (0, import_react10.forwardRef)(
2316
2638
  ({
2317
2639
  className,
2318
2640
  size = "small",
@@ -2327,7 +2649,7 @@ var DropdownMenuItem = (0, import_react9.forwardRef)(
2327
2649
  ...props
2328
2650
  }, ref) => {
2329
2651
  const store = useDropdownStore(externalStore);
2330
- const setOpen = (0, import_zustand3.useStore)(store, (s) => s.setOpen);
2652
+ const setOpen = (0, import_zustand4.useStore)(store, (s) => s.setOpen);
2331
2653
  const sizeClasses = ITEM_SIZE_CLASSES[size];
2332
2654
  const handleClick = (e) => {
2333
2655
  if (disabled) {
@@ -2356,7 +2678,7 @@ var DropdownMenuItem = (0, import_react9.forwardRef)(
2356
2678
  const getVariantProps = () => {
2357
2679
  return variant === "profile" ? { "data-variant": "profile" } : {};
2358
2680
  };
2359
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
2681
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
2360
2682
  "div",
2361
2683
  {
2362
2684
  ref,
@@ -2382,7 +2704,7 @@ var DropdownMenuItem = (0, import_react9.forwardRef)(
2382
2704
  ...props,
2383
2705
  children: [
2384
2706
  iconLeft,
2385
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "w-full", children }),
2707
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-full", children }),
2386
2708
  iconRight
2387
2709
  ]
2388
2710
  }
@@ -2390,7 +2712,7 @@ var DropdownMenuItem = (0, import_react9.forwardRef)(
2390
2712
  }
2391
2713
  );
2392
2714
  DropdownMenuItem.displayName = "DropdownMenuItem";
2393
- var DropdownMenuSeparator = (0, import_react9.forwardRef)(({ className, store: _store, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2715
+ var DropdownMenuSeparator = (0, import_react10.forwardRef)(({ className, store: _store, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2394
2716
  "div",
2395
2717
  {
2396
2718
  ref,
@@ -2399,11 +2721,11 @@ var DropdownMenuSeparator = (0, import_react9.forwardRef)(({ className, store: _
2399
2721
  }
2400
2722
  ));
2401
2723
  DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
2402
- var ProfileMenuTrigger = (0, import_react9.forwardRef)(({ className, onClick, store: externalStore, ...props }, ref) => {
2724
+ var ProfileMenuTrigger = (0, import_react10.forwardRef)(({ className, onClick, store: externalStore, ...props }, ref) => {
2403
2725
  const store = useDropdownStore(externalStore);
2404
- const open = (0, import_zustand3.useStore)(store, (s) => s.open);
2726
+ const open = (0, import_zustand4.useStore)(store, (s) => s.open);
2405
2727
  const toggleOpen = () => store.setState({ open: !open });
2406
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2728
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2407
2729
  "button",
2408
2730
  {
2409
2731
  ref,
@@ -2418,13 +2740,13 @@ var ProfileMenuTrigger = (0, import_react9.forwardRef)(({ className, onClick, st
2418
2740
  },
2419
2741
  "aria-expanded": open,
2420
2742
  ...props,
2421
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "size-6 rounded-full bg-primary-100 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_phosphor_react9.User, { className: "text-primary-950", size: 18 }) })
2743
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "size-6 rounded-full bg-primary-100 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react10.User, { className: "text-primary-950", size: 18 }) })
2422
2744
  }
2423
2745
  );
2424
2746
  });
2425
2747
  ProfileMenuTrigger.displayName = "ProfileMenuTrigger";
2426
- var ProfileMenuHeader = (0, import_react9.forwardRef)(({ className, name, email, photoUrl, store: _store, ...props }, ref) => {
2427
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
2748
+ var ProfileMenuHeader = (0, import_react10.forwardRef)(({ className, name, email, photoUrl, store: _store, ...props }, ref) => {
2749
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
2428
2750
  "div",
2429
2751
  {
2430
2752
  ref,
@@ -2435,16 +2757,16 @@ var ProfileMenuHeader = (0, import_react9.forwardRef)(({ className, name, email,
2435
2757
  ),
2436
2758
  ...props,
2437
2759
  children: [
2438
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center overflow-hidden flex-shrink-0", children: photoUrl ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2760
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center overflow-hidden flex-shrink-0", children: photoUrl ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2439
2761
  "img",
2440
2762
  {
2441
2763
  src: photoUrl,
2442
2764
  alt: "Foto de perfil",
2443
2765
  className: "w-full h-full object-cover"
2444
2766
  }
2445
- ) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_phosphor_react9.User, { size: 34, className: "text-primary-800" }) }),
2446
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex flex-col min-w-0", children: [
2447
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2767
+ ) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react10.User, { size: 34, className: "text-primary-800" }) }),
2768
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col min-w-0", children: [
2769
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2448
2770
  Text_default,
2449
2771
  {
2450
2772
  size: "xl",
@@ -2454,14 +2776,14 @@ var ProfileMenuHeader = (0, import_react9.forwardRef)(({ className, name, email,
2454
2776
  children: name
2455
2777
  }
2456
2778
  ),
2457
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text_default, { size: "md", color: "text-text-600", className: "truncate", children: email })
2779
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { size: "md", color: "text-text-600", className: "truncate", children: email })
2458
2780
  ] })
2459
2781
  ]
2460
2782
  }
2461
2783
  );
2462
2784
  });
2463
2785
  ProfileMenuHeader.displayName = "ProfileMenuHeader";
2464
- var ProfileMenuInfo = (0, import_react9.forwardRef)(
2786
+ var ProfileMenuInfo = (0, import_react10.forwardRef)(
2465
2787
  ({
2466
2788
  className,
2467
2789
  schoolName,
@@ -2470,7 +2792,7 @@ var ProfileMenuInfo = (0, import_react9.forwardRef)(
2470
2792
  store: _store,
2471
2793
  ...props
2472
2794
  }, ref) => {
2473
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
2795
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
2474
2796
  "div",
2475
2797
  {
2476
2798
  ref,
@@ -2478,13 +2800,13 @@ var ProfileMenuInfo = (0, import_react9.forwardRef)(
2478
2800
  className: cn("flex flex-row gap-4 items-center", className),
2479
2801
  ...props,
2480
2802
  children: [
2481
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "w-16 h-16" }),
2482
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex flex-col ", children: [
2483
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text_default, { size: "md", color: "text-text-600", children: schoolName }),
2484
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { className: "flex flex-row items-center gap-2", children: [
2485
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text_default, { size: "md", color: "text-text-600", children: classYearName }),
2486
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { className: "text-text-600 text-xs align-middle", children: "\u25CF" }),
2487
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text_default, { size: "md", color: "text-text-600", children: schoolYearName })
2803
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "w-16 h-16" }),
2804
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col ", children: [
2805
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { size: "md", color: "text-text-600", children: schoolName }),
2806
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "flex flex-row items-center gap-2", children: [
2807
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { size: "md", color: "text-text-600", children: classYearName }),
2808
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-text-600 text-xs align-middle", children: "\u25CF" }),
2809
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { size: "md", color: "text-text-600", children: schoolYearName })
2488
2810
  ] })
2489
2811
  ] })
2490
2812
  ]
@@ -2498,12 +2820,12 @@ var ProfileToggleTheme = ({
2498
2820
  ...props
2499
2821
  }) => {
2500
2822
  const { themeMode, setTheme } = useTheme();
2501
- const [modalThemeToggle, setModalThemeToggle] = (0, import_react9.useState)(false);
2502
- const [selectedTheme, setSelectedTheme] = (0, import_react9.useState)(themeMode);
2503
- const internalStoreRef = (0, import_react9.useRef)(null);
2823
+ const [modalThemeToggle, setModalThemeToggle] = (0, import_react10.useState)(false);
2824
+ const [selectedTheme, setSelectedTheme] = (0, import_react10.useState)(themeMode);
2825
+ const internalStoreRef = (0, import_react10.useRef)(null);
2504
2826
  internalStoreRef.current ??= createDropdownStore();
2505
2827
  const store = externalStore ?? internalStoreRef.current;
2506
- const setOpen = (0, import_zustand3.useStore)(store, (s) => s.setOpen);
2828
+ const setOpen = (0, import_zustand4.useStore)(store, (s) => s.setOpen);
2507
2829
  const handleClick = (e) => {
2508
2830
  e.preventDefault();
2509
2831
  e.stopPropagation();
@@ -2519,14 +2841,14 @@ var ProfileToggleTheme = ({
2519
2841
  setModalThemeToggle(false);
2520
2842
  setOpen(false);
2521
2843
  };
2522
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
2523
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2844
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
2845
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2524
2846
  DropdownMenuItem,
2525
2847
  {
2526
2848
  variant: "profile",
2527
2849
  preventClose: true,
2528
2850
  store,
2529
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2851
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2530
2852
  "svg",
2531
2853
  {
2532
2854
  width: "24",
@@ -2534,7 +2856,7 @@ var ProfileToggleTheme = ({
2534
2856
  viewBox: "0 0 25 25",
2535
2857
  fill: "none",
2536
2858
  xmlns: "http://www.w3.org/2000/svg",
2537
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2859
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2538
2860
  "path",
2539
2861
  {
2540
2862
  d: "M12.5 2.75C15.085 2.75276 17.5637 3.78054 19.3916 5.6084C21.2195 7.43628 22.2473 9.915 22.25 12.5C22.25 14.4284 21.6778 16.3136 20.6064 17.917C19.5352 19.5201 18.0128 20.7699 16.2314 21.5078C14.4499 22.2458 12.489 22.4387 10.5977 22.0625C8.70642 21.6863 6.96899 20.758 5.60547 19.3945C4.24197 18.031 3.31374 16.2936 2.9375 14.4023C2.56129 12.511 2.75423 10.5501 3.49219 8.76855C4.23012 6.98718 5.47982 5.46483 7.08301 4.39355C8.68639 3.32221 10.5716 2.75 12.5 2.75ZM11.75 4.28516C9.70145 4.47452 7.7973 5.42115 6.41016 6.94043C5.02299 8.4599 4.25247 10.4426 4.25 12.5C4.25247 14.5574 5.02299 16.5401 6.41016 18.0596C7.7973 19.5789 9.70145 20.5255 11.75 20.7148V4.28516Z",
@@ -2543,7 +2865,7 @@ var ProfileToggleTheme = ({
2543
2865
  )
2544
2866
  }
2545
2867
  ),
2546
- iconRight: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_phosphor_react9.CaretRight, {}),
2868
+ iconRight: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react10.CaretRight, {}),
2547
2869
  onClick: handleClick,
2548
2870
  onKeyDown: (e) => {
2549
2871
  if (e.key === "Enter" || e.key === " ") {
@@ -2553,31 +2875,31 @@ var ProfileToggleTheme = ({
2553
2875
  }
2554
2876
  },
2555
2877
  ...props,
2556
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text_default, { size: "md", color: "text-text-700", children: "Apar\xEAncia" })
2878
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { size: "md", color: "text-text-700", children: "Apar\xEAncia" })
2557
2879
  }
2558
2880
  ),
2559
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2881
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2560
2882
  Modal_default,
2561
2883
  {
2562
2884
  isOpen: modalThemeToggle,
2563
2885
  onClose: handleCancel,
2564
2886
  title: "Apar\xEAncia",
2565
2887
  size: "md",
2566
- footer: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex gap-3", children: [
2567
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Button_default, { variant: "outline", onClick: handleCancel, children: "Cancelar" }),
2568
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Button_default, { variant: "solid", onClick: handleSave, children: "Salvar" })
2888
+ footer: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex gap-3", children: [
2889
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Button_default, { variant: "outline", onClick: handleCancel, children: "Cancelar" }),
2890
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Button_default, { variant: "solid", onClick: handleSave, children: "Salvar" })
2569
2891
  ] }),
2570
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex flex-col", children: [
2571
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { className: "text-sm text-text-500", children: "Escolha o tema:" }),
2572
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ThemeToggle, { variant: "with-save", onToggle: setSelectedTheme })
2892
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col", children: [
2893
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-sm text-text-500", children: "Escolha o tema:" }),
2894
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ThemeToggle, { variant: "with-save", onToggle: setSelectedTheme })
2573
2895
  ] })
2574
2896
  }
2575
2897
  )
2576
2898
  ] });
2577
2899
  };
2578
2900
  ProfileToggleTheme.displayName = "ProfileToggleTheme";
2579
- var ProfileMenuSection = (0, import_react9.forwardRef)(({ className, children, store: _store, ...props }, ref) => {
2580
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { ref, className: cn("flex flex-col p-2", className), ...props, children });
2901
+ var ProfileMenuSection = (0, import_react10.forwardRef)(({ className, children, store: _store, ...props }, ref) => {
2902
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { ref, className: cn("flex flex-col p-2", className), ...props, children });
2581
2903
  });
2582
2904
  ProfileMenuSection.displayName = "ProfileMenuSection";
2583
2905
  var ProfileMenuFooter = ({
@@ -2588,8 +2910,8 @@ var ProfileMenuFooter = ({
2588
2910
  ...props
2589
2911
  }) => {
2590
2912
  const store = useDropdownStore(externalStore);
2591
- const setOpen = (0, import_zustand3.useStore)(store, (s) => s.setOpen);
2592
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
2913
+ const setOpen = (0, import_zustand4.useStore)(store, (s) => s.setOpen);
2914
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
2593
2915
  Button_default,
2594
2916
  {
2595
2917
  variant: "outline",
@@ -2601,8 +2923,8 @@ var ProfileMenuFooter = ({
2601
2923
  },
2602
2924
  ...props,
2603
2925
  children: [
2604
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_phosphor_react9.SignOut, { className: "text-inherit" }) }),
2605
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text_default, { color: "inherit", children: "Sair" })
2926
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_phosphor_react10.SignOut, { className: "text-inherit" }) }),
2927
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text_default, { color: "inherit", children: "Sair" })
2606
2928
  ]
2607
2929
  }
2608
2930
  );
@@ -2611,7 +2933,7 @@ ProfileMenuFooter.displayName = "ProfileMenuFooter";
2611
2933
  var DropdownMenu_default = DropdownMenu;
2612
2934
 
2613
2935
  // src/components/ProgressBar/ProgressBar.tsx
2614
- var import_jsx_runtime15 = require("react/jsx-runtime");
2936
+ var import_jsx_runtime16 = require("react/jsx-runtime");
2615
2937
  var SIZE_CLASSES9 = {
2616
2938
  small: {
2617
2939
  container: "h-1",
@@ -2723,20 +3045,20 @@ var renderStackedHitCountDisplay = (showHitCount, showPercentage, clampedValue,
2723
3045
  max,
2724
3046
  percentage
2725
3047
  );
2726
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3048
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2727
3049
  "div",
2728
3050
  {
2729
3051
  className: cn(
2730
3052
  "text-xs font-medium leading-[14px] text-right",
2731
3053
  percentageClassName
2732
3054
  ),
2733
- children: displayPriority.type === "hitCount" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
2734
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-success-200", children: Math.round(clampedValue) }),
2735
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "text-text-600", children: [
3055
+ children: displayPriority.type === "hitCount" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
3056
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-success-200", children: Math.round(clampedValue) }),
3057
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { className: "text-text-600", children: [
2736
3058
  " de ",
2737
3059
  max
2738
3060
  ] })
2739
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Text_default, { size: "xs", weight: "medium", className: "text-success-200", children: [
3061
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Text_default, { size: "xs", weight: "medium", className: "text-success-200", children: [
2740
3062
  Math.round(percentage),
2741
3063
  "%"
2742
3064
  ] })
@@ -2751,7 +3073,7 @@ var ProgressBarBase = ({
2751
3073
  variantClasses,
2752
3074
  containerClassName,
2753
3075
  fillClassName
2754
- }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
3076
+ }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
2755
3077
  "div",
2756
3078
  {
2757
3079
  className: cn(
@@ -2760,7 +3082,7 @@ var ProgressBarBase = ({
2760
3082
  "overflow-hidden relative"
2761
3083
  ),
2762
3084
  children: [
2763
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3085
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2764
3086
  "progress",
2765
3087
  {
2766
3088
  value: clampedValue,
@@ -2769,7 +3091,7 @@ var ProgressBarBase = ({
2769
3091
  className: "absolute inset-0 w-full h-full opacity-0"
2770
3092
  }
2771
3093
  ),
2772
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3094
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2773
3095
  "div",
2774
3096
  {
2775
3097
  className: cn(
@@ -2795,7 +3117,7 @@ var StackedLayout = ({
2795
3117
  percentage,
2796
3118
  variantClasses,
2797
3119
  dimensions
2798
- }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
3120
+ }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
2799
3121
  "div",
2800
3122
  {
2801
3123
  className: cn(
@@ -2805,8 +3127,8 @@ var StackedLayout = ({
2805
3127
  className
2806
3128
  ),
2807
3129
  children: [
2808
- shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-row justify-between items-center w-full h-[19px]", children: [
2809
- label && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3130
+ shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex flex-row justify-between items-center w-full h-[19px]", children: [
3131
+ label && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2810
3132
  Text_default,
2811
3133
  {
2812
3134
  as: "div",
@@ -2825,7 +3147,7 @@ var StackedLayout = ({
2825
3147
  percentageClassName
2826
3148
  )
2827
3149
  ] }),
2828
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3150
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2829
3151
  ProgressBarBase,
2830
3152
  {
2831
3153
  clampedValue,
@@ -2867,7 +3189,7 @@ var CompactLayout = ({
2867
3189
  percentageClassName,
2868
3190
  labelClassName
2869
3191
  });
2870
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
3192
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
2871
3193
  "div",
2872
3194
  {
2873
3195
  className: cn(
@@ -2877,7 +3199,7 @@ var CompactLayout = ({
2877
3199
  className
2878
3200
  ),
2879
3201
  children: [
2880
- shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3202
+ shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2881
3203
  Text_default,
2882
3204
  {
2883
3205
  as: "div",
@@ -2888,7 +3210,7 @@ var CompactLayout = ({
2888
3210
  children: content
2889
3211
  }
2890
3212
  ),
2891
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3213
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2892
3214
  ProgressBarBase,
2893
3215
  {
2894
3216
  clampedValue,
@@ -2924,9 +3246,9 @@ var DefaultLayout = ({
2924
3246
  label,
2925
3247
  showPercentage
2926
3248
  );
2927
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: cn("flex", sizeClasses.layout, gapClass, className), children: [
2928
- displayConfig.showHeader && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-row items-center justify-between w-full", children: [
2929
- label && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3249
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: cn("flex", sizeClasses.layout, gapClass, className), children: [
3250
+ displayConfig.showHeader && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex flex-row items-center justify-between w-full", children: [
3251
+ label && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2930
3252
  Text_default,
2931
3253
  {
2932
3254
  as: "div",
@@ -2939,7 +3261,7 @@ var DefaultLayout = ({
2939
3261
  children: label
2940
3262
  }
2941
3263
  ),
2942
- showPercentage && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
3264
+ showPercentage && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
2943
3265
  Text_default,
2944
3266
  {
2945
3267
  size: "xs",
@@ -2955,7 +3277,7 @@ var DefaultLayout = ({
2955
3277
  }
2956
3278
  )
2957
3279
  ] }),
2958
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3280
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2959
3281
  ProgressBarBase,
2960
3282
  {
2961
3283
  clampedValue,
@@ -2975,7 +3297,7 @@ var DefaultLayout = ({
2975
3297
  )
2976
3298
  }
2977
3299
  ),
2978
- displayConfig.showPercentage && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
3300
+ displayConfig.showPercentage && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
2979
3301
  Text_default,
2980
3302
  {
2981
3303
  size: "xs",
@@ -2990,7 +3312,7 @@ var DefaultLayout = ({
2990
3312
  ]
2991
3313
  }
2992
3314
  ),
2993
- displayConfig.showLabel && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3315
+ displayConfig.showLabel && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2994
3316
  Text_default,
2995
3317
  {
2996
3318
  as: "div",
@@ -3026,7 +3348,7 @@ var ProgressBar = ({
3026
3348
  const sizeClasses = SIZE_CLASSES9[size];
3027
3349
  const variantClasses = VARIANT_CLASSES2[variant];
3028
3350
  if (layout === "stacked") {
3029
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3351
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3030
3352
  StackedLayout,
3031
3353
  {
3032
3354
  className,
@@ -3047,7 +3369,7 @@ var ProgressBar = ({
3047
3369
  );
3048
3370
  }
3049
3371
  if (layout === "compact") {
3050
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3372
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3051
3373
  CompactLayout,
3052
3374
  {
3053
3375
  className,
@@ -3067,7 +3389,7 @@ var ProgressBar = ({
3067
3389
  }
3068
3390
  );
3069
3391
  }
3070
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3392
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3071
3393
  DefaultLayout,
3072
3394
  {
3073
3395
  className,
@@ -3087,8 +3409,8 @@ var ProgressBar = ({
3087
3409
  var ProgressBar_default = ProgressBar;
3088
3410
 
3089
3411
  // src/components/Calendar/Calendar.tsx
3090
- var import_react10 = require("react");
3091
- var import_jsx_runtime16 = require("react/jsx-runtime");
3412
+ var import_react11 = require("react");
3413
+ var import_jsx_runtime17 = require("react/jsx-runtime");
3092
3414
  var WEEK_DAYS = ["SEG", "TER", "QUA", "QUI", "SEX", "S\xC1B", "DOM"];
3093
3415
  var WEEK_DAYS_SHORT = ["S", "T", "Q", "Q", "S", "S", "D"];
3094
3416
  var MONTH_NAMES = [
@@ -3111,15 +3433,15 @@ var MonthYearPicker = ({
3111
3433
  currentDate,
3112
3434
  onYearChange,
3113
3435
  onMonthChange
3114
- }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
3436
+ }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
3115
3437
  "div",
3116
3438
  {
3117
3439
  ref: monthPickerRef,
3118
3440
  className: "absolute top-full left-0 z-50 mt-1 bg-background rounded-lg shadow-lg border border-border-200 p-4 min-w-[280px]",
3119
3441
  children: [
3120
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "mb-4", children: [
3121
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar Ano" }),
3122
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "grid grid-cols-4 gap-1 max-h-32 overflow-y-auto", children: availableYears.map((year) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3442
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "mb-4", children: [
3443
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar Ano" }),
3444
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "grid grid-cols-4 gap-1 max-h-32 overflow-y-auto", children: availableYears.map((year) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3123
3445
  "button",
3124
3446
  {
3125
3447
  onClick: () => onYearChange(year),
@@ -3132,9 +3454,9 @@ var MonthYearPicker = ({
3132
3454
  year
3133
3455
  )) })
3134
3456
  ] }),
3135
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
3136
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar M\xEAs" }),
3137
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "grid grid-cols-3 gap-1", children: MONTH_NAMES.map((month, index) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3457
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { children: [
3458
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar M\xEAs" }),
3459
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "grid grid-cols-3 gap-1", children: MONTH_NAMES.map((month, index) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3138
3460
  "button",
3139
3461
  {
3140
3462
  onClick: () => onMonthChange(index, currentDate.getFullYear()),
@@ -3187,11 +3509,11 @@ var Calendar = ({
3187
3509
  showActivities = true,
3188
3510
  className = ""
3189
3511
  }) => {
3190
- const [currentDate, setCurrentDate] = (0, import_react10.useState)(selectedDate || /* @__PURE__ */ new Date());
3191
- const [isMonthPickerOpen, setIsMonthPickerOpen] = (0, import_react10.useState)(false);
3192
- const monthPickerRef = (0, import_react10.useRef)(null);
3193
- const monthPickerContainerRef = (0, import_react10.useRef)(null);
3194
- (0, import_react10.useEffect)(() => {
3512
+ const [currentDate, setCurrentDate] = (0, import_react11.useState)(selectedDate || /* @__PURE__ */ new Date());
3513
+ const [isMonthPickerOpen, setIsMonthPickerOpen] = (0, import_react11.useState)(false);
3514
+ const monthPickerRef = (0, import_react11.useRef)(null);
3515
+ const monthPickerContainerRef = (0, import_react11.useRef)(null);
3516
+ (0, import_react11.useEffect)(() => {
3195
3517
  const handleClickOutside = (event) => {
3196
3518
  if (monthPickerContainerRef.current && !monthPickerContainerRef.current.contains(event.target)) {
3197
3519
  setIsMonthPickerOpen(false);
@@ -3205,7 +3527,7 @@ var Calendar = ({
3205
3527
  };
3206
3528
  }, [isMonthPickerOpen]);
3207
3529
  const today = /* @__PURE__ */ new Date();
3208
- const availableYears = (0, import_react10.useMemo)(() => {
3530
+ const availableYears = (0, import_react11.useMemo)(() => {
3209
3531
  const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3210
3532
  const years = [];
3211
3533
  for (let year = currentYear - 10; year <= currentYear + 10; year++) {
@@ -3213,7 +3535,7 @@ var Calendar = ({
3213
3535
  }
3214
3536
  return years;
3215
3537
  }, []);
3216
- const calendarData = (0, import_react10.useMemo)(() => {
3538
+ const calendarData = (0, import_react11.useMemo)(() => {
3217
3539
  const year = currentDate.getFullYear();
3218
3540
  const month = currentDate.getMonth();
3219
3541
  const firstDay = new Date(year, month, 1);
@@ -3266,28 +3588,28 @@ var Calendar = ({
3266
3588
  onDateSelect?.(day.date);
3267
3589
  };
3268
3590
  if (variant === "navigation") {
3269
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: cn("bg-background rounded-xl pt-6", className), children: [
3270
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center justify-between mb-4 px-6", children: [
3271
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "relative", ref: monthPickerContainerRef, children: [
3272
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
3591
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: cn("bg-background rounded-xl pt-6", className), children: [
3592
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center justify-between mb-4 px-6", children: [
3593
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "relative", ref: monthPickerContainerRef, children: [
3594
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
3273
3595
  "button",
3274
3596
  {
3275
3597
  onClick: toggleMonthPicker,
3276
3598
  className: "flex items-center group gap-1 rounded transition-colors cursor-pointer",
3277
3599
  children: [
3278
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { className: "text-sm font-medium text-text-600 group-hover:text-primary-950", children: [
3600
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("span", { className: "text-sm font-medium text-text-600 group-hover:text-primary-950", children: [
3279
3601
  MONTH_NAMES[currentDate.getMonth()],
3280
3602
  " ",
3281
3603
  currentDate.getFullYear()
3282
3604
  ] }),
3283
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3605
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3284
3606
  "svg",
3285
3607
  {
3286
3608
  className: `w-4 h-4 text-primary-950 transition-transform ${isMonthPickerOpen ? "rotate-180" : ""}`,
3287
3609
  fill: "none",
3288
3610
  stroke: "currentColor",
3289
3611
  viewBox: "0 0 24 24",
3290
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3612
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3291
3613
  "path",
3292
3614
  {
3293
3615
  strokeLinecap: "round",
@@ -3301,7 +3623,7 @@ var Calendar = ({
3301
3623
  ]
3302
3624
  }
3303
3625
  ),
3304
- isMonthPickerOpen && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3626
+ isMonthPickerOpen && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3305
3627
  MonthYearPicker,
3306
3628
  {
3307
3629
  monthPickerRef,
@@ -3312,21 +3634,21 @@ var Calendar = ({
3312
3634
  }
3313
3635
  )
3314
3636
  ] }),
3315
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-10", children: [
3316
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3637
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-10", children: [
3638
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3317
3639
  "button",
3318
3640
  {
3319
3641
  onClick: goToPreviousMonth,
3320
3642
  className: "p-1 rounded hover:bg-background-100 transition-colors",
3321
3643
  "aria-label": "M\xEAs anterior",
3322
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3644
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3323
3645
  "svg",
3324
3646
  {
3325
3647
  className: "w-6 h-6 text-primary-950",
3326
3648
  fill: "none",
3327
3649
  stroke: "currentColor",
3328
3650
  viewBox: "0 0 24 24",
3329
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3651
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3330
3652
  "path",
3331
3653
  {
3332
3654
  strokeLinecap: "round",
@@ -3339,20 +3661,20 @@ var Calendar = ({
3339
3661
  )
3340
3662
  }
3341
3663
  ),
3342
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3664
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3343
3665
  "button",
3344
3666
  {
3345
3667
  onClick: goToNextMonth,
3346
3668
  className: "p-1 rounded hover:bg-background-100 transition-colors",
3347
3669
  "aria-label": "Pr\xF3ximo m\xEAs",
3348
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3670
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3349
3671
  "svg",
3350
3672
  {
3351
3673
  className: "w-6 h-6 text-primary-950",
3352
3674
  fill: "none",
3353
3675
  stroke: "currentColor",
3354
3676
  viewBox: "0 0 24 24",
3355
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3677
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3356
3678
  "path",
3357
3679
  {
3358
3680
  strokeLinecap: "round",
@@ -3367,7 +3689,7 @@ var Calendar = ({
3367
3689
  )
3368
3690
  ] })
3369
3691
  ] }),
3370
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "grid grid-cols-7 gap-1 mb-2 px-3", children: WEEK_DAYS_SHORT.map((day, index) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3692
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "grid grid-cols-7 gap-1 mb-2 px-3", children: WEEK_DAYS_SHORT.map((day, index) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3371
3693
  "div",
3372
3694
  {
3373
3695
  className: "h-9 flex items-center justify-center text-xs font-normal text-text-600",
@@ -3375,13 +3697,13 @@ var Calendar = ({
3375
3697
  },
3376
3698
  `${day}-${index}`
3377
3699
  )) }),
3378
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "grid grid-cols-7 gap-1 px-3", children: calendarData.map((day) => {
3700
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "grid grid-cols-7 gap-1 px-3", children: calendarData.map((day) => {
3379
3701
  if (!day.isCurrentMonth) {
3380
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3702
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3381
3703
  "div",
3382
3704
  {
3383
3705
  className: "flex items-center justify-center",
3384
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "w-9 h-9" })
3706
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "w-9 h-9" })
3385
3707
  },
3386
3708
  day.date.getTime()
3387
3709
  );
@@ -3397,11 +3719,11 @@ var Calendar = ({
3397
3719
  } else if (day.isSelected) {
3398
3720
  spanClass = "h-6 w-6 rounded-full bg-primary-950 text-text";
3399
3721
  }
3400
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3722
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3401
3723
  "div",
3402
3724
  {
3403
3725
  className: "flex items-center justify-center",
3404
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3726
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3405
3727
  "button",
3406
3728
  {
3407
3729
  className: `
@@ -3417,7 +3739,7 @@ var Calendar = ({
3417
3739
  "aria-label": `${day.date.getDate()} de ${MONTH_NAMES[day.date.getMonth()]}`,
3418
3740
  "aria-current": day.isToday ? "date" : void 0,
3419
3741
  tabIndex: 0,
3420
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: spanClass, children: day.date.getDate() })
3742
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: spanClass, children: day.date.getDate() })
3421
3743
  }
3422
3744
  )
3423
3745
  },
@@ -3426,28 +3748,28 @@ var Calendar = ({
3426
3748
  }) })
3427
3749
  ] });
3428
3750
  }
3429
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: cn("bg-background rounded-xl p-4", className), children: [
3430
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center justify-between mb-3.5", children: [
3431
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "relative", ref: monthPickerContainerRef, children: [
3432
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
3751
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: cn("bg-background rounded-xl p-4", className), children: [
3752
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center justify-between mb-3.5", children: [
3753
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "relative", ref: monthPickerContainerRef, children: [
3754
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
3433
3755
  "button",
3434
3756
  {
3435
3757
  onClick: toggleMonthPicker,
3436
3758
  className: "flex items-center gap-2 hover:bg-background-100 rounded px-2 py-1 transition-colors",
3437
3759
  children: [
3438
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("h2", { className: "text-lg font-semibold text-text-950", children: [
3760
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("h2", { className: "text-lg font-semibold text-text-950", children: [
3439
3761
  MONTH_NAMES[currentDate.getMonth()],
3440
3762
  " ",
3441
3763
  currentDate.getFullYear()
3442
3764
  ] }),
3443
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3765
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3444
3766
  "svg",
3445
3767
  {
3446
3768
  className: `w-4 h-4 text-text-400 transition-transform ${isMonthPickerOpen ? "rotate-180" : ""}`,
3447
3769
  fill: "none",
3448
3770
  stroke: "currentColor",
3449
3771
  viewBox: "0 0 24 24",
3450
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3772
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3451
3773
  "path",
3452
3774
  {
3453
3775
  strokeLinecap: "round",
@@ -3461,7 +3783,7 @@ var Calendar = ({
3461
3783
  ]
3462
3784
  }
3463
3785
  ),
3464
- isMonthPickerOpen && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3786
+ isMonthPickerOpen && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3465
3787
  MonthYearPicker,
3466
3788
  {
3467
3789
  monthPickerRef,
@@ -3472,21 +3794,21 @@ var Calendar = ({
3472
3794
  }
3473
3795
  )
3474
3796
  ] }),
3475
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-1", children: [
3476
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3797
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-1", children: [
3798
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3477
3799
  "button",
3478
3800
  {
3479
3801
  onClick: goToPreviousMonth,
3480
3802
  className: "p-1 rounded-md hover:bg-background-100 transition-colors",
3481
3803
  "aria-label": "M\xEAs anterior",
3482
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3804
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3483
3805
  "svg",
3484
3806
  {
3485
3807
  className: "w-6 h-6 text-primary-950",
3486
3808
  fill: "none",
3487
3809
  stroke: "currentColor",
3488
3810
  viewBox: "0 0 24 24",
3489
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3811
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3490
3812
  "path",
3491
3813
  {
3492
3814
  strokeLinecap: "round",
@@ -3499,20 +3821,20 @@ var Calendar = ({
3499
3821
  )
3500
3822
  }
3501
3823
  ),
3502
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3824
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3503
3825
  "button",
3504
3826
  {
3505
3827
  onClick: goToNextMonth,
3506
3828
  className: "p-1 rounded-md hover:bg-background-100 transition-colors",
3507
3829
  "aria-label": "Pr\xF3ximo m\xEAs",
3508
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3830
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3509
3831
  "svg",
3510
3832
  {
3511
3833
  className: "w-6 h-6 text-primary-950",
3512
3834
  fill: "none",
3513
3835
  stroke: "currentColor",
3514
3836
  viewBox: "0 0 24 24",
3515
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3837
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3516
3838
  "path",
3517
3839
  {
3518
3840
  strokeLinecap: "round",
@@ -3527,7 +3849,7 @@ var Calendar = ({
3527
3849
  )
3528
3850
  ] })
3529
3851
  ] }),
3530
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "grid grid-cols-7 mb-2", children: WEEK_DAYS.map((day) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3852
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "grid grid-cols-7 mb-2", children: WEEK_DAYS.map((day) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3531
3853
  "div",
3532
3854
  {
3533
3855
  className: "h-4 flex items-center justify-center text-xs font-semibold text-text-500",
@@ -3535,13 +3857,13 @@ var Calendar = ({
3535
3857
  },
3536
3858
  day
3537
3859
  )) }),
3538
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "grid grid-cols-7", children: calendarData.map((day) => {
3860
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "grid grid-cols-7", children: calendarData.map((day) => {
3539
3861
  if (!day.isCurrentMonth) {
3540
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3862
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3541
3863
  "div",
3542
3864
  {
3543
3865
  className: "flex items-center justify-center",
3544
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "w-10 h-10" })
3866
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "w-10 h-10" })
3545
3867
  },
3546
3868
  day.date.getTime()
3547
3869
  );
@@ -3551,11 +3873,11 @@ var Calendar = ({
3551
3873
  variant,
3552
3874
  showActivities
3553
3875
  );
3554
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3876
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3555
3877
  "div",
3556
3878
  {
3557
3879
  className: "flex items-center justify-center",
3558
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3880
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3559
3881
  "button",
3560
3882
  {
3561
3883
  className: `
@@ -3584,9 +3906,9 @@ var Calendar = ({
3584
3906
  var Calendar_default = Calendar;
3585
3907
 
3586
3908
  // src/components/DateTimeInput/DateTimeInput.tsx
3587
- var import_react11 = require("react");
3588
- var import_phosphor_react10 = require("phosphor-react");
3589
- var import_jsx_runtime17 = require("react/jsx-runtime");
3909
+ var import_react12 = require("react");
3910
+ var import_phosphor_react11 = require("phosphor-react");
3911
+ var import_jsx_runtime18 = require("react/jsx-runtime");
3590
3912
  var formatDateToInput = (dateObj) => {
3591
3913
  const year = dateObj.getFullYear();
3592
3914
  const month = String(dateObj.getMonth() + 1).padStart(2, "0");
@@ -3606,11 +3928,11 @@ var DateTimeInput = ({
3606
3928
  timeLabel = "Hora",
3607
3929
  className
3608
3930
  }) => {
3609
- const [isCalendarOpen, setIsCalendarOpen] = (0, import_react11.useState)(false);
3610
- const [selectedDate, setSelectedDate] = (0, import_react11.useState)(
3931
+ const [isCalendarOpen, setIsCalendarOpen] = (0, import_react12.useState)(false);
3932
+ const [selectedDate, setSelectedDate] = (0, import_react12.useState)(
3611
3933
  date ? /* @__PURE__ */ new Date(`${date}T12:00:00`) : void 0
3612
3934
  );
3613
- const triggerRef = (0, import_react11.useRef)(null);
3935
+ const triggerRef = (0, import_react12.useRef)(null);
3614
3936
  const handleDateSelect = (dateObj) => {
3615
3937
  setSelectedDate(dateObj);
3616
3938
  onDateChange(formatDateToInput(dateObj));
@@ -3641,7 +3963,7 @@ var DateTimeInput = ({
3641
3963
  onTimeChange(e.target.value);
3642
3964
  };
3643
3965
  const inputValue = date ? `${date}T${time || defaultTime}` : "";
3644
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
3966
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
3645
3967
  DropdownMenu_default,
3646
3968
  {
3647
3969
  open: !disabled && isCalendarOpen,
@@ -3651,13 +3973,13 @@ var DateTimeInput = ({
3651
3973
  }
3652
3974
  },
3653
3975
  children: [
3654
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3976
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
3655
3977
  DropdownMenuTrigger,
3656
3978
  {
3657
3979
  className,
3658
3980
  ref: triggerRef,
3659
3981
  disabled,
3660
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3982
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
3661
3983
  Input_default,
3662
3984
  {
3663
3985
  label,
@@ -3669,13 +3991,13 @@ var DateTimeInput = ({
3669
3991
  errorMessage,
3670
3992
  disabled,
3671
3993
  "data-testid": testId ? `${testId}-input` : void 0,
3672
- iconRight: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_phosphor_react10.CalendarBlank, { size: 14 }),
3994
+ iconRight: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_phosphor_react11.CalendarBlank, { size: 14 }),
3673
3995
  className: "[&::-webkit-calendar-picker-indicator]:hidden"
3674
3996
  }
3675
3997
  )
3676
3998
  }
3677
3999
  ),
3678
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
4000
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
3679
4001
  DropdownMenuContent,
3680
4002
  {
3681
4003
  align: "start",
@@ -3683,7 +4005,7 @@ var DateTimeInput = ({
3683
4005
  portal: true,
3684
4006
  triggerRef,
3685
4007
  children: [
3686
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4008
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
3687
4009
  Calendar_default,
3688
4010
  {
3689
4011
  variant: "selection",
@@ -3692,7 +4014,7 @@ var DateTimeInput = ({
3692
4014
  showActivities: false
3693
4015
  }
3694
4016
  ),
3695
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "p-3 border-t border-border-200", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4017
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "p-3 border-t border-border-200", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
3696
4018
  Input_default,
3697
4019
  {
3698
4020
  label: timeLabel,
@@ -3713,19 +4035,19 @@ var DateTimeInput = ({
3713
4035
  var DateTimeInput_default = DateTimeInput;
3714
4036
 
3715
4037
  // src/components/Accordation/Accordation.tsx
3716
- var import_react14 = require("react");
4038
+ var import_react15 = require("react");
3717
4039
 
3718
4040
  // src/components/Card/Card.tsx
3719
- var import_react13 = require("react");
3720
- var import_phosphor_react11 = require("phosphor-react");
4041
+ var import_react14 = require("react");
4042
+ var import_phosphor_react12 = require("phosphor-react");
3721
4043
 
3722
4044
  // src/components/IconRender/IconRender.tsx
3723
- var import_react12 = require("react");
4045
+ var import_react13 = require("react");
3724
4046
  var PhosphorIcons = __toESM(require("phosphor-react"));
3725
4047
 
3726
4048
  // src/assets/icons/subjects/ChatPT.tsx
3727
- var import_jsx_runtime18 = require("react/jsx-runtime");
3728
- var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
4049
+ var import_jsx_runtime19 = require("react/jsx-runtime");
4050
+ var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
3729
4051
  "svg",
3730
4052
  {
3731
4053
  width: size,
@@ -3734,21 +4056,21 @@ var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)
3734
4056
  fill: "none",
3735
4057
  xmlns: "http://www.w3.org/2000/svg",
3736
4058
  children: [
3737
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4059
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3738
4060
  "path",
3739
4061
  {
3740
4062
  d: "M27 6H5.00004C4.4696 6 3.9609 6.21071 3.58582 6.58579C3.21075 6.96086 3.00004 7.46957 3.00004 8V28C2.99773 28.3814 3.10562 28.7553 3.31074 29.0768C3.51585 29.3984 3.80947 29.6538 4.15629 29.8125C4.42057 29.9356 4.7085 29.9995 5.00004 30C5.46954 29.9989 5.92347 29.8315 6.28129 29.5275L6.29254 29.5187L10.375 26H27C27.5305 26 28.0392 25.7893 28.4142 25.4142C28.7893 25.0391 29 24.5304 29 24V8C29 7.46957 28.7893 6.96086 28.4142 6.58579C28.0392 6.21071 27.5305 6 27 6ZM27 24H10C9.75992 24.0001 9.52787 24.0866 9.34629 24.2437L5.00004 28V8H27V24Z",
3741
4063
  fill: color
3742
4064
  }
3743
4065
  ),
3744
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4066
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3745
4067
  "path",
3746
4068
  {
3747
4069
  d: "M21.1758 12V20.5312H19.7168V12H21.1758ZM23.8535 12V13.1719H17.0625V12H23.8535Z",
3748
4070
  fill: color
3749
4071
  }
3750
4072
  ),
3751
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4073
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3752
4074
  "path",
3753
4075
  {
3754
4076
  d: "M13.2402 17.3496H11.0195V16.1836H13.2402C13.627 16.1836 13.9395 16.1211 14.1777 15.9961C14.416 15.8711 14.5898 15.6992 14.6992 15.4805C14.8125 15.2578 14.8691 15.0039 14.8691 14.7188C14.8691 14.4492 14.8125 14.1973 14.6992 13.9629C14.5898 13.7246 14.416 13.5332 14.1777 13.3887C13.9395 13.2441 13.627 13.1719 13.2402 13.1719H11.4707V20.5312H10V12H13.2402C13.9004 12 14.4609 12.1172 14.9219 12.3516C15.3867 12.582 15.7402 12.9023 15.9824 13.3125C16.2246 13.7188 16.3457 14.1836 16.3457 14.707C16.3457 15.2578 16.2246 15.7305 15.9824 16.125C15.7402 16.5195 15.3867 16.8223 14.9219 17.0332C14.4609 17.2441 13.9004 17.3496 13.2402 17.3496Z",
@@ -3760,8 +4082,8 @@ var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)
3760
4082
  );
3761
4083
 
3762
4084
  // src/assets/icons/subjects/ChatEN.tsx
3763
- var import_jsx_runtime19 = require("react/jsx-runtime");
3764
- var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4085
+ var import_jsx_runtime20 = require("react/jsx-runtime");
4086
+ var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
3765
4087
  "svg",
3766
4088
  {
3767
4089
  width: size,
@@ -3770,21 +4092,21 @@ var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)
3770
4092
  fill: "none",
3771
4093
  xmlns: "http://www.w3.org/2000/svg",
3772
4094
  children: [
3773
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4095
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3774
4096
  "path",
3775
4097
  {
3776
4098
  d: "M27 6H5.00004C4.4696 6 3.9609 6.21071 3.58582 6.58579C3.21075 6.96086 3.00004 7.46957 3.00004 8V28C2.99773 28.3814 3.10562 28.7553 3.31074 29.0768C3.51585 29.3984 3.80947 29.6538 4.15629 29.8125C4.42057 29.9356 4.7085 29.9995 5.00004 30C5.46954 29.9989 5.92347 29.8315 6.28129 29.5275L6.29254 29.5187L10.375 26H27C27.5305 26 28.0392 25.7893 28.4142 25.4142C28.7893 25.0391 29 24.5304 29 24V8C29 7.46957 28.7893 6.96086 28.4142 6.58579C28.0392 6.21071 27.5305 6 27 6ZM27 24H10C9.75992 24.0001 9.52787 24.0866 9.34629 24.2437L5.00004 28V8H27V24Z",
3777
4099
  fill: color
3778
4100
  }
3779
4101
  ),
3780
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4102
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3781
4103
  "path",
3782
4104
  {
3783
4105
  d: "M22.5488 12V20.5312H21.0781L17.252 14.4199V20.5312H15.7812V12H17.252L21.0898 18.123V12H22.5488Z",
3784
4106
  fill: color
3785
4107
  }
3786
4108
  ),
3787
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4109
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3788
4110
  "path",
3789
4111
  {
3790
4112
  d: "M14.584 19.3652V20.5312H10.0547V19.3652H14.584ZM10.4707 12V20.5312H9V12H10.4707ZM13.9922 15.5625V16.7109H10.0547V15.5625H13.9922ZM14.5547 12V13.1719H10.0547V12H14.5547Z",
@@ -3796,8 +4118,8 @@ var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)
3796
4118
  );
3797
4119
 
3798
4120
  // src/assets/icons/subjects/ChatES.tsx
3799
- var import_jsx_runtime20 = require("react/jsx-runtime");
3800
- var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4121
+ var import_jsx_runtime21 = require("react/jsx-runtime");
4122
+ var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
3801
4123
  "svg",
3802
4124
  {
3803
4125
  width: size,
@@ -3806,21 +4128,21 @@ var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)
3806
4128
  fill: "none",
3807
4129
  xmlns: "http://www.w3.org/2000/svg",
3808
4130
  children: [
3809
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4131
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3810
4132
  "path",
3811
4133
  {
3812
4134
  d: "M27 6H5.00004C4.4696 6 3.9609 6.21071 3.58582 6.58579C3.21075 6.96086 3.00004 7.46957 3.00004 8V28C2.99773 28.3814 3.10562 28.7553 3.31074 29.0768C3.51585 29.3984 3.80947 29.6538 4.15629 29.8125C4.42057 29.9356 4.7085 29.9995 5.00004 30C5.46954 29.9989 5.92347 29.8315 6.28129 29.5275L6.29254 29.5187L10.375 26H27C27.5305 26 28.0392 25.7893 28.4142 25.4142C28.7893 25.0391 29 24.5304 29 24V8C29 7.46957 28.7893 6.96086 28.4142 6.58579C28.0392 6.21071 27.5305 6 27 6ZM27 24H10C9.75992 24.0001 9.52787 24.0866 9.34629 24.2437L5.00004 28V8H27V24Z",
3813
4135
  fill: color
3814
4136
  }
3815
4137
  ),
3816
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4138
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3817
4139
  "path",
3818
4140
  {
3819
4141
  d: "M21.1426 17.8027C21.1426 17.627 21.1152 17.4707 21.0605 17.334C21.0098 17.1973 20.918 17.0723 20.7852 16.959C20.6523 16.8457 20.4648 16.7363 20.2227 16.6309C19.9844 16.5215 19.6797 16.4102 19.3086 16.2969C18.9023 16.1719 18.5273 16.0332 18.1836 15.8809C17.8438 15.7246 17.5469 15.5449 17.293 15.3418C17.0391 15.1348 16.8418 14.8984 16.7012 14.6328C16.5605 14.3633 16.4902 14.0527 16.4902 13.7012C16.4902 13.3535 16.5625 13.0371 16.707 12.752C16.8555 12.4668 17.0645 12.2207 17.334 12.0137C17.6074 11.8027 17.9297 11.6406 18.3008 11.5273C18.6719 11.4102 19.082 11.3516 19.5312 11.3516C20.1641 11.3516 20.709 11.4688 21.166 11.7031C21.627 11.9375 21.9805 12.252 22.2266 12.6465C22.4766 13.041 22.6016 13.4766 22.6016 13.9531H21.1426C21.1426 13.6719 21.082 13.4238 20.9609 13.209C20.8438 12.9902 20.6641 12.8184 20.4219 12.6934C20.1836 12.5684 19.8809 12.5059 19.5137 12.5059C19.166 12.5059 18.877 12.5586 18.6465 12.6641C18.416 12.7695 18.2441 12.9121 18.1309 13.0918C18.0176 13.2715 17.9609 13.4746 17.9609 13.7012C17.9609 13.8613 17.998 14.0078 18.0723 14.1406C18.1465 14.2695 18.2598 14.3906 18.4121 14.5039C18.5645 14.6133 18.7559 14.7168 18.9863 14.8145C19.2168 14.9121 19.4883 15.0059 19.8008 15.0957C20.2734 15.2363 20.6855 15.3926 21.0371 15.5645C21.3887 15.7324 21.6816 15.9238 21.916 16.1387C22.1504 16.3535 22.3262 16.5977 22.4434 16.8711C22.5605 17.1406 22.6191 17.4473 22.6191 17.791C22.6191 18.1504 22.5469 18.4746 22.4023 18.7637C22.2578 19.0488 22.0508 19.293 21.7812 19.4961C21.5156 19.6953 21.1953 19.8496 20.8203 19.959C20.4492 20.0645 20.0352 20.1172 19.5781 20.1172C19.168 20.1172 18.7637 20.0625 18.3652 19.9531C17.9707 19.8438 17.6113 19.6777 17.2871 19.4551C16.9629 19.2285 16.7051 18.9473 16.5137 18.6113C16.3223 18.2715 16.2266 17.875 16.2266 17.4219H17.6973C17.6973 17.6992 17.7441 17.9355 17.8379 18.1309C17.9355 18.3262 18.0703 18.4863 18.2422 18.6113C18.4141 18.7324 18.6133 18.8223 18.8398 18.8809C19.0703 18.9395 19.3164 18.9688 19.5781 18.9688C19.9219 18.9688 20.209 18.9199 20.4395 18.8223C20.6738 18.7246 20.8496 18.5879 20.9668 18.4121C21.084 18.2363 21.1426 18.0332 21.1426 17.8027Z",
3820
4142
  fill: color
3821
4143
  }
3822
4144
  ),
3823
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4145
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3824
4146
  "path",
3825
4147
  {
3826
4148
  d: "M15.4512 18.834V20H10.9219V18.834H15.4512ZM11.3379 11.4688V20H9.86719V11.4688H11.3379ZM14.8594 15.0312V16.1797H10.9219V15.0312H14.8594ZM15.4219 11.4688V12.6406H10.9219V11.4688H15.4219Z",
@@ -3832,7 +4154,7 @@ var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)
3832
4154
  );
3833
4155
 
3834
4156
  // src/components/IconRender/IconRender.tsx
3835
- var import_jsx_runtime21 = require("react/jsx-runtime");
4157
+ var import_jsx_runtime22 = require("react/jsx-runtime");
3836
4158
  var IconRender = ({
3837
4159
  iconName,
3838
4160
  color = "#000000",
@@ -3842,18 +4164,18 @@ var IconRender = ({
3842
4164
  if (typeof iconName === "string") {
3843
4165
  switch (iconName) {
3844
4166
  case "Chat_PT":
3845
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ChatPT, { size, color });
4167
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ChatPT, { size, color });
3846
4168
  case "Chat_EN":
3847
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ChatEN, { size, color });
4169
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ChatEN, { size, color });
3848
4170
  case "Chat_ES":
3849
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ChatES, { size, color });
4171
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ChatES, { size, color });
3850
4172
  default: {
3851
4173
  const IconComponent = PhosphorIcons[iconName] || PhosphorIcons.Question;
3852
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(IconComponent, { size, color, weight });
4174
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(IconComponent, { size, color, weight });
3853
4175
  }
3854
4176
  }
3855
4177
  } else {
3856
- return (0, import_react12.cloneElement)(iconName, {
4178
+ return (0, import_react13.cloneElement)(iconName, {
3857
4179
  size,
3858
4180
  color: "currentColor"
3859
4181
  });
@@ -3862,7 +4184,7 @@ var IconRender = ({
3862
4184
  var IconRender_default = IconRender;
3863
4185
 
3864
4186
  // src/components/Card/Card.tsx
3865
- var import_jsx_runtime22 = require("react/jsx-runtime");
4187
+ var import_jsx_runtime23 = require("react/jsx-runtime");
3866
4188
  var CARD_BASE_CLASSES = {
3867
4189
  default: "w-full bg-background border border-border-50 rounded-xl",
3868
4190
  compact: "w-full bg-background border border-border-50 rounded-lg",
@@ -3888,7 +4210,7 @@ var CARD_CURSOR_CLASSES = {
3888
4210
  default: "",
3889
4211
  pointer: "cursor-pointer"
3890
4212
  };
3891
- var CardBase = (0, import_react13.forwardRef)(
4213
+ var CardBase = (0, import_react14.forwardRef)(
3892
4214
  ({
3893
4215
  children,
3894
4216
  variant = "default",
@@ -3904,7 +4226,7 @@ var CardBase = (0, import_react13.forwardRef)(
3904
4226
  const minHeightClasses = CARD_MIN_HEIGHT_CLASSES[minHeight];
3905
4227
  const layoutClasses = CARD_LAYOUT_CLASSES[layout];
3906
4228
  const cursorClasses = CARD_CURSOR_CLASSES[cursor];
3907
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4229
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3908
4230
  "div",
3909
4231
  {
3910
4232
  ref,
@@ -3946,7 +4268,7 @@ var ACTION_HEADER_CLASSES = {
3946
4268
  error: "text-error-300",
3947
4269
  info: "text-info-300"
3948
4270
  };
3949
- var CardActivitiesResults = (0, import_react13.forwardRef)(
4271
+ var CardActivitiesResults = (0, import_react14.forwardRef)(
3950
4272
  ({
3951
4273
  icon,
3952
4274
  title,
@@ -3962,7 +4284,7 @@ var CardActivitiesResults = (0, import_react13.forwardRef)(
3962
4284
  const actionIconClasses = ACTION_ICON_CLASSES[action];
3963
4285
  const actionSubTitleClasses = ACTION_SUBTITLE_CLASSES[action];
3964
4286
  const actionHeaderClasses = ACTION_HEADER_CLASSES[action];
3965
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4287
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
3966
4288
  "div",
3967
4289
  {
3968
4290
  ref,
@@ -3972,7 +4294,7 @@ var CardActivitiesResults = (0, import_react13.forwardRef)(
3972
4294
  ),
3973
4295
  ...props,
3974
4296
  children: [
3975
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4297
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
3976
4298
  "div",
3977
4299
  {
3978
4300
  className: cn(
@@ -3981,7 +4303,7 @@ var CardActivitiesResults = (0, import_react13.forwardRef)(
3981
4303
  extended ? "rounded-t-xl" : "rounded-xl"
3982
4304
  ),
3983
4305
  children: [
3984
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4306
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3985
4307
  "span",
3986
4308
  {
3987
4309
  className: cn(
@@ -3991,7 +4313,7 @@ var CardActivitiesResults = (0, import_react13.forwardRef)(
3991
4313
  children: icon
3992
4314
  }
3993
4315
  ),
3994
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4316
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3995
4317
  Text_default,
3996
4318
  {
3997
4319
  size: "2xs",
@@ -4000,7 +4322,7 @@ var CardActivitiesResults = (0, import_react13.forwardRef)(
4000
4322
  children: title
4001
4323
  }
4002
4324
  ),
4003
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4325
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4004
4326
  "p",
4005
4327
  {
4006
4328
  className: cn("text-lg font-bold truncate", actionSubTitleClasses),
@@ -4010,8 +4332,8 @@ var CardActivitiesResults = (0, import_react13.forwardRef)(
4010
4332
  ]
4011
4333
  }
4012
4334
  ),
4013
- extended && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-col items-center gap-2.5 pb-9.5 pt-2.5", children: [
4014
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4335
+ extended && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col items-center gap-2.5 pb-9.5 pt-2.5", children: [
4336
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4015
4337
  "p",
4016
4338
  {
4017
4339
  className: cn(
@@ -4021,14 +4343,14 @@ var CardActivitiesResults = (0, import_react13.forwardRef)(
4021
4343
  children: header
4022
4344
  }
4023
4345
  ),
4024
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Badge_default, { size: "large", action: "info", children: description })
4346
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Badge_default, { size: "large", action: "info", children: description })
4025
4347
  ] })
4026
4348
  ]
4027
4349
  }
4028
4350
  );
4029
4351
  }
4030
4352
  );
4031
- var CardQuestions = (0, import_react13.forwardRef)(
4353
+ var CardQuestions = (0, import_react14.forwardRef)(
4032
4354
  ({
4033
4355
  header,
4034
4356
  state = "undone",
@@ -4040,7 +4362,7 @@ var CardQuestions = (0, import_react13.forwardRef)(
4040
4362
  const isDone = state === "done";
4041
4363
  const stateLabel = isDone ? "Realizado" : "N\xE3o Realizado";
4042
4364
  const buttonLabel = isDone ? "Ver Resultado" : "Responder";
4043
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4365
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4044
4366
  CardBase,
4045
4367
  {
4046
4368
  ref,
@@ -4050,9 +4372,9 @@ var CardQuestions = (0, import_react13.forwardRef)(
4050
4372
  className: cn("justify-between gap-4", className),
4051
4373
  ...props,
4052
4374
  children: [
4053
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("section", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
4054
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "font-bold text-xs text-text-950 truncate", children: header }),
4055
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex flex-row gap-6 items-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4375
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("section", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
4376
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "font-bold text-xs text-text-950 truncate", children: header }),
4377
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex flex-row gap-6 items-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4056
4378
  Badge_default,
4057
4379
  {
4058
4380
  size: "medium",
@@ -4062,7 +4384,7 @@ var CardQuestions = (0, import_react13.forwardRef)(
4062
4384
  }
4063
4385
  ) })
4064
4386
  ] }),
4065
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4387
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4066
4388
  Button_default,
4067
4389
  {
4068
4390
  size: "extra-small",
@@ -4076,7 +4398,7 @@ var CardQuestions = (0, import_react13.forwardRef)(
4076
4398
  );
4077
4399
  }
4078
4400
  );
4079
- var CardProgress = (0, import_react13.forwardRef)(
4401
+ var CardProgress = (0, import_react14.forwardRef)(
4080
4402
  ({
4081
4403
  header,
4082
4404
  subhead,
@@ -4093,19 +4415,19 @@ var CardProgress = (0, import_react13.forwardRef)(
4093
4415
  }, ref) => {
4094
4416
  const isHorizontal = direction === "horizontal";
4095
4417
  const contentComponent = {
4096
- horizontal: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
4097
- showDates && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-row gap-6 items-center", children: [
4098
- initialDate && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
4099
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-text-800 font-semibold", children: "In\xEDcio" }),
4100
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-text-600", children: initialDate })
4418
+ horizontal: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { children: [
4419
+ showDates && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-row gap-6 items-center", children: [
4420
+ initialDate && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
4421
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-text-800 font-semibold", children: "In\xEDcio" }),
4422
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-text-600", children: initialDate })
4101
4423
  ] }),
4102
- endDate && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
4103
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-text-800 font-semibold", children: "Fim" }),
4104
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-text-600", children: endDate })
4424
+ endDate && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
4425
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-text-800 font-semibold", children: "Fim" }),
4426
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-text-600", children: endDate })
4105
4427
  ] })
4106
4428
  ] }),
4107
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
4108
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4429
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
4430
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4109
4431
  ProgressBar_default,
4110
4432
  {
4111
4433
  size: "small",
@@ -4114,7 +4436,7 @@ var CardProgress = (0, import_react13.forwardRef)(
4114
4436
  "data-testid": "progress-bar"
4115
4437
  }
4116
4438
  ),
4117
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4439
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4118
4440
  Text_default,
4119
4441
  {
4120
4442
  size: "xs",
@@ -4130,9 +4452,9 @@ var CardProgress = (0, import_react13.forwardRef)(
4130
4452
  )
4131
4453
  ] })
4132
4454
  ] }),
4133
- vertical: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-sm text-text-800", children: subhead })
4455
+ vertical: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-sm text-text-800", children: subhead })
4134
4456
  };
4135
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4457
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4136
4458
  CardBase,
4137
4459
  {
4138
4460
  ref,
@@ -4143,7 +4465,7 @@ var CardProgress = (0, import_react13.forwardRef)(
4143
4465
  className: cn(isHorizontal ? "h-20" : "", className),
4144
4466
  ...props,
4145
4467
  children: [
4146
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4468
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4147
4469
  "div",
4148
4470
  {
4149
4471
  className: cn(
@@ -4156,7 +4478,7 @@ var CardProgress = (0, import_react13.forwardRef)(
4156
4478
  children: icon
4157
4479
  }
4158
4480
  ),
4159
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4481
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4160
4482
  "div",
4161
4483
  {
4162
4484
  className: cn(
@@ -4164,7 +4486,7 @@ var CardProgress = (0, import_react13.forwardRef)(
4164
4486
  !isHorizontal && "gap-4"
4165
4487
  ),
4166
4488
  children: [
4167
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text_default, { size: "sm", weight: "bold", className: "text-text-950 truncate", children: header }),
4489
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Text_default, { size: "sm", weight: "bold", className: "text-text-950 truncate", children: header }),
4168
4490
  contentComponent[direction]
4169
4491
  ]
4170
4492
  }
@@ -4174,7 +4496,7 @@ var CardProgress = (0, import_react13.forwardRef)(
4174
4496
  );
4175
4497
  }
4176
4498
  );
4177
- var CardTopic = (0, import_react13.forwardRef)(
4499
+ var CardTopic = (0, import_react14.forwardRef)(
4178
4500
  ({
4179
4501
  header,
4180
4502
  subHead,
@@ -4184,7 +4506,7 @@ var CardTopic = (0, import_react13.forwardRef)(
4184
4506
  className = "",
4185
4507
  ...props
4186
4508
  }, ref) => {
4187
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4509
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4188
4510
  CardBase,
4189
4511
  {
4190
4512
  ref,
@@ -4195,13 +4517,13 @@ var CardTopic = (0, import_react13.forwardRef)(
4195
4517
  className: cn("justify-center gap-2 py-2 px-4", className),
4196
4518
  ...props,
4197
4519
  children: [
4198
- subHead && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_react13.Fragment, { children: [
4199
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { children: text }),
4200
- index < subHead.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { children: "\u2022" })
4520
+ subHead && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_react14.Fragment, { children: [
4521
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { children: text }),
4522
+ index < subHead.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { children: "\u2022" })
4201
4523
  ] }, `${text} - ${index}`)) }),
4202
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }),
4203
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
4204
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4524
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }),
4525
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
4526
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4205
4527
  ProgressBar_default,
4206
4528
  {
4207
4529
  size: "small",
@@ -4210,7 +4532,7 @@ var CardTopic = (0, import_react13.forwardRef)(
4210
4532
  "data-testid": "progress-bar"
4211
4533
  }
4212
4534
  ),
4213
- showPercentage && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4535
+ showPercentage && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4214
4536
  Text_default,
4215
4537
  {
4216
4538
  size: "xs",
@@ -4230,7 +4552,7 @@ var CardTopic = (0, import_react13.forwardRef)(
4230
4552
  );
4231
4553
  }
4232
4554
  );
4233
- var CardPerformance = (0, import_react13.forwardRef)(
4555
+ var CardPerformance = (0, import_react14.forwardRef)(
4234
4556
  ({
4235
4557
  header,
4236
4558
  progress,
@@ -4244,7 +4566,7 @@ var CardPerformance = (0, import_react13.forwardRef)(
4244
4566
  ...props
4245
4567
  }, ref) => {
4246
4568
  const hasProgress = progress !== void 0;
4247
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4569
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4248
4570
  CardBase,
4249
4571
  {
4250
4572
  ref,
@@ -4258,10 +4580,10 @@ var CardPerformance = (0, import_react13.forwardRef)(
4258
4580
  onClick: () => actionVariant == "caret" && onClickButton?.(valueButton),
4259
4581
  ...props,
4260
4582
  children: [
4261
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "w-full flex flex-col justify-between gap-2", children: [
4262
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-row justify-between items-center gap-2", children: [
4263
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-lg font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
4264
- actionVariant === "button" && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4583
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "w-full flex flex-col justify-between gap-2", children: [
4584
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-row justify-between items-center gap-2", children: [
4585
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-lg font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
4586
+ actionVariant === "button" && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4265
4587
  Button_default,
4266
4588
  {
4267
4589
  variant: "outline",
@@ -4272,17 +4594,17 @@ var CardPerformance = (0, import_react13.forwardRef)(
4272
4594
  }
4273
4595
  )
4274
4596
  ] }),
4275
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-full", children: hasProgress ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4597
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-full", children: hasProgress ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4276
4598
  ProgressBar_default,
4277
4599
  {
4278
4600
  value: progress,
4279
4601
  label: `${progress}% ${labelProgress}`,
4280
4602
  variant: progressVariant
4281
4603
  }
4282
- ) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-xs text-text-600 truncate", children: description }) })
4604
+ ) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-xs text-text-600 truncate", children: description }) })
4283
4605
  ] }),
4284
- actionVariant == "caret" && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4285
- import_phosphor_react11.CaretRight,
4606
+ actionVariant == "caret" && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4607
+ import_phosphor_react12.CaretRight,
4286
4608
  {
4287
4609
  className: "size-4.5 text-text-800 cursor-pointer",
4288
4610
  "data-testid": "caret-icon"
@@ -4293,7 +4615,7 @@ var CardPerformance = (0, import_react13.forwardRef)(
4293
4615
  );
4294
4616
  }
4295
4617
  );
4296
- var CardResults = (0, import_react13.forwardRef)(
4618
+ var CardResults = (0, import_react14.forwardRef)(
4297
4619
  ({
4298
4620
  header,
4299
4621
  correct_answers,
@@ -4305,7 +4627,7 @@ var CardResults = (0, import_react13.forwardRef)(
4305
4627
  ...props
4306
4628
  }, ref) => {
4307
4629
  const isRow = direction == "row";
4308
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4630
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4309
4631
  CardBase,
4310
4632
  {
4311
4633
  ref,
@@ -4315,7 +4637,7 @@ var CardResults = (0, import_react13.forwardRef)(
4315
4637
  className: cn("items-stretch cursor-pointer pr-4", className),
4316
4638
  ...props,
4317
4639
  children: [
4318
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4640
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4319
4641
  "div",
4320
4642
  {
4321
4643
  className: cn(
@@ -4324,11 +4646,11 @@ var CardResults = (0, import_react13.forwardRef)(
4324
4646
  style: {
4325
4647
  backgroundColor: color
4326
4648
  },
4327
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(IconRender_default, { iconName: icon, color: "currentColor", size: 20 })
4649
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(IconRender_default, { iconName: icon, color: "currentColor", size: 20 })
4328
4650
  }
4329
4651
  ),
4330
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "w-full flex flex-row justify-between items-center", children: [
4331
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4652
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "w-full flex flex-row justify-between items-center", children: [
4653
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4332
4654
  "div",
4333
4655
  {
4334
4656
  className: cn(
@@ -4336,28 +4658,28 @@ var CardResults = (0, import_react13.forwardRef)(
4336
4658
  isRow ? "flex-row items-center gap-2" : "flex-col"
4337
4659
  ),
4338
4660
  children: [
4339
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-sm font-bold text-text-950 flex-1", children: header }),
4340
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: "flex flex-wrap flex-row gap-1 items-center", children: [
4341
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4661
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-sm font-bold text-text-950 flex-1", children: header }),
4662
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "flex flex-wrap flex-row gap-1 items-center", children: [
4663
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4342
4664
  Badge_default,
4343
4665
  {
4344
4666
  action: "success",
4345
4667
  variant: "solid",
4346
4668
  size: "large",
4347
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.CheckCircle, {}),
4669
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.CheckCircle, {}),
4348
4670
  children: [
4349
4671
  correct_answers,
4350
4672
  " Corretas"
4351
4673
  ]
4352
4674
  }
4353
4675
  ),
4354
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4676
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4355
4677
  Badge_default,
4356
4678
  {
4357
4679
  action: "error",
4358
4680
  variant: "solid",
4359
4681
  size: "large",
4360
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.XCircle, {}),
4682
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.XCircle, {}),
4361
4683
  children: [
4362
4684
  incorrect_answers,
4363
4685
  " Incorretas"
@@ -4368,14 +4690,14 @@ var CardResults = (0, import_react13.forwardRef)(
4368
4690
  ]
4369
4691
  }
4370
4692
  ),
4371
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
4693
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
4372
4694
  ] })
4373
4695
  ]
4374
4696
  }
4375
4697
  );
4376
4698
  }
4377
4699
  );
4378
- var CardStatus = (0, import_react13.forwardRef)(
4700
+ var CardStatus = (0, import_react14.forwardRef)(
4379
4701
  ({ header, className, status, label, ...props }, ref) => {
4380
4702
  const getLabelBadge = (status2) => {
4381
4703
  switch (status2) {
@@ -4394,13 +4716,13 @@ var CardStatus = (0, import_react13.forwardRef)(
4394
4716
  const getIconBadge = (status2) => {
4395
4717
  switch (status2) {
4396
4718
  case "correct":
4397
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.CheckCircle, {});
4719
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.CheckCircle, {});
4398
4720
  case "incorrect":
4399
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.XCircle, {});
4721
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.XCircle, {});
4400
4722
  case "pending":
4401
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.Clock, {});
4723
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.Clock, {});
4402
4724
  default:
4403
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.XCircle, {});
4725
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.XCircle, {});
4404
4726
  }
4405
4727
  };
4406
4728
  const getActionBadge = (status2) => {
@@ -4415,7 +4737,7 @@ var CardStatus = (0, import_react13.forwardRef)(
4415
4737
  return "info";
4416
4738
  }
4417
4739
  };
4418
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4740
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4419
4741
  CardBase,
4420
4742
  {
4421
4743
  ref,
@@ -4424,10 +4746,10 @@ var CardStatus = (0, import_react13.forwardRef)(
4424
4746
  minHeight: "medium",
4425
4747
  className: cn("items-center cursor-pointer", className),
4426
4748
  ...props,
4427
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex justify-between w-full h-full flex-row items-center gap-2", children: [
4428
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
4429
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: "flex flex-row gap-1 items-center flex-shrink-0", children: [
4430
- status && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4749
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between w-full h-full flex-row items-center gap-2", children: [
4750
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
4751
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "flex flex-row gap-1 items-center flex-shrink-0", children: [
4752
+ status && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4431
4753
  Badge_default,
4432
4754
  {
4433
4755
  action: getActionBadge(status),
@@ -4437,17 +4759,17 @@ var CardStatus = (0, import_react13.forwardRef)(
4437
4759
  children: getLabelBadge(status)
4438
4760
  }
4439
4761
  ),
4440
- label && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-sm text-text-800", children: label })
4762
+ label && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-sm text-text-800", children: label })
4441
4763
  ] }),
4442
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.CaretRight, { className: "min-w-6 min-h-6 text-text-800 cursor-pointer flex-shrink-0 ml-2" })
4764
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.CaretRight, { className: "min-w-6 min-h-6 text-text-800 cursor-pointer flex-shrink-0 ml-2" })
4443
4765
  ] })
4444
4766
  }
4445
4767
  );
4446
4768
  }
4447
4769
  );
4448
- var CardSettings = (0, import_react13.forwardRef)(
4770
+ var CardSettings = (0, import_react14.forwardRef)(
4449
4771
  ({ header, className, icon, ...props }, ref) => {
4450
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4772
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4451
4773
  CardBase,
4452
4774
  {
4453
4775
  ref,
@@ -4460,17 +4782,17 @@ var CardSettings = (0, import_react13.forwardRef)(
4460
4782
  ),
4461
4783
  ...props,
4462
4784
  children: [
4463
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "[&>svg]:size-6", children: icon }),
4464
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "w-full text-sm truncate", children: header }),
4465
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.CaretRight, { size: 24, className: "cursor-pointer" })
4785
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "[&>svg]:size-6", children: icon }),
4786
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "w-full text-sm truncate", children: header }),
4787
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.CaretRight, { size: 24, className: "cursor-pointer" })
4466
4788
  ]
4467
4789
  }
4468
4790
  );
4469
4791
  }
4470
4792
  );
4471
- var CardSupport = (0, import_react13.forwardRef)(
4793
+ var CardSupport = (0, import_react14.forwardRef)(
4472
4794
  ({ header, className, direction = "col", children, ...props }, ref) => {
4473
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4795
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4474
4796
  CardBase,
4475
4797
  {
4476
4798
  ref,
@@ -4483,7 +4805,7 @@ var CardSupport = (0, import_react13.forwardRef)(
4483
4805
  ),
4484
4806
  ...props,
4485
4807
  children: [
4486
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4808
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4487
4809
  "div",
4488
4810
  {
4489
4811
  className: cn(
@@ -4491,18 +4813,18 @@ var CardSupport = (0, import_react13.forwardRef)(
4491
4813
  direction == "col" ? "flex-col" : "flex-row items-center"
4492
4814
  ),
4493
4815
  children: [
4494
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }) }),
4495
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "flex flex-row gap-1", children })
4816
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }) }),
4817
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "flex flex-row gap-1", children })
4496
4818
  ]
4497
4819
  }
4498
4820
  ),
4499
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.CaretRight, { className: "text-text-800 cursor-pointer", size: 24 })
4821
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.CaretRight, { className: "text-text-800 cursor-pointer", size: 24 })
4500
4822
  ]
4501
4823
  }
4502
4824
  );
4503
4825
  }
4504
4826
  );
4505
- var CardForum = (0, import_react13.forwardRef)(
4827
+ var CardForum = (0, import_react14.forwardRef)(
4506
4828
  ({
4507
4829
  title,
4508
4830
  content,
@@ -4516,7 +4838,7 @@ var CardForum = (0, import_react13.forwardRef)(
4516
4838
  hour,
4517
4839
  ...props
4518
4840
  }, ref) => {
4519
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4841
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4520
4842
  CardBase,
4521
4843
  {
4522
4844
  ref,
@@ -4527,7 +4849,7 @@ var CardForum = (0, import_react13.forwardRef)(
4527
4849
  className: cn("w-auto h-auto gap-3", className),
4528
4850
  ...props,
4529
4851
  children: [
4530
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4852
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4531
4853
  "button",
4532
4854
  {
4533
4855
  type: "button",
@@ -4536,18 +4858,18 @@ var CardForum = (0, import_react13.forwardRef)(
4536
4858
  className: "min-w-8 h-8 rounded-full bg-background-950"
4537
4859
  }
4538
4860
  ),
4539
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
4540
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-row gap-1 items-center flex-wrap", children: [
4541
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-xs font-semibold text-primary-700 truncate", children: title }),
4542
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("p", { className: "text-xs text-text-600", children: [
4861
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
4862
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-row gap-1 items-center flex-wrap", children: [
4863
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-xs font-semibold text-primary-700 truncate", children: title }),
4864
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("p", { className: "text-xs text-text-600", children: [
4543
4865
  "\u2022 ",
4544
4866
  date,
4545
4867
  " \u2022 ",
4546
4868
  hour
4547
4869
  ] })
4548
4870
  ] }),
4549
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-text-950 text-sm line-clamp-2 truncate", children: content }),
4550
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4871
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-text-950 text-sm line-clamp-2 truncate", children: content }),
4872
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4551
4873
  "button",
4552
4874
  {
4553
4875
  type: "button",
@@ -4555,8 +4877,8 @@ var CardForum = (0, import_react13.forwardRef)(
4555
4877
  onClick: () => onClickComments?.(valueComments),
4556
4878
  className: "text-text-600 flex flex-row gap-2 items-center",
4557
4879
  children: [
4558
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.ChatCircleText, { "aria-hidden": "true", size: 16 }),
4559
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("p", { className: "text-xs", children: [
4880
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.ChatCircleText, { "aria-hidden": "true", size: 16 }),
4881
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("p", { className: "text-xs", children: [
4560
4882
  comments,
4561
4883
  " respostas"
4562
4884
  ] })
@@ -4569,7 +4891,7 @@ var CardForum = (0, import_react13.forwardRef)(
4569
4891
  );
4570
4892
  }
4571
4893
  );
4572
- var CardAudio = (0, import_react13.forwardRef)(
4894
+ var CardAudio = (0, import_react14.forwardRef)(
4573
4895
  ({
4574
4896
  src,
4575
4897
  title,
@@ -4583,16 +4905,16 @@ var CardAudio = (0, import_react13.forwardRef)(
4583
4905
  className,
4584
4906
  ...props
4585
4907
  }, ref) => {
4586
- const [isPlaying, setIsPlaying] = (0, import_react13.useState)(false);
4587
- const [currentTime, setCurrentTime] = (0, import_react13.useState)(0);
4588
- const [duration, setDuration] = (0, import_react13.useState)(0);
4589
- const [volume, setVolume] = (0, import_react13.useState)(1);
4590
- const [showVolumeControl, setShowVolumeControl] = (0, import_react13.useState)(false);
4591
- const [showSpeedMenu, setShowSpeedMenu] = (0, import_react13.useState)(false);
4592
- const [playbackRate, setPlaybackRate] = (0, import_react13.useState)(1);
4593
- const audioRef = (0, import_react13.useRef)(null);
4594
- const volumeControlRef = (0, import_react13.useRef)(null);
4595
- const speedMenuRef = (0, import_react13.useRef)(null);
4908
+ const [isPlaying, setIsPlaying] = (0, import_react14.useState)(false);
4909
+ const [currentTime, setCurrentTime] = (0, import_react14.useState)(0);
4910
+ const [duration, setDuration] = (0, import_react14.useState)(0);
4911
+ const [volume, setVolume] = (0, import_react14.useState)(1);
4912
+ const [showVolumeControl, setShowVolumeControl] = (0, import_react14.useState)(false);
4913
+ const [showSpeedMenu, setShowSpeedMenu] = (0, import_react14.useState)(false);
4914
+ const [playbackRate, setPlaybackRate] = (0, import_react14.useState)(1);
4915
+ const audioRef = (0, import_react14.useRef)(null);
4916
+ const volumeControlRef = (0, import_react14.useRef)(null);
4917
+ const speedMenuRef = (0, import_react14.useRef)(null);
4596
4918
  const formatTime = (time) => {
4597
4919
  const minutes = Math.floor(time / 60);
4598
4920
  const seconds = Math.floor(time % 60);
@@ -4659,14 +4981,14 @@ var CardAudio = (0, import_react13.forwardRef)(
4659
4981
  };
4660
4982
  const getVolumeIcon = () => {
4661
4983
  if (volume === 0) {
4662
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.SpeakerSimpleX, { size: 24 });
4984
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.SpeakerSimpleX, { size: 24 });
4663
4985
  }
4664
4986
  if (volume < 0.5) {
4665
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.SpeakerLow, { size: 24 });
4987
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.SpeakerLow, { size: 24 });
4666
4988
  }
4667
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.SpeakerHigh, { size: 24 });
4989
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.SpeakerHigh, { size: 24 });
4668
4990
  };
4669
- (0, import_react13.useEffect)(() => {
4991
+ (0, import_react14.useEffect)(() => {
4670
4992
  const handleClickOutside = (event) => {
4671
4993
  if (volumeControlRef.current && !volumeControlRef.current.contains(event.target)) {
4672
4994
  setShowVolumeControl(false);
@@ -4680,7 +5002,7 @@ var CardAudio = (0, import_react13.forwardRef)(
4680
5002
  document.removeEventListener("mousedown", handleClickOutside);
4681
5003
  };
4682
5004
  }, []);
4683
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
5005
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4684
5006
  CardBase,
4685
5007
  {
4686
5008
  ref,
@@ -4693,7 +5015,7 @@ var CardAudio = (0, import_react13.forwardRef)(
4693
5015
  ),
4694
5016
  ...props,
4695
5017
  children: [
4696
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5018
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4697
5019
  "audio",
4698
5020
  {
4699
5021
  ref: audioRef,
@@ -4705,7 +5027,7 @@ var CardAudio = (0, import_react13.forwardRef)(
4705
5027
  onEnded: handleEnded,
4706
5028
  "data-testid": "audio-element",
4707
5029
  "aria-label": title,
4708
- children: tracks ? tracks.map((track) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5030
+ children: tracks ? tracks.map((track) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4709
5031
  "track",
4710
5032
  {
4711
5033
  kind: track.kind,
@@ -4715,7 +5037,7 @@ var CardAudio = (0, import_react13.forwardRef)(
4715
5037
  default: track.default
4716
5038
  },
4717
5039
  track.src
4718
- )) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5040
+ )) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4719
5041
  "track",
4720
5042
  {
4721
5043
  kind: "captions",
@@ -4726,7 +5048,7 @@ var CardAudio = (0, import_react13.forwardRef)(
4726
5048
  )
4727
5049
  }
4728
5050
  ),
4729
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5051
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4730
5052
  "button",
4731
5053
  {
4732
5054
  type: "button",
@@ -4734,14 +5056,14 @@ var CardAudio = (0, import_react13.forwardRef)(
4734
5056
  disabled: !src,
4735
5057
  className: "cursor-pointer text-text-950 hover:text-primary-600 disabled:text-text-400 disabled:cursor-not-allowed",
4736
5058
  "aria-label": isPlaying ? "Pausar" : "Reproduzir",
4737
- children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex gap-0.5", children: [
4738
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" }),
4739
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" })
4740
- ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.Play, { size: 24 })
5059
+ children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex gap-0.5", children: [
5060
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" }),
5061
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" })
5062
+ ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.Play, { size: 24 })
4741
5063
  }
4742
5064
  ),
4743
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime(currentTime) }),
4744
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex-1 relative", "data-testid": "progress-bar", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5065
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime(currentTime) }),
5066
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex-1 relative", "data-testid": "progress-bar", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4745
5067
  "button",
4746
5068
  {
4747
5069
  type: "button",
@@ -4756,7 +5078,7 @@ var CardAudio = (0, import_react13.forwardRef)(
4756
5078
  }
4757
5079
  },
4758
5080
  "aria-label": "Barra de progresso do \xE1udio",
4759
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5081
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4760
5082
  "div",
4761
5083
  {
4762
5084
  className: "h-full bg-primary-600 rounded-full transition-all duration-100",
@@ -4767,19 +5089,19 @@ var CardAudio = (0, import_react13.forwardRef)(
4767
5089
  )
4768
5090
  }
4769
5091
  ) }),
4770
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime(duration) }),
4771
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "relative h-6", ref: volumeControlRef, children: [
4772
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5092
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime(duration) }),
5093
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "relative h-6", ref: volumeControlRef, children: [
5094
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4773
5095
  "button",
4774
5096
  {
4775
5097
  type: "button",
4776
5098
  onClick: toggleVolumeControl,
4777
5099
  className: "cursor-pointer text-text-950 hover:text-primary-600",
4778
5100
  "aria-label": "Controle de volume",
4779
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: getVolumeIcon() })
5101
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: getVolumeIcon() })
4780
5102
  }
4781
5103
  ),
4782
- showVolumeControl && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5104
+ showVolumeControl && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4783
5105
  "button",
4784
5106
  {
4785
5107
  type: "button",
@@ -4789,7 +5111,7 @@ var CardAudio = (0, import_react13.forwardRef)(
4789
5111
  setShowVolumeControl(false);
4790
5112
  }
4791
5113
  },
4792
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5114
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4793
5115
  "input",
4794
5116
  {
4795
5117
  type: "range",
@@ -4830,22 +5152,22 @@ var CardAudio = (0, import_react13.forwardRef)(
4830
5152
  }
4831
5153
  )
4832
5154
  ] }),
4833
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "relative h-6", ref: speedMenuRef, children: [
4834
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5155
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "relative h-6", ref: speedMenuRef, children: [
5156
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4835
5157
  "button",
4836
5158
  {
4837
5159
  type: "button",
4838
5160
  onClick: toggleSpeedMenu,
4839
5161
  className: "cursor-pointer text-text-950 hover:text-primary-600",
4840
5162
  "aria-label": "Op\xE7\xF5es de velocidade",
4841
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.DotsThreeVertical, { size: 24 })
5163
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.DotsThreeVertical, { size: 24 })
4842
5164
  }
4843
5165
  ),
4844
- showSpeedMenu && /* @__PURE__ */ (0, import_jsx_runtime22.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_runtime22.jsx)("div", { className: "flex flex-col gap-1", children: [
5166
+ showSpeedMenu && /* @__PURE__ */ (0, import_jsx_runtime23.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_runtime23.jsx)("div", { className: "flex flex-col gap-1", children: [
4845
5167
  { speed: 1, label: "1x" },
4846
5168
  { speed: 1.5, label: "1.5x" },
4847
5169
  { speed: 2, label: "2x" }
4848
- ].map(({ speed, label }) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5170
+ ].map(({ speed, label }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4849
5171
  "button",
4850
5172
  {
4851
5173
  type: "button",
@@ -4870,10 +5192,10 @@ var SIMULADO_BACKGROUND_CLASSES = {
4870
5192
  simuladao: "bg-exam-3",
4871
5193
  vestibular: "bg-exam-4"
4872
5194
  };
4873
- var CardSimulado = (0, import_react13.forwardRef)(
5195
+ var CardSimulado = (0, import_react14.forwardRef)(
4874
5196
  ({ title, duration, info, backgroundColor, className, ...props }, ref) => {
4875
5197
  const backgroundClass = SIMULADO_BACKGROUND_CLASSES[backgroundColor];
4876
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5198
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4877
5199
  CardBase,
4878
5200
  {
4879
5201
  ref,
@@ -4886,19 +5208,19 @@ var CardSimulado = (0, import_react13.forwardRef)(
4886
5208
  className
4887
5209
  ),
4888
5210
  ...props,
4889
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex justify-between items-center w-full gap-4", children: [
4890
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
4891
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text_default, { size: "lg", weight: "bold", className: "text-text-950 truncate", children: title }),
4892
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-4 text-text-700", children: [
4893
- duration && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
4894
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.Clock, { size: 16, className: "flex-shrink-0" }),
4895
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text_default, { size: "sm", children: duration })
5211
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between items-center w-full gap-4", children: [
5212
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
5213
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Text_default, { size: "lg", weight: "bold", className: "text-text-950 truncate", children: title }),
5214
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-4 text-text-700", children: [
5215
+ duration && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-1", children: [
5216
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.Clock, { size: 16, className: "flex-shrink-0" }),
5217
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Text_default, { size: "sm", children: duration })
4896
5218
  ] }),
4897
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text_default, { size: "sm", className: "truncate", children: info })
5219
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Text_default, { size: "sm", className: "truncate", children: info })
4898
5220
  ] })
4899
5221
  ] }),
4900
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4901
- import_phosphor_react11.CaretRight,
5222
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5223
+ import_phosphor_react12.CaretRight,
4902
5224
  {
4903
5225
  size: 24,
4904
5226
  className: "text-text-800 flex-shrink-0",
@@ -4910,7 +5232,7 @@ var CardSimulado = (0, import_react13.forwardRef)(
4910
5232
  );
4911
5233
  }
4912
5234
  );
4913
- var CardTest = (0, import_react13.forwardRef)(
5235
+ var CardTest = (0, import_react14.forwardRef)(
4914
5236
  ({
4915
5237
  title,
4916
5238
  duration,
@@ -4942,7 +5264,7 @@ var CardTest = (0, import_react13.forwardRef)(
4942
5264
  const interactiveClasses = isSelectable ? "cursor-pointer focus:outline-none focus:ring-2 focus:ring-primary-950 focus:ring-offset-2" : "";
4943
5265
  const selectedClasses = selected ? "ring-2 ring-primary-950 ring-offset-2" : "";
4944
5266
  if (isSelectable) {
4945
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5267
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4946
5268
  "button",
4947
5269
  {
4948
5270
  ref,
@@ -4954,8 +5276,8 @@ var CardTest = (0, import_react13.forwardRef)(
4954
5276
  onKeyDown: handleKeyDown,
4955
5277
  "aria-pressed": selected,
4956
5278
  ...props,
4957
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
4958
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5279
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
5280
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4959
5281
  Text_default,
4960
5282
  {
4961
5283
  size: "md",
@@ -4964,10 +5286,10 @@ var CardTest = (0, import_react13.forwardRef)(
4964
5286
  children: title
4965
5287
  }
4966
5288
  ),
4967
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
4968
- duration && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
4969
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.Clock, { size: 16, className: "text-text-700" }),
4970
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5289
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
5290
+ duration && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
5291
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.Clock, { size: 16, className: "text-text-700" }),
5292
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4971
5293
  Text_default,
4972
5294
  {
4973
5295
  size: "sm",
@@ -4976,7 +5298,7 @@ var CardTest = (0, import_react13.forwardRef)(
4976
5298
  }
4977
5299
  )
4978
5300
  ] }),
4979
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5301
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4980
5302
  Text_default,
4981
5303
  {
4982
5304
  size: "sm",
@@ -4989,14 +5311,14 @@ var CardTest = (0, import_react13.forwardRef)(
4989
5311
  }
4990
5312
  );
4991
5313
  }
4992
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5314
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4993
5315
  "div",
4994
5316
  {
4995
5317
  ref,
4996
5318
  className: cn(`${baseClasses} ${className}`.trim()),
4997
5319
  ...props,
4998
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
4999
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5320
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
5321
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5000
5322
  Text_default,
5001
5323
  {
5002
5324
  size: "md",
@@ -5005,10 +5327,10 @@ var CardTest = (0, import_react13.forwardRef)(
5005
5327
  children: title
5006
5328
  }
5007
5329
  ),
5008
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
5009
- duration && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
5010
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_phosphor_react11.Clock, { size: 16, className: "text-text-700" }),
5011
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5330
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
5331
+ duration && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
5332
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_phosphor_react12.Clock, { size: 16, className: "text-text-700" }),
5333
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5012
5334
  Text_default,
5013
5335
  {
5014
5336
  size: "sm",
@@ -5017,7 +5339,7 @@ var CardTest = (0, import_react13.forwardRef)(
5017
5339
  }
5018
5340
  )
5019
5341
  ] }),
5020
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5342
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5021
5343
  Text_default,
5022
5344
  {
5023
5345
  size: "sm",
@@ -5053,15 +5375,15 @@ var SIMULATION_TYPE_STYLES = {
5053
5375
  text: "Vestibular"
5054
5376
  }
5055
5377
  };
5056
- var CardSimulationHistory = (0, import_react13.forwardRef)(({ data, onSimulationClick, className, ...props }, ref) => {
5057
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5378
+ var CardSimulationHistory = (0, import_react14.forwardRef)(({ data, onSimulationClick, className, ...props }, ref) => {
5379
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5058
5380
  "div",
5059
5381
  {
5060
5382
  ref,
5061
5383
  className: cn("w-full max-w-[992px] h-auto", className),
5062
5384
  ...props,
5063
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-col gap-0", children: [
5064
- data.map((section, sectionIndex) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
5385
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col gap-0", children: [
5386
+ data.map((section, sectionIndex) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
5065
5387
  "div",
5066
5388
  {
5067
5389
  className: cn(
@@ -5069,7 +5391,7 @@ var CardSimulationHistory = (0, import_react13.forwardRef)(({ data, onSimulation
5069
5391
  sectionIndex === 0 ? "rounded-t-3xl" : ""
5070
5392
  ),
5071
5393
  children: [
5072
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5394
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5073
5395
  Text_default,
5074
5396
  {
5075
5397
  size: "xs",
@@ -5078,9 +5400,9 @@ var CardSimulationHistory = (0, import_react13.forwardRef)(({ data, onSimulation
5078
5400
  children: section.date
5079
5401
  }
5080
5402
  ),
5081
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex flex-col gap-2 flex-1", children: section.simulations.map((simulation) => {
5403
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex flex-col gap-2 flex-1", children: section.simulations.map((simulation) => {
5082
5404
  const typeStyles = SIMULATION_TYPE_STYLES[simulation.type];
5083
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5405
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5084
5406
  CardBase,
5085
5407
  {
5086
5408
  layout: "horizontal",
@@ -5092,9 +5414,9 @@ var CardSimulationHistory = (0, import_react13.forwardRef)(({ data, onSimulation
5092
5414
  transition-shadow duration-200 h-auto min-h-[61px]`
5093
5415
  ),
5094
5416
  onClick: () => onSimulationClick?.(simulation),
5095
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex justify-between items-center w-full gap-2", children: [
5096
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-wrap flex-col justify-between sm:flex-row gap-2 flex-1 min-w-0", children: [
5097
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5417
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between items-center w-full gap-2", children: [
5418
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-wrap flex-col justify-between sm:flex-row gap-2 flex-1 min-w-0", children: [
5419
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5098
5420
  Text_default,
5099
5421
  {
5100
5422
  size: "lg",
@@ -5103,8 +5425,8 @@ var CardSimulationHistory = (0, import_react13.forwardRef)(({ data, onSimulation
5103
5425
  children: simulation.title
5104
5426
  }
5105
5427
  ),
5106
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2", children: [
5107
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5428
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
5429
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5108
5430
  Badge_default,
5109
5431
  {
5110
5432
  variant: "examsOutlined",
@@ -5113,11 +5435,11 @@ var CardSimulationHistory = (0, import_react13.forwardRef)(({ data, onSimulation
5113
5435
  children: typeStyles.text
5114
5436
  }
5115
5437
  ),
5116
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text_default, { size: "sm", className: "text-text-800 truncate", children: simulation.info })
5438
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Text_default, { size: "sm", className: "text-text-800 truncate", children: simulation.info })
5117
5439
  ] })
5118
5440
  ] }),
5119
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5120
- import_phosphor_react11.CaretRight,
5441
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5442
+ import_phosphor_react12.CaretRight,
5121
5443
  {
5122
5444
  size: 24,
5123
5445
  className: "text-text-800 flex-shrink-0",
@@ -5132,16 +5454,16 @@ var CardSimulationHistory = (0, import_react13.forwardRef)(({ data, onSimulation
5132
5454
  ]
5133
5455
  }
5134
5456
  ) }, section.date)),
5135
- data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-full h-6 bg-background rounded-b-3xl" })
5457
+ data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-full h-6 bg-background rounded-b-3xl" })
5136
5458
  ] })
5137
5459
  }
5138
5460
  );
5139
5461
  });
5140
5462
 
5141
5463
  // src/components/Accordation/Accordation.tsx
5142
- var import_phosphor_react12 = require("phosphor-react");
5143
- var import_jsx_runtime23 = require("react/jsx-runtime");
5144
- var CardAccordation = (0, import_react14.forwardRef)(
5464
+ var import_phosphor_react13 = require("phosphor-react");
5465
+ var import_jsx_runtime24 = require("react/jsx-runtime");
5466
+ var CardAccordation = (0, import_react15.forwardRef)(
5145
5467
  ({
5146
5468
  trigger,
5147
5469
  children,
@@ -5155,13 +5477,13 @@ var CardAccordation = (0, import_react14.forwardRef)(
5155
5477
  contentClassName,
5156
5478
  ...props
5157
5479
  }, ref) => {
5158
- const [internalExpanded, setInternalExpanded] = (0, import_react14.useState)(defaultExpanded);
5159
- const generatedId = (0, import_react14.useId)();
5480
+ const [internalExpanded, setInternalExpanded] = (0, import_react15.useState)(defaultExpanded);
5481
+ const generatedId = (0, import_react15.useId)();
5160
5482
  const contentId = value ? `accordion-content-${value}` : generatedId;
5161
5483
  const headerId = value ? `accordion-header-${value}` : `${generatedId}-header`;
5162
5484
  const isControlled = controlledExpanded !== void 0;
5163
5485
  const isExpanded = isControlled ? controlledExpanded : internalExpanded;
5164
- (0, import_react14.useEffect)(() => {
5486
+ (0, import_react15.useEffect)(() => {
5165
5487
  if (isControlled) {
5166
5488
  setInternalExpanded(controlledExpanded);
5167
5489
  }
@@ -5181,7 +5503,7 @@ var CardAccordation = (0, import_react14.forwardRef)(
5181
5503
  handleToggle();
5182
5504
  }
5183
5505
  };
5184
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
5506
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
5185
5507
  CardBase,
5186
5508
  {
5187
5509
  ref,
@@ -5191,7 +5513,7 @@ var CardAccordation = (0, import_react14.forwardRef)(
5191
5513
  className: cn("overflow-hidden", className),
5192
5514
  ...props,
5193
5515
  children: [
5194
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
5516
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
5195
5517
  "button",
5196
5518
  {
5197
5519
  id: headerId,
@@ -5210,8 +5532,8 @@ var CardAccordation = (0, import_react14.forwardRef)(
5210
5532
  "data-value": value,
5211
5533
  children: [
5212
5534
  trigger,
5213
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5214
- import_phosphor_react12.CaretRight,
5535
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
5536
+ import_phosphor_react13.CaretRight,
5215
5537
  {
5216
5538
  size: 20,
5217
5539
  className: cn(
@@ -5225,7 +5547,7 @@ var CardAccordation = (0, import_react14.forwardRef)(
5225
5547
  ]
5226
5548
  }
5227
5549
  ),
5228
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5550
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
5229
5551
  "section",
5230
5552
  {
5231
5553
  id: contentId,
@@ -5237,7 +5559,7 @@ var CardAccordation = (0, import_react14.forwardRef)(
5237
5559
  ),
5238
5560
  "data-testid": "accordion-content",
5239
5561
  "data-value": value,
5240
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: cn("p-4 pt-0", contentClassName), children })
5562
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: cn("p-4 pt-0", contentClassName), children })
5241
5563
  }
5242
5564
  )
5243
5565
  ]
@@ -5248,11 +5570,11 @@ var CardAccordation = (0, import_react14.forwardRef)(
5248
5570
  CardAccordation.displayName = "CardAccordation";
5249
5571
 
5250
5572
  // src/components/Accordation/AccordionGroup.tsx
5251
- var import_react15 = require("react");
5252
- var import_zustand4 = require("zustand");
5253
- var import_jsx_runtime24 = require("react/jsx-runtime");
5573
+ var import_react16 = require("react");
5574
+ var import_zustand5 = require("zustand");
5575
+ var import_jsx_runtime25 = require("react/jsx-runtime");
5254
5576
  function createAccordionGroupStore(type, initialValue, collapsible) {
5255
- return (0, import_zustand4.create)((set, get) => ({
5577
+ return (0, import_zustand5.create)((set, get) => ({
5256
5578
  type,
5257
5579
  value: initialValue,
5258
5580
  collapsible,
@@ -5268,8 +5590,8 @@ function createAccordionGroupStore(type, initialValue, collapsible) {
5268
5590
  }));
5269
5591
  }
5270
5592
  var injectStore3 = (children, store, indexRef, onItemToggle) => {
5271
- return import_react15.Children.map(children, (child) => {
5272
- if (!(0, import_react15.isValidElement)(child)) {
5593
+ return import_react16.Children.map(children, (child) => {
5594
+ if (!(0, import_react16.isValidElement)(child)) {
5273
5595
  return child;
5274
5596
  }
5275
5597
  const typedChild = child;
@@ -5296,16 +5618,16 @@ var injectStore3 = (children, store, indexRef, onItemToggle) => {
5296
5618
  if (displayName === "CardAccordation") {
5297
5619
  newProps.children = processedChildren;
5298
5620
  } else if (processedChildren !== typedChild.props.children) {
5299
- return (0, import_react15.cloneElement)(typedChild, { children: processedChildren });
5621
+ return (0, import_react16.cloneElement)(typedChild, { children: processedChildren });
5300
5622
  }
5301
5623
  }
5302
5624
  if (Object.keys(newProps).length > 0) {
5303
- return (0, import_react15.cloneElement)(typedChild, newProps);
5625
+ return (0, import_react16.cloneElement)(typedChild, newProps);
5304
5626
  }
5305
5627
  return child;
5306
5628
  });
5307
5629
  };
5308
- var AccordionGroup = (0, import_react15.forwardRef)(
5630
+ var AccordionGroup = (0, import_react16.forwardRef)(
5309
5631
  ({
5310
5632
  type = "single",
5311
5633
  defaultValue,
@@ -5316,12 +5638,12 @@ var AccordionGroup = (0, import_react15.forwardRef)(
5316
5638
  className,
5317
5639
  ...props
5318
5640
  }, ref) => {
5319
- const [internalValue, setInternalValue] = (0, import_react15.useState)(
5641
+ const [internalValue, setInternalValue] = (0, import_react16.useState)(
5320
5642
  defaultValue || (type === "single" ? "" : [])
5321
5643
  );
5322
5644
  const isControlled = controlledValue !== void 0;
5323
5645
  const currentValue = isControlled ? controlledValue : internalValue;
5324
- const storeRef = (0, import_react15.useRef)(null);
5646
+ const storeRef = (0, import_react16.useRef)(null);
5325
5647
  if (storeRef.current) {
5326
5648
  storeRef.current.setState((prev) => {
5327
5649
  const nextState = {};
@@ -5341,10 +5663,10 @@ var AccordionGroup = (0, import_react15.forwardRef)(
5341
5663
  );
5342
5664
  }
5343
5665
  const store = storeRef.current;
5344
- (0, import_react15.useEffect)(() => {
5666
+ (0, import_react16.useEffect)(() => {
5345
5667
  store.setState({ value: currentValue });
5346
5668
  }, [currentValue, store]);
5347
- (0, import_react15.useEffect)(() => {
5669
+ (0, import_react16.useEffect)(() => {
5348
5670
  if (!isControlled) {
5349
5671
  setInternalValue((prev) => {
5350
5672
  if (type === "single") {
@@ -5390,7 +5712,7 @@ var AccordionGroup = (0, import_react15.forwardRef)(
5390
5712
  indexRef,
5391
5713
  handleItemToggle
5392
5714
  );
5393
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { ref, className, ...props, children: enhancedChildren });
5715
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { ref, className, ...props, children: enhancedChildren });
5394
5716
  }
5395
5717
  );
5396
5718
  AccordionGroup.displayName = "AccordionGroup";
@@ -5477,7 +5799,7 @@ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
5477
5799
  };
5478
5800
 
5479
5801
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
5480
- var import_jsx_runtime25 = require("react/jsx-runtime");
5802
+ var import_jsx_runtime26 = require("react/jsx-runtime");
5481
5803
  var CheckboxGroup = ({
5482
5804
  categories,
5483
5805
  onCategoriesChange,
@@ -5485,14 +5807,14 @@ var CheckboxGroup = ({
5485
5807
  showDivider = true,
5486
5808
  showSingleItem = false
5487
5809
  }) => {
5488
- const [openAccordion, setOpenAccordion] = (0, import_react16.useState)("");
5489
- const autoSelectionAppliedRef = (0, import_react16.useRef)(false);
5490
- const onCategoriesChangeRef = (0, import_react16.useRef)(onCategoriesChange);
5491
- const previousCategoriesRef = (0, import_react16.useRef)(categories);
5492
- (0, import_react16.useEffect)(() => {
5810
+ const [openAccordion, setOpenAccordion] = (0, import_react17.useState)("");
5811
+ const autoSelectionAppliedRef = (0, import_react17.useRef)(false);
5812
+ const onCategoriesChangeRef = (0, import_react17.useRef)(onCategoriesChange);
5813
+ const previousCategoriesRef = (0, import_react17.useRef)(categories);
5814
+ (0, import_react17.useEffect)(() => {
5493
5815
  onCategoriesChangeRef.current = onCategoriesChange;
5494
5816
  }, [onCategoriesChange]);
5495
- const categoriesWithAutoSelection = (0, import_react16.useMemo)(() => {
5817
+ const categoriesWithAutoSelection = (0, import_react17.useMemo)(() => {
5496
5818
  return categories.map((category) => {
5497
5819
  const filteredItems = calculateFormattedItemsForAutoSelection(
5498
5820
  category,
@@ -5507,7 +5829,7 @@ var CheckboxGroup = ({
5507
5829
  return category;
5508
5830
  });
5509
5831
  }, [categories]);
5510
- (0, import_react16.useEffect)(() => {
5832
+ (0, import_react17.useEffect)(() => {
5511
5833
  const categoriesChanged = categories !== previousCategoriesRef.current;
5512
5834
  if (!categoriesChanged && autoSelectionAppliedRef.current) {
5513
5835
  return;
@@ -5625,7 +5947,7 @@ var CheckboxGroup = ({
5625
5947
  );
5626
5948
  return groupedItems.length ? groupedItems : [{ itens: [] }];
5627
5949
  };
5628
- const formattedItemsMap = (0, import_react16.useMemo)(() => {
5950
+ const formattedItemsMap = (0, import_react17.useMemo)(() => {
5629
5951
  const formattedItemsMap2 = {};
5630
5952
  for (const category of categories) {
5631
5953
  const formattedItems = calculateFormattedItems(category.key);
@@ -5780,7 +6102,7 @@ var CheckboxGroup = ({
5780
6102
  };
5781
6103
  const renderCheckboxItem = (item, categoryKey) => {
5782
6104
  const uniqueId = `${categoryKey}-${item.id}`;
5783
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
6105
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
5784
6106
  "div",
5785
6107
  {
5786
6108
  className: "flex items-center gap-3 px-2",
@@ -5790,7 +6112,7 @@ var CheckboxGroup = ({
5790
6112
  onMouseUp: (e) => e.stopPropagation(),
5791
6113
  onKeyDown: (e) => e.stopPropagation(),
5792
6114
  children: [
5793
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
6115
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5794
6116
  CheckBox_default,
5795
6117
  {
5796
6118
  id: uniqueId,
@@ -5798,7 +6120,7 @@ var CheckboxGroup = ({
5798
6120
  onChange: () => toggleItem(categoryKey, item.id)
5799
6121
  }
5800
6122
  ),
5801
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
6123
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5802
6124
  "label",
5803
6125
  {
5804
6126
  htmlFor: uniqueId,
@@ -5811,12 +6133,12 @@ var CheckboxGroup = ({
5811
6133
  item.id
5812
6134
  );
5813
6135
  };
5814
- const renderFormattedGroup = (formattedGroup, idx, categoryKey) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
6136
+ const renderFormattedGroup = (formattedGroup, idx, categoryKey) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
5815
6137
  "div",
5816
6138
  {
5817
6139
  className: "flex flex-col gap-3",
5818
6140
  children: [
5819
- "groupLabel" in formattedGroup && formattedGroup.groupLabel && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Text_default, { size: "sm", className: "mt-2", weight: "semibold", children: formattedGroup.groupLabel }),
6141
+ "groupLabel" in formattedGroup && formattedGroup.groupLabel && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text_default, { size: "sm", className: "mt-2", weight: "semibold", children: formattedGroup.groupLabel }),
5820
6142
  formattedGroup.itens?.map(
5821
6143
  (item) => renderCheckboxItem(item, categoryKey)
5822
6144
  )
@@ -5824,9 +6146,9 @@ var CheckboxGroup = ({
5824
6146
  },
5825
6147
  formattedGroup.groupLabel || `group-${idx}`
5826
6148
  );
5827
- const renderAccordionTrigger = (category, isEnabled) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between w-full p-2", children: [
5828
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-3", children: [
5829
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
6149
+ const renderAccordionTrigger = (category, isEnabled) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center justify-between w-full p-2", children: [
6150
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center gap-3", children: [
6151
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5830
6152
  CheckBox_default,
5831
6153
  {
5832
6154
  checked: isMinimalOneCheckBoxIsSelected(category.key),
@@ -5835,7 +6157,7 @@ var CheckboxGroup = ({
5835
6157
  onChange: () => toggleAllInCategory(category.key)
5836
6158
  }
5837
6159
  ),
5838
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
6160
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5839
6161
  Text_default,
5840
6162
  {
5841
6163
  size: "sm",
@@ -5845,7 +6167,7 @@ var CheckboxGroup = ({
5845
6167
  }
5846
6168
  )
5847
6169
  ] }),
5848
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
6170
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
5849
6171
  ] });
5850
6172
  const renderCompactSingleItem = (category) => {
5851
6173
  const formattedItems = getFormattedItems(category.key);
@@ -5854,13 +6176,13 @@ var CheckboxGroup = ({
5854
6176
  return null;
5855
6177
  }
5856
6178
  const singleItem = allItems[0];
5857
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
6179
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
5858
6180
  "div",
5859
6181
  {
5860
6182
  className: "flex items-center justify-between w-full px-3 py-2",
5861
6183
  children: [
5862
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Text_default, { size: "sm", weight: "bold", className: "text-text-800", children: category.label }),
5863
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Text_default, { size: "sm", className: "text-text-950", children: singleItem.name })
6184
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text_default, { size: "sm", weight: "bold", className: "text-text-800", children: category.label }),
6185
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text_default, { size: "sm", className: "text-text-950", children: singleItem.name })
5864
6186
  ]
5865
6187
  },
5866
6188
  category.key
@@ -5876,16 +6198,16 @@ var CheckboxGroup = ({
5876
6198
  const allItems = formattedItems.flatMap((group) => group.itens || []);
5877
6199
  const hasOnlyOneAvailableItem = allItems.length === 1;
5878
6200
  if (compactSingleItem && hasOnlyOneAvailableItem && isEnabled) {
5879
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { children: [
6201
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { children: [
5880
6202
  renderCompactSingleItem(category),
5881
- showDivider && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Divider_default, {})
6203
+ showDivider && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Divider_default, {})
5882
6204
  ] }, category.key);
5883
6205
  }
5884
6206
  const hasNoItems = formattedItems.every(
5885
6207
  (group) => !group.itens || group.itens.length === 0
5886
6208
  );
5887
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { children: [
5888
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
6209
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { children: [
6210
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5889
6211
  CardAccordation,
5890
6212
  {
5891
6213
  value: category.key,
@@ -5895,15 +6217,15 @@ var CheckboxGroup = ({
5895
6217
  openAccordion === category.key && "bg-background-50 border-none"
5896
6218
  ),
5897
6219
  trigger: renderAccordionTrigger(category, isEnabled),
5898
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "flex flex-col gap-3 pt-2", children: hasNoItems && isEnabled ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "px-2 py-4", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Text_default, { size: "sm", className: "text-text-500 text-center", children: "Sem dados" }) }) : formattedItems.map(
6220
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex flex-col gap-3 pt-2", children: hasNoItems && isEnabled ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "px-2 py-4", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text_default, { size: "sm", className: "text-text-500 text-center", children: "Sem dados" }) }) : formattedItems.map(
5899
6221
  (formattedGroup, idx) => renderFormattedGroup(formattedGroup, idx, category.key)
5900
6222
  ) })
5901
6223
  }
5902
6224
  ),
5903
- openAccordion !== category.key && showDivider && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Divider_default, {})
6225
+ openAccordion !== category.key && showDivider && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Divider_default, {})
5904
6226
  ] }, category.key);
5905
6227
  };
5906
- (0, import_react16.useEffect)(() => {
6228
+ (0, import_react17.useEffect)(() => {
5907
6229
  if (!openAccordion) return;
5908
6230
  const category = categories.find((c) => c.key === openAccordion);
5909
6231
  if (!category) return;
@@ -5914,7 +6236,7 @@ var CheckboxGroup = ({
5914
6236
  }, 0);
5915
6237
  }
5916
6238
  }, [categories, openAccordion]);
5917
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
6239
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5918
6240
  AccordionGroup,
5919
6241
  {
5920
6242
  type: "single",
@@ -5924,280 +6246,201 @@ var CheckboxGroup = ({
5924
6246
  children: categories.map(renderCategoryAccordion)
5925
6247
  }
5926
6248
  );
5927
- };
5928
-
5929
- // src/components/SendActivityModal/hooks/useSendActivityModal.ts
5930
- var import_zustand5 = require("zustand");
5931
-
5932
- // src/components/SendActivityModal/validation.ts
5933
- var import_zod = require("zod");
5934
- var ERROR_MESSAGES = {
5935
- SUBTYPE_REQUIRED: "Campo obrigat\xF3rio! Por favor, selecione uma op\xE7\xE3o para continuar.",
5936
- TITLE_REQUIRED: "Campo obrigat\xF3rio! Por favor, preencha este campo para continuar.",
5937
- STUDENTS_REQUIRED: "Campo obrigat\xF3rio! Por favor, selecione pelo menos um aluno para continuar.",
5938
- START_DATE_REQUIRED: "Campo obrigat\xF3rio! Por favor, preencha este campo para continuar.",
5939
- FINAL_DATE_REQUIRED: "Campo obrigat\xF3rio! Por favor, preencha este campo para continuar.",
5940
- FINAL_DATE_INVALID: "A data final deve ser maior ou igual \xE0 data inicial."
5941
- };
5942
- var activityStepSchema = import_zod.z.object({
5943
- subtype: import_zod.z.enum(["TAREFA", "TRABALHO", "PROVA"], {
5944
- errorMap: () => ({ message: ERROR_MESSAGES.SUBTYPE_REQUIRED })
5945
- }),
5946
- title: import_zod.z.string({ required_error: ERROR_MESSAGES.TITLE_REQUIRED }).transform((val) => val.trim()).refine((val) => val.length > 0, {
5947
- message: ERROR_MESSAGES.TITLE_REQUIRED
5948
- }),
5949
- notification: import_zod.z.string().optional()
5950
- });
5951
- var recipientStepSchema = import_zod.z.object({
5952
- students: import_zod.z.array(
5953
- import_zod.z.object({
5954
- studentId: import_zod.z.string(),
5955
- userInstitutionId: import_zod.z.string()
5956
- }),
5957
- {
5958
- required_error: ERROR_MESSAGES.STUDENTS_REQUIRED,
5959
- invalid_type_error: ERROR_MESSAGES.STUDENTS_REQUIRED
5960
- }
5961
- ).min(1, ERROR_MESSAGES.STUDENTS_REQUIRED)
5962
- });
5963
- var DATE_REGEX = /^\d{4}-\d{2}-\d{2}$/;
5964
- var TIME_REGEX = /^\d{2}:\d{2}$/;
5965
- var deadlineStepBaseSchema = import_zod.z.object({
5966
- startDate: import_zod.z.string({
5967
- required_error: ERROR_MESSAGES.START_DATE_REQUIRED,
5968
- invalid_type_error: ERROR_MESSAGES.START_DATE_REQUIRED
5969
- }).min(1, ERROR_MESSAGES.START_DATE_REQUIRED).regex(DATE_REGEX, ERROR_MESSAGES.START_DATE_REQUIRED),
5970
- startTime: import_zod.z.string().regex(TIME_REGEX).default("00:00"),
5971
- finalDate: import_zod.z.string({
5972
- required_error: ERROR_MESSAGES.FINAL_DATE_REQUIRED,
5973
- invalid_type_error: ERROR_MESSAGES.FINAL_DATE_REQUIRED
5974
- }).min(1, ERROR_MESSAGES.FINAL_DATE_REQUIRED).regex(DATE_REGEX, ERROR_MESSAGES.FINAL_DATE_REQUIRED),
5975
- finalTime: import_zod.z.string().regex(TIME_REGEX).default("23:59"),
5976
- canRetry: import_zod.z.boolean().default(false)
5977
- });
5978
- var deadlineStepSchema = deadlineStepBaseSchema.refine(
5979
- (data) => {
5980
- const start = /* @__PURE__ */ new Date(`${data.startDate}T${data.startTime}`);
5981
- const end = /* @__PURE__ */ new Date(`${data.finalDate}T${data.finalTime}`);
5982
- return end >= start;
5983
- },
5984
- { message: ERROR_MESSAGES.FINAL_DATE_INVALID, path: ["finalDate"] }
5985
- );
5986
- function validateActivityStep(data) {
5987
- const errors = {};
5988
- const result = activityStepSchema.safeParse({
5989
- subtype: data.subtype,
5990
- title: data.title,
5991
- notification: data.notification
5992
- });
5993
- if (!result.success) {
5994
- result.error.issues.forEach((issue) => {
5995
- const field = issue.path[0];
5996
- if (field === "subtype" || field === "title") {
5997
- errors[field] = issue.message;
5998
- }
5999
- });
6000
- }
6001
- return errors;
6002
- }
6003
- function validateRecipientStep(data) {
6004
- const errors = {};
6005
- const result = recipientStepSchema.safeParse({
6006
- students: data.students ?? []
6007
- });
6008
- if (!result.success) {
6009
- result.error.issues.forEach((issue) => {
6010
- if (issue.path[0] === "students") {
6011
- errors.students = issue.message;
6012
- }
6013
- });
6014
- }
6015
- return errors;
6016
- }
6017
- function validateDeadlineStep(data) {
6018
- const errors = {};
6019
- if (!data.startDate) {
6020
- errors.startDate = ERROR_MESSAGES.START_DATE_REQUIRED;
6021
- }
6022
- if (!data.finalDate) {
6023
- errors.finalDate = ERROR_MESSAGES.FINAL_DATE_REQUIRED;
6024
- }
6025
- if (data.startDate && data.finalDate) {
6026
- const result = deadlineStepSchema.safeParse({
6027
- startDate: data.startDate,
6028
- startTime: data.startTime ?? "00:00",
6029
- finalDate: data.finalDate,
6030
- finalTime: data.finalTime ?? "23:59",
6031
- canRetry: data.canRetry ?? false
6032
- });
6033
- if (!result.success) {
6034
- result.error.issues.forEach((issue) => {
6035
- const field = issue.path[0];
6036
- if (field === "startDate" || field === "finalDate") {
6037
- errors[field] = issue.message;
6038
- }
6039
- });
6040
- }
6041
- }
6042
- return errors;
6043
- }
6044
- function validateStep(step, data) {
6045
- switch (step) {
6046
- case 1:
6047
- return validateActivityStep(data);
6048
- case 2:
6049
- return validateRecipientStep(data);
6050
- case 3:
6051
- return validateDeadlineStep(data);
6052
- default:
6053
- return {};
6054
- }
6055
- }
6056
- function isStepValid(step, data) {
6057
- const errors = validateStep(step, data);
6058
- return Object.keys(errors).length === 0;
6059
- }
6060
- function isFormValid(data) {
6061
- return isStepValid(1, data) && isStepValid(2, data) && isStepValid(3, data);
6062
- }
6063
-
6064
- // src/components/SendActivityModal/hooks/useSendActivityModal.ts
6065
- var initialState = {
6066
- formData: {
6067
- canRetry: false,
6068
- startTime: "00:00",
6069
- finalTime: "23:59"
6070
- },
6071
- currentStep: 1,
6072
- completedSteps: [],
6073
- errors: {},
6074
- categories: []
6075
- };
6076
- function extractStudentsFromCategories(categories) {
6077
- const studentsCategory = categories.find(
6078
- (cat) => cat.key === "students" || cat.key === "alunos" || cat.key === "student"
6079
- );
6080
- if (!studentsCategory?.selectedIds || !studentsCategory.itens) {
6081
- return [];
6082
- }
6083
- return studentsCategory.selectedIds.map((id) => {
6084
- const student = studentsCategory.itens?.find((item) => item.id === id);
6085
- if (student) {
6086
- const rawStudentId = student.studentId;
6087
- const rawUserInstId = student.userInstitutionId;
6088
- const rawInstId = student.institutionId;
6089
- const studentId = typeof rawStudentId === "string" || typeof rawStudentId === "number" ? String(rawStudentId) : student.id;
6090
- let userInstitutionId = "";
6091
- if (typeof rawUserInstId === "string" || typeof rawUserInstId === "number") {
6092
- userInstitutionId = String(rawUserInstId);
6093
- } else if (typeof rawInstId === "string" || typeof rawInstId === "number") {
6094
- userInstitutionId = String(rawInstId);
6095
- }
6096
- if (!userInstitutionId) {
6097
- return null;
6098
- }
6099
- return { studentId, userInstitutionId };
6100
- }
6101
- return null;
6102
- }).filter(
6103
- (s) => s !== null
6104
- );
6105
- }
6106
- var useSendActivityModalStore = (0, import_zustand5.create)(
6107
- (set, get) => ({
6108
- ...initialState,
6109
- setFormData: (data) => {
6110
- set((state) => ({
6111
- formData: { ...state.formData, ...data }
6112
- }));
6113
- },
6114
- goToStep: (step) => {
6115
- if (step >= 1 && step <= 3) {
6116
- set({ currentStep: step, errors: {} });
6117
- }
6118
- },
6119
- nextStep: () => {
6120
- const state = get();
6121
- const isValid = state.validateCurrentStep();
6122
- if (isValid && state.currentStep < 3) {
6123
- set((prev) => ({
6124
- currentStep: prev.currentStep + 1,
6125
- completedSteps: prev.completedSteps.includes(prev.currentStep) ? prev.completedSteps : [...prev.completedSteps, prev.currentStep],
6126
- errors: {}
6127
- }));
6128
- return true;
6129
- }
6130
- return isValid;
6131
- },
6132
- previousStep: () => {
6133
- const state = get();
6134
- if (state.currentStep > 1) {
6135
- set({ currentStep: state.currentStep - 1, errors: {} });
6136
- }
6137
- },
6138
- setErrors: (errors) => {
6139
- set({ errors });
6140
- },
6141
- validateCurrentStep: () => {
6142
- const state = get();
6143
- let formDataToValidate = state.formData;
6144
- let updatedFormData = state.formData;
6145
- if (state.currentStep === 2 && state.categories.length > 0) {
6146
- const students = extractStudentsFromCategories(state.categories);
6147
- formDataToValidate = { ...state.formData, students };
6148
- updatedFormData = formDataToValidate;
6149
- }
6150
- const errors = validateStep(state.currentStep, formDataToValidate);
6151
- set({ formData: updatedFormData, errors });
6152
- return Object.keys(errors).length === 0;
6153
- },
6154
- validateAllSteps: () => {
6155
- const state = get();
6156
- let formDataForStep2 = state.formData;
6157
- if (state.categories.length > 0) {
6158
- const students = extractStudentsFromCategories(state.categories);
6159
- formDataForStep2 = { ...state.formData, students };
6160
- }
6161
- const errors1 = validateStep(1, state.formData);
6162
- const errors2 = validateStep(2, formDataForStep2);
6163
- const errors3 = validateStep(3, state.formData);
6164
- const allErrors = { ...errors1, ...errors2, ...errors3 };
6165
- set({ errors: allErrors });
6166
- return Object.keys(allErrors).length === 0;
6167
- },
6168
- setCategories: (categories) => {
6169
- const students = extractStudentsFromCategories(categories);
6170
- set((state) => ({
6171
- categories,
6172
- formData: { ...state.formData, students }
6173
- }));
6174
- },
6175
- reset: () => {
6176
- set({
6177
- ...initialState,
6178
- categories: []
6179
- });
6249
+ };
6250
+
6251
+ // src/components/shared/SendModalBase/components/RecipientStep.tsx
6252
+ var import_jsx_runtime27 = require("react/jsx-runtime");
6253
+ var RecipientStep = ({
6254
+ categories,
6255
+ onCategoriesChange,
6256
+ entityNameWithArticle,
6257
+ studentsError,
6258
+ testIdPrefix
6259
+ }) => {
6260
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
6261
+ "div",
6262
+ {
6263
+ className: "flex flex-col gap-4",
6264
+ "data-testid": testIdPrefix ? `${testIdPrefix}-recipient-step` : void 0,
6265
+ children: [
6266
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Text_default, { size: "sm", weight: "medium", color: "text-text-700", children: [
6267
+ "Para quem voc\xEA vai enviar ",
6268
+ entityNameWithArticle,
6269
+ "?"
6270
+ ] }),
6271
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
6272
+ "div",
6273
+ {
6274
+ className: cn(
6275
+ "max-h-[300px] overflow-y-auto",
6276
+ "scrollbar-thin scrollbar-thumb-border-300 scrollbar-track-transparent"
6277
+ ),
6278
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
6279
+ CheckboxGroup,
6280
+ {
6281
+ categories,
6282
+ onCategoriesChange,
6283
+ compactSingleItem: true,
6284
+ showDivider: true
6285
+ }
6286
+ )
6287
+ }
6288
+ ),
6289
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
6290
+ SendModalError,
6291
+ {
6292
+ error: studentsError,
6293
+ testId: testIdPrefix ? `${testIdPrefix}-students-error` : void 0
6294
+ }
6295
+ )
6296
+ ]
6180
6297
  }
6181
- })
6182
- );
6183
- function useSendActivityModal() {
6184
- return useSendActivityModalStore();
6185
- }
6298
+ );
6299
+ };
6186
6300
 
6187
- // src/components/SendActivityModal/types.ts
6188
- var ACTIVITY_TYPE_OPTIONS = [
6189
- { value: "TAREFA", label: "Tarefa" },
6190
- { value: "TRABALHO", label: "Trabalho" },
6191
- { value: "PROVA", label: "Prova" }
6192
- ];
6301
+ // src/components/shared/SendModalBase/components/DeadlineStep.tsx
6302
+ var import_jsx_runtime28 = require("react/jsx-runtime");
6303
+ var DeadlineStep = ({
6304
+ startDate,
6305
+ startTime,
6306
+ finalDate,
6307
+ finalTime,
6308
+ onStartDateChange,
6309
+ onStartTimeChange,
6310
+ onFinalDateChange,
6311
+ onFinalTimeChange,
6312
+ errors,
6313
+ testIdPrefix,
6314
+ children
6315
+ }) => {
6316
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
6317
+ "div",
6318
+ {
6319
+ className: "flex flex-col gap-4 sm:gap-6 pt-6",
6320
+ "data-testid": testIdPrefix ? `${testIdPrefix}-deadline-step` : void 0,
6321
+ children: [
6322
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "grid grid-cols-2 gap-2", children: [
6323
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
6324
+ DateTimeInput_default,
6325
+ {
6326
+ label: "Iniciar em*",
6327
+ date: startDate,
6328
+ time: startTime,
6329
+ onDateChange: onStartDateChange,
6330
+ onTimeChange: onStartTimeChange,
6331
+ errorMessage: [errors.startDate, errors.startTime].filter(Boolean).join(" ") || void 0,
6332
+ defaultTime: "00:00",
6333
+ testId: testIdPrefix ? `${testIdPrefix}-start-datetime` : "start-datetime",
6334
+ className: "w-full"
6335
+ }
6336
+ ),
6337
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
6338
+ DateTimeInput_default,
6339
+ {
6340
+ label: "Finalizar at\xE9*",
6341
+ date: finalDate,
6342
+ time: finalTime,
6343
+ onDateChange: onFinalDateChange,
6344
+ onTimeChange: onFinalTimeChange,
6345
+ errorMessage: [errors.finalDate, errors.finalTime].filter(Boolean).join(" ") || void 0,
6346
+ defaultTime: "23:59",
6347
+ testId: testIdPrefix ? `${testIdPrefix}-final-datetime` : "final-datetime",
6348
+ className: "w-full"
6349
+ }
6350
+ )
6351
+ ] }),
6352
+ children
6353
+ ]
6354
+ }
6355
+ );
6356
+ };
6357
+
6358
+ // src/components/shared/SendModalBase/components/SendModalFooter.tsx
6359
+ var import_phosphor_react14 = require("phosphor-react");
6360
+ var import_jsx_runtime29 = require("react/jsx-runtime");
6361
+ var SendModalFooter = ({
6362
+ currentStep,
6363
+ maxSteps,
6364
+ isLoading,
6365
+ onCancel,
6366
+ onPreviousStep,
6367
+ onNextStep,
6368
+ onSubmit,
6369
+ entityName,
6370
+ testIdPrefix
6371
+ }) => {
6372
+ const isLastStep = currentStep >= maxSteps;
6373
+ const showPreviousButton = currentStep > 1;
6374
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
6375
+ "div",
6376
+ {
6377
+ className: "flex flex-col-reverse sm:flex-row items-center justify-between gap-3 w-full",
6378
+ "data-testid": testIdPrefix ? `${testIdPrefix}-footer` : void 0,
6379
+ children: [
6380
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
6381
+ Button_default,
6382
+ {
6383
+ variant: "link",
6384
+ action: "primary",
6385
+ onClick: onCancel,
6386
+ className: "w-full sm:w-auto",
6387
+ "data-testid": testIdPrefix ? `${testIdPrefix}-cancel-button` : void 0,
6388
+ children: "Cancelar"
6389
+ }
6390
+ ),
6391
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex flex-col-reverse sm:flex-row items-center gap-2 sm:gap-3 w-full sm:w-auto", children: [
6392
+ showPreviousButton && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
6393
+ Button_default,
6394
+ {
6395
+ variant: "outline",
6396
+ action: "primary",
6397
+ onClick: onPreviousStep,
6398
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_phosphor_react14.CaretLeft, { size: 16 }),
6399
+ className: "w-full sm:w-auto",
6400
+ "data-testid": testIdPrefix ? `${testIdPrefix}-previous-button` : void 0,
6401
+ children: "Anterior"
6402
+ }
6403
+ ),
6404
+ isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
6405
+ Button_default,
6406
+ {
6407
+ variant: "solid",
6408
+ action: "primary",
6409
+ onClick: onSubmit,
6410
+ disabled: isLoading,
6411
+ iconLeft: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_phosphor_react14.PaperPlaneTilt, { size: 16 }),
6412
+ className: "w-full sm:w-auto",
6413
+ "data-testid": testIdPrefix ? `${testIdPrefix}-submit-button` : void 0,
6414
+ children: isLoading ? "Enviando..." : `Enviar ${entityName}`
6415
+ }
6416
+ ) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
6417
+ Button_default,
6418
+ {
6419
+ variant: "solid",
6420
+ action: "primary",
6421
+ onClick: onNextStep,
6422
+ iconRight: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_phosphor_react14.ArrowRight, { size: 16 }),
6423
+ className: "w-full sm:w-auto",
6424
+ "data-testid": testIdPrefix ? `${testIdPrefix}-next-button` : void 0,
6425
+ children: "Pr\xF3ximo"
6426
+ }
6427
+ )
6428
+ ] })
6429
+ ]
6430
+ }
6431
+ );
6432
+ };
6193
6433
 
6194
6434
  // src/components/SendActivityModal/SendActivityModal.tsx
6195
- var import_jsx_runtime26 = require("react/jsx-runtime");
6435
+ var import_jsx_runtime30 = require("react/jsx-runtime");
6196
6436
  var STEPPER_STEPS = [
6197
6437
  { id: "activity", label: "Atividade", state: "pending" },
6198
6438
  { id: "recipient", label: "Destinat\xE1rio", state: "pending" },
6199
6439
  { id: "deadline", label: "Prazo", state: "pending" }
6200
6440
  ];
6441
+ var MAX_STEPS = 3;
6442
+ var ENTITY_NAME = "atividade";
6443
+ var ENTITY_NAME_WITH_ARTICLE = "a atividade";
6201
6444
  var SendActivityModal = ({
6202
6445
  isOpen,
6203
6446
  onClose,
@@ -6216,17 +6459,17 @@ var SendActivityModal = ({
6216
6459
  const storeCategories = useSendActivityModalStore(
6217
6460
  (state) => state.categories
6218
6461
  );
6219
- const categoriesInitialized = (0, import_react17.useRef)(false);
6220
- const prevInitialDataRef = (0, import_react17.useRef)(
6462
+ const categoriesInitialized = (0, import_react18.useRef)(false);
6463
+ const prevInitialDataRef = (0, import_react18.useRef)(
6221
6464
  void 0
6222
6465
  );
6223
- (0, import_react17.useEffect)(() => {
6466
+ (0, import_react18.useEffect)(() => {
6224
6467
  if (isOpen && initialCategories.length > 0 && !categoriesInitialized.current) {
6225
6468
  setCategories(initialCategories);
6226
6469
  categoriesInitialized.current = true;
6227
6470
  }
6228
6471
  }, [isOpen, initialCategories, setCategories]);
6229
- (0, import_react17.useEffect)(() => {
6472
+ (0, import_react18.useEffect)(() => {
6230
6473
  if (isOpen && initialData && prevInitialDataRef.current !== initialData) {
6231
6474
  store.setFormData({
6232
6475
  title: initialData.title ?? "",
@@ -6236,69 +6479,51 @@ var SendActivityModal = ({
6236
6479
  prevInitialDataRef.current = initialData;
6237
6480
  }
6238
6481
  }, [isOpen, initialData, store]);
6239
- (0, import_react17.useEffect)(() => {
6482
+ (0, import_react18.useEffect)(() => {
6240
6483
  if (!isOpen) {
6241
6484
  reset();
6242
6485
  categoriesInitialized.current = false;
6243
6486
  prevInitialDataRef.current = void 0;
6244
6487
  }
6245
6488
  }, [isOpen, reset]);
6246
- const handleCategoriesChange = (0, import_react17.useCallback)(
6489
+ const {
6490
+ handleStartDateChange,
6491
+ handleStartTimeChange,
6492
+ handleFinalDateChange,
6493
+ handleFinalTimeChange
6494
+ } = useDateTimeHandlers({ setFormData: store.setFormData });
6495
+ const handleCategoriesChange = (0, import_react18.useCallback)(
6247
6496
  (updatedCategories) => {
6248
6497
  setCategories(updatedCategories);
6249
6498
  onCategoriesChange?.(updatedCategories);
6250
6499
  },
6251
6500
  [setCategories, onCategoriesChange]
6252
6501
  );
6253
- const handleActivityTypeSelect = (0, import_react17.useCallback)(
6502
+ const handleActivityTypeSelect = (0, import_react18.useCallback)(
6254
6503
  (subtype) => {
6255
6504
  store.setFormData({ subtype });
6256
6505
  },
6257
6506
  [store]
6258
6507
  );
6259
- const handleTitleChange = (0, import_react17.useCallback)(
6508
+ const handleTitleChange = (0, import_react18.useCallback)(
6260
6509
  (e) => {
6261
6510
  store.setFormData({ title: e.target.value });
6262
6511
  },
6263
6512
  [store]
6264
6513
  );
6265
- const handleNotificationChange = (0, import_react17.useCallback)(
6514
+ const handleNotificationChange = (0, import_react18.useCallback)(
6266
6515
  (e) => {
6267
6516
  store.setFormData({ notification: e.target.value });
6268
6517
  },
6269
6518
  [store]
6270
6519
  );
6271
- const handleStartDateChange = (0, import_react17.useCallback)(
6272
- (date) => {
6273
- store.setFormData({ startDate: date });
6274
- },
6275
- [store]
6276
- );
6277
- const handleStartTimeChange = (0, import_react17.useCallback)(
6278
- (time) => {
6279
- store.setFormData({ startTime: time });
6280
- },
6281
- [store]
6282
- );
6283
- const handleFinalDateChange = (0, import_react17.useCallback)(
6284
- (date) => {
6285
- store.setFormData({ finalDate: date });
6286
- },
6287
- [store]
6288
- );
6289
- const handleFinalTimeChange = (0, import_react17.useCallback)(
6290
- (time) => {
6291
- store.setFormData({ finalTime: time });
6292
- },
6293
- [store]
6294
- );
6295
- const handleRetryChange = (0, import_react17.useCallback)(
6520
+ const handleRetryChange = (0, import_react18.useCallback)(
6296
6521
  (value) => {
6297
6522
  store.setFormData({ canRetry: value === "yes" });
6298
6523
  },
6299
6524
  [store]
6300
6525
  );
6301
- const handleSubmit = (0, import_react17.useCallback)(async () => {
6526
+ const handleSubmit = (0, import_react18.useCallback)(async () => {
6302
6527
  const isValid = store.validateAllSteps();
6303
6528
  if (!isValid) return;
6304
6529
  try {
@@ -6312,29 +6537,13 @@ var SendActivityModal = ({
6312
6537
  }
6313
6538
  }
6314
6539
  }, [store, onSubmit, onError]);
6315
- const handleCancel = (0, import_react17.useCallback)(() => {
6540
+ const handleCancel = (0, import_react18.useCallback)(() => {
6316
6541
  onClose();
6317
6542
  }, [onClose]);
6318
- const renderError = (error) => {
6319
- if (!error) return null;
6320
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
6321
- Text_default,
6322
- {
6323
- as: "p",
6324
- size: "sm",
6325
- color: "text-error-600",
6326
- className: "flex items-center gap-1 mt-1",
6327
- children: [
6328
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react18.WarningCircleIcon, { size: 16 }),
6329
- error
6330
- ]
6331
- }
6332
- );
6333
- };
6334
- const renderActivityStep = () => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col gap-6", children: [
6335
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { children: [
6336
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text_default, { size: "sm", weight: "medium", color: "text-text-700", className: "mb-3", children: "Tipo de atividade*" }),
6337
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex flex-wrap gap-2", children: ACTIVITY_TYPE_OPTIONS.map((type) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6543
+ const renderActivityStep = () => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-col gap-6", children: [
6544
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { children: [
6545
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text_default, { size: "sm", weight: "medium", color: "text-text-700", className: "mb-3", children: "Tipo de atividade*" }),
6546
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex flex-wrap gap-2", children: ACTIVITY_TYPE_OPTIONS.map((type) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6338
6547
  Chips_default,
6339
6548
  {
6340
6549
  selected: store.formData.subtype === type.value,
@@ -6343,9 +6552,9 @@ var SendActivityModal = ({
6343
6552
  },
6344
6553
  type.value
6345
6554
  )) }),
6346
- renderError(store.errors.subtype)
6555
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SendModalError, { error: store.errors.subtype })
6347
6556
  ] }),
6348
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6557
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6349
6558
  Input_default,
6350
6559
  {
6351
6560
  label: "T\xEDtulo",
@@ -6357,7 +6566,7 @@ var SendActivityModal = ({
6357
6566
  errorMessage: store.errors.title
6358
6567
  }
6359
6568
  ),
6360
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6569
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6361
6570
  TextArea_default,
6362
6571
  {
6363
6572
  label: "Mensagem da notifica\xE7\xE3o",
@@ -6367,164 +6576,99 @@ var SendActivityModal = ({
6367
6576
  }
6368
6577
  )
6369
6578
  ] });
6370
- const renderRecipientStep = () => {
6371
- const categoriesToRender = storeCategories.length > 0 ? storeCategories : initialCategories;
6372
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col gap-4", children: [
6373
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text_default, { size: "sm", weight: "medium", color: "text-text-700", children: "Para quem voc\xEA vai enviar a atividade?" }),
6374
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6375
- "div",
6376
- {
6377
- className: cn(
6378
- "max-h-[300px] overflow-y-auto",
6379
- "scrollbar-thin scrollbar-thumb-border-300 scrollbar-track-transparent"
6380
- ),
6381
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6382
- CheckboxGroup,
6383
- {
6384
- categories: categoriesToRender,
6385
- onCategoriesChange: handleCategoriesChange,
6386
- compactSingleItem: true,
6387
- showDivider: true
6388
- }
6389
- )
6390
- }
6391
- ),
6392
- renderError(store.errors.students)
6393
- ] });
6394
- };
6395
- const renderDeadlineStep = () => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col gap-4 sm:gap-6 pt-6", children: [
6396
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "grid grid-cols-2 gap-2", children: [
6397
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6398
- DateTimeInput_default,
6399
- {
6400
- label: "Iniciar em*",
6401
- date: store.formData.startDate || "",
6402
- time: store.formData.startTime || "",
6403
- onDateChange: handleStartDateChange,
6404
- onTimeChange: handleStartTimeChange,
6405
- errorMessage: store.errors.startDate,
6406
- defaultTime: "00:00",
6407
- testId: "start-datetime",
6408
- className: "w-full"
6409
- }
6410
- ),
6411
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6412
- DateTimeInput_default,
6413
- {
6414
- label: "Finalizar at\xE9*",
6415
- date: store.formData.finalDate || "",
6416
- time: store.formData.finalTime || "",
6417
- onDateChange: handleFinalDateChange,
6418
- onTimeChange: handleFinalTimeChange,
6419
- errorMessage: store.errors.finalDate,
6420
- defaultTime: "23:59",
6421
- testId: "final-datetime",
6422
- className: "w-full"
6423
- }
6424
- )
6425
- ] }),
6426
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { children: [
6427
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text_default, { size: "sm", weight: "medium", color: "text-text-700", className: "mb-3", children: "Permitir refazer?" }),
6428
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
6429
- RadioGroup,
6430
- {
6431
- value: store.formData.canRetry ? "yes" : "no",
6432
- onValueChange: handleRetryChange,
6433
- className: "flex flex-row gap-6",
6434
- children: [
6435
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center gap-2", children: [
6436
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadioGroupItem, { value: "yes", id: "radio-item-yes" }),
6437
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6438
- Text_default,
6439
- {
6440
- as: "label",
6441
- size: "sm",
6442
- color: "text-text-700",
6443
- className: "cursor-pointer",
6444
- htmlFor: "radio-item-yes",
6445
- children: "Sim"
6446
- }
6447
- )
6448
- ] }),
6449
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center gap-2", children: [
6450
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadioGroupItem, { value: "no", id: "radio-item-no" }),
6451
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6452
- Text_default,
6453
- {
6454
- as: "label",
6455
- size: "sm",
6456
- color: "text-text-700",
6457
- className: "cursor-pointer",
6458
- htmlFor: "radio-item-no",
6459
- children: "N\xE3o"
6460
- }
6461
- )
6462
- ] })
6463
- ]
6464
- }
6465
- )
6466
- ] })
6579
+ const renderRetryOption = () => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { children: [
6580
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text_default, { size: "sm", weight: "medium", color: "text-text-700", className: "mb-3", children: "Permitir refazer?" }),
6581
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
6582
+ RadioGroup,
6583
+ {
6584
+ value: store.formData.canRetry ? "yes" : "no",
6585
+ onValueChange: handleRetryChange,
6586
+ className: "flex flex-row gap-6",
6587
+ children: [
6588
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-center gap-2", children: [
6589
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RadioGroupItem, { value: "yes", id: "radio-item-yes" }),
6590
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6591
+ Text_default,
6592
+ {
6593
+ as: "label",
6594
+ size: "sm",
6595
+ color: "text-text-700",
6596
+ className: "cursor-pointer",
6597
+ htmlFor: "radio-item-yes",
6598
+ children: "Sim"
6599
+ }
6600
+ )
6601
+ ] }),
6602
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-center gap-2", children: [
6603
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RadioGroupItem, { value: "no", id: "radio-item-no" }),
6604
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6605
+ Text_default,
6606
+ {
6607
+ as: "label",
6608
+ size: "sm",
6609
+ color: "text-text-700",
6610
+ className: "cursor-pointer",
6611
+ htmlFor: "radio-item-no",
6612
+ children: "N\xE3o"
6613
+ }
6614
+ )
6615
+ ] })
6616
+ ]
6617
+ }
6618
+ )
6467
6619
  ] });
6468
6620
  const renderStepContent = () => {
6621
+ const categoriesToRender = storeCategories.length > 0 ? storeCategories : initialCategories;
6469
6622
  switch (store.currentStep) {
6470
6623
  case 1:
6471
6624
  return renderActivityStep();
6472
6625
  case 2:
6473
- return renderRecipientStep();
6626
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6627
+ RecipientStep,
6628
+ {
6629
+ categories: categoriesToRender,
6630
+ onCategoriesChange: handleCategoriesChange,
6631
+ entityNameWithArticle: ENTITY_NAME_WITH_ARTICLE,
6632
+ studentsError: store.errors.students
6633
+ }
6634
+ );
6474
6635
  case 3:
6475
- return renderDeadlineStep();
6636
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6637
+ DeadlineStep,
6638
+ {
6639
+ startDate: store.formData.startDate || "",
6640
+ startTime: store.formData.startTime || "",
6641
+ finalDate: store.formData.finalDate || "",
6642
+ finalTime: store.formData.finalTime || "",
6643
+ onStartDateChange: handleStartDateChange,
6644
+ onStartTimeChange: handleStartTimeChange,
6645
+ onFinalDateChange: handleFinalDateChange,
6646
+ onFinalTimeChange: handleFinalTimeChange,
6647
+ errors: {
6648
+ startDate: store.errors.startDate,
6649
+ finalDate: store.errors.finalDate
6650
+ },
6651
+ children: renderRetryOption()
6652
+ }
6653
+ );
6476
6654
  default:
6477
6655
  return null;
6478
6656
  }
6479
6657
  };
6480
- const renderFooter = () => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col-reverse sm:flex-row items-center justify-between gap-3 w-full", children: [
6481
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6482
- Button_default,
6483
- {
6484
- variant: "link",
6485
- action: "primary",
6486
- onClick: handleCancel,
6487
- className: "w-full sm:w-auto",
6488
- children: "Cancelar"
6489
- }
6490
- ),
6491
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col-reverse sm:flex-row items-center gap-2 sm:gap-3 w-full sm:w-auto", children: [
6492
- store.currentStep > 1 && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6493
- Button_default,
6494
- {
6495
- variant: "outline",
6496
- action: "primary",
6497
- onClick: store.previousStep,
6498
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react18.CaretLeftIcon, { size: 16 }),
6499
- className: "w-full sm:w-auto",
6500
- children: "Anterior"
6501
- }
6502
- ),
6503
- store.currentStep < 3 ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6504
- Button_default,
6505
- {
6506
- variant: "solid",
6507
- action: "primary",
6508
- onClick: () => store.nextStep(),
6509
- iconRight: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react18.ArrowRightIcon, { size: 16 }),
6510
- className: "w-full sm:w-auto",
6511
- children: "Pr\xF3ximo"
6512
- }
6513
- ) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6514
- Button_default,
6515
- {
6516
- variant: "solid",
6517
- action: "primary",
6518
- onClick: handleSubmit,
6519
- disabled: isLoading,
6520
- iconLeft: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react18.PaperPlaneTiltIcon, { size: 16 }),
6521
- className: "w-full sm:w-auto",
6522
- children: isLoading ? "Enviando..." : "Enviar atividade"
6523
- }
6524
- )
6525
- ] })
6526
- ] });
6527
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
6658
+ const renderFooter = () => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6659
+ SendModalFooter,
6660
+ {
6661
+ currentStep: store.currentStep,
6662
+ maxSteps: MAX_STEPS,
6663
+ isLoading,
6664
+ onCancel: handleCancel,
6665
+ onPreviousStep: store.previousStep,
6666
+ onNextStep: () => store.nextStep(),
6667
+ onSubmit: handleSubmit,
6668
+ entityName: ENTITY_NAME
6669
+ }
6670
+ );
6671
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
6528
6672
  Modal_default,
6529
6673
  {
6530
6674
  isOpen,
@@ -6534,7 +6678,7 @@ var SendActivityModal = ({
6534
6678
  footer: renderFooter(),
6535
6679
  contentClassName: "flex flex-col gap-8 sm:gap-10 max-h-[70vh] overflow-y-auto",
6536
6680
  children: [
6537
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6681
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6538
6682
  Stepper_default,
6539
6683
  {
6540
6684
  steps: STEPPER_STEPS,