analytica-frontend-lib 1.2.44 → 1.2.45

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 (134) hide show
  1. package/dist/Accordation/index.js.map +1 -1
  2. package/dist/Accordation/index.mjs.map +1 -1
  3. package/dist/ActivityCardQuestionBanks/index.js.map +1 -1
  4. package/dist/ActivityCardQuestionBanks/index.mjs.map +1 -1
  5. package/dist/ActivityCardQuestionPreview/index.js.map +1 -1
  6. package/dist/ActivityCardQuestionPreview/index.mjs.map +1 -1
  7. package/dist/ActivityDetails/index.d.ts.map +1 -1
  8. package/dist/ActivityDetails/index.js +59 -50
  9. package/dist/ActivityDetails/index.js.map +1 -1
  10. package/dist/ActivityDetails/index.mjs +59 -50
  11. package/dist/ActivityDetails/index.mjs.map +1 -1
  12. package/dist/ActivityFilters/index.js.map +1 -1
  13. package/dist/ActivityFilters/index.mjs.map +1 -1
  14. package/dist/ActivityPreview/index.js.map +1 -1
  15. package/dist/ActivityPreview/index.mjs.map +1 -1
  16. package/dist/Alert/index.js.map +1 -1
  17. package/dist/Alert/index.mjs.map +1 -1
  18. package/dist/AlertDialog/index.js.map +1 -1
  19. package/dist/AlertDialog/index.mjs.map +1 -1
  20. package/dist/AlertManager/index.js.map +1 -1
  21. package/dist/AlertManager/index.mjs.map +1 -1
  22. package/dist/AlertManagerView/index.js.map +1 -1
  23. package/dist/AlertManagerView/index.mjs.map +1 -1
  24. package/dist/Alternative/index.js.map +1 -1
  25. package/dist/Alternative/index.mjs.map +1 -1
  26. package/dist/Badge/index.js.map +1 -1
  27. package/dist/Badge/index.mjs.map +1 -1
  28. package/dist/BreadcrumbMenu/index.js.map +1 -1
  29. package/dist/BreadcrumbMenu/index.mjs.map +1 -1
  30. package/dist/Button/index.js.map +1 -1
  31. package/dist/Button/index.mjs.map +1 -1
  32. package/dist/Calendar/index.js.map +1 -1
  33. package/dist/Calendar/index.mjs.map +1 -1
  34. package/dist/Card/index.js.map +1 -1
  35. package/dist/Card/index.mjs.map +1 -1
  36. package/dist/CheckBox/index.js.map +1 -1
  37. package/dist/CheckBox/index.mjs.map +1 -1
  38. package/dist/Chips/index.js.map +1 -1
  39. package/dist/Chips/index.mjs.map +1 -1
  40. package/dist/CorrectActivityModal/index.js.map +1 -1
  41. package/dist/CorrectActivityModal/index.mjs.map +1 -1
  42. package/dist/Divider/index.js.map +1 -1
  43. package/dist/Divider/index.mjs.map +1 -1
  44. package/dist/DownloadButton/index.js.map +1 -1
  45. package/dist/DownloadButton/index.mjs.map +1 -1
  46. package/dist/DropdownMenu/index.js.map +1 -1
  47. package/dist/DropdownMenu/index.mjs.map +1 -1
  48. package/dist/EmptyState/index.js.map +1 -1
  49. package/dist/EmptyState/index.mjs.map +1 -1
  50. package/dist/FileAttachment/index.js.map +1 -1
  51. package/dist/FileAttachment/index.mjs.map +1 -1
  52. package/dist/IconButton/index.js.map +1 -1
  53. package/dist/IconButton/index.mjs.map +1 -1
  54. package/dist/IconRoundedButton/index.js.map +1 -1
  55. package/dist/IconRoundedButton/index.mjs.map +1 -1
  56. package/dist/LatexRenderer/index.js.map +1 -1
  57. package/dist/LatexRenderer/index.mjs.map +1 -1
  58. package/dist/Menu/index.js.map +1 -1
  59. package/dist/Menu/index.mjs.map +1 -1
  60. package/dist/Modal/index.js.map +1 -1
  61. package/dist/Modal/index.mjs.map +1 -1
  62. package/dist/MultipleChoice/index.js.map +1 -1
  63. package/dist/MultipleChoice/index.mjs.map +1 -1
  64. package/dist/NavButton/index.js.map +1 -1
  65. package/dist/NavButton/index.mjs.map +1 -1
  66. package/dist/NoSearchResult/index.js.map +1 -1
  67. package/dist/NoSearchResult/index.mjs.map +1 -1
  68. package/dist/NotFound/index.js.map +1 -1
  69. package/dist/NotFound/index.mjs.map +1 -1
  70. package/dist/NotificationCard/index.js.map +1 -1
  71. package/dist/NotificationCard/index.mjs.map +1 -1
  72. package/dist/ProgressBar/index.js.map +1 -1
  73. package/dist/ProgressBar/index.mjs.map +1 -1
  74. package/dist/ProgressCircle/index.js.map +1 -1
  75. package/dist/ProgressCircle/index.mjs.map +1 -1
  76. package/dist/Quiz/index.js.map +1 -1
  77. package/dist/Quiz/index.mjs.map +1 -1
  78. package/dist/Radio/index.js.map +1 -1
  79. package/dist/Radio/index.mjs.map +1 -1
  80. package/dist/Search/index.js.map +1 -1
  81. package/dist/Search/index.mjs.map +1 -1
  82. package/dist/Select/index.js.map +1 -1
  83. package/dist/Select/index.mjs.map +1 -1
  84. package/dist/SelectionButton/index.js.map +1 -1
  85. package/dist/SelectionButton/index.mjs.map +1 -1
  86. package/dist/SendActivityModal/index.js.map +1 -1
  87. package/dist/SendActivityModal/index.mjs.map +1 -1
  88. package/dist/Skeleton/index.js.map +1 -1
  89. package/dist/Skeleton/index.mjs.map +1 -1
  90. package/dist/StatisticsCard/index.js.map +1 -1
  91. package/dist/StatisticsCard/index.mjs.map +1 -1
  92. package/dist/Stepper/index.js.map +1 -1
  93. package/dist/Stepper/index.mjs.map +1 -1
  94. package/dist/Support/TicketModal/index.js.map +1 -1
  95. package/dist/Support/TicketModal/index.mjs.map +1 -1
  96. package/dist/Support/index.js.map +1 -1
  97. package/dist/Support/index.mjs.map +1 -1
  98. package/dist/Table/TablePagination/index.js.map +1 -1
  99. package/dist/Table/TablePagination/index.mjs.map +1 -1
  100. package/dist/Table/index.js.map +1 -1
  101. package/dist/Table/index.mjs.map +1 -1
  102. package/dist/TableProvider/index.js.map +1 -1
  103. package/dist/TableProvider/index.mjs.map +1 -1
  104. package/dist/Text/index.js.map +1 -1
  105. package/dist/Text/index.mjs.map +1 -1
  106. package/dist/TextArea/index.js.map +1 -1
  107. package/dist/TextArea/index.mjs.map +1 -1
  108. package/dist/ThemeToggle/index.js.map +1 -1
  109. package/dist/ThemeToggle/index.mjs.map +1 -1
  110. package/dist/Toast/Toaster/index.js.map +1 -1
  111. package/dist/Toast/Toaster/index.mjs.map +1 -1
  112. package/dist/Toast/index.js.map +1 -1
  113. package/dist/Toast/index.mjs.map +1 -1
  114. package/dist/VideoPlayer/index.js.map +1 -1
  115. package/dist/VideoPlayer/index.mjs.map +1 -1
  116. package/dist/Whiteboard/index.js.map +1 -1
  117. package/dist/Whiteboard/index.mjs.map +1 -1
  118. package/dist/index.d.ts +2 -1
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +62 -55
  121. package/dist/index.js.map +1 -1
  122. package/dist/index.mjs +62 -55
  123. package/dist/index.mjs.map +1 -1
  124. package/dist/types/activityDetails.d.ts +0 -24
  125. package/dist/types/activityDetails.d.ts.map +1 -1
  126. package/dist/utils/activityDetailsUtils.d.ts +30 -0
  127. package/dist/utils/activityDetailsUtils.d.ts.map +1 -0
  128. package/dist/utils/index.d.ts +1 -0
  129. package/dist/utils/index.d.ts.map +1 -1
  130. package/dist/utils/index.js +65 -0
  131. package/dist/utils/index.js.map +1 -1
  132. package/dist/utils/index.mjs +61 -0
  133. package/dist/utils/index.mjs.map +1 -1
  134. package/package.json +1 -1
