aq-fe-framework 0.1.1079 → 0.1.1081

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.
@@ -1,5 +1,12 @@
1
1
  import {
2
- createGenericStore as createGenericStore2,
2
+ utils_date,
3
+ utils_excel,
4
+ utils_file,
5
+ utils_mantineReactTable,
6
+ utils_text
7
+ } from "./chunk-7ZI7IOEP.mjs";
8
+ import {
9
+ createGenericStore,
3
10
  useAppStore,
4
11
  useStore_Permission,
5
12
  useStore_ProjectInfo
@@ -18,20 +25,13 @@ import {
18
25
  utils_notification_show,
19
26
  utils_pdf_download
20
27
  } from "./chunk-KGBXMHKR.mjs";
21
- import {
22
- utils_date,
23
- utils_excel,
24
- utils_file,
25
- utils_mantineReactTable,
26
- utils_text
27
- } from "./chunk-7ZI7IOEP.mjs";
28
- import {
29
- createGenericStore
30
- } from "./chunk-BTITP4TN.mjs";
31
28
  import {
32
29
  const_object_colors,
33
30
  const_object_documentTypes
34
- } from "./chunk-OHAOJE5F.mjs";
31
+ } from "./chunk-C74M5VPE.mjs";
32
+ import {
33
+ createGenericStore as createGenericStore2
34
+ } from "./chunk-BTITP4TN.mjs";
35
35
  import {
36
36
  enumLabel_gender,
37
37
  enum_daysOfWeek
@@ -1881,7 +1881,7 @@ import { IconArrowBackUp, IconArrowBigLeft, IconArrowBigRight, IconSquareRounded
1881
1881
  // src/components/Button/ButtonImport/useS_ButtonImport.ts
1882
1882
  import { useEffect as useEffect5, useMemo as useMemo2 } from "react";
1883
1883
  import * as XLSX2 from "xlsx";
1884
- var useStore = createGenericStore({
1884
+ var useStore = createGenericStore2({
1885
1885
  initialState: {
1886
1886
  data: [],
1887
1887
  title: [],
@@ -7825,7 +7825,7 @@ function AQStatCard2({
7825
7825
  import { useEffect as useEffect9 } from "react";
7826
7826
 
7827
7827
  // src/components/Layouts/BasicAppShell/useStore_BasicAppShell.ts
7828
- var useStore2 = createGenericStore({
7828
+ var useStore2 = createGenericStore2({
7829
7829
  initialState: {
7830
7830
  menuCode: "",
7831
7831
  moduleCode: "Module code",
@@ -8223,7 +8223,7 @@ import {
8223
8223
  IconLibraryMinus
8224
8224
  } from "@tabler/icons-react";
8225
8225
  import { usePathname as usePathname3 } from "next/navigation.js";
8226
- import { useEffect as useEffect39, useMemo as useMemo32, useState as useState30 } from "react";
8226
+ import { useEffect as useEffect39, useMemo as useMemo33, useState as useState30 } from "react";
8227
8227
 
8228
8228
  // src/components/Layouts/BasicAppShell/RenderNavLinks.tsx
8229
8229
  import { Badge as Badge3, NavLink, Text as Text15 } from "@mantine/core";
@@ -10278,7 +10278,7 @@ import { IconSearch as IconSearch4 } from "@tabler/icons-react";
10278
10278
  import { useEffect as useEffect20, useMemo as useMemo9, useState as useState18 } from "react";
10279
10279
 
10280
10280
  // src/modules-features/admin/core/accountManagement/useStore_AccountManagement.ts
10281
- var useStore3 = createGenericStore2({
10281
+ var useStore3 = createGenericStore({
10282
10282
  initialState: {}
10283
10283
  });
10284
10284
  function useStore_AccountManagement() {
@@ -13890,32 +13890,8 @@ function F_formTemplateDocs({
13890
13890
  ] });
13891
13891
  }
13892
13892
 
13893
- // src/modules-features/admin/core/lecturerList/LecturerListDelete.tsx
13894
- import { jsx as jsx151 } from "react/jsx-runtime";
13895
- function LecturerListDelete({ id, code }) {
13896
- return /* @__PURE__ */ jsx151(MyActionIconDelete, { contextData: code, onSubmit: () => service_account.delete(id) });
13897
- }
13898
-
13899
- // src/modules-features/admin/core/lecturerList/LecturerListDeleteList.tsx
13900
- import { jsx as jsx152 } from "react/jsx-runtime";
13901
- function LecturerListDeleteList({ table }) {
13902
- const selectedRow = table.getSelectedRowModel().rows.map((item) => item.original);
13903
- return /* @__PURE__ */ jsx152(
13904
- MyButtonDeleteList,
13905
- {
13906
- count: selectedRow.length,
13907
- onSubmit: () => {
13908
- return service_account.deleteListIds(selectedRow.map((item) => item.id));
13909
- },
13910
- onSuccess: () => {
13911
- table.resetRowSelection();
13912
- }
13913
- }
13914
- );
13915
- }
13916
-
13917
13893
  // src/modules-features/admin/core/lecturerList/LecturerListExport.tsx
13918
- import { jsx as jsx153 } from "react/jsx-runtime";
13894
+ import { jsx as jsx151 } from "react/jsx-runtime";
13919
13895
  var exportConfig3 = {
13920
13896
  fields: [
13921
13897
  {
@@ -13977,7 +13953,7 @@ var exportConfig3 = {
13977
13953
  };
13978
13954
  function LecturerListExport({ table }) {
13979
13955
  const { data } = useExportData(table);
13980
- return /* @__PURE__ */ jsx153(AQButtonExportData, { objectName: "Danh s\xE1ch vi\xEAn ch\u1EE9c", data, exportConfig: exportConfig3 });
13956
+ return /* @__PURE__ */ jsx151(AQButtonExportData, { objectName: "Danh s\xE1ch vi\xEAn ch\u1EE9c", data, exportConfig: exportConfig3 });
13981
13957
  }
13982
13958
 
13983
13959
  // src/modules-features/admin/core/lecturerList/LecturerListSyncFromEdusoft.tsx
@@ -13985,7 +13961,7 @@ import { Button as Button19, Modal as Modal16, Stack as Stack8 } from "@mantine/
13985
13961
  import { useDisclosure as useDisclosure15 } from "@mantine/hooks";
13986
13962
  import { IconRefresh as IconRefresh4 } from "@tabler/icons-react";
13987
13963
  import { useState as useState23 } from "react";
13988
- import { Fragment as Fragment24, jsx as jsx154, jsxs as jsxs89 } from "react/jsx-runtime";
13964
+ import { Fragment as Fragment24, jsx as jsx152, jsxs as jsxs89 } from "react/jsx-runtime";
13989
13965
  function LecturerListSyncFromEdusoft() {
13990
13966
  const disc = useDisclosure15();
13991
13967
  const notificationState = useState23("");
@@ -13999,10 +13975,10 @@ function LecturerListSyncFromEdusoft() {
13999
13975
  }
14000
13976
  });
14001
13977
  return /* @__PURE__ */ jsxs89(Fragment24, { children: [
14002
- /* @__PURE__ */ jsx154(Button19, { loading: mutation.isPending, color: "green", leftSection: /* @__PURE__ */ jsx154(IconRefresh4, {}), onClick: () => mutation.mutate(), children: "\u0110\u1ED3ng b\u1ED9 t\u1EEB EduSoft.NET" }),
14003
- /* @__PURE__ */ jsx154(Modal16, { onClose: disc[1].close, opened: disc[0], title: "Th\xF4ng b\xE1o \u0111\u1ED3ng b\u1ED9", children: /* @__PURE__ */ jsxs89(Stack8, { children: [
13978
+ /* @__PURE__ */ jsx152(Button19, { loading: mutation.isPending, color: "green", leftSection: /* @__PURE__ */ jsx152(IconRefresh4, {}), onClick: () => mutation.mutate(), children: "\u0110\u1ED3ng b\u1ED9 t\u1EEB EduSoft.NET" }),
13979
+ /* @__PURE__ */ jsx152(Modal16, { onClose: disc[1].close, opened: disc[0], title: "Th\xF4ng b\xE1o \u0111\u1ED3ng b\u1ED9", children: /* @__PURE__ */ jsxs89(Stack8, { children: [
14004
13980
  notificationState[0],
14005
- /* @__PURE__ */ jsx154(
13981
+ /* @__PURE__ */ jsx152(
14006
13982
  Button19,
14007
13983
  {
14008
13984
  onClick: () => {
@@ -14018,26 +13994,26 @@ function LecturerListSyncFromEdusoft() {
14018
13994
  // src/core/dataDisplay/CustomThemeIconSquareCheck.tsx
14019
13995
  import { ThemeIcon } from "@mantine/core";
14020
13996
  import { IconSquare, IconSquareCheck } from "@tabler/icons-react";
14021
- import { jsx as jsx155 } from "react/jsx-runtime";
13997
+ import { jsx as jsx153 } from "react/jsx-runtime";
14022
13998
  function CustomThemeIconSquareCheck({ checked }) {
14023
13999
  const styles = {
14024
14000
  width: "90%",
14025
14001
  height: "90%"
14026
14002
  };
14027
- if (checked) return /* @__PURE__ */ jsx155(
14003
+ if (checked) return /* @__PURE__ */ jsx153(
14028
14004
  ThemeIcon,
14029
14005
  {
14030
14006
  variant: "light",
14031
14007
  color: "green",
14032
- children: /* @__PURE__ */ jsx155(IconSquareCheck, { style: styles })
14008
+ children: /* @__PURE__ */ jsx153(IconSquareCheck, { style: styles })
14033
14009
  }
14034
14010
  );
14035
- return /* @__PURE__ */ jsx155(
14011
+ return /* @__PURE__ */ jsx153(
14036
14012
  ThemeIcon,
14037
14013
  {
14038
14014
  variant: "light",
14039
14015
  color: "gray",
14040
- children: /* @__PURE__ */ jsx155(
14016
+ children: /* @__PURE__ */ jsx153(
14041
14017
  IconSquare,
14042
14018
  {
14043
14019
  style: styles
@@ -14049,20 +14025,18 @@ function CustomThemeIconSquareCheck({ checked }) {
14049
14025
 
14050
14026
  // src/modules-features/admin/core/lecturerList/LecturerListTable.tsx
14051
14027
  import { Group as Group26 } from "@mantine/core";
14052
- import { jsx as jsx156, jsxs as jsxs90 } from "react/jsx-runtime";
14028
+ import { useMemo as useMemo23 } from "react";
14029
+ import { jsx as jsx154, jsxs as jsxs90 } from "react/jsx-runtime";
14053
14030
  function LecturerListTable() {
14054
- const lecturerQuery = useMyReactQuery({
14055
- queryKey: ["lecturers"],
14056
- axiosFn: () => service_account.getEdusoftNetAccount()
14057
- });
14058
- const columns = [
14031
+ const columns = useMemo23(() => [
14059
14032
  {
14060
14033
  header: "M\xE3 vi\xEAn ch\u1EE9c",
14061
14034
  accessorKey: "code"
14062
14035
  },
14063
14036
  {
14064
- header: "H\u1ECD t\xEAn",
14065
- accessorKey: "fullName"
14037
+ header: "H\u1ECD l\xF3t",
14038
+ accessorKey: "lastName",
14039
+ accessorFn: (row) => utils_text.splitFullName(row.fullName || "").lastName
14066
14040
  },
14067
14041
  {
14068
14042
  header: "T\xEAn",
@@ -14070,9 +14044,9 @@ function LecturerListTable() {
14070
14044
  accessorFn: (row) => utils_text.splitFullName(row.fullName || "").firstName
14071
14045
  },
14072
14046
  {
14073
- header: "H\u1ECD l\xF3t",
14074
- accessorKey: "lastName",
14075
- accessorFn: (row) => utils_text.splitFullName(row.fullName || "").lastName
14047
+ header: "Gi\u1EDBi t\xEDnh",
14048
+ accessorKey: "gender",
14049
+ accessorFn: (row) => enumLabel_gender[row.gender]
14076
14050
  },
14077
14051
  {
14078
14052
  header: "Ng\xE0y sinh",
@@ -14080,17 +14054,8 @@ function LecturerListTable() {
14080
14054
  accessorFn: (row) => utils_date.toDDMMYYYY(row.dateOfBirth)
14081
14055
  },
14082
14056
  {
14083
- header: "Gi\u1EDBi t\xEDnh",
14084
- accessorKey: "gender",
14085
- accessorFn: (row) => enumLabel_gender[row.gender]
14086
- },
14087
- {
14088
- header: "\u0110\u01A1n v\u1ECB",
14089
- accessorKey: "workingUnitName",
14090
- accessorFn: (row) => {
14091
- var _a;
14092
- return (_a = row.workingUnit) == null ? void 0 : _a.name;
14093
- }
14057
+ header: "S\u1ED1 \u0111i\u1EC7n tho\u1EA1i",
14058
+ accessorKey: "phoneNumber"
14094
14059
  },
14095
14060
  {
14096
14061
  header: "Ch\u1EE9c v\u1EE5",
@@ -14100,34 +14065,35 @@ function LecturerListTable() {
14100
14065
  header: "Email",
14101
14066
  accessorKey: "email"
14102
14067
  },
14103
- {
14104
- header: "S\u1ED1 \u0111i\u1EC7n tho\u1EA1i",
14105
- accessorKey: "phoneNumber"
14106
- },
14107
14068
  {
14108
14069
  header: "Tr\xECnh \u0111\u1ED9",
14109
14070
  accessorKey: "educationLevel"
14110
14071
  },
14072
+ {
14073
+ header: "\u0110\u01A1n v\u1ECB",
14074
+ accessorKey: "workingUnit.name"
14075
+ },
14111
14076
  {
14112
14077
  header: "Vi\xEAn ch\u1EE9c ngo\xE0i tr\u01B0\u1EDDng",
14113
14078
  accessorKey: "isExternal",
14114
- accessorFn: (row) => /* @__PURE__ */ jsx156(CustomThemeIconSquareCheck, { checked: row.isExternal })
14079
+ accessorFn: (row) => /* @__PURE__ */ jsx154(CustomThemeIconSquareCheck, { checked: row.isExternal })
14115
14080
  }
14116
- ];
14117
- return /* @__PURE__ */ jsx156(
14118
- MyDataTable,
14081
+ ], []);
14082
+ return /* @__PURE__ */ jsx154(
14083
+ CustomDataTableAPI,
14119
14084
  {
14085
+ reactQueryProps: {
14086
+ queryKey: ["lecturers"],
14087
+ axiosFn: service_account.getEdusoftNetAccount
14088
+ },
14120
14089
  enableRowSelection: true,
14121
14090
  renderTopToolbarCustomActions: ({ table }) => /* @__PURE__ */ jsxs90(Group26, { children: [
14122
- /* @__PURE__ */ jsx156(LecturerListExport, { table }),
14123
- /* @__PURE__ */ jsx156(LecturerListDeleteList, { table }),
14124
- /* @__PURE__ */ jsx156(LecturerListSyncFromEdusoft, {})
14091
+ /* @__PURE__ */ jsx154(LecturerListSyncFromEdusoft, {}),
14092
+ /* @__PURE__ */ jsx154(LecturerListExport, { table })
14125
14093
  ] }),
14126
14094
  columns,
14127
- data: lecturerQuery.data || [],
14128
- isLoading: lecturerQuery.isLoading,
14129
- isError: lecturerQuery.isError,
14130
- renderRowActions: ({ row }) => /* @__PURE__ */ jsx156(LecturerListDelete, { code: row.original.code || "", id: row.original.id })
14095
+ deleteListFn: service_account.deleteListIds,
14096
+ deleteFn: service_account.delete
14131
14097
  }
14132
14098
  );
14133
14099
  }
@@ -14138,13 +14104,13 @@ var service_emailConfig = __spreadValues({}, createBaseApi(CONTROLLER10, baseAxi
14138
14104
 
14139
14105
  // src/modules-features/admin/core/mailConfig/F_mailConfig_Read.tsx
14140
14106
  import { Center as Center9 } from "@mantine/core";
14141
- import { useMemo as useMemo23 } from "react";
14107
+ import { useMemo as useMemo24 } from "react";
14142
14108
 
14143
14109
  // src/modules-features/admin/core/mailConfig/F_mailConfig_CreateUpdate.tsx
14144
14110
  import { PasswordInput as PasswordInput2, Stack as Stack9 } from "@mantine/core";
14145
14111
  import { useForm as useForm27 } from "@mantine/form";
14146
14112
  import { useEffect as useEffect27 } from "react";
14147
- import { jsx as jsx157, jsxs as jsxs91 } from "react/jsx-runtime";
14113
+ import { jsx as jsx155, jsxs as jsxs91 } from "react/jsx-runtime";
14148
14114
  function F_mailConfig_CreateUpdate({ values, emailModule }) {
14149
14115
  function getEmailModuleLabelByValue(emailModuleOptions, value) {
14150
14116
  const selectedOption = emailModuleOptions.find((option) => {
@@ -14195,27 +14161,27 @@ function F_mailConfig_CreateUpdate({ values, emailModule }) {
14195
14161
  "password": formValues.password
14196
14162
  });
14197
14163
  }
14198
- if (values) return /* @__PURE__ */ jsx157(
14164
+ if (values) return /* @__PURE__ */ jsx155(
14199
14165
  MyActionIconUpdate,
14200
14166
  {
14201
14167
  form,
14202
14168
  onSubmit: handleSubmit,
14203
- children: /* @__PURE__ */ jsx157(FormInput, { isUpdate: true, form, aqModuleId: emailModule })
14169
+ children: /* @__PURE__ */ jsx155(FormInput, { isUpdate: true, form, aqModuleId: emailModule })
14204
14170
  }
14205
14171
  );
14206
- return /* @__PURE__ */ jsx157(
14172
+ return /* @__PURE__ */ jsx155(
14207
14173
  MyButtonCreate,
14208
14174
  {
14209
14175
  form,
14210
14176
  onSubmit: handleSubmit,
14211
- children: /* @__PURE__ */ jsx157(FormInput, { form, aqModuleId: emailModule })
14177
+ children: /* @__PURE__ */ jsx155(FormInput, { form, aqModuleId: emailModule })
14212
14178
  }
14213
14179
  );
14214
14180
  }
14215
14181
  function FormInput({ form, aqModuleId, isUpdate }) {
14216
14182
  var _a, _b;
14217
14183
  return /* @__PURE__ */ jsxs91(Stack9, { children: [
14218
- /* @__PURE__ */ jsx157(
14184
+ /* @__PURE__ */ jsx155(
14219
14185
  MySelect2,
14220
14186
  __spreadValues({
14221
14187
  label: "Ph\xE2n h\u1EC7",
@@ -14223,14 +14189,14 @@ function FormInput({ form, aqModuleId, isUpdate }) {
14223
14189
  value: (_a = form.getValues().aqModuleId) == null ? void 0 : _a.toString()
14224
14190
  }, form.getInputProps("aqModuleId"))
14225
14191
  ),
14226
- /* @__PURE__ */ jsx157(
14192
+ /* @__PURE__ */ jsx155(
14227
14193
  MyTextInput2,
14228
14194
  __spreadValues({
14229
14195
  withAsterisk: true,
14230
14196
  label: "Host mail server"
14231
14197
  }, form.getInputProps("hostMailServer"))
14232
14198
  ),
14233
- /* @__PURE__ */ jsx157(
14199
+ /* @__PURE__ */ jsx155(
14234
14200
  CustomNumberInput,
14235
14201
  __spreadValues({
14236
14202
  withAsterisk: true,
@@ -14238,7 +14204,7 @@ function FormInput({ form, aqModuleId, isUpdate }) {
14238
14204
  label: "Outgoing port"
14239
14205
  }, form.getInputProps("outgoingPort"))
14240
14206
  ),
14241
- /* @__PURE__ */ jsx157(
14207
+ /* @__PURE__ */ jsx155(
14242
14208
  CustomNumberInput,
14243
14209
  __spreadValues({
14244
14210
  withAsterisk: true,
@@ -14246,7 +14212,7 @@ function FormInput({ form, aqModuleId, isUpdate }) {
14246
14212
  label: "Incoming port"
14247
14213
  }, form.getInputProps("incomingPort"))
14248
14214
  ),
14249
- /* @__PURE__ */ jsx157(
14215
+ /* @__PURE__ */ jsx155(
14250
14216
  MySelect2,
14251
14217
  __spreadProps(__spreadValues({
14252
14218
  withAsterisk: true,
@@ -14257,13 +14223,13 @@ function FormInput({ form, aqModuleId, isUpdate }) {
14257
14223
  onChange: (e4) => form.setFieldValue("isSslEnabled", e4 == "true" ? true : false)
14258
14224
  })
14259
14225
  ),
14260
- /* @__PURE__ */ jsx157(
14226
+ /* @__PURE__ */ jsx155(
14261
14227
  MyTextInput2,
14262
14228
  __spreadValues({
14263
14229
  label: "Username"
14264
14230
  }, form.getInputProps("emailAddress"))
14265
14231
  ),
14266
- /* @__PURE__ */ jsx157(
14232
+ /* @__PURE__ */ jsx155(
14267
14233
  PasswordInput2,
14268
14234
  __spreadProps(__spreadValues({
14269
14235
  label: "Password",
@@ -14276,9 +14242,9 @@ function FormInput({ form, aqModuleId, isUpdate }) {
14276
14242
  }
14277
14243
 
14278
14244
  // src/modules-features/admin/core/mailConfig/F_mailConfig_Delete.tsx
14279
- import { jsx as jsx158 } from "react/jsx-runtime";
14245
+ import { jsx as jsx156 } from "react/jsx-runtime";
14280
14246
  function F_mailConfig_Delete({ id, contextData }) {
14281
- return /* @__PURE__ */ jsx158(
14247
+ return /* @__PURE__ */ jsx156(
14282
14248
  MyActionIconDelete,
14283
14249
  {
14284
14250
  contextData,
@@ -14292,14 +14258,14 @@ function F_mailConfig_Delete({ id, contextData }) {
14292
14258
  }
14293
14259
 
14294
14260
  // src/modules-features/admin/core/mailConfig/F_mailConfig_Read.tsx
14295
- import { jsx as jsx159, jsxs as jsxs92 } from "react/jsx-runtime";
14261
+ import { jsx as jsx157, jsxs as jsxs92 } from "react/jsx-runtime";
14296
14262
  function F_mailConfig_Read({ emailModule }) {
14297
14263
  const mailConfigQuery = useMyReactQuery({
14298
14264
  queryKey: ["mailConfigs"],
14299
14265
  axiosFn: () => service_emailConfig.getAll(),
14300
14266
  mockData
14301
14267
  });
14302
- const columns = useMemo23(() => [
14268
+ const columns = useMemo24(() => [
14303
14269
  {
14304
14270
  header: "Ph\xE2n h\u1EC7",
14305
14271
  accessorFn: (row) => {
@@ -14320,7 +14286,7 @@ function F_mailConfig_Read({ emailModule }) {
14320
14286
  },
14321
14287
  {
14322
14288
  header: "SSL",
14323
- accessorFn: (row) => /* @__PURE__ */ jsx159(Center9, { children: /* @__PURE__ */ jsx159(CustomThemeIconSquareCheck, { checked: row.isSslEnabled }) })
14289
+ accessorFn: (row) => /* @__PURE__ */ jsx157(Center9, { children: /* @__PURE__ */ jsx157(CustomThemeIconSquareCheck, { checked: row.isSslEnabled }) })
14324
14290
  },
14325
14291
  {
14326
14292
  header: "Username",
@@ -14332,17 +14298,17 @@ function F_mailConfig_Read({ emailModule }) {
14332
14298
  }
14333
14299
  ], []);
14334
14300
  if (mailConfigQuery.isLoading) return "\u0110ang t\u1EA3i";
14335
- return /* @__PURE__ */ jsx159(
14301
+ return /* @__PURE__ */ jsx157(
14336
14302
  MyDataTable,
14337
14303
  {
14338
14304
  isLoading: mailConfigQuery.isLoading,
14339
14305
  isError: mailConfigQuery.isError,
14340
14306
  columns,
14341
14307
  data: mailConfigQuery.data || [],
14342
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx159(F_mailConfig_CreateUpdate, { emailModule }),
14308
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx157(F_mailConfig_CreateUpdate, { emailModule }),
14343
14309
  renderRowActions: ({ row }) => /* @__PURE__ */ jsxs92(MyCenterFull, { children: [
14344
- /* @__PURE__ */ jsx159(F_mailConfig_CreateUpdate, { values: row.original, emailModule }),
14345
- /* @__PURE__ */ jsx159(F_mailConfig_Delete, { id: row.original.id, contextData: row.original.hostMailServer })
14310
+ /* @__PURE__ */ jsx157(F_mailConfig_CreateUpdate, { values: row.original, emailModule }),
14311
+ /* @__PURE__ */ jsx157(F_mailConfig_Delete, { id: row.original.id, contextData: row.original.hostMailServer })
14346
14312
  ] })
14347
14313
  }
14348
14314
  );
@@ -14358,7 +14324,7 @@ var mockData = [
14358
14324
  ];
14359
14325
 
14360
14326
  // src/modules-features/admin/core/mailConfig/F_mailConfig.tsx
14361
- import { jsx as jsx160 } from "react/jsx-runtime";
14327
+ import { jsx as jsx158 } from "react/jsx-runtime";
14362
14328
 
14363
14329
  // src/modules-features/admin/core/moduleConfig/F_moduleConfig.tsx
14364
14330
  import { useEffect as useEffect29 } from "react";
@@ -14372,7 +14338,7 @@ import { useEffect as useEffect28 } from "react";
14372
14338
  import { useMutation as useMutation3 } from "@tanstack/react-query";
14373
14339
 
14374
14340
  // src/modules-features/admin/core/moduleConfig/useS_moduleConfig.ts
14375
- var useStore4 = createGenericStore({
14341
+ var useStore4 = createGenericStore2({
14376
14342
  initialState: {}
14377
14343
  });
14378
14344
  function useS_moduleConfig() {
@@ -14381,7 +14347,7 @@ function useS_moduleConfig() {
14381
14347
  }
14382
14348
 
14383
14349
  // src/modules-features/admin/core/moduleConfig/F_moduleConfig_Save.tsx
14384
- import { jsx as jsx161 } from "react/jsx-runtime";
14350
+ import { jsx as jsx159 } from "react/jsx-runtime";
14385
14351
  function F_moduleConfig_Save({
14386
14352
  form
14387
14353
  }) {
@@ -14415,7 +14381,7 @@ function F_moduleConfig_Save({
14415
14381
  }
14416
14382
  });
14417
14383
  }
14418
- return /* @__PURE__ */ jsx161(
14384
+ return /* @__PURE__ */ jsx159(
14419
14385
  MyButton2,
14420
14386
  {
14421
14387
  disabled: !form.isDirty(),
@@ -14426,7 +14392,7 @@ function F_moduleConfig_Save({
14426
14392
  }
14427
14393
 
14428
14394
  // src/modules-features/admin/core/moduleConfig/F_moduleConfig_Form.tsx
14429
- import { jsx as jsx162, jsxs as jsxs93 } from "react/jsx-runtime";
14395
+ import { jsx as jsx160, jsxs as jsxs93 } from "react/jsx-runtime";
14430
14396
  function F_moduleConfig_Form() {
14431
14397
  var _a, _b, _c, _d;
14432
14398
  const query = useQ_AQ_GetAQModule();
@@ -14481,12 +14447,12 @@ function F_moduleConfig_Form() {
14481
14447
  }, []);
14482
14448
  return /* @__PURE__ */ jsxs93(Paper12, { p: "md", children: [
14483
14449
  /* @__PURE__ */ jsxs93(Grid7, { children: [
14484
- /* @__PURE__ */ jsx162(Grid7.Col, { span: 5, children: /* @__PURE__ */ jsx162(MyTextInput, __spreadProps(__spreadValues({}, form.getInputProps("code")), { label: "M\xE3 module", disabled: true })) }),
14485
- /* @__PURE__ */ jsx162(Grid7.Col, { span: { base: 12, md: 7 }, children: /* @__PURE__ */ jsx162(MyTextInput, __spreadProps(__spreadValues({}, form.getInputProps("name")), { label: "T\xEAn module" })) }),
14486
- /* @__PURE__ */ jsx162(Grid7.Col, { span: 12, children: /* @__PURE__ */ jsx162(MyTextInput, __spreadProps(__spreadValues({}, form.getInputProps("officelName")), { label: "T\xEAn \u0111\u01A1n v\u1ECB ch\u1EE7 qu\u1EA3n" })) }),
14487
- /* @__PURE__ */ jsx162(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx162(MyTextInput, __spreadProps(__spreadValues({}, form.getInputProps("email")), { label: "Email" })) }),
14488
- /* @__PURE__ */ jsx162(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx162(MyTextInput, __spreadProps(__spreadValues({ isPhoneNumber: true }, form.getInputProps("phoneNumber")), { label: "S\u1ED1 \u0111i\u1EC7n tho\u1EA1i" })) }),
14489
- /* @__PURE__ */ jsx162(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx162(
14450
+ /* @__PURE__ */ jsx160(Grid7.Col, { span: 5, children: /* @__PURE__ */ jsx160(MyTextInput, __spreadProps(__spreadValues({}, form.getInputProps("code")), { label: "M\xE3 module", disabled: true })) }),
14451
+ /* @__PURE__ */ jsx160(Grid7.Col, { span: { base: 12, md: 7 }, children: /* @__PURE__ */ jsx160(MyTextInput, __spreadProps(__spreadValues({}, form.getInputProps("name")), { label: "T\xEAn module" })) }),
14452
+ /* @__PURE__ */ jsx160(Grid7.Col, { span: 12, children: /* @__PURE__ */ jsx160(MyTextInput, __spreadProps(__spreadValues({}, form.getInputProps("officelName")), { label: "T\xEAn \u0111\u01A1n v\u1ECB ch\u1EE7 qu\u1EA3n" })) }),
14453
+ /* @__PURE__ */ jsx160(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx160(MyTextInput, __spreadProps(__spreadValues({}, form.getInputProps("email")), { label: "Email" })) }),
14454
+ /* @__PURE__ */ jsx160(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx160(MyTextInput, __spreadProps(__spreadValues({ isPhoneNumber: true }, form.getInputProps("phoneNumber")), { label: "S\u1ED1 \u0111i\u1EC7n tho\u1EA1i" })) }),
14455
+ /* @__PURE__ */ jsx160(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx160(
14490
14456
  MyDateInput,
14491
14457
  {
14492
14458
  value: form.getValues().registrationDate,
@@ -14495,7 +14461,7 @@ function F_moduleConfig_Form() {
14495
14461
  label: "Ng\xE0y \u0111\u0103ng k\xFD"
14496
14462
  }
14497
14463
  ) }),
14498
- /* @__PURE__ */ jsx162(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx162(
14464
+ /* @__PURE__ */ jsx160(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx160(
14499
14465
  MyDateInput,
14500
14466
  {
14501
14467
  value: form.getValues().limiteDate,
@@ -14504,8 +14470,8 @@ function F_moduleConfig_Form() {
14504
14470
  label: "Ng\xE0y h\u1EBFt h\u1EA1n"
14505
14471
  }
14506
14472
  ) }),
14507
- /* @__PURE__ */ jsx162(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsxs93(MyFlexColumn, { children: [
14508
- /* @__PURE__ */ jsx162(
14473
+ /* @__PURE__ */ jsx160(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsxs93(MyFlexColumn, { children: [
14474
+ /* @__PURE__ */ jsx160(
14509
14475
  MyFileInput,
14510
14476
  {
14511
14477
  accept: "image/png,image/jpeg",
@@ -14517,7 +14483,7 @@ function F_moduleConfig_Form() {
14517
14483
  }
14518
14484
  }
14519
14485
  ),
14520
- /* @__PURE__ */ jsx162(Paper12, { w: "100%", children: /* @__PURE__ */ jsx162(Center10, { children: /* @__PURE__ */ jsx162(
14486
+ /* @__PURE__ */ jsx160(Paper12, { w: "100%", children: /* @__PURE__ */ jsx160(Center10, { children: /* @__PURE__ */ jsx160(
14521
14487
  Image3,
14522
14488
  {
14523
14489
  fit: "contain",
@@ -14530,8 +14496,8 @@ function F_moduleConfig_Form() {
14530
14496
  }
14531
14497
  ) }) })
14532
14498
  ] }) }),
14533
- /* @__PURE__ */ jsx162(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsxs93(MyFlexColumn, { children: [
14534
- /* @__PURE__ */ jsx162(
14499
+ /* @__PURE__ */ jsx160(Grid7.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsxs93(MyFlexColumn, { children: [
14500
+ /* @__PURE__ */ jsx160(
14535
14501
  MyFileInput,
14536
14502
  {
14537
14503
  accept: "image/png,image/jpeg",
@@ -14543,7 +14509,7 @@ function F_moduleConfig_Form() {
14543
14509
  }
14544
14510
  }
14545
14511
  ),
14546
- /* @__PURE__ */ jsx162(Paper12, { children: /* @__PURE__ */ jsx162(Center10, { children: /* @__PURE__ */ jsx162(
14512
+ /* @__PURE__ */ jsx160(Paper12, { children: /* @__PURE__ */ jsx160(Center10, { children: /* @__PURE__ */ jsx160(
14547
14513
  Image3,
14548
14514
  {
14549
14515
  fit: "contain",
@@ -14557,18 +14523,18 @@ function F_moduleConfig_Form() {
14557
14523
  ) }) })
14558
14524
  ] }) })
14559
14525
  ] }),
14560
- /* @__PURE__ */ jsx162(MyFlexEnd, { children: /* @__PURE__ */ jsx162(F_moduleConfig_Save, { form }) })
14526
+ /* @__PURE__ */ jsx160(MyFlexEnd, { children: /* @__PURE__ */ jsx160(F_moduleConfig_Save, { form }) })
14561
14527
  ] });
14562
14528
  }
14563
14529
 
14564
14530
  // src/modules-features/admin/core/moduleConfig/F_moduleConfig.tsx
14565
- import { jsx as jsx163 } from "react/jsx-runtime";
14531
+ import { jsx as jsx161 } from "react/jsx-runtime";
14566
14532
  function F_moduleConfig({ AQModuleId }) {
14567
14533
  const store = useS_moduleConfig();
14568
14534
  useEffect29(() => {
14569
14535
  store.setProperty("AQModuleId", AQModuleId);
14570
14536
  }, []);
14571
- return /* @__PURE__ */ jsx163(F_moduleConfig_Form, {});
14537
+ return /* @__PURE__ */ jsx161(F_moduleConfig_Form, {});
14572
14538
  }
14573
14539
 
14574
14540
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs.tsx
@@ -14576,7 +14542,7 @@ import { Space as Space8 } from "@mantine/core";
14576
14542
 
14577
14543
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Create.tsx
14578
14544
  import { useForm as useForm29 } from "@mantine/form";
14579
- import { jsx as jsx164, jsxs as jsxs94 } from "react/jsx-runtime";
14545
+ import { jsx as jsx162, jsxs as jsxs94 } from "react/jsx-runtime";
14580
14546
  function F_organizationPolicyDocs_Create({
14581
14547
  RegulationsTypeId
14582
14548
  }) {
@@ -14603,28 +14569,28 @@ function F_organizationPolicyDocs_Create({
14603
14569
  return service_document.create(body);
14604
14570
  },
14605
14571
  children: [
14606
- /* @__PURE__ */ jsx164(
14572
+ /* @__PURE__ */ jsx162(
14607
14573
  MyTextInput,
14608
14574
  __spreadValues({
14609
14575
  withAsterisk: true,
14610
14576
  label: "S\u1ED1 quy \u0111\u1ECBnh"
14611
14577
  }, form.getInputProps("decisionCode"))
14612
14578
  ),
14613
- /* @__PURE__ */ jsx164(
14579
+ /* @__PURE__ */ jsx162(
14614
14580
  MyDateInput,
14615
14581
  __spreadValues({
14616
14582
  withAsterisk: true,
14617
14583
  label: "Ng\xE0y ban h\xE0nh"
14618
14584
  }, form.getInputProps("promulgateDate"))
14619
14585
  ),
14620
- /* @__PURE__ */ jsx164(
14586
+ /* @__PURE__ */ jsx162(
14621
14587
  MyTextInput,
14622
14588
  __spreadValues({
14623
14589
  withAsterisk: true,
14624
14590
  label: "T\xEAn t\xE0i li\u1EC7u"
14625
14591
  }, form.getInputProps("name"))
14626
14592
  ),
14627
- /* @__PURE__ */ jsx164(
14593
+ /* @__PURE__ */ jsx162(
14628
14594
  F_core18256_Select,
14629
14595
  __spreadValues({
14630
14596
  withAsterisk: true,
@@ -14632,14 +14598,14 @@ function F_organizationPolicyDocs_Create({
14632
14598
  documentTypeId: RegulationsTypeId
14633
14599
  }, form.getInputProps("documentAttributeId"))
14634
14600
  ),
14635
- /* @__PURE__ */ jsx164(
14601
+ /* @__PURE__ */ jsx162(
14636
14602
  MyFileInput,
14637
14603
  __spreadValues({
14638
14604
  withAsterisk: true,
14639
14605
  label: "V\u0103n b\u1EA3n"
14640
14606
  }, form.getInputProps("file"))
14641
14607
  ),
14642
- /* @__PURE__ */ jsx164(
14608
+ /* @__PURE__ */ jsx162(
14643
14609
  MyNumberInput,
14644
14610
  __spreadValues({
14645
14611
  label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
@@ -14653,15 +14619,15 @@ function F_organizationPolicyDocs_Create({
14653
14619
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Read.tsx
14654
14620
  import { Accordion as Accordion5, Alert as Alert6, Blockquote as Blockquote5, Skeleton as Skeleton6 } from "@mantine/core";
14655
14621
  import { IconBug as IconBug6 } from "@tabler/icons-react";
14656
- import { useEffect as useEffect30, useMemo as useMemo24, useState as useState24 } from "react";
14622
+ import { useEffect as useEffect30, useMemo as useMemo25, useState as useState24 } from "react";
14657
14623
 
14658
14624
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Delete.tsx
14659
- import { jsx as jsx165 } from "react/jsx-runtime";
14625
+ import { jsx as jsx163 } from "react/jsx-runtime";
14660
14626
  function F_organizationPolicyDocs_Delete({
14661
14627
  id,
14662
14628
  contextData
14663
14629
  }) {
14664
- return /* @__PURE__ */ jsx165(
14630
+ return /* @__PURE__ */ jsx163(
14665
14631
  MyActionIconDelete,
14666
14632
  {
14667
14633
  contextData,
@@ -14672,7 +14638,7 @@ function F_organizationPolicyDocs_Delete({
14672
14638
 
14673
14639
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Update.tsx
14674
14640
  import { useForm as useForm30 } from "@mantine/form";
14675
- import { jsx as jsx166, jsxs as jsxs95 } from "react/jsx-runtime";
14641
+ import { jsx as jsx164, jsxs as jsxs95 } from "react/jsx-runtime";
14676
14642
  function F_organizationPolicyDocs_Update({
14677
14643
  values,
14678
14644
  RegulationsTypeId
@@ -14705,7 +14671,7 @@ function F_organizationPolicyDocs_Update({
14705
14671
  return service_document.update(body);
14706
14672
  },
14707
14673
  children: [
14708
- /* @__PURE__ */ jsx166(
14674
+ /* @__PURE__ */ jsx164(
14709
14675
  MyTextInput,
14710
14676
  __spreadValues({
14711
14677
  withAsterisk: true,
@@ -14713,21 +14679,21 @@ function F_organizationPolicyDocs_Update({
14713
14679
  label: "S\u1ED1 quy \u0111\u1ECBnh"
14714
14680
  }, form.getInputProps("decisionCode"))
14715
14681
  ),
14716
- /* @__PURE__ */ jsx166(
14682
+ /* @__PURE__ */ jsx164(
14717
14683
  MyDateInput,
14718
14684
  __spreadValues({
14719
14685
  withAsterisk: true,
14720
14686
  label: "Ng\xE0y ban h\xE0nh"
14721
14687
  }, form.getInputProps("promulgateDate"))
14722
14688
  ),
14723
- /* @__PURE__ */ jsx166(
14689
+ /* @__PURE__ */ jsx164(
14724
14690
  MyTextInput,
14725
14691
  __spreadValues({
14726
14692
  withAsterisk: true,
14727
14693
  label: "T\xEAn t\xE0i li\u1EC7u"
14728
14694
  }, form.getInputProps("name"))
14729
14695
  ),
14730
- /* @__PURE__ */ jsx166(
14696
+ /* @__PURE__ */ jsx164(
14731
14697
  F_core18256_Select,
14732
14698
  __spreadValues({
14733
14699
  withAsterisk: true,
@@ -14735,14 +14701,14 @@ function F_organizationPolicyDocs_Update({
14735
14701
  documentTypeId: RegulationsTypeId
14736
14702
  }, form.getInputProps("documentAttributeId"))
14737
14703
  ),
14738
- /* @__PURE__ */ jsx166(
14704
+ /* @__PURE__ */ jsx164(
14739
14705
  MyFileInput,
14740
14706
  __spreadValues({
14741
14707
  withAsterisk: true,
14742
14708
  label: "V\u0103n b\u1EA3n"
14743
14709
  }, form.getInputProps("file"))
14744
14710
  ),
14745
- /* @__PURE__ */ jsx166(
14711
+ /* @__PURE__ */ jsx164(
14746
14712
  MyNumberInput,
14747
14713
  __spreadValues({
14748
14714
  label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
@@ -14754,7 +14720,7 @@ function F_organizationPolicyDocs_Update({
14754
14720
  }
14755
14721
 
14756
14722
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Read.tsx
14757
- import { jsx as jsx167, jsxs as jsxs96 } from "react/jsx-runtime";
14723
+ import { jsx as jsx165, jsxs as jsxs96 } from "react/jsx-runtime";
14758
14724
  function F_organizationPolicyDocs_Read({
14759
14725
  RegulationsTypeId
14760
14726
  }) {
@@ -14774,10 +14740,10 @@ function F_organizationPolicyDocs_Read({
14774
14740
  }
14775
14741
  }, [documentAttributeQuery.data]);
14776
14742
  if (((_a = documentAttributeQuery.data) == null ? void 0 : _a.length) == 0)
14777
- return /* @__PURE__ */ jsx167(Blockquote5, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
14743
+ return /* @__PURE__ */ jsx165(Blockquote5, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
14778
14744
  if (documentAttributeQuery.isError)
14779
- return /* @__PURE__ */ jsx167(Alert6, { icon: /* @__PURE__ */ jsx167(IconBug6, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
14780
- return /* @__PURE__ */ jsx167(Skeleton6, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx167(MyFlexColumn, { children: /* @__PURE__ */ jsx167(
14745
+ return /* @__PURE__ */ jsx165(Alert6, { icon: /* @__PURE__ */ jsx165(IconBug6, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
14746
+ return /* @__PURE__ */ jsx165(Skeleton6, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx165(MyFlexColumn, { children: /* @__PURE__ */ jsx165(
14781
14747
  Accordion5,
14782
14748
  {
14783
14749
  variant: "separated",
@@ -14790,7 +14756,7 @@ function F_organizationPolicyDocs_Read({
14790
14756
  value: openItems,
14791
14757
  onChange: setOpenItems,
14792
14758
  multiple: true,
14793
- children: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map((item, idx) => /* @__PURE__ */ jsx167(
14759
+ children: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map((item, idx) => /* @__PURE__ */ jsx165(
14794
14760
  SubRead5,
14795
14761
  {
14796
14762
  name: item.name || "",
@@ -14811,7 +14777,7 @@ function SubRead5({
14811
14777
  queryKey: ["SF2_3Read" + id],
14812
14778
  axiosFn: () => service_document.GetByDocumentAttribute(id)
14813
14779
  });
14814
- const columns = useMemo24(
14780
+ const columns = useMemo25(
14815
14781
  () => [
14816
14782
  {
14817
14783
  header: "S\u1ED1 quy \u0111\u1ECBnh",
@@ -14828,15 +14794,15 @@ function SubRead5({
14828
14794
  {
14829
14795
  header: "File",
14830
14796
  accessorFn: (row) => {
14831
- return /* @__PURE__ */ jsx167(MyCenterFull, { children: /* @__PURE__ */ jsx167(MyButtonViewPDF, { id: row.id }) });
14797
+ return /* @__PURE__ */ jsx165(MyCenterFull, { children: /* @__PURE__ */ jsx165(MyButtonViewPDF, { id: row.id }) });
14832
14798
  }
14833
14799
  }
14834
14800
  ],
14835
14801
  []
14836
14802
  );
14837
- return /* @__PURE__ */ jsx167(Skeleton6, { mt: 10, visible: documentQuery.isLoading, children: /* @__PURE__ */ jsxs96(Accordion5.Item, { value: id.toString(), children: [
14838
- /* @__PURE__ */ jsx167(Accordion5.Control, { children: name }),
14839
- /* @__PURE__ */ jsx167(Accordion5.Panel, { children: /* @__PURE__ */ jsx167(
14803
+ return /* @__PURE__ */ jsx165(Skeleton6, { mt: 10, visible: documentQuery.isLoading, children: /* @__PURE__ */ jsxs96(Accordion5.Item, { value: id.toString(), children: [
14804
+ /* @__PURE__ */ jsx165(Accordion5.Control, { children: name }),
14805
+ /* @__PURE__ */ jsx165(Accordion5.Panel, { children: /* @__PURE__ */ jsx165(
14840
14806
  MyDataTable,
14841
14807
  {
14842
14808
  isLoading: documentQuery.isLoading,
@@ -14844,14 +14810,14 @@ function SubRead5({
14844
14810
  columns,
14845
14811
  data: documentQuery.data || [],
14846
14812
  renderRowActions: ({ row }) => /* @__PURE__ */ jsxs96(MyCenterFull, { children: [
14847
- /* @__PURE__ */ jsx167(
14813
+ /* @__PURE__ */ jsx165(
14848
14814
  F_organizationPolicyDocs_Update,
14849
14815
  {
14850
14816
  RegulationsTypeId,
14851
14817
  values: row.original
14852
14818
  }
14853
14819
  ),
14854
- /* @__PURE__ */ jsx167(
14820
+ /* @__PURE__ */ jsx165(
14855
14821
  F_organizationPolicyDocs_Delete,
14856
14822
  {
14857
14823
  id: row.original.id,
@@ -14865,21 +14831,21 @@ function SubRead5({
14865
14831
  }
14866
14832
 
14867
14833
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs.tsx
14868
- import { Fragment as Fragment25, jsx as jsx168, jsxs as jsxs97 } from "react/jsx-runtime";
14834
+ import { Fragment as Fragment25, jsx as jsx166, jsxs as jsxs97 } from "react/jsx-runtime";
14869
14835
  function F_organizationPolicyDocs({ RegulationsTypeId }) {
14870
14836
  return /* @__PURE__ */ jsxs97(Fragment25, { children: [
14871
- /* @__PURE__ */ jsx168(MyFlexEnd, { children: /* @__PURE__ */ jsx168(F_organizationPolicyDocs_Create, { RegulationsTypeId }) }),
14872
- /* @__PURE__ */ jsx168(Space8, {}),
14873
- /* @__PURE__ */ jsx168(F_organizationPolicyDocs_Read, { RegulationsTypeId })
14837
+ /* @__PURE__ */ jsx166(MyFlexEnd, { children: /* @__PURE__ */ jsx166(F_organizationPolicyDocs_Create, { RegulationsTypeId }) }),
14838
+ /* @__PURE__ */ jsx166(Space8, {}),
14839
+ /* @__PURE__ */ jsx166(F_organizationPolicyDocs_Read, { RegulationsTypeId })
14874
14840
  ] });
14875
14841
  }
14876
14842
 
14877
14843
  // src/modules-features/admin/core/pageContent/PageContentTable.tsx
14878
14844
  import { Group as Group27, TextInput as TextInput7 } from "@mantine/core";
14879
- import { useMemo as useMemo25 } from "react";
14845
+ import { useMemo as useMemo26 } from "react";
14880
14846
 
14881
14847
  // src/modules-features/admin/core/pageContent/PageContentExport.tsx
14882
- import { jsx as jsx169 } from "react/jsx-runtime";
14848
+ import { jsx as jsx167 } from "react/jsx-runtime";
14883
14849
  var config4 = {
14884
14850
  fields: [
14885
14851
  {
@@ -14902,17 +14868,17 @@ var config4 = {
14902
14868
  };
14903
14869
  function PageContentExport({ table }) {
14904
14870
  const { data } = useExportData(table);
14905
- return /* @__PURE__ */ jsx169(AQButtonExportData, { exportConfig: config4, objectName: "Danh s\xE1ch Page content", data });
14871
+ return /* @__PURE__ */ jsx167(AQButtonExportData, { exportConfig: config4, objectName: "Danh s\xE1ch Page content", data });
14906
14872
  }
14907
14873
 
14908
14874
  // src/modules-features/admin/core/pageContent/PageContentSave.tsx
14909
- import { jsx as jsx170 } from "react/jsx-runtime";
14875
+ import { jsx as jsx168 } from "react/jsx-runtime";
14910
14876
  function PageContentSave({ values }) {
14911
14877
  const mutation = useMyReactMutation({
14912
14878
  axiosFn: (mutateValue) => service_page.updateList(mutateValue),
14913
14879
  mutationType: "update"
14914
14880
  });
14915
- return /* @__PURE__ */ jsx170(
14881
+ return /* @__PURE__ */ jsx168(
14916
14882
  MyButton,
14917
14883
  {
14918
14884
  actionType: "save",
@@ -14925,7 +14891,7 @@ function PageContentSave({ values }) {
14925
14891
  }
14926
14892
 
14927
14893
  // src/modules-features/admin/core/pageContent/PageContentTable.tsx
14928
- import { jsx as jsx171, jsxs as jsxs98 } from "react/jsx-runtime";
14894
+ import { jsx as jsx169, jsxs as jsxs98 } from "react/jsx-runtime";
14929
14895
  function PageContentTable({ menuData }) {
14930
14896
  const pageQuery = useMyReactQuery({
14931
14897
  queryKey: ["pages"],
@@ -14935,7 +14901,7 @@ function PageContentTable({ menuData }) {
14935
14901
  }
14936
14902
  });
14937
14903
  const { editedRows, handleFieldChange } = useEditableRows();
14938
- const columns = useMemo25(() => [
14904
+ const columns = useMemo26(() => [
14939
14905
  {
14940
14906
  header: "Dashboard",
14941
14907
  accessorKey: "name"
@@ -14944,7 +14910,7 @@ function PageContentTable({ menuData }) {
14944
14910
  header: "M\xF4 t\u1EA3",
14945
14911
  accessorKey: "description",
14946
14912
  Cell: ({ row }) => {
14947
- return /* @__PURE__ */ jsx171(
14913
+ return /* @__PURE__ */ jsx169(
14948
14914
  TextInput7,
14949
14915
  {
14950
14916
  defaultValue: row.original.description,
@@ -14958,7 +14924,7 @@ function PageContentTable({ menuData }) {
14958
14924
  {
14959
14925
  header: "Url video h\u01B0\u1EDBng d\u1EABn",
14960
14926
  accessorKey: "link",
14961
- Cell: ({ row }) => /* @__PURE__ */ jsx171(
14927
+ Cell: ({ row }) => /* @__PURE__ */ jsx169(
14962
14928
  TextInput7,
14963
14929
  {
14964
14930
  defaultValue: row.original.link,
@@ -14973,7 +14939,7 @@ function PageContentTable({ menuData }) {
14973
14939
  accessorKey: "pageDocumentFileDetail.fileName",
14974
14940
  Cell: ({ row }) => {
14975
14941
  const file = row.original.pageDocumentFileDetail;
14976
- return /* @__PURE__ */ jsx171(
14942
+ return /* @__PURE__ */ jsx169(
14977
14943
  MyFileInput,
14978
14944
  {
14979
14945
  placeholder: (file == null ? void 0 : file.fileName) || "Vui l\xF2ng ch\u1ECDn file",
@@ -14996,7 +14962,7 @@ function PageContentTable({ menuData }) {
14996
14962
  }
14997
14963
  }
14998
14964
  ], [handleFieldChange]);
14999
- const mergedData = useMemo25(() => {
14965
+ const mergedData = useMemo26(() => {
15000
14966
  if (!pageQuery.data) return [];
15001
14967
  const labelMap = /* @__PURE__ */ new Map();
15002
14968
  pageQuery.data.forEach((item) => {
@@ -15009,7 +14975,7 @@ function PageContentTable({ menuData }) {
15009
14975
  });
15010
14976
  });
15011
14977
  }, [pageQuery.data, menuData]).filter(Boolean);
15012
- return /* @__PURE__ */ jsx171(
14978
+ return /* @__PURE__ */ jsx169(
15013
14979
  MyDataTable,
15014
14980
  {
15015
14981
  columns,
@@ -15024,21 +14990,21 @@ function PageContentTable({ menuData }) {
15024
14990
  return (_a = row.id) == null ? void 0 : _a.toString();
15025
14991
  },
15026
14992
  renderTopToolbarCustomActions: ({ table }) => /* @__PURE__ */ jsxs98(Group27, { children: [
15027
- /* @__PURE__ */ jsx171(PageContentSave, { values: editedRows }),
15028
- /* @__PURE__ */ jsx171(PageContentExport, { table })
14993
+ /* @__PURE__ */ jsx169(PageContentSave, { values: editedRows }),
14994
+ /* @__PURE__ */ jsx169(PageContentExport, { table })
15029
14995
  ] })
15030
14996
  }
15031
14997
  );
15032
14998
  }
15033
14999
 
15034
15000
  // src/modules-features/admin/core/pageContent/Feat_PageContentTable.tsx
15035
- import { jsx as jsx172 } from "react/jsx-runtime";
15001
+ import { jsx as jsx170 } from "react/jsx-runtime";
15036
15002
  function Feat_PageContentTable({ menuData }) {
15037
- return /* @__PURE__ */ jsx172(PageContentTable, { menuData });
15003
+ return /* @__PURE__ */ jsx170(PageContentTable, { menuData });
15038
15004
  }
15039
15005
 
15040
15006
  // src/modules/Role/usecase/UseCase_RoleTable.tsx
15041
- import { useMemo as useMemo26 } from "react";
15007
+ import { useMemo as useMemo27 } from "react";
15042
15008
 
15043
15009
  // src/modules/Role/domain/IRoleDomain.ts
15044
15010
  var enum_roleStatus = /* @__PURE__ */ ((enum_roleStatus3) => {
@@ -15052,10 +15018,10 @@ var enumLabel_roleStatus = {
15052
15018
  };
15053
15019
 
15054
15020
  // src/modules/Role/usecase/UseCase_RoleTable.tsx
15055
- import { jsx as jsx173 } from "react/jsx-runtime";
15021
+ import { jsx as jsx171 } from "react/jsx-runtime";
15056
15022
  function UseCase_RoleTable2(_a) {
15057
15023
  var rest = __objRest(_a, []);
15058
- const allColumns = useMemo26(() => [
15024
+ const allColumns = useMemo27(() => [
15059
15025
  {
15060
15026
  header: "M\xE3 nh\xF3m",
15061
15027
  accessorKey: "code",
@@ -15080,7 +15046,7 @@ function UseCase_RoleTable2(_a) {
15080
15046
  }
15081
15047
  }
15082
15048
  ], []);
15083
- return /* @__PURE__ */ jsx173(
15049
+ return /* @__PURE__ */ jsx171(
15084
15050
  MyDataTable,
15085
15051
  __spreadValues({
15086
15052
  columns: allColumns
@@ -15109,7 +15075,7 @@ var mapper_role = {
15109
15075
  };
15110
15076
 
15111
15077
  // src/modules/Role/adapter/Adapter_RoleTable.tsx
15112
- import { jsx as jsx174 } from "react/jsx-runtime";
15078
+ import { jsx as jsx172 } from "react/jsx-runtime";
15113
15079
  function Adapter_RoleTable2(_a) {
15114
15080
  var rest = __objRest(_a, []);
15115
15081
  var _a2;
@@ -15117,7 +15083,7 @@ function Adapter_RoleTable2(_a) {
15117
15083
  queryKey: ["roles"],
15118
15084
  axiosFn: () => service_role.getAdminRole()
15119
15085
  });
15120
- return /* @__PURE__ */ jsx174(
15086
+ return /* @__PURE__ */ jsx172(
15121
15087
  UseCase_RoleTable2,
15122
15088
  __spreadValues({
15123
15089
  data: ((_a2 = query.data) == null ? void 0 : _a2.map(mapper_role.mapToDomain)) || [],
@@ -15133,16 +15099,16 @@ import { useEffect as useEffect31 } from "react";
15133
15099
 
15134
15100
  // src/modules/Role/usecase/UseCase_RoleForm.tsx
15135
15101
  import { Stack as Stack10 } from "@mantine/core";
15136
- import { jsx as jsx175, jsxs as jsxs99 } from "react/jsx-runtime";
15102
+ import { jsx as jsx173, jsxs as jsxs99 } from "react/jsx-runtime";
15137
15103
  function UseCase_RoleCreate({
15138
15104
  form,
15139
15105
  onSubmit
15140
15106
  }) {
15141
15107
  var _a;
15142
- return /* @__PURE__ */ jsx175("form", { onSubmit: form.onSubmit(onSubmit), children: /* @__PURE__ */ jsxs99(Stack10, { children: [
15143
- /* @__PURE__ */ jsx175(MyTextInput2, __spreadValues({ label: "M\xE3 nh\xF3m t\xE0i kho\u1EA3n" }, form.getInputProps("code"))),
15144
- /* @__PURE__ */ jsx175(MyTextInput2, __spreadValues({ label: "T\xEAn nh\xF3m t\xE0i kho\u1EA3n" }, form.getInputProps("name"))),
15145
- /* @__PURE__ */ jsx175(
15108
+ return /* @__PURE__ */ jsx173("form", { onSubmit: form.onSubmit(onSubmit), children: /* @__PURE__ */ jsxs99(Stack10, { children: [
15109
+ /* @__PURE__ */ jsx173(MyTextInput2, __spreadValues({ label: "M\xE3 nh\xF3m t\xE0i kho\u1EA3n" }, form.getInputProps("code"))),
15110
+ /* @__PURE__ */ jsx173(MyTextInput2, __spreadValues({ label: "T\xEAn nh\xF3m t\xE0i kho\u1EA3n" }, form.getInputProps("name"))),
15111
+ /* @__PURE__ */ jsx173(
15146
15112
  MySelect2,
15147
15113
  {
15148
15114
  label: "Tr\u1EA1ng th\xE1i t\xE0i kho\u1EA3n",
@@ -15151,13 +15117,13 @@ function UseCase_RoleCreate({
15151
15117
  onChange: (val) => form.setFieldValue("status", val)
15152
15118
  }
15153
15119
  ),
15154
- /* @__PURE__ */ jsx175(MyTextInput2, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note"))),
15155
- /* @__PURE__ */ jsx175(MyButton, { actionType: "save" })
15120
+ /* @__PURE__ */ jsx173(MyTextInput2, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note"))),
15121
+ /* @__PURE__ */ jsx173(MyButton, { actionType: "save" })
15156
15122
  ] }) });
15157
15123
  }
15158
15124
 
15159
15125
  // src/modules/Role/adapter/Adapter_RoleForm.tsx
15160
- import { jsx as jsx176 } from "react/jsx-runtime";
15126
+ import { jsx as jsx174 } from "react/jsx-runtime";
15161
15127
  function Adapter_RoleForm({
15162
15128
  values,
15163
15129
  onSuccess
@@ -15179,7 +15145,7 @@ function Adapter_RoleForm({
15179
15145
  if (!values) return;
15180
15146
  form.initialize(values);
15181
15147
  }, [values]);
15182
- return /* @__PURE__ */ jsx176(
15148
+ return /* @__PURE__ */ jsx174(
15183
15149
  UseCase_RoleCreate,
15184
15150
  {
15185
15151
  form,
@@ -15197,11 +15163,11 @@ import { IconSearch as IconSearch5 } from "@tabler/icons-react";
15197
15163
  import { useEffect as useEffect32, useState as useState25 } from "react";
15198
15164
 
15199
15165
  // src/modules/User/usecase/Usecase_UserTable.tsx
15200
- import { useMemo as useMemo27 } from "react";
15201
- import { jsx as jsx177 } from "react/jsx-runtime";
15166
+ import { useMemo as useMemo28 } from "react";
15167
+ import { jsx as jsx175 } from "react/jsx-runtime";
15202
15168
  function UseCase_UserTable(_a) {
15203
15169
  var rest = __objRest(_a, []);
15204
- const allColumns = useMemo27(() => [
15170
+ const allColumns = useMemo28(() => [
15205
15171
  {
15206
15172
  header: "M\xE3 t\xE0i kho\u1EA3n",
15207
15173
  accessorKey: "code",
@@ -15224,7 +15190,7 @@ function UseCase_UserTable(_a) {
15224
15190
  accessorKey: "phoneNumber"
15225
15191
  }
15226
15192
  ], []);
15227
- return /* @__PURE__ */ jsx177(
15193
+ return /* @__PURE__ */ jsx175(
15228
15194
  MyDataTable,
15229
15195
  __spreadValues({
15230
15196
  columns: allColumns
@@ -15251,7 +15217,7 @@ var mapper_user = {
15251
15217
  };
15252
15218
 
15253
15219
  // src/modules/User/adapter/Adapter_UserTable.tsx
15254
- import { jsx as jsx178, jsxs as jsxs100 } from "react/jsx-runtime";
15220
+ import { jsx as jsx176, jsxs as jsxs100 } from "react/jsx-runtime";
15255
15221
  function Adapter_UserTable(_a) {
15256
15222
  var rest = __objRest(_a, []);
15257
15223
  var _a2;
@@ -15275,7 +15241,7 @@ function Adapter_UserTable(_a) {
15275
15241
  setGlobalFilter(debouncedSearch);
15276
15242
  paginationState[1]({ pageIndex: 0, pageSize: paginationState[0].pageSize });
15277
15243
  }, [debouncedSearch]);
15278
- return /* @__PURE__ */ jsx178(
15244
+ return /* @__PURE__ */ jsx176(
15279
15245
  UseCase_UserTable,
15280
15246
  __spreadProps(__spreadValues({
15281
15247
  rowCount: adminAccountQuery.dataCount,
@@ -15290,12 +15256,12 @@ function Adapter_UserTable(_a) {
15290
15256
  var _a3;
15291
15257
  return /* @__PURE__ */ jsxs100(Group28, { children: [
15292
15258
  (_a3 = rest == null ? void 0 : rest.renderTopToolbarCustomActions) == null ? void 0 : _a3.call(rest, table),
15293
- /* @__PURE__ */ jsx178(
15259
+ /* @__PURE__ */ jsx176(
15294
15260
  TextInput8,
15295
15261
  {
15296
15262
  w: "250",
15297
15263
  placeholder: "T\xECm theo t\xE0i kho\u1EA3n ho\u1EB7c h\u1ECD t\xEAn...",
15298
- leftSection: /* @__PURE__ */ jsx178(IconSearch5, { size: 16 }),
15264
+ leftSection: /* @__PURE__ */ jsx176(IconSearch5, { size: 16 }),
15299
15265
  value: searchInput,
15300
15266
  onChange: (e4) => setSearchInput(e4.currentTarget.value)
15301
15267
  }
@@ -15311,7 +15277,7 @@ import { useDisclosure as useDisclosure16 } from "@mantine/hooks";
15311
15277
  import { notifications as notifications5 } from "@mantine/notifications";
15312
15278
  import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
15313
15279
  import { useEffect as useEffect33, useState as useState26 } from "react";
15314
- import { jsx as jsx179 } from "react/jsx-runtime";
15280
+ import { jsx as jsx177 } from "react/jsx-runtime";
15315
15281
  function Adapter_UserAddToRole({
15316
15282
  roleId,
15317
15283
  userIds
@@ -15361,20 +15327,20 @@ function Adapter_UserAddToRole({
15361
15327
  setDefaultSelectedIds(userIds);
15362
15328
  }
15363
15329
  }, [userIds]);
15364
- return /* @__PURE__ */ jsx179(
15330
+ return /* @__PURE__ */ jsx177(
15365
15331
  MyButtonModal,
15366
15332
  {
15367
15333
  disclosure: disc,
15368
15334
  buttonProps: { actionType: "create" },
15369
15335
  modalProps: { title: "Danh s\xE1ch t\xE0i kho\u1EA3n ng\u01B0\u1EDDi d\xF9ng thu\u1ED9c quy\u1EC1n", size: "70%" },
15370
- children: /* @__PURE__ */ jsx179(
15336
+ children: /* @__PURE__ */ jsx177(
15371
15337
  Adapter_UserTable,
15372
15338
  {
15373
15339
  enableRowSelection: true,
15374
15340
  state: { rowSelection: userSelectedId[0] },
15375
15341
  onRowSelectionChange: userSelectedId[1],
15376
15342
  getRowId: (row) => row.id,
15377
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx179(
15343
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx177(
15378
15344
  MyButton,
15379
15345
  {
15380
15346
  actionType: "select",
@@ -15397,17 +15363,17 @@ function Adapter_UserAddToRole({
15397
15363
  }
15398
15364
 
15399
15365
  // src/modules/User/adapter/Adapter_UserDeleteFromRole.tsx
15400
- import { jsx as jsx180 } from "react/jsx-runtime";
15366
+ import { jsx as jsx178 } from "react/jsx-runtime";
15401
15367
  function Adapter_UserDeleteFromRole({
15402
15368
  roleId,
15403
15369
  userId
15404
15370
  }) {
15405
- return /* @__PURE__ */ jsx180(MyActionIconDelete, { onSubmit: () => service_role.removeUsersFromRole({ roleId, userIds: [userId] }) });
15371
+ return /* @__PURE__ */ jsx178(MyActionIconDelete, { onSubmit: () => service_role.removeUsersFromRole({ roleId, userIds: [userId] }) });
15406
15372
  }
15407
15373
 
15408
15374
  // src/modules/User/adapter/Adapter_UserTableByRole.tsx
15409
15375
  import { useEffect as useEffect34 } from "react";
15410
- import { jsx as jsx181 } from "react/jsx-runtime";
15376
+ import { jsx as jsx179 } from "react/jsx-runtime";
15411
15377
  function Adapter_UserTableByRole(_a) {
15412
15378
  var _b = _a, { byRoleId } = _b, rest = __objRest(_b, ["byRoleId"]);
15413
15379
  var _a2;
@@ -15423,7 +15389,7 @@ function Adapter_UserTableByRole(_a) {
15423
15389
  rest.onUserLoad(users);
15424
15390
  }
15425
15391
  }, [adminAccountQuery.data]);
15426
- return /* @__PURE__ */ jsx181(
15392
+ return /* @__PURE__ */ jsx179(
15427
15393
  UseCase_UserTable,
15428
15394
  __spreadValues({
15429
15395
  isLoading: adminAccountQuery.isLoading,
@@ -15442,7 +15408,7 @@ import { useState as useState27 } from "react";
15442
15408
  // src/modules-features/admin/core/roleManagement/RoleManagement_Import.tsx
15443
15409
  import { useModalsStack as useModalsStack7 } from "@mantine/core";
15444
15410
  import { Workbook as Workbook2 } from "exceljs";
15445
- import { Fragment as Fragment26, jsx as jsx182, jsxs as jsxs101 } from "react/jsx-runtime";
15411
+ import { Fragment as Fragment26, jsx as jsx180, jsxs as jsxs101 } from "react/jsx-runtime";
15446
15412
  var fieldConfig = [
15447
15413
  {
15448
15414
  fieldKey: "code",
@@ -15471,8 +15437,8 @@ function RoleManagement_Import({ roleId }) {
15471
15437
  await utils_excel.download({ workbook, name: "C\u1EA5u tr\xFAc import t\xE0i kho\u1EA3n v\xE0o quy\u1EC1n" });
15472
15438
  };
15473
15439
  return /* @__PURE__ */ jsxs101(Fragment26, { children: [
15474
- /* @__PURE__ */ jsx182(MyButton, { actionType: "import", onClick: () => stack.open("FileImportConfig") }),
15475
- /* @__PURE__ */ jsx182(
15440
+ /* @__PURE__ */ jsx180(MyButton, { actionType: "import", onClick: () => stack.open("FileImportConfig") }),
15441
+ /* @__PURE__ */ jsx180(
15476
15442
  MyModalImport,
15477
15443
  {
15478
15444
  fieldDefinition: fieldConfig.map((item) => ({
@@ -15494,12 +15460,12 @@ function RoleManagement_Import({ roleId }) {
15494
15460
  }
15495
15461
 
15496
15462
  // src/modules-features/admin/core/roleManagement/features/Feat_CreateUpdateRole.tsx
15497
- import { jsx as jsx183, jsxs as jsxs102 } from "react/jsx-runtime";
15463
+ import { jsx as jsx181, jsxs as jsxs102 } from "react/jsx-runtime";
15498
15464
  function Feat_CreateUpdateRole({ values }) {
15499
15465
  const isUpdate = values != void 0;
15500
15466
  const disc = useDisclosure17();
15501
15467
  const userIds = useState27([]);
15502
- return /* @__PURE__ */ jsx183(
15468
+ return /* @__PURE__ */ jsx181(
15503
15469
  MyButtonModal,
15504
15470
  {
15505
15471
  disclosure: disc,
@@ -15509,11 +15475,11 @@ function Feat_CreateUpdateRole({ values }) {
15509
15475
  isActionIcon: isUpdate,
15510
15476
  children: /* @__PURE__ */ jsxs102(Tabs3, { defaultValue: "gallery", children: [
15511
15477
  /* @__PURE__ */ jsxs102(Tabs3.List, { children: [
15512
- /* @__PURE__ */ jsx183(Tabs3.Tab, { value: "gallery", children: "Th\xF4ng tin chung" }),
15513
- /* @__PURE__ */ jsx183(Tabs3.Tab, { value: "messages", hidden: !isUpdate, children: "Danh s\xE1ch th\xE0nh vi\xEAn" })
15478
+ /* @__PURE__ */ jsx181(Tabs3.Tab, { value: "gallery", children: "Th\xF4ng tin chung" }),
15479
+ /* @__PURE__ */ jsx181(Tabs3.Tab, { value: "messages", hidden: !isUpdate, children: "Danh s\xE1ch th\xE0nh vi\xEAn" })
15514
15480
  ] }),
15515
- /* @__PURE__ */ jsx183(Tabs3.Panel, { value: "gallery", pt: "md", children: /* @__PURE__ */ jsx183(Adapter_RoleForm, { onSuccess: disc[1].close, values }) }),
15516
- /* @__PURE__ */ jsx183(Tabs3.Panel, { value: "messages", pt: "md", children: /* @__PURE__ */ jsx183(MyFieldset, { title: "Danh s\xE1ch t\xE0i kho\u1EA3n ng\u01B0\u1EDDi d\xF9ng thu\u1ED9c nh\xF3m", children: /* @__PURE__ */ jsx183(
15481
+ /* @__PURE__ */ jsx181(Tabs3.Panel, { value: "gallery", pt: "md", children: /* @__PURE__ */ jsx181(Adapter_RoleForm, { onSuccess: disc[1].close, values }) }),
15482
+ /* @__PURE__ */ jsx181(Tabs3.Panel, { value: "messages", pt: "md", children: /* @__PURE__ */ jsx181(MyFieldset, { title: "Danh s\xE1ch t\xE0i kho\u1EA3n ng\u01B0\u1EDDi d\xF9ng thu\u1ED9c nh\xF3m", children: /* @__PURE__ */ jsx181(
15517
15483
  Adapter_UserTableByRole,
15518
15484
  {
15519
15485
  byRoleId: Number(values == null ? void 0 : values.id),
@@ -15523,16 +15489,16 @@ function Feat_CreateUpdateRole({ values }) {
15523
15489
  },
15524
15490
  visibleFields: ["code", "userFullName", "unit"],
15525
15491
  renderTopToolbarCustomActions: () => /* @__PURE__ */ jsxs102(Group29, { children: [
15526
- /* @__PURE__ */ jsx183(
15492
+ /* @__PURE__ */ jsx181(
15527
15493
  Adapter_UserAddToRole,
15528
15494
  {
15529
15495
  roleId: Number(values == null ? void 0 : values.id),
15530
15496
  userIds: userIds[0]
15531
15497
  }
15532
15498
  ),
15533
- /* @__PURE__ */ jsx183(RoleManagement_Import, { roleId: Number(values == null ? void 0 : values.id) })
15499
+ /* @__PURE__ */ jsx181(RoleManagement_Import, { roleId: Number(values == null ? void 0 : values.id) })
15534
15500
  ] }),
15535
- renderRowActions: ({ row }) => /* @__PURE__ */ jsx183(MyCenterFull, { children: /* @__PURE__ */ jsx183(Adapter_UserDeleteFromRole, { roleId: Number(values == null ? void 0 : values.id), userId: Number(row.original.id) }) })
15501
+ renderRowActions: ({ row }) => /* @__PURE__ */ jsx181(MyCenterFull, { children: /* @__PURE__ */ jsx181(Adapter_UserDeleteFromRole, { roleId: Number(values == null ? void 0 : values.id), userId: Number(row.original.id) }) })
15536
15502
  }
15537
15503
  ) }) })
15538
15504
  ] })
@@ -15541,27 +15507,27 @@ function Feat_CreateUpdateRole({ values }) {
15541
15507
  }
15542
15508
 
15543
15509
  // src/modules-features/admin/core/roleManagement/RoleManagement_Delete.tsx
15544
- import { jsx as jsx184 } from "react/jsx-runtime";
15510
+ import { jsx as jsx182 } from "react/jsx-runtime";
15545
15511
  function RoleManagement_Delete({ code, id }) {
15546
- return /* @__PURE__ */ jsx184(MyActionIconDelete, { contextData: code, onSubmit: () => service_role.delete(id) });
15512
+ return /* @__PURE__ */ jsx182(MyActionIconDelete, { contextData: code, onSubmit: () => service_role.delete(id) });
15547
15513
  }
15548
15514
 
15549
15515
  // src/modules-features/admin/core/roleManagement/Feat_RoleManagement.tsx
15550
- import { jsx as jsx185, jsxs as jsxs103 } from "react/jsx-runtime";
15516
+ import { jsx as jsx183, jsxs as jsxs103 } from "react/jsx-runtime";
15551
15517
  function Feat_RoleManagement() {
15552
- return /* @__PURE__ */ jsx185(
15518
+ return /* @__PURE__ */ jsx183(
15553
15519
  Adapter_RoleTable2,
15554
15520
  {
15555
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx185(Feat_CreateUpdateRole, {}),
15521
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx183(Feat_CreateUpdateRole, {}),
15556
15522
  renderRowActions: ({ row }) => {
15557
15523
  return /* @__PURE__ */ jsxs103(MyCenterFull, { children: [
15558
- /* @__PURE__ */ jsx185(
15524
+ /* @__PURE__ */ jsx183(
15559
15525
  Feat_CreateUpdateRole,
15560
15526
  {
15561
15527
  values: row.original
15562
15528
  }
15563
15529
  ),
15564
- /* @__PURE__ */ jsx185(
15530
+ /* @__PURE__ */ jsx183(
15565
15531
  RoleManagement_Delete,
15566
15532
  {
15567
15533
  id: Number(row.original.id),
@@ -15575,12 +15541,12 @@ function Feat_RoleManagement() {
15575
15541
  }
15576
15542
 
15577
15543
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Read.tsx
15578
- import { useMemo as useMemo28 } from "react";
15544
+ import { useMemo as useMemo29 } from "react";
15579
15545
 
15580
15546
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Create.tsx
15581
15547
  import { FileInput as FileInput11 } from "@mantine/core";
15582
15548
  import { useForm as useForm32 } from "@mantine/form";
15583
- import { jsx as jsx186, jsxs as jsxs104 } from "react/jsx-runtime";
15549
+ import { jsx as jsx184, jsxs as jsxs104 } from "react/jsx-runtime";
15584
15550
  function F_securityPolicyDocs_Create({ SecurityTypeId }) {
15585
15551
  const form = useForm32({
15586
15552
  mode: "uncontrolled",
@@ -15604,28 +15570,28 @@ function F_securityPolicyDocs_Create({ SecurityTypeId }) {
15604
15570
  return service_document.create(body);
15605
15571
  },
15606
15572
  children: [
15607
- /* @__PURE__ */ jsx186(
15573
+ /* @__PURE__ */ jsx184(
15608
15574
  MyTextInput,
15609
15575
  __spreadValues({
15610
15576
  withAsterisk: true,
15611
15577
  label: "S\u1ED1 quy \u0111\u1ECBnh"
15612
15578
  }, form.getInputProps("decisionCode"))
15613
15579
  ),
15614
- /* @__PURE__ */ jsx186(
15580
+ /* @__PURE__ */ jsx184(
15615
15581
  MyDateInput,
15616
15582
  __spreadValues({
15617
15583
  withAsterisk: true,
15618
15584
  label: "Ng\xE0y ban h\xE0nh"
15619
15585
  }, form.getInputProps("promulgateDate"))
15620
15586
  ),
15621
- /* @__PURE__ */ jsx186(
15587
+ /* @__PURE__ */ jsx184(
15622
15588
  MyTextInput,
15623
15589
  __spreadValues({
15624
15590
  withAsterisk: true,
15625
15591
  label: "T\xEAn t\xE0i li\u1EC7u"
15626
15592
  }, form.getInputProps("name"))
15627
15593
  ),
15628
- /* @__PURE__ */ jsx186(
15594
+ /* @__PURE__ */ jsx184(
15629
15595
  FileInput11,
15630
15596
  __spreadValues({
15631
15597
  withAsterisk: true,
@@ -15639,12 +15605,12 @@ function F_securityPolicyDocs_Create({ SecurityTypeId }) {
15639
15605
  }
15640
15606
 
15641
15607
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Delete.tsx
15642
- import { jsx as jsx187 } from "react/jsx-runtime";
15608
+ import { jsx as jsx185 } from "react/jsx-runtime";
15643
15609
  function F_securityPolicyDocs_Delete({
15644
15610
  id,
15645
15611
  contextData
15646
15612
  }) {
15647
- return /* @__PURE__ */ jsx187(
15613
+ return /* @__PURE__ */ jsx185(
15648
15614
  MyActionIconDelete,
15649
15615
  {
15650
15616
  contextData,
@@ -15656,7 +15622,7 @@ function F_securityPolicyDocs_Delete({
15656
15622
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Update.tsx
15657
15623
  import { FileInput as FileInput12, TextInput as TextInput9 } from "@mantine/core";
15658
15624
  import { useForm as useForm33 } from "@mantine/form";
15659
- import { jsx as jsx188, jsxs as jsxs105 } from "react/jsx-runtime";
15625
+ import { jsx as jsx186, jsxs as jsxs105 } from "react/jsx-runtime";
15660
15626
  function F_securityPolicyDocs_Update({ values }) {
15661
15627
  var _a;
15662
15628
  const form = useForm33({
@@ -15686,7 +15652,7 @@ function F_securityPolicyDocs_Update({ values }) {
15686
15652
  return service_document.update(body);
15687
15653
  },
15688
15654
  children: [
15689
- /* @__PURE__ */ jsx188(
15655
+ /* @__PURE__ */ jsx186(
15690
15656
  TextInput9,
15691
15657
  __spreadValues({
15692
15658
  withAsterisk: true,
@@ -15694,21 +15660,21 @@ function F_securityPolicyDocs_Update({ values }) {
15694
15660
  label: "S\u1ED1 quy \u0111\u1ECBnh"
15695
15661
  }, form.getInputProps("decisionCode"))
15696
15662
  ),
15697
- /* @__PURE__ */ jsx188(
15663
+ /* @__PURE__ */ jsx186(
15698
15664
  MyDateInput,
15699
15665
  __spreadValues({
15700
15666
  withAsterisk: true,
15701
15667
  label: "Ng\xE0y ban h\xE0nh"
15702
15668
  }, form.getInputProps("promulgateDate"))
15703
15669
  ),
15704
- /* @__PURE__ */ jsx188(
15670
+ /* @__PURE__ */ jsx186(
15705
15671
  TextInput9,
15706
15672
  __spreadValues({
15707
15673
  withAsterisk: true,
15708
15674
  label: "T\xEAn t\xE0i li\u1EC7u"
15709
15675
  }, form.getInputProps("name"))
15710
15676
  ),
15711
- /* @__PURE__ */ jsx188(
15677
+ /* @__PURE__ */ jsx186(
15712
15678
  FileInput12,
15713
15679
  __spreadValues({
15714
15680
  withAsterisk: true,
@@ -15721,13 +15687,13 @@ function F_securityPolicyDocs_Update({ values }) {
15721
15687
  }
15722
15688
 
15723
15689
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Read.tsx
15724
- import { jsx as jsx189, jsxs as jsxs106 } from "react/jsx-runtime";
15690
+ import { jsx as jsx187, jsxs as jsxs106 } from "react/jsx-runtime";
15725
15691
  function F_securityPolicyDocs_Read({ SecurityTypeId }) {
15726
15692
  const query = useMyReactQuery({
15727
15693
  queryKey: ["F_securityPolicyDocs_Read"],
15728
15694
  axiosFn: () => service_document.GetByType(SecurityTypeId)
15729
15695
  });
15730
- const columns = useMemo28(
15696
+ const columns = useMemo29(
15731
15697
  () => [
15732
15698
  {
15733
15699
  header: "S\u1ED1 quy \u0111\u1ECBnh",
@@ -15744,25 +15710,25 @@ function F_securityPolicyDocs_Read({ SecurityTypeId }) {
15744
15710
  {
15745
15711
  header: "File",
15746
15712
  accessorFn: (row) => {
15747
- return /* @__PURE__ */ jsx189(MyCenterFull, { children: /* @__PURE__ */ jsx189(MyButtonViewPDF, { id: row.id }) });
15713
+ return /* @__PURE__ */ jsx187(MyCenterFull, { children: /* @__PURE__ */ jsx187(MyButtonViewPDF, { id: row.id }) });
15748
15714
  }
15749
15715
  }
15750
15716
  ],
15751
15717
  []
15752
15718
  );
15753
- return /* @__PURE__ */ jsx189(
15719
+ return /* @__PURE__ */ jsx187(
15754
15720
  MyDataTable,
15755
15721
  {
15756
15722
  isLoading: query.isLoading,
15757
15723
  isError: query.isError,
15758
15724
  columns,
15759
15725
  data: query.data || [],
15760
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx189(F_securityPolicyDocs_Create, { SecurityTypeId }),
15726
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx187(F_securityPolicyDocs_Create, { SecurityTypeId }),
15761
15727
  renderRowActions: ({ row }) => {
15762
15728
  var _a;
15763
15729
  return /* @__PURE__ */ jsxs106(MyCenterFull, { children: [
15764
- /* @__PURE__ */ jsx189(F_securityPolicyDocs_Update, { values: row.original }),
15765
- /* @__PURE__ */ jsx189(
15730
+ /* @__PURE__ */ jsx187(F_securityPolicyDocs_Update, { values: row.original }),
15731
+ /* @__PURE__ */ jsx187(
15766
15732
  F_securityPolicyDocs_Delete,
15767
15733
  {
15768
15734
  id: row.original.id,
@@ -15776,18 +15742,18 @@ function F_securityPolicyDocs_Read({ SecurityTypeId }) {
15776
15742
  }
15777
15743
 
15778
15744
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs.tsx
15779
- import { jsx as jsx190 } from "react/jsx-runtime";
15745
+ import { jsx as jsx188 } from "react/jsx-runtime";
15780
15746
  function F_securityPolicyDocs({ SecurityTypeId }) {
15781
- return /* @__PURE__ */ jsx190(F_securityPolicyDocs_Read, { SecurityTypeId });
15747
+ return /* @__PURE__ */ jsx188(F_securityPolicyDocs_Read, { SecurityTypeId });
15782
15748
  }
15783
15749
 
15784
15750
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs.tsx
15785
- import { useMemo as useMemo29 } from "react";
15751
+ import { useMemo as useMemo30 } from "react";
15786
15752
 
15787
15753
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Create.tsx
15788
15754
  import { FileInput as FileInput13, Textarea as Textarea6 } from "@mantine/core";
15789
15755
  import { useForm as useForm34 } from "@mantine/form";
15790
- import { jsx as jsx191, jsxs as jsxs107 } from "react/jsx-runtime";
15756
+ import { jsx as jsx189, jsxs as jsxs107 } from "react/jsx-runtime";
15791
15757
  function F_systemUpdateDocs_Create({
15792
15758
  RefinementTypeId
15793
15759
  }) {
@@ -15815,43 +15781,43 @@ function F_systemUpdateDocs_Create({
15815
15781
  return service_document.create(body);
15816
15782
  },
15817
15783
  children: [
15818
- /* @__PURE__ */ jsx191(
15784
+ /* @__PURE__ */ jsx189(
15819
15785
  MyDateInput,
15820
15786
  __spreadValues({
15821
15787
  withAsterisk: true,
15822
15788
  label: "Ng\xE0y h\u1ECDp"
15823
15789
  }, form.getInputProps("meetingDate"))
15824
15790
  ),
15825
- /* @__PURE__ */ jsx191(
15791
+ /* @__PURE__ */ jsx189(
15826
15792
  MyTextInput,
15827
15793
  __spreadValues({
15828
15794
  withAsterisk: true,
15829
15795
  label: "\u0110\u01A1n v\u1ECB y\xEAu c\u1EA7u"
15830
15796
  }, form.getInputProps("departmentName"))
15831
15797
  ),
15832
- /* @__PURE__ */ jsx191(
15798
+ /* @__PURE__ */ jsx189(
15833
15799
  MyTextInput,
15834
15800
  __spreadValues({
15835
15801
  withAsterisk: true,
15836
15802
  label: "N\u1ED9i dung c\u1EA3i ti\u1EBFn"
15837
15803
  }, form.getInputProps("description"))
15838
15804
  ),
15839
- /* @__PURE__ */ jsx191(MyTextInput, __spreadValues({ label: "K\u1EBFt lu\u1EADn" }, form.getInputProps("conclusion"))),
15840
- /* @__PURE__ */ jsx191(
15805
+ /* @__PURE__ */ jsx189(MyTextInput, __spreadValues({ label: "K\u1EBFt lu\u1EADn" }, form.getInputProps("conclusion"))),
15806
+ /* @__PURE__ */ jsx189(
15841
15807
  MyDateInput,
15842
15808
  __spreadValues({
15843
15809
  withAsterisk: true,
15844
15810
  label: "Ng\xE0y b\u1EAFt \u0111\u1EA7u"
15845
15811
  }, form.getInputProps("startDate"))
15846
15812
  ),
15847
- /* @__PURE__ */ jsx191(
15813
+ /* @__PURE__ */ jsx189(
15848
15814
  MyDateInput,
15849
15815
  __spreadValues({
15850
15816
  withAsterisk: true,
15851
15817
  label: "Ng\xE0y k\u1EBFt th\xFAc"
15852
15818
  }, form.getInputProps("endDate"))
15853
15819
  ),
15854
- /* @__PURE__ */ jsx191(
15820
+ /* @__PURE__ */ jsx189(
15855
15821
  FileInput13,
15856
15822
  __spreadValues({
15857
15823
  placeholder: "T\u1EA3i l\xEAn t\xE0i li\u1EC7u",
@@ -15859,19 +15825,19 @@ function F_systemUpdateDocs_Create({
15859
15825
  label: "T\xE0i li\u1EC7u"
15860
15826
  }, form.getInputProps("file"))
15861
15827
  ),
15862
- /* @__PURE__ */ jsx191(Textarea6, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note")))
15828
+ /* @__PURE__ */ jsx189(Textarea6, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note")))
15863
15829
  ]
15864
15830
  }
15865
15831
  );
15866
15832
  }
15867
15833
 
15868
15834
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Delete.tsx
15869
- import { jsx as jsx192 } from "react/jsx-runtime";
15835
+ import { jsx as jsx190 } from "react/jsx-runtime";
15870
15836
  function F_systemUpdateDocs_Delete({
15871
15837
  id,
15872
15838
  contextData
15873
15839
  }) {
15874
- return /* @__PURE__ */ jsx192(
15840
+ return /* @__PURE__ */ jsx190(
15875
15841
  MyActionIconDelete,
15876
15842
  {
15877
15843
  contextData,
@@ -15883,7 +15849,7 @@ function F_systemUpdateDocs_Delete({
15883
15849
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Update.tsx
15884
15850
  import { FileInput as FileInput14, Textarea as Textarea7 } from "@mantine/core";
15885
15851
  import { useForm as useForm35 } from "@mantine/form";
15886
- import { jsx as jsx193, jsxs as jsxs108 } from "react/jsx-runtime";
15852
+ import { jsx as jsx191, jsxs as jsxs108 } from "react/jsx-runtime";
15887
15853
  function F_systemUpdateDocs_Update({ values }) {
15888
15854
  var _a;
15889
15855
  const form = useForm35({
@@ -15917,43 +15883,43 @@ function F_systemUpdateDocs_Update({ values }) {
15917
15883
  return service_document.update(body);
15918
15884
  },
15919
15885
  children: [
15920
- /* @__PURE__ */ jsx193(
15886
+ /* @__PURE__ */ jsx191(
15921
15887
  MyDateInput,
15922
15888
  __spreadValues({
15923
15889
  withAsterisk: true,
15924
15890
  label: "Ng\xE0y h\u1ECDp"
15925
15891
  }, form.getInputProps("meetingDate"))
15926
15892
  ),
15927
- /* @__PURE__ */ jsx193(
15893
+ /* @__PURE__ */ jsx191(
15928
15894
  MyTextInput,
15929
15895
  __spreadValues({
15930
15896
  withAsterisk: true,
15931
15897
  label: "\u0110\u01A1n v\u1ECB y\xEAu c\u1EA7u"
15932
15898
  }, form.getInputProps("departmentName"))
15933
15899
  ),
15934
- /* @__PURE__ */ jsx193(
15900
+ /* @__PURE__ */ jsx191(
15935
15901
  MyTextInput,
15936
15902
  __spreadValues({
15937
15903
  withAsterisk: true,
15938
15904
  label: "N\u1ED9i dung c\u1EA3i ti\u1EBFn"
15939
15905
  }, form.getInputProps("description"))
15940
15906
  ),
15941
- /* @__PURE__ */ jsx193(MyTextInput, __spreadValues({ label: "K\u1EBFt lu\u1EADn" }, form.getInputProps("conclusion"))),
15942
- /* @__PURE__ */ jsx193(
15907
+ /* @__PURE__ */ jsx191(MyTextInput, __spreadValues({ label: "K\u1EBFt lu\u1EADn" }, form.getInputProps("conclusion"))),
15908
+ /* @__PURE__ */ jsx191(
15943
15909
  MyDateInput,
15944
15910
  __spreadValues({
15945
15911
  withAsterisk: true,
15946
15912
  label: "Ng\xE0y b\u1EAFt \u0111\u1EA7u"
15947
15913
  }, form.getInputProps("startDate"))
15948
15914
  ),
15949
- /* @__PURE__ */ jsx193(
15915
+ /* @__PURE__ */ jsx191(
15950
15916
  MyDateInput,
15951
15917
  __spreadValues({
15952
15918
  withAsterisk: true,
15953
15919
  label: "Ng\xE0y k\u1EBFt th\xFAc"
15954
15920
  }, form.getInputProps("endDate"))
15955
15921
  ),
15956
- /* @__PURE__ */ jsx193(
15922
+ /* @__PURE__ */ jsx191(
15957
15923
  FileInput14,
15958
15924
  __spreadValues({
15959
15925
  placeholder: "T\u1EA3i l\xEAn t\xE0i li\u1EC7u",
@@ -15961,20 +15927,20 @@ function F_systemUpdateDocs_Update({ values }) {
15961
15927
  label: "T\xE0i li\u1EC7u"
15962
15928
  }, form.getInputProps("file"))
15963
15929
  ),
15964
- /* @__PURE__ */ jsx193(Textarea7, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note")))
15930
+ /* @__PURE__ */ jsx191(Textarea7, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note")))
15965
15931
  ]
15966
15932
  }
15967
15933
  );
15968
15934
  }
15969
15935
 
15970
15936
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs.tsx
15971
- import { jsx as jsx194, jsxs as jsxs109 } from "react/jsx-runtime";
15937
+ import { jsx as jsx192, jsxs as jsxs109 } from "react/jsx-runtime";
15972
15938
  function F_systemUpdateDocs({ RefinementTypeId }) {
15973
15939
  const query = useMyReactQuery({
15974
15940
  queryKey: ["F_systemUpdateDocs_Read"],
15975
15941
  axiosFn: () => service_document.GetByType(RefinementTypeId)
15976
15942
  });
15977
- const columns = useMemo29(
15943
+ const columns = useMemo30(
15978
15944
  () => [
15979
15945
  {
15980
15946
  header: "\u0110\u01A1n v\u1ECB y\xEAu c\u1EA7u",
@@ -15995,24 +15961,24 @@ function F_systemUpdateDocs({ RefinementTypeId }) {
15995
15961
  {
15996
15962
  header: "File",
15997
15963
  accessorFn: (row) => {
15998
- return /* @__PURE__ */ jsx194(MyCenterFull, { children: /* @__PURE__ */ jsx194(MyButtonViewPDF, { id: row.id }) });
15964
+ return /* @__PURE__ */ jsx192(MyCenterFull, { children: /* @__PURE__ */ jsx192(MyButtonViewPDF, { id: row.id }) });
15999
15965
  }
16000
15966
  }
16001
15967
  ],
16002
15968
  []
16003
15969
  );
16004
- return /* @__PURE__ */ jsx194(
15970
+ return /* @__PURE__ */ jsx192(
16005
15971
  MyDataTable,
16006
15972
  {
16007
15973
  isLoading: query.isLoading,
16008
15974
  isError: query.isError,
16009
15975
  columns,
16010
15976
  data: query.data || [],
16011
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx194(F_systemUpdateDocs_Create, { RefinementTypeId }),
15977
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx192(F_systemUpdateDocs_Create, { RefinementTypeId }),
16012
15978
  renderRowActions: ({ row }) => {
16013
15979
  return /* @__PURE__ */ jsxs109(MyCenterFull, { children: [
16014
- /* @__PURE__ */ jsx194(F_systemUpdateDocs_Update, { values: row.original }),
16015
- /* @__PURE__ */ jsx194(
15980
+ /* @__PURE__ */ jsx192(F_systemUpdateDocs_Update, { values: row.original }),
15981
+ /* @__PURE__ */ jsx192(
16016
15982
  F_systemUpdateDocs_Delete,
16017
15983
  {
16018
15984
  id: row.original.id,
@@ -16026,12 +15992,12 @@ function F_systemUpdateDocs({ RefinementTypeId }) {
16026
15992
  }
16027
15993
 
16028
15994
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Read.tsx
16029
- import { useMemo as useMemo30 } from "react";
15995
+ import { useMemo as useMemo31 } from "react";
16030
15996
 
16031
15997
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Create.tsx
16032
15998
  import { FileInput as FileInput15 } from "@mantine/core";
16033
15999
  import { useForm as useForm36 } from "@mantine/form";
16034
- import { jsx as jsx195, jsxs as jsxs110 } from "react/jsx-runtime";
16000
+ import { jsx as jsx193, jsxs as jsxs110 } from "react/jsx-runtime";
16035
16001
  function F_userGuideDocs_Create({ GuidelineTypeId }) {
16036
16002
  const form = useForm36({
16037
16003
  mode: "uncontrolled",
@@ -16054,21 +16020,21 @@ function F_userGuideDocs_Create({ GuidelineTypeId }) {
16054
16020
  return service_document.create(body);
16055
16021
  },
16056
16022
  children: [
16057
- /* @__PURE__ */ jsx195(
16023
+ /* @__PURE__ */ jsx193(
16058
16024
  MyTextInput,
16059
16025
  __spreadValues({
16060
16026
  withAsterisk: true,
16061
16027
  label: "M\xE3 t\xE0i li\u1EC7u"
16062
16028
  }, form.getInputProps("code"))
16063
16029
  ),
16064
- /* @__PURE__ */ jsx195(
16030
+ /* @__PURE__ */ jsx193(
16065
16031
  MyTextInput,
16066
16032
  __spreadValues({
16067
16033
  withAsterisk: true,
16068
16034
  label: "T\xEAn t\xE0i li\u1EC7u"
16069
16035
  }, form.getInputProps("name"))
16070
16036
  ),
16071
- /* @__PURE__ */ jsx195(
16037
+ /* @__PURE__ */ jsx193(
16072
16038
  FileInput15,
16073
16039
  __spreadValues({
16074
16040
  withAsterisk: true,
@@ -16082,12 +16048,12 @@ function F_userGuideDocs_Create({ GuidelineTypeId }) {
16082
16048
  }
16083
16049
 
16084
16050
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Delete.tsx
16085
- import { jsx as jsx196 } from "react/jsx-runtime";
16051
+ import { jsx as jsx194 } from "react/jsx-runtime";
16086
16052
  function F_userGuideDocs_Delete({
16087
16053
  id,
16088
16054
  contextData
16089
16055
  }) {
16090
- return /* @__PURE__ */ jsx196(
16056
+ return /* @__PURE__ */ jsx194(
16091
16057
  MyActionIconDelete,
16092
16058
  {
16093
16059
  contextData,
@@ -16099,7 +16065,7 @@ function F_userGuideDocs_Delete({
16099
16065
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Update.tsx
16100
16066
  import { FileInput as FileInput16 } from "@mantine/core";
16101
16067
  import { useForm as useForm37 } from "@mantine/form";
16102
- import { jsx as jsx197, jsxs as jsxs111 } from "react/jsx-runtime";
16068
+ import { jsx as jsx195, jsxs as jsxs111 } from "react/jsx-runtime";
16103
16069
  function F_userGuideDocs_Update({ values }) {
16104
16070
  var _a;
16105
16071
  const form = useForm37({
@@ -16127,7 +16093,7 @@ function F_userGuideDocs_Update({ values }) {
16127
16093
  return service_document.update(body);
16128
16094
  },
16129
16095
  children: [
16130
- /* @__PURE__ */ jsx197(
16096
+ /* @__PURE__ */ jsx195(
16131
16097
  MyTextInput,
16132
16098
  __spreadValues({
16133
16099
  withAsterisk: true,
@@ -16135,14 +16101,14 @@ function F_userGuideDocs_Update({ values }) {
16135
16101
  label: "M\xE3 t\xE0i li\u1EC7u"
16136
16102
  }, form.getInputProps("code"))
16137
16103
  ),
16138
- /* @__PURE__ */ jsx197(
16104
+ /* @__PURE__ */ jsx195(
16139
16105
  MyTextInput,
16140
16106
  __spreadValues({
16141
16107
  withAsterisk: true,
16142
16108
  label: "T\xEAn t\xE0i li\u1EC7u"
16143
16109
  }, form.getInputProps("name"))
16144
16110
  ),
16145
- /* @__PURE__ */ jsx197(
16111
+ /* @__PURE__ */ jsx195(
16146
16112
  FileInput16,
16147
16113
  __spreadValues({
16148
16114
  withAsterisk: true,
@@ -16156,13 +16122,13 @@ function F_userGuideDocs_Update({ values }) {
16156
16122
  }
16157
16123
 
16158
16124
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Read.tsx
16159
- import { jsx as jsx198, jsxs as jsxs112 } from "react/jsx-runtime";
16125
+ import { jsx as jsx196, jsxs as jsxs112 } from "react/jsx-runtime";
16160
16126
  function F_userGuideDocs_Read({ GuidelineTypeId }) {
16161
16127
  const query = useMyReactQuery({
16162
16128
  queryKey: ["F_userGuideDocs_Read"],
16163
16129
  axiosFn: () => service_document.GetByType(GuidelineTypeId)
16164
16130
  });
16165
- const columns = useMemo30(
16131
+ const columns = useMemo31(
16166
16132
  () => [
16167
16133
  {
16168
16134
  header: "M\xE3 t\xE0i li\u1EC7u",
@@ -16175,24 +16141,24 @@ function F_userGuideDocs_Read({ GuidelineTypeId }) {
16175
16141
  {
16176
16142
  header: "File",
16177
16143
  accessorFn: (row) => {
16178
- return /* @__PURE__ */ jsx198(MyCenterFull, { children: /* @__PURE__ */ jsx198(MyButtonViewPDF, { id: row.id }) });
16144
+ return /* @__PURE__ */ jsx196(MyCenterFull, { children: /* @__PURE__ */ jsx196(MyButtonViewPDF, { id: row.id }) });
16179
16145
  }
16180
16146
  }
16181
16147
  ],
16182
16148
  []
16183
16149
  );
16184
- return /* @__PURE__ */ jsx198(
16150
+ return /* @__PURE__ */ jsx196(
16185
16151
  MyDataTable,
16186
16152
  {
16187
16153
  isLoading: query.isLoading,
16188
16154
  isError: query.isError,
16189
16155
  columns,
16190
16156
  data: query.data || [],
16191
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx198(F_userGuideDocs_Create, { GuidelineTypeId }),
16157
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx196(F_userGuideDocs_Create, { GuidelineTypeId }),
16192
16158
  renderRowActions: ({ row }) => {
16193
16159
  return /* @__PURE__ */ jsxs112(MyCenterFull, { children: [
16194
- /* @__PURE__ */ jsx198(F_userGuideDocs_Update, { values: row.original }),
16195
- /* @__PURE__ */ jsx198(
16160
+ /* @__PURE__ */ jsx196(F_userGuideDocs_Update, { values: row.original }),
16161
+ /* @__PURE__ */ jsx196(
16196
16162
  F_userGuideDocs_Delete,
16197
16163
  {
16198
16164
  id: row.original.id,
@@ -16206,9 +16172,9 @@ function F_userGuideDocs_Read({ GuidelineTypeId }) {
16206
16172
  }
16207
16173
 
16208
16174
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs.tsx
16209
- import { jsx as jsx199 } from "react/jsx-runtime";
16175
+ import { jsx as jsx197 } from "react/jsx-runtime";
16210
16176
  function F_userGuideDocs({ GuidelineTypeId }) {
16211
- return /* @__PURE__ */ jsx199(F_userGuideDocs_Read, { GuidelineTypeId });
16177
+ return /* @__PURE__ */ jsx197(F_userGuideDocs_Read, { GuidelineTypeId });
16212
16178
  }
16213
16179
 
16214
16180
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs.tsx
@@ -16216,7 +16182,7 @@ import { Space as Space9 } from "@mantine/core";
16216
16182
 
16217
16183
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Create.tsx
16218
16184
  import { useForm as useForm38 } from "@mantine/form";
16219
- import { jsx as jsx200, jsxs as jsxs113 } from "react/jsx-runtime";
16185
+ import { jsx as jsx198, jsxs as jsxs113 } from "react/jsx-runtime";
16220
16186
  function F_workflowProcessDocs_Create({
16221
16187
  WorkflowTypeId
16222
16188
  }) {
@@ -16243,28 +16209,28 @@ function F_workflowProcessDocs_Create({
16243
16209
  return service_document.create(body);
16244
16210
  },
16245
16211
  children: [
16246
- /* @__PURE__ */ jsx200(
16212
+ /* @__PURE__ */ jsx198(
16247
16213
  MyTextInput,
16248
16214
  __spreadValues({
16249
16215
  withAsterisk: true,
16250
16216
  label: "S\u1ED1 quy \u0111\u1ECBnh"
16251
16217
  }, form.getInputProps("decisionCode"))
16252
16218
  ),
16253
- /* @__PURE__ */ jsx200(
16219
+ /* @__PURE__ */ jsx198(
16254
16220
  MyDateInput,
16255
16221
  __spreadValues({
16256
16222
  withAsterisk: true,
16257
16223
  label: "Ng\xE0y ban h\xE0nh"
16258
16224
  }, form.getInputProps("promulgateDate"))
16259
16225
  ),
16260
- /* @__PURE__ */ jsx200(
16226
+ /* @__PURE__ */ jsx198(
16261
16227
  MyTextInput,
16262
16228
  __spreadValues({
16263
16229
  withAsterisk: true,
16264
16230
  label: "T\xEAn t\xE0i li\u1EC7u"
16265
16231
  }, form.getInputProps("name"))
16266
16232
  ),
16267
- /* @__PURE__ */ jsx200(
16233
+ /* @__PURE__ */ jsx198(
16268
16234
  F_core18256_Select,
16269
16235
  __spreadValues({
16270
16236
  withAsterisk: true,
@@ -16272,14 +16238,14 @@ function F_workflowProcessDocs_Create({
16272
16238
  documentTypeId: WorkflowTypeId
16273
16239
  }, form.getInputProps("documentAttributeId"))
16274
16240
  ),
16275
- /* @__PURE__ */ jsx200(
16241
+ /* @__PURE__ */ jsx198(
16276
16242
  MyFileInput,
16277
16243
  __spreadValues({
16278
16244
  withAsterisk: true,
16279
16245
  label: "V\u0103n b\u1EA3n"
16280
16246
  }, form.getInputProps("file"))
16281
16247
  ),
16282
- /* @__PURE__ */ jsx200(
16248
+ /* @__PURE__ */ jsx198(
16283
16249
  MyNumberInput,
16284
16250
  __spreadValues({
16285
16251
  label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
@@ -16293,15 +16259,15 @@ function F_workflowProcessDocs_Create({
16293
16259
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Read.tsx
16294
16260
  import { Accordion as Accordion6, Alert as Alert7, Blockquote as Blockquote6, Skeleton as Skeleton7 } from "@mantine/core";
16295
16261
  import { IconBug as IconBug7 } from "@tabler/icons-react";
16296
- import { useEffect as useEffect35, useMemo as useMemo31, useState as useState28 } from "react";
16262
+ import { useEffect as useEffect35, useMemo as useMemo32, useState as useState28 } from "react";
16297
16263
 
16298
16264
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Delete.tsx
16299
- import { jsx as jsx201 } from "react/jsx-runtime";
16265
+ import { jsx as jsx199 } from "react/jsx-runtime";
16300
16266
  function F_workflowProcessDocs_Delete({
16301
16267
  id,
16302
16268
  contextData
16303
16269
  }) {
16304
- return /* @__PURE__ */ jsx201(
16270
+ return /* @__PURE__ */ jsx199(
16305
16271
  MyActionIconDelete,
16306
16272
  {
16307
16273
  contextData,
@@ -16312,7 +16278,7 @@ function F_workflowProcessDocs_Delete({
16312
16278
 
16313
16279
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Update.tsx
16314
16280
  import { useForm as useForm39 } from "@mantine/form";
16315
- import { jsx as jsx202, jsxs as jsxs114 } from "react/jsx-runtime";
16281
+ import { jsx as jsx200, jsxs as jsxs114 } from "react/jsx-runtime";
16316
16282
  function F_workflowProcessDocs_Update({
16317
16283
  values,
16318
16284
  WorkflowTypeId
@@ -16345,7 +16311,7 @@ function F_workflowProcessDocs_Update({
16345
16311
  return service_document.update(body);
16346
16312
  },
16347
16313
  children: [
16348
- /* @__PURE__ */ jsx202(
16314
+ /* @__PURE__ */ jsx200(
16349
16315
  MyTextInput,
16350
16316
  __spreadValues({
16351
16317
  withAsterisk: true,
@@ -16353,21 +16319,21 @@ function F_workflowProcessDocs_Update({
16353
16319
  label: "S\u1ED1 quy \u0111\u1ECBnh"
16354
16320
  }, form.getInputProps("decisionCode"))
16355
16321
  ),
16356
- /* @__PURE__ */ jsx202(
16322
+ /* @__PURE__ */ jsx200(
16357
16323
  MyDateInput,
16358
16324
  __spreadValues({
16359
16325
  withAsterisk: true,
16360
16326
  label: "Ng\xE0y ban h\xE0nh"
16361
16327
  }, form.getInputProps("promulgateDate"))
16362
16328
  ),
16363
- /* @__PURE__ */ jsx202(
16329
+ /* @__PURE__ */ jsx200(
16364
16330
  MyTextInput,
16365
16331
  __spreadValues({
16366
16332
  withAsterisk: true,
16367
16333
  label: "T\xEAn t\xE0i li\u1EC7u"
16368
16334
  }, form.getInputProps("name"))
16369
16335
  ),
16370
- /* @__PURE__ */ jsx202(
16336
+ /* @__PURE__ */ jsx200(
16371
16337
  F_core18256_Select,
16372
16338
  __spreadValues({
16373
16339
  withAsterisk: true,
@@ -16375,14 +16341,14 @@ function F_workflowProcessDocs_Update({
16375
16341
  documentTypeId: WorkflowTypeId
16376
16342
  }, form.getInputProps("documentAttributeId"))
16377
16343
  ),
16378
- /* @__PURE__ */ jsx202(
16344
+ /* @__PURE__ */ jsx200(
16379
16345
  MyFileInput,
16380
16346
  __spreadValues({
16381
16347
  withAsterisk: true,
16382
16348
  label: "V\u0103n b\u1EA3n"
16383
16349
  }, form.getInputProps("file"))
16384
16350
  ),
16385
- /* @__PURE__ */ jsx202(
16351
+ /* @__PURE__ */ jsx200(
16386
16352
  MyNumberInput,
16387
16353
  __spreadValues({
16388
16354
  label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
@@ -16394,7 +16360,7 @@ function F_workflowProcessDocs_Update({
16394
16360
  }
16395
16361
 
16396
16362
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Read.tsx
16397
- import { jsx as jsx203, jsxs as jsxs115 } from "react/jsx-runtime";
16363
+ import { jsx as jsx201, jsxs as jsxs115 } from "react/jsx-runtime";
16398
16364
  function F_workflowProcessDocs_Read({
16399
16365
  WorkflowTypeId
16400
16366
  }) {
@@ -16414,10 +16380,10 @@ function F_workflowProcessDocs_Read({
16414
16380
  }
16415
16381
  }, [documentAttributeQuery.data]);
16416
16382
  if (((_a = documentAttributeQuery.data) == null ? void 0 : _a.length) == 0)
16417
- return /* @__PURE__ */ jsx203(Blockquote6, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
16383
+ return /* @__PURE__ */ jsx201(Blockquote6, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
16418
16384
  if (documentAttributeQuery.isError)
16419
- return /* @__PURE__ */ jsx203(Alert7, { icon: /* @__PURE__ */ jsx203(IconBug7, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
16420
- return /* @__PURE__ */ jsx203(Skeleton7, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx203(MyFlexColumn, { children: /* @__PURE__ */ jsx203(
16385
+ return /* @__PURE__ */ jsx201(Alert7, { icon: /* @__PURE__ */ jsx201(IconBug7, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
16386
+ return /* @__PURE__ */ jsx201(Skeleton7, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx201(MyFlexColumn, { children: /* @__PURE__ */ jsx201(
16421
16387
  Accordion6,
16422
16388
  {
16423
16389
  variant: "separated",
@@ -16430,7 +16396,7 @@ function F_workflowProcessDocs_Read({
16430
16396
  value: openItems,
16431
16397
  onChange: setOpenItems,
16432
16398
  multiple: true,
16433
- children: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map((item, idx) => /* @__PURE__ */ jsx203(
16399
+ children: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map((item, idx) => /* @__PURE__ */ jsx201(
16434
16400
  SubRead6,
16435
16401
  {
16436
16402
  name: item.name,
@@ -16451,7 +16417,7 @@ function SubRead6({
16451
16417
  queryKey: ["F_workflowProcessDocs_Read" + id],
16452
16418
  axiosFn: () => service_document.GetByDocumentAttribute(id)
16453
16419
  });
16454
- const columns = useMemo31(
16420
+ const columns = useMemo32(
16455
16421
  () => [
16456
16422
  {
16457
16423
  header: "S\u1ED1 quy \u0111\u1ECBnh",
@@ -16468,15 +16434,15 @@ function SubRead6({
16468
16434
  {
16469
16435
  header: "File",
16470
16436
  accessorFn: (row) => {
16471
- return /* @__PURE__ */ jsx203(MyCenterFull, { children: /* @__PURE__ */ jsx203(MyButtonViewPDF, { id: row.id }) });
16437
+ return /* @__PURE__ */ jsx201(MyCenterFull, { children: /* @__PURE__ */ jsx201(MyButtonViewPDF, { id: row.id }) });
16472
16438
  }
16473
16439
  }
16474
16440
  ],
16475
16441
  []
16476
16442
  );
16477
- return /* @__PURE__ */ jsx203(Skeleton7, { mt: 10, visible: documentQuery.isLoading, children: /* @__PURE__ */ jsxs115(Accordion6.Item, { value: id.toString(), children: [
16478
- /* @__PURE__ */ jsx203(Accordion6.Control, { children: name }),
16479
- /* @__PURE__ */ jsx203(Accordion6.Panel, { children: /* @__PURE__ */ jsx203(
16443
+ return /* @__PURE__ */ jsx201(Skeleton7, { mt: 10, visible: documentQuery.isLoading, children: /* @__PURE__ */ jsxs115(Accordion6.Item, { value: id.toString(), children: [
16444
+ /* @__PURE__ */ jsx201(Accordion6.Control, { children: name }),
16445
+ /* @__PURE__ */ jsx201(Accordion6.Panel, { children: /* @__PURE__ */ jsx201(
16480
16446
  MyDataTable,
16481
16447
  {
16482
16448
  isLoading: documentQuery.isLoading,
@@ -16484,14 +16450,14 @@ function SubRead6({
16484
16450
  columns,
16485
16451
  data: documentQuery.data || [],
16486
16452
  renderRowActions: ({ row }) => /* @__PURE__ */ jsxs115(MyCenterFull, { children: [
16487
- /* @__PURE__ */ jsx203(
16453
+ /* @__PURE__ */ jsx201(
16488
16454
  F_workflowProcessDocs_Update,
16489
16455
  {
16490
16456
  WorkflowTypeId,
16491
16457
  values: row.original
16492
16458
  }
16493
16459
  ),
16494
- /* @__PURE__ */ jsx203(
16460
+ /* @__PURE__ */ jsx201(
16495
16461
  F_workflowProcessDocs_Delete,
16496
16462
  {
16497
16463
  id: row.original.id,
@@ -16505,14 +16471,14 @@ function SubRead6({
16505
16471
  }
16506
16472
 
16507
16473
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs.tsx
16508
- import { Fragment as Fragment27, jsx as jsx204, jsxs as jsxs116 } from "react/jsx-runtime";
16474
+ import { Fragment as Fragment27, jsx as jsx202, jsxs as jsxs116 } from "react/jsx-runtime";
16509
16475
  function F_workflowProcessDocs({
16510
16476
  WorkflowTypeId
16511
16477
  }) {
16512
16478
  return /* @__PURE__ */ jsxs116(Fragment27, { children: [
16513
- /* @__PURE__ */ jsx204(MyFlexEnd, { children: /* @__PURE__ */ jsx204(F_workflowProcessDocs_Create, { WorkflowTypeId }) }),
16514
- /* @__PURE__ */ jsx204(Space9, {}),
16515
- /* @__PURE__ */ jsx204(F_workflowProcessDocs_Read, { WorkflowTypeId })
16479
+ /* @__PURE__ */ jsx202(MyFlexEnd, { children: /* @__PURE__ */ jsx202(F_workflowProcessDocs_Create, { WorkflowTypeId }) }),
16480
+ /* @__PURE__ */ jsx202(Space9, {}),
16481
+ /* @__PURE__ */ jsx202(F_workflowProcessDocs_Read, { WorkflowTypeId })
16516
16482
  ] });
16517
16483
  }
16518
16484
 
@@ -16538,7 +16504,7 @@ import { useRouter as useRouter4 } from "next/navigation.js";
16538
16504
  import { useEffect as useEffect36 } from "react";
16539
16505
 
16540
16506
  // src/modules-features/authenticate/useStore_Authenticate.ts
16541
- var useStore5 = createGenericStore({
16507
+ var useStore5 = createGenericStore2({
16542
16508
  initialState: { token: "", saveLogin: false, username: "", password: "", workingUnitId: 0, roleIds: [] },
16543
16509
  storageKey: "useStore_Authenticate"
16544
16510
  });
@@ -16548,7 +16514,7 @@ function useStore_Authenticate() {
16548
16514
  }
16549
16515
 
16550
16516
  // src/modules-features/authenticate/Feat_Authenticate_Login.tsx
16551
- import { jsx as jsx205, jsxs as jsxs117 } from "react/jsx-runtime";
16517
+ import { jsx as jsx203, jsxs as jsxs117 } from "react/jsx-runtime";
16552
16518
  function Feat_Authenticate_Login({
16553
16519
  header,
16554
16520
  redirectUrlAfterLogin = "/admin/dashboard",
@@ -16638,15 +16604,15 @@ function Feat_Authenticate_Login({
16638
16604
  }
16639
16605
  });
16640
16606
  }
16641
- return /* @__PURE__ */ jsx205(
16607
+ return /* @__PURE__ */ jsx203(
16642
16608
  BackgroundImage,
16643
16609
  {
16644
16610
  src: backgroundImage,
16645
16611
  h: "100vh",
16646
- children: /* @__PURE__ */ jsx205(Center11, { h: "100vh", children: /* @__PURE__ */ jsxs117(Paper13, { withBorder: true, w: 400, m: "md", shadow: "md", p: 30, mt: 30, radius: "md", children: [
16647
- header ? header : /* @__PURE__ */ jsx205(Flex9, { direction: "column", mb: "md", children: /* @__PURE__ */ jsx205(Title2, { ta: "center", fw: "900", children: "\u0110\u0103ng nh\u1EADp!" }) }),
16648
- /* @__PURE__ */ jsx205("form", { onSubmit: form.onSubmit(async (values) => handleSubmit(values.username, values.password)), children: /* @__PURE__ */ jsxs117(MyFlexColumn, { children: [
16649
- /* @__PURE__ */ jsx205(
16612
+ children: /* @__PURE__ */ jsx203(Center11, { h: "100vh", children: /* @__PURE__ */ jsxs117(Paper13, { withBorder: true, w: 400, m: "md", shadow: "md", p: 30, mt: 30, radius: "md", children: [
16613
+ header ? header : /* @__PURE__ */ jsx203(Flex9, { direction: "column", mb: "md", children: /* @__PURE__ */ jsx203(Title2, { ta: "center", fw: "900", children: "\u0110\u0103ng nh\u1EADp!" }) }),
16614
+ /* @__PURE__ */ jsx203("form", { onSubmit: form.onSubmit(async (values) => handleSubmit(values.username, values.password)), children: /* @__PURE__ */ jsxs117(MyFlexColumn, { children: [
16615
+ /* @__PURE__ */ jsx203(
16650
16616
  TextInput10,
16651
16617
  __spreadProps(__spreadValues({}, form.getInputProps("username")), {
16652
16618
  label: "T\xE0i kho\u1EA3n",
@@ -16654,7 +16620,7 @@ function Feat_Authenticate_Login({
16654
16620
  withAsterisk: true
16655
16621
  })
16656
16622
  ),
16657
- /* @__PURE__ */ jsx205(
16623
+ /* @__PURE__ */ jsx203(
16658
16624
  PasswordInput3,
16659
16625
  __spreadProps(__spreadValues({}, form.getInputProps("password")), {
16660
16626
  label: "M\u1EADt kh\u1EA9u",
@@ -16663,7 +16629,7 @@ function Feat_Authenticate_Login({
16663
16629
  })
16664
16630
  ),
16665
16631
  /* @__PURE__ */ jsxs117(Group30, { justify: "space-between", children: [
16666
- showSaveLogin && /* @__PURE__ */ jsx205(
16632
+ showSaveLogin && /* @__PURE__ */ jsx203(
16667
16633
  Checkbox6,
16668
16634
  {
16669
16635
  checked: authenticateStore.state.saveLogin,
@@ -16671,9 +16637,9 @@ function Feat_Authenticate_Login({
16671
16637
  label: "L\u01B0u \u0111\u0103ng nh\u1EADp"
16672
16638
  }
16673
16639
  ),
16674
- showForgotPassword && /* @__PURE__ */ jsx205(Anchor2, { component: Link3, href: "quen-mat-khau", size: "sm", children: "Qu\xEAn m\u1EADt kh\u1EA9u?" })
16640
+ showForgotPassword && /* @__PURE__ */ jsx203(Anchor2, { component: Link3, href: "quen-mat-khau", size: "sm", children: "Qu\xEAn m\u1EADt kh\u1EA9u?" })
16675
16641
  ] }),
16676
- showLoginButton && /* @__PURE__ */ jsx205(
16642
+ showLoginButton && /* @__PURE__ */ jsx203(
16677
16643
  Button20,
16678
16644
  __spreadProps(__spreadValues({
16679
16645
  loading: mutation.isPending,
@@ -16694,16 +16660,16 @@ function Feat_Authenticate_Login({
16694
16660
  import { Button as Button21 } from "@mantine/core";
16695
16661
  import { IconLogout } from "@tabler/icons-react";
16696
16662
  import { useRouter as useRouter5 } from "next/navigation.js";
16697
- import { jsx as jsx206 } from "react/jsx-runtime";
16663
+ import { jsx as jsx204 } from "react/jsx-runtime";
16698
16664
  function Feat_Authenticate_Logout({ redirectURL = "/auth/login" }) {
16699
16665
  const router = useRouter5();
16700
16666
  const authenticateStore = useStore_Authenticate();
16701
16667
  const permissionStore = useStore_Permission();
16702
- return /* @__PURE__ */ jsx206(Button21, { onClick: () => {
16668
+ return /* @__PURE__ */ jsx204(Button21, { onClick: () => {
16703
16669
  authenticateStore.setState({});
16704
16670
  permissionStore.setState({});
16705
16671
  router.replace(redirectURL);
16706
- }, leftSection: /* @__PURE__ */ jsx206(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
16672
+ }, leftSection: /* @__PURE__ */ jsx204(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
16707
16673
  }
16708
16674
 
16709
16675
  // src/modules-features/authenticate/Feat_Authenticate_SSOHandler.tsx
@@ -16732,7 +16698,7 @@ function useAuthenticateManager() {
16732
16698
  }
16733
16699
 
16734
16700
  // src/modules-features/authenticate/Feat_Authenticate_SSOHandler.tsx
16735
- import { jsx as jsx207, jsxs as jsxs118 } from "react/jsx-runtime";
16701
+ import { jsx as jsx205, jsxs as jsxs118 } from "react/jsx-runtime";
16736
16702
  function Feat_Authenticate_SSOHandler({
16737
16703
  menuData,
16738
16704
  onSuccessNavigateFollowRole
@@ -16784,15 +16750,15 @@ function Feat_Authenticate_SSOHandler({
16784
16750
  }
16785
16751
  }
16786
16752
  return /* @__PURE__ */ jsxs118("div", { children: [
16787
- /* @__PURE__ */ jsx207("h2", { children: "\u0110ang \u0111\u0103ng nh\u1EADp b\u1EB1ng SSO..." }),
16788
- messError && /* @__PURE__ */ jsx207("p", { style: { color: "red" }, children: messError })
16753
+ /* @__PURE__ */ jsx205("h2", { children: "\u0110ang \u0111\u0103ng nh\u1EADp b\u1EB1ng SSO..." }),
16754
+ messError && /* @__PURE__ */ jsx205("p", { style: { color: "red" }, children: messError })
16789
16755
  ] });
16790
16756
  }
16791
16757
 
16792
16758
  // src/modules-features/authenticate/F_authenticate_SplashPage.tsx
16793
16759
  import { useRouter as useRouter6 } from "next/navigation.js";
16794
16760
  import { useEffect as useEffect38 } from "react";
16795
- import { jsx as jsx208 } from "react/jsx-runtime";
16761
+ import { jsx as jsx206 } from "react/jsx-runtime";
16796
16762
  function F_authenticate_SplashPage() {
16797
16763
  const router = useRouter6();
16798
16764
  const authenticateStore = useStore_Authenticate();
@@ -16803,32 +16769,32 @@ function F_authenticate_SplashPage() {
16803
16769
  }
16804
16770
  router.push("/admin/core71678");
16805
16771
  }, [authenticateStore.state.token]);
16806
- return /* @__PURE__ */ jsx208(MyBoxesBackground, { title: "H\u1EC7 th\u1ED1ng th\xF4ng tin qu\u1EA3n l\xED \u0111\xE0o t\u1EA1o ng\u1EAFn h\u1EA1n" });
16772
+ return /* @__PURE__ */ jsx206(MyBoxesBackground, { title: "H\u1EC7 th\u1ED1ng th\xF4ng tin qu\u1EA3n l\xED \u0111\xE0o t\u1EA1o ng\u1EAFn h\u1EA1n" });
16807
16773
  }
16808
16774
 
16809
16775
  // src/modules-features/authenticate/tokenExpired/Feat_TokenExpired.tsx
16810
16776
  import { Button as Button22, Card as Card2, CardSection, Center as Center12, Text as Text20, Title as Title3 } from "@mantine/core";
16811
16777
  import { Clock, LogIn, Shield } from "lucide-react";
16812
- import { jsx as jsx209, jsxs as jsxs119 } from "react/jsx-runtime";
16778
+ import { jsx as jsx207, jsxs as jsxs119 } from "react/jsx-runtime";
16813
16779
  function Feat_TokenExpired({
16814
16780
  loginRedirect = "/auth/login"
16815
16781
  }) {
16816
16782
  const handleLogin = () => {
16817
16783
  window.location.href = loginRedirect;
16818
16784
  };
16819
- return /* @__PURE__ */ jsx209("div", { className: "min-h-screen flex items-center justify-center bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50 px-4 py-8", children: /* @__PURE__ */ jsxs119("div", { className: "w-full max-w-md", children: [
16785
+ return /* @__PURE__ */ jsx207("div", { className: "min-h-screen flex items-center justify-center bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50 px-4 py-8", children: /* @__PURE__ */ jsxs119("div", { className: "w-full max-w-md", children: [
16820
16786
  /* @__PURE__ */ jsxs119("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: [
16821
- /* @__PURE__ */ jsx209("div", { className: "absolute -top-40 -right-40 w-80 h-80 bg-gradient-to-br from-blue-200/30 to-purple-200/30 rounded-full blur-3xl" }),
16822
- /* @__PURE__ */ jsx209("div", { className: "absolute -bottom-40 -left-40 w-80 h-80 bg-gradient-to-tr from-indigo-200/30 to-pink-200/30 rounded-full blur-3xl" })
16787
+ /* @__PURE__ */ jsx207("div", { className: "absolute -top-40 -right-40 w-80 h-80 bg-gradient-to-br from-blue-200/30 to-purple-200/30 rounded-full blur-3xl" }),
16788
+ /* @__PURE__ */ jsx207("div", { className: "absolute -bottom-40 -left-40 w-80 h-80 bg-gradient-to-tr from-indigo-200/30 to-pink-200/30 rounded-full blur-3xl" })
16823
16789
  ] }),
16824
16790
  /* @__PURE__ */ jsxs119(Card2, { className: "relative backdrop-blur-sm bg-white/80 border-0 shadow-2xl shadow-blue-500/10 py-12 px-8 rounded-xl", children: [
16825
16791
  /* @__PURE__ */ jsxs119(CardSection, { className: "text-center space-y-6 pb-8", children: [
16826
- /* @__PURE__ */ jsx209("div", { className: "relative", children: /* @__PURE__ */ jsx209(Center12, { children: /* @__PURE__ */ jsx209("div", { className: "w-20 h-20 bg-gradient-to-br from-orange-400 to-red-500 rounded-full flex items-center justify-center shadow-lg shadow-orange-500/25 animate-pulse", children: /* @__PURE__ */ jsx209(Clock, { className: "w-10 h-10 text-white" }) }) }) }),
16792
+ /* @__PURE__ */ jsx207("div", { className: "relative", children: /* @__PURE__ */ jsx207(Center12, { children: /* @__PURE__ */ jsx207("div", { className: "w-20 h-20 bg-gradient-to-br from-orange-400 to-red-500 rounded-full flex items-center justify-center shadow-lg shadow-orange-500/25 animate-pulse", children: /* @__PURE__ */ jsx207(Clock, { className: "w-10 h-10 text-white" }) }) }) }),
16827
16793
  /* @__PURE__ */ jsxs119("div", { className: "space-y-3", children: [
16828
- /* @__PURE__ */ jsx209(Title3, { className: "text-3xl font-bold bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent", children: "Phi\xEAn \u0111\u0103ng nh\u1EADp \u0111\xE3 h\u1EBFt h\u1EA1n" }),
16794
+ /* @__PURE__ */ jsx207(Title3, { className: "text-3xl font-bold bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent", children: "Phi\xEAn \u0111\u0103ng nh\u1EADp \u0111\xE3 h\u1EBFt h\u1EA1n" }),
16829
16795
  /* @__PURE__ */ jsxs119(Text20, { className: "text-gray-600 text-base leading-relaxed px-2", children: [
16830
16796
  "Phi\xEAn l\xE0m vi\u1EC7c c\u1EE7a b\u1EA1n \u0111\xE3 h\u1EBFt h\u1EA1n v\xEC l\xFD do b\u1EA3o m\u1EADt.",
16831
- /* @__PURE__ */ jsx209("br", {}),
16797
+ /* @__PURE__ */ jsx207("br", {}),
16832
16798
  "Vui l\xF2ng \u0111\u0103ng nh\u1EADp l\u1EA1i \u0111\u1EC3 ti\u1EBFp t\u1EE5c s\u1EED d\u1EE5ng d\u1ECBch v\u1EE5."
16833
16799
  ] })
16834
16800
  ] })
@@ -16841,17 +16807,17 @@ function Feat_TokenExpired({
16841
16807
  className: "w-full h-12 bg-gradient-to-r from-blue-600 to-indigo-600 hover:from-blue-700 hover:to-indigo-700 text-white font-semibold rounded-xl shadow-lg shadow-blue-500/25 transition-all duration-300 hover:shadow-xl hover:shadow-blue-500/30 hover:scale-[1.02]",
16842
16808
  size: "lg",
16843
16809
  children: [
16844
- /* @__PURE__ */ jsx209(LogIn, { className: "w-5 h-5 mr-2" }),
16810
+ /* @__PURE__ */ jsx207(LogIn, { className: "w-5 h-5 mr-2" }),
16845
16811
  "\u0110\u0103ng nh\u1EADp l\u1EA1i"
16846
16812
  ]
16847
16813
  }
16848
16814
  ),
16849
- /* @__PURE__ */ jsx209("div", { className: "bg-gradient-to-r from-gray-50 to-blue-50 rounded-xl p-4 border border-gray-100", children: /* @__PURE__ */ jsxs119("div", { className: "text-center space-y-2", children: [
16850
- /* @__PURE__ */ jsx209("p", { className: "text-sm font-medium text-gray-700", children: "C\u1EA7n h\u1ED7 tr\u1EE3?" }),
16815
+ /* @__PURE__ */ jsx207("div", { className: "bg-gradient-to-r from-gray-50 to-blue-50 rounded-xl p-4 border border-gray-100", children: /* @__PURE__ */ jsxs119("div", { className: "text-center space-y-2", children: [
16816
+ /* @__PURE__ */ jsx207("p", { className: "text-sm font-medium text-gray-700", children: "C\u1EA7n h\u1ED7 tr\u1EE3?" }),
16851
16817
  /* @__PURE__ */ jsxs119("p", { className: "text-sm text-gray-600", children: [
16852
16818
  "Li\xEAn h\u1EC7",
16853
16819
  " ",
16854
- /* @__PURE__ */ jsx209(
16820
+ /* @__PURE__ */ jsx207(
16855
16821
  "a",
16856
16822
  {
16857
16823
  href: "/support",
@@ -16863,8 +16829,8 @@ function Feat_TokenExpired({
16863
16829
  "c\u1EE7a ch\xFAng t\xF4i"
16864
16830
  ] })
16865
16831
  ] }) }),
16866
- /* @__PURE__ */ jsx209("div", { className: "text-center", children: /* @__PURE__ */ jsxs119("p", { className: "text-xs text-gray-500 flex items-center justify-center gap-1", children: [
16867
- /* @__PURE__ */ jsx209(Shield, { className: "w-3 h-3" }),
16832
+ /* @__PURE__ */ jsx207("div", { className: "text-center", children: /* @__PURE__ */ jsxs119("p", { className: "text-xs text-gray-500 flex items-center justify-center gap-1", children: [
16833
+ /* @__PURE__ */ jsx207(Shield, { className: "w-3 h-3" }),
16868
16834
  "B\u1EA3o m\u1EADt t\xE0i kho\u1EA3n \u0111\u01B0\u1EE3c \u01B0u ti\xEAn h\xE0ng \u0111\u1EA7u"
16869
16835
  ] }) })
16870
16836
  ] })
@@ -16899,7 +16865,7 @@ function useForgotPassword() {
16899
16865
  }
16900
16866
 
16901
16867
  // src/modules/User/components/ForgotPassword/User_ForgotPasswordModal.tsx
16902
- import { jsx as jsx210, jsxs as jsxs120 } from "react/jsx-runtime";
16868
+ import { jsx as jsx208, jsxs as jsxs120 } from "react/jsx-runtime";
16903
16869
  var validationRules = {
16904
16870
  currentPassWord: (value) => !!value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
16905
16871
  newPassWord: (value) => !!value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
@@ -16927,24 +16893,24 @@ function User_ForgotPasswordModal({
16927
16893
  }
16928
16894
  );
16929
16895
  };
16930
- return /* @__PURE__ */ jsx210(
16896
+ return /* @__PURE__ */ jsx208(
16931
16897
  Modal17,
16932
16898
  {
16933
16899
  title: "\u0110\u1ED5i m\u1EADt kh\u1EA9u",
16934
16900
  opened: disc[0],
16935
16901
  onClose: disc[1].close,
16936
- children: /* @__PURE__ */ jsx210("form", { onSubmit: form.onSubmit(handleSubmit), children: /* @__PURE__ */ jsxs120(Stack11, { children: [
16937
- /* @__PURE__ */ jsx210(PasswordInput4, __spreadValues({ label: "M\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i", placeholder: "Nh\u1EADp m\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i" }, form.getInputProps("currentPassWord"))),
16938
- /* @__PURE__ */ jsx210(PasswordInput4, __spreadValues({ label: "M\u1EADt kh\u1EA9u m\u1EDBi", placeholder: "Nh\u1EADp m\u1EADt kh\u1EA9u m\u1EDBi" }, form.getInputProps("newPassWord"))),
16939
- /* @__PURE__ */ jsx210(PasswordInput4, __spreadValues({ label: "X\xE1c nh\u1EADn m\u1EADt kh\u1EA9u m\u1EDBi", placeholder: "Nh\u1EADp x\xE1c nh\u1EADn m\u1EADt kh\u1EA9u m\u1EDBi" }, form.getInputProps("confirmNewPassWord"))),
16940
- /* @__PURE__ */ jsx210(Button23, { loading, type: "submit", children: "\u0110\u1ED5i m\u1EADt kh\u1EA9u" })
16902
+ children: /* @__PURE__ */ jsx208("form", { onSubmit: form.onSubmit(handleSubmit), children: /* @__PURE__ */ jsxs120(Stack11, { children: [
16903
+ /* @__PURE__ */ jsx208(PasswordInput4, __spreadValues({ label: "M\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i", placeholder: "Nh\u1EADp m\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i" }, form.getInputProps("currentPassWord"))),
16904
+ /* @__PURE__ */ jsx208(PasswordInput4, __spreadValues({ label: "M\u1EADt kh\u1EA9u m\u1EDBi", placeholder: "Nh\u1EADp m\u1EADt kh\u1EA9u m\u1EDBi" }, form.getInputProps("newPassWord"))),
16905
+ /* @__PURE__ */ jsx208(PasswordInput4, __spreadValues({ label: "X\xE1c nh\u1EADn m\u1EADt kh\u1EA9u m\u1EDBi", placeholder: "Nh\u1EADp x\xE1c nh\u1EADn m\u1EADt kh\u1EA9u m\u1EDBi" }, form.getInputProps("confirmNewPassWord"))),
16906
+ /* @__PURE__ */ jsx208(Button23, { loading, type: "submit", children: "\u0110\u1ED5i m\u1EADt kh\u1EA9u" })
16941
16907
  ] }) })
16942
16908
  }
16943
16909
  );
16944
16910
  }
16945
16911
 
16946
16912
  // src/modules/User/components/AvatarMenu/User_AvatarMenu.tsx
16947
- import { Fragment as Fragment28, jsx as jsx211, jsxs as jsxs121 } from "react/jsx-runtime";
16913
+ import { Fragment as Fragment28, jsx as jsx209, jsxs as jsxs121 } from "react/jsx-runtime";
16948
16914
  function User_AvatarMenu() {
16949
16915
  var _a, _b;
16950
16916
  const disc = useDisclosure18();
@@ -16954,7 +16920,7 @@ function User_AvatarMenu() {
16954
16920
  const avatarLabel = ((_a = fullName == null ? void 0 : fullName[0]) == null ? void 0 : _a.toUpperCase()) || ((_b = code == null ? void 0 : code[0]) == null ? void 0 : _b.toUpperCase()) || "U";
16955
16921
  return /* @__PURE__ */ jsxs121(Fragment28, { children: [
16956
16922
  /* @__PURE__ */ jsxs121(Menu, { shadow: "md", width: 240, position: "bottom-end", offset: 8, children: [
16957
- /* @__PURE__ */ jsx211(Menu.Target, { children: /* @__PURE__ */ jsx211(
16923
+ /* @__PURE__ */ jsx209(Menu.Target, { children: /* @__PURE__ */ jsx209(
16958
16924
  Avatar,
16959
16925
  {
16960
16926
  radius: "xl",
@@ -16967,41 +16933,41 @@ function User_AvatarMenu() {
16967
16933
  }
16968
16934
  ) }),
16969
16935
  /* @__PURE__ */ jsxs121(Menu.Dropdown, { children: [
16970
- /* @__PURE__ */ jsx211(Menu.Label, { children: /* @__PURE__ */ jsxs121(Group31, { gap: "xs", children: [
16971
- /* @__PURE__ */ jsx211(Avatar, { size: "sm", radius: "xl", color: "green", children: avatarLabel }),
16936
+ /* @__PURE__ */ jsx209(Menu.Label, { children: /* @__PURE__ */ jsxs121(Group31, { gap: "xs", children: [
16937
+ /* @__PURE__ */ jsx209(Avatar, { size: "sm", radius: "xl", color: "green", children: avatarLabel }),
16972
16938
  /* @__PURE__ */ jsxs121("div", { children: [
16973
- /* @__PURE__ */ jsx211(Text21, { fw: 500, size: "sm", children: fullName }),
16939
+ /* @__PURE__ */ jsx209(Text21, { fw: 500, size: "sm", children: fullName }),
16974
16940
  /* @__PURE__ */ jsxs121(Text21, { size: "sm", c: "dimmed", children: [
16975
16941
  "T\xE0i kho\u1EA3n: ",
16976
16942
  code
16977
16943
  ] })
16978
16944
  ] })
16979
16945
  ] }) }),
16980
- /* @__PURE__ */ jsx211(Divider2, { my: "xs" }),
16981
- /* @__PURE__ */ jsx211(
16946
+ /* @__PURE__ */ jsx209(Divider2, { my: "xs" }),
16947
+ /* @__PURE__ */ jsx209(
16982
16948
  Menu.Item,
16983
16949
  {
16984
- leftSection: /* @__PURE__ */ jsx211(KeyRound, { size: 16 }),
16950
+ leftSection: /* @__PURE__ */ jsx209(KeyRound, { size: 16 }),
16985
16951
  onClick: disc[1].open,
16986
16952
  children: "\u0110\u1ED5i m\u1EADt kh\u1EA9u"
16987
16953
  }
16988
16954
  )
16989
16955
  ] })
16990
16956
  ] }),
16991
- /* @__PURE__ */ jsx211(User_ForgotPasswordModal, { disc })
16957
+ /* @__PURE__ */ jsx209(User_ForgotPasswordModal, { disc })
16992
16958
  ] });
16993
16959
  }
16994
16960
 
16995
16961
  // src/modules/User/components/SessionUserInfo/User_SessionUserInfo.tsx
16996
16962
  import { Card as Card3 } from "@mantine/core";
16997
- import { jsx as jsx212, jsxs as jsxs122 } from "react/jsx-runtime";
16963
+ import { jsx as jsx210, jsxs as jsxs122 } from "react/jsx-runtime";
16998
16964
  function User_SessionUserInfo() {
16999
16965
  const authenticateStore = useStore_Authenticate();
17000
16966
  const fullName = authenticateStore.state.fullName || null;
17001
16967
  const code = authenticateStore.state.code || null;
17002
16968
  return /* @__PURE__ */ jsxs122(Card3, { bg: const_object_colors.mantineBackgroundTealLight, children: [
17003
- /* @__PURE__ */ jsx212(MyLabelValueRow, { size: "sm", label: "T\xE0i kho\u1EA3n", value: code }),
17004
- /* @__PURE__ */ jsx212(MyLabelValueRow, { size: "sm", label: "H\u1ECD v\xE0 t\xEAn", value: fullName })
16969
+ /* @__PURE__ */ jsx210(MyLabelValueRow, { size: "sm", label: "T\xE0i kho\u1EA3n", value: code }),
16970
+ /* @__PURE__ */ jsx210(MyLabelValueRow, { size: "sm", label: "H\u1ECD v\xE0 t\xEAn", value: fullName })
17005
16971
  ] });
17006
16972
  }
17007
16973
 
@@ -17124,7 +17090,7 @@ function extractLinkedMenuItems(menu) {
17124
17090
  }
17125
17091
 
17126
17092
  // src/components/Layouts/BasicAppShell/BasicAppShell.tsx
17127
- import { jsx as jsx213, jsxs as jsxs123 } from "react/jsx-runtime";
17093
+ import { jsx as jsx211, jsxs as jsxs123 } from "react/jsx-runtime";
17128
17094
  function base64ToFaviconUrl(base64, ext) {
17129
17095
  const byteCharacters = atob(base64.trim());
17130
17096
  const byteArray = new Uint8Array([...byteCharacters].map((c4) => c4.charCodeAt(0)));
@@ -17156,11 +17122,11 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17156
17122
  const [faviconUrl, setFaviconUrl] = useState30("");
17157
17123
  const [isLoadingPermission, setIsLoadingPermission] = useState30(true);
17158
17124
  const [isAccessible, setIsAccessible] = useState30(false);
17159
- const readablePageIds = useMemo32(
17125
+ const readablePageIds = useMemo33(
17160
17126
  () => getReadablePageIdSet(permissionStore.state.permission || []),
17161
17127
  [permissionStore.state.permission]
17162
17128
  );
17163
- const filteredMenu = useMemo32(
17129
+ const filteredMenu = useMemo33(
17164
17130
  () => {
17165
17131
  if (permissionStore.state.isSuperAdmin) return menu;
17166
17132
  if (isDev) return menu;
@@ -17168,7 +17134,7 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17168
17134
  },
17169
17135
  [menu, readablePageIds]
17170
17136
  );
17171
- const allChildItems = useMemo32(() => {
17137
+ const allChildItems = useMemo33(() => {
17172
17138
  const result = [];
17173
17139
  const extract = (items) => {
17174
17140
  items.forEach((item) => {
@@ -17229,25 +17195,25 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17229
17195
  }
17230
17196
  }, [pathname, allChildItems, filteredMenu, readablePageIds, pageContentQuery.data]);
17231
17197
  const canAccess = isDev || isAccessible || permissionStore.state.isSuperAdmin;
17232
- const renderHeader = () => /* @__PURE__ */ jsx213(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs123(Group32, { h: "100%", px: "md", justify: "space-between", children: [
17198
+ const renderHeader = () => /* @__PURE__ */ jsx211(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs123(Group32, { h: "100%", px: "md", justify: "space-between", children: [
17233
17199
  /* @__PURE__ */ jsxs123(Group32, { h: "100%", children: [
17234
- /* @__PURE__ */ jsx213(Tooltip6, { label: appShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu", children: /* @__PURE__ */ jsx213(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx213(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx213(IconLayoutSidebarLeftCollapse, {}) }) }),
17235
- /* @__PURE__ */ jsx213(Tooltip6, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx213(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.clearGroupMenuOpenId, children: /* @__PURE__ */ jsx213(IconLibraryMinus, {}) }) })
17200
+ /* @__PURE__ */ jsx211(Tooltip6, { label: appShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu", children: /* @__PURE__ */ jsx211(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx211(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx211(IconLayoutSidebarLeftCollapse, {}) }) }),
17201
+ /* @__PURE__ */ jsx211(Tooltip6, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx211(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.clearGroupMenuOpenId, children: /* @__PURE__ */ jsx211(IconLibraryMinus, {}) }) })
17236
17202
  ] }),
17237
- /* @__PURE__ */ jsx213(Tooltip6, { label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`, children: /* @__PURE__ */ jsx213(Group32, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx213(Text22, { c: "green", fw: "bold", size: "sm", children: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}` }) }) }),
17203
+ /* @__PURE__ */ jsx211(Tooltip6, { label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`, children: /* @__PURE__ */ jsx211(Group32, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx211(Text22, { c: "green", fw: "bold", size: "sm", children: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}` }) }) }),
17238
17204
  /* @__PURE__ */ jsxs123(Group32, { children: [
17239
17205
  extraTopRight,
17240
- /* @__PURE__ */ jsx213(CustomSwitchTheme, {}),
17241
- /* @__PURE__ */ jsx213(User_AvatarMenu, {})
17206
+ /* @__PURE__ */ jsx211(CustomSwitchTheme, {}),
17207
+ /* @__PURE__ */ jsx211(User_AvatarMenu, {})
17242
17208
  ] })
17243
17209
  ] }) : /* @__PURE__ */ jsxs123(Group32, { h: "100%", px: "md", justify: "space-between", children: [
17244
- /* @__PURE__ */ jsx213(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx213(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx213(IconLayoutSidebarLeftCollapse, {}) }),
17245
- /* @__PURE__ */ jsx213(
17210
+ /* @__PURE__ */ jsx211(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx211(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx211(IconLayoutSidebarLeftCollapse, {}) }),
17211
+ /* @__PURE__ */ jsx211(
17246
17212
  Tooltip6,
17247
17213
  {
17248
17214
  label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`,
17249
17215
  withArrow: true,
17250
- children: /* @__PURE__ */ jsx213(
17216
+ children: /* @__PURE__ */ jsx211(
17251
17217
  Text22,
17252
17218
  {
17253
17219
  c: "green",
@@ -17270,22 +17236,22 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17270
17236
  ),
17271
17237
  /* @__PURE__ */ jsxs123(Group32, { children: [
17272
17238
  extraTopRight,
17273
- /* @__PURE__ */ jsx213(CustomSwitchTheme, {}),
17274
- /* @__PURE__ */ jsx213(User_AvatarMenu, {})
17239
+ /* @__PURE__ */ jsx211(CustomSwitchTheme, {}),
17240
+ /* @__PURE__ */ jsx211(User_AvatarMenu, {})
17275
17241
  ] })
17276
17242
  ] }) });
17277
17243
  const renderNavbar = () => {
17278
17244
  var _a, _b;
17279
17245
  return /* @__PURE__ */ jsxs123(AppShell.Navbar, { children: [
17280
- /* @__PURE__ */ jsx213(MyAppSpotlight, { menu: filteredMenu }),
17281
- /* @__PURE__ */ jsx213(AppShell.Section, { grow: true, component: ScrollArea4, p: 5, type: "auto", children: /* @__PURE__ */ jsx213(RenderNavLinks, { items: filteredMenu }) }),
17246
+ /* @__PURE__ */ jsx211(MyAppSpotlight, { menu: filteredMenu }),
17247
+ /* @__PURE__ */ jsx211(AppShell.Section, { grow: true, component: ScrollArea4, p: 5, type: "auto", children: /* @__PURE__ */ jsx211(RenderNavLinks, { items: filteredMenu }) }),
17282
17248
  /* @__PURE__ */ jsxs123(AppShell.Section, { className: "rounded-tr-2xl shadow-[0_-4px_6px_rgba(0,0,0,0.1)]", style: {
17283
17249
  border: `1px solid ${colorScheme === "dark" ? "var(--mantine-color-dark-4)" : "var(--mantine-color-gray-3)"}`
17284
17250
  }, children: [
17285
- /* @__PURE__ */ jsx213(User_SessionUserInfo, {}),
17286
- /* @__PURE__ */ jsx213(Space10, { m: 4 }),
17287
- /* @__PURE__ */ jsx213(Feat_Authenticate_Logout, { redirectURL: logoutRedirect }),
17288
- /* @__PURE__ */ jsx213(Box6, { px: "md", children: /* @__PURE__ */ jsx213(
17251
+ /* @__PURE__ */ jsx211(User_SessionUserInfo, {}),
17252
+ /* @__PURE__ */ jsx211(Space10, { m: 4 }),
17253
+ /* @__PURE__ */ jsx211(Feat_Authenticate_Logout, { redirectURL: logoutRedirect }),
17254
+ /* @__PURE__ */ jsx211(Box6, { px: "md", children: /* @__PURE__ */ jsx211(
17289
17255
  Image4,
17290
17256
  {
17291
17257
  fit: "contain",
@@ -17298,9 +17264,9 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17298
17264
  ] })
17299
17265
  ] });
17300
17266
  };
17301
- const renderMain = () => /* @__PURE__ */ jsx213(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children: isLoadingPermission ? /* @__PURE__ */ jsx213("div", { style: { padding: "2rem", textAlign: "center" }, children: /* @__PURE__ */ jsx213(Text22, { fw: 600, size: "md", children: "\u0110ang t\u1EA3i quy\u1EC1n truy c\u1EADp..." }) }) : canAccess ? children : /* @__PURE__ */ jsxs123("div", { style: { padding: "2rem", textAlign: "center" }, children: [
17302
- /* @__PURE__ */ jsx213("h1", { children: "404 - Kh\xF4ng t\xECm th\u1EA5y trang" }),
17303
- /* @__PURE__ */ jsx213("p", { children: "B\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n truy c\u1EADp ho\u1EB7c \u0111\u01B0\u1EDDng d\u1EABn kh\xF4ng t\u1ED3n t\u1EA1i." })
17267
+ const renderMain = () => /* @__PURE__ */ jsx211(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children: isLoadingPermission ? /* @__PURE__ */ jsx211("div", { style: { padding: "2rem", textAlign: "center" }, children: /* @__PURE__ */ jsx211(Text22, { fw: 600, size: "md", children: "\u0110ang t\u1EA3i quy\u1EC1n truy c\u1EADp..." }) }) : canAccess ? children : /* @__PURE__ */ jsxs123("div", { style: { padding: "2rem", textAlign: "center" }, children: [
17268
+ /* @__PURE__ */ jsx211("h1", { children: "404 - Kh\xF4ng t\xECm th\u1EA5y trang" }),
17269
+ /* @__PURE__ */ jsx211("p", { children: "B\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n truy c\u1EADp ho\u1EB7c \u0111\u01B0\u1EDDng d\u1EABn kh\xF4ng t\u1ED3n t\u1EA1i." })
17304
17270
  ] }) });
17305
17271
  return /* @__PURE__ */ jsxs123(
17306
17272
  AppShell,
@@ -17326,10 +17292,10 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17326
17292
 
17327
17293
  // src/components/Layouts/Container/MyContainer.tsx
17328
17294
  import { Container, Flex as Flex10 } from "@mantine/core";
17329
- import { jsx as jsx214 } from "react/jsx-runtime";
17295
+ import { jsx as jsx212 } from "react/jsx-runtime";
17330
17296
  function MyContainer(_a) {
17331
17297
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
17332
- return /* @__PURE__ */ jsx214(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx214(Flex10, { direction: "column", children }) }));
17298
+ return /* @__PURE__ */ jsx212(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx212(Flex10, { direction: "column", children }) }));
17333
17299
  }
17334
17300
 
17335
17301
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
@@ -17363,7 +17329,7 @@ import Link4 from "next/link.js";
17363
17329
  import classes from "./css.module-4ICLUKPO.module.css";
17364
17330
 
17365
17331
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenuStore.ts
17366
- var useStore6 = createGenericStore({
17332
+ var useStore6 = createGenericStore2({
17367
17333
  initialState: { name: "\u0110\u0103ng k\xFD kh\xF3a h\u1ECDc" },
17368
17334
  storageKey: "HeaderMegaMenuStore"
17369
17335
  });
@@ -17373,7 +17339,7 @@ function useHeaderMegaMenuStore() {
17373
17339
  }
17374
17340
 
17375
17341
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
17376
- import { jsx as jsx215, jsxs as jsxs124 } from "react/jsx-runtime";
17342
+ import { jsx as jsx213, jsxs as jsxs124 } from "react/jsx-runtime";
17377
17343
  var mockdata = [
17378
17344
  {
17379
17345
  icon: IconCode,
@@ -17411,27 +17377,27 @@ function HeaderMegaMenu({ children, menus }) {
17411
17377
  const [linksOpened, { toggle: toggleLinks }] = useDisclosure19(false);
17412
17378
  const HeaderMegaMenuStore = useHeaderMegaMenuStore();
17413
17379
  const theme = useMantineTheme();
17414
- const links = mockdata.map((item) => /* @__PURE__ */ jsx215(UnstyledButton, { className: classes.subLink, children: /* @__PURE__ */ jsxs124(Group33, { wrap: "nowrap", align: "flex-start", children: [
17415
- /* @__PURE__ */ jsx215(ThemeIcon2, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx215(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
17380
+ const links = mockdata.map((item) => /* @__PURE__ */ jsx213(UnstyledButton, { className: classes.subLink, children: /* @__PURE__ */ jsxs124(Group33, { wrap: "nowrap", align: "flex-start", children: [
17381
+ /* @__PURE__ */ jsx213(ThemeIcon2, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx213(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
17416
17382
  /* @__PURE__ */ jsxs124("div", { children: [
17417
- /* @__PURE__ */ jsx215(Text23, { size: "sm", fw: 500, children: item.title }),
17418
- /* @__PURE__ */ jsx215(Text23, { size: "xs", c: "dimmed", children: item.description })
17383
+ /* @__PURE__ */ jsx213(Text23, { size: "sm", fw: 500, children: item.title }),
17384
+ /* @__PURE__ */ jsx213(Text23, { size: "xs", c: "dimmed", children: item.description })
17419
17385
  ] })
17420
17386
  ] }) }, item.title));
17421
17387
  return /* @__PURE__ */ jsxs124(Box7, { children: [
17422
- /* @__PURE__ */ jsx215("header", { className: classes.header, children: /* @__PURE__ */ jsxs124(Group33, { justify: "space-between", h: "100%", children: [
17388
+ /* @__PURE__ */ jsx213("header", { className: classes.header, children: /* @__PURE__ */ jsxs124(Group33, { justify: "space-between", h: "100%", children: [
17423
17389
  /* @__PURE__ */ jsxs124(Group33, { children: [
17424
- /* @__PURE__ */ jsx215(Image5, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
17425
- /* @__PURE__ */ jsx215(Group33, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx215(Button24, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
17390
+ /* @__PURE__ */ jsx213(Image5, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
17391
+ /* @__PURE__ */ jsx213(Group33, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx213(Button24, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
17426
17392
  ] }),
17427
17393
  /* @__PURE__ */ jsxs124(Group33, { children: [
17428
- /* @__PURE__ */ jsx215(TextInput11, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx215(IconSearch6, {}), radius: "xl", w: "250px" }),
17429
- /* @__PURE__ */ jsx215(CustomSwitchTheme, {})
17394
+ /* @__PURE__ */ jsx213(TextInput11, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx213(IconSearch6, {}), radius: "xl", w: "250px" }),
17395
+ /* @__PURE__ */ jsx213(CustomSwitchTheme, {})
17430
17396
  ] }),
17431
- /* @__PURE__ */ jsx215(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
17397
+ /* @__PURE__ */ jsx213(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
17432
17398
  ] }) }),
17433
- /* @__PURE__ */ jsx215(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
17434
- /* @__PURE__ */ jsx215(
17399
+ /* @__PURE__ */ jsx213(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
17400
+ /* @__PURE__ */ jsx213(
17435
17401
  Drawer,
17436
17402
  {
17437
17403
  opened: drawerOpened,
@@ -17442,9 +17408,9 @@ function HeaderMegaMenu({ children, menus }) {
17442
17408
  hiddenFrom: "sm",
17443
17409
  zIndex: 1e6,
17444
17410
  children: /* @__PURE__ */ jsxs124(ScrollArea5, { h: "calc(100vh - 80px", mx: "-md", children: [
17445
- /* @__PURE__ */ jsx215(Divider3, { my: "sm" }),
17446
- /* @__PURE__ */ jsx215(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx215(Button24, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
17447
- /* @__PURE__ */ jsx215(Divider3, { my: "sm" })
17411
+ /* @__PURE__ */ jsx213(Divider3, { my: "sm" }),
17412
+ /* @__PURE__ */ jsx213(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx213(Button24, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
17413
+ /* @__PURE__ */ jsx213(Divider3, { my: "sm" })
17448
17414
  ] })
17449
17415
  }
17450
17416
  )
@@ -17492,14 +17458,14 @@ function getFinalLinkVieo(url) {
17492
17458
  }
17493
17459
 
17494
17460
  // src/components/Layouts/PageContent/MyPageContent.tsx
17495
- import { jsx as jsx216, jsxs as jsxs125 } from "react/jsx-runtime";
17461
+ import { jsx as jsx214, jsxs as jsxs125 } from "react/jsx-runtime";
17496
17462
  function PageTitle({ title, status, note }) {
17497
- return /* @__PURE__ */ jsx216(Group34, { children: /* @__PURE__ */ jsxs125(MyFlexColumn, { gap: 0, children: [
17463
+ return /* @__PURE__ */ jsx214(Group34, { children: /* @__PURE__ */ jsxs125(MyFlexColumn, { gap: 0, children: [
17498
17464
  /* @__PURE__ */ jsxs125(Group34, { align: "center", children: [
17499
- /* @__PURE__ */ jsx216(Title4, { order: 3, children: title }),
17465
+ /* @__PURE__ */ jsx214(Title4, { order: 3, children: title }),
17500
17466
  status && getMenuStatusBadge(status)
17501
17467
  ] }),
17502
- /* @__PURE__ */ jsx216(Text24, { size: "lg", c: "dimmed", fs: "italic", children: note })
17468
+ /* @__PURE__ */ jsx214(Text24, { size: "lg", c: "dimmed", fs: "italic", children: note })
17503
17469
  ] }) });
17504
17470
  }
17505
17471
  function MyPageContent({
@@ -17531,10 +17497,10 @@ function MyPageContent({
17531
17497
  return /* @__PURE__ */ jsxs125(Container3, { p: 0, fluid: true, children: [
17532
17498
  /* @__PURE__ */ jsxs125(Group34, { justify: "space-between", children: [
17533
17499
  /* @__PURE__ */ jsxs125(Group34, { children: [
17534
- /* @__PURE__ */ jsx216(MyButtonRouterBack, {}),
17500
+ /* @__PURE__ */ jsx214(MyButtonRouterBack, {}),
17535
17501
  /* @__PURE__ */ jsxs125(Stack12, { gap: 2, children: [
17536
17502
  /* @__PURE__ */ jsxs125(Flex11, { align: "center", gap: "10", children: [
17537
- /* @__PURE__ */ jsx216(
17503
+ /* @__PURE__ */ jsx214(
17538
17504
  PageTitle,
17539
17505
  {
17540
17506
  title: finalTitle,
@@ -17542,7 +17508,7 @@ function MyPageContent({
17542
17508
  note: basicAppShellStore.state.note
17543
17509
  }
17544
17510
  ),
17545
- /* @__PURE__ */ jsx216(Tooltip7, { label: "Xem video h\u01B0\u1EDBng d\u1EABn", children: /* @__PURE__ */ jsx216(
17511
+ /* @__PURE__ */ jsx214(Tooltip7, { label: "Xem video h\u01B0\u1EDBng d\u1EABn", children: /* @__PURE__ */ jsx214(
17546
17512
  MyButtonModal,
17547
17513
  {
17548
17514
  isActionIcon: true,
@@ -17552,14 +17518,14 @@ function MyPageContent({
17552
17518
  size: "80%"
17553
17519
  },
17554
17520
  actionIconProps: {
17555
- children: /* @__PURE__ */ jsx216(IconBrandParsinta, {}),
17521
+ children: /* @__PURE__ */ jsx214(IconBrandParsinta, {}),
17556
17522
  disabled: basicAppShellStore.state.videoLink == void 0 || basicAppShellStore.state.videoLink == "",
17557
17523
  color: "red",
17558
17524
  toolTipProps: {
17559
17525
  label: "Xem video h\u01B0\u1EDBng d\u1EABn"
17560
17526
  }
17561
17527
  },
17562
- children: /* @__PURE__ */ jsx216(Center13, { h: "67vh", p: "md", children: getFinalLinkVieo(basicAppShellStore.state.videoLink || "") == "" ? "\u0110\u01B0\u1EDDng d\u1EABn video kh\xF4ng h\u1EE3p l\u1EC7" : /* @__PURE__ */ jsx216(
17528
+ children: /* @__PURE__ */ jsx214(Center13, { h: "67vh", p: "md", children: getFinalLinkVieo(basicAppShellStore.state.videoLink || "") == "" ? "\u0110\u01B0\u1EDDng d\u1EABn video kh\xF4ng h\u1EE3p l\u1EC7" : /* @__PURE__ */ jsx214(
17563
17529
  "iframe",
17564
17530
  {
17565
17531
  width: "90%",
@@ -17573,7 +17539,7 @@ function MyPageContent({
17573
17539
  ) })
17574
17540
  }
17575
17541
  ) }),
17576
- /* @__PURE__ */ jsx216(
17542
+ /* @__PURE__ */ jsx214(
17577
17543
  MyButtonViewFile,
17578
17544
  {
17579
17545
  isActionIcon: true,
@@ -17591,38 +17557,38 @@ function MyPageContent({
17591
17557
  }
17592
17558
  )
17593
17559
  ] }),
17594
- /* @__PURE__ */ jsx216(Text24, { children: basicAppShellStore.state.description })
17560
+ /* @__PURE__ */ jsx214(Text24, { children: basicAppShellStore.state.description })
17595
17561
  ] }),
17596
17562
  leftTopBar
17597
17563
  ] }),
17598
17564
  /* @__PURE__ */ jsxs125(Group34, { p: "md", children: [
17599
17565
  rightTopBar,
17600
- /* @__PURE__ */ jsx216(Breadcrumbs, { style: { cursor: "pointer" }, separatorMargin: "7", onClick: () => {
17566
+ /* @__PURE__ */ jsx214(Breadcrumbs, { style: { cursor: "pointer" }, separatorMargin: "7", onClick: () => {
17601
17567
  var _a2;
17602
17568
  clipboard.copy((_a2 = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a2.join(" / "));
17603
17569
  notifications7.show({
17604
17570
  message: "Sao ch\xE9p \u0111\u01B0\u1EDDng d\u1EABn menu th\xE0nh c\xF4ng"
17605
17571
  });
17606
- }, children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx216(Text24, { fw: "600", c: "blue", children: item }, idx)) })
17572
+ }, children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx214(Text24, { fw: "600", c: "blue", children: item }, idx)) })
17607
17573
  ] })
17608
17574
  ] }),
17609
- /* @__PURE__ */ jsx216(Divider4, { my: "xs" }),
17575
+ /* @__PURE__ */ jsx214(Divider4, { my: "xs" }),
17610
17576
  children,
17611
- /* @__PURE__ */ jsx216(Divider4, { my: "xs" })
17577
+ /* @__PURE__ */ jsx214(Divider4, { my: "xs" })
17612
17578
  ] });
17613
17579
  }
17614
17580
 
17615
17581
  // src/components/Layouts/Tab/MyTab.tsx
17616
17582
  import { rem, Space as Space11, Tabs as Tabs4 } from "@mantine/core";
17617
- import { jsx as jsx217, jsxs as jsxs126 } from "react/jsx-runtime";
17583
+ import { jsx as jsx215, jsxs as jsxs126 } from "react/jsx-runtime";
17618
17584
  function MyTab(_a) {
17619
17585
  var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
17620
17586
  const iconStyle = { width: rem(20), height: rem(20) };
17621
17587
  return /* @__PURE__ */ jsxs126(Tabs4, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
17622
- /* @__PURE__ */ jsx217(Tabs4.List, { children: tabList.map((item, idx) => {
17623
- return /* @__PURE__ */ jsx217(Tabs4.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx217(item.icon, { style: iconStyle }), children: item.label }, idx);
17588
+ /* @__PURE__ */ jsx215(Tabs4.List, { children: tabList.map((item, idx) => {
17589
+ return /* @__PURE__ */ jsx215(Tabs4.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx215(item.icon, { style: iconStyle }), children: item.label }, idx);
17624
17590
  }) }),
17625
- /* @__PURE__ */ jsx217(Space11, { my: "md" }),
17591
+ /* @__PURE__ */ jsx215(Space11, { my: "md" }),
17626
17592
  children
17627
17593
  ] }));
17628
17594
  }
@@ -17631,33 +17597,33 @@ function MyTab(_a) {
17631
17597
  import { ActionIcon as ActionIcon12, Button as Button25, Fieldset as Fieldset5, Group as Group35, Modal as Modal18 } from "@mantine/core";
17632
17598
  import { useDisclosure as useDisclosure21 } from "@mantine/hooks";
17633
17599
  import { IconX as IconX4 } from "@tabler/icons-react";
17634
- import { jsx as jsx218, jsxs as jsxs127 } from "react/jsx-runtime";
17600
+ import { jsx as jsx216, jsxs as jsxs127 } from "react/jsx-runtime";
17635
17601
  function MyDataTableSelect(_a) {
17636
17602
  var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
17637
17603
  const disc = useDisclosure21(false);
17638
17604
  if (data == void 0) return "\u0110ang t\u1EA3i...";
17639
17605
  return /* @__PURE__ */ jsxs127(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
17640
- /* @__PURE__ */ jsx218(
17606
+ /* @__PURE__ */ jsx216(
17641
17607
  MyDataTable,
17642
17608
  __spreadValues({
17643
17609
  renderTopToolbarCustomActions: ({ table }) => {
17644
17610
  return /* @__PURE__ */ jsxs127(Group35, { children: [
17645
17611
  renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
17646
- /* @__PURE__ */ jsx218(Button25, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
17612
+ /* @__PURE__ */ jsx216(Button25, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
17647
17613
  ] });
17648
17614
  },
17649
17615
  columns,
17650
17616
  data: listState[0],
17651
17617
  renderRowActions: ({ row }) => {
17652
- return /* @__PURE__ */ jsx218(MyCenterFull, { children: /* @__PURE__ */ jsx218(ActionIcon12, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx218(IconX4, {}) }) });
17618
+ return /* @__PURE__ */ jsx216(MyCenterFull, { children: /* @__PURE__ */ jsx216(ActionIcon12, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx216(IconX4, {}) }) });
17653
17619
  }
17654
17620
  }, rest)
17655
17621
  ),
17656
- /* @__PURE__ */ jsx218(Modal18, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx218(
17622
+ /* @__PURE__ */ jsx216(Modal18, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx216(
17657
17623
  MyDataTable,
17658
17624
  __spreadValues({
17659
17625
  renderTopToolbarCustomActions: ({ table }) => {
17660
- return /* @__PURE__ */ jsx218(Button25, { onClick: () => {
17626
+ return /* @__PURE__ */ jsx216(Button25, { onClick: () => {
17661
17627
  table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
17662
17628
  disc[1].close();
17663
17629
  }, children: "Ch\u1ECDn" });
@@ -17673,7 +17639,7 @@ function MyDataTableSelect(_a) {
17673
17639
  // src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
17674
17640
  import { Select as Select9 } from "@mantine/core";
17675
17641
  import { useQuery as useQuery10 } from "@tanstack/react-query";
17676
- import { jsx as jsx219 } from "react/jsx-runtime";
17642
+ import { jsx as jsx217 } from "react/jsx-runtime";
17677
17643
  function MySelectAPIGet(_a) {
17678
17644
  var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
17679
17645
  var _a2;
@@ -17692,7 +17658,7 @@ function MySelectAPIGet(_a) {
17692
17658
  label: `${item.code}-${item.name}`
17693
17659
  };
17694
17660
  });
17695
- return /* @__PURE__ */ jsx219(
17661
+ return /* @__PURE__ */ jsx217(
17696
17662
  Select9,
17697
17663
  __spreadValues({
17698
17664
  label,
@@ -17707,7 +17673,7 @@ import { useNextCalendarApp as useNextCalendarApp2, ScheduleXCalendar as Schedul
17707
17673
  import { createEventsServicePlugin as createEventsServicePlugin2 } from "@schedule-x/events-service";
17708
17674
  import { useState as useState32 } from "react";
17709
17675
  import { createEventModalPlugin as createEventModalPlugin2 } from "@schedule-x/event-modal";
17710
- import { jsx as jsx220 } from "react/jsx-runtime";
17676
+ import { jsx as jsx218 } from "react/jsx-runtime";
17711
17677
  function MyScheduleX({
17712
17678
  values,
17713
17679
  timeGridEvent,
@@ -17732,7 +17698,7 @@ function MyScheduleX({
17732
17698
  events: values,
17733
17699
  plugins: [eventsService, eventModalPlugin]
17734
17700
  });
17735
- return /* @__PURE__ */ jsx220(
17701
+ return /* @__PURE__ */ jsx218(
17736
17702
  ScheduleXCalendar2,
17737
17703
  {
17738
17704
  calendarApp: calendar,
@@ -17746,29 +17712,29 @@ function MyScheduleX({
17746
17712
 
17747
17713
  // src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
17748
17714
  import { Skeleton as Skeleton8 } from "@mantine/core";
17749
- import { jsx as jsx221 } from "react/jsx-runtime";
17715
+ import { jsx as jsx219 } from "react/jsx-runtime";
17750
17716
  function MySkeletonTable({ h: h5 = 500 }) {
17751
- return /* @__PURE__ */ jsx221(Skeleton8, { h: h5 });
17717
+ return /* @__PURE__ */ jsx219(Skeleton8, { h: h5 });
17752
17718
  }
17753
17719
 
17754
17720
  // src/core/dataDisplay/CustomTableStagedChanges.tsx
17755
- import { jsx as jsx222 } from "react/jsx-runtime";
17721
+ import { jsx as jsx220 } from "react/jsx-runtime";
17756
17722
 
17757
17723
  // src/core/dataDisplay/MyDataTableSelectOne.tsx
17758
- import { useEffect as useEffect41, useMemo as useMemo33 } from "react";
17759
- import { jsx as jsx223 } from "react/jsx-runtime";
17724
+ import { useEffect as useEffect41, useMemo as useMemo34 } from "react";
17725
+ import { jsx as jsx221 } from "react/jsx-runtime";
17760
17726
  function MyDataTableSelectOne({
17761
17727
  columns,
17762
17728
  queryResult,
17763
17729
  idSelection,
17764
17730
  setIdSelection
17765
17731
  }) {
17766
- const columnsState = useMemo33(() => columns, []);
17732
+ const columnsState = useMemo34(() => columns, []);
17767
17733
  useEffect41(() => {
17768
17734
  if (!queryResult.data) return;
17769
17735
  setIdSelection(queryResult.data[0].id);
17770
17736
  }, [queryResult.data]);
17771
- return /* @__PURE__ */ jsx223(
17737
+ return /* @__PURE__ */ jsx221(
17772
17738
  MyDataTable,
17773
17739
  {
17774
17740
  columns: columnsState,
@@ -17796,7 +17762,7 @@ function MyDataTableSelectOne({
17796
17762
  import { Group as Group36, Stack as Stack13 } from "@mantine/core";
17797
17763
  import { useDisclosure as useDisclosure22 } from "@mantine/hooks";
17798
17764
  import { useEffect as useEffect42, useState as useState33 } from "react";
17799
- import { jsx as jsx224, jsxs as jsxs128 } from "react/jsx-runtime";
17765
+ import { jsx as jsx222, jsxs as jsxs128 } from "react/jsx-runtime";
17800
17766
  function MyDataTableStagedChanges(_a) {
17801
17767
  var _b = _a, {
17802
17768
  data,
@@ -17853,13 +17819,13 @@ function MyDataTableStagedChanges(_a) {
17853
17819
  rowSelectionState[1](initSelection);
17854
17820
  }
17855
17821
  }, [disc[0], data, currentIds]);
17856
- return /* @__PURE__ */ jsx224(
17822
+ return /* @__PURE__ */ jsx222(
17857
17823
  MyDataTable,
17858
17824
  __spreadProps(__spreadValues({
17859
17825
  enableRowSelection: readOnly ? false : true,
17860
17826
  renderRowActions: ({ row }) => {
17861
17827
  if (readOnly) return;
17862
- return /* @__PURE__ */ jsx224(MyCenterFull, { children: /* @__PURE__ */ jsx224(
17828
+ return /* @__PURE__ */ jsx222(MyCenterFull, { children: /* @__PURE__ */ jsx222(
17863
17829
  MyActionIcon,
17864
17830
  {
17865
17831
  actionType: "tempDelete",
@@ -17874,16 +17840,16 @@ function MyDataTableStagedChanges(_a) {
17874
17840
  var _a2;
17875
17841
  if (readOnly) return;
17876
17842
  return /* @__PURE__ */ jsxs128(Group36, { children: [
17877
- /* @__PURE__ */ jsx224(
17843
+ /* @__PURE__ */ jsx222(
17878
17844
  MyButtonModal,
17879
17845
  {
17880
17846
  buttonProps: { actionType: "create", type: "button" },
17881
17847
  disclosure: disc,
17882
17848
  modalProps: { size: "70rem", title: "Th\xEAm \u0111\u1ED1i t\u01B0\u1EE3ng" },
17883
- children: /* @__PURE__ */ jsx224(
17849
+ children: /* @__PURE__ */ jsx222(
17884
17850
  MyDataTable,
17885
17851
  __spreadValues({
17886
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx224(Stack13, { children: /* @__PURE__ */ jsx224(MyButton, { actionType: "select", onClick: handleSelect }) }),
17852
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx222(Stack13, { children: /* @__PURE__ */ jsx222(MyButton, { actionType: "select", onClick: handleSelect }) }),
17887
17853
  enableRowSelection: true,
17888
17854
  columns,
17889
17855
  data,
@@ -17895,7 +17861,7 @@ function MyDataTableStagedChanges(_a) {
17895
17861
  )
17896
17862
  }
17897
17863
  ),
17898
- /* @__PURE__ */ jsx224(MyButton, { actionType: "delete", onClick: () => {
17864
+ /* @__PURE__ */ jsx222(MyButton, { actionType: "delete", onClick: () => {
17899
17865
  handleDelete(table.getSelectedRowModel().rows.map((item) => item.original.id));
17900
17866
  } }),
17901
17867
  (_a2 = rest.renderTopToolbarCustomActions) == null ? void 0 : _a2.call(rest, { table })
@@ -17907,30 +17873,30 @@ function MyDataTableStagedChanges(_a) {
17907
17873
 
17908
17874
  // src/core/dataDisplay/MyFlexIconTitle.tsx
17909
17875
  import { Flex as Flex12, Text as Text25 } from "@mantine/core";
17910
- import { jsx as jsx225, jsxs as jsxs129 } from "react/jsx-runtime";
17876
+ import { jsx as jsx223, jsxs as jsxs129 } from "react/jsx-runtime";
17911
17877
  function MyFlexIconTitle(props) {
17912
17878
  return /* @__PURE__ */ jsxs129(Flex12, __spreadProps(__spreadValues({ direction: "row", align: "center", gap: "xs" }, props), { children: [
17913
17879
  props.icon,
17914
- /* @__PURE__ */ jsx225(Text25, __spreadProps(__spreadValues({ size: "lg", fw: 700 }, props.textProps), { children: props == null ? void 0 : props.children }))
17880
+ /* @__PURE__ */ jsx223(Text25, __spreadProps(__spreadValues({ size: "lg", fw: 700 }, props.textProps), { children: props == null ? void 0 : props.children }))
17915
17881
  ] }));
17916
17882
  }
17917
17883
 
17918
17884
  // src/core/dataDisplay/MyInfoBox.tsx
17919
17885
  import { Group as Group37, Paper as Paper14, Stack as Stack14, Text as Text26 } from "@mantine/core";
17920
- import { jsx as jsx226, jsxs as jsxs130 } from "react/jsx-runtime";
17886
+ import { jsx as jsx224, jsxs as jsxs130 } from "react/jsx-runtime";
17921
17887
  function MyInfoBox({ title, data, paperProps }) {
17922
- return /* @__PURE__ */ jsx226(Paper14, __spreadProps(__spreadValues({ withBorder: true, shadow: "xs", radius: "md", p: "md", bg: const_object_colors.mantineBackgroundBlueLight }, paperProps), { children: /* @__PURE__ */ jsxs130(Stack14, { children: [
17923
- title && /* @__PURE__ */ jsx226(Text26, { fw: 600, size: "sm", children: title }),
17888
+ return /* @__PURE__ */ jsx224(Paper14, __spreadProps(__spreadValues({ withBorder: true, shadow: "xs", radius: "md", p: "md", bg: const_object_colors.mantineBackgroundBlueLight }, paperProps), { children: /* @__PURE__ */ jsxs130(Stack14, { children: [
17889
+ title && /* @__PURE__ */ jsx224(Text26, { fw: 600, size: "sm", children: title }),
17924
17890
  data.map((item, index) => /* @__PURE__ */ jsxs130(Group37, { justify: "space-between", children: [
17925
- /* @__PURE__ */ jsx226(Text26, { size: "sm", fw: 500, c: "dimmed", children: item.label }),
17926
- /* @__PURE__ */ jsx226(Text26, { size: "sm", fw: 500, children: item.value })
17891
+ /* @__PURE__ */ jsx224(Text26, { size: "sm", fw: 500, c: "dimmed", children: item.label }),
17892
+ /* @__PURE__ */ jsx224(Text26, { size: "sm", fw: 500, children: item.value })
17927
17893
  ] }, index))
17928
17894
  ] }) }));
17929
17895
  }
17930
17896
 
17931
17897
  // src/core/dataDisplay/MyLabelValueRow.tsx
17932
17898
  import { Group as Group38, Text as Text27 } from "@mantine/core";
17933
- import { jsx as jsx227, jsxs as jsxs131 } from "react/jsx-runtime";
17899
+ import { jsx as jsx225, jsxs as jsxs131 } from "react/jsx-runtime";
17934
17900
  function MyLabelValueRow({
17935
17901
  label,
17936
17902
  value,
@@ -17944,13 +17910,13 @@ function MyLabelValueRow({
17944
17910
  label,
17945
17911
  ":"
17946
17912
  ] })),
17947
- /* @__PURE__ */ jsx227(Text27, __spreadProps(__spreadValues({ size }, valueProps), { children: value }))
17913
+ /* @__PURE__ */ jsx225(Text27, __spreadProps(__spreadValues({ size }, valueProps), { children: value }))
17948
17914
  ] }));
17949
17915
  }
17950
17916
 
17951
17917
  // src/core/dataDisplay/MyStatsCartd.tsx
17952
17918
  import { Box as Box8, Card as Card4, ThemeIcon as ThemeIcon3 } from "@mantine/core";
17953
- import { jsx as jsx228, jsxs as jsxs132 } from "react/jsx-runtime";
17919
+ import { jsx as jsx226, jsxs as jsxs132 } from "react/jsx-runtime";
17954
17920
  function MyStatsCard({
17955
17921
  title,
17956
17922
  value,
@@ -17960,21 +17926,21 @@ function MyStatsCard({
17960
17926
  themeIconProps
17961
17927
  }) {
17962
17928
  return /* @__PURE__ */ jsxs132(Card4, { children: [
17963
- /* @__PURE__ */ jsx228("div", { className: `absolute inset-0 bg-gradient-to-br ${color} opacity-5` }),
17964
- /* @__PURE__ */ jsx228(Box8, { className: "p-6", children: /* @__PURE__ */ jsxs132("div", { className: "flex items-center justify-between", children: [
17929
+ /* @__PURE__ */ jsx226("div", { className: `absolute inset-0 bg-gradient-to-br ${color} opacity-5` }),
17930
+ /* @__PURE__ */ jsx226(Box8, { className: "p-6", children: /* @__PURE__ */ jsxs132("div", { className: "flex items-center justify-between", children: [
17965
17931
  /* @__PURE__ */ jsxs132("div", { children: [
17966
- /* @__PURE__ */ jsx228("p", { className: "text-sm font-medium text-muted-foreground", children: title }),
17967
- /* @__PURE__ */ jsx228("p", { className: "text-3xl font-bold", children: value }),
17968
- /* @__PURE__ */ jsx228("p", { className: "text-xs text-muted-foreground mt-1", children: subtitle })
17932
+ /* @__PURE__ */ jsx226("p", { className: "text-sm font-medium text-muted-foreground", children: title }),
17933
+ /* @__PURE__ */ jsx226("p", { className: "text-3xl font-bold", children: value }),
17934
+ /* @__PURE__ */ jsx226("p", { className: "text-xs text-muted-foreground mt-1", children: subtitle })
17969
17935
  ] }),
17970
- /* @__PURE__ */ jsx228(ThemeIcon3, __spreadProps(__spreadValues({ size: "xl", radius: "xl" }, themeIconProps), { children: icon }))
17936
+ /* @__PURE__ */ jsx226(ThemeIcon3, __spreadProps(__spreadValues({ size: "xl", radius: "xl" }, themeIconProps), { children: icon }))
17971
17937
  ] }) })
17972
17938
  ] });
17973
17939
  }
17974
17940
 
17975
17941
  // src/core/dataDisplay/CustomEnumBadge/CustomEnumBadge.tsx
17976
17942
  import { Badge as Badge6 } from "@mantine/core";
17977
- import { Fragment as Fragment29, jsx as jsx229 } from "react/jsx-runtime";
17943
+ import { Fragment as Fragment29, jsx as jsx227 } from "react/jsx-runtime";
17978
17944
  function CustomEnumBadge(_a) {
17979
17945
  var _b = _a, {
17980
17946
  value,
@@ -17990,26 +17956,26 @@ function CustomEnumBadge(_a) {
17990
17956
  if (value === void 0 || value === null) return null;
17991
17957
  const IconComponent = enumIcon ? enumIcon[value] : void 0;
17992
17958
  const label = enumLabel[value];
17993
- return label ? /* @__PURE__ */ jsx229(
17959
+ return label ? /* @__PURE__ */ jsx227(
17994
17960
  Badge6,
17995
17961
  __spreadProps(__spreadValues({
17996
17962
  w: "100%",
17997
- leftSection: IconComponent ? /* @__PURE__ */ jsx229(IconComponent, {}) : void 0,
17963
+ leftSection: IconComponent ? /* @__PURE__ */ jsx227(IconComponent, {}) : void 0,
17998
17964
  variant: "light",
17999
17965
  color: enumColor ? enumColor[value] : void 0,
18000
17966
  radius: "lg"
18001
17967
  }, rest), {
18002
17968
  children: enumLabel[value]
18003
17969
  })
18004
- ) : /* @__PURE__ */ jsx229(Fragment29, {});
17970
+ ) : /* @__PURE__ */ jsx227(Fragment29, {});
18005
17971
  }
18006
17972
 
18007
17973
  // src/core/input/CustomAutocomplete.tsx
18008
17974
  import { Autocomplete } from "@mantine/core";
18009
- import { jsx as jsx230 } from "react/jsx-runtime";
17975
+ import { jsx as jsx228 } from "react/jsx-runtime";
18010
17976
  function CustomAutocomplete(_a) {
18011
17977
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
18012
- return /* @__PURE__ */ jsx230(
17978
+ return /* @__PURE__ */ jsx228(
18013
17979
  Autocomplete,
18014
17980
  __spreadValues({
18015
17981
  placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "",
@@ -18021,11 +17987,11 @@ function CustomAutocomplete(_a) {
18021
17987
  // src/core/input/CustomNumberInput.tsx
18022
17988
  import { NumberInput as NumberInput3 } from "@mantine/core";
18023
17989
  import { IconCurrencyDollar, IconNumbers as IconNumbers2 } from "@tabler/icons-react";
18024
- import { jsx as jsx231 } from "react/jsx-runtime";
17990
+ import { jsx as jsx229 } from "react/jsx-runtime";
18025
17991
  function CustomNumberInput(_a) {
18026
17992
  var _b = _a, { min, max, label, inputType = "number" } = _b, rest = __objRest(_b, ["min", "max", "label", "inputType"]);
18027
17993
  const isCurrency = inputType === "currency";
18028
- return /* @__PURE__ */ jsx231(
17994
+ return /* @__PURE__ */ jsx229(
18029
17995
  NumberInput3,
18030
17996
  __spreadValues({
18031
17997
  label,
@@ -18033,15 +17999,15 @@ function CustomNumberInput(_a) {
18033
17999
  thousandSeparator: isCurrency,
18034
18000
  max: isCurrency ? void 0 : max != null ? max : 100,
18035
18001
  placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "",
18036
- rightSection: isCurrency ? /* @__PURE__ */ jsx231(IconCurrencyDollar, {}) : /* @__PURE__ */ jsx231(IconNumbers2, {})
18002
+ rightSection: isCurrency ? /* @__PURE__ */ jsx229(IconCurrencyDollar, {}) : /* @__PURE__ */ jsx229(IconNumbers2, {})
18037
18003
  }, rest)
18038
18004
  );
18039
18005
  }
18040
18006
 
18041
18007
  // src/core/input/CustomPhoneNumberInput.tsx
18042
- import { jsx as jsx232 } from "react/jsx-runtime";
18008
+ import { jsx as jsx230 } from "react/jsx-runtime";
18043
18009
  function CustomPhoneNumberInput(props) {
18044
- return /* @__PURE__ */ jsx232(
18010
+ return /* @__PURE__ */ jsx230(
18045
18011
  MyTextInput,
18046
18012
  __spreadProps(__spreadValues({}, props), {
18047
18013
  onKeyDown: (e4) => {
@@ -18065,7 +18031,7 @@ function CustomPhoneNumberInput(props) {
18065
18031
 
18066
18032
  // src/core/input/MyDayOfWeekPicker.tsx
18067
18033
  import { Badge as Badge7, Group as Group39 } from "@mantine/core";
18068
- import { jsx as jsx233 } from "react/jsx-runtime";
18034
+ import { jsx as jsx231 } from "react/jsx-runtime";
18069
18035
  var days = Object.entries(enum_daysOfWeek).filter(([key]) => isNaN(Number(key))).map(([label, value]) => ({ label, value }));
18070
18036
  function MyDayOfWeekPicker({ value = [], onChange }) {
18071
18037
  const toggle = (val) => {
@@ -18073,7 +18039,7 @@ function MyDayOfWeekPicker({ value = [], onChange }) {
18073
18039
  const newValue = value.includes(val) ? value.filter((v5) => v5 !== val) : [...value, val].sort((a4, b4) => a4 - b4);
18074
18040
  onChange(newValue);
18075
18041
  };
18076
- return /* @__PURE__ */ jsx233(MyFlexRow, { align: "center", children: /* @__PURE__ */ jsx233(Group39, { gap: "xs", children: days.map((d4) => /* @__PURE__ */ jsx233(
18042
+ return /* @__PURE__ */ jsx231(MyFlexRow, { align: "center", children: /* @__PURE__ */ jsx231(Group39, { gap: "xs", children: days.map((d4) => /* @__PURE__ */ jsx231(
18077
18043
  Badge7,
18078
18044
  {
18079
18045
  variant: value.includes(d4.value) ? "filled" : "outline",
@@ -18090,10 +18056,10 @@ function MyDayOfWeekPicker({ value = [], onChange }) {
18090
18056
 
18091
18057
  // src/core/input/MyFileInputPreview.tsx
18092
18058
  import { FileInput as FileInput17 } from "@mantine/core";
18093
- import { jsx as jsx234 } from "react/jsx-runtime";
18059
+ import { jsx as jsx232 } from "react/jsx-runtime";
18094
18060
  function MyFileInputPreview(_a) {
18095
18061
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
18096
- return /* @__PURE__ */ jsx234(
18062
+ return /* @__PURE__ */ jsx232(
18097
18063
  FileInput17,
18098
18064
  __spreadValues({
18099
18065
  label,
@@ -18113,7 +18079,7 @@ import Underline2 from "@tiptap/extension-underline";
18113
18079
  import { useEditor as useEditor2 } from "@tiptap/react";
18114
18080
  import StarterKit2 from "@tiptap/starter-kit";
18115
18081
  import { useEffect as useEffect43 } from "react";
18116
- import { jsx as jsx235, jsxs as jsxs133 } from "react/jsx-runtime";
18082
+ import { jsx as jsx233, jsxs as jsxs133 } from "react/jsx-runtime";
18117
18083
  function isEditorContentEmpty(html) {
18118
18084
  var _a;
18119
18085
  const tempDiv = document.createElement("div");
@@ -18148,44 +18114,44 @@ function MyRichTextEditor(props) {
18148
18114
  editor.commands.setContent(props.value || "", false);
18149
18115
  }
18150
18116
  }, [props.value, editor]);
18151
- return /* @__PURE__ */ jsx235(Input2.Wrapper, __spreadProps(__spreadValues({}, props.inputWrapperProps), { children: /* @__PURE__ */ jsxs133(MantineRichTextEditor, __spreadProps(__spreadValues({ editor }, props.richTextEditorProps), { children: [
18152
- /* @__PURE__ */ jsx235(DisabledControl, { disabled: !(editor == null ? void 0 : editor.isEditable), children: /* @__PURE__ */ jsxs133(MantineRichTextEditor.Toolbar, __spreadProps(__spreadValues({}, props.richTextEditorToolBarProps), { children: [
18117
+ return /* @__PURE__ */ jsx233(Input2.Wrapper, __spreadProps(__spreadValues({}, props.inputWrapperProps), { children: /* @__PURE__ */ jsxs133(MantineRichTextEditor, __spreadProps(__spreadValues({ editor }, props.richTextEditorProps), { children: [
18118
+ /* @__PURE__ */ jsx233(DisabledControl, { disabled: !(editor == null ? void 0 : editor.isEditable), children: /* @__PURE__ */ jsxs133(MantineRichTextEditor.Toolbar, __spreadProps(__spreadValues({}, props.richTextEditorToolBarProps), { children: [
18153
18119
  /* @__PURE__ */ jsxs133(MantineRichTextEditor.ControlsGroup, { children: [
18154
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Bold, {}),
18155
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Italic, {}),
18156
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Underline, {}),
18157
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Strikethrough, {}),
18158
- /* @__PURE__ */ jsx235(MantineRichTextEditor.ClearFormatting, {}),
18159
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Highlight, {}),
18160
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Code, {})
18120
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Bold, {}),
18121
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Italic, {}),
18122
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Underline, {}),
18123
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Strikethrough, {}),
18124
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.ClearFormatting, {}),
18125
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Highlight, {}),
18126
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Code, {})
18161
18127
  ] }),
18162
18128
  /* @__PURE__ */ jsxs133(MantineRichTextEditor.ControlsGroup, { children: [
18163
- /* @__PURE__ */ jsx235(MantineRichTextEditor.H1, {}),
18164
- /* @__PURE__ */ jsx235(MantineRichTextEditor.H2, {}),
18165
- /* @__PURE__ */ jsx235(MantineRichTextEditor.H3, {}),
18166
- /* @__PURE__ */ jsx235(MantineRichTextEditor.H4, {})
18129
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.H1, {}),
18130
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.H2, {}),
18131
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.H3, {}),
18132
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.H4, {})
18167
18133
  ] }),
18168
18134
  /* @__PURE__ */ jsxs133(MantineRichTextEditor.ControlsGroup, { children: [
18169
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Blockquote, {}),
18170
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Hr, {}),
18171
- /* @__PURE__ */ jsx235(MantineRichTextEditor.BulletList, {}),
18172
- /* @__PURE__ */ jsx235(MantineRichTextEditor.OrderedList, {}),
18173
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Subscript, {}),
18174
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Superscript, {})
18135
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Blockquote, {}),
18136
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Hr, {}),
18137
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.BulletList, {}),
18138
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.OrderedList, {}),
18139
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Subscript, {}),
18140
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Superscript, {})
18175
18141
  ] }),
18176
18142
  /* @__PURE__ */ jsxs133(MantineRichTextEditor.ControlsGroup, { children: [
18177
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Link, {}),
18178
- /* @__PURE__ */ jsx235(MantineRichTextEditor.Unlink, {})
18143
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Link, {}),
18144
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.Unlink, {})
18179
18145
  ] }),
18180
18146
  /* @__PURE__ */ jsxs133(MantineRichTextEditor.ControlsGroup, { children: [
18181
- /* @__PURE__ */ jsx235(MantineRichTextEditor.AlignLeft, {}),
18182
- /* @__PURE__ */ jsx235(MantineRichTextEditor.AlignCenter, {}),
18183
- /* @__PURE__ */ jsx235(MantineRichTextEditor.AlignJustify, {}),
18184
- /* @__PURE__ */ jsx235(MantineRichTextEditor.AlignRight, {})
18147
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.AlignLeft, {}),
18148
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.AlignCenter, {}),
18149
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.AlignJustify, {}),
18150
+ /* @__PURE__ */ jsx233(MantineRichTextEditor.AlignRight, {})
18185
18151
  ] }),
18186
18152
  props.extraControlsGroup
18187
18153
  ] })) }),
18188
- /* @__PURE__ */ jsx235(
18154
+ /* @__PURE__ */ jsx233(
18189
18155
  ScrollArea6.Autosize,
18190
18156
  __spreadProps(__spreadValues({
18191
18157
  onMouseDown: () => {
@@ -18198,19 +18164,19 @@ function MyRichTextEditor(props) {
18198
18164
  // đổi cursor
18199
18165
  }
18200
18166
  }, props.scrollAreaAutosizeProps), {
18201
- children: /* @__PURE__ */ jsx235(RichTextEditor2.Content, __spreadValues({ mih: "130" }, props.richTextEditorContentProps))
18167
+ children: /* @__PURE__ */ jsx233(RichTextEditor2.Content, __spreadValues({ mih: "130" }, props.richTextEditorContentProps))
18202
18168
  })
18203
18169
  )
18204
18170
  ] })) }));
18205
18171
  }
18206
18172
  function DisabledControl({ children, disabled }) {
18207
- return /* @__PURE__ */ jsx235("div", { style: { pointerEvents: disabled ? "none" : "auto", opacity: disabled ? 0.5 : 1 }, children });
18173
+ return /* @__PURE__ */ jsx233("div", { style: { pointerEvents: disabled ? "none" : "auto", opacity: disabled ? 0.5 : 1 }, children });
18208
18174
  }
18209
18175
 
18210
18176
  // src/core/input/MySelect.tsx
18211
18177
  import { Loader as Loader2, Select as Select10 } from "@mantine/core";
18212
18178
  import React3 from "react";
18213
- import { jsx as jsx236 } from "react/jsx-runtime";
18179
+ import { jsx as jsx234 } from "react/jsx-runtime";
18214
18180
  function extractTextFromReactNode(node) {
18215
18181
  if (typeof node === "string" || typeof node === "number") return String(node);
18216
18182
  if (Array.isArray(node)) return node.map(extractTextFromReactNode).join(" ");
@@ -18228,7 +18194,7 @@ function MySelect2(_a) {
18228
18194
  const plainTextLabel = extractTextFromReactNode(label).toLowerCase().trim();
18229
18195
  placeholder = `Ch\u1ECDn ${plainTextLabel}`;
18230
18196
  }
18231
- return /* @__PURE__ */ jsx236(
18197
+ return /* @__PURE__ */ jsx234(
18232
18198
  Select10,
18233
18199
  __spreadValues({
18234
18200
  allowDeselect: false,
@@ -18236,7 +18202,7 @@ function MySelect2(_a) {
18236
18202
  label,
18237
18203
  placeholder,
18238
18204
  error: isError ? true : void 0,
18239
- rightSection: isLoading ? /* @__PURE__ */ jsx236(Loader2, { size: "xs" }) : void 0,
18205
+ rightSection: isLoading ? /* @__PURE__ */ jsx234(Loader2, { size: "xs" }) : void 0,
18240
18206
  disabled: isLoading || isError,
18241
18207
  styles: (theme) => ({
18242
18208
  input: rest.readOnly ? {
@@ -18251,8 +18217,8 @@ function MySelect2(_a) {
18251
18217
  }
18252
18218
 
18253
18219
  // src/core/input/MySelectFromAPI.tsx
18254
- import { useCallback, useEffect as useEffect44, useMemo as useMemo34, useRef as useRef4 } from "react";
18255
- import { jsx as jsx237 } from "react/jsx-runtime";
18220
+ import { useCallback, useEffect as useEffect44, useMemo as useMemo35, useRef as useRef4 } from "react";
18221
+ import { jsx as jsx235 } from "react/jsx-runtime";
18256
18222
  function MySelectFromAPI(_a) {
18257
18223
  var _b = _a, {
18258
18224
  queryKey,
@@ -18284,7 +18250,7 @@ function MySelectFromAPI(_a) {
18284
18250
  },
18285
18251
  [getOptionLabel, labelWithCode]
18286
18252
  );
18287
- const options = useMemo34(() => {
18253
+ const options = useMemo35(() => {
18288
18254
  var _a2, _b2;
18289
18255
  return (_b2 = (_a2 = query.data) == null ? void 0 : _a2.map((item) => {
18290
18256
  var _a3, _b3;
@@ -18316,7 +18282,7 @@ function MySelectFromAPI(_a) {
18316
18282
  hasAutoSelected.current = true;
18317
18283
  }
18318
18284
  }, [autoSelectFirstItem, query.data, value, getLabel, onChange, setObjectData]);
18319
- return /* @__PURE__ */ jsx237(
18285
+ return /* @__PURE__ */ jsx235(
18320
18286
  MySelect2,
18321
18287
  __spreadValues({
18322
18288
  isLoading: query.isLoading,
@@ -18330,10 +18296,10 @@ function MySelectFromAPI(_a) {
18330
18296
 
18331
18297
  // src/core/input/MyTextInput.tsx
18332
18298
  import { TextInput as TextInput12 } from "@mantine/core";
18333
- import { jsx as jsx238 } from "react/jsx-runtime";
18299
+ import { jsx as jsx236 } from "react/jsx-runtime";
18334
18300
  function MyTextInput2(_a) {
18335
18301
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
18336
- return /* @__PURE__ */ jsx238(
18302
+ return /* @__PURE__ */ jsx236(
18337
18303
  TextInput12,
18338
18304
  __spreadValues({
18339
18305
  placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "",
@@ -18363,7 +18329,7 @@ import {
18363
18329
  } from "@mantine/core";
18364
18330
  import { IconPlus as IconPlus9, IconTrash as IconTrash8 } from "@tabler/icons-react";
18365
18331
  import { useState as useState34 } from "react";
18366
- import { jsx as jsx239, jsxs as jsxs134 } from "react/jsx-runtime";
18332
+ import { jsx as jsx237, jsxs as jsxs134 } from "react/jsx-runtime";
18367
18333
  function MyWeeklySessionSchedulerPicker({
18368
18334
  value = [],
18369
18335
  onChange
@@ -18394,8 +18360,8 @@ function MyWeeklySessionSchedulerPicker({
18394
18360
  return acc;
18395
18361
  }, {});
18396
18362
  const getLabel = (day) => enum_daysOfWeek[day] || `Day ${day}`;
18397
- return /* @__PURE__ */ jsx239(Paper15, { w: "100%", p: "md", children: /* @__PURE__ */ jsxs134(MyFlexColumn, { children: [
18398
- /* @__PURE__ */ jsx239(Center14, { children: /* @__PURE__ */ jsx239(
18363
+ return /* @__PURE__ */ jsx237(Paper15, { w: "100%", p: "md", children: /* @__PURE__ */ jsxs134(MyFlexColumn, { children: [
18364
+ /* @__PURE__ */ jsx237(Center14, { children: /* @__PURE__ */ jsx237(
18399
18365
  MyDayOfWeekPicker,
18400
18366
  {
18401
18367
  value: selectedDays,
@@ -18405,8 +18371,8 @@ function MyWeeklySessionSchedulerPicker({
18405
18371
  }
18406
18372
  }
18407
18373
  ) }),
18408
- /* @__PURE__ */ jsx239(Divider5, { my: "xs" }),
18409
- /* @__PURE__ */ jsx239(Center14, { children: /* @__PURE__ */ jsx239(ScrollArea7.Autosize, { h: "40vh", children: /* @__PURE__ */ jsx239(MyFlexColumn, { w: { base: "100%", sm: "70%" }, children: selectedDays.map((dayOfWeek) => {
18374
+ /* @__PURE__ */ jsx237(Divider5, { my: "xs" }),
18375
+ /* @__PURE__ */ jsx237(Center14, { children: /* @__PURE__ */ jsx237(ScrollArea7.Autosize, { h: "40vh", children: /* @__PURE__ */ jsx237(MyFlexColumn, { w: { base: "100%", sm: "70%" }, children: selectedDays.map((dayOfWeek) => {
18410
18376
  var _a;
18411
18377
  return /* @__PURE__ */ jsxs134(
18412
18378
  Paper15,
@@ -18416,18 +18382,18 @@ function MyWeeklySessionSchedulerPicker({
18416
18382
  bg: const_object_colors.mantineBackgroundBlueLight,
18417
18383
  children: [
18418
18384
  /* @__PURE__ */ jsxs134(Group40, { gap: "apart", children: [
18419
- /* @__PURE__ */ jsx239(Text29, { w: "70px", fw: 500, children: getLabel(dayOfWeek) }),
18420
- /* @__PURE__ */ jsx239(
18385
+ /* @__PURE__ */ jsx237(Text29, { w: "70px", fw: 500, children: getLabel(dayOfWeek) }),
18386
+ /* @__PURE__ */ jsx237(
18421
18387
  Button26,
18422
18388
  {
18423
18389
  color: "teal.5",
18424
- leftSection: /* @__PURE__ */ jsx239(IconPlus9, { size: 14 }),
18390
+ leftSection: /* @__PURE__ */ jsx237(IconPlus9, { size: 14 }),
18425
18391
  onClick: () => handleAddSession(dayOfWeek),
18426
18392
  children: "Th\xEAm bu\u1ED5i"
18427
18393
  }
18428
18394
  )
18429
18395
  ] }),
18430
- /* @__PURE__ */ jsx239(Divider5, { my: "sm" }),
18396
+ /* @__PURE__ */ jsx237(Divider5, { my: "sm" }),
18431
18397
  (_a = grouped[dayOfWeek]) == null ? void 0 : _a.map((item, indexInDay) => {
18432
18398
  const globalIndex = value.findIndex(
18433
18399
  (v5) => v5 === item
@@ -18439,7 +18405,7 @@ function MyWeeklySessionSchedulerPicker({
18439
18405
  gap: "xs",
18440
18406
  align: "flex-end",
18441
18407
  children: [
18442
- /* @__PURE__ */ jsx239(
18408
+ /* @__PURE__ */ jsx237(
18443
18409
  NumberInput4,
18444
18410
  {
18445
18411
  label: "Ti\u1EBFt b\u1EAFt \u0111\u1EA7u",
@@ -18451,7 +18417,7 @@ function MyWeeklySessionSchedulerPicker({
18451
18417
  )
18452
18418
  }
18453
18419
  ),
18454
- /* @__PURE__ */ jsx239(
18420
+ /* @__PURE__ */ jsx237(
18455
18421
  NumberInput4,
18456
18422
  {
18457
18423
  label: "S\u1ED1 ti\u1EBFt",
@@ -18463,7 +18429,7 @@ function MyWeeklySessionSchedulerPicker({
18463
18429
  )
18464
18430
  }
18465
18431
  ),
18466
- /* @__PURE__ */ jsx239(
18432
+ /* @__PURE__ */ jsx237(
18467
18433
  NumberInput4,
18468
18434
  {
18469
18435
  label: "S\u1ED1 ph\xFAt ",
@@ -18472,13 +18438,13 @@ function MyWeeklySessionSchedulerPicker({
18472
18438
  value: item.durationMinutes
18473
18439
  }
18474
18440
  ),
18475
- /* @__PURE__ */ jsx239(
18441
+ /* @__PURE__ */ jsx237(
18476
18442
  Button26,
18477
18443
  {
18478
18444
  variant: "light",
18479
18445
  color: "red",
18480
18446
  onClick: () => handleRemove(globalIndex),
18481
- leftSection: /* @__PURE__ */ jsx239(IconTrash8, { size: 14 }),
18447
+ leftSection: /* @__PURE__ */ jsx237(IconTrash8, { size: 14 }),
18482
18448
  children: "X\xF3a bu\u1ED5i"
18483
18449
  }
18484
18450
  )
@@ -18498,12 +18464,12 @@ function MyWeeklySessionSchedulerPicker({
18498
18464
  // src/core/layout/MyDroppablePlaceholder.tsx
18499
18465
  import { useDroppable } from "@dnd-kit/core";
18500
18466
  import { Card as Card5, Text as Text30 } from "@mantine/core";
18501
- import { jsx as jsx240 } from "react/jsx-runtime";
18467
+ import { jsx as jsx238 } from "react/jsx-runtime";
18502
18468
  function DroppablePlaceholder({ id }) {
18503
18469
  const { setNodeRef } = useDroppable({
18504
18470
  id
18505
18471
  });
18506
- return /* @__PURE__ */ jsx240(
18472
+ return /* @__PURE__ */ jsx238(
18507
18473
  Card5,
18508
18474
  {
18509
18475
  ref: setNodeRef,
@@ -18511,23 +18477,23 @@ function DroppablePlaceholder({ id }) {
18511
18477
  radius: "md",
18512
18478
  p: "sm",
18513
18479
  style: { opacity: 0.5, minHeight: 40 },
18514
- children: /* @__PURE__ */ jsx240(Text30, { size: "sm", c: "dimmed", ta: "center", children: "K\xE9o item v\xE0o \u0111\xE2y" })
18480
+ children: /* @__PURE__ */ jsx238(Text30, { size: "sm", c: "dimmed", ta: "center", children: "K\xE9o item v\xE0o \u0111\xE2y" })
18515
18481
  }
18516
18482
  );
18517
18483
  }
18518
18484
 
18519
18485
  // src/core/layout/MyFlexEnd.tsx
18520
18486
  import { Group as Group41 } from "@mantine/core";
18521
- import { jsx as jsx241 } from "react/jsx-runtime";
18487
+ import { jsx as jsx239 } from "react/jsx-runtime";
18522
18488
  function MyFlexEnd2(_a) {
18523
18489
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
18524
- return /* @__PURE__ */ jsx241(Group41, __spreadProps(__spreadValues({ justify: "end", mt: "md" }, rest), { children }));
18490
+ return /* @__PURE__ */ jsx239(Group41, __spreadProps(__spreadValues({ justify: "end", mt: "md" }, rest), { children }));
18525
18491
  }
18526
18492
 
18527
18493
  // src/core/navigation/CustomTabs/CustomTabs.tsx
18528
18494
  import { Paper as Paper16, Tabs as Tabs5, Text as Text31 } from "@mantine/core";
18529
18495
  import classes2 from "./Customtabs.module-RMUG5QY4.module.css";
18530
- import { jsx as jsx242, jsxs as jsxs135 } from "react/jsx-runtime";
18496
+ import { jsx as jsx240, jsxs as jsxs135 } from "react/jsx-runtime";
18531
18497
  var tabColors = [
18532
18498
  { color: "blue" },
18533
18499
  { color: "orange" },
@@ -18537,28 +18503,28 @@ var tabColors = [
18537
18503
  ];
18538
18504
  function CustomTabs(_a) {
18539
18505
  var _b = _a, { tabs } = _b, rest = __objRest(_b, ["tabs"]);
18540
- return /* @__PURE__ */ jsx242(Paper16, { bg: const_object_colors.mantineBackgroundSecondary, children: /* @__PURE__ */ jsxs135(Tabs5, __spreadProps(__spreadValues({ defaultValue: tabs[0].label, color: "lime", variant: "outline", classNames: classes2 }, rest), { children: [
18541
- /* @__PURE__ */ jsx242(Tabs5.List, { children: tabs.map((item, index) => {
18506
+ return /* @__PURE__ */ jsx240(Paper16, { bg: const_object_colors.mantineBackgroundSecondary, children: /* @__PURE__ */ jsxs135(Tabs5, __spreadProps(__spreadValues({ defaultValue: tabs[0].label, color: "lime", variant: "outline", classNames: classes2 }, rest), { children: [
18507
+ /* @__PURE__ */ jsx240(Tabs5.List, { children: tabs.map((item, index) => {
18542
18508
  const colors = tabColors[index];
18543
- return /* @__PURE__ */ jsx242(
18509
+ return /* @__PURE__ */ jsx240(
18544
18510
  Tabs5.Tab,
18545
18511
  __spreadProps(__spreadValues({
18546
18512
  value: item.label
18547
18513
  }, item), {
18548
- children: /* @__PURE__ */ jsx242(Text31, { fw: "bold", children: item.label })
18514
+ children: /* @__PURE__ */ jsx240(Text31, { fw: "bold", children: item.label })
18549
18515
  }),
18550
18516
  item.label
18551
18517
  );
18552
18518
  }) }),
18553
18519
  tabs.map((item, index) => {
18554
18520
  const colors = tabColors[index];
18555
- return /* @__PURE__ */ jsx242(Tabs5.Panel, { p: "md", value: item.label, children: item.children }, index);
18521
+ return /* @__PURE__ */ jsx240(Tabs5.Panel, { p: "md", value: item.label, children: item.children }, index);
18556
18522
  })
18557
18523
  ] })) });
18558
18524
  }
18559
18525
 
18560
18526
  // src/core/overlays/MyPrintContent.tsx
18561
- import { jsx as jsx243, jsxs as jsxs136 } from "react/jsx-runtime";
18527
+ import { jsx as jsx241, jsxs as jsxs136 } from "react/jsx-runtime";
18562
18528
  function MyPrintContent({
18563
18529
  children,
18564
18530
  autoPadding = true,
@@ -18577,8 +18543,8 @@ function MyPrintContent({
18577
18543
  }
18578
18544
  };
18579
18545
  return /* @__PURE__ */ jsxs136("div", { children: [
18580
- /* @__PURE__ */ jsx243("style", { children: getPageSizeCSS() }),
18581
- /* @__PURE__ */ jsx243("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx243(
18546
+ /* @__PURE__ */ jsx241("style", { children: getPageSizeCSS() }),
18547
+ /* @__PURE__ */ jsx241("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx241(
18582
18548
  "div",
18583
18549
  {
18584
18550
  ref: printRef,
@@ -18594,7 +18560,7 @@ function MyPrintContent({
18594
18560
 
18595
18561
  // src/core/overlays/MyModalStackImport/Usecase/FileImportValidationDetailModal.tsx
18596
18562
  import { Modal as Modal19, Table as Table5, Text as Text32 } from "@mantine/core";
18597
- import { jsx as jsx244, jsxs as jsxs137 } from "react/jsx-runtime";
18563
+ import { jsx as jsx242, jsxs as jsxs137 } from "react/jsx-runtime";
18598
18564
 
18599
18565
  // src/core/overlays/MyModalStackImport/Usecase/FileImportValidationModal.tsx
18600
18566
  import {
@@ -18603,13 +18569,13 @@ import {
18603
18569
  Modal as Modal20,
18604
18570
  Table as Table6
18605
18571
  } from "@mantine/core";
18606
- import { jsx as jsx245, jsxs as jsxs138 } from "react/jsx-runtime";
18572
+ import { jsx as jsx243, jsxs as jsxs138 } from "react/jsx-runtime";
18607
18573
 
18608
18574
  // src/core/withAPI/CustomDataTableAPI.tsx
18609
18575
  import { Group as Group43 } from "@mantine/core";
18610
18576
 
18611
18577
  // src/core/withAPI/CustomDeleteListAPI.tsx
18612
- import { jsx as jsx246 } from "react/jsx-runtime";
18578
+ import { jsx as jsx244 } from "react/jsx-runtime";
18613
18579
  function CustomButtonDeleteListAPI(_a) {
18614
18580
  var _b = _a, {
18615
18581
  deleteListFn,
@@ -18619,7 +18585,7 @@ function CustomButtonDeleteListAPI(_a) {
18619
18585
  "table"
18620
18586
  ]);
18621
18587
  const selectedRow = table.getSelectedRowModel().flatRows.flatMap((item) => item.original);
18622
- return /* @__PURE__ */ jsx246(
18588
+ return /* @__PURE__ */ jsx244(
18623
18589
  MyButtonDeleteList,
18624
18590
  __spreadValues({
18625
18591
  count: selectedRow.length,
@@ -18630,7 +18596,7 @@ function CustomButtonDeleteListAPI(_a) {
18630
18596
  }
18631
18597
 
18632
18598
  // src/core/withAPI/CustomDataTableAPI.tsx
18633
- import { jsx as jsx247, jsxs as jsxs139 } from "react/jsx-runtime";
18599
+ import { jsx as jsx245, jsxs as jsxs139 } from "react/jsx-runtime";
18634
18600
  function CustomDataTableAPI(_a) {
18635
18601
  var _b = _a, {
18636
18602
  deleteFn,
@@ -18652,7 +18618,7 @@ function CustomDataTableAPI(_a) {
18652
18618
  "enableUpdate"
18653
18619
  ]);
18654
18620
  const query = useMyReactQuery(reactQueryProps);
18655
- return /* @__PURE__ */ jsx247(
18621
+ return /* @__PURE__ */ jsx245(
18656
18622
  MyDataTable,
18657
18623
  __spreadProps(__spreadValues({
18658
18624
  isError: query.isError,
@@ -18662,16 +18628,16 @@ function CustomDataTableAPI(_a) {
18662
18628
  renderTopToolbarCustomActions: (props) => {
18663
18629
  var _a2;
18664
18630
  return /* @__PURE__ */ jsxs139(Group43, { children: [
18665
- enableCreate !== false && buttonCreateUpdateProps && /* @__PURE__ */ jsx247(MyButtonCreateUpdate, __spreadProps(__spreadValues({}, buttonCreateUpdateProps), { children: renderCreateUpdateContent ? renderCreateUpdateContent(false) : buttonCreateUpdateProps.children })),
18631
+ enableCreate !== false && buttonCreateUpdateProps && /* @__PURE__ */ jsx245(MyButtonCreateUpdate, __spreadProps(__spreadValues({}, buttonCreateUpdateProps), { children: renderCreateUpdateContent ? renderCreateUpdateContent(false) : buttonCreateUpdateProps.children })),
18666
18632
  (_a2 = rest.renderTopToolbarCustomActions) == null ? void 0 : _a2.call(rest, props),
18667
- deleteListFn && /* @__PURE__ */ jsx247(CustomButtonDeleteListAPI, { deleteListFn, table: props.table })
18633
+ deleteListFn && /* @__PURE__ */ jsx245(CustomButtonDeleteListAPI, { deleteListFn, table: props.table })
18668
18634
  ] });
18669
18635
  },
18670
18636
  renderRowActions: (props) => {
18671
18637
  var _a2;
18672
18638
  return /* @__PURE__ */ jsxs139(MyCenterFull, { children: [
18673
18639
  (_a2 = rest.renderRowActions) == null ? void 0 : _a2.call(rest, props),
18674
- enableUpdate !== false && buttonCreateUpdateProps && /* @__PURE__ */ jsx247(
18640
+ enableUpdate !== false && buttonCreateUpdateProps && /* @__PURE__ */ jsx245(
18675
18641
  MyButtonCreateUpdate,
18676
18642
  __spreadProps(__spreadValues({
18677
18643
  isUpdate: true,
@@ -18680,7 +18646,7 @@ function CustomDataTableAPI(_a) {
18680
18646
  children: renderCreateUpdateContent ? renderCreateUpdateContent(true) : buttonCreateUpdateProps.children
18681
18647
  })
18682
18648
  ),
18683
- deleteFn && /* @__PURE__ */ jsx247(MyActionIconDelete, { contextData: props.row.original.code, onSubmit: () => deleteFn(props.row.original.id) })
18649
+ deleteFn && /* @__PURE__ */ jsx245(MyActionIconDelete, { contextData: props.row.original.code, onSubmit: () => deleteFn(props.row.original.id) })
18684
18650
  ] });
18685
18651
  }
18686
18652
  })
@@ -18690,7 +18656,7 @@ function CustomDataTableAPI(_a) {
18690
18656
  // src/core/withAPI/MyButtonViewFileAPI.tsx
18691
18657
  import { useDisclosure as useDisclosure23 } from "@mantine/hooks";
18692
18658
  import { useQuery as useQuery11 } from "@tanstack/react-query";
18693
- import { jsx as jsx248 } from "react/jsx-runtime";
18659
+ import { jsx as jsx246 } from "react/jsx-runtime";
18694
18660
  function MyButtonViewFileAPI({ filePath }) {
18695
18661
  const disc = useDisclosure23();
18696
18662
  const query = useQuery11({
@@ -18701,7 +18667,7 @@ function MyButtonViewFileAPI({ filePath }) {
18701
18667
  },
18702
18668
  enabled: filePath != void 0 && disc[0]
18703
18669
  });
18704
- return /* @__PURE__ */ jsx248(
18670
+ return /* @__PURE__ */ jsx246(
18705
18671
  MyButtonViewFile,
18706
18672
  {
18707
18673
  file: query.data,