aq-fe-framework 0.1.253 → 0.1.255

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.
@@ -1029,6 +1029,7 @@ function MyButtonCreate(_a) {
1029
1029
  }
1030
1030
  queryClient.invalidateQueries();
1031
1031
  utils_notification_show({ crudType: "create" });
1032
+ disclosure[1].close();
1032
1033
  if (notCloseModalWhenSubmit == false) {
1033
1034
  disclosure[1].close();
1034
1035
  }
@@ -1048,12 +1049,58 @@ function MyButtonCreate(_a) {
1048
1049
  ] }) }) }));
1049
1050
  }
1050
1051
 
1051
- // src/components/Buttons/ButtonCRUD/MyButtonDeleteList.tsx
1052
- import { Group as Group5, Highlight as Highlight2 } from "@mantine/core";
1052
+ // src/components/Buttons/ButtonCRUD/MyButtonCreateUpdate.tsx
1053
1053
  import { useDisclosure as useDisclosure8 } from "@mantine/hooks";
1054
1054
  import { useMutation as useMutation5, useQueryClient as useQueryClient5 } from "@tanstack/react-query";
1055
- import { useState as useState7 } from "react";
1056
1055
  import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
1056
+ function MyButtonCreateUpdate({
1057
+ form,
1058
+ onSubmit,
1059
+ onSuccess,
1060
+ onError,
1061
+ closeModalWhenSubmit = true,
1062
+ resetFormWhenSubmit = true,
1063
+ disclosure: externalDisclosure,
1064
+ isUpdate,
1065
+ children,
1066
+ buttonProps,
1067
+ actionIconProps
1068
+ }) {
1069
+ const defaultDisclosure = useDisclosure8();
1070
+ const disclosure = externalDisclosure != null ? externalDisclosure : defaultDisclosure;
1071
+ const queryClient = useQueryClient5();
1072
+ const mutation = useMutation5({
1073
+ mutationFn: async (values) => await onSubmit(values),
1074
+ onSuccess: () => {
1075
+ if (onSuccess) return onSuccess();
1076
+ queryClient.invalidateQueries();
1077
+ utils_notification_show({ crudType: isUpdate ? "update" : "create" });
1078
+ if (closeModalWhenSubmit) disclosure[1].close();
1079
+ if (resetFormWhenSubmit) form.reset();
1080
+ },
1081
+ onError: () => {
1082
+ if (onError) return onError();
1083
+ }
1084
+ });
1085
+ const handleSubmit = (values) => mutation.mutate(values);
1086
+ if (!isUpdate) {
1087
+ return /* @__PURE__ */ jsx22(MyButtonModal, __spreadProps(__spreadValues({ disclosure, crudType: "create" }, buttonProps), { children: /* @__PURE__ */ jsx22("form", { onSubmit: form.onSubmit(handleSubmit), children: /* @__PURE__ */ jsxs12(MyFlexColumn, { children: [
1088
+ children,
1089
+ /* @__PURE__ */ jsx22(MyButton, { type: "submit", crudType: "save" })
1090
+ ] }) }) }));
1091
+ }
1092
+ return /* @__PURE__ */ jsx22(MyActionIconModal, __spreadProps(__spreadValues({ disclosure, crudType: "update" }, actionIconProps), { children: /* @__PURE__ */ jsx22("form", { onSubmit: form.onSubmit(handleSubmit), children: /* @__PURE__ */ jsxs12(MyFlexColumn, { children: [
1093
+ children,
1094
+ /* @__PURE__ */ jsx22(MyButton, { type: "submit", crudType: "save" })
1095
+ ] }) }) }));
1096
+ }
1097
+
1098
+ // src/components/Buttons/ButtonCRUD/MyButtonDeleteList.tsx
1099
+ import { Group as Group5, Highlight as Highlight2 } from "@mantine/core";
1100
+ import { useDisclosure as useDisclosure9 } from "@mantine/hooks";
1101
+ import { useMutation as useMutation6, useQueryClient as useQueryClient6 } from "@tanstack/react-query";
1102
+ import { useState as useState7 } from "react";
1103
+ import { jsx as jsx23, jsxs as jsxs13 } from "react/jsx-runtime";
1057
1104
  function MyButtonDeleteList(_a) {
1058
1105
  var _b = _a, {
1059
1106
  onSubmit,
@@ -1066,10 +1113,10 @@ function MyButtonDeleteList(_a) {
1066
1113
  "onError",
1067
1114
  "contextData"
1068
1115
  ]);
1069
- const queryClient = useQueryClient5();
1070
- const disc = useDisclosure8();
1116
+ const queryClient = useQueryClient6();
1117
+ const disc = useDisclosure9();
1071
1118
  const loadingState = useState7();
1072
- const mutation = useMutation5({
1119
+ const mutation = useMutation6({
1073
1120
  mutationFn: async () => await onSubmit(),
1074
1121
  onSuccess: () => {
1075
1122
  if (onSuccess) {
@@ -1092,7 +1139,7 @@ function MyButtonDeleteList(_a) {
1092
1139
  loadingState[1](true);
1093
1140
  mutation.mutate();
1094
1141
  }
1095
- return /* @__PURE__ */ jsxs12(
1142
+ return /* @__PURE__ */ jsxs13(
1096
1143
  MyButtonModal,
1097
1144
  __spreadProps(__spreadValues({
1098
1145
  disclosure: disc,
@@ -1100,7 +1147,7 @@ function MyButtonDeleteList(_a) {
1100
1147
  disabled: contextData == void 0 || contextData.length == 0
1101
1148
  }, rest), {
1102
1149
  children: [
1103
- /* @__PURE__ */ jsx22(
1150
+ /* @__PURE__ */ jsx23(
1104
1151
  Highlight2,
1105
1152
  {
1106
1153
  highlight: contextData || [],
@@ -1113,8 +1160,8 @@ function MyButtonDeleteList(_a) {
1113
1160
  children: `B\u1EA1n s\u1EAFp x\xF3a d\u1EEF li\u1EC7u ${contextData || ""}. H\xE0nh \u0111\u1ED9ng n\xE0y kh\xF4ng th\u1EC3 ho\xE0n t\xE1c. B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n ti\u1EBFp t\u1EE5c?`
1114
1161
  }
1115
1162
  ),
1116
- /* @__PURE__ */ jsxs12(Group5, { grow: true, children: [
1117
- /* @__PURE__ */ jsx22(
1163
+ /* @__PURE__ */ jsxs13(Group5, { grow: true, children: [
1164
+ /* @__PURE__ */ jsx23(
1118
1165
  MyButton,
1119
1166
  {
1120
1167
  crudType: "delete",
@@ -1122,7 +1169,7 @@ function MyButtonDeleteList(_a) {
1122
1169
  loading: loadingState[0]
1123
1170
  }
1124
1171
  ),
1125
- /* @__PURE__ */ jsx22(
1172
+ /* @__PURE__ */ jsx23(
1126
1173
  MyButton,
1127
1174
  {
1128
1175
  crudType: "cancel",
@@ -1141,18 +1188,18 @@ import { IconFileImport as IconFileImport2 } from "@tabler/icons-react";
1141
1188
 
1142
1189
  // src/components/Combobox/Select/MySelect.tsx
1143
1190
  import { Select } from "@mantine/core";
1144
- import { jsx as jsx23 } from "react/jsx-runtime";
1191
+ import { jsx as jsx24 } from "react/jsx-runtime";
1145
1192
  function MySelect(_a) {
1146
1193
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
1147
- return /* @__PURE__ */ jsx23(Select, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
1194
+ return /* @__PURE__ */ jsx24(Select, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
1148
1195
  }
1149
1196
 
1150
1197
  // src/components/Layouts/FlexEnd/MyFlexEnd.tsx
1151
1198
  import { Group as Group6 } from "@mantine/core";
1152
- import { jsx as jsx24 } from "react/jsx-runtime";
1199
+ import { jsx as jsx25 } from "react/jsx-runtime";
1153
1200
  function MyFlexEnd(_a) {
1154
1201
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
1155
- return /* @__PURE__ */ jsx24(Group6, __spreadProps(__spreadValues({ justify: "end", mt: "md" }, rest), { children }));
1202
+ return /* @__PURE__ */ jsx25(Group6, __spreadProps(__spreadValues({ justify: "end", mt: "md" }, rest), { children }));
1156
1203
  }
1157
1204
 
1158
1205
  // src/components/Buttons/ButtonImport/SelectFieldModal.tsx
@@ -1310,99 +1357,99 @@ function useS_ButtonImport() {
1310
1357
  }
1311
1358
 
1312
1359
  // src/components/Buttons/ButtonImport/SelectFieldModal.tsx
1313
- import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
1360
+ import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
1314
1361
  function SelectFieldModal({ stack, onImport }) {
1315
1362
  var _a, _b;
1316
1363
  const store = useS_ButtonImport();
1317
- return /* @__PURE__ */ jsxs13(Modal6, __spreadProps(__spreadValues({ fullScreen: true }, stack.register("select-field-page")), { title: "Import", children: [
1318
- /* @__PURE__ */ jsxs13(SimpleGrid, { cols: { base: 1, lg: 2 }, children: [
1319
- /* @__PURE__ */ jsxs13(Fieldset, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin", children: [
1320
- /* @__PURE__ */ jsxs13(Table, { stickyHeader: true, stickyHeaderOffset: 60, children: [
1321
- /* @__PURE__ */ jsx25(Table.Thead, { bg: "cyan", children: /* @__PURE__ */ jsxs13(Table.Tr, { children: [
1322
- /* @__PURE__ */ jsx25(Table.Th, { children: "M\xE3 field" }),
1323
- /* @__PURE__ */ jsx25(Table.Th, { children: "T\xEAn field" })
1364
+ return /* @__PURE__ */ jsxs14(Modal6, __spreadProps(__spreadValues({ fullScreen: true }, stack.register("select-field-page")), { title: "Import", children: [
1365
+ /* @__PURE__ */ jsxs14(SimpleGrid, { cols: { base: 1, lg: 2 }, children: [
1366
+ /* @__PURE__ */ jsxs14(Fieldset, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin", children: [
1367
+ /* @__PURE__ */ jsxs14(Table, { stickyHeader: true, stickyHeaderOffset: 60, children: [
1368
+ /* @__PURE__ */ jsx26(Table.Thead, { bg: "cyan", children: /* @__PURE__ */ jsxs14(Table.Tr, { children: [
1369
+ /* @__PURE__ */ jsx26(Table.Th, { children: "M\xE3 field" }),
1370
+ /* @__PURE__ */ jsx26(Table.Th, { children: "T\xEAn field" })
1324
1371
  ] }) }),
1325
- /* @__PURE__ */ jsx25(Table.Tbody, { children: (_a = store.state.fieldConfig) == null ? void 0 : _a.filter((item) => item.isSelected == false || item.isSelected == void 0).map((item, idx) => /* @__PURE__ */ jsxs13(
1372
+ /* @__PURE__ */ jsx26(Table.Tbody, { children: (_a = store.state.fieldConfig) == null ? void 0 : _a.filter((item) => item.isSelected == false || item.isSelected == void 0).map((item, idx) => /* @__PURE__ */ jsxs14(
1326
1373
  Table.Tr,
1327
1374
  {
1328
1375
  style: { cursor: "pointer" },
1329
1376
  children: [
1330
- /* @__PURE__ */ jsx25(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), true), children: item.fieldKey.toString() }),
1331
- /* @__PURE__ */ jsx25(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), true), children: item.fieldName })
1377
+ /* @__PURE__ */ jsx26(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), true), children: item.fieldKey.toString() }),
1378
+ /* @__PURE__ */ jsx26(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), true), children: item.fieldName })
1332
1379
  ]
1333
1380
  },
1334
1381
  idx
1335
1382
  )) })
1336
1383
  ] }),
1337
- /* @__PURE__ */ jsx25(Space2, {}),
1338
- /* @__PURE__ */ jsx25(Group7, { children: /* @__PURE__ */ jsx25(
1384
+ /* @__PURE__ */ jsx26(Space2, {}),
1385
+ /* @__PURE__ */ jsx26(Group7, { children: /* @__PURE__ */ jsx26(
1339
1386
  Button5,
1340
1387
  {
1341
1388
  onClick: () => {
1342
1389
  store.changeAllSelected(true);
1343
1390
  },
1344
- leftSection: /* @__PURE__ */ jsx25(IconArrowBigRight, {}),
1391
+ leftSection: /* @__PURE__ */ jsx26(IconArrowBigRight, {}),
1345
1392
  children: "Chuy\u1EC3n t\u1EA5t c\u1EA3"
1346
1393
  }
1347
1394
  ) })
1348
1395
  ] }),
1349
- /* @__PURE__ */ jsxs13(Fieldset, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin \u0111\u01B0\u1EE3c ch\u1ECDn", children: [
1350
- /* @__PURE__ */ jsxs13(Table, { stickyHeader: true, stickyHeaderOffset: 60, children: [
1351
- /* @__PURE__ */ jsx25(Table.Thead, { children: /* @__PURE__ */ jsxs13(Table.Tr, { children: [
1352
- /* @__PURE__ */ jsx25(Table.Th, { children: "M\xE3 field" }),
1353
- /* @__PURE__ */ jsx25(Table.Th, { children: "T\xEAn field" }),
1354
- /* @__PURE__ */ jsx25(Table.Th, { children: "C\u1ED9t map" })
1396
+ /* @__PURE__ */ jsxs14(Fieldset, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin \u0111\u01B0\u1EE3c ch\u1ECDn", children: [
1397
+ /* @__PURE__ */ jsxs14(Table, { stickyHeader: true, stickyHeaderOffset: 60, children: [
1398
+ /* @__PURE__ */ jsx26(Table.Thead, { children: /* @__PURE__ */ jsxs14(Table.Tr, { children: [
1399
+ /* @__PURE__ */ jsx26(Table.Th, { children: "M\xE3 field" }),
1400
+ /* @__PURE__ */ jsx26(Table.Th, { children: "T\xEAn field" }),
1401
+ /* @__PURE__ */ jsx26(Table.Th, { children: "C\u1ED9t map" })
1355
1402
  ] }) }),
1356
- /* @__PURE__ */ jsx25(Table.Tbody, { children: (_b = store.state.fieldConfig) == null ? void 0 : _b.filter((item) => item.isSelected == true).map((item, idx) => /* @__PURE__ */ jsxs13(
1403
+ /* @__PURE__ */ jsx26(Table.Tbody, { children: (_b = store.state.fieldConfig) == null ? void 0 : _b.filter((item) => item.isSelected == true).map((item, idx) => /* @__PURE__ */ jsxs14(
1357
1404
  Table.Tr,
1358
1405
  {
1359
1406
  style: { cursor: "pointer" },
1360
1407
  children: [
1361
- /* @__PURE__ */ jsx25(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), false), children: item.fieldKey.toString() }),
1362
- /* @__PURE__ */ jsx25(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), false), children: item.fieldName }),
1363
- /* @__PURE__ */ jsx25(Table.Td, { children: /* @__PURE__ */ jsx25(MySelect, { data: store.state.title, value: item.fieldToMap, onChange: (e4) => store.setFieldToMap(item.fieldKey.toString(), e4) }) })
1408
+ /* @__PURE__ */ jsx26(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), false), children: item.fieldKey.toString() }),
1409
+ /* @__PURE__ */ jsx26(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), false), children: item.fieldName }),
1410
+ /* @__PURE__ */ jsx26(Table.Td, { children: /* @__PURE__ */ jsx26(MySelect, { data: store.state.title, value: item.fieldToMap, onChange: (e4) => store.setFieldToMap(item.fieldKey.toString(), e4) }) })
1364
1411
  ]
1365
1412
  },
1366
1413
  idx
1367
1414
  )) })
1368
1415
  ] }),
1369
- /* @__PURE__ */ jsx25(Space2, {}),
1370
- /* @__PURE__ */ jsx25(
1416
+ /* @__PURE__ */ jsx26(Space2, {}),
1417
+ /* @__PURE__ */ jsx26(
1371
1418
  Button5,
1372
1419
  {
1373
1420
  onClick: () => {
1374
1421
  store.changeAllSelected(false);
1375
1422
  },
1376
- leftSection: /* @__PURE__ */ jsx25(IconArrowBigLeft, {}),
1423
+ leftSection: /* @__PURE__ */ jsx26(IconArrowBigLeft, {}),
1377
1424
  children: "Chuy\u1EC3n t\u1EA5t c\u1EA3 v\u1EC1"
1378
1425
  }
1379
1426
  )
1380
1427
  ] })
1381
1428
  ] }),
1382
- /* @__PURE__ */ jsx25(Divider, {}),
1383
- /* @__PURE__ */ jsxs13(MyFlexEnd, { children: [
1384
- /* @__PURE__ */ jsx25(
1429
+ /* @__PURE__ */ jsx26(Divider, {}),
1430
+ /* @__PURE__ */ jsxs14(MyFlexEnd, { children: [
1431
+ /* @__PURE__ */ jsx26(
1385
1432
  Button5,
1386
1433
  {
1387
- leftSection: /* @__PURE__ */ jsx25(IconArrowBackUp, {}),
1434
+ leftSection: /* @__PURE__ */ jsx26(IconArrowBackUp, {}),
1388
1435
  onClick: () => stack.close("select-field-page"),
1389
1436
  color: "gray.7",
1390
1437
  children: "Quay l\u1EA1i"
1391
1438
  }
1392
1439
  ),
1393
- /* @__PURE__ */ jsx25(
1440
+ /* @__PURE__ */ jsx26(
1394
1441
  Button5,
1395
1442
  {
1396
1443
  color: "blue.8",
1397
- leftSection: /* @__PURE__ */ jsx25(IconArrowBigRight, {}),
1444
+ leftSection: /* @__PURE__ */ jsx26(IconArrowBigRight, {}),
1398
1445
  onClick: onImport,
1399
1446
  children: "Ti\u1EBFp t\u1EE5c / Import"
1400
1447
  }
1401
1448
  ),
1402
- /* @__PURE__ */ jsx25(
1449
+ /* @__PURE__ */ jsx26(
1403
1450
  Button5,
1404
1451
  {
1405
- leftSection: /* @__PURE__ */ jsx25(IconSquareRoundedX, {}),
1452
+ leftSection: /* @__PURE__ */ jsx26(IconSquareRoundedX, {}),
1406
1453
  onClick: () => stack.closeAll(),
1407
1454
  color: "red.6",
1408
1455
  children: "\u0110\xF3ng"
@@ -1422,7 +1469,7 @@ import {
1422
1469
  } from "mantine-react-table";
1423
1470
  import { MRT_Localization_VI } from "mantine-react-table/locales/vi/index.cjs";
1424
1471
  import { useEffect as useEffect5 } from "react";
1425
- import { Fragment as Fragment7, jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
1472
+ import { Fragment as Fragment7, jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
1426
1473
  function formatData(data, formats) {
1427
1474
  return data.map((row) => {
1428
1475
  const transformedRow = {};
@@ -1485,14 +1532,14 @@ function MyDataTable(_a) {
1485
1532
  columns,
1486
1533
  data,
1487
1534
  renderTopToolbarCustomActions: ({ table: table2 }) => {
1488
- return /* @__PURE__ */ jsxs14(Group8, { children: [
1535
+ return /* @__PURE__ */ jsxs15(Group8, { children: [
1489
1536
  renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table: table2 }),
1490
- exportAble && /* @__PURE__ */ jsx26(Fragment7, { children: /* @__PURE__ */ jsx26(
1537
+ exportAble && /* @__PURE__ */ jsx27(Fragment7, { children: /* @__PURE__ */ jsx27(
1491
1538
  Button6,
1492
1539
  {
1493
1540
  color: "green.8",
1494
1541
  onClick: () => handleExport(table2.getSelectedRowModel().rows),
1495
- leftSection: /* @__PURE__ */ jsx26(IconDownload3, {}),
1542
+ leftSection: /* @__PURE__ */ jsx27(IconDownload3, {}),
1496
1543
  variant: "filled",
1497
1544
  children: "Export"
1498
1545
  }
@@ -1539,7 +1586,7 @@ function MyDataTable(_a) {
1539
1586
  }
1540
1587
  },
1541
1588
  localization: MRT_Localization_VI,
1542
- renderEmptyRowsFallback: () => isError ? /* @__PURE__ */ jsx26(Alert, { icon: /* @__PURE__ */ jsx26(IconBug, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" }) : /* @__PURE__ */ jsx26(Alert, { icon: /* @__PURE__ */ jsx26(IconInfoCircle, {}), color: "gray", title: "Kh\xF4ng c\xF3 d\u1EEF li\u1EC7u!", m: "md" }),
1589
+ renderEmptyRowsFallback: () => isError ? /* @__PURE__ */ jsx27(Alert, { icon: /* @__PURE__ */ jsx27(IconBug, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" }) : /* @__PURE__ */ jsx27(Alert, { icon: /* @__PURE__ */ jsx27(IconInfoCircle, {}), color: "gray", title: "Kh\xF4ng c\xF3 d\u1EEF li\u1EC7u!", m: "md" }),
1543
1590
  state: {
1544
1591
  showSkeletons: isLoading
1545
1592
  },
@@ -1550,24 +1597,24 @@ function MyDataTable(_a) {
1550
1597
  setSelectedRow && setSelectedRow(table.getSelectedRowModel().rows.map((row) => row.original));
1551
1598
  }, [table.getState().rowSelection]);
1552
1599
  if (data == void 0) return;
1553
- return /* @__PURE__ */ jsx26("main", { style: { position: "relative", zIndex: 1 }, children: table.getState().isFullScreen ? /* @__PURE__ */ jsx26(Portal, { children: /* @__PURE__ */ jsx26(MantineReactTable, { table }) }) : /* @__PURE__ */ jsx26(MantineReactTable, { table }) });
1600
+ return /* @__PURE__ */ jsx27("main", { style: { position: "relative", zIndex: 1 }, children: table.getState().isFullScreen ? /* @__PURE__ */ jsx27(Portal, { children: /* @__PURE__ */ jsx27(MantineReactTable, { table }) }) : /* @__PURE__ */ jsx27(MantineReactTable, { table }) });
1554
1601
  }
1555
1602
 
1556
1603
  // src/components/Buttons/ButtonImport/SelectFileModal.tsx
1557
1604
  import { Button as Button7, Fieldset as Fieldset2, FileInput as FileInput2, Modal as Modal7, NumberInput, Select as Select2, SimpleGrid as SimpleGrid2 } from "@mantine/core";
1558
1605
  import { IconArrowBigRight as IconArrowBigRight2, IconSquareRoundedX as IconSquareRoundedX2 } from "@tabler/icons-react";
1559
- import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
1606
+ import { jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
1560
1607
  function SelectFileModal({ onExportStructure, stack }) {
1561
1608
  var _a;
1562
1609
  const store = useS_ButtonImport();
1563
- return /* @__PURE__ */ jsxs15(
1610
+ return /* @__PURE__ */ jsxs16(
1564
1611
  Modal7,
1565
1612
  __spreadProps(__spreadValues({
1566
1613
  title: "Import",
1567
1614
  fullScreen: true
1568
1615
  }, stack.register("select-file-page")), {
1569
1616
  children: [
1570
- /* @__PURE__ */ jsx27(
1617
+ /* @__PURE__ */ jsx28(
1571
1618
  FileInput2,
1572
1619
  {
1573
1620
  value: store.state.file,
@@ -1577,8 +1624,8 @@ function SelectFileModal({ onExportStructure, stack }) {
1577
1624
  clearable: true
1578
1625
  }
1579
1626
  ),
1580
- /* @__PURE__ */ jsxs15(SimpleGrid2, { cols: { base: 1, md: 2, lg: 2, xl: 4 }, children: [
1581
- /* @__PURE__ */ jsx27(
1627
+ /* @__PURE__ */ jsxs16(SimpleGrid2, { cols: { base: 1, md: 2, lg: 2, xl: 4 }, children: [
1628
+ /* @__PURE__ */ jsx28(
1582
1629
  NumberInput,
1583
1630
  {
1584
1631
  label: "D\xF2ng ti\xEAu \u0111\u1EC1 b\u1EAFt \u0111\u1EA7u t\u1EEB",
@@ -1586,7 +1633,7 @@ function SelectFileModal({ onExportStructure, stack }) {
1586
1633
  onChange: (e4) => store.setProperty("startTitleIndex", e4)
1587
1634
  }
1588
1635
  ),
1589
- /* @__PURE__ */ jsx27(
1636
+ /* @__PURE__ */ jsx28(
1590
1637
  NumberInput,
1591
1638
  {
1592
1639
  label: "D\xF2ng d\u1EEF li\u1EC7u b\u1EAFt \u0111\u1EA7u t\u1EEB",
@@ -1594,7 +1641,7 @@ function SelectFileModal({ onExportStructure, stack }) {
1594
1641
  onChange: (e4) => store.setProperty("startDataIndex", e4)
1595
1642
  }
1596
1643
  ),
1597
- /* @__PURE__ */ jsx27(
1644
+ /* @__PURE__ */ jsx28(
1598
1645
  Select2,
1599
1646
  {
1600
1647
  readOnly: true,
@@ -1603,7 +1650,7 @@ function SelectFileModal({ onExportStructure, stack }) {
1603
1650
  defaultValue: "100.000"
1604
1651
  }
1605
1652
  ),
1606
- /* @__PURE__ */ jsx27(
1653
+ /* @__PURE__ */ jsx28(
1607
1654
  Select2,
1608
1655
  {
1609
1656
  readOnly: true,
@@ -1613,15 +1660,15 @@ function SelectFileModal({ onExportStructure, stack }) {
1613
1660
  }
1614
1661
  )
1615
1662
  ] }),
1616
- /* @__PURE__ */ jsx27(Fieldset2, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u", children: store.state.data && /* @__PURE__ */ jsx27(
1663
+ /* @__PURE__ */ jsx28(Fieldset2, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u", children: store.state.data && /* @__PURE__ */ jsx28(
1617
1664
  MyDataTable,
1618
1665
  {
1619
1666
  columns: store.columns,
1620
1667
  data: store.state.data
1621
1668
  }
1622
1669
  ) }),
1623
- /* @__PURE__ */ jsxs15(MyFlexEnd, { children: [
1624
- /* @__PURE__ */ jsx27(
1670
+ /* @__PURE__ */ jsxs16(MyFlexEnd, { children: [
1671
+ /* @__PURE__ */ jsx28(
1625
1672
  Button7,
1626
1673
  {
1627
1674
  color: "teal.8",
@@ -1629,21 +1676,21 @@ function SelectFileModal({ onExportStructure, stack }) {
1629
1676
  children: "Xu\u1EA5t file c\u1EA5u tr\xFAc"
1630
1677
  }
1631
1678
  ),
1632
- /* @__PURE__ */ jsx27(
1679
+ /* @__PURE__ */ jsx28(
1633
1680
  Button7,
1634
1681
  {
1635
1682
  disabled: ((_a = store.state.data) == null ? void 0 : _a.length) == 0,
1636
1683
  color: "blue.8",
1637
- leftSection: /* @__PURE__ */ jsx27(IconArrowBigRight2, {}),
1684
+ leftSection: /* @__PURE__ */ jsx28(IconArrowBigRight2, {}),
1638
1685
  onClick: () => stack.open("select-field-page"),
1639
1686
  children: "Ti\u1EBFp t\u1EE5c"
1640
1687
  }
1641
1688
  ),
1642
- /* @__PURE__ */ jsx27(
1689
+ /* @__PURE__ */ jsx28(
1643
1690
  Button7,
1644
1691
  {
1645
1692
  color: "red.6",
1646
- leftSection: /* @__PURE__ */ jsx27(IconSquareRoundedX2, {}),
1693
+ leftSection: /* @__PURE__ */ jsx28(IconSquareRoundedX2, {}),
1647
1694
  onClick: stack.closeAll,
1648
1695
  children: "\u0110\xF3ng"
1649
1696
  }
@@ -1655,26 +1702,26 @@ function SelectFileModal({ onExportStructure, stack }) {
1655
1702
  }
1656
1703
 
1657
1704
  // src/components/Buttons/ButtonImport/MyButtonImport.tsx
1658
- import { Fragment as Fragment8, jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
1705
+ import { Fragment as Fragment8, jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
1659
1706
  function MyButtonImport({
1660
1707
  onExportStructure,
1661
1708
  onImport
1662
1709
  }) {
1663
1710
  const stack = useModalsStack3(["select-file-page", "select-field-page", "implement-page"]);
1664
1711
  const store = useS_ButtonImport();
1665
- return /* @__PURE__ */ jsxs16(Fragment8, { children: [
1666
- /* @__PURE__ */ jsx28(Button8, { color: "teal.8", onClick: () => stack.open("select-file-page"), leftSection: /* @__PURE__ */ jsx28(IconFileImport2, {}), title: "Import", children: "Import" }),
1667
- /* @__PURE__ */ jsxs16(Modal8.Stack, { children: [
1668
- /* @__PURE__ */ jsx28(SelectFileModal, { stack, onExportStructure }),
1669
- /* @__PURE__ */ jsx28(SelectFieldModal, { stack, onImport: () => onImport(store.getDataFinal()) })
1712
+ return /* @__PURE__ */ jsxs17(Fragment8, { children: [
1713
+ /* @__PURE__ */ jsx29(Button8, { color: "teal.8", onClick: () => stack.open("select-file-page"), leftSection: /* @__PURE__ */ jsx29(IconFileImport2, {}), title: "Import", children: "Import" }),
1714
+ /* @__PURE__ */ jsxs17(Modal8.Stack, { children: [
1715
+ /* @__PURE__ */ jsx29(SelectFileModal, { stack, onExportStructure }),
1716
+ /* @__PURE__ */ jsx29(SelectFieldModal, { stack, onImport: () => onImport(store.getDataFinal()) })
1670
1717
  ] })
1671
1718
  ] });
1672
1719
  }
1673
1720
 
1674
1721
  // src/components/Buttons/ButtonModal/AQSelectTableByOpenModal.tsx
1675
1722
  import { Button as Button9, Fieldset as Fieldset3, Modal as Modal9 } from "@mantine/core";
1676
- import { useDisclosure as useDisclosure9 } from "@mantine/hooks";
1677
- import { Fragment as Fragment9, jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
1723
+ import { useDisclosure as useDisclosure10 } from "@mantine/hooks";
1724
+ import { Fragment as Fragment9, jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
1678
1725
  function AQSelectTableByOpenModal(_a) {
1679
1726
  var _b = _a, {
1680
1727
  setSelectedData,
@@ -1701,9 +1748,9 @@ function AQSelectTableByOpenModal(_a) {
1701
1748
  "fullScreen",
1702
1749
  "closeAfterSelect"
1703
1750
  ]);
1704
- const disclosure = useDisclosure9(false);
1705
- return /* @__PURE__ */ jsxs17(Fragment9, { children: [
1706
- /* @__PURE__ */ jsx29(
1751
+ const disclosure = useDisclosure10(false);
1752
+ return /* @__PURE__ */ jsxs18(Fragment9, { children: [
1753
+ /* @__PURE__ */ jsx30(
1707
1754
  Button9,
1708
1755
  __spreadProps(__spreadValues({
1709
1756
  onClick: disclosure[1].open
@@ -1711,7 +1758,7 @@ function AQSelectTableByOpenModal(_a) {
1711
1758
  children: label ? label : `Ch\u1ECDn t\u1EEB danh s\xE1ch`
1712
1759
  })
1713
1760
  ),
1714
- /* @__PURE__ */ jsx29(
1761
+ /* @__PURE__ */ jsx30(
1715
1762
  Modal9,
1716
1763
  {
1717
1764
  fullScreen,
@@ -1719,11 +1766,11 @@ function AQSelectTableByOpenModal(_a) {
1719
1766
  title,
1720
1767
  opened: disclosure == null ? void 0 : disclosure[0],
1721
1768
  onClose: disclosure[1].close,
1722
- children: /* @__PURE__ */ jsx29(MyFlexColumn, { children: /* @__PURE__ */ jsx29(Fieldset3, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: /* @__PURE__ */ jsx29(
1769
+ children: /* @__PURE__ */ jsx30(MyFlexColumn, { children: /* @__PURE__ */ jsx30(Fieldset3, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: /* @__PURE__ */ jsx30(
1723
1770
  MyDataTable,
1724
1771
  __spreadValues({
1725
1772
  renderTopToolbarCustomActions: ({ table }) => {
1726
- return /* @__PURE__ */ jsx29(Button9, { onClick: () => {
1773
+ return /* @__PURE__ */ jsx30(Button9, { onClick: () => {
1727
1774
  setSelectedData(table.getSelectedRowModel().rows.map((row) => row.original));
1728
1775
  closeAfterSelect && disclosure[1].close();
1729
1776
  }, children: "Ch\u1ECDn" });
@@ -1743,7 +1790,7 @@ import { useRef as useRef2 } from "react";
1743
1790
  import { Button as Button10 } from "@mantine/core";
1744
1791
  import { IconPrinter as IconPrinter2 } from "@tabler/icons-react";
1745
1792
  import { useReactToPrint } from "react-to-print";
1746
- import { Fragment as Fragment10, jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
1793
+ import { Fragment as Fragment10, jsx as jsx31, jsxs as jsxs19 } from "react/jsx-runtime";
1747
1794
  function MyButtonPrintPDF(_a) {
1748
1795
  var _b = _a, { contentToPrint, children } = _b, rest = __objRest(_b, ["contentToPrint", "children"]);
1749
1796
  const printRef = useRef2(null);
@@ -1757,16 +1804,16 @@ function MyButtonPrintPDF(_a) {
1757
1804
  if (!contentToPrint) return;
1758
1805
  handlePrint();
1759
1806
  }
1760
- return /* @__PURE__ */ jsxs18(Fragment10, { children: [
1761
- /* @__PURE__ */ jsx30("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx30("div", { ref: printRef, children: contentToPrint }) }),
1762
- /* @__PURE__ */ jsx30(Button10, __spreadProps(__spreadValues({ color: "orange", onClick: handleClick, leftSection: /* @__PURE__ */ jsx30(IconPrinter2, {}) }, rest), { children }))
1807
+ return /* @__PURE__ */ jsxs19(Fragment10, { children: [
1808
+ /* @__PURE__ */ jsx31("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx31("div", { ref: printRef, children: contentToPrint }) }),
1809
+ /* @__PURE__ */ jsx31(Button10, __spreadProps(__spreadValues({ color: "orange", onClick: handleClick, leftSection: /* @__PURE__ */ jsx31(IconPrinter2, {}) }, rest), { children }))
1763
1810
  ] });
1764
1811
  }
1765
1812
 
1766
1813
  // src/components/Layouts/HtmlWrapper/MyHtmlWrapper.tsx
1767
1814
  import { ScrollArea, TypographyStylesProvider } from "@mantine/core";
1768
1815
  import pako from "pako";
1769
- import { jsx as jsx31 } from "react/jsx-runtime";
1816
+ import { jsx as jsx32 } from "react/jsx-runtime";
1770
1817
  function MyHtmlWrapper(_a) {
1771
1818
  var _b = _a, { html, mah, zip = false } = _b, rest = __objRest(_b, ["html", "mah", "zip"]);
1772
1819
  const extractHtmlFromZip = () => {
@@ -1775,7 +1822,7 @@ function MyHtmlWrapper(_a) {
1775
1822
  const cleanedHtml = decompressedData == null ? void 0 : decompressedData.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
1776
1823
  return cleanedHtml.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
1777
1824
  };
1778
- return /* @__PURE__ */ jsx31(ScrollArea.Autosize, { mah, children: /* @__PURE__ */ jsx31(TypographyStylesProvider, __spreadProps(__spreadValues({}, rest), { children: /* @__PURE__ */ jsx31(
1825
+ return /* @__PURE__ */ jsx32(ScrollArea.Autosize, { mah, children: /* @__PURE__ */ jsx32(TypographyStylesProvider, __spreadProps(__spreadValues({}, rest), { children: /* @__PURE__ */ jsx32(
1779
1826
  "div",
1780
1827
  {
1781
1828
  dangerouslySetInnerHTML: {
@@ -1787,7 +1834,7 @@ function MyHtmlWrapper(_a) {
1787
1834
 
1788
1835
  // src/components/Buttons/ButtonPrintPDFTable/MyButtonPrintTablePDF.tsx
1789
1836
  import { Box, Table as Table2 } from "@mantine/core";
1790
- import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
1837
+ import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
1791
1838
  function MyButtonPrintTablePDF(_a) {
1792
1839
  var _b = _a, {
1793
1840
  printConfig,
@@ -1813,8 +1860,8 @@ function MyButtonPrintTablePDF(_a) {
1813
1860
  };
1814
1861
  const rows = data == null ? void 0 : data.map((item, index) => {
1815
1862
  if (!(printConfig == null ? void 0 : printConfig.fields)) return null;
1816
- return /* @__PURE__ */ jsxs19(Table2.Tr, { children: [
1817
- printConfig.showRowNumbers && /* @__PURE__ */ jsx32(Table2.Td, { ta: "center", px: "xs", style: { border: "1px solid lightgray" }, children: index + 1 }),
1863
+ return /* @__PURE__ */ jsxs20(Table2.Tr, { children: [
1864
+ printConfig.showRowNumbers && /* @__PURE__ */ jsx33(Table2.Td, { ta: "center", px: "xs", style: { border: "1px solid lightgray" }, children: index + 1 }),
1818
1865
  printConfig.fields.map((field) => {
1819
1866
  let value = item[field.fieldName];
1820
1867
  if (field.formatFunction) {
@@ -1824,30 +1871,30 @@ function MyButtonPrintTablePDF(_a) {
1824
1871
  }
1825
1872
  const alignment = field.isCenter === false ? "left" : "center";
1826
1873
  if (typeof value === "string" && (value.includes("<") || value.includes("&lt;"))) {
1827
- return /* @__PURE__ */ jsx32(
1874
+ return /* @__PURE__ */ jsx33(
1828
1875
  Table2.Td,
1829
1876
  {
1830
1877
  px: "xs",
1831
1878
  ta: alignment,
1832
1879
  style: { border: "1px solid lightgray" },
1833
- children: /* @__PURE__ */ jsx32(MyHtmlWrapper, { html: value })
1880
+ children: /* @__PURE__ */ jsx33(MyHtmlWrapper, { html: value })
1834
1881
  },
1835
1882
  field.fieldName
1836
1883
  );
1837
1884
  }
1838
1885
  if (value === "true" || value === "false") {
1839
- return /* @__PURE__ */ jsx32(
1886
+ return /* @__PURE__ */ jsx33(
1840
1887
  Table2.Td,
1841
1888
  {
1842
1889
  ta: alignment,
1843
1890
  px: "xs",
1844
1891
  style: { border: "1px solid lightgray" },
1845
- children: /* @__PURE__ */ jsx32("input", { type: "checkbox", checked: value === "true", readOnly: true })
1892
+ children: /* @__PURE__ */ jsx33("input", { type: "checkbox", checked: value === "true", readOnly: true })
1846
1893
  },
1847
1894
  field.fieldName
1848
1895
  );
1849
1896
  }
1850
- return /* @__PURE__ */ jsx32(
1897
+ return /* @__PURE__ */ jsx33(
1851
1898
  Table2.Td,
1852
1899
  {
1853
1900
  ta: alignment,
@@ -1871,18 +1918,18 @@ function MyButtonPrintTablePDF(_a) {
1871
1918
  minute: "2-digit"
1872
1919
  });
1873
1920
  const tableTitle = (printConfig == null ? void 0 : printConfig.title) || "B\u1EA3ng d\u1EEF li\u1EC7u";
1874
- return /* @__PURE__ */ jsxs19(Box, { p: "lg", children: [
1875
- /* @__PURE__ */ jsxs19("div", { style: { textAlign: "center", marginTop: "10px", fontStyle: "italic", color: "#666" }, children: [
1921
+ return /* @__PURE__ */ jsxs20(Box, { p: "lg", children: [
1922
+ /* @__PURE__ */ jsxs20("div", { style: { textAlign: "center", marginTop: "10px", fontStyle: "italic", color: "#666" }, children: [
1876
1923
  "Ng\xE0y in: ",
1877
1924
  formattedDate
1878
1925
  ] }),
1879
- /* @__PURE__ */ jsx32("h2", { style: { textAlign: "center", fontSize: "24px", fontWeight: "bold", marginBottom: "20px" }, children: tableTitle }),
1880
- /* @__PURE__ */ jsxs19(Table2, { withColumnBorders: true, highlightOnHover: true, style: { border: "1px solid lightgray" }, children: [
1881
- /* @__PURE__ */ jsx32(Table2.Thead, { children: /* @__PURE__ */ jsxs19(Table2.Tr, { children: [
1882
- printConfig.showRowNumbers && /* @__PURE__ */ jsx32(Table2.Th, { style: { border: "1px solid lightgray" }, w: "10%", ta: "center", px: "xs", children: "STT" }),
1926
+ /* @__PURE__ */ jsx33("h2", { style: { textAlign: "center", fontSize: "24px", fontWeight: "bold", marginBottom: "20px" }, children: tableTitle }),
1927
+ /* @__PURE__ */ jsxs20(Table2, { withColumnBorders: true, highlightOnHover: true, style: { border: "1px solid lightgray" }, children: [
1928
+ /* @__PURE__ */ jsx33(Table2.Thead, { children: /* @__PURE__ */ jsxs20(Table2.Tr, { children: [
1929
+ printConfig.showRowNumbers && /* @__PURE__ */ jsx33(Table2.Th, { style: { border: "1px solid lightgray" }, w: "10%", ta: "center", px: "xs", children: "STT" }),
1883
1930
  printConfig.fields.map((field) => {
1884
1931
  const alignment = field.isCenter === false ? "left" : "center";
1885
- return /* @__PURE__ */ jsx32(
1932
+ return /* @__PURE__ */ jsx33(
1886
1933
  Table2.Th,
1887
1934
  {
1888
1935
  style: { border: "1px solid lightgray" },
@@ -1894,11 +1941,11 @@ function MyButtonPrintTablePDF(_a) {
1894
1941
  );
1895
1942
  })
1896
1943
  ] }) }),
1897
- /* @__PURE__ */ jsx32(Table2.Tbody, { children: rows })
1944
+ /* @__PURE__ */ jsx33(Table2.Tbody, { children: rows })
1898
1945
  ] })
1899
1946
  ] });
1900
1947
  };
1901
- return /* @__PURE__ */ jsx32(
1948
+ return /* @__PURE__ */ jsx33(
1902
1949
  MyButtonPrintPDF,
1903
1950
  __spreadValues({
1904
1951
  contentToPrint: renderContent()
@@ -1910,11 +1957,11 @@ function MyButtonPrintTablePDF(_a) {
1910
1957
  import { ActionIcon as ActionIcon9 } from "@mantine/core";
1911
1958
  import { IconArrowBack } from "@tabler/icons-react";
1912
1959
  import { useRouter as useRouter2 } from "next/navigation";
1913
- import { jsx as jsx33 } from "react/jsx-runtime";
1960
+ import { jsx as jsx34 } from "react/jsx-runtime";
1914
1961
  function MyButtonRouterBack(_a) {
1915
1962
  var _b = _a, { url, label } = _b, rest = __objRest(_b, ["url", "label"]);
1916
1963
  const router = useRouter2();
1917
- return /* @__PURE__ */ jsx33(
1964
+ return /* @__PURE__ */ jsx34(
1918
1965
  ActionIcon9,
1919
1966
  __spreadProps(__spreadValues({
1920
1967
  size: "xl",
@@ -1927,7 +1974,7 @@ function MyButtonRouterBack(_a) {
1927
1974
  router.back();
1928
1975
  }
1929
1976
  }, rest), {
1930
- children: /* @__PURE__ */ jsx33(IconArrowBack, { stroke: 2 })
1977
+ children: /* @__PURE__ */ jsx34(IconArrowBack, { stroke: 2 })
1931
1978
  })
1932
1979
  );
1933
1980
  }
@@ -1943,11 +1990,11 @@ import {
1943
1990
  Text as Text6,
1944
1991
  Tooltip as Tooltip4
1945
1992
  } from "@mantine/core";
1946
- import { useDisclosure as useDisclosure10 } from "@mantine/hooks";
1993
+ import { useDisclosure as useDisclosure11 } from "@mantine/hooks";
1947
1994
  import { IconLivePhoto as IconLivePhoto2, IconMaximize as IconMaximize3, IconMinimize as IconMinimize3 } from "@tabler/icons-react";
1948
1995
  import { useQuery } from "@tanstack/react-query";
1949
1996
  import { useState as useState8 } from "react";
1950
- import { Fragment as Fragment11, jsx as jsx34, jsxs as jsxs20 } from "react/jsx-runtime";
1997
+ import { Fragment as Fragment11, jsx as jsx35, jsxs as jsxs21 } from "react/jsx-runtime";
1951
1998
  function MyButtonViewPDF({
1952
1999
  id,
1953
2000
  modalSize = "80%",
@@ -1957,7 +2004,7 @@ function MyButtonViewPDF({
1957
2004
  filePath
1958
2005
  }) {
1959
2006
  var _a, _b, _c;
1960
- const disc = useDisclosure10(false);
2007
+ const disc = useDisclosure11(false);
1961
2008
  const fullScreen = useState8(false);
1962
2009
  const hSize = useState8("80vh");
1963
2010
  const query = useQuery({
@@ -1972,57 +2019,57 @@ function MyButtonViewPDF({
1972
2019
  },
1973
2020
  enabled: disc[0] == true
1974
2021
  });
1975
- return /* @__PURE__ */ jsxs20(Fragment11, { children: [
1976
- /* @__PURE__ */ jsx34(Tooltip4, { label: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp", children: isActionIcon ? /* @__PURE__ */ jsx34(
2022
+ return /* @__PURE__ */ jsxs21(Fragment11, { children: [
2023
+ /* @__PURE__ */ jsx35(Tooltip4, { label: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp", children: isActionIcon ? /* @__PURE__ */ jsx35(
1977
2024
  ActionIcon10,
1978
2025
  {
1979
2026
  onClick: () => {
1980
2027
  disc[1].open();
1981
2028
  },
1982
- children: /* @__PURE__ */ jsx34(IconLivePhoto2, {})
2029
+ children: /* @__PURE__ */ jsx35(IconLivePhoto2, {})
1983
2030
  }
1984
- ) : /* @__PURE__ */ jsx34(
2031
+ ) : /* @__PURE__ */ jsx35(
1985
2032
  Button11,
1986
2033
  {
1987
2034
  color: "cyan",
1988
2035
  onClick: () => {
1989
2036
  disc[1].open();
1990
2037
  },
1991
- leftSection: /* @__PURE__ */ jsx34(IconLivePhoto2, {}),
2038
+ leftSection: /* @__PURE__ */ jsx35(IconLivePhoto2, {}),
1992
2039
  children: label
1993
2040
  }
1994
2041
  ) }),
1995
- /* @__PURE__ */ jsx34(
2042
+ /* @__PURE__ */ jsx35(
1996
2043
  Modal10,
1997
2044
  {
1998
2045
  fullScreen: fullScreen[0],
1999
2046
  opened: disc[0],
2000
2047
  onClose: disc[1].close,
2001
2048
  size: modalSize,
2002
- title: /* @__PURE__ */ jsxs20(Group9, { children: [
2003
- /* @__PURE__ */ jsx34(Text6, { children: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }),
2004
- fullScreen[0] ? /* @__PURE__ */ jsx34(
2049
+ title: /* @__PURE__ */ jsxs21(Group9, { children: [
2050
+ /* @__PURE__ */ jsx35(Text6, { children: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }),
2051
+ fullScreen[0] ? /* @__PURE__ */ jsx35(
2005
2052
  ActionIcon10,
2006
2053
  {
2007
2054
  onClick: () => {
2008
2055
  fullScreen[1](false);
2009
2056
  hSize[1]("80vh");
2010
2057
  },
2011
- children: /* @__PURE__ */ jsx34(IconMinimize3, {})
2058
+ children: /* @__PURE__ */ jsx35(IconMinimize3, {})
2012
2059
  }
2013
- ) : /* @__PURE__ */ jsx34(
2060
+ ) : /* @__PURE__ */ jsx35(
2014
2061
  ActionIcon10,
2015
2062
  {
2016
2063
  onClick: () => {
2017
2064
  fullScreen[1](true);
2018
2065
  hSize[1]("90vh");
2019
2066
  },
2020
- children: /* @__PURE__ */ jsx34(IconMaximize3, {})
2067
+ children: /* @__PURE__ */ jsx35(IconMaximize3, {})
2021
2068
  }
2022
2069
  )
2023
2070
  ] }),
2024
- children: /* @__PURE__ */ jsxs20(Paper3, { h: hSize[0], p: "lg", pos: "relative", children: [
2025
- /* @__PURE__ */ jsx34(
2071
+ children: /* @__PURE__ */ jsxs21(Paper3, { h: hSize[0], p: "lg", pos: "relative", children: [
2072
+ /* @__PURE__ */ jsx35(
2026
2073
  LoadingOverlay,
2027
2074
  {
2028
2075
  visible: query.isLoading,
@@ -2030,14 +2077,14 @@ function MyButtonViewPDF({
2030
2077
  overlayProps: { radius: "sm", blur: 2 }
2031
2078
  }
2032
2079
  ),
2033
- query.data ? /* @__PURE__ */ jsx34(
2080
+ query.data ? /* @__PURE__ */ jsx35(
2034
2081
  "iframe",
2035
2082
  {
2036
2083
  src: `data:application/pdf;base64, ${filePath ? (_a = query.data) == null ? void 0 : _a.fileBase64String : (_c = (_b = query.data) == null ? void 0 : _b.fileDetail) == null ? void 0 : _c.fileBase64String}`,
2037
2084
  width: "100%",
2038
2085
  height: "100%"
2039
2086
  }
2040
- ) : /* @__PURE__ */ jsx34("iframe", { src, width: "100%", height: "100%" })
2087
+ ) : /* @__PURE__ */ jsx35("iframe", { src, width: "100%", height: "100%" })
2041
2088
  ] })
2042
2089
  }
2043
2090
  )
@@ -6340,7 +6387,7 @@ import { ScheduleXCalendar, useNextCalendarApp } from "@schedule-x/react";
6340
6387
  import { Paper as Paper4, Text as Text7 } from "@mantine/core";
6341
6388
  import "@schedule-x/theme-default/dist/index.css";
6342
6389
  import { useEffect as useEffect6 } from "react";
6343
- import { jsx as jsx35, jsxs as jsxs21 } from "react/jsx-runtime";
6390
+ import { jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
6344
6391
  function MyCalendar() {
6345
6392
  const plugins = [createEventsServicePlugin(), createEventModalPlugin()];
6346
6393
  const calendar = useNextCalendarApp({
@@ -6414,16 +6461,16 @@ function MyCalendar() {
6414
6461
  useEffect6(() => {
6415
6462
  calendar == null ? void 0 : calendar.events.getAll();
6416
6463
  }, []);
6417
- return /* @__PURE__ */ jsx35("div", { children: /* @__PURE__ */ jsx35(ScheduleXCalendar, { calendarApp: calendar, customComponents: {
6464
+ return /* @__PURE__ */ jsx36("div", { children: /* @__PURE__ */ jsx36(ScheduleXCalendar, { calendarApp: calendar, customComponents: {
6418
6465
  timeGridEvent: ({ calendarEvent }) => {
6419
6466
  console.log(calendarEvent);
6420
- return /* @__PURE__ */ jsx35(Paper4, { h: "100%", bg: calendarEvent.laLichThi ? "violet.2" : "blue.2", p: 4, children: /* @__PURE__ */ jsxs21(MyFlexColumn, { gap: 1, children: [
6421
- /* @__PURE__ */ jsxs21(Text7, { size: "sm", fw: "bold", children: [
6467
+ return /* @__PURE__ */ jsx36(Paper4, { h: "100%", bg: calendarEvent.laLichThi ? "violet.2" : "blue.2", p: 4, children: /* @__PURE__ */ jsxs22(MyFlexColumn, { gap: 1, children: [
6468
+ /* @__PURE__ */ jsxs22(Text7, { size: "sm", fw: "bold", children: [
6422
6469
  calendarEvent.laLichThi ? "(Thi) " : "(H\u1ECDc) ",
6423
6470
  calendarEvent.title
6424
6471
  ] }),
6425
- calendarEvent.laLichThi == false && /* @__PURE__ */ jsx35(Text7, { size: "sm", children: calendarEvent.giangvien }),
6426
- /* @__PURE__ */ jsx35(Text7, { size: "sm", children: calendarEvent.location })
6472
+ calendarEvent.laLichThi == false && /* @__PURE__ */ jsx36(Text7, { size: "sm", children: calendarEvent.giangvien }),
6473
+ /* @__PURE__ */ jsx36(Text7, { size: "sm", children: calendarEvent.location })
6427
6474
  ] }) });
6428
6475
  }
6429
6476
  // eventModal: ({ calendarEvent }) => {
@@ -6438,31 +6485,31 @@ function MyCalendar() {
6438
6485
 
6439
6486
  // src/components/CenterFull/MyCenterFull.tsx
6440
6487
  import { Center as Center2, Group as Group10 } from "@mantine/core";
6441
- import { jsx as jsx36 } from "react/jsx-runtime";
6488
+ import { jsx as jsx37 } from "react/jsx-runtime";
6442
6489
  function MyCenterFull({ children }) {
6443
- return /* @__PURE__ */ jsx36(Center2, { w: "100%", children: /* @__PURE__ */ jsx36(Group10, { children }) });
6490
+ return /* @__PURE__ */ jsx37(Center2, { w: "100%", children: /* @__PURE__ */ jsx37(Group10, { children }) });
6444
6491
  }
6445
6492
 
6446
6493
  // src/components/Checkbox/MyCheckbox.tsx
6447
6494
  import { Checkbox as Checkbox2 } from "@mantine/core";
6448
- import { jsx as jsx37 } from "react/jsx-runtime";
6495
+ import { jsx as jsx38 } from "react/jsx-runtime";
6449
6496
  function MyCheckbox(_a) {
6450
6497
  var rest = __objRest(_a, []);
6451
- return /* @__PURE__ */ jsx37(Checkbox2, __spreadValues({}, rest));
6498
+ return /* @__PURE__ */ jsx38(Checkbox2, __spreadValues({}, rest));
6452
6499
  }
6453
6500
 
6454
6501
  // src/components/Layouts/FlexRow/MyFlexRow.tsx
6455
6502
  import { Flex as Flex2 } from "@mantine/core";
6456
- import { jsx as jsx38 } from "react/jsx-runtime";
6503
+ import { jsx as jsx39 } from "react/jsx-runtime";
6457
6504
  function MyFlexRow(_a) {
6458
6505
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
6459
- return /* @__PURE__ */ jsx38(Flex2, __spreadProps(__spreadValues({ gap: "md", align: "center" }, rest), { children }));
6506
+ return /* @__PURE__ */ jsx39(Flex2, __spreadProps(__spreadValues({ gap: "md", align: "center" }, rest), { children }));
6460
6507
  }
6461
6508
 
6462
6509
  // src/components/DataDisplay/Card/AQCard.tsx
6463
6510
  import { Badge as Badge2, Card, Center as Center3, Image, Text as Text8 } from "@mantine/core";
6464
6511
  import Link from "next/link";
6465
- import { jsx as jsx39, jsxs as jsxs22 } from "react/jsx-runtime";
6512
+ import { jsx as jsx40, jsxs as jsxs23 } from "react/jsx-runtime";
6466
6513
  function AQCard({
6467
6514
  imgSrc = "https://raw.githubusercontent.com/mantinedev/mantine/master/.demo/images/bg-8.png",
6468
6515
  title,
@@ -6472,8 +6519,8 @@ function AQCard({
6472
6519
  status,
6473
6520
  href = ""
6474
6521
  }) {
6475
- return /* @__PURE__ */ jsxs22(Card, { shadow: "sm", padding: "lg", radius: "md", withBorder: true, component: Link, href, children: [
6476
- /* @__PURE__ */ jsx39(Card.Section, { children: /* @__PURE__ */ jsx39(Center3, { children: /* @__PURE__ */ jsx39(
6522
+ return /* @__PURE__ */ jsxs23(Card, { shadow: "sm", padding: "lg", radius: "md", withBorder: true, component: Link, href, children: [
6523
+ /* @__PURE__ */ jsx40(Card.Section, { children: /* @__PURE__ */ jsx40(Center3, { children: /* @__PURE__ */ jsx40(
6477
6524
  Image,
6478
6525
  {
6479
6526
  src: imgSrc,
@@ -6483,11 +6530,11 @@ function AQCard({
6483
6530
  alt: "Norway"
6484
6531
  }
6485
6532
  ) }) }),
6486
- /* @__PURE__ */ jsxs22(MyFlexRow, { justify: "space-between", mt: "md", mb: "xs", children: [
6487
- /* @__PURE__ */ jsx39(Text8, { fw: 500, children: title }),
6488
- status && /* @__PURE__ */ jsx39(Badge2, { color: "violet.5", w: "150px", children: status })
6533
+ /* @__PURE__ */ jsxs23(MyFlexRow, { justify: "space-between", mt: "md", mb: "xs", children: [
6534
+ /* @__PURE__ */ jsx40(Text8, { fw: 500, children: title }),
6535
+ status && /* @__PURE__ */ jsx40(Badge2, { color: "violet.5", w: "150px", children: status })
6489
6536
  ] }),
6490
- /* @__PURE__ */ jsx39(Text8, { size: "sm", c: "dimmed", lineClamp: 2, children: description }),
6537
+ /* @__PURE__ */ jsx40(Text8, { size: "sm", c: "dimmed", lineClamp: 2, children: description }),
6491
6538
  children
6492
6539
  ] });
6493
6540
  }
@@ -6495,7 +6542,7 @@ function AQCard({
6495
6542
  // src/components/DataDisplay/CardInformation/MyCardInformation.tsx
6496
6543
  import { Box as Box2, Flex as Flex3, Group as Group11, Paper as Paper5, Text as Text9 } from "@mantine/core";
6497
6544
  import { IconArrowDownRight, IconArrowUpRight } from "@tabler/icons-react";
6498
- import { jsx as jsx40, jsxs as jsxs23 } from "react/jsx-runtime";
6545
+ import { jsx as jsx41, jsxs as jsxs24 } from "react/jsx-runtime";
6499
6546
  function MyCardInformation({
6500
6547
  title,
6501
6548
  value,
@@ -6505,16 +6552,16 @@ function MyCardInformation({
6505
6552
  diff = 0,
6506
6553
  extraControl
6507
6554
  }) {
6508
- return /* @__PURE__ */ jsxs23(
6555
+ return /* @__PURE__ */ jsxs24(
6509
6556
  Paper5,
6510
6557
  {
6511
6558
  withBorder: true,
6512
6559
  p: "md",
6513
6560
  radius: "md",
6514
6561
  children: [
6515
- /* @__PURE__ */ jsxs23(Group11, { justify: "space-between", children: [
6516
- /* @__PURE__ */ jsxs23(Flex3, { direction: "column", children: [
6517
- /* @__PURE__ */ jsx40(
6562
+ /* @__PURE__ */ jsxs24(Group11, { justify: "space-between", children: [
6563
+ /* @__PURE__ */ jsxs24(Flex3, { direction: "column", children: [
6564
+ /* @__PURE__ */ jsx41(
6518
6565
  Text9,
6519
6566
  {
6520
6567
  tt: "uppercase",
@@ -6523,24 +6570,24 @@ function MyCardInformation({
6523
6570
  children: title
6524
6571
  }
6525
6572
  ),
6526
- unit == "" ? /* @__PURE__ */ jsxs23(Text9, { size: "xs", style: { visibility: "hidden" }, children: [
6573
+ unit == "" ? /* @__PURE__ */ jsxs24(Text9, { size: "xs", style: { visibility: "hidden" }, children: [
6527
6574
  "\u0110\u01A1n v\u1ECB: ",
6528
- /* @__PURE__ */ jsx40("strong", { children: unit })
6529
- ] }) : /* @__PURE__ */ jsxs23(Text9, { size: "xs", children: [
6575
+ /* @__PURE__ */ jsx41("strong", { children: unit })
6576
+ ] }) : /* @__PURE__ */ jsxs24(Text9, { size: "xs", children: [
6530
6577
  "\u0110\u01A1n v\u1ECB: ",
6531
- /* @__PURE__ */ jsx40("strong", { children: unit })
6578
+ /* @__PURE__ */ jsx41("strong", { children: unit })
6532
6579
  ] })
6533
6580
  ] }),
6534
- /* @__PURE__ */ jsx40(Box2, { children: icon })
6581
+ /* @__PURE__ */ jsx41(Box2, { children: icon })
6535
6582
  ] }),
6536
- /* @__PURE__ */ jsxs23(
6583
+ /* @__PURE__ */ jsxs24(
6537
6584
  Group11,
6538
6585
  {
6539
6586
  mt: "5",
6540
6587
  align: "flex-end",
6541
6588
  gap: "xs",
6542
6589
  children: [
6543
- /* @__PURE__ */ jsx40(
6590
+ /* @__PURE__ */ jsx41(
6544
6591
  Text9,
6545
6592
  {
6546
6593
  fw: 700,
@@ -6548,7 +6595,7 @@ function MyCardInformation({
6548
6595
  children: value
6549
6596
  }
6550
6597
  ),
6551
- /* @__PURE__ */ jsxs23(
6598
+ /* @__PURE__ */ jsxs24(
6552
6599
  Text9,
6553
6600
  {
6554
6601
  mb: "2",
@@ -6556,19 +6603,19 @@ function MyCardInformation({
6556
6603
  fz: "h2",
6557
6604
  fw: 500,
6558
6605
  children: [
6559
- /* @__PURE__ */ jsxs23("span", { children: [
6606
+ /* @__PURE__ */ jsxs24("span", { children: [
6560
6607
  diff,
6561
6608
  "%"
6562
6609
  ] }),
6563
- diff > 0 ? /* @__PURE__ */ jsx40(IconArrowUpRight, {}) : /* @__PURE__ */ jsx40(IconArrowDownRight, {})
6610
+ diff > 0 ? /* @__PURE__ */ jsx41(IconArrowUpRight, {}) : /* @__PURE__ */ jsx41(IconArrowDownRight, {})
6564
6611
  ]
6565
6612
  }
6566
6613
  )
6567
6614
  ]
6568
6615
  }
6569
6616
  ),
6570
- /* @__PURE__ */ jsxs23(Group11, { justify: "space-between", children: [
6571
- /* @__PURE__ */ jsx40(Text9, { tt: "uppercase", fz: "xs", c: "dimmed", children: description }),
6617
+ /* @__PURE__ */ jsxs24(Group11, { justify: "space-between", children: [
6618
+ /* @__PURE__ */ jsx41(Text9, { tt: "uppercase", fz: "xs", c: "dimmed", children: description }),
6572
6619
  extraControl
6573
6620
  ] })
6574
6621
  ]
@@ -6579,50 +6626,50 @@ function MyCardInformation({
6579
6626
 
6580
6627
  // src/components/DataDisplay/IconText/MyIconText.tsx
6581
6628
  import { Group as Group12, Text as Text10 } from "@mantine/core";
6582
- import { jsx as jsx41, jsxs as jsxs24 } from "react/jsx-runtime";
6629
+ import { jsx as jsx42, jsxs as jsxs25 } from "react/jsx-runtime";
6583
6630
  function MyIconText({ icon: Icon, text }) {
6584
- return /* @__PURE__ */ jsxs24(Group12, { wrap: "nowrap", gap: 10, mt: 3, children: [
6585
- Icon && /* @__PURE__ */ jsx41(Icon, { stroke: 1.5, size: 16 }),
6586
- /* @__PURE__ */ jsx41(Text10, { fz: "lg", c: "dimmed", children: text })
6631
+ return /* @__PURE__ */ jsxs25(Group12, { wrap: "nowrap", gap: 10, mt: 3, children: [
6632
+ Icon && /* @__PURE__ */ jsx42(Icon, { stroke: 1.5, size: 16 }),
6633
+ /* @__PURE__ */ jsx42(Text10, { fz: "lg", c: "dimmed", children: text })
6587
6634
  ] });
6588
6635
  }
6589
6636
 
6590
6637
  // src/components/DataDisplay/KeyLabel/MyKeyLabel.tsx
6591
6638
  import { Group as Group13, Text as Text11 } from "@mantine/core";
6592
- import { jsx as jsx42, jsxs as jsxs25 } from "react/jsx-runtime";
6639
+ import { jsx as jsx43, jsxs as jsxs26 } from "react/jsx-runtime";
6593
6640
  function MyKeyLabel({ keyLabel, label }) {
6594
- return /* @__PURE__ */ jsxs25(Group13, { gap: 5, children: [
6595
- /* @__PURE__ */ jsxs25(Text11, { fw: "bold", children: [
6641
+ return /* @__PURE__ */ jsxs26(Group13, { gap: 5, children: [
6642
+ /* @__PURE__ */ jsxs26(Text11, { fw: "bold", children: [
6596
6643
  keyLabel,
6597
6644
  ":"
6598
6645
  ] }),
6599
- /* @__PURE__ */ jsx42(Text11, { children: label })
6646
+ /* @__PURE__ */ jsx43(Text11, { children: label })
6600
6647
  ] });
6601
6648
  }
6602
6649
 
6603
6650
  // src/components/DataDisplay/NumberFormatter/MyNumberFormatter.tsx
6604
6651
  import { NumberFormatter } from "@mantine/core";
6605
- import { jsx as jsx43 } from "react/jsx-runtime";
6652
+ import { jsx as jsx44 } from "react/jsx-runtime";
6606
6653
  function MyNumberFormatter(_a) {
6607
6654
  var rest = __objRest(_a, []);
6608
- return /* @__PURE__ */ jsx43(NumberFormatter, __spreadValues({ thousandSeparator: true, suffix: " VN\u0110" }, rest));
6655
+ return /* @__PURE__ */ jsx44(NumberFormatter, __spreadValues({ thousandSeparator: true, suffix: " VN\u0110" }, rest));
6609
6656
  }
6610
6657
 
6611
6658
  // src/components/DataDisplay/StatCard/AQStatCard1.tsx
6612
6659
  import { Box as Box3, Button as Button13, Flex as Flex4, Group as Group14, Paper as Paper6, Text as Text12 } from "@mantine/core";
6613
6660
  import { IconArrowDownRight as IconArrowDownRight2, IconArrowUpRight as IconArrowUpRight2 } from "@tabler/icons-react";
6614
- import { Fragment as Fragment12, jsx as jsx44, jsxs as jsxs26 } from "react/jsx-runtime";
6661
+ import { Fragment as Fragment12, jsx as jsx45, jsxs as jsxs27 } from "react/jsx-runtime";
6615
6662
  function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
6616
- return /* @__PURE__ */ jsx44(Fragment12, { children: /* @__PURE__ */ jsxs26(
6663
+ return /* @__PURE__ */ jsx45(Fragment12, { children: /* @__PURE__ */ jsxs27(
6617
6664
  Paper6,
6618
6665
  {
6619
6666
  withBorder: true,
6620
6667
  p: "md",
6621
6668
  radius: "md",
6622
6669
  children: [
6623
- /* @__PURE__ */ jsxs26(Group14, { justify: "space-between", children: [
6624
- /* @__PURE__ */ jsxs26(Flex4, { direction: "column", children: [
6625
- /* @__PURE__ */ jsx44(
6670
+ /* @__PURE__ */ jsxs27(Group14, { justify: "space-between", children: [
6671
+ /* @__PURE__ */ jsxs27(Flex4, { direction: "column", children: [
6672
+ /* @__PURE__ */ jsx45(
6626
6673
  Text12,
6627
6674
  {
6628
6675
  tt: "uppercase",
@@ -6631,24 +6678,24 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
6631
6678
  children: title
6632
6679
  }
6633
6680
  ),
6634
- unit == "" ? /* @__PURE__ */ jsxs26(Text12, { size: "xs", style: { visibility: "hidden" }, children: [
6681
+ unit == "" ? /* @__PURE__ */ jsxs27(Text12, { size: "xs", style: { visibility: "hidden" }, children: [
6635
6682
  "\u0110\u01A1n v\u1ECB: ",
6636
- /* @__PURE__ */ jsx44("strong", { children: unit })
6637
- ] }) : /* @__PURE__ */ jsxs26(Text12, { size: "xs", children: [
6683
+ /* @__PURE__ */ jsx45("strong", { children: unit })
6684
+ ] }) : /* @__PURE__ */ jsxs27(Text12, { size: "xs", children: [
6638
6685
  "\u0110\u01A1n v\u1ECB: ",
6639
- /* @__PURE__ */ jsx44("strong", { children: unit })
6686
+ /* @__PURE__ */ jsx45("strong", { children: unit })
6640
6687
  ] })
6641
6688
  ] }),
6642
- /* @__PURE__ */ jsx44(Box3, { children: icons })
6689
+ /* @__PURE__ */ jsx45(Box3, { children: icons })
6643
6690
  ] }),
6644
- /* @__PURE__ */ jsxs26(
6691
+ /* @__PURE__ */ jsxs27(
6645
6692
  Group14,
6646
6693
  {
6647
6694
  mt: "5",
6648
6695
  align: "flex-end",
6649
6696
  gap: "xs",
6650
6697
  children: [
6651
- /* @__PURE__ */ jsx44(
6698
+ /* @__PURE__ */ jsx45(
6652
6699
  Text12,
6653
6700
  {
6654
6701
  fw: 700,
@@ -6656,7 +6703,7 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
6656
6703
  children: value
6657
6704
  }
6658
6705
  ),
6659
- /* @__PURE__ */ jsxs26(
6706
+ /* @__PURE__ */ jsxs27(
6660
6707
  Text12,
6661
6708
  {
6662
6709
  mb: "2",
@@ -6664,20 +6711,20 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
6664
6711
  fz: "h2",
6665
6712
  fw: 500,
6666
6713
  children: [
6667
- /* @__PURE__ */ jsxs26("span", { children: [
6714
+ /* @__PURE__ */ jsxs27("span", { children: [
6668
6715
  diff,
6669
6716
  "%"
6670
6717
  ] }),
6671
- diff > 0 ? /* @__PURE__ */ jsx44(IconArrowUpRight2, {}) : /* @__PURE__ */ jsx44(IconArrowDownRight2, {})
6718
+ diff > 0 ? /* @__PURE__ */ jsx45(IconArrowUpRight2, {}) : /* @__PURE__ */ jsx45(IconArrowDownRight2, {})
6672
6719
  ]
6673
6720
  }
6674
6721
  )
6675
6722
  ]
6676
6723
  }
6677
6724
  ),
6678
- /* @__PURE__ */ jsxs26(Group14, { justify: "space-between", children: [
6679
- /* @__PURE__ */ jsx44(Text12, { tt: "uppercase", fz: "xs", c: "dimmed", children: description }),
6680
- /* @__PURE__ */ jsx44(
6725
+ /* @__PURE__ */ jsxs27(Group14, { justify: "space-between", children: [
6726
+ /* @__PURE__ */ jsx45(Text12, { tt: "uppercase", fz: "xs", c: "dimmed", children: description }),
6727
+ /* @__PURE__ */ jsx45(
6681
6728
  Button13,
6682
6729
  {
6683
6730
  variant: "light",
@@ -6768,10 +6815,10 @@ function FaviconSetter() {
6768
6815
 
6769
6816
  // src/components/Inputs/DateInput/MyDateInput.tsx
6770
6817
  import { DateInput } from "@mantine/dates";
6771
- import { jsx as jsx45 } from "react/jsx-runtime";
6818
+ import { jsx as jsx46 } from "react/jsx-runtime";
6772
6819
  function MyDateInput(_a) {
6773
6820
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
6774
- return /* @__PURE__ */ jsx45(DateInput, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
6821
+ return /* @__PURE__ */ jsx46(DateInput, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
6775
6822
  }
6776
6823
 
6777
6824
  // src/constants/enum/global.ts
@@ -6788,7 +6835,7 @@ var ENUM_DAYS_OF_WEEK = /* @__PURE__ */ ((ENUM_DAYS_OF_WEEK2) => {
6788
6835
 
6789
6836
  // src/components/Inputs/DayOfWeekPicker/MyDayOfWeekPicker.tsx
6790
6837
  import { Badge as Badge3, Group as Group15, Text as Text13 } from "@mantine/core";
6791
- import { jsx as jsx46, jsxs as jsxs27 } from "react/jsx-runtime";
6838
+ import { jsx as jsx47, jsxs as jsxs28 } from "react/jsx-runtime";
6792
6839
  var days = Object.entries(ENUM_DAYS_OF_WEEK).filter(([key]) => isNaN(Number(key))).map(([label, value]) => ({ label, value }));
6793
6840
  function MyDayOfWeekPicker({ value = [], onChange }) {
6794
6841
  const toggle = (val) => {
@@ -6796,9 +6843,9 @@ function MyDayOfWeekPicker({ value = [], onChange }) {
6796
6843
  const newValue = value.includes(val) ? value.filter((v5) => v5 !== val) : [...value, val];
6797
6844
  onChange(newValue);
6798
6845
  };
6799
- return /* @__PURE__ */ jsxs27(MyFlexRow, { align: "center", children: [
6800
- /* @__PURE__ */ jsx46(Text13, { children: "Danh s\xE1ch th\u1EE9: " }),
6801
- /* @__PURE__ */ jsx46(Group15, { gap: "xs", children: days.map((d5) => /* @__PURE__ */ jsx46(
6846
+ return /* @__PURE__ */ jsxs28(MyFlexRow, { align: "center", children: [
6847
+ /* @__PURE__ */ jsx47(Text13, { children: "Danh s\xE1ch th\u1EE9: " }),
6848
+ /* @__PURE__ */ jsx47(Group15, { gap: "xs", children: days.map((d5) => /* @__PURE__ */ jsx47(
6802
6849
  Badge3,
6803
6850
  {
6804
6851
  variant: value.includes(d5.value) ? "filled" : "outline",
@@ -6821,7 +6868,7 @@ import {
6821
6868
  Text as Text14,
6822
6869
  useMantineColorScheme as useMantineColorScheme2
6823
6870
  } from "@mantine/core";
6824
- import { jsx as jsx47, jsxs as jsxs28 } from "react/jsx-runtime";
6871
+ import { jsx as jsx48, jsxs as jsxs29 } from "react/jsx-runtime";
6825
6872
  function MyFieldset(_a) {
6826
6873
  var _b = _a, {
6827
6874
  children,
@@ -6850,10 +6897,10 @@ function MyFieldset(_a) {
6850
6897
  const mergedStyles = typeof styles === "function" ? styles : __spreadProps(__spreadValues({}, styles), {
6851
6898
  legend: __spreadValues(__spreadValues({}, defaultLegendStyles), styles == null ? void 0 : styles.legend)
6852
6899
  });
6853
- return /* @__PURE__ */ jsx47(
6900
+ return /* @__PURE__ */ jsx48(
6854
6901
  Fieldset4,
6855
6902
  __spreadProps(__spreadValues({
6856
- legend: customLegend != null ? customLegend : /* @__PURE__ */ jsx47(Group16, { gap: "xs", children: /* @__PURE__ */ jsxs28(Text14, { fw: 600, children: [
6903
+ legend: customLegend != null ? customLegend : /* @__PURE__ */ jsx48(Group16, { gap: "xs", children: /* @__PURE__ */ jsxs29(Text14, { fw: 600, children: [
6857
6904
  " ",
6858
6905
  title,
6859
6906
  " "
@@ -6868,13 +6915,13 @@ function MyFieldset(_a) {
6868
6915
  // src/components/Inputs/FileInput/MyFileInput.tsx
6869
6916
  import { FileInput as FileInput3 } from "@mantine/core";
6870
6917
  import { IconFile } from "@tabler/icons-react";
6871
- import { jsx as jsx48 } from "react/jsx-runtime";
6918
+ import { jsx as jsx49 } from "react/jsx-runtime";
6872
6919
  function MyFileInput(_a) {
6873
6920
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
6874
- return /* @__PURE__ */ jsx48(
6921
+ return /* @__PURE__ */ jsx49(
6875
6922
  FileInput3,
6876
6923
  __spreadValues({
6877
- rightSection: /* @__PURE__ */ jsx48(IconFile, {}),
6924
+ rightSection: /* @__PURE__ */ jsx49(IconFile, {}),
6878
6925
  label,
6879
6926
  placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : ""
6880
6927
  }, rest)
@@ -6883,10 +6930,10 @@ function MyFileInput(_a) {
6883
6930
 
6884
6931
  // src/components/Inputs/NumberInput/MyNumberInput.tsx
6885
6932
  import { NumberInput as NumberInput2 } from "@mantine/core";
6886
- import { jsx as jsx49 } from "react/jsx-runtime";
6933
+ import { jsx as jsx50 } from "react/jsx-runtime";
6887
6934
  function MyNumberInput(_a) {
6888
6935
  var _b = _a, { minValue, label } = _b, rest = __objRest(_b, ["minValue", "label"]);
6889
- return /* @__PURE__ */ jsx49(
6936
+ return /* @__PURE__ */ jsx50(
6890
6937
  NumberInput2,
6891
6938
  __spreadValues({
6892
6939
  label,
@@ -6898,10 +6945,10 @@ function MyNumberInput(_a) {
6898
6945
 
6899
6946
  // src/components/Inputs/TextArea/MyTextArea.tsx
6900
6947
  import { Textarea } from "@mantine/core";
6901
- import { jsx as jsx50 } from "react/jsx-runtime";
6948
+ import { jsx as jsx51 } from "react/jsx-runtime";
6902
6949
  function MyTextArea(_a) {
6903
6950
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
6904
- return /* @__PURE__ */ jsx50(Textarea, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
6951
+ return /* @__PURE__ */ jsx51(Textarea, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
6905
6952
  }
6906
6953
 
6907
6954
  // src/components/Inputs/TextEditor/MyTextEditor.tsx
@@ -6917,7 +6964,7 @@ import Underline from "@tiptap/extension-underline";
6917
6964
  import { useEditor } from "@tiptap/react";
6918
6965
  import StarterKit from "@tiptap/starter-kit";
6919
6966
  import { useEffect as useEffect8, useState as useState9 } from "react";
6920
- import { jsx as jsx51, jsxs as jsxs29 } from "react/jsx-runtime";
6967
+ import { jsx as jsx52, jsxs as jsxs30 } from "react/jsx-runtime";
6921
6968
  function MyTextEditor(_a) {
6922
6969
  var _b = _a, {
6923
6970
  autoHiddenToolBar = false,
@@ -7019,43 +7066,43 @@ function MyTextEditor(_a) {
7019
7066
  editor.commands.setContent(value);
7020
7067
  }
7021
7068
  }, [value, editor]);
7022
- return /* @__PURE__ */ jsx51(Input.Wrapper, { label, flex: 1, error, withAsterisk, children: /* @__PURE__ */ jsxs29(RichTextEditor, { editor, style: { border: error && "1px solid #e03131" }, children: [
7023
- /* @__PURE__ */ jsxs29(RichTextEditor.Toolbar, { hidden: hiddenToolBar, sticky: true, stickyOffset: 60, children: [
7024
- /* @__PURE__ */ jsxs29(RichTextEditor.ControlsGroup, { children: [
7025
- /* @__PURE__ */ jsx51(RichTextEditor.Bold, {}),
7026
- /* @__PURE__ */ jsx51(RichTextEditor.Italic, {}),
7027
- /* @__PURE__ */ jsx51(RichTextEditor.Underline, {}),
7028
- /* @__PURE__ */ jsx51(RichTextEditor.Strikethrough, {}),
7029
- /* @__PURE__ */ jsx51(RichTextEditor.ClearFormatting, {}),
7030
- /* @__PURE__ */ jsx51(RichTextEditor.Highlight, {}),
7031
- /* @__PURE__ */ jsx51(RichTextEditor.Code, {})
7069
+ return /* @__PURE__ */ jsx52(Input.Wrapper, { label, flex: 1, error, withAsterisk, children: /* @__PURE__ */ jsxs30(RichTextEditor, { editor, style: { border: error && "1px solid #e03131" }, children: [
7070
+ /* @__PURE__ */ jsxs30(RichTextEditor.Toolbar, { hidden: hiddenToolBar, sticky: true, stickyOffset: 60, children: [
7071
+ /* @__PURE__ */ jsxs30(RichTextEditor.ControlsGroup, { children: [
7072
+ /* @__PURE__ */ jsx52(RichTextEditor.Bold, {}),
7073
+ /* @__PURE__ */ jsx52(RichTextEditor.Italic, {}),
7074
+ /* @__PURE__ */ jsx52(RichTextEditor.Underline, {}),
7075
+ /* @__PURE__ */ jsx52(RichTextEditor.Strikethrough, {}),
7076
+ /* @__PURE__ */ jsx52(RichTextEditor.ClearFormatting, {}),
7077
+ /* @__PURE__ */ jsx52(RichTextEditor.Highlight, {}),
7078
+ /* @__PURE__ */ jsx52(RichTextEditor.Code, {})
7032
7079
  ] }),
7033
- /* @__PURE__ */ jsxs29(RichTextEditor.ControlsGroup, { children: [
7034
- /* @__PURE__ */ jsx51(RichTextEditor.H1, {}),
7035
- /* @__PURE__ */ jsx51(RichTextEditor.H2, {}),
7036
- /* @__PURE__ */ jsx51(RichTextEditor.H3, {}),
7037
- /* @__PURE__ */ jsx51(RichTextEditor.H4, {})
7080
+ /* @__PURE__ */ jsxs30(RichTextEditor.ControlsGroup, { children: [
7081
+ /* @__PURE__ */ jsx52(RichTextEditor.H1, {}),
7082
+ /* @__PURE__ */ jsx52(RichTextEditor.H2, {}),
7083
+ /* @__PURE__ */ jsx52(RichTextEditor.H3, {}),
7084
+ /* @__PURE__ */ jsx52(RichTextEditor.H4, {})
7038
7085
  ] }),
7039
- /* @__PURE__ */ jsxs29(RichTextEditor.ControlsGroup, { children: [
7040
- /* @__PURE__ */ jsx51(RichTextEditor.Blockquote, {}),
7041
- /* @__PURE__ */ jsx51(RichTextEditor.Hr, {}),
7042
- /* @__PURE__ */ jsx51(RichTextEditor.BulletList, {}),
7043
- /* @__PURE__ */ jsx51(RichTextEditor.OrderedList, {}),
7044
- /* @__PURE__ */ jsx51(RichTextEditor.Subscript, {}),
7045
- /* @__PURE__ */ jsx51(RichTextEditor.Superscript, {})
7086
+ /* @__PURE__ */ jsxs30(RichTextEditor.ControlsGroup, { children: [
7087
+ /* @__PURE__ */ jsx52(RichTextEditor.Blockquote, {}),
7088
+ /* @__PURE__ */ jsx52(RichTextEditor.Hr, {}),
7089
+ /* @__PURE__ */ jsx52(RichTextEditor.BulletList, {}),
7090
+ /* @__PURE__ */ jsx52(RichTextEditor.OrderedList, {}),
7091
+ /* @__PURE__ */ jsx52(RichTextEditor.Subscript, {}),
7092
+ /* @__PURE__ */ jsx52(RichTextEditor.Superscript, {})
7046
7093
  ] }),
7047
- /* @__PURE__ */ jsxs29(RichTextEditor.ControlsGroup, { children: [
7048
- /* @__PURE__ */ jsx51(RichTextEditor.Link, {}),
7049
- /* @__PURE__ */ jsx51(RichTextEditor.Unlink, {})
7094
+ /* @__PURE__ */ jsxs30(RichTextEditor.ControlsGroup, { children: [
7095
+ /* @__PURE__ */ jsx52(RichTextEditor.Link, {}),
7096
+ /* @__PURE__ */ jsx52(RichTextEditor.Unlink, {})
7050
7097
  ] }),
7051
- /* @__PURE__ */ jsxs29(RichTextEditor.ControlsGroup, { children: [
7052
- /* @__PURE__ */ jsx51(RichTextEditor.AlignLeft, {}),
7053
- /* @__PURE__ */ jsx51(RichTextEditor.AlignCenter, {}),
7054
- /* @__PURE__ */ jsx51(RichTextEditor.AlignJustify, {}),
7055
- /* @__PURE__ */ jsx51(RichTextEditor.AlignRight, {})
7098
+ /* @__PURE__ */ jsxs30(RichTextEditor.ControlsGroup, { children: [
7099
+ /* @__PURE__ */ jsx52(RichTextEditor.AlignLeft, {}),
7100
+ /* @__PURE__ */ jsx52(RichTextEditor.AlignCenter, {}),
7101
+ /* @__PURE__ */ jsx52(RichTextEditor.AlignJustify, {}),
7102
+ /* @__PURE__ */ jsx52(RichTextEditor.AlignRight, {})
7056
7103
  ] })
7057
7104
  ] }),
7058
- /* @__PURE__ */ jsx51(
7105
+ /* @__PURE__ */ jsx52(
7059
7106
  ScrollArea2.Autosize,
7060
7107
  {
7061
7108
  onMouseDown: () => {
@@ -7070,7 +7117,7 @@ function MyTextEditor(_a) {
7070
7117
  setHiddenToolBar(false);
7071
7118
  },
7072
7119
  style: { cursor: "text", maxHeight: "400px" },
7073
- children: /* @__PURE__ */ jsx51(RichTextEditor.Content, { mih: contentHeight })
7120
+ children: /* @__PURE__ */ jsx52(RichTextEditor.Content, { mih: contentHeight })
7074
7121
  }
7075
7122
  )
7076
7123
  ] }) });
@@ -7096,7 +7143,7 @@ import {
7096
7143
  } from "@mantine/core";
7097
7144
  import { IconPlus as IconPlus5, IconTrash as IconTrash5 } from "@tabler/icons-react";
7098
7145
  import { useState as useState10 } from "react";
7099
- import { jsx as jsx52, jsxs as jsxs30 } from "react/jsx-runtime";
7146
+ import { jsx as jsx53, jsxs as jsxs31 } from "react/jsx-runtime";
7100
7147
  function MyWeeklySessionSchedulerPicker({
7101
7148
  value = [],
7102
7149
  onChange
@@ -7127,8 +7174,8 @@ function MyWeeklySessionSchedulerPicker({
7127
7174
  return acc;
7128
7175
  }, {});
7129
7176
  const getLabel = (day) => ENUM_DAYS_OF_WEEK[day] || `Day ${day}`;
7130
- return /* @__PURE__ */ jsx52(Paper7, { w: "100%", p: "md", children: /* @__PURE__ */ jsxs30(MyFlexColumn, { children: [
7131
- /* @__PURE__ */ jsx52(Center4, { children: /* @__PURE__ */ jsx52(
7177
+ return /* @__PURE__ */ jsx53(Paper7, { w: "100%", p: "md", children: /* @__PURE__ */ jsxs31(MyFlexColumn, { children: [
7178
+ /* @__PURE__ */ jsx53(Center4, { children: /* @__PURE__ */ jsx53(
7132
7179
  MyDayOfWeekPicker,
7133
7180
  {
7134
7181
  value: selectedDays,
@@ -7138,41 +7185,41 @@ function MyWeeklySessionSchedulerPicker({
7138
7185
  }
7139
7186
  }
7140
7187
  ) }),
7141
- /* @__PURE__ */ jsx52(Divider2, { my: "xs" }),
7142
- /* @__PURE__ */ jsx52(Center4, { children: /* @__PURE__ */ jsx52(ScrollArea3.Autosize, { h: "40vh", children: /* @__PURE__ */ jsx52(MyFlexColumn, { w: { base: "100%", sm: "70%" }, children: selectedDays.map((dayOfWeek) => {
7188
+ /* @__PURE__ */ jsx53(Divider2, { my: "xs" }),
7189
+ /* @__PURE__ */ jsx53(Center4, { children: /* @__PURE__ */ jsx53(ScrollArea3.Autosize, { h: "40vh", children: /* @__PURE__ */ jsx53(MyFlexColumn, { w: { base: "100%", sm: "70%" }, children: selectedDays.map((dayOfWeek) => {
7143
7190
  var _a;
7144
- return /* @__PURE__ */ jsxs30(
7191
+ return /* @__PURE__ */ jsxs31(
7145
7192
  Paper7,
7146
7193
  {
7147
7194
  w: "100%",
7148
7195
  p: "md",
7149
7196
  bg: object_colors.mantineBackgroundBlueLight,
7150
7197
  children: [
7151
- /* @__PURE__ */ jsxs30(Group17, { gap: "apart", children: [
7152
- /* @__PURE__ */ jsx52(Text15, { w: "70px", fw: 500, children: getLabel(dayOfWeek) }),
7153
- /* @__PURE__ */ jsx52(
7198
+ /* @__PURE__ */ jsxs31(Group17, { gap: "apart", children: [
7199
+ /* @__PURE__ */ jsx53(Text15, { w: "70px", fw: 500, children: getLabel(dayOfWeek) }),
7200
+ /* @__PURE__ */ jsx53(
7154
7201
  Button14,
7155
7202
  {
7156
7203
  color: "teal.5",
7157
- leftSection: /* @__PURE__ */ jsx52(IconPlus5, { size: 14 }),
7204
+ leftSection: /* @__PURE__ */ jsx53(IconPlus5, { size: 14 }),
7158
7205
  onClick: () => handleAddSession(dayOfWeek),
7159
7206
  children: "Th\xEAm bu\u1ED5i"
7160
7207
  }
7161
7208
  )
7162
7209
  ] }),
7163
- /* @__PURE__ */ jsx52(Divider2, { my: "sm" }),
7210
+ /* @__PURE__ */ jsx53(Divider2, { my: "sm" }),
7164
7211
  (_a = grouped[dayOfWeek]) == null ? void 0 : _a.map((item, indexInDay) => {
7165
7212
  const globalIndex = value.findIndex(
7166
7213
  (v5) => v5 === item
7167
7214
  );
7168
- return /* @__PURE__ */ jsxs30(
7215
+ return /* @__PURE__ */ jsxs31(
7169
7216
  Group17,
7170
7217
  {
7171
7218
  mt: "xs",
7172
7219
  gap: "xs",
7173
7220
  align: "flex-end",
7174
7221
  children: [
7175
- /* @__PURE__ */ jsx52(
7222
+ /* @__PURE__ */ jsx53(
7176
7223
  NumberInput3,
7177
7224
  {
7178
7225
  label: "Ti\u1EBFt b\u1EAFt \u0111\u1EA7u",
@@ -7184,7 +7231,7 @@ function MyWeeklySessionSchedulerPicker({
7184
7231
  )
7185
7232
  }
7186
7233
  ),
7187
- /* @__PURE__ */ jsx52(
7234
+ /* @__PURE__ */ jsx53(
7188
7235
  NumberInput3,
7189
7236
  {
7190
7237
  label: "S\u1ED1 ti\u1EBFt",
@@ -7196,7 +7243,7 @@ function MyWeeklySessionSchedulerPicker({
7196
7243
  )
7197
7244
  }
7198
7245
  ),
7199
- /* @__PURE__ */ jsx52(
7246
+ /* @__PURE__ */ jsx53(
7200
7247
  NumberInput3,
7201
7248
  {
7202
7249
  label: "S\u1ED1 ph\xFAt ",
@@ -7205,13 +7252,13 @@ function MyWeeklySessionSchedulerPicker({
7205
7252
  value: item.durationMinutes
7206
7253
  }
7207
7254
  ),
7208
- /* @__PURE__ */ jsx52(
7255
+ /* @__PURE__ */ jsx53(
7209
7256
  Button14,
7210
7257
  {
7211
7258
  variant: "light",
7212
7259
  color: "red",
7213
7260
  onClick: () => handleRemove(globalIndex),
7214
- leftSection: /* @__PURE__ */ jsx52(IconTrash5, { size: 14 }),
7261
+ leftSection: /* @__PURE__ */ jsx53(IconTrash5, { size: 14 }),
7215
7262
  children: "X\xF3a bu\u1ED5i"
7216
7263
  }
7217
7264
  )
@@ -7244,14 +7291,14 @@ function useS_authenticate() {
7244
7291
  }
7245
7292
 
7246
7293
  // src/modules-features/authenticate/F_authenticate_Logout.tsx
7247
- import { jsx as jsx53 } from "react/jsx-runtime";
7294
+ import { jsx as jsx54 } from "react/jsx-runtime";
7248
7295
  function F_authenticate_Logout({ redirectURL = "/auth/login" }) {
7249
7296
  const router = useRouter3();
7250
7297
  const S_Authenticate = useS_authenticate();
7251
- return /* @__PURE__ */ jsx53(Button15, { onClick: () => {
7298
+ return /* @__PURE__ */ jsx54(Button15, { onClick: () => {
7252
7299
  S_Authenticate.setProperty("token", "");
7253
7300
  router.replace(redirectURL);
7254
- }, leftSection: /* @__PURE__ */ jsx53(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
7301
+ }, leftSection: /* @__PURE__ */ jsx54(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
7255
7302
  }
7256
7303
 
7257
7304
  // src/components/Layouts/BasicAppShell/BasicAppShell.tsx
@@ -7276,7 +7323,7 @@ import {
7276
7323
  import Link3 from "next/link";
7277
7324
  import { usePathname as usePathname2 } from "next/navigation";
7278
7325
  import { useEffect as useEffect9, useMemo as useMemo3, useState as useState11 } from "react";
7279
- import { Fragment as Fragment13, jsx as jsx54, jsxs as jsxs31 } from "react/jsx-runtime";
7326
+ import { Fragment as Fragment13, jsx as jsx55, jsxs as jsxs32 } from "react/jsx-runtime";
7280
7327
  function findBreadcrumbPath(items, currentPath, parents = []) {
7281
7328
  for (const item of items) {
7282
7329
  if (item.link === currentPath) {
@@ -7291,13 +7338,13 @@ function findBreadcrumbPath(items, currentPath, parents = []) {
7291
7338
  }
7292
7339
  function getRightSection(status) {
7293
7340
  if (status === "Prototype")
7294
- return /* @__PURE__ */ jsx54(Badge4, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "pink", circle: true, children: "P" });
7341
+ return /* @__PURE__ */ jsx55(Badge4, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "pink", circle: true, children: "P" });
7295
7342
  if (status === "New")
7296
- return /* @__PURE__ */ jsx54(Badge4, { styles: { root: { cursor: "pointer" } }, radius: "xs", circle: true, children: "N" });
7343
+ return /* @__PURE__ */ jsx55(Badge4, { styles: { root: { cursor: "pointer" } }, radius: "xs", circle: true, children: "N" });
7297
7344
  if (status === "Menu")
7298
- return /* @__PURE__ */ jsx54(Badge4, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "gray", circle: true, children: "M" });
7345
+ return /* @__PURE__ */ jsx55(Badge4, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "gray", circle: true, children: "M" });
7299
7346
  if (status === "Change")
7300
- return /* @__PURE__ */ jsx54(Badge4, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "green", circle: true, children: "C" });
7347
+ return /* @__PURE__ */ jsx55(Badge4, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "green", circle: true, children: "C" });
7301
7348
  return null;
7302
7349
  }
7303
7350
  function RenderNavLinks({
@@ -7305,14 +7352,14 @@ function RenderNavLinks({
7305
7352
  }) {
7306
7353
  const basicAppShellStore = useS_BasicAppShell();
7307
7354
  const pathName = usePathname2();
7308
- return /* @__PURE__ */ jsx54(Fragment13, { children: items.map((item, index) => /* @__PURE__ */ jsx54(
7355
+ return /* @__PURE__ */ jsx55(Fragment13, { children: items.map((item, index) => /* @__PURE__ */ jsx55(
7309
7356
  NavLink,
7310
7357
  {
7311
7358
  active: item.link === pathName.split("/")[2],
7312
7359
  component: Link3,
7313
7360
  opened: basicAppShellStore.state.groupMenuOpenId.includes(item.label),
7314
7361
  href: `/${pathName.split("/")[1]}/${item.link}` || "#",
7315
- label: /* @__PURE__ */ jsxs31(MyFlexRow, { justify: "space-between", children: [
7362
+ label: /* @__PURE__ */ jsxs32(MyFlexRow, { justify: "space-between", children: [
7316
7363
  item.label,
7317
7364
  " ",
7318
7365
  getRightSection(item.status)
@@ -7324,7 +7371,7 @@ function RenderNavLinks({
7324
7371
  return;
7325
7372
  }
7326
7373
  },
7327
- children: item.links && /* @__PURE__ */ jsx54(RenderNavLinks, { items: item.links })
7374
+ children: item.links && /* @__PURE__ */ jsx55(RenderNavLinks, { items: item.links })
7328
7375
  },
7329
7376
  index
7330
7377
  )) });
@@ -7447,7 +7494,7 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
7447
7494
  basicAppShellStore.setProperty("note", linkItem == null ? void 0 : linkItem.note);
7448
7495
  basicAppShellStore.setProperty("status", linkItem == null ? void 0 : linkItem.status);
7449
7496
  }, [pathName]);
7450
- return /* @__PURE__ */ jsxs31(
7497
+ return /* @__PURE__ */ jsxs32(
7451
7498
  AppShell,
7452
7499
  {
7453
7500
  header: { height: 60 },
@@ -7461,36 +7508,36 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
7461
7508
  },
7462
7509
  padding: "md",
7463
7510
  children: [
7464
- /* @__PURE__ */ jsx54(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs31(Group18, { h: "100%", px: "md", justify: "space-between", align: "center", children: [
7465
- /* @__PURE__ */ jsxs31(Group18, { h: "100%", children: [
7466
- /* @__PURE__ */ jsx54(
7511
+ /* @__PURE__ */ jsx55(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs32(Group18, { h: "100%", px: "md", justify: "space-between", align: "center", children: [
7512
+ /* @__PURE__ */ jsxs32(Group18, { h: "100%", children: [
7513
+ /* @__PURE__ */ jsx55(
7467
7514
  Tooltip5,
7468
7515
  {
7469
7516
  label: basicAppShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu",
7470
- children: /* @__PURE__ */ jsx54(
7517
+ children: /* @__PURE__ */ jsx55(
7471
7518
  ActionIcon11,
7472
7519
  {
7473
7520
  size: "lg",
7474
7521
  radius: "md",
7475
7522
  variant: "default",
7476
7523
  onClick: basicAppShellStore.toggle,
7477
- children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx54(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx54(IconLayoutSidebarLeftCollapse, {})
7524
+ children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx55(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx55(IconLayoutSidebarLeftCollapse, {})
7478
7525
  }
7479
7526
  )
7480
7527
  }
7481
7528
  ),
7482
- /* @__PURE__ */ jsx54(Tooltip5, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx54(
7529
+ /* @__PURE__ */ jsx55(Tooltip5, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx55(
7483
7530
  ActionIcon11,
7484
7531
  {
7485
7532
  size: "lg",
7486
7533
  radius: "md",
7487
7534
  variant: "default",
7488
7535
  onClick: () => basicAppShellStore.clearGroupMenuOpenId(),
7489
- children: /* @__PURE__ */ jsx54(IconLibraryMinus, {})
7536
+ children: /* @__PURE__ */ jsx55(IconLibraryMinus, {})
7490
7537
  }
7491
7538
  ) })
7492
7539
  ] }),
7493
- /* @__PURE__ */ jsx54(
7540
+ /* @__PURE__ */ jsx55(
7494
7541
  Group18,
7495
7542
  {
7496
7543
  style: {
@@ -7498,43 +7545,43 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
7498
7545
  left: "50%",
7499
7546
  transform: "translateX(-50%)"
7500
7547
  },
7501
- children: /* @__PURE__ */ jsx54(Text16, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` })
7548
+ children: /* @__PURE__ */ jsx55(Text16, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` })
7502
7549
  }
7503
7550
  ),
7504
- /* @__PURE__ */ jsxs31(Group18, { children: [
7551
+ /* @__PURE__ */ jsxs32(Group18, { children: [
7505
7552
  extraTopRight,
7506
- /* @__PURE__ */ jsx54(MySwitchTheme, {})
7553
+ /* @__PURE__ */ jsx55(MySwitchTheme, {})
7507
7554
  ] })
7508
7555
  ] }) : (
7509
7556
  // For mobile screens - simplified layout
7510
- /* @__PURE__ */ jsxs31(Group18, { h: "100%", px: "md", justify: "space-between", children: [
7511
- /* @__PURE__ */ jsx54(
7557
+ /* @__PURE__ */ jsxs32(Group18, { h: "100%", px: "md", justify: "space-between", children: [
7558
+ /* @__PURE__ */ jsx55(
7512
7559
  ActionIcon11,
7513
7560
  {
7514
7561
  size: "lg",
7515
7562
  radius: "md",
7516
7563
  variant: "default",
7517
7564
  onClick: basicAppShellStore.toggle,
7518
- children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx54(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx54(IconLayoutSidebarLeftCollapse, {})
7565
+ children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx55(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx55(IconLayoutSidebarLeftCollapse, {})
7519
7566
  }
7520
7567
  ),
7521
- /* @__PURE__ */ jsx54(Text16, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` }),
7522
- /* @__PURE__ */ jsxs31(Group18, { children: [
7568
+ /* @__PURE__ */ jsx55(Text16, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` }),
7569
+ /* @__PURE__ */ jsxs32(Group18, { children: [
7523
7570
  extraTopRight,
7524
- /* @__PURE__ */ jsx54(MySwitchTheme, {})
7571
+ /* @__PURE__ */ jsx55(MySwitchTheme, {})
7525
7572
  ] })
7526
7573
  ] })
7527
7574
  ) }),
7528
- /* @__PURE__ */ jsxs31(AppShell.Navbar, { children: [
7529
- /* @__PURE__ */ jsx54(MyAppSpotlight, { menu }),
7530
- /* @__PURE__ */ jsxs31(AppShell.Section, { grow: true, component: ScrollArea4, p: 5, children: [
7531
- /* @__PURE__ */ jsx54(RenderNavLinks, { items: menu }),
7532
- /* @__PURE__ */ jsx54(Divider3, {}),
7533
- /* @__PURE__ */ jsx54(F_authenticate_Logout, {})
7575
+ /* @__PURE__ */ jsxs32(AppShell.Navbar, { children: [
7576
+ /* @__PURE__ */ jsx55(MyAppSpotlight, { menu }),
7577
+ /* @__PURE__ */ jsxs32(AppShell.Section, { grow: true, component: ScrollArea4, p: 5, children: [
7578
+ /* @__PURE__ */ jsx55(RenderNavLinks, { items: menu }),
7579
+ /* @__PURE__ */ jsx55(Divider3, {}),
7580
+ /* @__PURE__ */ jsx55(F_authenticate_Logout, {})
7534
7581
  ] }),
7535
- /* @__PURE__ */ jsxs31(AppShell.Section, { p: "md", children: [
7536
- /* @__PURE__ */ jsx54(Divider3, {}),
7537
- /* @__PURE__ */ jsx54(
7582
+ /* @__PURE__ */ jsxs32(AppShell.Section, { p: "md", children: [
7583
+ /* @__PURE__ */ jsx55(Divider3, {}),
7584
+ /* @__PURE__ */ jsx55(
7538
7585
  Image3,
7539
7586
  {
7540
7587
  fit: "contain",
@@ -7548,7 +7595,7 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
7548
7595
  )
7549
7596
  ] })
7550
7597
  ] }),
7551
- /* @__PURE__ */ jsx54(
7598
+ /* @__PURE__ */ jsx55(
7552
7599
  AppShell.Main,
7553
7600
  {
7554
7601
  bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))",
@@ -7603,10 +7650,10 @@ function utils_layout_getItemsWithoutLinks(menu) {
7603
7650
 
7604
7651
  // src/components/Layouts/Container/MyContainer.tsx
7605
7652
  import { Container, Flex as Flex5 } from "@mantine/core";
7606
- import { jsx as jsx55 } from "react/jsx-runtime";
7653
+ import { jsx as jsx56 } from "react/jsx-runtime";
7607
7654
  function MyContainer(_a) {
7608
7655
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
7609
- return /* @__PURE__ */ jsx55(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx55(Flex5, { direction: "column", children }) }));
7656
+ return /* @__PURE__ */ jsx56(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx56(Flex5, { direction: "column", children }) }));
7610
7657
  }
7611
7658
 
7612
7659
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
@@ -7626,7 +7673,7 @@ import {
7626
7673
  UnstyledButton,
7627
7674
  useMantineTheme
7628
7675
  } from "@mantine/core";
7629
- import { useDisclosure as useDisclosure11 } from "@mantine/hooks";
7676
+ import { useDisclosure as useDisclosure12 } from "@mantine/hooks";
7630
7677
  import {
7631
7678
  IconBook,
7632
7679
  IconChartPie3,
@@ -7652,7 +7699,7 @@ function useHeaderMegaMenuStore() {
7652
7699
  }
7653
7700
 
7654
7701
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
7655
- import { jsx as jsx56, jsxs as jsxs32 } from "react/jsx-runtime";
7702
+ import { jsx as jsx57, jsxs as jsxs33 } from "react/jsx-runtime";
7656
7703
  var mockdata = [
7657
7704
  {
7658
7705
  icon: IconCode,
@@ -7686,31 +7733,31 @@ var mockdata = [
7686
7733
  }
7687
7734
  ];
7688
7735
  function HeaderMegaMenu({ children, menus }) {
7689
- const [drawerOpened, { toggle: toggleDrawer, close: closeDrawer }] = useDisclosure11(false);
7690
- const [linksOpened, { toggle: toggleLinks }] = useDisclosure11(false);
7736
+ const [drawerOpened, { toggle: toggleDrawer, close: closeDrawer }] = useDisclosure12(false);
7737
+ const [linksOpened, { toggle: toggleLinks }] = useDisclosure12(false);
7691
7738
  const HeaderMegaMenuStore = useHeaderMegaMenuStore();
7692
7739
  const theme = useMantineTheme();
7693
- const links = mockdata.map((item) => /* @__PURE__ */ jsx56(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs32(Group19, { wrap: "nowrap", align: "flex-start", children: [
7694
- /* @__PURE__ */ jsx56(ThemeIcon, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx56(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
7695
- /* @__PURE__ */ jsxs32("div", { children: [
7696
- /* @__PURE__ */ jsx56(Text17, { size: "sm", fw: 500, children: item.title }),
7697
- /* @__PURE__ */ jsx56(Text17, { size: "xs", c: "dimmed", children: item.description })
7740
+ const links = mockdata.map((item) => /* @__PURE__ */ jsx57(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs33(Group19, { wrap: "nowrap", align: "flex-start", children: [
7741
+ /* @__PURE__ */ jsx57(ThemeIcon, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx57(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
7742
+ /* @__PURE__ */ jsxs33("div", { children: [
7743
+ /* @__PURE__ */ jsx57(Text17, { size: "sm", fw: 500, children: item.title }),
7744
+ /* @__PURE__ */ jsx57(Text17, { size: "xs", c: "dimmed", children: item.description })
7698
7745
  ] })
7699
7746
  ] }) }, item.title));
7700
- return /* @__PURE__ */ jsxs32(Box4, { children: [
7701
- /* @__PURE__ */ jsx56("header", { className: css_default.header, children: /* @__PURE__ */ jsxs32(Group19, { justify: "space-between", h: "100%", children: [
7702
- /* @__PURE__ */ jsxs32(Group19, { children: [
7703
- /* @__PURE__ */ jsx56(Image4, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
7704
- /* @__PURE__ */ jsx56(Group19, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx56(Button16, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
7747
+ return /* @__PURE__ */ jsxs33(Box4, { children: [
7748
+ /* @__PURE__ */ jsx57("header", { className: css_default.header, children: /* @__PURE__ */ jsxs33(Group19, { justify: "space-between", h: "100%", children: [
7749
+ /* @__PURE__ */ jsxs33(Group19, { children: [
7750
+ /* @__PURE__ */ jsx57(Image4, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
7751
+ /* @__PURE__ */ jsx57(Group19, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx57(Button16, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
7705
7752
  ] }),
7706
- /* @__PURE__ */ jsxs32(Group19, { children: [
7707
- /* @__PURE__ */ jsx56(TextInput3, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx56(IconSearch2, {}), radius: "xl", w: "250px" }),
7708
- /* @__PURE__ */ jsx56(MySwitchTheme, {})
7753
+ /* @__PURE__ */ jsxs33(Group19, { children: [
7754
+ /* @__PURE__ */ jsx57(TextInput3, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx57(IconSearch2, {}), radius: "xl", w: "250px" }),
7755
+ /* @__PURE__ */ jsx57(MySwitchTheme, {})
7709
7756
  ] }),
7710
- /* @__PURE__ */ jsx56(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
7757
+ /* @__PURE__ */ jsx57(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
7711
7758
  ] }) }),
7712
- /* @__PURE__ */ jsx56(Container2, { fluid: true, pt: "sm", pb: "md", bg: object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
7713
- /* @__PURE__ */ jsx56(
7759
+ /* @__PURE__ */ jsx57(Container2, { fluid: true, pt: "sm", pb: "md", bg: object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
7760
+ /* @__PURE__ */ jsx57(
7714
7761
  Drawer,
7715
7762
  {
7716
7763
  opened: drawerOpened,
@@ -7720,10 +7767,10 @@ function HeaderMegaMenu({ children, menus }) {
7720
7767
  title: "Navigation",
7721
7768
  hiddenFrom: "sm",
7722
7769
  zIndex: 1e6,
7723
- children: /* @__PURE__ */ jsxs32(ScrollArea5, { h: "calc(100vh - 80px", mx: "-md", children: [
7724
- /* @__PURE__ */ jsx56(Divider4, { my: "sm" }),
7725
- /* @__PURE__ */ jsx56(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx56(Button16, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
7726
- /* @__PURE__ */ jsx56(Divider4, { my: "sm" })
7770
+ children: /* @__PURE__ */ jsxs33(ScrollArea5, { h: "calc(100vh - 80px", mx: "-md", children: [
7771
+ /* @__PURE__ */ jsx57(Divider4, { my: "sm" }),
7772
+ /* @__PURE__ */ jsx57(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx57(Button16, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
7773
+ /* @__PURE__ */ jsx57(Divider4, { my: "sm" })
7727
7774
  ] })
7728
7775
  }
7729
7776
  )
@@ -7732,7 +7779,7 @@ function HeaderMegaMenu({ children, menus }) {
7732
7779
 
7733
7780
  // src/components/Layouts/PageContent/MyPageContent.tsx
7734
7781
  import { Badge as Badge5, Breadcrumbs, Code, Container as Container3, Divider as Divider5, Group as Group20, Text as Text18, Title } from "@mantine/core";
7735
- import { jsx as jsx57, jsxs as jsxs33 } from "react/jsx-runtime";
7782
+ import { jsx as jsx58, jsxs as jsxs34 } from "react/jsx-runtime";
7736
7783
  var getStatusColor = (status) => {
7737
7784
  switch (status) {
7738
7785
  case "Prototype":
@@ -7743,10 +7790,10 @@ var getStatusColor = (status) => {
7743
7790
  };
7744
7791
  function PageTitle({ title, status, note }) {
7745
7792
  const color = getStatusColor(status);
7746
- return /* @__PURE__ */ jsx57(Group20, { children: /* @__PURE__ */ jsxs33(MyFlexColumn, { gap: 0, children: [
7747
- /* @__PURE__ */ jsxs33(Group20, { align: "center", children: [
7748
- /* @__PURE__ */ jsx57(Title, { order: 3, children: title }),
7749
- status && /* @__PURE__ */ jsx57(
7793
+ return /* @__PURE__ */ jsx58(Group20, { children: /* @__PURE__ */ jsxs34(MyFlexColumn, { gap: 0, children: [
7794
+ /* @__PURE__ */ jsxs34(Group20, { align: "center", children: [
7795
+ /* @__PURE__ */ jsx58(Title, { order: 3, children: title }),
7796
+ status && /* @__PURE__ */ jsx58(
7750
7797
  Badge5,
7751
7798
  {
7752
7799
  variant: "gradient",
@@ -7757,7 +7804,7 @@ function PageTitle({ title, status, note }) {
7757
7804
  }
7758
7805
  )
7759
7806
  ] }),
7760
- /* @__PURE__ */ jsx57(Text18, { size: "lg", c: "dimmed", fs: "italic", children: note })
7807
+ /* @__PURE__ */ jsx58(Text18, { size: "lg", c: "dimmed", fs: "italic", children: note })
7761
7808
  ] }) });
7762
7809
  }
7763
7810
  function MyPageContent({
@@ -7770,11 +7817,11 @@ function MyPageContent({
7770
7817
  var _a;
7771
7818
  const basicAppShellStore = useS_BasicAppShell();
7772
7819
  const finalTitle = title || basicAppShellStore.state.title;
7773
- return /* @__PURE__ */ jsxs33(Container3, { p: 0, fluid: true, children: [
7774
- /* @__PURE__ */ jsxs33(Group20, { justify: "space-between", children: [
7775
- /* @__PURE__ */ jsxs33(Group20, { children: [
7776
- /* @__PURE__ */ jsx57(MyButtonRouterBack, {}),
7777
- /* @__PURE__ */ jsx57(
7820
+ return /* @__PURE__ */ jsxs34(Container3, { p: 0, fluid: true, children: [
7821
+ /* @__PURE__ */ jsxs34(Group20, { justify: "space-between", children: [
7822
+ /* @__PURE__ */ jsxs34(Group20, { children: [
7823
+ /* @__PURE__ */ jsx58(MyButtonRouterBack, {}),
7824
+ /* @__PURE__ */ jsx58(
7778
7825
  PageTitle,
7779
7826
  {
7780
7827
  title: finalTitle,
@@ -7784,64 +7831,64 @@ function MyPageContent({
7784
7831
  ),
7785
7832
  leftTopBar
7786
7833
  ] }),
7787
- /* @__PURE__ */ jsxs33(Group20, { p: "md", children: [
7834
+ /* @__PURE__ */ jsxs34(Group20, { p: "md", children: [
7788
7835
  rightTopBar,
7789
- /* @__PURE__ */ jsx57(Breadcrumbs, { separatorMargin: "7", children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx57(Text18, { fw: "600", c: "blue", children: item }, idx)) })
7836
+ /* @__PURE__ */ jsx58(Breadcrumbs, { separatorMargin: "7", children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx58(Text18, { fw: "600", c: "blue", children: item }, idx)) })
7790
7837
  ] })
7791
7838
  ] }),
7792
- /* @__PURE__ */ jsx57(Divider5, { my: "xs" }),
7839
+ /* @__PURE__ */ jsx58(Divider5, { my: "xs" }),
7793
7840
  children,
7794
- /* @__PURE__ */ jsx57(Divider5, { my: "xs" }),
7795
- /* @__PURE__ */ jsx57(MyFlexEnd, { children: /* @__PURE__ */ jsx57(Code, { color: "var(--mantine-color-blue-light)", children: basicAppShellStore.state.menuCode }) })
7841
+ /* @__PURE__ */ jsx58(Divider5, { my: "xs" }),
7842
+ /* @__PURE__ */ jsx58(MyFlexEnd, { children: /* @__PURE__ */ jsx58(Code, { color: "var(--mantine-color-blue-light)", children: basicAppShellStore.state.menuCode }) })
7796
7843
  ] });
7797
7844
  }
7798
7845
 
7799
7846
  // src/components/Layouts/Tab/MyTab.tsx
7800
7847
  import { rem, Space as Space3, Tabs } from "@mantine/core";
7801
- import { jsx as jsx58, jsxs as jsxs34 } from "react/jsx-runtime";
7848
+ import { jsx as jsx59, jsxs as jsxs35 } from "react/jsx-runtime";
7802
7849
  function MyTab(_a) {
7803
7850
  var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
7804
7851
  const iconStyle = { width: rem(20), height: rem(20) };
7805
- return /* @__PURE__ */ jsxs34(Tabs, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
7806
- /* @__PURE__ */ jsx58(Tabs.List, { children: tabList.map((item, idx) => {
7807
- return /* @__PURE__ */ jsx58(Tabs.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx58(item.icon, { style: iconStyle }), children: item.label }, idx);
7852
+ return /* @__PURE__ */ jsxs35(Tabs, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
7853
+ /* @__PURE__ */ jsx59(Tabs.List, { children: tabList.map((item, idx) => {
7854
+ return /* @__PURE__ */ jsx59(Tabs.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx59(item.icon, { style: iconStyle }), children: item.label }, idx);
7808
7855
  }) }),
7809
- /* @__PURE__ */ jsx58(Space3, { my: "md" }),
7856
+ /* @__PURE__ */ jsx59(Space3, { my: "md" }),
7810
7857
  children
7811
7858
  ] }));
7812
7859
  }
7813
7860
 
7814
7861
  // src/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx
7815
7862
  import { ActionIcon as ActionIcon12, Button as Button17, Fieldset as Fieldset5, Group as Group21, Modal as Modal11 } from "@mantine/core";
7816
- import { useDisclosure as useDisclosure12 } from "@mantine/hooks";
7863
+ import { useDisclosure as useDisclosure13 } from "@mantine/hooks";
7817
7864
  import { IconX as IconX2 } from "@tabler/icons-react";
7818
- import { jsx as jsx59, jsxs as jsxs35 } from "react/jsx-runtime";
7865
+ import { jsx as jsx60, jsxs as jsxs36 } from "react/jsx-runtime";
7819
7866
  function MyDataTableSelect(_a) {
7820
7867
  var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
7821
- const disc = useDisclosure12(false);
7868
+ const disc = useDisclosure13(false);
7822
7869
  if (data == void 0) return "\u0110ang t\u1EA3i...";
7823
- return /* @__PURE__ */ jsxs35(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
7824
- /* @__PURE__ */ jsx59(
7870
+ return /* @__PURE__ */ jsxs36(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
7871
+ /* @__PURE__ */ jsx60(
7825
7872
  MyDataTable,
7826
7873
  __spreadValues({
7827
7874
  renderTopToolbarCustomActions: ({ table }) => {
7828
- return /* @__PURE__ */ jsxs35(Group21, { children: [
7875
+ return /* @__PURE__ */ jsxs36(Group21, { children: [
7829
7876
  renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
7830
- /* @__PURE__ */ jsx59(Button17, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
7877
+ /* @__PURE__ */ jsx60(Button17, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
7831
7878
  ] });
7832
7879
  },
7833
7880
  columns,
7834
7881
  data: listState[0],
7835
7882
  renderRowActions: ({ row }) => {
7836
- return /* @__PURE__ */ jsx59(MyCenterFull, { children: /* @__PURE__ */ jsx59(ActionIcon12, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx59(IconX2, {}) }) });
7883
+ return /* @__PURE__ */ jsx60(MyCenterFull, { children: /* @__PURE__ */ jsx60(ActionIcon12, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx60(IconX2, {}) }) });
7837
7884
  }
7838
7885
  }, rest)
7839
7886
  ),
7840
- /* @__PURE__ */ jsx59(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx59(
7887
+ /* @__PURE__ */ jsx60(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx60(
7841
7888
  MyDataTable,
7842
7889
  __spreadValues({
7843
7890
  renderTopToolbarCustomActions: ({ table }) => {
7844
- return /* @__PURE__ */ jsx59(Button17, { onClick: () => {
7891
+ return /* @__PURE__ */ jsx60(Button17, { onClick: () => {
7845
7892
  table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
7846
7893
  disc[1].close();
7847
7894
  }, children: "Ch\u1ECDn" });
@@ -7857,7 +7904,7 @@ function MyDataTableSelect(_a) {
7857
7904
  // src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
7858
7905
  import { Select as Select3 } from "@mantine/core";
7859
7906
  import { useQuery as useQuery2 } from "@tanstack/react-query";
7860
- import { jsx as jsx60 } from "react/jsx-runtime";
7907
+ import { jsx as jsx61 } from "react/jsx-runtime";
7861
7908
  function MySelectAPIGet(_a) {
7862
7909
  var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
7863
7910
  var _a2;
@@ -7876,7 +7923,7 @@ function MySelectAPIGet(_a) {
7876
7923
  label: `${item.code}-${item.name}`
7877
7924
  };
7878
7925
  });
7879
- return /* @__PURE__ */ jsx60(
7926
+ return /* @__PURE__ */ jsx61(
7880
7927
  Select3,
7881
7928
  __spreadValues({
7882
7929
  label,
@@ -7891,7 +7938,7 @@ import { useNextCalendarApp as useNextCalendarApp2, ScheduleXCalendar as Schedul
7891
7938
  import { createEventsServicePlugin as createEventsServicePlugin2 } from "@schedule-x/events-service";
7892
7939
  import { useState as useState12 } from "react";
7893
7940
  import { createEventModalPlugin as createEventModalPlugin2 } from "@schedule-x/event-modal";
7894
- import { jsx as jsx61 } from "react/jsx-runtime";
7941
+ import { jsx as jsx62 } from "react/jsx-runtime";
7895
7942
  function MyScheduleX({
7896
7943
  values,
7897
7944
  timeGridEvent,
@@ -7916,7 +7963,7 @@ function MyScheduleX({
7916
7963
  events: values,
7917
7964
  plugins: [eventsService, eventModalPlugin]
7918
7965
  });
7919
- return /* @__PURE__ */ jsx61(
7966
+ return /* @__PURE__ */ jsx62(
7920
7967
  ScheduleXCalendar2,
7921
7968
  {
7922
7969
  calendarApp: calendar,
@@ -7930,9 +7977,9 @@ function MyScheduleX({
7930
7977
 
7931
7978
  // src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
7932
7979
  import { Skeleton } from "@mantine/core";
7933
- import { jsx as jsx62 } from "react/jsx-runtime";
7980
+ import { jsx as jsx63 } from "react/jsx-runtime";
7934
7981
  function MySkeletonTable({ h: h4 = 500 }) {
7935
- return /* @__PURE__ */ jsx62(Skeleton, { h: h4 });
7982
+ return /* @__PURE__ */ jsx63(Skeleton, { h: h4 });
7936
7983
  }
7937
7984
 
7938
7985
  export {
@@ -7958,6 +8005,7 @@ export {
7958
8005
  AQButtonCreateByImportFile,
7959
8006
  AQButtonExportData,
7960
8007
  MyButtonCreate,
8008
+ MyButtonCreateUpdate,
7961
8009
  MyButtonDeleteList,
7962
8010
  MySelect,
7963
8011
  MyFlexEnd,