@@ -100,30 +100,6 @@ export interface StatusBadgeConfig {
100
100
  bgColor: string;
101
101
  textColor: string;
102
102
  }
103
- /**
104
- * Get status badge configuration
105
- * @param status - Student activity status
106
- * @returns Status badge configuration object
107
- */
108
- export declare const getStatusBadgeConfig: (status: StudentActivityStatus) => StatusBadgeConfig;
109
- /**
110
- * Format time spent in seconds to HH:MM:SS
111
- * @param seconds - Time in seconds
112
- * @returns Formatted time string
113
- */
114
- export declare const formatTimeSpent: (seconds: number) => string;
115
- /**
116
- * Format question numbers to display
117
- * @param numbers - Array of question numbers (0-indexed)
118
- * @returns Formatted string of question numbers
119
- */
120
- export declare const formatQuestionNumbers: (numbers: number[]) => string;
121
- /**
122
- * Format date string to Brazilian format (DD/MM/YYYY)
123
- * @param dateString - ISO date string
124
- * @returns Formatted date string
125
- */
126
- export declare const formatDateToBrazilian: (dateString: string) => string;
127
103
  /**
128
104
  * Activity availability status enum
129
105
  * Used to determine if an activity is available based on start/end dates
@@ -1 +1 @@
1
- {"version":3,"file":"activityDetails.d.ts","sourceRoot":"","sources":["../../src/types/activityDetails.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;IACzC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,qBAAqB,KAC5B,iBAyBF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,KAAG,MAMjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,EAAE,KAAG,MAGzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,YAAY,MAAM,KAAG,MAM1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"activityDetails.d.ts","sourceRoot":"","sources":["../../src/types/activityDetails.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;IACzC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Activity Details Utilities
3
+ * Helper functions for activity details components
4
+ */
5
+ import type { StudentActivityStatus, StatusBadgeConfig } from '../types/activityDetails';
6
+ /**
7
+ * Get status badge configuration
8
+ * @param status - Student activity status
9
+ * @returns Status badge configuration object
10
+ */
11
+ export declare const getStatusBadgeConfig: (status: StudentActivityStatus) => StatusBadgeConfig;
12
+ /**
13
+ * Format time spent in seconds to HH:MM:SS
14
+ * @param seconds - Time in seconds
15
+ * @returns Formatted time string
16
+ */
17
+ export declare const formatTimeSpent: (seconds: number) => string;
18
+ /**
19
+ * Format question numbers to display
20
+ * @param numbers - Array of question numbers (0-indexed)
21
+ * @returns Formatted string of question numbers
22
+ */
23
+ export declare const formatQuestionNumbers: (numbers: number[]) => string;
24
+ /**
25
+ * Format date string to Brazilian format (DD/MM/YYYY)
26
+ * @param dateString - ISO date string
27
+ * @returns Formatted date string
28
+ */
29
+ export declare const formatDateToBrazilian: (dateString: string) => string;
30
+ //# sourceMappingURL=activityDetailsUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activityDetailsUtils.d.ts","sourceRoot":"","sources":["../../src/utils/activityDetailsUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAGlC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,qBAAqB,KAC5B,iBA8BF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,KAAG,MAMjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,EAAE,KAAG,MAGzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,YAAY,MAAM,KAAG,MAM1D,CAAC"}
@@ -2,6 +2,7 @@ import { type ClassValue } from 'clsx';
2
2
  export declare function cn(...inputs: ClassValue[]): string;
3
3
  export { syncDropdownState } from './dropdown';
4
4
  export { getSelectedIdsFromCategories, toggleArrayItem, toggleSingleValue, } from './activityFilters';
