aq-fe-framework 0.1.154 → 0.1.156

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 (253) hide show
  1. package/dist/{IAQModule-Cn6xUy-6.d.mts → IAQModule-XZYlbivW.d.mts} +1 -1
  2. package/dist/api/apiFactory.ts +46 -0
  3. package/dist/api/baseAxios.ts +22 -0
  4. package/dist/app/admin/(core)/core12196/page.tsx +13 -0
  5. package/dist/app/admin/(core)/core16209/page.tsx +13 -0
  6. package/dist/app/admin/(core)/core18256/page.tsx +12 -0
  7. package/dist/app/admin/(core)/core26965/page.tsx +13 -0
  8. package/dist/app/admin/(core)/core27311/page.tsx +13 -0
  9. package/dist/app/admin/(core)/core38677/page.tsx +13 -0
  10. package/dist/app/admin/(core)/core40207/page.tsx +13 -0
  11. package/dist/app/admin/(core)/core60524/page.tsx +11 -0
  12. package/dist/app/admin/(core)/core64229/page.tsx +12 -0
  13. package/dist/app/admin/(core)/core71678/page.tsx +11 -0
  14. package/dist/app/admin/(core)/core76318/page.tsx +13 -0
  15. package/dist/app/admin/(core)/core83092/page.tsx +13 -0
  16. package/dist/app/admin/[...slug]/page.tsx +7 -0
  17. package/dist/app/admin/error.tsx +42 -0
  18. package/dist/app/admin/layout.tsx +21 -0
  19. package/dist/app/admin/test/page.tsx +44 -0
  20. package/dist/app/auth/login/page.tsx +14 -0
  21. package/dist/app/globals.css +59 -0
  22. package/dist/app/layout.tsx +39 -0
  23. package/dist/app/page.tsx +18 -0
  24. package/dist/chunk-5U2JSHSJ.mjs +22 -0
  25. package/dist/chunk-7ZCOFATU.mjs +42 -0
  26. package/dist/chunk-FWCSY2DS.mjs +37 -0
  27. package/dist/chunk-JLT4BL7I.mjs +7634 -0
  28. package/dist/chunk-KWCUUD5Z.mjs +235 -0
  29. package/dist/chunk-Y3YGC5IH.mjs +21 -0
  30. package/dist/chunk-Z6OQG54Q.mjs +39 -0
  31. package/dist/components/Aceternity/BoxesBackground/MyBoxes.tsx +66 -0
  32. package/dist/components/Aceternity/BoxesBackground/MyBoxesBackground.tsx +31 -0
  33. package/dist/components/ActionIcons/ActionIcon/MyActionIcon.tsx +47 -0
  34. package/dist/components/ActionIcons/ActionIconCRUD/MyActionIconDelete.tsx +81 -0
  35. package/dist/components/ActionIcons/ActionIconCRUD/MyActionIconUpdate.tsx +68 -0
  36. package/dist/components/ActionIcons/ActionIconCheck/MyActionIconCheck.tsx +50 -0
  37. package/dist/components/ActionIcons/ActionIconDownloadPDF/MyActionIconDownloadPDF.tsx +13 -0
  38. package/dist/components/ActionIcons/ActionIconModal/MyActionIconModal.tsx +113 -0
  39. package/dist/components/ActionIcons/ActionIconUpload/MyActionIconUpload.tsx +19 -0
  40. package/dist/components/ActionIcons/ActionIconViewPdf/MyActionIconViewPDF.tsx +63 -0
  41. package/dist/components/ActionIcons/SwitchTheme/MySwitchTheme.tsx +36 -0
  42. package/dist/components/AppSpotlight/MyAppSpotlight.tsx +112 -0
  43. package/dist/components/Buttons/Anchor/MyAnchorViewPDF.tsx +46 -0
  44. package/dist/components/Buttons/Button/MyButton.tsx +90 -0
  45. package/dist/components/Buttons/ButtonCRUD/AQButtonCreateByImportFile.tsx +81 -0
  46. package/dist/components/Buttons/ButtonCRUD/AQButtonExportData.tsx +75 -0
  47. package/dist/components/Buttons/ButtonCRUD/MyButtonCreate.tsx +68 -0
  48. package/dist/components/Buttons/ButtonImport/MyButtonImport.tsx +29 -0
  49. package/dist/components/Buttons/ButtonImport/SelectFieldModal.tsx +100 -0
  50. package/dist/components/Buttons/ButtonImport/SelectFileModal.tsx +81 -0
  51. package/dist/components/Buttons/ButtonImport/useS_ButtonImport.ts +196 -0
  52. package/dist/components/Buttons/ButtonModal/AQSelectTableByOpenModal.tsx +71 -0
  53. package/dist/components/Buttons/ButtonModal/MyButtonModal.tsx +117 -0
  54. package/dist/components/Buttons/ButtonPrintPDF/MyButtonPrintPDF.tsx +37 -0
  55. package/dist/components/Buttons/ButtonPrintPDFTable/MyButtonPrintTablePDF.tsx +174 -0
  56. package/dist/components/Buttons/ButtonRouterBack/MyButtonRouterBack.tsx +29 -0
  57. package/dist/components/Buttons/ButtonViewPDF/MyButtonViewPDF.tsx +121 -0
  58. package/dist/components/Calendar/MyCalendar.tsx +118 -0
  59. package/dist/components/CenterFull/MyCenterFull.tsx +10 -0
  60. package/dist/components/Checkbox/MyCheckbox.tsx +9 -0
  61. package/dist/components/Combobox/Select/MySelect.tsx +12 -0
  62. package/dist/components/DataDisplay/Card/AQCard.tsx +49 -0
  63. package/dist/components/DataDisplay/CardInformation/MyCardInformation.tsx +77 -0
  64. package/dist/components/DataDisplay/DataTable/MyDataTable.tsx +184 -0
  65. package/dist/components/DataDisplay/IconText/MyIconText.tsx +17 -0
  66. package/dist/components/DataDisplay/KeyLabel/MyKeyLabel.tsx +15 -0
  67. package/dist/components/DataDisplay/NumberFormatter/MyNumberFormatter.tsx +9 -0
  68. package/dist/components/DataDisplay/StatCard/AQStatCard1.tsx +68 -0
  69. package/dist/components/FaviconSetter/FaviconSetter.tsx +33 -0
  70. package/dist/components/Inputs/DateInput/MyDateInput.tsx +11 -0
  71. package/dist/components/Inputs/Fieldset/MyFieldset.tsx +32 -0
  72. package/dist/components/Inputs/FileInput/MyFileInput.tsx +12 -0
  73. package/dist/components/Inputs/NumberInput/MyNumberInput.tsx +12 -0
  74. package/dist/components/Inputs/TextArea/MyTextArea.tsx +11 -0
  75. package/dist/components/Inputs/TextEditor/MyTextEditor.tsx +191 -0
  76. package/dist/components/Inputs/TextInput/MyTextInput.tsx +30 -0
  77. package/dist/components/Layouts/BasicAppShell/BasicAppShell.tsx +357 -0
  78. package/dist/components/Layouts/BasicAppShell/css.module.css +62 -0
  79. package/dist/components/Layouts/BasicAppShell/useS_BasicAppShell.ts +64 -0
  80. package/dist/components/Layouts/Container/MyContainer.tsx +16 -0
  81. package/dist/components/Layouts/FlexColumn/MyFlexColumn.tsx +14 -0
  82. package/dist/components/Layouts/FlexEnd/MyFlexEnd.tsx +14 -0
  83. package/dist/components/Layouts/FlexRow/MyFlexRow.tsx +14 -0
  84. package/dist/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx +147 -0
  85. package/dist/components/Layouts/HeaderMegaMenu/HeaderMegaMenuStore.ts +19 -0
  86. package/dist/components/Layouts/HeaderMegaMenu/css.module.css +50 -0
  87. package/dist/components/Layouts/HtmlWrapper/MyHtmlWrapper.tsx +29 -0
  88. package/dist/components/Layouts/PageContent/MyPageContent.tsx +67 -0
  89. package/dist/components/Layouts/Tab/MyTab.tsx +33 -0
  90. package/dist/components/Loaders/MyCardioLoader.tsx +12 -0
  91. package/dist/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx +61 -0
  92. package/dist/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx +37 -0
  93. package/dist/components/ScheduleX/MyScheduleX.tsx +58 -0
  94. package/dist/components/Skeletons/SkeletonTable/MySkeletonTable.tsx +9 -0
  95. package/dist/components/index.mjs +143 -62
  96. package/dist/components/index.ts +62 -0
  97. package/dist/constants/array/daysOfWeek.ts +9 -0
  98. package/dist/constants/enum/ENUM_EMAILCONFIG.ts +6 -0
  99. package/dist/constants/enum/global.ts +26 -0
  100. package/dist/constants/object/color.ts +5 -0
  101. package/dist/constants/object/documentTypes.ts +8 -0
  102. package/dist/css.module-4ICLUKPO.module.css +107 -0
  103. package/dist/css.module-P45UW6UZ.module.css +4 -0
  104. package/dist/data/menuData.ts +31 -0
  105. package/dist/hooks/custom-hooks/useC_MutationAction.tsx +36 -0
  106. package/dist/hooks/index.d.mts +1 -1
  107. package/dist/hooks/index.mjs +11 -2
  108. package/dist/hooks/index.ts +2 -0
  109. package/dist/hooks/query/AQ/useQ_AQ_GetAQModule.ts +14 -0
  110. package/dist/interfaces/EmailConfig.ts +10 -0
  111. package/dist/interfaces/IAQModule.ts +21 -0
  112. package/dist/interfaces/base.ts +9 -0
  113. package/dist/interfaces/global-interface/IAQSSO.ts +15 -0
  114. package/dist/interfaces/global-interface/IAQSyncData.ts +9 -0
  115. package/dist/interfaces/global-interface/IAcademicYear.ts +12 -0
  116. package/dist/interfaces/global-interface/IChangePassWord.ts +8 -0
  117. package/dist/interfaces/global-interface/IComplaintProccess.ts +9 -0
  118. package/dist/interfaces/global-interface/ICreateAccount.ts +24 -0
  119. package/dist/interfaces/global-interface/IDocument.ts +25 -0
  120. package/dist/interfaces/global-interface/IDocumentAttribute.ts +12 -0
  121. package/dist/interfaces/global-interface/IEvent.ts +30 -0
  122. package/dist/interfaces/global-interface/IEventComplaint.ts +20 -0
  123. package/dist/interfaces/global-interface/IEventFillter.ts +14 -0
  124. package/dist/interfaces/global-interface/IFile.ts +8 -0
  125. package/dist/interfaces/global-interface/IImportStudentPaticipation.ts +8 -0
  126. package/dist/interfaces/global-interface/IPagePermission.ts +12 -0
  127. package/dist/interfaces/global-interface/IRolePermission.ts +7 -0
  128. package/dist/interfaces/global-interface/ISRMUserinfo.ts +35 -0
  129. package/dist/interfaces/global-interface/IScientificProfileProjectUser.ts +15 -0
  130. package/dist/interfaces/global-interface/IScientificProfileResearchGroup.ts +15 -0
  131. package/dist/interfaces/global-interface/IScientificProfileResearchGroupUser.ts +14 -0
  132. package/dist/interfaces/global-interface/IScientificProfileResearchProject.ts +21 -0
  133. package/dist/interfaces/global-interface/ISignIn.ts +7 -0
  134. package/dist/interfaces/global-interface/ISystemCatalogAcademicYear.ts +15 -0
  135. package/dist/interfaces/global-interface/ISystemCatalogDomainCategory.ts +11 -0
  136. package/dist/interfaces/global-interface/ISystemCatalogProjectLevelCategory.ts +11 -0
  137. package/dist/interfaces/global-interface/ISystemCatalogProjectTypeCategory.ts +11 -0
  138. package/dist/interfaces/global-interface/ISystemCatalogRoleActivity.ts +11 -0
  139. package/dist/interfaces/global-interface/ISystemCatalogTaskCategory.ts +11 -0
  140. package/dist/interfaces/global-interface/ISystemManagementAcademicHistory.ts +31 -0
  141. package/dist/interfaces/global-interface/ISystemManagementProfessionalWorkHistory.ts +14 -0
  142. package/dist/interfaces/global-interface/ISystemManagementPublishedScientificWork.ts +14 -0
  143. package/dist/interfaces/global-interface/ISystemManagementRoleGroup.ts +12 -0
  144. package/dist/interfaces/global-interface/ISystemManagementRoleGroupMenuPermission.ts +18 -0
  145. package/dist/interfaces/global-interface/ISystemManagementScientificResearchProject.ts +16 -0
  146. package/dist/interfaces/global-interface/ISystemManagementUserMenuPermission.ts +18 -0
  147. package/dist/interfaces/global-interface/IUpdateAccount.ts +15 -0
  148. package/dist/interfaces/global-interface/IUser.ts +21 -0
  149. package/dist/interfaces/global-interface/IUserPermission.ts +7 -0
  150. package/dist/lib/utils.ts +6 -0
  151. package/dist/modules-features/admin/core/MainDashboard/BarChart_CourseStatus.tsx +87 -0
  152. package/dist/modules-features/admin/core/MainDashboard/BarChart_ExamStatus.tsx +65 -0
  153. package/dist/modules-features/admin/core/MainDashboard/BarChart_RevenueByAcademicYear.tsx +82 -0
  154. package/dist/modules-features/admin/core/MainDashboard/BarChart_StudentStatusIn30Days.tsx +67 -0
  155. package/dist/modules-features/admin/core/MainDashboard/HBarChart_CourseDropOutPercentage.tsx +77 -0
  156. package/dist/modules-features/admin/core/MainDashboard/HBarChart_CourseProgressPercentage.tsx +77 -0
  157. package/dist/modules-features/admin/core/MainDashboard/LineChart_RevenueIn12Months.tsx +78 -0
  158. package/dist/modules-features/admin/core/MainDashboard/LineChart_TotalRevenueByDiscountIn3Months.tsx +69 -0
  159. package/dist/modules-features/admin/core/MainDashboard/LineChart_TotalRevenueByVoucherIn3Months.tsx +69 -0
  160. package/dist/modules-features/admin/core/MainDashboard/LineChart_TotalStudentIn12Months.tsx +64 -0
  161. package/dist/modules-features/admin/core/MainDashboard/ViewDiscountStat.tsx +311 -0
  162. package/dist/modules-features/admin/core/MainDashboard/ViewVoucherStat.tsx +311 -0
  163. package/dist/modules-features/admin/core/core12196/F_core12196.tsx +20 -0
  164. package/dist/modules-features/admin/core/core12196/F_core12196_Create.tsx +101 -0
  165. package/dist/modules-features/admin/core/core12196/F_core12196_Delete.tsx +19 -0
  166. package/dist/modules-features/admin/core/core12196/F_core12196_Read.tsx +165 -0
  167. package/dist/modules-features/admin/core/core12196/F_core12196_Update.tsx +112 -0
  168. package/dist/modules-features/admin/core/core16209/F_core16209.tsx +108 -0
  169. package/dist/modules-features/admin/core/core16209/F_core16209_Create.tsx +112 -0
  170. package/dist/modules-features/admin/core/core16209/F_core16209_Delete.tsx +17 -0
  171. package/dist/modules-features/admin/core/core16209/F_core16209_Update.tsx +114 -0
  172. package/dist/modules-features/admin/core/core18256/F_core18256.tsx +29 -0
  173. package/dist/modules-features/admin/core/core18256/F_core18256_Create.tsx +34 -0
  174. package/dist/modules-features/admin/core/core18256/F_core18256_Delete.tsx +14 -0
  175. package/dist/modules-features/admin/core/core18256/F_core18256_Read.tsx +59 -0
  176. package/dist/modules-features/admin/core/core18256/F_core18256_Select.tsx +40 -0
  177. package/dist/modules-features/admin/core/core18256/F_core18256_Update.tsx +22 -0
  178. package/dist/modules-features/admin/core/core26965/F_core26965.tsx +17 -0
  179. package/dist/modules-features/admin/core/core26965/F_core26965_Create.tsx +106 -0
  180. package/dist/modules-features/admin/core/core26965/F_core26965_Delete.tsx +19 -0
  181. package/dist/modules-features/admin/core/core26965/F_core26965_Read.tsx +165 -0
  182. package/dist/modules-features/admin/core/core26965/F_core26965_Update.tsx +112 -0
  183. package/dist/modules-features/admin/core/core27311/F_core27311.tsx +21 -0
  184. package/dist/modules-features/admin/core/core27311/F_core27311_Create.tsx +109 -0
  185. package/dist/modules-features/admin/core/core27311/F_core27311_Delete.tsx +19 -0
  186. package/dist/modules-features/admin/core/core27311/F_core27311_Read.tsx +165 -0
  187. package/dist/modules-features/admin/core/core27311/F_core27311_Update.tsx +113 -0
  188. package/dist/modules-features/admin/core/core35923/F_core35923.tsx +46 -0
  189. package/dist/modules-features/admin/core/core38677/F_core38677.tsx +28 -0
  190. package/dist/modules-features/admin/core/core38677/F_core38677_ReadUser.tsx +79 -0
  191. package/dist/modules-features/admin/core/core38677/F_core38677_Save.tsx +52 -0
  192. package/dist/modules-features/admin/core/core38677/F_core38677_ViewMenuPermissions.tsx +264 -0
  193. package/dist/modules-features/admin/core/core40207/F_core40207.tsx +9 -0
  194. package/dist/modules-features/admin/core/core40207/F_core40207_Create.tsx +81 -0
  195. package/dist/modules-features/admin/core/core40207/F_core40207_Delete.tsx +17 -0
  196. package/dist/modules-features/admin/core/core40207/F_core40207_Read.tsx +98 -0
  197. package/dist/modules-features/admin/core/core40207/F_core40207_Update.tsx +83 -0
  198. package/dist/modules-features/admin/core/core47643/F_core47643.tsx +10 -0
  199. package/dist/modules-features/admin/core/core47643/F_core47643_Delete.tsx +13 -0
  200. package/dist/modules-features/admin/core/core47643/F_core47643_Form.tsx +34 -0
  201. package/dist/modules-features/admin/core/core47643/F_core47643_Read.tsx +57 -0
  202. package/dist/modules-features/admin/core/core60524/F_core60524.tsx +13 -0
  203. package/dist/modules-features/admin/core/core60524/F_core60524_Form.tsx +111 -0
  204. package/dist/modules-features/admin/core/core60524/F_core60524_Save.tsx +56 -0
  205. package/dist/modules-features/admin/core/core60524/useS_core60524.ts +16 -0
  206. package/dist/modules-features/admin/core/core64229/F_core64229.tsx +7 -0
  207. package/dist/modules-features/admin/core/core64229/F_core64229_Delete.tsx +21 -0
  208. package/dist/modules-features/admin/core/core64229/F_core64229_Form.tsx +95 -0
  209. package/dist/modules-features/admin/core/core64229/F_core64229_Read.tsx +67 -0
  210. package/dist/modules-features/admin/core/core71678/F_core71678.tsx +8 -0
  211. package/dist/modules-features/admin/core/core71678/F_core71678_ChangePermission.tsx +117 -0
  212. package/dist/modules-features/admin/core/core71678/F_core71678_Create.tsx +61 -0
  213. package/dist/modules-features/admin/core/core71678/F_core71678_Delete.tsx +16 -0
  214. package/dist/modules-features/admin/core/core71678/F_core71678_Read.tsx +92 -0
  215. package/dist/modules-features/admin/core/core71678/F_core71678_Update.tsx +49 -0
  216. package/dist/modules-features/admin/core/core76318/F_core76318.tsx +9 -0
  217. package/dist/modules-features/admin/core/core76318/F_core76318_Create.tsx +89 -0
  218. package/dist/modules-features/admin/core/core76318/F_core76318_Delete.tsx +17 -0
  219. package/dist/modules-features/admin/core/core76318/F_core76318_Read.tsx +104 -0
  220. package/dist/modules-features/admin/core/core76318/F_core76318_Update.tsx +89 -0
  221. package/dist/modules-features/admin/core/core83092/F_core83092.tsx +27 -0
  222. package/dist/modules-features/admin/core/core83092/F_core83092_ReadUser.tsx +85 -0
  223. package/dist/modules-features/admin/core/core83092/F_core83092_Save.tsx +52 -0
  224. package/dist/modules-features/admin/core/core83092/F_core83092_ViewMenuPermissions.tsx +263 -0
  225. package/dist/modules-features/admin/core/core83092/useS_core83092.tsx +70 -0
  226. package/dist/modules-features/authenticate/F_authenticate_Login/F_authenticate_Login.tsx +154 -0
  227. package/dist/modules-features/authenticate/F_authenticate_Login/css.module.css +4 -0
  228. package/dist/modules-features/authenticate/F_authenticate_Logout.tsx +22 -0
  229. package/dist/modules-features/authenticate/F_authenticate_SplashPage.tsx +21 -0
  230. package/dist/modules-features/authenticate/useS_authenticate.ts +23 -0
  231. package/dist/modules-features/index.d.mts +1 -1
  232. package/dist/modules-features/index.mjs +4053 -79
  233. package/dist/modules-features/index.ts +79 -0
  234. package/dist/providers/MyMantineProvider.tsx +140 -0
  235. package/dist/providers/MyReactQueryProvider.tsx +24 -0
  236. package/dist/providers/Provider.tsx +13 -0
  237. package/dist/providers/mantine.module.css +21 -0
  238. package/dist/stores/CreateGenericStore.ts +23 -0
  239. package/dist/stores/index.mjs +7 -1
  240. package/dist/stores/index.ts +1 -0
  241. package/dist/types/types.ts +16 -0
  242. package/dist/utils/index.mjs +45 -9
  243. package/dist/utils/index.ts +9 -0
  244. package/dist/utils/utils_converter.ts +39 -0
  245. package/dist/utils/utils_currency.ts +5 -0
  246. package/dist/utils/utils_date.ts +34 -0
  247. package/dist/utils/utils_excel.ts +128 -0
  248. package/dist/utils/utils_file.ts +61 -0
  249. package/dist/utils/utils_notification.ts +46 -0
  250. package/dist/utils/utils_pdf.ts +21 -0
  251. package/dist/utils/utils_time.ts +15 -0
  252. package/dist/utils/utils_validateForm.ts +9 -0
  253. package/package.json +1 -1