5
+ export { getStatusBadgeConfig, formatTimeSpent, formatQuestionNumbers, formatDateToBrazilian, } from './activityDetailsUtils';
5
6
  /**
6
7
  * Retorna a cor hexadecimal com opacidade 0.3 (4d) se não estiver em dark mode.
7
8
  * Se estiver em dark mode, retorna a cor original.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,OAAO,GACd,MAAM,GAAG,SAAS,CA0BpB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,OAAO,GACd,MAAM,GAAG,SAAS,CA0BpB"}
@@ -21,7 +21,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var utils_exports = {};
22
22
  __export(utils_exports, {
23
23
  cn: () => cn,
24
+ formatDateToBrazilian: () => formatDateToBrazilian,
25
+ formatQuestionNumbers: () => formatQuestionNumbers,
26
+ formatTimeSpent: () => formatTimeSpent,
24
27
  getSelectedIdsFromCategories: () => getSelectedIdsFromCategories,
28
+ getStatusBadgeConfig: () => getStatusBadgeConfig,
25
29
  getSubjectColorWithOpacity: () => getSubjectColorWithOpacity,
26
30
  syncDropdownState: () => syncDropdownState,
27
31
  toggleArrayItem: () => toggleArrayItem,
@@ -54,6 +58,63 @@ function toggleSingleValue(currentValue, newValue) {
54
58
  return currentValue === newValue ? null : newValue;
55
59
  }
56
60
 
61
+ // src/types/activityDetails.ts
62
+ var STUDENT_ACTIVITY_STATUS = {
63
+ CONCLUIDO: "CONCLUIDO",
64
+ AGUARDANDO_CORRECAO: "AGUARDANDO_CORRECAO",
65
+ AGUARDANDO_RESPOSTA: "AGUARDANDO_RESPOSTA",
66
+ NAO_ENTREGUE: "NAO_ENTREGUE"
67
+ };
68
+
69
+ // src/utils/activityDetailsUtils.ts
70
+ var getStatusBadgeConfig = (status) => {
71
+ const configs = {
72
+ [STUDENT_ACTIVITY_STATUS.CONCLUIDO]: {
73
+ label: "Conclu\xEDdo",
74
+ bgColor: "bg-green-50",
75
+ textColor: "text-green-800"
76
+ },
77
+ [STUDENT_ACTIVITY_STATUS.AGUARDANDO_CORRECAO]: {
78
+ label: "Aguardando Corre\xE7\xE3o",
79
+ bgColor: "bg-yellow-50",
80
+ textColor: "text-yellow-800"
81
+ },
82
+ [STUDENT_ACTIVITY_STATUS.AGUARDANDO_RESPOSTA]: {
83
+ label: "Aguardando Resposta",
84
+ bgColor: "bg-blue-50",
85
+ textColor: "text-blue-800"
86
+ },
87
+ [STUDENT_ACTIVITY_STATUS.NAO_ENTREGUE]: {
88
+ label: "N\xE3o Entregue",
89
+ bgColor: "bg-red-50",
90
+ textColor: "text-red-800"
91
+ },
92
+ default: {
93
+ label: "Desconhecido",
94
+ bgColor: "bg-gray-50",
95
+ textColor: "text-gray-800"
96
+ }
97
+ };
98
+ return configs[status] ?? configs.default;
99
+ };
100
+ var formatTimeSpent = (seconds) => {
101
+ const hours = Math.floor(seconds / 3600);
102
+ const minutes = Math.floor(seconds % 3600 / 60);
103
+ const secs = seconds % 60;
104
+ return `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}:${String(secs).padStart(2, "0")}`;
105
+ };
106
+ var formatQuestionNumbers = (numbers) => {
107
+ if (numbers.length === 0) return "-";
108
+ return numbers.map((n) => String(n + 1).padStart(2, "0")).join(", ");
109
+ };
110
+ var formatDateToBrazilian = (dateString) => {
111
+ const date = new Date(dateString);
112
+ const day = String(date.getUTCDate()).padStart(2, "0");
113
+ const month = String(date.getUTCMonth() + 1).padStart(2, "0");
114
+ const year = date.getUTCFullYear();
115
+ return `${day}/${month}/${year}`;
116
+ };
117
+
57
118
  // src/utils/utils.ts
58
119
  function cn(...inputs) {
59
120
  return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
@@ -81,7 +142,11 @@ function getSubjectColorWithOpacity(hexColor, isDark) {
81
142
  // Annotate the CommonJS export names for ESM import in node:
82
143
  0 && (module.exports = {
83
144
  cn,
145
+ formatDateToBrazilian,
146
+ formatQuestionNumbers,
147
+ formatTimeSpent,
84
148
  getSelectedIdsFromCategories,
149
+ getStatusBadgeConfig,
85
150
  getSubjectColorWithOpacity,
86
151
  syncDropdownState,
87
152
  toggleArrayItem,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/utils.ts","../../src/utils/dropdown.ts","../../src/utils/activityFilters.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport { syncDropdownState } from './dropdown';\nexport {\n getSelectedIdsFromCategories,\n toggleArrayItem,\n toggleSingleValue,\n} from './activityFilters';\n\n/**\n * Retorna a cor hexadecimal com opacidade 0.3 (4d) se não estiver em dark mode.\n * Se estiver em dark mode, retorna a cor original.\n *\n * @param hexColor - Cor hexadecimal (ex: \"#0066b8\" ou \"0066b8\")\n * @param isDark - booleano indicando se está em dark mode\n * @returns string - cor hexadecimal com opacidade se necessário\n */\nexport function getSubjectColorWithOpacity(\n hexColor: string | undefined,\n isDark: boolean\n): string | undefined {\n if (!hexColor) return undefined;\n // Remove o '#' se existir\n let color = hexColor.replace(/^#/, '').toLowerCase();\n\n if (isDark) {\n // Se está em dark mode, sempre remove opacidade se existir\n if (color.length === 8) {\n color = color.slice(0, 6);\n }\n return `#${color}`;\n } else {\n // Se não está em dark mode (light mode)\n let resultColor: string;\n if (color.length === 6) {\n // Adiciona opacidade 0.3 (4D) para cores de 6 dígitos\n resultColor = `#${color}4d`;\n } else if (color.length === 8) {\n // Já tem opacidade, retorna como está\n resultColor = `#${color}`;\n } else {\n // Para outros tamanhos (3, 4, 5 dígitos), retorna como está\n resultColor = `#${color}`;\n }\n return resultColor;\n }\n}\n","import type { Dispatch, SetStateAction } from 'react';\n\n/**\n * Synchronizes dropdown state when it closes externally\n * This ensures the toggle button state matches the dropdown state\n *\n * @param open - Current dropdown open state\n * @param isActive - Current active state of the toggle button\n * @param setActiveStates - Function to update active states\n * @param key - Key identifier for the specific dropdown\n */\nexport const syncDropdownState = (\n open: boolean,\n isActive: boolean,\n setActiveStates: Dispatch<SetStateAction<Record<string, boolean>>>,\n key: string\n) => {\n if (!open && isActive) {\n setActiveStates((prev) => ({ ...prev, [key]: false }));\n }\n};\n","import type { CategoryConfig } from '../components/CheckBoxGroup/CheckBoxGroup';\n\n/**\n * Extracts selected IDs from knowledge categories by their keys\n * @param categories - Array of category configurations\n * @param keys - Object mapping output keys to category keys\n * @returns Object with extracted selected IDs for each output key\n */\nexport function getSelectedIdsFromCategories(\n categories: CategoryConfig[],\n keys: Record<string, string>\n): Record<string, string[]> {\n const result: Record<string, string[]> = {};\n\n for (const [outputKey, categoryKey] of Object.entries(keys)) {\n const category = categories.find((c) => c.key === categoryKey);\n result[outputKey] = category?.selectedIds || [];\n }\n\n return result;\n}\n\n/**\n * Toggles an item in an array (adds if not present, removes if present)\n * @param array - Current array\n * @param item - Item to toggle\n * @returns New array with item toggled\n */\nexport function toggleArrayItem<T>(array: T[], item: T): T[] {\n return array.includes(item)\n ? array.filter((i) => i !== item)\n : [...array, item];\n}\n\n/**\n * Toggles a single value (returns null if current value, otherwise returns new value)\n * @param currentValue - Current selected value\n * @param newValue - Value to toggle to\n * @returns New value or null if toggling off\n */\nexport function toggleSingleValue<T>(\n currentValue: T | null,\n newValue: T\n): T | null {\n return currentValue === newValue ? null : newValue;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAsC;AACtC,4BAAwB;;;ACUjB,IAAM,oBAAoB,CAC/B,MACA,UACA,iBACA,QACG;AACH,MAAI,CAAC,QAAQ,UAAU;AACrB,oBAAgB,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE;AAAA,EACvD;AACF;;;ACZO,SAAS,6BACd,YACA,MAC0B;AAC1B,QAAM,SAAmC,CAAC;AAE1C,aAAW,CAAC,WAAW,WAAW,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC3D,UAAM,WAAW,WAAW,KAAK,CAAC,MAAM,EAAE,QAAQ,WAAW;AAC7D,WAAO,SAAS,IAAI,UAAU,eAAe,CAAC;AAAA,EAChD;AAEA,SAAO;AACT;AAQO,SAAS,gBAAmB,OAAY,MAAc;AAC3D,SAAO,MAAM,SAAS,IAAI,IACtB,MAAM,OAAO,CAAC,MAAM,MAAM,IAAI,IAC9B,CAAC,GAAG,OAAO,IAAI;AACrB;AAQO,SAAS,kBACd,cACA,UACU;AACV,SAAO,iBAAiB,WAAW,OAAO;AAC5C;;;AF1CO,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;AAiBO,SAAS,2BACd,UACA,QACoB;AACpB,MAAI,CAAC,SAAU,QAAO;AAEtB,MAAI,QAAQ,SAAS,QAAQ,MAAM,EAAE,EAAE,YAAY;AAEnD,MAAI,QAAQ;AAEV,QAAI,MAAM,WAAW,GAAG;AACtB,cAAQ,MAAM,MAAM,GAAG,CAAC;AAAA,IAC1B;AACA,WAAO,IAAI,KAAK;AAAA,EAClB,OAAO;AAEL,QAAI;AACJ,QAAI,MAAM,WAAW,GAAG;AAEtB,oBAAc,IAAI,KAAK;AAAA,IACzB,WAAW,MAAM,WAAW,GAAG;AAE7B,oBAAc,IAAI,KAAK;AAAA,IACzB,OAAO;AAEL,oBAAc,IAAI,KAAK;AAAA,IACzB;AACA,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/utils.ts","../../src/utils/dropdown.ts","../../src/utils/activityFilters.ts","../../src/types/activityDetails.ts","../../src/utils/activityDetailsUtils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport { syncDropdownState } from './dropdown';\nexport {\n getSelectedIdsFromCategories,\n toggleArrayItem,\n toggleSingleValue,\n} from './activityFilters';\nexport {\n getStatusBadgeConfig,\n formatTimeSpent,\n formatQuestionNumbers,\n formatDateToBrazilian,\n} from './activityDetailsUtils';\n\n/**\n * Retorna a cor hexadecimal com opacidade 0.3 (4d) se não estiver em dark mode.\n * Se estiver em dark mode, retorna a cor original.\n *\n * @param hexColor - Cor hexadecimal (ex: \"#0066b8\" ou \"0066b8\")\n * @param isDark - booleano indicando se está em dark mode\n * @returns string - cor hexadecimal com opacidade se necessário\n */\nexport function getSubjectColorWithOpacity(\n hexColor: string | undefined,\n isDark: boolean\n): string | undefined {\n if (!hexColor) return undefined;\n // Remove o '#' se existir\n let color = hexColor.replace(/^#/, '').toLowerCase();\n\n if (isDark) {\n // Se está em dark mode, sempre remove opacidade se existir\n if (color.length === 8) {\n color = color.slice(0, 6);\n }\n return `#${color}`;\n } else {\n // Se não está em dark mode (light mode)\n let resultColor: string;\n if (color.length === 6) {\n // Adiciona opacidade 0.3 (4D) para cores de 6 dígitos\n resultColor = `#${color}4d`;\n } else if (color.length === 8) {\n // Já tem opacidade, retorna como está\n resultColor = `#${color}`;\n } else {\n // Para outros tamanhos (3, 4, 5 dígitos), retorna como está\n resultColor = `#${color}`;\n }\n return resultColor;\n }\n}\n","import type { Dispatch, SetStateAction } from 'react';\n\n/**\n * Synchronizes dropdown state when it closes externally\n * This ensures the toggle button state matches the dropdown state\n *\n * @param open - Current dropdown open state\n * @param isActive - Current active state of the toggle button\n * @param setActiveStates - Function to update active states\n * @param key - Key identifier for the specific dropdown\n */\nexport const syncDropdownState = (\n open: boolean,\n isActive: boolean,\n setActiveStates: Dispatch<SetStateAction<Record<string, boolean>>>,\n key: string\n) => {\n if (!open && isActive) {\n setActiveStates((prev) => ({ ...prev, [key]: false }));\n }\n};\n","import type { CategoryConfig } from '../components/CheckBoxGroup/CheckBoxGroup';\n\n/**\n * Extracts selected IDs from knowledge categories by their keys\n * @param categories - Array of category configurations\n * @param keys - Object mapping output keys to category keys\n * @returns Object with extracted selected IDs for each output key\n */\nexport function getSelectedIdsFromCategories(\n categories: CategoryConfig[],\n keys: Record<string, string>\n): Record<string, string[]> {\n const result: Record<string, string[]> = {};\n\n for (const [outputKey, categoryKey] of Object.entries(keys)) {\n const category = categories.find((c) => c.key === categoryKey);\n result[outputKey] = category?.selectedIds || [];\n }\n\n return result;\n}\n\n/**\n * Toggles an item in an array (adds if not present, removes if present)\n * @param array - Current array\n * @param item - Item to toggle\n * @returns New array with item toggled\n */\nexport function toggleArrayItem<T>(array: T[], item: T): T[] {\n return array.includes(item)\n ? array.filter((i) => i !== item)\n : [...array, item];\n}\n\n/**\n * Toggles a single value (returns null if current value, otherwise returns new value)\n * @param currentValue - Current selected value\n * @param newValue - Value to toggle to\n * @returns New value or null if toggling off\n */\nexport function toggleSingleValue<T>(\n currentValue: T | null,\n newValue: T\n): T | null {\n return currentValue === newValue ? null : newValue;\n}\n","/**\n * Activity Details Types\n * Types and helper functions for activity details components\n */\n\n/**\n * Student activity status enum\n */\nexport const STUDENT_ACTIVITY_STATUS = {\n CONCLUIDO: 'CONCLUIDO',\n AGUARDANDO_CORRECAO: 'AGUARDANDO_CORRECAO',\n AGUARDANDO_RESPOSTA: 'AGUARDANDO_RESPOSTA',\n NAO_ENTREGUE: 'NAO_ENTREGUE',\n} as const;\n\nexport type StudentActivityStatus =\n (typeof STUDENT_ACTIVITY_STATUS)[keyof typeof STUDENT_ACTIVITY_STATUS];\n\n/**\n * Student data interface\n */\nexport interface ActivityStudentData {\n studentId: string;\n studentName: string;\n answeredAt: string | null;\n timeSpent: number;\n score: number | null;\n status: StudentActivityStatus;\n}\n\n/**\n * Pagination interface\n */\nexport interface Pagination {\n total: number;\n page: number;\n limit: number;\n totalPages: number;\n}\n\n/**\n * General statistics interface\n */\nexport interface GeneralStats {\n averageScore: number;\n completionPercentage: number;\n}\n\n/**\n * Question statistics interface\n */\nexport interface QuestionStats {\n mostCorrect: number[];\n mostIncorrect: number[];\n notAnswered: number[];\n}\n\n/**\n * Activity metadata interface\n */\nexport interface ActivityMetadata {\n id: string;\n title: string;\n startDate: string | null;\n finalDate: string | null;\n schoolName: string;\n year: string;\n subjectName: string;\n className: string;\n}\n\n/**\n * Activity details data interface\n */\nexport interface ActivityDetailsData {\n activity: ActivityMetadata;\n students: ActivityStudentData[];\n pagination: Pagination;\n generalStats: GeneralStats;\n questionStats: QuestionStats;\n}\n\n/**\n * Activity details query params interface\n */\nexport interface ActivityDetailsQueryParams {\n page?: number;\n limit?: number;\n sortBy?: 'name' | 'score' | 'answeredAt';\n sortOrder?: 'asc' | 'desc';\n status?: StudentActivityStatus;\n}\n\n/**\n * Activity student table item interface\n */\nexport interface ActivityStudentTableItem extends Record<string, unknown> {\n id: string;\n studentId: string;\n studentName: string;\n status: StudentActivityStatus;\n answeredAt: string | null;\n timeSpent: number;\n score: number | null;\n}\n\n/**\n * Status badge configuration interface\n */\nexport interface StatusBadgeConfig {\n label: string;\n bgColor: string;\n textColor: string;\n}\n\n/**\n * Activity availability status enum\n * Used to determine if an activity is available based on start/end dates\n */\nexport const ACTIVITY_AVAILABILITY = {\n DISPONIVEL: 'DISPONIVEL',\n NAO_INICIADA: 'NAO_INICIADA',\n EXPIRADA: 'EXPIRADA',\n} as const;\n\nexport type ActivityAvailability =\n (typeof ACTIVITY_AVAILABILITY)[keyof typeof ACTIVITY_AVAILABILITY];\n","/**\n * Activity Details Utilities\n * Helper functions for activity details components\n */\n\nimport type {\n StudentActivityStatus,\n StatusBadgeConfig,\n} from '../types/activityDetails';\nimport { STUDENT_ACTIVITY_STATUS } from '../types/activityDetails';\n\n/**\n * Get status badge configuration\n * @param status - Student activity status\n * @returns Status badge configuration object\n */\nexport const getStatusBadgeConfig = (\n status: StudentActivityStatus\n): StatusBadgeConfig => {\n const configs: Record<string, StatusBadgeConfig> = {\n [STUDENT_ACTIVITY_STATUS.CONCLUIDO]: {\n label: 'Concluído',\n bgColor: 'bg-green-50',\n textColor: 'text-green-800',\n },\n [STUDENT_ACTIVITY_STATUS.AGUARDANDO_CORRECAO]: {\n label: 'Aguardando Correção',\n bgColor: 'bg-yellow-50',\n textColor: 'text-yellow-800',\n },\n [STUDENT_ACTIVITY_STATUS.AGUARDANDO_RESPOSTA]: {\n label: 'Aguardando Resposta',\n bgColor: 'bg-blue-50',\n textColor: 'text-blue-800',\n },\n [STUDENT_ACTIVITY_STATUS.NAO_ENTREGUE]: {\n label: 'Não Entregue',\n bgColor: 'bg-red-50',\n textColor: 'text-red-800',\n },\n default: {\n label: 'Desconhecido',\n bgColor: 'bg-gray-50',\n textColor: 'text-gray-800',\n },\n };\n\n return configs[status] ?? configs.default;\n};\n\n/**\n * Format time spent in seconds to HH:MM:SS\n * @param seconds - Time in seconds\n * @returns Formatted time string\n */\nexport const formatTimeSpent = (seconds: number): string => {\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = seconds % 60;\n\n return `${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}:${String(secs).padStart(2, '0')}`;\n};\n\n/**\n * Format question numbers to display\n * @param numbers - Array of question numbers (0-indexed)\n * @returns Formatted string of question numbers\n */\nexport const formatQuestionNumbers = (numbers: number[]): string => {\n if (numbers.length === 0) return '-';\n return numbers.map((n) => String(n + 1).padStart(2, '0')).join(', ');\n};\n\n/**\n * Format date string to Brazilian format (DD/MM/YYYY)\n * @param dateString - ISO date string\n * @returns Formatted date string\n */\nexport const formatDateToBrazilian = (dateString: string): string => {\n const date = new Date(dateString);\n const day = String(date.getUTCDate()).padStart(2, '0');\n const month = String(date.getUTCMonth() + 1).padStart(2, '0');\n const year = date.getUTCFullYear();\n return `${day}/${month}/${year}`;\n};\n"],"mappings":"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","names":[]}
@@ -25,6 +25,63 @@ function toggleSingleValue(currentValue, newValue) {
25
25
  return currentValue === newValue ? null : newValue;
26
26
  }
27
27
 
28
+ // src/types/activityDetails.ts
29
+ var STUDENT_ACTIVITY_STATUS = {
30
+ CONCLUIDO: "CONCLUIDO",
31
+ AGUARDANDO_CORRECAO: "AGUARDANDO_CORRECAO",
32
+ AGUARDANDO_RESPOSTA: "AGUARDANDO_RESPOSTA",
33
+ NAO_ENTREGUE: "NAO_ENTREGUE"
34
+ };
35
+
36
+ // src/utils/activityDetailsUtils.ts
37
+ var getStatusBadgeConfig = (status) => {
38
+ const configs = {
39
+ [STUDENT_ACTIVITY_STATUS.CONCLUIDO]: {
40
+ label: "Conclu\xEDdo",
41
+ bgColor: "bg-green-50",
42
+ textColor: "text-green-800"
43
+ },
44
+ [STUDENT_ACTIVITY_STATUS.AGUARDANDO_CORRECAO]: {
45
+ label: "Aguardando Corre\xE7\xE3o",
46
+ bgColor: "bg-yellow-50",
47
+ textColor: "text-yellow-800"
48
+ },
49
+ [STUDENT_ACTIVITY_STATUS.AGUARDANDO_RESPOSTA]: {
50
+ label: "Aguardando Resposta",
51
+ bgColor: "bg-blue-50",
52
+ textColor: "text-blue-800"
53
+ },
54
+ [STUDENT_ACTIVITY_STATUS.NAO_ENTREGUE]: {
55
+ label: "N\xE3o Entregue",
56
+ bgColor: "bg-red-50",
57
+ textColor: "text-red-800"
58
+ },
59
+ default: {
60
+ label: "Desconhecido",
61
+ bgColor: "bg-gray-50",
62
+ textColor: "text-gray-800"
63
+ }
64
+ };
65
+ return configs[status] ?? configs.default;
66
+ };
67
+ var formatTimeSpent = (seconds) => {
68
+ const hours = Math.floor(seconds / 3600);
69
+ const minutes = Math.floor(seconds % 3600 / 60);
70
+ const secs = seconds % 60;
71
+ return `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}:${String(secs).padStart(2, "0")}`;
72
+ };
73
+ var formatQuestionNumbers = (numbers) => {
74
+ if (numbers.length === 0) return "-";
75
+ return numbers.map((n) => String(n + 1).padStart(2, "0")).join(", ");
76
+ };
77
+ var formatDateToBrazilian = (dateString) => {
78
+ const date = new Date(dateString);
79
+ const day = String(date.getUTCDate()).padStart(2, "0");
80
+ const month = String(date.getUTCMonth() + 1).padStart(2, "0");
81
+ const year = date.getUTCFullYear();
82
+ return `${day}/${month}/${year}`;
83
+ };
84
+
28
85
  // src/utils/utils.ts
29
86
  function cn(...inputs) {
30
87
  return twMerge(clsx(inputs));
@@ -51,7 +108,11 @@ function getSubjectColorWithOpacity(hexColor, isDark) {
51
108
  }
52
109
  export {
53
110
  cn,
111
+ formatDateToBrazilian,
112
+ formatQuestionNumbers,
113
+ formatTimeSpent,
54
114
  getSelectedIdsFromCategories,
115
+ getStatusBadgeConfig,
55
116
  getSubjectColorWithOpacity,
56
117
  syncDropdownState,
57
118
  toggleArrayItem,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/utils.ts","../../src/utils/dropdown.ts","../../src/utils/activityFilters.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport { syncDropdownState } from './dropdown';\nexport {\n getSelectedIdsFromCategories,\n toggleArrayItem,\n toggleSingleValue,\n} from './activityFilters';\n\n/**\n * Retorna a cor hexadecimal com opacidade 0.3 (4d) se não estiver em dark mode.\n * Se estiver em dark mode, retorna a cor original.\n *\n * @param hexColor - Cor hexadecimal (ex: \"#0066b8\" ou \"0066b8\")\n * @param isDark - booleano indicando se está em dark mode\n * @returns string - cor hexadecimal com opacidade se necessário\n */\nexport function getSubjectColorWithOpacity(\n hexColor: string | undefined,\n isDark: boolean\n): string | undefined {\n if (!hexColor) return undefined;\n // Remove o '#' se existir\n let color = hexColor.replace(/^#/, '').toLowerCase();\n\n if (isDark) {\n // Se está em dark mode, sempre remove opacidade se existir\n if (color.length === 8) {\n color = color.slice(0, 6);\n }\n return `#${color}`;\n } else {\n // Se não está em dark mode (light mode)\n let resultColor: string;\n if (color.length === 6) {\n // Adiciona opacidade 0.3 (4D) para cores de 6 dígitos\n resultColor = `#${color}4d`;\n } else if (color.length === 8) {\n // Já tem opacidade, retorna como está\n resultColor = `#${color}`;\n } else {\n // Para outros tamanhos (3, 4, 5 dígitos), retorna como está\n resultColor = `#${color}`;\n }\n return resultColor;\n }\n}\n","import type { Dispatch, SetStateAction } from 'react';\n\n/**\n * Synchronizes dropdown state when it closes externally\n * This ensures the toggle button state matches the dropdown state\n *\n * @param open - Current dropdown open state\n * @param isActive - Current active state of the toggle button\n * @param setActiveStates - Function to update active states\n * @param key - Key identifier for the specific dropdown\n */\nexport const syncDropdownState = (\n open: boolean,\n isActive: boolean,\n setActiveStates: Dispatch<SetStateAction<Record<string, boolean>>>,\n key: string\n) => {\n if (!open && isActive) {\n setActiveStates((prev) => ({ ...prev, [key]: false }));\n }\n};\n","import type { CategoryConfig } from '../components/CheckBoxGroup/CheckBoxGroup';\n\n/**\n * Extracts selected IDs from knowledge categories by their keys\n * @param categories - Array of category configurations\n * @param keys - Object mapping output keys to category keys\n * @returns Object with extracted selected IDs for each output key\n */\nexport function getSelectedIdsFromCategories(\n categories: CategoryConfig[],\n keys: Record<string, string>\n): Record<string, string[]> {\n const result: Record<string, string[]> = {};\n\n for (const [outputKey, categoryKey] of Object.entries(keys)) {\n const category = categories.find((c) => c.key === categoryKey);\n result[outputKey] = category?.selectedIds || [];\n }\n\n return result;\n}\n\n/**\n * Toggles an item in an array (adds if not present, removes if present)\n * @param array - Current array\n * @param item - Item to toggle\n * @returns New array with item toggled\n */\nexport function toggleArrayItem<T>(array: T[], item: T): T[] {\n return array.includes(item)\n ? array.filter((i) => i !== item)\n : [...array, item];\n}\n\n/**\n * Toggles a single value (returns null if current value, otherwise returns new value)\n * @param currentValue - Current selected value\n * @param newValue - Value to toggle to\n * @returns New value or null if toggling off\n */\nexport function toggleSingleValue<T>(\n currentValue: T | null,\n newValue: T\n): T | null {\n return currentValue === newValue ? null : newValue;\n}\n"],"mappings":";AAAA,SAAS,YAA6B;AACtC,SAAS,eAAe;;;ACUjB,IAAM,oBAAoB,CAC/B,MACA,UACA,iBACA,QACG;AACH,MAAI,CAAC,QAAQ,UAAU;AACrB,oBAAgB,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE;AAAA,EACvD;AACF;;;ACZO,SAAS,6BACd,YACA,MAC0B;AAC1B,QAAM,SAAmC,CAAC;AAE1C,aAAW,CAAC,WAAW,WAAW,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC3D,UAAM,WAAW,WAAW,KAAK,CAAC,MAAM,EAAE,QAAQ,WAAW;AAC7D,WAAO,SAAS,IAAI,UAAU,eAAe,CAAC;AAAA,EAChD;AAEA,SAAO;AACT;AAQO,SAAS,gBAAmB,OAAY,MAAc;AAC3D,SAAO,MAAM,SAAS,IAAI,IACtB,MAAM,OAAO,CAAC,MAAM,MAAM,IAAI,IAC9B,CAAC,GAAG,OAAO,IAAI;AACrB;AAQO,SAAS,kBACd,cACA,UACU;AACV,SAAO,iBAAiB,WAAW,OAAO;AAC5C;;;AF1CO,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;AAiBO,SAAS,2BACd,UACA,QACoB;AACpB,MAAI,CAAC,SAAU,QAAO;AAEtB,MAAI,QAAQ,SAAS,QAAQ,MAAM,EAAE,EAAE,YAAY;AAEnD,MAAI,QAAQ;AAEV,QAAI,MAAM,WAAW,GAAG;AACtB,cAAQ,MAAM,MAAM,GAAG,CAAC;AAAA,IAC1B;AACA,WAAO,IAAI,KAAK;AAAA,EAClB,OAAO;AAEL,QAAI;AACJ,QAAI,MAAM,WAAW,GAAG;AAEtB,oBAAc,IAAI,KAAK;AAAA,IACzB,WAAW,MAAM,WAAW,GAAG;AAE7B,oBAAc,IAAI,KAAK;AAAA,IACzB,OAAO;AAEL,oBAAc,IAAI,KAAK;AAAA,IACzB;AACA,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/utils.ts","../../src/utils/dropdown.ts","../../src/utils/activityFilters.ts","../../src/types/activityDetails.ts","../../src/utils/activityDetailsUtils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport { syncDropdownState } from './dropdown';\nexport {\n getSelectedIdsFromCategories,\n toggleArrayItem,\n toggleSingleValue,\n} from './activityFilters';\nexport {\n getStatusBadgeConfig,\n formatTimeSpent,\n formatQuestionNumbers,\n formatDateToBrazilian,\n} from './activityDetailsUtils';\n\n/**\n * Retorna a cor hexadecimal com opacidade 0.3 (4d) se não estiver em dark mode.\n * Se estiver em dark mode, retorna a cor original.\n *\n * @param hexColor - Cor hexadecimal (ex: \"#0066b8\" ou \"0066b8\")\n * @param isDark - booleano indicando se está em dark mode\n * @returns string - cor hexadecimal com opacidade se necessário\n */\nexport function getSubjectColorWithOpacity(\n hexColor: string | undefined,\n isDark: boolean\n): string | undefined {\n if (!hexColor) return undefined;\n // Remove o '#' se existir\n let color = hexColor.replace(/^#/, '').toLowerCase();\n\n if (isDark) {\n // Se está em dark mode, sempre remove opacidade se existir\n if (color.length === 8) {\n color = color.slice(0, 6);\n }\n return `#${color}`;\n } else {\n // Se não está em dark mode (light mode)\n let resultColor: string;\n if (color.length === 6) {\n // Adiciona opacidade 0.3 (4D) para cores de 6 dígitos\n resultColor = `#${color}4d`;\n } else if (color.length === 8) {\n // Já tem opacidade, retorna como está\n resultColor = `#${color}`;\n } else {\n // Para outros tamanhos (3, 4, 5 dígitos), retorna como está\n resultColor = `#${color}`;\n }\n return resultColor;\n }\n}\n","import type { Dispatch, SetStateAction } from 'react';\n\n/**\n * Synchronizes dropdown state when it closes externally\n * This ensures the toggle button state matches the dropdown state\n *\n * @param open - Current dropdown open state\n * @param isActive - Current active state of the toggle button\n * @param setActiveStates - Function to update active states\n * @param key - Key identifier for the specific dropdown\n */\nexport const syncDropdownState = (\n open: boolean,\n isActive: boolean,\n setActiveStates: Dispatch<SetStateAction<Record<string, boolean>>>,\n key: string\n) => {\n if (!open && isActive) {\n setActiveStates((prev) => ({ ...prev, [key]: false }));\n }\n};\n","import type { CategoryConfig } from '../components/CheckBoxGroup/CheckBoxGroup';\n\n/**\n * Extracts selected IDs from knowledge categories by their keys\n * @param categories - Array of category configurations\n * @param keys - Object mapping output keys to category keys\n * @returns Object with extracted selected IDs for each output key\n */\nexport function getSelectedIdsFromCategories(\n categories: CategoryConfig[],\n keys: Record<string, string>\n): Record<string, string[]> {\n const result: Record<string, string[]> = {};\n\n for (const [outputKey, categoryKey] of Object.entries(keys)) {\n const category = categories.find((c) => c.key === categoryKey);\n result[outputKey] = category?.selectedIds || [];\n }\n\n return result;\n}\n\n/**\n * Toggles an item in an array (adds if not present, removes if present)\n * @param array - Current array\n * @param item - Item to toggle\n * @returns New array with item toggled\n */\nexport function toggleArrayItem<T>(array: T[], item: T): T[] {\n return array.includes(item)\n ? array.filter((i) => i !== item)\n : [...array, item];\n}\n\n/**\n * Toggles a single value (returns null if current value, otherwise returns new value)\n * @param currentValue - Current selected value\n * @param newValue - Value to toggle to\n * @returns New value or null if toggling off\n */\nexport function toggleSingleValue<T>(\n currentValue: T | null,\n newValue: T\n): T | null {\n return currentValue === newValue ? null : newValue;\n}\n","/**\n * Activity Details Types\n * Types and helper functions for activity details components\n */\n\n/**\n * Student activity status enum\n */\nexport const STUDENT_ACTIVITY_STATUS = {\n CONCLUIDO: 'CONCLUIDO',\n AGUARDANDO_CORRECAO: 'AGUARDANDO_CORRECAO',\n AGUARDANDO_RESPOSTA: 'AGUARDANDO_RESPOSTA',\n NAO_ENTREGUE: 'NAO_ENTREGUE',\n} as const;\n\nexport type StudentActivityStatus =\n (typeof STUDENT_ACTIVITY_STATUS)[keyof typeof STUDENT_ACTIVITY_STATUS];\n\n/**\n * Student data interface\n */\nexport interface ActivityStudentData {\n studentId: string;\n studentName: string;\n answeredAt: string | null;\n timeSpent: number;\n score: number | null;\n status: StudentActivityStatus;\n}\n\n/**\n * Pagination interface\n */\nexport interface Pagination {\n total: number;\n page: number;\n limit: number;\n totalPages: number;\n}\n\n/**\n * General statistics interface\n */\nexport interface GeneralStats {\n averageScore: number;\n completionPercentage: number;\n}\n\n/**\n * Question statistics interface\n */\nexport interface QuestionStats {\n mostCorrect: number[];\n mostIncorrect: number[];\n notAnswered: number[];\n}\n\n/**\n * Activity metadata interface\n */\nexport interface ActivityMetadata {\n id: string;\n title: string;\n startDate: string | null;\n finalDate: string | null;\n schoolName: string;\n year: string;\n subjectName: string;\n className: string;\n}\n\n/**\n * Activity details data interface\n */\nexport interface ActivityDetailsData {\n activity: ActivityMetadata;\n students: ActivityStudentData[];\n pagination: Pagination;\n generalStats: GeneralStats;\n questionStats: QuestionStats;\n}\n\n/**\n * Activity details query params interface\n */\nexport interface ActivityDetailsQueryParams {\n page?: number;\n limit?: number;\n sortBy?: 'name' | 'score' | 'answeredAt';\n sortOrder?: 'asc' | 'desc';\n status?: StudentActivityStatus;\n}\n\n/**\n * Activity student table item interface\n */\nexport interface ActivityStudentTableItem extends Record<string, unknown> {\n id: string;\n studentId: string;\n studentName: string;\n status: StudentActivityStatus;\n answeredAt: string | null;\n timeSpent: number;\n score: number | null;\n}\n\n/**\n * Status badge configuration interface\n */\nexport interface StatusBadgeConfig {\n label: string;\n bgColor: string;\n textColor: string;\n}\n\n/**\n * Activity availability status enum\n * Used to determine if an activity is available based on start/end dates\n */\nexport const ACTIVITY_AVAILABILITY = {\n DISPONIVEL: 'DISPONIVEL',\n NAO_INICIADA: 'NAO_INICIADA',\n EXPIRADA: 'EXPIRADA',\n} as const;\n\nexport type ActivityAvailability =\n (typeof ACTIVITY_AVAILABILITY)[keyof typeof ACTIVITY_AVAILABILITY];\n","/**\n * Activity Details Utilities\n * Helper functions for activity details components\n */\n\nimport type {\n StudentActivityStatus,\n StatusBadgeConfig,\n} from '../types/activityDetails';\nimport { STUDENT_ACTIVITY_STATUS } from '../types/activityDetails';\n\n/**\n * Get status badge configuration\n * @param status - Student activity status\n * @returns Status badge configuration object\n */\nexport const getStatusBadgeConfig = (\n status: StudentActivityStatus\n): StatusBadgeConfig => {\n const configs: Record<string, StatusBadgeConfig> = {\n [STUDENT_ACTIVITY_STATUS.CONCLUIDO]: {\n label: 'Concluído',\n bgColor: 'bg-green-50',\n textColor: 'text-green-800',\n },\n [STUDENT_ACTIVITY_STATUS.AGUARDANDO_CORRECAO]: {\n label: 'Aguardando Correção',\n bgColor: 'bg-yellow-50',\n textColor: 'text-yellow-800',\n },\n [STUDENT_ACTIVITY_STATUS.AGUARDANDO_RESPOSTA]: {\n label: 'Aguardando Resposta',\n bgColor: 'bg-blue-50',\n textColor: 'text-blue-800',\n },\n [STUDENT_ACTIVITY_STATUS.NAO_ENTREGUE]: {\n label: 'Não Entregue',\n bgColor: 'bg-red-50',\n textColor: 'text-red-800',\n },\n default: {\n label: 'Desconhecido',\n bgColor: 'bg-gray-50',\n textColor: 'text-gray-800',\n },\n };\n\n return configs[status] ?? configs.default;\n};\n\n/**\n * Format time spent in seconds to HH:MM:SS\n * @param seconds - Time in seconds\n * @returns Formatted time string\n */\nexport const formatTimeSpent = (seconds: number): string => {\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = seconds % 60;\n\n return `${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}:${String(secs).padStart(2, '0')}`;\n};\n\n/**\n * Format question numbers to display\n * @param numbers - Array of question numbers (0-indexed)\n * @returns Formatted string of question numbers\n */\nexport const formatQuestionNumbers = (numbers: number[]): string => {\n if (numbers.length === 0) return '-';\n return numbers.map((n) => String(n + 1).padStart(2, '0')).join(', ');\n};\n\n/**\n * Format date string to Brazilian format (DD/MM/YYYY)\n * @param dateString - ISO date string\n * @returns Formatted date string\n */\nexport const formatDateToBrazilian = (dateString: string): string => {\n const date = new Date(dateString);\n const day = String(date.getUTCDate()).padStart(2, '0');\n const month = String(date.getUTCMonth() + 1).padStart(2, '0');\n const year = date.getUTCFullYear();\n return `${day}/${month}/${year}`;\n};\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "analytica-frontend-lib",
3
- "version": "1.2.44",
3
+ "version": "1.2.45",
4
4
  "description": "Repositório público dos componentes utilizados nas plataformas da Analytica Ensino",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "./dist/index.js",