@@ -0,0 +1,19 @@
1
+ import { createGenericStore } from "@/stores/CreateGenericStore";
2
+
3
+ interface I {
4
+ name?: string;
5
+ }
6
+
7
+ const useStore = createGenericStore<I>({
8
+ initialState: { name: "Đăng ký khóa học" },
9
+ storageKey: 'HeaderMegaMenuStore'
10
+ });
11
+
12
+
13
+
14
+ export function useHeaderMegaMenuStore() {
15
+ const store = useStore()
16
+ return {
17
+ ...store
18
+ }
19
+ }
@@ -0,0 +1,50 @@
1
+ .header {
2
+ position: sticky; /* Giúp header dính trên cùng */
3
+ top: 0;
4
+ z-index: 1; /* Đảm bảo header nằm trên các thành phần khác */
5
+ height: 60px;
6
+ background-color: light-dark(var(--mantine-color-white), var(--mantine-color-dark));
7
+ padding-left: var(--mantine-spacing-md);
8
+ padding-right: var(--mantine-spacing-md);
9
+ border-bottom: 1px solid light-dark(var(--mantine-color-gray-3), var(--mantine-color-dark-4));
10
+ }
11
+
12
+ .link {
13
+ display: flex;
14
+ align-items: center;
15
+ height: 100%;
16
+ padding-left: var(--mantine-spacing-md);
17
+ padding-right: var(--mantine-spacing-md);
18
+ text-decoration: none;
19
+ color: light-dark(var(--mantine-color-black), var(--mantine-color-white));
20
+ font-weight: 500;
21
+ font-size: var(--mantine-font-size-sm);
22
+
23
+ @media (max-width: $mantine-breakpoint-sm) {
24
+ height: 42px;
25
+ width: 100%;
26
+ }
27
+
28
+ @mixin hover {
29
+ background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-6));
30
+ }
31
+ }
32
+
33
+ .subLink {
34
+ width: 100%;
35
+ padding: var(--mantine-spacing-xs) var(--mantine-spacing-md);
36
+ border-radius: var(--mantine-radius-md);
37
+
38
+ @mixin hover {
39
+ background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-7));
40
+ }
41
+ }
42
+
43
+ .dropdownFooter {
44
+ background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-7));
45
+ margin: calc(var(--mantine-spacing-md) * -1);
46
+ margin-top: var(--mantine-spacing-sm);
47
+ padding: var(--mantine-spacing-md) calc(var(--mantine-spacing-md) * 2);
48
+ padding-bottom: var(--mantine-spacing-xl);
49
+ border-top: 1px solid light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-5));
50
+ }
@@ -0,0 +1,29 @@
1
+ import { ScrollArea, TypographyStylesProvider, TypographyStylesProviderProps } from "@mantine/core";
2
+ import pako from "pako";
3
+
4
+ interface HtmlWrapper extends TypographyStylesProviderProps {
5
+ html: string;
6
+ mah?: number | string;
7
+ zip?: boolean
8
+ }
9
+
10
+ export function MyHtmlWrapper({ html, mah, zip = false, ...rest }: HtmlWrapper) {
11
+ const extractHtmlFromZip = () => {
12
+ const binaryString = Buffer.from(html, "base64");
13
+ // Giải nén Gzip
14
+ const decompressedData = pako.inflate(binaryString, { to: "string" });
15
+ const cleanedHtml = decompressedData?.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
16
+ return cleanedHtml.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "")
17
+ }
18
+ return (
19
+ <ScrollArea.Autosize mah={mah}>
20
+ <TypographyStylesProvider {...rest}>
21
+ <div
22
+ dangerouslySetInnerHTML={{
23
+ __html: zip ? extractHtmlFromZip() : html
24
+ }}
25
+ />
26
+ </TypographyStylesProvider>
27
+ </ScrollArea.Autosize>
28
+ );
29
+ }
@@ -0,0 +1,67 @@
1
+ "use client";
2
+ import { MyButtonRouterBack } from "@/components/Buttons/ButtonRouterBack/MyButtonRouterBack";
3
+ import { Code, Container, Divider, Group, Indicator, Title } from "@mantine/core";
4
+ import { ReactNode } from "react";
5
+ import { useS_BasicAppShell } from "../BasicAppShell/useS_BasicAppShell";
6
+
7
+ interface IPageContent {
8
+ title?: string;
9
+ canBack?: boolean;
10
+ rightTopBar?: ReactNode;
11
+ children?: ReactNode;
12
+ leftTopBar?: ReactNode;
13
+ status?: "Prototype" | "Beta";
14
+ }
15
+
16
+ // Hàm helper để lấy màu sắc dựa trên trạng thái
17
+ const getStatusColor = (status?: string) => {
18
+ switch (status) {
19
+ case "Prototype":
20
+ return "blue";
21
+ case "Beta":
22
+ return "orange";
23
+ default:
24
+ return "gray";
25
+ }
26
+ };
27
+
28
+ // Component riêng cho tiêu đề có trạng thái
29
+ const PageTitle = ({ title, status }: { title: string; status?: string }) => {
30
+ const color = getStatusColor(status);
31
+ return (
32
+ <Indicator label={status} size={16} inline color={color} disabled={!status} pt={6}>
33
+ <Title order={4}>{title}</Title>
34
+ </Indicator>
35
+ );
36
+ };
37
+
38
+ export function MyPageContent({
39
+ leftTopBar,
40
+ title,
41
+ canBack = false,
42
+ rightTopBar,
43
+ status,
44
+ children,
45
+ }: IPageContent) {
46
+ const basicAppShellStore = useS_BasicAppShell();
47
+ const finalTitle = title || basicAppShellStore.state.title;
48
+ return (
49
+ <Container p={0} fluid>
50
+ <Group justify="space-between">
51
+ <Group>
52
+ {canBack && <MyButtonRouterBack />}
53
+ <PageTitle title={finalTitle} status={status} />
54
+ {leftTopBar}
55
+ </Group>
56
+ <Group>
57
+ {rightTopBar}
58
+ <Code color="var(--mantine-color-blue-light)">
59
+ {basicAppShellStore.state.menuCode}
60
+ </Code>
61
+ </Group>
62
+ </Group>
63
+ <Divider my={"xs"} />
64
+ {children}
65
+ </Container>
66
+ );
67
+ }
@@ -0,0 +1,33 @@
1
+ 'use client'
2
+ import { rem, Space, Tabs, TabsProps } from '@mantine/core'
3
+ import { Icon, IconProps } from '@tabler/icons-react'
4
+ import React, { ReactNode } from 'react'
5
+
6
+ interface ITab {
7
+ label: string,
8
+ icon?: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<Icon>>
9
+ }
10
+
11
+ interface IMyTab extends TabsProps {
12
+ tabList: ITab[],
13
+ children?: ReactNode
14
+ }
15
+
16
+ export function MyTab({ tabList, children, ...rest }: IMyTab) {
17
+ const iconStyle = { width: rem(20), height: rem(20) };
18
+ return (
19
+ <Tabs defaultValue={tabList[0].label} {...rest}>
20
+ <Tabs.List>
21
+ {tabList.map((item, idx) => {
22
+ return (
23
+ <Tabs.Tab key={idx} value={item.label} leftSection={item.icon && <item.icon style={iconStyle}></item.icon>}>
24
+ {item.label}
25
+ </Tabs.Tab>
26
+ )
27
+ })}
28
+ </Tabs.List>
29
+ <Space my={'md'} />
30
+ {children}
31
+ </Tabs>
32
+ )
33
+ }
@@ -0,0 +1,12 @@
1
+ import { useEffect } from "react";
2
+
3
+ export function MyCardioLoader() {
4
+ useEffect(() => {
5
+ async function getLoader() {
6
+ const { cardio } = await import("ldrs");
7
+ cardio.register();
8
+ }
9
+ getLoader();
10
+ }, []);
11
+ return <l-cardio color="var(--cyan-400)"></l-cardio>;
12
+ }
@@ -0,0 +1,61 @@
1
+ import { MyCenterFull } from "@/components/CenterFull/MyCenterFull";
2
+ import { MyDataTable } from "@/components/DataDisplay/DataTable/MyDataTable";
3
+ import { ActionIcon, Button, Fieldset, Group, MantineSize, Modal } from "@mantine/core";
4
+ import { useDisclosure, useListState } from "@mantine/hooks";
5
+ import { IconX } from "@tabler/icons-react";
6
+ import { MRT_ColumnDef, MRT_RowData, MRT_TableInstance, MRT_TableOptions } from "mantine-react-table";
7
+ import { ReactNode } from "react";
8
+
9
+ interface IDataTable<TData extends MRT_RowData> extends Omit<MRT_TableOptions<TData>, "data"> {
10
+ listLabel?: string;
11
+ columns: MRT_ColumnDef<TData>[];
12
+ data?: TData[];
13
+ renderTopToolbarCustomActions?: ((props: {
14
+ table: MRT_TableInstance<TData>;
15
+ }) => ReactNode) | undefined,
16
+ listState: ReturnType<typeof useListState<TData>>;
17
+ selectButtonlabel?: string,
18
+ modalSize?: MantineSize
19
+ }
20
+
21
+ export function MyDataTableSelect<TData extends MRT_RowData>({ modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel, ...rest }: IDataTable<TData>) {
22
+ const disc = useDisclosure(false)
23
+ if (data == undefined) return "Đang tải..."
24
+ return (
25
+ <Fieldset legend={listLabel ? listLabel : "Danh sách"}>
26
+ <MyDataTable
27
+ renderTopToolbarCustomActions={({ table }) => {
28
+ return (
29
+ <Group>
30
+ {renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table: table })}
31
+ <Button onClick={disc[1].open}>{selectButtonlabel || "Chọn từ danh sách"}</Button>
32
+ </Group>
33
+ )
34
+ }}
35
+ columns={columns}
36
+ data={listState[0] as TData[]}
37
+ renderRowActions={({ row }) => {
38
+ return (
39
+ <MyCenterFull>
40
+ <ActionIcon color="red" onClick={() => listState[1].remove(row.index)}><IconX /></ActionIcon>
41
+ </MyCenterFull>
42
+ )
43
+ }}
44
+ {...rest} />
45
+
46
+ <Modal opened={disc[0]} onClose={disc[1].close} size={modalSize || "80%"}>
47
+ <MyDataTable
48
+ renderTopToolbarCustomActions={({ table }) => {
49
+ return <Button onClick={() => {
50
+ table.getSelectedRowModel().rows.map(item => listState[1].append(item.original))
51
+ disc[1].close()
52
+ }}>Chọn</Button>
53
+ }}
54
+ enableRowSelection
55
+ data={data!}
56
+ columns={columns}
57
+ {...rest} />
58
+ </Modal>
59
+ </Fieldset>
60
+ )
61
+ }
@@ -0,0 +1,37 @@
1
+ import baseAxios from "@/api/baseAxios";
2
+ import { Select, SelectProps } from "@mantine/core";
3
+ import { useQuery } from "@tanstack/react-query";
4
+
5
+ interface ISelect extends SelectProps {
6
+ apiGet: string;
7
+ label?: string;
8
+ dataMapper?: (item: any) => { value: string; label: string }; // Hàm tùy chỉnh cách map dữ liệu
9
+ }
10
+
11
+ export function MySelectAPIGet({ apiGet, label = "", dataMapper, ...rest }: ISelect) {
12
+ const query = useQuery({
13
+ queryKey: [apiGet],
14
+ queryFn: async () => {
15
+ return (await baseAxios.get(apiGet)).data;
16
+ },
17
+ });
18
+
19
+ if (query.isLoading) return "Loading...";
20
+
21
+ const data = query.data?.map((item: any) => {
22
+ if (dataMapper) return dataMapper(item)
23
+ return {
24
+ value: item.id?.toString()!,
25
+ label: `${item.code}-${item.name}`,
26
+ }
27
+ });
28
+
29
+ return (
30
+ <Select
31
+ label={label}
32
+ placeholder={`Chọn ${label?.toLowerCase()}`}
33
+ data={data}
34
+ {...rest}
35
+ />
36
+ );
37
+ }
@@ -0,0 +1,58 @@
1
+ 'use client'
2
+ // import '@schedule-x/theme-default/dist/index.css'
3
+ import { useNextCalendarApp, ScheduleXCalendar } from '@schedule-x/react'
4
+ import {
5
+ CalendarEventExternal,
6
+ createViewDay,
7
+ createViewMonthAgenda,
8
+ createViewMonthGrid,
9
+ createViewWeek,
10
+ } from '@schedule-x/calendar'
11
+ import { createEventsServicePlugin } from '@schedule-x/events-service'
12
+ import { useState } from "react";
13
+ import { createEventModalPlugin } from '@schedule-x/event-modal'
14
+
15
+ interface MyScheduleXProps<T extends CalendarEventExternal> {
16
+ values?: T[]
17
+ timeGridEvent?: (props: { calendarEvent: T }) => React.ReactNode
18
+ eventModal?: (props: { calendarEvent: T }) => React.ReactNode,
19
+ nDays?: number,
20
+ startDayBoundaries?: string,
21
+ endDayBoundaries?: string
22
+ }
23
+
24
+ export function MyScheduleX<T extends CalendarEventExternal>({
25
+ values,
26
+ timeGridEvent,
27
+ eventModal,
28
+ nDays,
29
+ startDayBoundaries = "05:00",
30
+ endDayBoundaries = "21:00"
31
+ }: MyScheduleXProps<T>) {
32
+ const eventsService = useState(() => createEventsServicePlugin())[0]
33
+ const eventModalPlugin = useState(() => createEventModalPlugin())[0]
34
+ const calendar = useNextCalendarApp({
35
+ locale: "vi-VN",
36
+ dayBoundaries: {
37
+ start: startDayBoundaries,
38
+ end: endDayBoundaries,
39
+ },
40
+ weekOptions: {
41
+ nDays: nDays,
42
+ gridHeight: 700
43
+ },
44
+ views: [createViewDay(), createViewWeek(), createViewMonthGrid(), createViewMonthAgenda()],
45
+ events: values,
46
+ plugins: [eventsService, eventModalPlugin],
47
+ })
48
+
49
+ return (
50
+ <ScheduleXCalendar
51
+ calendarApp={calendar}
52
+ customComponents={{
53
+ timeGridEvent: timeGridEvent,
54
+ eventModal: eventModal
55
+ }}
56
+ />
57
+ )
58
+ }
@@ -0,0 +1,9 @@
1
+ import { Skeleton, SkeletonProps } from '@mantine/core'
2
+
3
+ interface IMySkeletonTable extends SkeletonProps { }
4
+
5
+ export function MySkeletonTable({ h = 500 }: IMySkeletonTable) {
6
+ return (
7
+ <Skeleton h={h} />
8
+ )
9
+ }
@@ -1,62 +1,143 @@
1
- export * from "./Aceternity/BoxesBackground/MyBoxes";
2
- export * from "./Aceternity/BoxesBackground/MyBoxesBackground";
3
- export * from "./ActionIcons/ActionIcon/MyActionIcon";
4
- export * from "./ActionIcons/ActionIconCheck/MyActionIconCheck";
5
- export * from "./ActionIcons/ActionIconCRUD/MyActionIconDelete";
6
- export * from "./ActionIcons/ActionIconCRUD/MyActionIconUpdate";
7
- export * from "./ActionIcons/ActionIconDownloadPDF/MyActionIconDownloadPDF";
8
- export * from "./ActionIcons/ActionIconModal/MyActionIconModal";
9
- export * from "./ActionIcons/ActionIconUpload/MyActionIconUpload";
10
- export * from "./ActionIcons/ActionIconViewPdf/MyActionIconViewPDF";
11
- export * from "./ActionIcons/SwitchTheme/MySwitchTheme";
12
- export * from "./AppSpotlight/MyAppSpotlight";
13
- export * from "./Buttons/Anchor/MyAnchorViewPDF";
14
- export * from "./Buttons/Button/MyButton";
15
- export * from "./Buttons/ButtonCRUD/AQButtonCreateByImportFile";
16
- export * from "./Buttons/ButtonCRUD/AQButtonExportData";
17
- export * from "./Buttons/ButtonCRUD/MyButtonCreate";
18
- export * from "./Buttons/ButtonImport/MyButtonImport";
19
- export * from "./Buttons/ButtonImport/SelectFieldModal";
20
- export * from "./Buttons/ButtonImport/SelectFileModal";
21
- export * from "./Buttons/ButtonImport/useS_ButtonImport";
22
- export * from "./Buttons/ButtonModal/AQSelectTableByOpenModal";
23
- export * from "./Buttons/ButtonModal/MyButtonModal";
24
- export * from "./Buttons/ButtonPrintPDF/MyButtonPrintPDF";
25
- export * from "./Buttons/ButtonPrintPDFTable/MyButtonPrintTablePDF";
26
- export * from "./Buttons/ButtonRouterBack/MyButtonRouterBack";
27
- export * from "./Buttons/ButtonViewPDF/MyButtonViewPDF";
28
- export * from "./Calendar/MyCalendar";
29
- export * from "./CenterFull/MyCenterFull";
30
- export * from "./Checkbox/MyCheckbox";
31
- export * from "./Combobox/Select/MySelect";
32
- export * from "./DataDisplay/Card/AQCard";
33
- export * from "./DataDisplay/CardInformation/MyCardInformation";
34
- export * from "./DataDisplay/DataTable/MyDataTable";
35
- export * from "./DataDisplay/IconText/MyIconText";
36
- export * from "./DataDisplay/KeyLabel/MyKeyLabel";
37
- export * from "./DataDisplay/NumberFormatter/MyNumberFormatter";
38
- export * from "./DataDisplay/StatCard/AQStatCard1";
39
- export * from "./FaviconSetter/FaviconSetter";
40
- export * from "./Inputs/DateInput/MyDateInput";
41
- export * from "./Inputs/Fieldset/MyFieldset";
42
- export * from "./Inputs/FileInput/MyFileInput";
43
- export * from "./Inputs/NumberInput/MyNumberInput";
44
- export * from "./Inputs/TextArea/MyTextArea";
45
- export * from "./Inputs/TextEditor/MyTextEditor";
46
- export * from "./Inputs/TextInput/MyTextInput";
47
- export * from "./Layouts/BasicAppShell/BasicAppShell";
48
- export * from "./Layouts/BasicAppShell/useS_BasicAppShell";
49
- export * from "./Layouts/Container/MyContainer";
50
- export * from "./Layouts/FlexColumn/MyFlexColumn";
51
- export * from "./Layouts/FlexEnd/MyFlexEnd";
52
- export * from "./Layouts/FlexRow/MyFlexRow";
53
- export * from "./Layouts/HeaderMegaMenu/HeaderMegaMenu";
54
- export * from "./Layouts/HeaderMegaMenu/HeaderMegaMenuStore";
55
- export * from "./Layouts/HtmlWrapper/MyHtmlWrapper";
56
- export * from "./Layouts/PageContent/MyPageContent";
57
- export * from "./Layouts/Tab/MyTab";
58
- export * from "./Loaders/MyCardioLoader";
59
- export * from "./RESTAPIComponents/DataTableSelect/MyDataTableSelect";
60
- export * from "./RESTAPIComponents/SelectAPIGet/MySelectAPIGet";
61
- export * from "./ScheduleX/MyScheduleX";
62
- export * from "./Skeletons/SkeletonTable/MySkeletonTable";
1
+ import {
2
+ AQButtonCreateByImportFile,
3
+ AQButtonExportData,
4
+ AQCard,
5
+ AQSelectTableByOpenModal,
6
+ AQStatCard1,
7
+ BasicAppShell,
8
+ BasicAppShell_transformMenuToEnum,
9
+ Boxes,
10
+ FaviconSetter,
11
+ HeaderMegaMenu,
12
+ MyActionIcon,
13
+ MyActionIconCheck,
14
+ MyActionIconDelete,
15
+ MyActionIconDownloadPDF,
16
+ MyActionIconModal,
17
+ MyActionIconUpdate,
18
+ MyActionIconUpload,
19
+ MyActionIconViewPDF,
20
+ MyAnchorViewPDF,
21
+ MyAppSpotlight,
22
+ MyBoxesBackground,
23
+ MyBoxesCore,
24
+ MyButton,
25
+ MyButtonCreate,
26
+ MyButtonImport,
27
+ MyButtonModal,
28
+ MyButtonPrintPDF,
29
+ MyButtonPrintTablePDF,
30
+ MyButtonRouterBack,
31
+ MyButtonViewPDF,
32
+ MyCalendar,
33
+ MyCardInformation,
34
+ MyCardioLoader,
35
+ MyCenterFull,
36
+ MyCheckbox,
37
+ MyContainer,
38
+ MyDataTable,
39
+ MyDataTableSelect,
40
+ MyDateInput,
41
+ MyFieldset,
42
+ MyFileInput,
43
+ MyFlexColumn,
44
+ MyFlexEnd,
45
+ MyFlexRow,
46
+ MyHtmlWrapper,
47
+ MyIconText,
48
+ MyKeyLabel,
49
+ MyNumberFormatter,
50
+ MyNumberInput,
51
+ MyPageContent,
52
+ MyScheduleX,
53
+ MySelect,
54
+ MySelectAPIGet,
55
+ MySkeletonTable,
56
+ MySwitchTheme,
57
+ MyTab,
58
+ MyTextArea,
59
+ MyTextEditor,
60
+ MyTextInput,
61
+ SelectFieldModal,
62
+ SelectFileModal,
63
+ SpotlightTrigger,
64
+ groupToTwoLevels,
65
+ useHeaderMegaMenuStore,
66
+ useS_BasicAppShell,
67
+ useS_ButtonImport,
68
+ utils_layout_getItemsWithoutLinks
69
+ } from "../chunk-JLT4BL7I.mjs";
70
+ import "../chunk-Z6OQG54Q.mjs";
71
+ import "../chunk-Y3YGC5IH.mjs";
72
+ import "../chunk-5U2JSHSJ.mjs";
73
+ import "../chunk-7ZCOFATU.mjs";
74
+ import "../chunk-FWCSY2DS.mjs";
75
+ export {
76
+ AQButtonCreateByImportFile,
77
+ AQButtonExportData,
78
+ AQCard,
79
+ AQSelectTableByOpenModal,
80
+ AQStatCard1,
81
+ BasicAppShell,
82
+ BasicAppShell_transformMenuToEnum,
83
+ Boxes,
84
+ FaviconSetter,
85
+ HeaderMegaMenu,
86
+ MyActionIcon,
87
+ MyActionIconCheck,
88
+ MyActionIconDelete,
89
+ MyActionIconDownloadPDF,
90
+ MyActionIconModal,
91
+ MyActionIconUpdate,
92
+ MyActionIconUpload,
93
+ MyActionIconViewPDF,
94
+ MyAnchorViewPDF,
95
+ MyAppSpotlight,
96
+ MyBoxesBackground,
97
+ MyBoxesCore,
98
+ MyButton,
99
+ MyButtonCreate,
100
+ MyButtonImport,
101
+ MyButtonModal,
102
+ MyButtonPrintPDF,
103
+ MyButtonPrintTablePDF,
104
+ MyButtonRouterBack,
105
+ MyButtonViewPDF,
106
+ MyCalendar,
107
+ MyCardInformation,
108
+ MyCardioLoader,
109
+ MyCenterFull,
110
+ MyCheckbox,
111
+ MyContainer,
112
+ MyDataTable,
113
+ MyDataTableSelect,
114
+ MyDateInput,
115
+ MyFieldset,
116
+ MyFileInput,
117
+ MyFlexColumn,
118
+ MyFlexEnd,
119
+ MyFlexRow,
120
+ MyHtmlWrapper,
121
+ MyIconText,
122
+ MyKeyLabel,
123
+ MyNumberFormatter,
124
+ MyNumberInput,
125
+ MyPageContent,
126
+ MyScheduleX,
127
+ MySelect,
128
+ MySelectAPIGet,
129
+ MySkeletonTable,
130
+ MySwitchTheme,
131
+ MyTab,
132
+ MyTextArea,
133
+ MyTextEditor,
134
+ MyTextInput,
135
+ SelectFieldModal,
136
+ SelectFileModal,
137
+ SpotlightTrigger,
138
+ groupToTwoLevels,
139
+ useHeaderMegaMenuStore,
140
+ useS_BasicAppShell,
141
+ useS_ButtonImport,
142
+ utils_layout_getItemsWithoutLinks
143
+ };
@@ -0,0 +1,62 @@
1
+ export * from './Aceternity/BoxesBackground/MyBoxes';
2
+ export * from './Aceternity/BoxesBackground/MyBoxesBackground';
3
+ export * from './ActionIcons/ActionIcon/MyActionIcon';
4
+ export * from './ActionIcons/ActionIconCheck/MyActionIconCheck';
5
+ export * from './ActionIcons/ActionIconCRUD/MyActionIconDelete';
6
+ export * from './ActionIcons/ActionIconCRUD/MyActionIconUpdate';
7
+ export * from './ActionIcons/ActionIconDownloadPDF/MyActionIconDownloadPDF';
8
+ export * from './ActionIcons/ActionIconModal/MyActionIconModal';
9
+ export * from './ActionIcons/ActionIconUpload/MyActionIconUpload';
10
+ export * from './ActionIcons/ActionIconViewPdf/MyActionIconViewPDF';
11
+ export * from './ActionIcons/SwitchTheme/MySwitchTheme';
12
+ export * from './AppSpotlight/MyAppSpotlight';
13
+ export * from './Buttons/Anchor/MyAnchorViewPDF';
14
+ export * from './Buttons/Button/MyButton';
15
+ export * from './Buttons/ButtonCRUD/AQButtonCreateByImportFile';
16
+ export * from './Buttons/ButtonCRUD/AQButtonExportData';
17
+ export * from './Buttons/ButtonCRUD/MyButtonCreate';
18
+ export * from './Buttons/ButtonImport/MyButtonImport';
19
+ export * from './Buttons/ButtonImport/SelectFieldModal';
20
+ export * from './Buttons/ButtonImport/SelectFileModal';
21
+ export * from './Buttons/ButtonImport/useS_ButtonImport';
22
+ export * from './Buttons/ButtonModal/AQSelectTableByOpenModal';
23
+ export * from './Buttons/ButtonModal/MyButtonModal';
24
+ export * from './Buttons/ButtonPrintPDF/MyButtonPrintPDF';
25
+ export * from './Buttons/ButtonPrintPDFTable/MyButtonPrintTablePDF';
26
+ export * from './Buttons/ButtonRouterBack/MyButtonRouterBack';
27
+ export * from './Buttons/ButtonViewPDF/MyButtonViewPDF';
28
+ export * from './Calendar/MyCalendar';
29
+ export * from './CenterFull/MyCenterFull';
30
+ export * from './Checkbox/MyCheckbox';
31
+ export * from './Combobox/Select/MySelect';
32
+ export * from './DataDisplay/Card/AQCard';
33
+ export * from './DataDisplay/CardInformation/MyCardInformation';
34
+ export * from './DataDisplay/DataTable/MyDataTable';
35
+ export * from './DataDisplay/IconText/MyIconText';
36
+ export * from './DataDisplay/KeyLabel/MyKeyLabel';
37
+ export * from './DataDisplay/NumberFormatter/MyNumberFormatter';
38
+ export * from './DataDisplay/StatCard/AQStatCard1';
39
+ export * from './FaviconSetter/FaviconSetter';
40
+ export * from './Inputs/DateInput/MyDateInput';
41
+ export * from './Inputs/Fieldset/MyFieldset';
42
+ export * from './Inputs/FileInput/MyFileInput';
43
+ export * from './Inputs/NumberInput/MyNumberInput';
44
+ export * from './Inputs/TextArea/MyTextArea';
45
+ export * from './Inputs/TextEditor/MyTextEditor';
46
+ export * from './Inputs/TextInput/MyTextInput';
47
+ export * from './Layouts/BasicAppShell/BasicAppShell';
48
+ export * from './Layouts/BasicAppShell/useS_BasicAppShell';
49
+ export * from './Layouts/Container/MyContainer';
50
+ export * from './Layouts/FlexColumn/MyFlexColumn';
51
+ export * from './Layouts/FlexEnd/MyFlexEnd';
52
+ export * from './Layouts/FlexRow/MyFlexRow';
53
+ export * from './Layouts/HeaderMegaMenu/HeaderMegaMenu';
54
+ export * from './Layouts/HeaderMegaMenu/HeaderMegaMenuStore';
55
+ export * from './Layouts/HtmlWrapper/MyHtmlWrapper';
56
+ export * from './Layouts/PageContent/MyPageContent';
57
+ export * from './Layouts/Tab/MyTab';
58
+ export * from './Loaders/MyCardioLoader';
59
+ export * from './RESTAPIComponents/DataTableSelect/MyDataTableSelect';
60
+ export * from './RESTAPIComponents/SelectAPIGet/MySelectAPIGet';
61
+ export * from './ScheduleX/MyScheduleX';
62
+ export * from './Skeletons/SkeletonTable/MySkeletonTable';
@@ -0,0 +1,9 @@
1
+ export const ARRAY_DAYS_OF_WEEK = [
2
+ "Thứ Hai",
3
+ "Thứ Ba",
4
+ "Thứ Tư",
5
+ "Thứ Năm",
6
+ "Thứ Sáu",
7
+ "Thứ Bảy",
8
+ "Chủ Nhật"
9
+ ]
@@ -0,0 +1,6 @@
1
+ export enum ENUM_EMAILCONFIG_MODULE {
2
+ "Đào tạo" = 1,
3
+ "Tuyển sinh" = 2,
4
+ "Sinh viên" = 3,
5
+ "Khảo thí" = 4
6
+ }