aq-fe-framework 0.1.1099 → 0.1.1102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,9 @@
1
+ import {
2
+ createGenericStore as createGenericStore2,
3
+ useAppStore,
4
+ useStore_Permission,
5
+ useStore_ProjectInfo
6
+ } from "./chunk-WW55EZ4B.mjs";
1
7
  import {
2
8
  utils_aq_mapBaseEntityToDomain,
3
9
  utils_aq_mapDomainToEntity,
@@ -12,12 +18,6 @@ import {
12
18
  utils_notification_show,
13
19
  utils_pdf_download
14
20
  } from "./chunk-KGBXMHKR.mjs";
15
- import {
16
- createGenericStore as createGenericStore2,
17
- useAppStore,
18
- useStore_Permission,
19
- useStore_ProjectInfo
20
- } from "./chunk-WW55EZ4B.mjs";
21
21
  import {
22
22
  utils_currency,
23
23
  utils_date,
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  const_object_colors,
34
34
  const_object_documentTypes
35
- } from "./chunk-CB5DJQTF.mjs";
35
+ } from "./chunk-ZEVBN6ZP.mjs";
36
36
  import {
37
37
  enumLabel_gender,
38
38
  enum_daysOfWeek
@@ -1990,6 +1990,7 @@ function MyDataTable(_a) {
1990
1990
  case "roundedTo2":
1991
1991
  col.Cell = ({ cell }) => {
1992
1992
  const value = cell.getValue();
1993
+ if (!value) return "";
1993
1994
  return value.toFixed(2);
1994
1995
  };
1995
1996
  col.size = 80;
@@ -12737,8 +12738,8 @@ function F_documentCategories_Update({ values }) {
12737
12738
  }
12738
12739
  });
12739
12740
  return /* @__PURE__ */ jsxs76(MyActionIconUpdate, { form, onSubmit: async (values2) => service_documentAttribute.update(values2), children: [
12740
- /* @__PURE__ */ jsx133(MyTextInput, __spreadValues({ label: "M\xE3 lo\u1EA1i v\u0103n b\u1EA3n" }, form.getInputProps("code"))),
12741
- /* @__PURE__ */ jsx133(MyTextInput, __spreadValues({ label: "T\xEAn lo\u1EA1i v\u0103n b\u1EA3n" }, form.getInputProps("name")))
12741
+ /* @__PURE__ */ jsx133(MyTextInput2, __spreadValues({ readOnly: true, label: "M\xE3 lo\u1EA1i v\u0103n b\u1EA3n" }, form.getInputProps("code"))),
12742
+ /* @__PURE__ */ jsx133(MyTextInput2, __spreadValues({ label: "T\xEAn lo\u1EA1i v\u0103n b\u1EA3n" }, form.getInputProps("name")))
12742
12743
  ] });
12743
12744
  }
12744
12745
 
@@ -13568,7 +13569,7 @@ function SubRead4({
13568
13569
  {
13569
13570
  header: "File",
13570
13571
  accessorFn: (row) => {
13571
- return /* @__PURE__ */ jsx146(MyCenterFull, { children: /* @__PURE__ */ jsx146(MyButtonViewPDF, { id: row.id }) });
13572
+ return /* @__PURE__ */ jsx146(MyCenterFull, { children: /* @__PURE__ */ jsx146(MyButtonViewFileAPI, { filePath: row.path }) });
13572
13573
  }
13573
13574
  }
13574
13575
  ],
@@ -14347,16 +14348,44 @@ function F_organizationPolicyDocs_Create({
14347
14348
 
14348
14349
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Read.tsx
14349
14350
  import { Accordion as Accordion5, Alert as Alert6, Blockquote as Blockquote5, Skeleton as Skeleton6 } from "@mantine/core";
14351
+
14352
+ // src/core/withAPI/MyButtonViewFileAPI.tsx
14353
+ import { useDisclosure as useDisclosure16 } from "@mantine/hooks";
14354
+ import { useQuery as useQuery10 } from "@tanstack/react-query";
14355
+ import { jsx as jsx160 } from "react/jsx-runtime";
14356
+ function MyButtonViewFileAPI({ filePath }) {
14357
+ const disc = useDisclosure16();
14358
+ const query = useQuery10({
14359
+ queryKey: ["viewFile", filePath],
14360
+ queryFn: async () => {
14361
+ const res = await baseAxios_default.get("/AQ/GetFile?filePath=" + filePath);
14362
+ return res.data.data;
14363
+ },
14364
+ enabled: filePath != void 0 && disc[0]
14365
+ });
14366
+ return /* @__PURE__ */ jsx160(
14367
+ MyButtonViewFile,
14368
+ {
14369
+ file: query.data,
14370
+ loading: query.isLoading,
14371
+ disclosure: disc,
14372
+ toolTipProps: { label: filePath ? void 0 : "Kh\xF4ng c\xF3 \u0111\u01B0\u1EDDng d\u1EABn file" },
14373
+ buttonProps: { disabled: filePath == void 0 }
14374
+ }
14375
+ );
14376
+ }
14377
+
14378
+ // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Read.tsx
14350
14379
  import { IconBug as IconBug6 } from "@tabler/icons-react";
14351
14380
  import { useEffect as useEffect29, useMemo as useMemo24, useState as useState24 } from "react";
14352
14381
 
14353
14382
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Delete.tsx
14354
- import { jsx as jsx160 } from "react/jsx-runtime";
14383
+ import { jsx as jsx161 } from "react/jsx-runtime";
14355
14384
  function F_organizationPolicyDocs_Delete({
14356
14385
  id,
14357
14386
  contextData
14358
14387
  }) {
14359
- return /* @__PURE__ */ jsx160(
14388
+ return /* @__PURE__ */ jsx161(
14360
14389
  MyActionIconDelete,
14361
14390
  {
14362
14391
  contextData,
@@ -14367,7 +14396,7 @@ function F_organizationPolicyDocs_Delete({
14367
14396
 
14368
14397
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Update.tsx
14369
14398
  import { useForm as useForm30 } from "@mantine/form";
14370
- import { jsx as jsx161, jsxs as jsxs92 } from "react/jsx-runtime";
14399
+ import { jsx as jsx162, jsxs as jsxs92 } from "react/jsx-runtime";
14371
14400
  function F_organizationPolicyDocs_Update({
14372
14401
  values,
14373
14402
  RegulationsTypeId
@@ -14400,7 +14429,7 @@ function F_organizationPolicyDocs_Update({
14400
14429
  return service_document.update(body);
14401
14430
  },
14402
14431
  children: [
14403
- /* @__PURE__ */ jsx161(
14432
+ /* @__PURE__ */ jsx162(
14404
14433
  MyTextInput,
14405
14434
  __spreadValues({
14406
14435
  withAsterisk: true,
@@ -14408,21 +14437,21 @@ function F_organizationPolicyDocs_Update({
14408
14437
  label: "S\u1ED1 quy \u0111\u1ECBnh"
14409
14438
  }, form.getInputProps("decisionCode"))
14410
14439
  ),
14411
- /* @__PURE__ */ jsx161(
14440
+ /* @__PURE__ */ jsx162(
14412
14441
  MyDateInput,
14413
14442
  __spreadValues({
14414
14443
  withAsterisk: true,
14415
14444
  label: "Ng\xE0y ban h\xE0nh"
14416
14445
  }, form.getInputProps("promulgateDate"))
14417
14446
  ),
14418
- /* @__PURE__ */ jsx161(
14447
+ /* @__PURE__ */ jsx162(
14419
14448
  MyTextInput,
14420
14449
  __spreadValues({
14421
14450
  withAsterisk: true,
14422
14451
  label: "T\xEAn t\xE0i li\u1EC7u"
14423
14452
  }, form.getInputProps("name"))
14424
14453
  ),
14425
- /* @__PURE__ */ jsx161(
14454
+ /* @__PURE__ */ jsx162(
14426
14455
  F_core18256_Select,
14427
14456
  __spreadValues({
14428
14457
  withAsterisk: true,
@@ -14430,14 +14459,14 @@ function F_organizationPolicyDocs_Update({
14430
14459
  documentTypeId: RegulationsTypeId
14431
14460
  }, form.getInputProps("documentAttributeId"))
14432
14461
  ),
14433
- /* @__PURE__ */ jsx161(
14462
+ /* @__PURE__ */ jsx162(
14434
14463
  MyFileInput,
14435
14464
  __spreadValues({
14436
14465
  withAsterisk: true,
14437
14466
  label: "V\u0103n b\u1EA3n"
14438
14467
  }, form.getInputProps("file"))
14439
14468
  ),
14440
- /* @__PURE__ */ jsx161(
14469
+ /* @__PURE__ */ jsx162(
14441
14470
  MyNumberInput,
14442
14471
  __spreadValues({
14443
14472
  label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
@@ -14449,7 +14478,7 @@ function F_organizationPolicyDocs_Update({
14449
14478
  }
14450
14479
 
14451
14480
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Read.tsx
14452
- import { jsx as jsx162, jsxs as jsxs93 } from "react/jsx-runtime";
14481
+ import { jsx as jsx163, jsxs as jsxs93 } from "react/jsx-runtime";
14453
14482
  function F_organizationPolicyDocs_Read({
14454
14483
  RegulationsTypeId
14455
14484
  }) {
@@ -14469,10 +14498,10 @@ function F_organizationPolicyDocs_Read({
14469
14498
  }
14470
14499
  }, [documentAttributeQuery.data]);
14471
14500
  if (((_a = documentAttributeQuery.data) == null ? void 0 : _a.length) == 0)
14472
- return /* @__PURE__ */ jsx162(Blockquote5, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
14501
+ return /* @__PURE__ */ jsx163(Blockquote5, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
14473
14502
  if (documentAttributeQuery.isError)
14474
- return /* @__PURE__ */ jsx162(Alert6, { icon: /* @__PURE__ */ jsx162(IconBug6, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
14475
- return /* @__PURE__ */ jsx162(Skeleton6, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx162(MyFlexColumn, { children: /* @__PURE__ */ jsx162(
14503
+ return /* @__PURE__ */ jsx163(Alert6, { icon: /* @__PURE__ */ jsx163(IconBug6, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
14504
+ return /* @__PURE__ */ jsx163(Skeleton6, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx163(MyFlexColumn, { children: /* @__PURE__ */ jsx163(
14476
14505
  Accordion5,
14477
14506
  {
14478
14507
  variant: "separated",
@@ -14485,7 +14514,7 @@ function F_organizationPolicyDocs_Read({
14485
14514
  value: openItems,
14486
14515
  onChange: setOpenItems,
14487
14516
  multiple: true,
14488
- children: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map((item, idx) => /* @__PURE__ */ jsx162(
14517
+ children: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map((item, idx) => /* @__PURE__ */ jsx163(
14489
14518
  SubRead5,
14490
14519
  {
14491
14520
  name: item.name || "",
@@ -14523,15 +14552,15 @@ function SubRead5({
14523
14552
  {
14524
14553
  header: "File",
14525
14554
  accessorFn: (row) => {
14526
- return /* @__PURE__ */ jsx162(MyCenterFull, { children: /* @__PURE__ */ jsx162(MyButtonViewPDF, { id: row.id }) });
14555
+ return /* @__PURE__ */ jsx163(MyCenterFull, { children: /* @__PURE__ */ jsx163(MyButtonViewFileAPI, { filePath: row.path }) });
14527
14556
  }
14528
14557
  }
14529
14558
  ],
14530
14559
  []
14531
14560
  );
14532
- return /* @__PURE__ */ jsx162(Skeleton6, { mt: 10, visible: documentQuery.isLoading, children: /* @__PURE__ */ jsxs93(Accordion5.Item, { value: id.toString(), children: [
14533
- /* @__PURE__ */ jsx162(Accordion5.Control, { children: name }),
14534
- /* @__PURE__ */ jsx162(Accordion5.Panel, { children: /* @__PURE__ */ jsx162(
14561
+ return /* @__PURE__ */ jsx163(Skeleton6, { mt: 10, visible: documentQuery.isLoading, children: /* @__PURE__ */ jsxs93(Accordion5.Item, { value: id.toString(), children: [
14562
+ /* @__PURE__ */ jsx163(Accordion5.Control, { children: name }),
14563
+ /* @__PURE__ */ jsx163(Accordion5.Panel, { children: /* @__PURE__ */ jsx163(
14535
14564
  MyDataTable,
14536
14565
  {
14537
14566
  isLoading: documentQuery.isLoading,
@@ -14539,14 +14568,14 @@ function SubRead5({
14539
14568
  columns,
14540
14569
  data: documentQuery.data || [],
14541
14570
  renderRowActions: ({ row }) => /* @__PURE__ */ jsxs93(MyCenterFull, { children: [
14542
- /* @__PURE__ */ jsx162(
14571
+ /* @__PURE__ */ jsx163(
14543
14572
  F_organizationPolicyDocs_Update,
14544
14573
  {
14545
14574
  RegulationsTypeId,
14546
14575
  values: row.original
14547
14576
  }
14548
14577
  ),
14549
- /* @__PURE__ */ jsx162(
14578
+ /* @__PURE__ */ jsx163(
14550
14579
  F_organizationPolicyDocs_Delete,
14551
14580
  {
14552
14581
  id: row.original.id,
@@ -14560,12 +14589,12 @@ function SubRead5({
14560
14589
  }
14561
14590
 
14562
14591
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs.tsx
14563
- import { Fragment as Fragment24, jsx as jsx163, jsxs as jsxs94 } from "react/jsx-runtime";
14592
+ import { Fragment as Fragment24, jsx as jsx164, jsxs as jsxs94 } from "react/jsx-runtime";
14564
14593
  function F_organizationPolicyDocs({ RegulationsTypeId }) {
14565
14594
  return /* @__PURE__ */ jsxs94(Fragment24, { children: [
14566
- /* @__PURE__ */ jsx163(MyFlexEnd, { children: /* @__PURE__ */ jsx163(F_organizationPolicyDocs_Create, { RegulationsTypeId }) }),
14567
- /* @__PURE__ */ jsx163(Space7, {}),
14568
- /* @__PURE__ */ jsx163(F_organizationPolicyDocs_Read, { RegulationsTypeId })
14595
+ /* @__PURE__ */ jsx164(MyFlexEnd, { children: /* @__PURE__ */ jsx164(F_organizationPolicyDocs_Create, { RegulationsTypeId }) }),
14596
+ /* @__PURE__ */ jsx164(Space7, {}),
14597
+ /* @__PURE__ */ jsx164(F_organizationPolicyDocs_Read, { RegulationsTypeId })
14569
14598
  ] });
14570
14599
  }
14571
14600
 
@@ -14574,7 +14603,7 @@ import { Group as Group26, TextInput as TextInput7 } from "@mantine/core";
14574
14603
  import { useMemo as useMemo25 } from "react";
14575
14604
 
14576
14605
  // src/modules-features/admin/core/pageContent/PageContentExport.tsx
14577
- import { jsx as jsx164 } from "react/jsx-runtime";
14606
+ import { jsx as jsx165 } from "react/jsx-runtime";
14578
14607
  var config4 = {
14579
14608
  fields: [
14580
14609
  {
@@ -14597,17 +14626,17 @@ var config4 = {
14597
14626
  };
14598
14627
  function PageContentExport({ table }) {
14599
14628
  const { data } = useExportData(table);
14600
- return /* @__PURE__ */ jsx164(AQButtonExportData, { exportConfig: config4, objectName: "Danh s\xE1ch Page content", data });
14629
+ return /* @__PURE__ */ jsx165(AQButtonExportData, { exportConfig: config4, objectName: "Danh s\xE1ch Page content", data });
14601
14630
  }
14602
14631
 
14603
14632
  // src/modules-features/admin/core/pageContent/PageContentSave.tsx
14604
- import { jsx as jsx165 } from "react/jsx-runtime";
14633
+ import { jsx as jsx166 } from "react/jsx-runtime";
14605
14634
  function PageContentSave({ values }) {
14606
14635
  const mutation = useMyReactMutation({
14607
14636
  axiosFn: (mutateValue) => service_page.updateList(mutateValue),
14608
14637
  mutationType: "update"
14609
14638
  });
14610
- return /* @__PURE__ */ jsx165(
14639
+ return /* @__PURE__ */ jsx166(
14611
14640
  MyButton,
14612
14641
  {
14613
14642
  actionType: "save",
@@ -14620,7 +14649,7 @@ function PageContentSave({ values }) {
14620
14649
  }
14621
14650
 
14622
14651
  // src/modules-features/admin/core/pageContent/PageContentTable.tsx
14623
- import { jsx as jsx166, jsxs as jsxs95 } from "react/jsx-runtime";
14652
+ import { jsx as jsx167, jsxs as jsxs95 } from "react/jsx-runtime";
14624
14653
  function PageContentTable({ menuData }) {
14625
14654
  const pageQuery = useMyReactQuery({
14626
14655
  queryKey: ["pages"],
@@ -14639,7 +14668,7 @@ function PageContentTable({ menuData }) {
14639
14668
  header: "M\xF4 t\u1EA3",
14640
14669
  accessorKey: "description",
14641
14670
  Cell: ({ row }) => {
14642
- return /* @__PURE__ */ jsx166(
14671
+ return /* @__PURE__ */ jsx167(
14643
14672
  TextInput7,
14644
14673
  {
14645
14674
  defaultValue: row.original.description,
@@ -14653,7 +14682,7 @@ function PageContentTable({ menuData }) {
14653
14682
  {
14654
14683
  header: "Url video h\u01B0\u1EDBng d\u1EABn",
14655
14684
  accessorKey: "link",
14656
- Cell: ({ row }) => /* @__PURE__ */ jsx166(
14685
+ Cell: ({ row }) => /* @__PURE__ */ jsx167(
14657
14686
  TextInput7,
14658
14687
  {
14659
14688
  defaultValue: row.original.link,
@@ -14668,7 +14697,7 @@ function PageContentTable({ menuData }) {
14668
14697
  accessorKey: "pageDocumentFileDetail.fileName",
14669
14698
  Cell: ({ row }) => {
14670
14699
  const file = row.original.pageDocumentFileDetail;
14671
- return /* @__PURE__ */ jsx166(
14700
+ return /* @__PURE__ */ jsx167(
14672
14701
  MyFileInput,
14673
14702
  {
14674
14703
  placeholder: (file == null ? void 0 : file.fileName) || "Vui l\xF2ng ch\u1ECDn file",
@@ -14704,7 +14733,7 @@ function PageContentTable({ menuData }) {
14704
14733
  });
14705
14734
  });
14706
14735
  }, [pageQuery.data, menuData]).filter(Boolean);
14707
- return /* @__PURE__ */ jsx166(
14736
+ return /* @__PURE__ */ jsx167(
14708
14737
  MyDataTable,
14709
14738
  {
14710
14739
  columns,
@@ -14719,17 +14748,17 @@ function PageContentTable({ menuData }) {
14719
14748
  return (_a = row.id) == null ? void 0 : _a.toString();
14720
14749
  },
14721
14750
  renderTopToolbarCustomActions: ({ table }) => /* @__PURE__ */ jsxs95(Group26, { children: [
14722
- /* @__PURE__ */ jsx166(PageContentSave, { values: editedRows }),
14723
- /* @__PURE__ */ jsx166(PageContentExport, { table })
14751
+ /* @__PURE__ */ jsx167(PageContentSave, { values: editedRows }),
14752
+ /* @__PURE__ */ jsx167(PageContentExport, { table })
14724
14753
  ] })
14725
14754
  }
14726
14755
  );
14727
14756
  }
14728
14757
 
14729
14758
  // src/modules-features/admin/core/pageContent/Feat_PageContentTable.tsx
14730
- import { jsx as jsx167 } from "react/jsx-runtime";
14759
+ import { jsx as jsx168 } from "react/jsx-runtime";
14731
14760
  function Feat_PageContentTable({ menuData }) {
14732
- return /* @__PURE__ */ jsx167(PageContentTable, { menuData });
14761
+ return /* @__PURE__ */ jsx168(PageContentTable, { menuData });
14733
14762
  }
14734
14763
 
14735
14764
  // src/modules/Role/usecase/UseCase_RoleTable.tsx
@@ -14747,7 +14776,7 @@ var enumLabel_roleStatus = {
14747
14776
  };
14748
14777
 
14749
14778
  // src/modules/Role/usecase/UseCase_RoleTable.tsx
14750
- import { jsx as jsx168 } from "react/jsx-runtime";
14779
+ import { jsx as jsx169 } from "react/jsx-runtime";
14751
14780
  function UseCase_RoleTable2(_a) {
14752
14781
  var rest = __objRest(_a, []);
14753
14782
  const allColumns = useMemo26(() => [
@@ -14775,7 +14804,7 @@ function UseCase_RoleTable2(_a) {
14775
14804
  }
14776
14805
  }
14777
14806
  ], []);
14778
- return /* @__PURE__ */ jsx168(
14807
+ return /* @__PURE__ */ jsx169(
14779
14808
  MyDataTable,
14780
14809
  __spreadValues({
14781
14810
  columns: allColumns
@@ -14804,7 +14833,7 @@ var mapper_role = {
14804
14833
  };
14805
14834
 
14806
14835
  // src/modules/Role/adapter/Adapter_RoleTable.tsx
14807
- import { jsx as jsx169 } from "react/jsx-runtime";
14836
+ import { jsx as jsx170 } from "react/jsx-runtime";
14808
14837
  function Adapter_RoleTable2(_a) {
14809
14838
  var rest = __objRest(_a, []);
14810
14839
  var _a2;
@@ -14812,7 +14841,7 @@ function Adapter_RoleTable2(_a) {
14812
14841
  queryKey: ["roles"],
14813
14842
  axiosFn: () => service_role.getAdminRole()
14814
14843
  });
14815
- return /* @__PURE__ */ jsx169(
14844
+ return /* @__PURE__ */ jsx170(
14816
14845
  UseCase_RoleTable2,
14817
14846
  __spreadValues({
14818
14847
  data: ((_a2 = query.data) == null ? void 0 : _a2.map(mapper_role.mapToDomain)) || [],
@@ -14828,16 +14857,16 @@ import { useEffect as useEffect30 } from "react";
14828
14857
 
14829
14858
  // src/modules/Role/usecase/UseCase_RoleForm.tsx
14830
14859
  import { Stack as Stack10 } from "@mantine/core";
14831
- import { jsx as jsx170, jsxs as jsxs96 } from "react/jsx-runtime";
14860
+ import { jsx as jsx171, jsxs as jsxs96 } from "react/jsx-runtime";
14832
14861
  function UseCase_RoleCreate({
14833
14862
  form,
14834
14863
  onSubmit
14835
14864
  }) {
14836
14865
  var _a;
14837
- return /* @__PURE__ */ jsx170("form", { onSubmit: form.onSubmit(onSubmit), children: /* @__PURE__ */ jsxs96(Stack10, { children: [
14838
- /* @__PURE__ */ jsx170(MyTextInput2, __spreadValues({ label: "M\xE3 nh\xF3m t\xE0i kho\u1EA3n" }, form.getInputProps("code"))),
14839
- /* @__PURE__ */ jsx170(MyTextInput2, __spreadValues({ label: "T\xEAn nh\xF3m t\xE0i kho\u1EA3n" }, form.getInputProps("name"))),
14840
- /* @__PURE__ */ jsx170(
14866
+ return /* @__PURE__ */ jsx171("form", { onSubmit: form.onSubmit(onSubmit), children: /* @__PURE__ */ jsxs96(Stack10, { children: [
14867
+ /* @__PURE__ */ jsx171(MyTextInput2, __spreadValues({ label: "M\xE3 nh\xF3m t\xE0i kho\u1EA3n" }, form.getInputProps("code"))),
14868
+ /* @__PURE__ */ jsx171(MyTextInput2, __spreadValues({ label: "T\xEAn nh\xF3m t\xE0i kho\u1EA3n" }, form.getInputProps("name"))),
14869
+ /* @__PURE__ */ jsx171(
14841
14870
  MySelect2,
14842
14871
  {
14843
14872
  label: "Tr\u1EA1ng th\xE1i t\xE0i kho\u1EA3n",
@@ -14846,13 +14875,13 @@ function UseCase_RoleCreate({
14846
14875
  onChange: (val) => form.setFieldValue("status", val)
14847
14876
  }
14848
14877
  ),
14849
- /* @__PURE__ */ jsx170(MyTextInput2, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note"))),
14850
- /* @__PURE__ */ jsx170(MyButton, { actionType: "save" })
14878
+ /* @__PURE__ */ jsx171(MyTextInput2, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note"))),
14879
+ /* @__PURE__ */ jsx171(MyButton, { actionType: "save" })
14851
14880
  ] }) });
14852
14881
  }
14853
14882
 
14854
14883
  // src/modules/Role/adapter/Adapter_RoleForm.tsx
14855
- import { jsx as jsx171 } from "react/jsx-runtime";
14884
+ import { jsx as jsx172 } from "react/jsx-runtime";
14856
14885
  function Adapter_RoleForm({
14857
14886
  values,
14858
14887
  onSuccess
@@ -14874,7 +14903,7 @@ function Adapter_RoleForm({
14874
14903
  if (!values) return;
14875
14904
  form.initialize(values);
14876
14905
  }, [values]);
14877
- return /* @__PURE__ */ jsx171(
14906
+ return /* @__PURE__ */ jsx172(
14878
14907
  UseCase_RoleCreate,
14879
14908
  {
14880
14909
  form,
@@ -14893,7 +14922,7 @@ import { useEffect as useEffect31, useState as useState25 } from "react";
14893
14922
 
14894
14923
  // src/modules/User/usecase/Usecase_UserTable.tsx
14895
14924
  import { useMemo as useMemo27 } from "react";
14896
- import { jsx as jsx172 } from "react/jsx-runtime";
14925
+ import { jsx as jsx173 } from "react/jsx-runtime";
14897
14926
  function UseCase_UserTable(_a) {
14898
14927
  var rest = __objRest(_a, []);
14899
14928
  const allColumns = useMemo27(() => [
@@ -14919,7 +14948,7 @@ function UseCase_UserTable(_a) {
14919
14948
  accessorKey: "phoneNumber"
14920
14949
  }
14921
14950
  ], []);
14922
- return /* @__PURE__ */ jsx172(
14951
+ return /* @__PURE__ */ jsx173(
14923
14952
  MyDataTable,
14924
14953
  __spreadValues({
14925
14954
  columns: allColumns
@@ -14946,7 +14975,7 @@ var mapper_user = {
14946
14975
  };
14947
14976
 
14948
14977
  // src/modules/User/adapter/Adapter_UserTable.tsx
14949
- import { jsx as jsx173, jsxs as jsxs97 } from "react/jsx-runtime";
14978
+ import { jsx as jsx174, jsxs as jsxs97 } from "react/jsx-runtime";
14950
14979
  function Adapter_UserTable(_a) {
14951
14980
  var rest = __objRest(_a, []);
14952
14981
  var _a2;
@@ -14970,7 +14999,7 @@ function Adapter_UserTable(_a) {
14970
14999
  setGlobalFilter(debouncedSearch);
14971
15000
  paginationState[1]({ pageIndex: 0, pageSize: paginationState[0].pageSize });
14972
15001
  }, [debouncedSearch]);
14973
- return /* @__PURE__ */ jsx173(
15002
+ return /* @__PURE__ */ jsx174(
14974
15003
  UseCase_UserTable,
14975
15004
  __spreadProps(__spreadValues({
14976
15005
  rowCount: adminAccountQuery.dataCount,
@@ -14985,12 +15014,12 @@ function Adapter_UserTable(_a) {
14985
15014
  var _a3;
14986
15015
  return /* @__PURE__ */ jsxs97(Group27, { children: [
14987
15016
  (_a3 = rest == null ? void 0 : rest.renderTopToolbarCustomActions) == null ? void 0 : _a3.call(rest, table),
14988
- /* @__PURE__ */ jsx173(
15017
+ /* @__PURE__ */ jsx174(
14989
15018
  TextInput8,
14990
15019
  {
14991
15020
  w: "250",
14992
15021
  placeholder: "T\xECm theo t\xE0i kho\u1EA3n ho\u1EB7c h\u1ECD t\xEAn...",
14993
- leftSection: /* @__PURE__ */ jsx173(IconSearch5, { size: 16 }),
15022
+ leftSection: /* @__PURE__ */ jsx174(IconSearch5, { size: 16 }),
14994
15023
  value: searchInput,
14995
15024
  onChange: (e4) => setSearchInput(e4.currentTarget.value)
14996
15025
  }
@@ -15002,17 +15031,17 @@ function Adapter_UserTable(_a) {
15002
15031
  }
15003
15032
 
15004
15033
  // src/modules/User/adapter/Adapter_UserAddToRole.tsx
15005
- import { useDisclosure as useDisclosure16 } from "@mantine/hooks";
15034
+ import { useDisclosure as useDisclosure17 } from "@mantine/hooks";
15006
15035
  import { notifications as notifications5 } from "@mantine/notifications";
15007
15036
  import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
15008
15037
  import { useEffect as useEffect32, useState as useState26 } from "react";
15009
- import { jsx as jsx174 } from "react/jsx-runtime";
15038
+ import { jsx as jsx175 } from "react/jsx-runtime";
15010
15039
  function Adapter_UserAddToRole({
15011
15040
  roleId,
15012
15041
  userIds
15013
15042
  }) {
15014
15043
  const queryClient = useQueryClient4();
15015
- const disc = useDisclosure16();
15044
+ const disc = useDisclosure17();
15016
15045
  const userSelectedId = useState26({});
15017
15046
  const [defaultSelectedIds, setDefaultSelectedIds] = useState26([]);
15018
15047
  const selectedIds = Object.keys(userSelectedId[0]).map(Number);
@@ -15056,20 +15085,20 @@ function Adapter_UserAddToRole({
15056
15085
  setDefaultSelectedIds(userIds);
15057
15086
  }
15058
15087
  }, [userIds]);
15059
- return /* @__PURE__ */ jsx174(
15088
+ return /* @__PURE__ */ jsx175(
15060
15089
  MyButtonModal,
15061
15090
  {
15062
15091
  disclosure: disc,
15063
15092
  buttonProps: { actionType: "create" },
15064
15093
  modalProps: { title: "Danh s\xE1ch t\xE0i kho\u1EA3n ng\u01B0\u1EDDi d\xF9ng thu\u1ED9c quy\u1EC1n", size: "70%" },
15065
- children: /* @__PURE__ */ jsx174(
15094
+ children: /* @__PURE__ */ jsx175(
15066
15095
  Adapter_UserTable,
15067
15096
  {
15068
15097
  enableRowSelection: true,
15069
15098
  state: { rowSelection: userSelectedId[0] },
15070
15099
  onRowSelectionChange: userSelectedId[1],
15071
15100
  getRowId: (row) => row.id,
15072
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx174(
15101
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx175(
15073
15102
  MyButton,
15074
15103
  {
15075
15104
  actionType: "select",
@@ -15092,17 +15121,17 @@ function Adapter_UserAddToRole({
15092
15121
  }
15093
15122
 
15094
15123
  // src/modules/User/adapter/Adapter_UserDeleteFromRole.tsx
15095
- import { jsx as jsx175 } from "react/jsx-runtime";
15124
+ import { jsx as jsx176 } from "react/jsx-runtime";
15096
15125
  function Adapter_UserDeleteFromRole({
15097
15126
  roleId,
15098
15127
  userId
15099
15128
  }) {
15100
- return /* @__PURE__ */ jsx175(MyActionIconDelete, { onSubmit: () => service_role.removeUsersFromRole({ roleId, userIds: [userId] }) });
15129
+ return /* @__PURE__ */ jsx176(MyActionIconDelete, { onSubmit: () => service_role.removeUsersFromRole({ roleId, userIds: [userId] }) });
15101
15130
  }
15102
15131
 
15103
15132
  // src/modules/User/adapter/Adapter_UserTableByRole.tsx
15104
15133
  import { useEffect as useEffect33 } from "react";
15105
- import { jsx as jsx176 } from "react/jsx-runtime";
15134
+ import { jsx as jsx177 } from "react/jsx-runtime";
15106
15135
  function Adapter_UserTableByRole(_a) {
15107
15136
  var _b = _a, { byRoleId } = _b, rest = __objRest(_b, ["byRoleId"]);
15108
15137
  var _a2;
@@ -15118,7 +15147,7 @@ function Adapter_UserTableByRole(_a) {
15118
15147
  rest.onUserLoad(users);
15119
15148
  }
15120
15149
  }, [adminAccountQuery.data]);
15121
- return /* @__PURE__ */ jsx176(
15150
+ return /* @__PURE__ */ jsx177(
15122
15151
  UseCase_UserTable,
15123
15152
  __spreadValues({
15124
15153
  isLoading: adminAccountQuery.isLoading,
@@ -15131,13 +15160,13 @@ function Adapter_UserTableByRole(_a) {
15131
15160
 
15132
15161
  // src/modules-features/admin/core/roleManagement/features/Feat_CreateUpdateRole.tsx
15133
15162
  import { Group as Group28, Tabs as Tabs3 } from "@mantine/core";
15134
- import { useDisclosure as useDisclosure17 } from "@mantine/hooks";
15163
+ import { useDisclosure as useDisclosure18 } from "@mantine/hooks";
15135
15164
  import { useState as useState27 } from "react";
15136
15165
 
15137
15166
  // src/modules-features/admin/core/roleManagement/RoleManagement_Import.tsx
15138
15167
  import { useModalsStack as useModalsStack4 } from "@mantine/core";
15139
15168
  import { Workbook as Workbook2 } from "exceljs";
15140
- import { Fragment as Fragment25, jsx as jsx177, jsxs as jsxs98 } from "react/jsx-runtime";
15169
+ import { Fragment as Fragment25, jsx as jsx178, jsxs as jsxs98 } from "react/jsx-runtime";
15141
15170
  var fieldConfig = [
15142
15171
  {
15143
15172
  fieldKey: "code",
@@ -15166,8 +15195,8 @@ function RoleManagement_Import({ roleId }) {
15166
15195
  await utils_excel.download({ workbook, name: "C\u1EA5u tr\xFAc import t\xE0i kho\u1EA3n v\xE0o quy\u1EC1n" });
15167
15196
  };
15168
15197
  return /* @__PURE__ */ jsxs98(Fragment25, { children: [
15169
- /* @__PURE__ */ jsx177(MyButton, { actionType: "import", onClick: () => stack.open("FileImportConfig") }),
15170
- /* @__PURE__ */ jsx177(
15198
+ /* @__PURE__ */ jsx178(MyButton, { actionType: "import", onClick: () => stack.open("FileImportConfig") }),
15199
+ /* @__PURE__ */ jsx178(
15171
15200
  MyModalImport,
15172
15201
  {
15173
15202
  fieldDefinition: fieldConfig.map((item) => ({
@@ -15189,12 +15218,12 @@ function RoleManagement_Import({ roleId }) {
15189
15218
  }
15190
15219
 
15191
15220
  // src/modules-features/admin/core/roleManagement/features/Feat_CreateUpdateRole.tsx
15192
- import { jsx as jsx178, jsxs as jsxs99 } from "react/jsx-runtime";
15221
+ import { jsx as jsx179, jsxs as jsxs99 } from "react/jsx-runtime";
15193
15222
  function Feat_CreateUpdateRole({ values }) {
15194
15223
  const isUpdate = values != void 0;
15195
- const disc = useDisclosure17();
15224
+ const disc = useDisclosure18();
15196
15225
  const userIds = useState27([]);
15197
- return /* @__PURE__ */ jsx178(
15226
+ return /* @__PURE__ */ jsx179(
15198
15227
  MyButtonModal,
15199
15228
  {
15200
15229
  disclosure: disc,
@@ -15204,11 +15233,11 @@ function Feat_CreateUpdateRole({ values }) {
15204
15233
  isActionIcon: isUpdate,
15205
15234
  children: /* @__PURE__ */ jsxs99(Tabs3, { defaultValue: "gallery", children: [
15206
15235
  /* @__PURE__ */ jsxs99(Tabs3.List, { children: [
15207
- /* @__PURE__ */ jsx178(Tabs3.Tab, { value: "gallery", children: "Th\xF4ng tin chung" }),
15208
- /* @__PURE__ */ jsx178(Tabs3.Tab, { value: "messages", hidden: !isUpdate, children: "Danh s\xE1ch th\xE0nh vi\xEAn" })
15236
+ /* @__PURE__ */ jsx179(Tabs3.Tab, { value: "gallery", children: "Th\xF4ng tin chung" }),
15237
+ /* @__PURE__ */ jsx179(Tabs3.Tab, { value: "messages", hidden: !isUpdate, children: "Danh s\xE1ch th\xE0nh vi\xEAn" })
15209
15238
  ] }),
15210
- /* @__PURE__ */ jsx178(Tabs3.Panel, { value: "gallery", pt: "md", children: /* @__PURE__ */ jsx178(Adapter_RoleForm, { onSuccess: disc[1].close, values }) }),
15211
- /* @__PURE__ */ jsx178(Tabs3.Panel, { value: "messages", pt: "md", children: /* @__PURE__ */ jsx178(MyFieldset, { title: "Danh s\xE1ch t\xE0i kho\u1EA3n ng\u01B0\u1EDDi d\xF9ng thu\u1ED9c nh\xF3m", children: /* @__PURE__ */ jsx178(
15239
+ /* @__PURE__ */ jsx179(Tabs3.Panel, { value: "gallery", pt: "md", children: /* @__PURE__ */ jsx179(Adapter_RoleForm, { onSuccess: disc[1].close, values }) }),
15240
+ /* @__PURE__ */ jsx179(Tabs3.Panel, { value: "messages", pt: "md", children: /* @__PURE__ */ jsx179(MyFieldset, { title: "Danh s\xE1ch t\xE0i kho\u1EA3n ng\u01B0\u1EDDi d\xF9ng thu\u1ED9c nh\xF3m", children: /* @__PURE__ */ jsx179(
15212
15241
  Adapter_UserTableByRole,
15213
15242
  {
15214
15243
  byRoleId: Number(values == null ? void 0 : values.id),
@@ -15218,16 +15247,16 @@ function Feat_CreateUpdateRole({ values }) {
15218
15247
  },
15219
15248
  visibleFields: ["code", "userFullName", "unit"],
15220
15249
  renderTopToolbarCustomActions: () => /* @__PURE__ */ jsxs99(Group28, { children: [
15221
- /* @__PURE__ */ jsx178(
15250
+ /* @__PURE__ */ jsx179(
15222
15251
  Adapter_UserAddToRole,
15223
15252
  {
15224
15253
  roleId: Number(values == null ? void 0 : values.id),
15225
15254
  userIds: userIds[0]
15226
15255
  }
15227
15256
  ),
15228
- /* @__PURE__ */ jsx178(RoleManagement_Import, { roleId: Number(values == null ? void 0 : values.id) })
15257
+ /* @__PURE__ */ jsx179(RoleManagement_Import, { roleId: Number(values == null ? void 0 : values.id) })
15229
15258
  ] }),
15230
- renderRowActions: ({ row }) => /* @__PURE__ */ jsx178(MyCenterFull, { children: /* @__PURE__ */ jsx178(Adapter_UserDeleteFromRole, { roleId: Number(values == null ? void 0 : values.id), userId: Number(row.original.id) }) })
15259
+ renderRowActions: ({ row }) => /* @__PURE__ */ jsx179(MyCenterFull, { children: /* @__PURE__ */ jsx179(Adapter_UserDeleteFromRole, { roleId: Number(values == null ? void 0 : values.id), userId: Number(row.original.id) }) })
15231
15260
  }
15232
15261
  ) }) })
15233
15262
  ] })
@@ -15236,27 +15265,27 @@ function Feat_CreateUpdateRole({ values }) {
15236
15265
  }
15237
15266
 
15238
15267
  // src/modules-features/admin/core/roleManagement/RoleManagement_Delete.tsx
15239
- import { jsx as jsx179 } from "react/jsx-runtime";
15268
+ import { jsx as jsx180 } from "react/jsx-runtime";
15240
15269
  function RoleManagement_Delete({ code, id }) {
15241
- return /* @__PURE__ */ jsx179(MyActionIconDelete, { contextData: code, onSubmit: () => service_role.delete(id) });
15270
+ return /* @__PURE__ */ jsx180(MyActionIconDelete, { contextData: code, onSubmit: () => service_role.delete(id) });
15242
15271
  }
15243
15272
 
15244
15273
  // src/modules-features/admin/core/roleManagement/Feat_RoleManagement.tsx
15245
- import { jsx as jsx180, jsxs as jsxs100 } from "react/jsx-runtime";
15274
+ import { jsx as jsx181, jsxs as jsxs100 } from "react/jsx-runtime";
15246
15275
  function Feat_RoleManagement() {
15247
- return /* @__PURE__ */ jsx180(
15276
+ return /* @__PURE__ */ jsx181(
15248
15277
  Adapter_RoleTable2,
15249
15278
  {
15250
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx180(Feat_CreateUpdateRole, {}),
15279
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx181(Feat_CreateUpdateRole, {}),
15251
15280
  renderRowActions: ({ row }) => {
15252
15281
  return /* @__PURE__ */ jsxs100(MyCenterFull, { children: [
15253
- /* @__PURE__ */ jsx180(
15282
+ /* @__PURE__ */ jsx181(
15254
15283
  Feat_CreateUpdateRole,
15255
15284
  {
15256
15285
  values: row.original
15257
15286
  }
15258
15287
  ),
15259
- /* @__PURE__ */ jsx180(
15288
+ /* @__PURE__ */ jsx181(
15260
15289
  RoleManagement_Delete,
15261
15290
  {
15262
15291
  id: Number(row.original.id),
@@ -15275,7 +15304,7 @@ import { useMemo as useMemo28 } from "react";
15275
15304
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Create.tsx
15276
15305
  import { FileInput as FileInput10 } from "@mantine/core";
15277
15306
  import { useForm as useForm32 } from "@mantine/form";
15278
- import { jsx as jsx181, jsxs as jsxs101 } from "react/jsx-runtime";
15307
+ import { jsx as jsx182, jsxs as jsxs101 } from "react/jsx-runtime";
15279
15308
  function F_securityPolicyDocs_Create({ SecurityTypeId }) {
15280
15309
  const form = useForm32({
15281
15310
  mode: "uncontrolled",
@@ -15299,28 +15328,28 @@ function F_securityPolicyDocs_Create({ SecurityTypeId }) {
15299
15328
  return service_document.create(body);
15300
15329
  },
15301
15330
  children: [
15302
- /* @__PURE__ */ jsx181(
15331
+ /* @__PURE__ */ jsx182(
15303
15332
  MyTextInput,
15304
15333
  __spreadValues({
15305
15334
  withAsterisk: true,
15306
15335
  label: "S\u1ED1 quy \u0111\u1ECBnh"
15307
15336
  }, form.getInputProps("decisionCode"))
15308
15337
  ),
15309
- /* @__PURE__ */ jsx181(
15338
+ /* @__PURE__ */ jsx182(
15310
15339
  MyDateInput,
15311
15340
  __spreadValues({
15312
15341
  withAsterisk: true,
15313
15342
  label: "Ng\xE0y ban h\xE0nh"
15314
15343
  }, form.getInputProps("promulgateDate"))
15315
15344
  ),
15316
- /* @__PURE__ */ jsx181(
15345
+ /* @__PURE__ */ jsx182(
15317
15346
  MyTextInput,
15318
15347
  __spreadValues({
15319
15348
  withAsterisk: true,
15320
15349
  label: "T\xEAn t\xE0i li\u1EC7u"
15321
15350
  }, form.getInputProps("name"))
15322
15351
  ),
15323
- /* @__PURE__ */ jsx181(
15352
+ /* @__PURE__ */ jsx182(
15324
15353
  FileInput10,
15325
15354
  __spreadValues({
15326
15355
  withAsterisk: true,
@@ -15334,12 +15363,12 @@ function F_securityPolicyDocs_Create({ SecurityTypeId }) {
15334
15363
  }
15335
15364
 
15336
15365
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Delete.tsx
15337
- import { jsx as jsx182 } from "react/jsx-runtime";
15366
+ import { jsx as jsx183 } from "react/jsx-runtime";
15338
15367
  function F_securityPolicyDocs_Delete({
15339
15368
  id,
15340
15369
  contextData
15341
15370
  }) {
15342
- return /* @__PURE__ */ jsx182(
15371
+ return /* @__PURE__ */ jsx183(
15343
15372
  MyActionIconDelete,
15344
15373
  {
15345
15374
  contextData,
@@ -15351,7 +15380,7 @@ function F_securityPolicyDocs_Delete({
15351
15380
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Update.tsx
15352
15381
  import { FileInput as FileInput11, TextInput as TextInput9 } from "@mantine/core";
15353
15382
  import { useForm as useForm33 } from "@mantine/form";
15354
- import { jsx as jsx183, jsxs as jsxs102 } from "react/jsx-runtime";
15383
+ import { jsx as jsx184, jsxs as jsxs102 } from "react/jsx-runtime";
15355
15384
  function F_securityPolicyDocs_Update({ values }) {
15356
15385
  var _a;
15357
15386
  const form = useForm33({
@@ -15381,7 +15410,7 @@ function F_securityPolicyDocs_Update({ values }) {
15381
15410
  return service_document.update(body);
15382
15411
  },
15383
15412
  children: [
15384
- /* @__PURE__ */ jsx183(
15413
+ /* @__PURE__ */ jsx184(
15385
15414
  TextInput9,
15386
15415
  __spreadValues({
15387
15416
  withAsterisk: true,
@@ -15389,21 +15418,21 @@ function F_securityPolicyDocs_Update({ values }) {
15389
15418
  label: "S\u1ED1 quy \u0111\u1ECBnh"
15390
15419
  }, form.getInputProps("decisionCode"))
15391
15420
  ),
15392
- /* @__PURE__ */ jsx183(
15421
+ /* @__PURE__ */ jsx184(
15393
15422
  MyDateInput,
15394
15423
  __spreadValues({
15395
15424
  withAsterisk: true,
15396
15425
  label: "Ng\xE0y ban h\xE0nh"
15397
15426
  }, form.getInputProps("promulgateDate"))
15398
15427
  ),
15399
- /* @__PURE__ */ jsx183(
15428
+ /* @__PURE__ */ jsx184(
15400
15429
  TextInput9,
15401
15430
  __spreadValues({
15402
15431
  withAsterisk: true,
15403
15432
  label: "T\xEAn t\xE0i li\u1EC7u"
15404
15433
  }, form.getInputProps("name"))
15405
15434
  ),
15406
- /* @__PURE__ */ jsx183(
15435
+ /* @__PURE__ */ jsx184(
15407
15436
  FileInput11,
15408
15437
  __spreadValues({
15409
15438
  withAsterisk: true,
@@ -15416,7 +15445,7 @@ function F_securityPolicyDocs_Update({ values }) {
15416
15445
  }
15417
15446
 
15418
15447
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Read.tsx
15419
- import { jsx as jsx184, jsxs as jsxs103 } from "react/jsx-runtime";
15448
+ import { jsx as jsx185, jsxs as jsxs103 } from "react/jsx-runtime";
15420
15449
  function F_securityPolicyDocs_Read({ SecurityTypeId }) {
15421
15450
  const query = useMyReactQuery({
15422
15451
  queryKey: ["F_securityPolicyDocs_Read"],
@@ -15430,7 +15459,7 @@ function F_securityPolicyDocs_Read({ SecurityTypeId }) {
15430
15459
  },
15431
15460
  {
15432
15461
  header: "Ng\xE0y ban h\xE0nh",
15433
- accessorFn: (row) => utils_date_dateToDDMMYYYString(new Date(row.promulgateDate))
15462
+ accessorFn: (row) => utils_date.toDDMMYYYY(new Date(row.promulgateDate))
15434
15463
  },
15435
15464
  {
15436
15465
  header: "T\xEAn t\xE0i li\u1EC7u",
@@ -15439,25 +15468,25 @@ function F_securityPolicyDocs_Read({ SecurityTypeId }) {
15439
15468
  {
15440
15469
  header: "File",
15441
15470
  accessorFn: (row) => {
15442
- return /* @__PURE__ */ jsx184(MyCenterFull, { children: /* @__PURE__ */ jsx184(MyButtonViewPDF, { id: row.id }) });
15471
+ return /* @__PURE__ */ jsx185(MyCenterFull, { children: /* @__PURE__ */ jsx185(MyButtonViewFileAPI, { filePath: row.path }) });
15443
15472
  }
15444
15473
  }
15445
15474
  ],
15446
15475
  []
15447
15476
  );
15448
- return /* @__PURE__ */ jsx184(
15477
+ return /* @__PURE__ */ jsx185(
15449
15478
  MyDataTable,
15450
15479
  {
15451
15480
  isLoading: query.isLoading,
15452
15481
  isError: query.isError,
15453
15482
  columns,
15454
15483
  data: query.data || [],
15455
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx184(F_securityPolicyDocs_Create, { SecurityTypeId }),
15484
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx185(F_securityPolicyDocs_Create, { SecurityTypeId }),
15456
15485
  renderRowActions: ({ row }) => {
15457
15486
  var _a;
15458
15487
  return /* @__PURE__ */ jsxs103(MyCenterFull, { children: [
15459
- /* @__PURE__ */ jsx184(F_securityPolicyDocs_Update, { values: row.original }),
15460
- /* @__PURE__ */ jsx184(
15488
+ /* @__PURE__ */ jsx185(F_securityPolicyDocs_Update, { values: row.original }),
15489
+ /* @__PURE__ */ jsx185(
15461
15490
  F_securityPolicyDocs_Delete,
15462
15491
  {
15463
15492
  id: row.original.id,
@@ -15471,9 +15500,9 @@ function F_securityPolicyDocs_Read({ SecurityTypeId }) {
15471
15500
  }
15472
15501
 
15473
15502
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs.tsx
15474
- import { jsx as jsx185 } from "react/jsx-runtime";
15503
+ import { jsx as jsx186 } from "react/jsx-runtime";
15475
15504
  function F_securityPolicyDocs({ SecurityTypeId }) {
15476
- return /* @__PURE__ */ jsx185(F_securityPolicyDocs_Read, { SecurityTypeId });
15505
+ return /* @__PURE__ */ jsx186(F_securityPolicyDocs_Read, { SecurityTypeId });
15477
15506
  }
15478
15507
 
15479
15508
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs.tsx
@@ -15482,7 +15511,7 @@ import { useMemo as useMemo29 } from "react";
15482
15511
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Create.tsx
15483
15512
  import { FileInput as FileInput12, Textarea as Textarea6 } from "@mantine/core";
15484
15513
  import { useForm as useForm34 } from "@mantine/form";
15485
- import { jsx as jsx186, jsxs as jsxs104 } from "react/jsx-runtime";
15514
+ import { jsx as jsx187, jsxs as jsxs104 } from "react/jsx-runtime";
15486
15515
  function F_systemUpdateDocs_Create({
15487
15516
  RefinementTypeId
15488
15517
  }) {
@@ -15510,43 +15539,43 @@ function F_systemUpdateDocs_Create({
15510
15539
  return service_document.create(body);
15511
15540
  },
15512
15541
  children: [
15513
- /* @__PURE__ */ jsx186(
15542
+ /* @__PURE__ */ jsx187(
15514
15543
  MyDateInput,
15515
15544
  __spreadValues({
15516
15545
  withAsterisk: true,
15517
15546
  label: "Ng\xE0y h\u1ECDp"
15518
15547
  }, form.getInputProps("meetingDate"))
15519
15548
  ),
15520
- /* @__PURE__ */ jsx186(
15549
+ /* @__PURE__ */ jsx187(
15521
15550
  MyTextInput,
15522
15551
  __spreadValues({
15523
15552
  withAsterisk: true,
15524
15553
  label: "\u0110\u01A1n v\u1ECB y\xEAu c\u1EA7u"
15525
15554
  }, form.getInputProps("departmentName"))
15526
15555
  ),
15527
- /* @__PURE__ */ jsx186(
15556
+ /* @__PURE__ */ jsx187(
15528
15557
  MyTextInput,
15529
15558
  __spreadValues({
15530
15559
  withAsterisk: true,
15531
15560
  label: "N\u1ED9i dung c\u1EA3i ti\u1EBFn"
15532
15561
  }, form.getInputProps("description"))
15533
15562
  ),
15534
- /* @__PURE__ */ jsx186(MyTextInput, __spreadValues({ label: "K\u1EBFt lu\u1EADn" }, form.getInputProps("conclusion"))),
15535
- /* @__PURE__ */ jsx186(
15563
+ /* @__PURE__ */ jsx187(MyTextInput, __spreadValues({ label: "K\u1EBFt lu\u1EADn" }, form.getInputProps("conclusion"))),
15564
+ /* @__PURE__ */ jsx187(
15536
15565
  MyDateInput,
15537
15566
  __spreadValues({
15538
15567
  withAsterisk: true,
15539
15568
  label: "Ng\xE0y b\u1EAFt \u0111\u1EA7u"
15540
15569
  }, form.getInputProps("startDate"))
15541
15570
  ),
15542
- /* @__PURE__ */ jsx186(
15571
+ /* @__PURE__ */ jsx187(
15543
15572
  MyDateInput,
15544
15573
  __spreadValues({
15545
15574
  withAsterisk: true,
15546
15575
  label: "Ng\xE0y k\u1EBFt th\xFAc"
15547
15576
  }, form.getInputProps("endDate"))
15548
15577
  ),
15549
- /* @__PURE__ */ jsx186(
15578
+ /* @__PURE__ */ jsx187(
15550
15579
  FileInput12,
15551
15580
  __spreadValues({
15552
15581
  placeholder: "T\u1EA3i l\xEAn t\xE0i li\u1EC7u",
@@ -15554,19 +15583,19 @@ function F_systemUpdateDocs_Create({
15554
15583
  label: "T\xE0i li\u1EC7u"
15555
15584
  }, form.getInputProps("file"))
15556
15585
  ),
15557
- /* @__PURE__ */ jsx186(Textarea6, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note")))
15586
+ /* @__PURE__ */ jsx187(Textarea6, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note")))
15558
15587
  ]
15559
15588
  }
15560
15589
  );
15561
15590
  }
15562
15591
 
15563
15592
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Delete.tsx
15564
- import { jsx as jsx187 } from "react/jsx-runtime";
15593
+ import { jsx as jsx188 } from "react/jsx-runtime";
15565
15594
  function F_systemUpdateDocs_Delete({
15566
15595
  id,
15567
15596
  contextData
15568
15597
  }) {
15569
- return /* @__PURE__ */ jsx187(
15598
+ return /* @__PURE__ */ jsx188(
15570
15599
  MyActionIconDelete,
15571
15600
  {
15572
15601
  contextData,
@@ -15578,7 +15607,7 @@ function F_systemUpdateDocs_Delete({
15578
15607
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Update.tsx
15579
15608
  import { FileInput as FileInput13, Textarea as Textarea7 } from "@mantine/core";
15580
15609
  import { useForm as useForm35 } from "@mantine/form";
15581
- import { jsx as jsx188, jsxs as jsxs105 } from "react/jsx-runtime";
15610
+ import { jsx as jsx189, jsxs as jsxs105 } from "react/jsx-runtime";
15582
15611
  function F_systemUpdateDocs_Update({ values }) {
15583
15612
  var _a;
15584
15613
  const form = useForm35({
@@ -15612,43 +15641,43 @@ function F_systemUpdateDocs_Update({ values }) {
15612
15641
  return service_document.update(body);
15613
15642
  },
15614
15643
  children: [
15615
- /* @__PURE__ */ jsx188(
15644
+ /* @__PURE__ */ jsx189(
15616
15645
  MyDateInput,
15617
15646
  __spreadValues({
15618
15647
  withAsterisk: true,
15619
15648
  label: "Ng\xE0y h\u1ECDp"
15620
15649
  }, form.getInputProps("meetingDate"))
15621
15650
  ),
15622
- /* @__PURE__ */ jsx188(
15651
+ /* @__PURE__ */ jsx189(
15623
15652
  MyTextInput,
15624
15653
  __spreadValues({
15625
15654
  withAsterisk: true,
15626
15655
  label: "\u0110\u01A1n v\u1ECB y\xEAu c\u1EA7u"
15627
15656
  }, form.getInputProps("departmentName"))
15628
15657
  ),
15629
- /* @__PURE__ */ jsx188(
15658
+ /* @__PURE__ */ jsx189(
15630
15659
  MyTextInput,
15631
15660
  __spreadValues({
15632
15661
  withAsterisk: true,
15633
15662
  label: "N\u1ED9i dung c\u1EA3i ti\u1EBFn"
15634
15663
  }, form.getInputProps("description"))
15635
15664
  ),
15636
- /* @__PURE__ */ jsx188(MyTextInput, __spreadValues({ label: "K\u1EBFt lu\u1EADn" }, form.getInputProps("conclusion"))),
15637
- /* @__PURE__ */ jsx188(
15665
+ /* @__PURE__ */ jsx189(MyTextInput, __spreadValues({ label: "K\u1EBFt lu\u1EADn" }, form.getInputProps("conclusion"))),
15666
+ /* @__PURE__ */ jsx189(
15638
15667
  MyDateInput,
15639
15668
  __spreadValues({
15640
15669
  withAsterisk: true,
15641
15670
  label: "Ng\xE0y b\u1EAFt \u0111\u1EA7u"
15642
15671
  }, form.getInputProps("startDate"))
15643
15672
  ),
15644
- /* @__PURE__ */ jsx188(
15673
+ /* @__PURE__ */ jsx189(
15645
15674
  MyDateInput,
15646
15675
  __spreadValues({
15647
15676
  withAsterisk: true,
15648
15677
  label: "Ng\xE0y k\u1EBFt th\xFAc"
15649
15678
  }, form.getInputProps("endDate"))
15650
15679
  ),
15651
- /* @__PURE__ */ jsx188(
15680
+ /* @__PURE__ */ jsx189(
15652
15681
  FileInput13,
15653
15682
  __spreadValues({
15654
15683
  placeholder: "T\u1EA3i l\xEAn t\xE0i li\u1EC7u",
@@ -15656,14 +15685,14 @@ function F_systemUpdateDocs_Update({ values }) {
15656
15685
  label: "T\xE0i li\u1EC7u"
15657
15686
  }, form.getInputProps("file"))
15658
15687
  ),
15659
- /* @__PURE__ */ jsx188(Textarea7, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note")))
15688
+ /* @__PURE__ */ jsx189(Textarea7, __spreadValues({ label: "Ghi ch\xFA" }, form.getInputProps("note")))
15660
15689
  ]
15661
15690
  }
15662
15691
  );
15663
15692
  }
15664
15693
 
15665
15694
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs.tsx
15666
- import { jsx as jsx189, jsxs as jsxs106 } from "react/jsx-runtime";
15695
+ import { jsx as jsx190, jsxs as jsxs106 } from "react/jsx-runtime";
15667
15696
  function F_systemUpdateDocs({ RefinementTypeId }) {
15668
15697
  const query = useMyReactQuery({
15669
15698
  queryKey: ["F_systemUpdateDocs_Read"],
@@ -15681,33 +15710,33 @@ function F_systemUpdateDocs({ RefinementTypeId }) {
15681
15710
  },
15682
15711
  {
15683
15712
  header: "Ng\xE0y b\u1EAFt \u0111\u1EA7u",
15684
- accessorFn: (row) => utils_date_dateToDDMMYYYString(new Date(row.startDate))
15713
+ accessorFn: (row) => utils_date.toDDMMYYYY(new Date(row.startDate))
15685
15714
  },
15686
15715
  {
15687
15716
  header: "Ng\xE0y k\u1EBFt th\xFAc",
15688
- accessorFn: (row) => utils_date_dateToDDMMYYYString(new Date(row.endDate))
15717
+ accessorFn: (row) => utils_date.toDDMMYYYY(new Date(row.endDate))
15689
15718
  },
15690
15719
  {
15691
15720
  header: "File",
15692
15721
  accessorFn: (row) => {
15693
- return /* @__PURE__ */ jsx189(MyCenterFull, { children: /* @__PURE__ */ jsx189(MyButtonViewPDF, { id: row.id }) });
15722
+ return /* @__PURE__ */ jsx190(MyCenterFull, { children: /* @__PURE__ */ jsx190(MyButtonViewFileAPI, { filePath: row.path }) });
15694
15723
  }
15695
15724
  }
15696
15725
  ],
15697
15726
  []
15698
15727
  );
15699
- return /* @__PURE__ */ jsx189(
15728
+ return /* @__PURE__ */ jsx190(
15700
15729
  MyDataTable,
15701
15730
  {
15702
15731
  isLoading: query.isLoading,
15703
15732
  isError: query.isError,
15704
15733
  columns,
15705
15734
  data: query.data || [],
15706
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx189(F_systemUpdateDocs_Create, { RefinementTypeId }),
15735
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx190(F_systemUpdateDocs_Create, { RefinementTypeId }),
15707
15736
  renderRowActions: ({ row }) => {
15708
15737
  return /* @__PURE__ */ jsxs106(MyCenterFull, { children: [
15709
- /* @__PURE__ */ jsx189(F_systemUpdateDocs_Update, { values: row.original }),
15710
- /* @__PURE__ */ jsx189(
15738
+ /* @__PURE__ */ jsx190(F_systemUpdateDocs_Update, { values: row.original }),
15739
+ /* @__PURE__ */ jsx190(
15711
15740
  F_systemUpdateDocs_Delete,
15712
15741
  {
15713
15742
  id: row.original.id,
@@ -15726,7 +15755,7 @@ import { useMemo as useMemo30 } from "react";
15726
15755
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Create.tsx
15727
15756
  import { FileInput as FileInput14 } from "@mantine/core";
15728
15757
  import { useForm as useForm36 } from "@mantine/form";
15729
- import { jsx as jsx190, jsxs as jsxs107 } from "react/jsx-runtime";
15758
+ import { jsx as jsx191, jsxs as jsxs107 } from "react/jsx-runtime";
15730
15759
  function F_userGuideDocs_Create({ GuidelineTypeId }) {
15731
15760
  const form = useForm36({
15732
15761
  mode: "uncontrolled",
@@ -15749,21 +15778,21 @@ function F_userGuideDocs_Create({ GuidelineTypeId }) {
15749
15778
  return service_document.create(body);
15750
15779
  },
15751
15780
  children: [
15752
- /* @__PURE__ */ jsx190(
15781
+ /* @__PURE__ */ jsx191(
15753
15782
  MyTextInput,
15754
15783
  __spreadValues({
15755
15784
  withAsterisk: true,
15756
15785
  label: "M\xE3 t\xE0i li\u1EC7u"
15757
15786
  }, form.getInputProps("code"))
15758
15787
  ),
15759
- /* @__PURE__ */ jsx190(
15788
+ /* @__PURE__ */ jsx191(
15760
15789
  MyTextInput,
15761
15790
  __spreadValues({
15762
15791
  withAsterisk: true,
15763
15792
  label: "T\xEAn t\xE0i li\u1EC7u"
15764
15793
  }, form.getInputProps("name"))
15765
15794
  ),
15766
- /* @__PURE__ */ jsx190(
15795
+ /* @__PURE__ */ jsx191(
15767
15796
  FileInput14,
15768
15797
  __spreadValues({
15769
15798
  withAsterisk: true,
@@ -15777,12 +15806,12 @@ function F_userGuideDocs_Create({ GuidelineTypeId }) {
15777
15806
  }
15778
15807
 
15779
15808
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Delete.tsx
15780
- import { jsx as jsx191 } from "react/jsx-runtime";
15809
+ import { jsx as jsx192 } from "react/jsx-runtime";
15781
15810
  function F_userGuideDocs_Delete({
15782
15811
  id,
15783
15812
  contextData
15784
15813
  }) {
15785
- return /* @__PURE__ */ jsx191(
15814
+ return /* @__PURE__ */ jsx192(
15786
15815
  MyActionIconDelete,
15787
15816
  {
15788
15817
  contextData,
@@ -15794,7 +15823,7 @@ function F_userGuideDocs_Delete({
15794
15823
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Update.tsx
15795
15824
  import { FileInput as FileInput15 } from "@mantine/core";
15796
15825
  import { useForm as useForm37 } from "@mantine/form";
15797
- import { jsx as jsx192, jsxs as jsxs108 } from "react/jsx-runtime";
15826
+ import { jsx as jsx193, jsxs as jsxs108 } from "react/jsx-runtime";
15798
15827
  function F_userGuideDocs_Update({ values }) {
15799
15828
  var _a;
15800
15829
  const form = useForm37({
@@ -15822,7 +15851,7 @@ function F_userGuideDocs_Update({ values }) {
15822
15851
  return service_document.update(body);
15823
15852
  },
15824
15853
  children: [
15825
- /* @__PURE__ */ jsx192(
15854
+ /* @__PURE__ */ jsx193(
15826
15855
  MyTextInput,
15827
15856
  __spreadValues({
15828
15857
  withAsterisk: true,
@@ -15830,14 +15859,14 @@ function F_userGuideDocs_Update({ values }) {
15830
15859
  label: "M\xE3 t\xE0i li\u1EC7u"
15831
15860
  }, form.getInputProps("code"))
15832
15861
  ),
15833
- /* @__PURE__ */ jsx192(
15862
+ /* @__PURE__ */ jsx193(
15834
15863
  MyTextInput,
15835
15864
  __spreadValues({
15836
15865
  withAsterisk: true,
15837
15866
  label: "T\xEAn t\xE0i li\u1EC7u"
15838
15867
  }, form.getInputProps("name"))
15839
15868
  ),
15840
- /* @__PURE__ */ jsx192(
15869
+ /* @__PURE__ */ jsx193(
15841
15870
  FileInput15,
15842
15871
  __spreadValues({
15843
15872
  withAsterisk: true,
@@ -15851,7 +15880,7 @@ function F_userGuideDocs_Update({ values }) {
15851
15880
  }
15852
15881
 
15853
15882
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Read.tsx
15854
- import { jsx as jsx193, jsxs as jsxs109 } from "react/jsx-runtime";
15883
+ import { jsx as jsx194, jsxs as jsxs109 } from "react/jsx-runtime";
15855
15884
  function F_userGuideDocs_Read({ GuidelineTypeId }) {
15856
15885
  const query = useMyReactQuery({
15857
15886
  queryKey: ["F_userGuideDocs_Read"],
@@ -15870,24 +15899,24 @@ function F_userGuideDocs_Read({ GuidelineTypeId }) {
15870
15899
  {
15871
15900
  header: "File",
15872
15901
  accessorFn: (row) => {
15873
- return /* @__PURE__ */ jsx193(MyCenterFull, { children: /* @__PURE__ */ jsx193(MyButtonViewPDF, { id: row.id }) });
15902
+ return /* @__PURE__ */ jsx194(MyCenterFull, { children: /* @__PURE__ */ jsx194(MyButtonViewFileAPI, { filePath: row.path }) });
15874
15903
  }
15875
15904
  }
15876
15905
  ],
15877
15906
  []
15878
15907
  );
15879
- return /* @__PURE__ */ jsx193(
15908
+ return /* @__PURE__ */ jsx194(
15880
15909
  MyDataTable,
15881
15910
  {
15882
15911
  isLoading: query.isLoading,
15883
15912
  isError: query.isError,
15884
15913
  columns,
15885
15914
  data: query.data || [],
15886
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx193(F_userGuideDocs_Create, { GuidelineTypeId }),
15915
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx194(F_userGuideDocs_Create, { GuidelineTypeId }),
15887
15916
  renderRowActions: ({ row }) => {
15888
15917
  return /* @__PURE__ */ jsxs109(MyCenterFull, { children: [
15889
- /* @__PURE__ */ jsx193(F_userGuideDocs_Update, { values: row.original }),
15890
- /* @__PURE__ */ jsx193(
15918
+ /* @__PURE__ */ jsx194(F_userGuideDocs_Update, { values: row.original }),
15919
+ /* @__PURE__ */ jsx194(
15891
15920
  F_userGuideDocs_Delete,
15892
15921
  {
15893
15922
  id: row.original.id,
@@ -15901,9 +15930,9 @@ function F_userGuideDocs_Read({ GuidelineTypeId }) {
15901
15930
  }
15902
15931
 
15903
15932
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs.tsx
15904
- import { jsx as jsx194 } from "react/jsx-runtime";
15933
+ import { jsx as jsx195 } from "react/jsx-runtime";
15905
15934
  function F_userGuideDocs({ GuidelineTypeId }) {
15906
- return /* @__PURE__ */ jsx194(F_userGuideDocs_Read, { GuidelineTypeId });
15935
+ return /* @__PURE__ */ jsx195(F_userGuideDocs_Read, { GuidelineTypeId });
15907
15936
  }
15908
15937
 
15909
15938
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs.tsx
@@ -15911,7 +15940,7 @@ import { Space as Space8 } from "@mantine/core";
15911
15940
 
15912
15941
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Create.tsx
15913
15942
  import { useForm as useForm38 } from "@mantine/form";
15914
- import { jsx as jsx195, jsxs as jsxs110 } from "react/jsx-runtime";
15943
+ import { jsx as jsx196, jsxs as jsxs110 } from "react/jsx-runtime";
15915
15944
  function F_workflowProcessDocs_Create({
15916
15945
  WorkflowTypeId
15917
15946
  }) {
@@ -15938,28 +15967,28 @@ function F_workflowProcessDocs_Create({
15938
15967
  return service_document.create(body);
15939
15968
  },
15940
15969
  children: [
15941
- /* @__PURE__ */ jsx195(
15970
+ /* @__PURE__ */ jsx196(
15942
15971
  MyTextInput,
15943
15972
  __spreadValues({
15944
15973
  withAsterisk: true,
15945
15974
  label: "S\u1ED1 quy \u0111\u1ECBnh"
15946
15975
  }, form.getInputProps("decisionCode"))
15947
15976
  ),
15948
- /* @__PURE__ */ jsx195(
15977
+ /* @__PURE__ */ jsx196(
15949
15978
  MyDateInput,
15950
15979
  __spreadValues({
15951
15980
  withAsterisk: true,
15952
15981
  label: "Ng\xE0y ban h\xE0nh"
15953
15982
  }, form.getInputProps("promulgateDate"))
15954
15983
  ),
15955
- /* @__PURE__ */ jsx195(
15984
+ /* @__PURE__ */ jsx196(
15956
15985
  MyTextInput,
15957
15986
  __spreadValues({
15958
15987
  withAsterisk: true,
15959
15988
  label: "T\xEAn t\xE0i li\u1EC7u"
15960
15989
  }, form.getInputProps("name"))
15961
15990
  ),
15962
- /* @__PURE__ */ jsx195(
15991
+ /* @__PURE__ */ jsx196(
15963
15992
  F_core18256_Select,
15964
15993
  __spreadValues({
15965
15994
  withAsterisk: true,
@@ -15967,14 +15996,14 @@ function F_workflowProcessDocs_Create({
15967
15996
  documentTypeId: WorkflowTypeId
15968
15997
  }, form.getInputProps("documentAttributeId"))
15969
15998
  ),
15970
- /* @__PURE__ */ jsx195(
15999
+ /* @__PURE__ */ jsx196(
15971
16000
  MyFileInput,
15972
16001
  __spreadValues({
15973
16002
  withAsterisk: true,
15974
16003
  label: "V\u0103n b\u1EA3n"
15975
16004
  }, form.getInputProps("file"))
15976
16005
  ),
15977
- /* @__PURE__ */ jsx195(
16006
+ /* @__PURE__ */ jsx196(
15978
16007
  MyNumberInput,
15979
16008
  __spreadValues({
15980
16009
  label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
@@ -15991,12 +16020,12 @@ import { IconBug as IconBug7 } from "@tabler/icons-react";
15991
16020
  import { useEffect as useEffect34, useMemo as useMemo31, useState as useState28 } from "react";
15992
16021
 
15993
16022
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Delete.tsx
15994
- import { jsx as jsx196 } from "react/jsx-runtime";
16023
+ import { jsx as jsx197 } from "react/jsx-runtime";
15995
16024
  function F_workflowProcessDocs_Delete({
15996
16025
  id,
15997
16026
  contextData
15998
16027
  }) {
15999
- return /* @__PURE__ */ jsx196(
16028
+ return /* @__PURE__ */ jsx197(
16000
16029
  MyActionIconDelete,
16001
16030
  {
16002
16031
  contextData,
@@ -16007,7 +16036,7 @@ function F_workflowProcessDocs_Delete({
16007
16036
 
16008
16037
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Update.tsx
16009
16038
  import { useForm as useForm39 } from "@mantine/form";
16010
- import { jsx as jsx197, jsxs as jsxs111 } from "react/jsx-runtime";
16039
+ import { jsx as jsx198, jsxs as jsxs111 } from "react/jsx-runtime";
16011
16040
  function F_workflowProcessDocs_Update({
16012
16041
  values,
16013
16042
  WorkflowTypeId
@@ -16040,7 +16069,7 @@ function F_workflowProcessDocs_Update({
16040
16069
  return service_document.update(body);
16041
16070
  },
16042
16071
  children: [
16043
- /* @__PURE__ */ jsx197(
16072
+ /* @__PURE__ */ jsx198(
16044
16073
  MyTextInput,
16045
16074
  __spreadValues({
16046
16075
  withAsterisk: true,
@@ -16048,21 +16077,21 @@ function F_workflowProcessDocs_Update({
16048
16077
  label: "S\u1ED1 quy \u0111\u1ECBnh"
16049
16078
  }, form.getInputProps("decisionCode"))
16050
16079
  ),
16051
- /* @__PURE__ */ jsx197(
16080
+ /* @__PURE__ */ jsx198(
16052
16081
  MyDateInput,
16053
16082
  __spreadValues({
16054
16083
  withAsterisk: true,
16055
16084
  label: "Ng\xE0y ban h\xE0nh"
16056
16085
  }, form.getInputProps("promulgateDate"))
16057
16086
  ),
16058
- /* @__PURE__ */ jsx197(
16087
+ /* @__PURE__ */ jsx198(
16059
16088
  MyTextInput,
16060
16089
  __spreadValues({
16061
16090
  withAsterisk: true,
16062
16091
  label: "T\xEAn t\xE0i li\u1EC7u"
16063
16092
  }, form.getInputProps("name"))
16064
16093
  ),
16065
- /* @__PURE__ */ jsx197(
16094
+ /* @__PURE__ */ jsx198(
16066
16095
  F_core18256_Select,
16067
16096
  __spreadValues({
16068
16097
  withAsterisk: true,
@@ -16070,14 +16099,14 @@ function F_workflowProcessDocs_Update({
16070
16099
  documentTypeId: WorkflowTypeId
16071
16100
  }, form.getInputProps("documentAttributeId"))
16072
16101
  ),
16073
- /* @__PURE__ */ jsx197(
16102
+ /* @__PURE__ */ jsx198(
16074
16103
  MyFileInput,
16075
16104
  __spreadValues({
16076
16105
  withAsterisk: true,
16077
16106
  label: "V\u0103n b\u1EA3n"
16078
16107
  }, form.getInputProps("file"))
16079
16108
  ),
16080
- /* @__PURE__ */ jsx197(
16109
+ /* @__PURE__ */ jsx198(
16081
16110
  MyNumberInput,
16082
16111
  __spreadValues({
16083
16112
  label: "Th\u1EE9 t\u1EF1 hi\u1EC3n th\u1ECB tr\xEAn danh s\xE1ch"
@@ -16089,7 +16118,7 @@ function F_workflowProcessDocs_Update({
16089
16118
  }
16090
16119
 
16091
16120
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Read.tsx
16092
- import { jsx as jsx198, jsxs as jsxs112 } from "react/jsx-runtime";
16121
+ import { jsx as jsx199, jsxs as jsxs112 } from "react/jsx-runtime";
16093
16122
  function F_workflowProcessDocs_Read({
16094
16123
  WorkflowTypeId
16095
16124
  }) {
@@ -16109,10 +16138,10 @@ function F_workflowProcessDocs_Read({
16109
16138
  }
16110
16139
  }, [documentAttributeQuery.data]);
16111
16140
  if (((_a = documentAttributeQuery.data) == null ? void 0 : _a.length) == 0)
16112
- return /* @__PURE__ */ jsx198(Blockquote6, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
16141
+ return /* @__PURE__ */ jsx199(Blockquote6, { color: "yellow", children: "Ch\u01B0a c\xF3 lo\u1EA1i v\u0103n b\u1EA3n" });
16113
16142
  if (documentAttributeQuery.isError)
16114
- return /* @__PURE__ */ jsx198(Alert7, { icon: /* @__PURE__ */ jsx198(IconBug7, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
16115
- return /* @__PURE__ */ jsx198(Skeleton7, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx198(MyFlexColumn, { children: /* @__PURE__ */ jsx198(
16143
+ return /* @__PURE__ */ jsx199(Alert7, { icon: /* @__PURE__ */ jsx199(IconBug7, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" });
16144
+ return /* @__PURE__ */ jsx199(Skeleton7, { h: 500, visible: documentAttributeQuery.isLoading, children: /* @__PURE__ */ jsx199(MyFlexColumn, { children: /* @__PURE__ */ jsx199(
16116
16145
  Accordion6,
16117
16146
  {
16118
16147
  variant: "separated",
@@ -16125,7 +16154,7 @@ function F_workflowProcessDocs_Read({
16125
16154
  value: openItems,
16126
16155
  onChange: setOpenItems,
16127
16156
  multiple: true,
16128
- children: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map((item, idx) => /* @__PURE__ */ jsx198(
16157
+ children: (_b = documentAttributeQuery.data) == null ? void 0 : _b.map((item, idx) => /* @__PURE__ */ jsx199(
16129
16158
  SubRead6,
16130
16159
  {
16131
16160
  name: item.name,
@@ -16163,15 +16192,15 @@ function SubRead6({
16163
16192
  {
16164
16193
  header: "File",
16165
16194
  accessorFn: (row) => {
16166
- return /* @__PURE__ */ jsx198(MyCenterFull, { children: /* @__PURE__ */ jsx198(MyButtonViewPDF, { id: row.id }) });
16195
+ return /* @__PURE__ */ jsx199(MyCenterFull, { children: /* @__PURE__ */ jsx199(MyButtonViewFileAPI, { filePath: row.path }) });
16167
16196
  }
16168
16197
  }
16169
16198
  ],
16170
16199
  []
16171
16200
  );
16172
- return /* @__PURE__ */ jsx198(Skeleton7, { mt: 10, visible: documentQuery.isLoading, children: /* @__PURE__ */ jsxs112(Accordion6.Item, { value: id.toString(), children: [
16173
- /* @__PURE__ */ jsx198(Accordion6.Control, { children: name }),
16174
- /* @__PURE__ */ jsx198(Accordion6.Panel, { children: /* @__PURE__ */ jsx198(
16201
+ return /* @__PURE__ */ jsx199(Skeleton7, { mt: 10, visible: documentQuery.isLoading, children: /* @__PURE__ */ jsxs112(Accordion6.Item, { value: id.toString(), children: [
16202
+ /* @__PURE__ */ jsx199(Accordion6.Control, { children: name }),
16203
+ /* @__PURE__ */ jsx199(Accordion6.Panel, { children: /* @__PURE__ */ jsx199(
16175
16204
  MyDataTable,
16176
16205
  {
16177
16206
  isLoading: documentQuery.isLoading,
@@ -16179,14 +16208,14 @@ function SubRead6({
16179
16208
  columns,
16180
16209
  data: documentQuery.data || [],
16181
16210
  renderRowActions: ({ row }) => /* @__PURE__ */ jsxs112(MyCenterFull, { children: [
16182
- /* @__PURE__ */ jsx198(
16211
+ /* @__PURE__ */ jsx199(
16183
16212
  F_workflowProcessDocs_Update,
16184
16213
  {
16185
16214
  WorkflowTypeId,
16186
16215
  values: row.original
16187
16216
  }
16188
16217
  ),
16189
- /* @__PURE__ */ jsx198(
16218
+ /* @__PURE__ */ jsx199(
16190
16219
  F_workflowProcessDocs_Delete,
16191
16220
  {
16192
16221
  id: row.original.id,
@@ -16200,14 +16229,14 @@ function SubRead6({
16200
16229
  }
16201
16230
 
16202
16231
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs.tsx
16203
- import { Fragment as Fragment26, jsx as jsx199, jsxs as jsxs113 } from "react/jsx-runtime";
16232
+ import { Fragment as Fragment26, jsx as jsx200, jsxs as jsxs113 } from "react/jsx-runtime";
16204
16233
  function F_workflowProcessDocs({
16205
16234
  WorkflowTypeId
16206
16235
  }) {
16207
16236
  return /* @__PURE__ */ jsxs113(Fragment26, { children: [
16208
- /* @__PURE__ */ jsx199(MyFlexEnd, { children: /* @__PURE__ */ jsx199(F_workflowProcessDocs_Create, { WorkflowTypeId }) }),
16209
- /* @__PURE__ */ jsx199(Space8, {}),
16210
- /* @__PURE__ */ jsx199(F_workflowProcessDocs_Read, { WorkflowTypeId })
16237
+ /* @__PURE__ */ jsx200(MyFlexEnd, { children: /* @__PURE__ */ jsx200(F_workflowProcessDocs_Create, { WorkflowTypeId }) }),
16238
+ /* @__PURE__ */ jsx200(Space8, {}),
16239
+ /* @__PURE__ */ jsx200(F_workflowProcessDocs_Read, { WorkflowTypeId })
16211
16240
  ] });
16212
16241
  }
16213
16242
 
@@ -16243,7 +16272,7 @@ function useStore_Authenticate() {
16243
16272
  }
16244
16273
 
16245
16274
  // src/modules-features/authenticate/Feat_Authenticate_Login.tsx
16246
- import { jsx as jsx200, jsxs as jsxs114 } from "react/jsx-runtime";
16275
+ import { jsx as jsx201, jsxs as jsxs114 } from "react/jsx-runtime";
16247
16276
  function Feat_Authenticate_Login({
16248
16277
  header,
16249
16278
  redirectUrlAfterLogin = "/admin/dashboard",
@@ -16333,15 +16362,15 @@ function Feat_Authenticate_Login({
16333
16362
  }
16334
16363
  });
16335
16364
  }
16336
- return /* @__PURE__ */ jsx200(
16365
+ return /* @__PURE__ */ jsx201(
16337
16366
  BackgroundImage,
16338
16367
  {
16339
16368
  src: backgroundImage,
16340
16369
  h: "100vh",
16341
- children: /* @__PURE__ */ jsx200(Center11, { h: "100vh", children: /* @__PURE__ */ jsxs114(Paper13, { withBorder: true, w: 400, m: "md", shadow: "md", p: 30, mt: 30, radius: "md", children: [
16342
- header ? header : /* @__PURE__ */ jsx200(Flex10, { direction: "column", mb: "md", children: /* @__PURE__ */ jsx200(Title2, { ta: "center", fw: "900", children: "\u0110\u0103ng nh\u1EADp!" }) }),
16343
- /* @__PURE__ */ jsx200("form", { onSubmit: form.onSubmit(async (values) => handleSubmit(values.username, values.password)), children: /* @__PURE__ */ jsxs114(MyFlexColumn, { children: [
16344
- /* @__PURE__ */ jsx200(
16370
+ children: /* @__PURE__ */ jsx201(Center11, { h: "100vh", children: /* @__PURE__ */ jsxs114(Paper13, { withBorder: true, w: 400, m: "md", shadow: "md", p: 30, mt: 30, radius: "md", children: [
16371
+ header ? header : /* @__PURE__ */ jsx201(Flex10, { direction: "column", mb: "md", children: /* @__PURE__ */ jsx201(Title2, { ta: "center", fw: "900", children: "\u0110\u0103ng nh\u1EADp!" }) }),
16372
+ /* @__PURE__ */ jsx201("form", { onSubmit: form.onSubmit(async (values) => handleSubmit(values.username, values.password)), children: /* @__PURE__ */ jsxs114(MyFlexColumn, { children: [
16373
+ /* @__PURE__ */ jsx201(
16345
16374
  TextInput10,
16346
16375
  __spreadProps(__spreadValues({}, form.getInputProps("username")), {
16347
16376
  label: "T\xE0i kho\u1EA3n",
@@ -16349,7 +16378,7 @@ function Feat_Authenticate_Login({
16349
16378
  withAsterisk: true
16350
16379
  })
16351
16380
  ),
16352
- /* @__PURE__ */ jsx200(
16381
+ /* @__PURE__ */ jsx201(
16353
16382
  PasswordInput3,
16354
16383
  __spreadProps(__spreadValues({}, form.getInputProps("password")), {
16355
16384
  label: "M\u1EADt kh\u1EA9u",
@@ -16358,7 +16387,7 @@ function Feat_Authenticate_Login({
16358
16387
  })
16359
16388
  ),
16360
16389
  /* @__PURE__ */ jsxs114(Group29, { justify: "space-between", children: [
16361
- showSaveLogin && /* @__PURE__ */ jsx200(
16390
+ showSaveLogin && /* @__PURE__ */ jsx201(
16362
16391
  Checkbox6,
16363
16392
  {
16364
16393
  checked: authenticateStore.state.saveLogin,
@@ -16366,9 +16395,9 @@ function Feat_Authenticate_Login({
16366
16395
  label: "L\u01B0u \u0111\u0103ng nh\u1EADp"
16367
16396
  }
16368
16397
  ),
16369
- showForgotPassword && /* @__PURE__ */ jsx200(Anchor2, { component: Link3, href: "quen-mat-khau", size: "sm", children: "Qu\xEAn m\u1EADt kh\u1EA9u?" })
16398
+ showForgotPassword && /* @__PURE__ */ jsx201(Anchor2, { component: Link3, href: "quen-mat-khau", size: "sm", children: "Qu\xEAn m\u1EADt kh\u1EA9u?" })
16370
16399
  ] }),
16371
- showLoginButton && /* @__PURE__ */ jsx200(
16400
+ showLoginButton && /* @__PURE__ */ jsx201(
16372
16401
  Button17,
16373
16402
  __spreadProps(__spreadValues({
16374
16403
  loading: mutation.isPending,
@@ -16389,16 +16418,16 @@ function Feat_Authenticate_Login({
16389
16418
  import { Button as Button18 } from "@mantine/core";
16390
16419
  import { IconLogout } from "@tabler/icons-react";
16391
16420
  import { useRouter as useRouter5 } from "next/navigation.js";
16392
- import { jsx as jsx201 } from "react/jsx-runtime";
16421
+ import { jsx as jsx202 } from "react/jsx-runtime";
16393
16422
  function Feat_Authenticate_Logout({ redirectURL = "/auth/login" }) {
16394
16423
  const router = useRouter5();
16395
16424
  const authenticateStore = useStore_Authenticate();
16396
16425
  const permissionStore = useStore_Permission();
16397
- return /* @__PURE__ */ jsx201(Button18, { onClick: () => {
16426
+ return /* @__PURE__ */ jsx202(Button18, { onClick: () => {
16398
16427
  authenticateStore.setState({});
16399
16428
  permissionStore.setState({});
16400
16429
  router.replace(redirectURL);
16401
- }, leftSection: /* @__PURE__ */ jsx201(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
16430
+ }, leftSection: /* @__PURE__ */ jsx202(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
16402
16431
  }
16403
16432
 
16404
16433
  // src/modules-features/authenticate/Feat_Authenticate_SSOHandler.tsx
@@ -16427,7 +16456,7 @@ function useAuthenticateManager() {
16427
16456
  }
16428
16457
 
16429
16458
  // src/modules-features/authenticate/Feat_Authenticate_SSOHandler.tsx
16430
- import { jsx as jsx202, jsxs as jsxs115 } from "react/jsx-runtime";
16459
+ import { jsx as jsx203, jsxs as jsxs115 } from "react/jsx-runtime";
16431
16460
  function Feat_Authenticate_SSOHandler({
16432
16461
  menuData,
16433
16462
  onSuccessNavigateFollowRole
@@ -16479,15 +16508,15 @@ function Feat_Authenticate_SSOHandler({
16479
16508
  }
16480
16509
  }
16481
16510
  return /* @__PURE__ */ jsxs115("div", { children: [
16482
- /* @__PURE__ */ jsx202("h2", { children: "\u0110ang \u0111\u0103ng nh\u1EADp b\u1EB1ng SSO..." }),
16483
- messError && /* @__PURE__ */ jsx202("p", { style: { color: "red" }, children: messError })
16511
+ /* @__PURE__ */ jsx203("h2", { children: "\u0110ang \u0111\u0103ng nh\u1EADp b\u1EB1ng SSO..." }),
16512
+ messError && /* @__PURE__ */ jsx203("p", { style: { color: "red" }, children: messError })
16484
16513
  ] });
16485
16514
  }
16486
16515
 
16487
16516
  // src/modules-features/authenticate/F_authenticate_SplashPage.tsx
16488
16517
  import { useRouter as useRouter6 } from "next/navigation.js";
16489
16518
  import { useEffect as useEffect37 } from "react";
16490
- import { jsx as jsx203 } from "react/jsx-runtime";
16519
+ import { jsx as jsx204 } from "react/jsx-runtime";
16491
16520
  function F_authenticate_SplashPage() {
16492
16521
  const router = useRouter6();
16493
16522
  const authenticateStore = useStore_Authenticate();
@@ -16498,32 +16527,32 @@ function F_authenticate_SplashPage() {
16498
16527
  }
16499
16528
  router.push("/admin/core71678");
16500
16529
  }, [authenticateStore.state.token]);
16501
- return /* @__PURE__ */ jsx203(MyBoxesBackground, { title: "H\u1EC7 th\u1ED1ng th\xF4ng tin qu\u1EA3n l\xED \u0111\xE0o t\u1EA1o ng\u1EAFn h\u1EA1n" });
16530
+ return /* @__PURE__ */ jsx204(MyBoxesBackground, { title: "H\u1EC7 th\u1ED1ng th\xF4ng tin qu\u1EA3n l\xED \u0111\xE0o t\u1EA1o ng\u1EAFn h\u1EA1n" });
16502
16531
  }
16503
16532
 
16504
16533
  // src/modules-features/authenticate/tokenExpired/Feat_TokenExpired.tsx
16505
16534
  import { Button as Button19, Card as Card2, CardSection, Center as Center12, Text as Text20, Title as Title3 } from "@mantine/core";
16506
16535
  import { Clock, LogIn, Shield } from "lucide-react";
16507
- import { jsx as jsx204, jsxs as jsxs116 } from "react/jsx-runtime";
16536
+ import { jsx as jsx205, jsxs as jsxs116 } from "react/jsx-runtime";
16508
16537
  function Feat_TokenExpired({
16509
16538
  loginRedirect = "/auth/login"
16510
16539
  }) {
16511
16540
  const handleLogin = () => {
16512
16541
  window.location.href = loginRedirect;
16513
16542
  };
16514
- return /* @__PURE__ */ jsx204("div", { className: "min-h-screen flex items-center justify-center bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50 px-4 py-8", children: /* @__PURE__ */ jsxs116("div", { className: "w-full max-w-md", children: [
16543
+ return /* @__PURE__ */ jsx205("div", { className: "min-h-screen flex items-center justify-center bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50 px-4 py-8", children: /* @__PURE__ */ jsxs116("div", { className: "w-full max-w-md", children: [
16515
16544
  /* @__PURE__ */ jsxs116("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: [
16516
- /* @__PURE__ */ jsx204("div", { className: "absolute -top-40 -right-40 w-80 h-80 bg-gradient-to-br from-blue-200/30 to-purple-200/30 rounded-full blur-3xl" }),
16517
- /* @__PURE__ */ jsx204("div", { className: "absolute -bottom-40 -left-40 w-80 h-80 bg-gradient-to-tr from-indigo-200/30 to-pink-200/30 rounded-full blur-3xl" })
16545
+ /* @__PURE__ */ jsx205("div", { className: "absolute -top-40 -right-40 w-80 h-80 bg-gradient-to-br from-blue-200/30 to-purple-200/30 rounded-full blur-3xl" }),
16546
+ /* @__PURE__ */ jsx205("div", { className: "absolute -bottom-40 -left-40 w-80 h-80 bg-gradient-to-tr from-indigo-200/30 to-pink-200/30 rounded-full blur-3xl" })
16518
16547
  ] }),
16519
16548
  /* @__PURE__ */ jsxs116(Card2, { className: "relative backdrop-blur-sm bg-white/80 border-0 shadow-2xl shadow-blue-500/10 py-12 px-8 rounded-xl", children: [
16520
16549
  /* @__PURE__ */ jsxs116(CardSection, { className: "text-center space-y-6 pb-8", children: [
16521
- /* @__PURE__ */ jsx204("div", { className: "relative", children: /* @__PURE__ */ jsx204(Center12, { children: /* @__PURE__ */ jsx204("div", { className: "w-20 h-20 bg-gradient-to-br from-orange-400 to-red-500 rounded-full flex items-center justify-center shadow-lg shadow-orange-500/25 animate-pulse", children: /* @__PURE__ */ jsx204(Clock, { className: "w-10 h-10 text-white" }) }) }) }),
16550
+ /* @__PURE__ */ jsx205("div", { className: "relative", children: /* @__PURE__ */ jsx205(Center12, { children: /* @__PURE__ */ jsx205("div", { className: "w-20 h-20 bg-gradient-to-br from-orange-400 to-red-500 rounded-full flex items-center justify-center shadow-lg shadow-orange-500/25 animate-pulse", children: /* @__PURE__ */ jsx205(Clock, { className: "w-10 h-10 text-white" }) }) }) }),
16522
16551
  /* @__PURE__ */ jsxs116("div", { className: "space-y-3", children: [
16523
- /* @__PURE__ */ jsx204(Title3, { className: "text-3xl font-bold bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent", children: "Phi\xEAn \u0111\u0103ng nh\u1EADp \u0111\xE3 h\u1EBFt h\u1EA1n" }),
16552
+ /* @__PURE__ */ jsx205(Title3, { className: "text-3xl font-bold bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent", children: "Phi\xEAn \u0111\u0103ng nh\u1EADp \u0111\xE3 h\u1EBFt h\u1EA1n" }),
16524
16553
  /* @__PURE__ */ jsxs116(Text20, { className: "text-gray-600 text-base leading-relaxed px-2", children: [
16525
16554
  "Phi\xEAn l\xE0m vi\u1EC7c c\u1EE7a b\u1EA1n \u0111\xE3 h\u1EBFt h\u1EA1n v\xEC l\xFD do b\u1EA3o m\u1EADt.",
16526
- /* @__PURE__ */ jsx204("br", {}),
16555
+ /* @__PURE__ */ jsx205("br", {}),
16527
16556
  "Vui l\xF2ng \u0111\u0103ng nh\u1EADp l\u1EA1i \u0111\u1EC3 ti\u1EBFp t\u1EE5c s\u1EED d\u1EE5ng d\u1ECBch v\u1EE5."
16528
16557
  ] })
16529
16558
  ] })
@@ -16536,17 +16565,17 @@ function Feat_TokenExpired({
16536
16565
  className: "w-full h-12 bg-gradient-to-r from-blue-600 to-indigo-600 hover:from-blue-700 hover:to-indigo-700 text-white font-semibold rounded-xl shadow-lg shadow-blue-500/25 transition-all duration-300 hover:shadow-xl hover:shadow-blue-500/30 hover:scale-[1.02]",
16537
16566
  size: "lg",
16538
16567
  children: [
16539
- /* @__PURE__ */ jsx204(LogIn, { className: "w-5 h-5 mr-2" }),
16568
+ /* @__PURE__ */ jsx205(LogIn, { className: "w-5 h-5 mr-2" }),
16540
16569
  "\u0110\u0103ng nh\u1EADp l\u1EA1i"
16541
16570
  ]
16542
16571
  }
16543
16572
  ),
16544
- /* @__PURE__ */ jsx204("div", { className: "bg-gradient-to-r from-gray-50 to-blue-50 rounded-xl p-4 border border-gray-100", children: /* @__PURE__ */ jsxs116("div", { className: "text-center space-y-2", children: [
16545
- /* @__PURE__ */ jsx204("p", { className: "text-sm font-medium text-gray-700", children: "C\u1EA7n h\u1ED7 tr\u1EE3?" }),
16573
+ /* @__PURE__ */ jsx205("div", { className: "bg-gradient-to-r from-gray-50 to-blue-50 rounded-xl p-4 border border-gray-100", children: /* @__PURE__ */ jsxs116("div", { className: "text-center space-y-2", children: [
16574
+ /* @__PURE__ */ jsx205("p", { className: "text-sm font-medium text-gray-700", children: "C\u1EA7n h\u1ED7 tr\u1EE3?" }),
16546
16575
  /* @__PURE__ */ jsxs116("p", { className: "text-sm text-gray-600", children: [
16547
16576
  "Li\xEAn h\u1EC7",
16548
16577
  " ",
16549
- /* @__PURE__ */ jsx204(
16578
+ /* @__PURE__ */ jsx205(
16550
16579
  "a",
16551
16580
  {
16552
16581
  href: "/support",
@@ -16558,8 +16587,8 @@ function Feat_TokenExpired({
16558
16587
  "c\u1EE7a ch\xFAng t\xF4i"
16559
16588
  ] })
16560
16589
  ] }) }),
16561
- /* @__PURE__ */ jsx204("div", { className: "text-center", children: /* @__PURE__ */ jsxs116("p", { className: "text-xs text-gray-500 flex items-center justify-center gap-1", children: [
16562
- /* @__PURE__ */ jsx204(Shield, { className: "w-3 h-3" }),
16590
+ /* @__PURE__ */ jsx205("div", { className: "text-center", children: /* @__PURE__ */ jsxs116("p", { className: "text-xs text-gray-500 flex items-center justify-center gap-1", children: [
16591
+ /* @__PURE__ */ jsx205(Shield, { className: "w-3 h-3" }),
16563
16592
  "B\u1EA3o m\u1EADt t\xE0i kho\u1EA3n \u0111\u01B0\u1EE3c \u01B0u ti\xEAn h\xE0ng \u0111\u1EA7u"
16564
16593
  ] }) })
16565
16594
  ] })
@@ -16569,7 +16598,7 @@ function Feat_TokenExpired({
16569
16598
 
16570
16599
  // src/modules/User/components/AvatarMenu/User_AvatarMenu.tsx
16571
16600
  import { Avatar, Divider, Group as Group30, Menu, Text as Text21 } from "@mantine/core";
16572
- import { useDisclosure as useDisclosure18 } from "@mantine/hooks";
16601
+ import { useDisclosure as useDisclosure19 } from "@mantine/hooks";
16573
16602
  import { KeyRound } from "lucide-react";
16574
16603
 
16575
16604
  // src/modules/User/components/ForgotPassword/User_ForgotPasswordModal.tsx
@@ -16594,7 +16623,7 @@ function useForgotPassword() {
16594
16623
  }
16595
16624
 
16596
16625
  // src/modules/User/components/ForgotPassword/User_ForgotPasswordModal.tsx
16597
- import { jsx as jsx205, jsxs as jsxs117 } from "react/jsx-runtime";
16626
+ import { jsx as jsx206, jsxs as jsxs117 } from "react/jsx-runtime";
16598
16627
  var validationRules = {
16599
16628
  currentPassWord: (value) => !!value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
16600
16629
  newPassWord: (value) => !!value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
@@ -16622,34 +16651,34 @@ function User_ForgotPasswordModal({
16622
16651
  }
16623
16652
  );
16624
16653
  };
16625
- return /* @__PURE__ */ jsx205(
16654
+ return /* @__PURE__ */ jsx206(
16626
16655
  Modal14,
16627
16656
  {
16628
16657
  title: "\u0110\u1ED5i m\u1EADt kh\u1EA9u",
16629
16658
  opened: disc[0],
16630
16659
  onClose: disc[1].close,
16631
- children: /* @__PURE__ */ jsx205("form", { onSubmit: form.onSubmit(handleSubmit), children: /* @__PURE__ */ jsxs117(Stack11, { children: [
16632
- /* @__PURE__ */ jsx205(PasswordInput4, __spreadValues({ label: "M\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i", placeholder: "Nh\u1EADp m\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i" }, form.getInputProps("currentPassWord"))),
16633
- /* @__PURE__ */ jsx205(PasswordInput4, __spreadValues({ label: "M\u1EADt kh\u1EA9u m\u1EDBi", placeholder: "Nh\u1EADp m\u1EADt kh\u1EA9u m\u1EDBi" }, form.getInputProps("newPassWord"))),
16634
- /* @__PURE__ */ jsx205(PasswordInput4, __spreadValues({ label: "X\xE1c nh\u1EADn m\u1EADt kh\u1EA9u m\u1EDBi", placeholder: "Nh\u1EADp x\xE1c nh\u1EADn m\u1EADt kh\u1EA9u m\u1EDBi" }, form.getInputProps("confirmNewPassWord"))),
16635
- /* @__PURE__ */ jsx205(Button20, { loading, type: "submit", children: "\u0110\u1ED5i m\u1EADt kh\u1EA9u" })
16660
+ children: /* @__PURE__ */ jsx206("form", { onSubmit: form.onSubmit(handleSubmit), children: /* @__PURE__ */ jsxs117(Stack11, { children: [
16661
+ /* @__PURE__ */ jsx206(PasswordInput4, __spreadValues({ label: "M\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i", placeholder: "Nh\u1EADp m\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i" }, form.getInputProps("currentPassWord"))),
16662
+ /* @__PURE__ */ jsx206(PasswordInput4, __spreadValues({ label: "M\u1EADt kh\u1EA9u m\u1EDBi", placeholder: "Nh\u1EADp m\u1EADt kh\u1EA9u m\u1EDBi" }, form.getInputProps("newPassWord"))),
16663
+ /* @__PURE__ */ jsx206(PasswordInput4, __spreadValues({ label: "X\xE1c nh\u1EADn m\u1EADt kh\u1EA9u m\u1EDBi", placeholder: "Nh\u1EADp x\xE1c nh\u1EADn m\u1EADt kh\u1EA9u m\u1EDBi" }, form.getInputProps("confirmNewPassWord"))),
16664
+ /* @__PURE__ */ jsx206(Button20, { loading, type: "submit", children: "\u0110\u1ED5i m\u1EADt kh\u1EA9u" })
16636
16665
  ] }) })
16637
16666
  }
16638
16667
  );
16639
16668
  }
16640
16669
 
16641
16670
  // src/modules/User/components/AvatarMenu/User_AvatarMenu.tsx
16642
- import { Fragment as Fragment27, jsx as jsx206, jsxs as jsxs118 } from "react/jsx-runtime";
16671
+ import { Fragment as Fragment27, jsx as jsx207, jsxs as jsxs118 } from "react/jsx-runtime";
16643
16672
  function User_AvatarMenu() {
16644
16673
  var _a, _b;
16645
- const disc = useDisclosure18();
16674
+ const disc = useDisclosure19();
16646
16675
  const authenticateStore = useStore_Authenticate();
16647
16676
  const fullName = authenticateStore.state.fullName || null;
16648
16677
  const code = authenticateStore.state.code || null;
16649
16678
  const avatarLabel = ((_a = fullName == null ? void 0 : fullName[0]) == null ? void 0 : _a.toUpperCase()) || ((_b = code == null ? void 0 : code[0]) == null ? void 0 : _b.toUpperCase()) || "U";
16650
16679
  return /* @__PURE__ */ jsxs118(Fragment27, { children: [
16651
16680
  /* @__PURE__ */ jsxs118(Menu, { shadow: "md", width: 240, position: "bottom-end", offset: 8, children: [
16652
- /* @__PURE__ */ jsx206(Menu.Target, { children: /* @__PURE__ */ jsx206(
16681
+ /* @__PURE__ */ jsx207(Menu.Target, { children: /* @__PURE__ */ jsx207(
16653
16682
  Avatar,
16654
16683
  {
16655
16684
  radius: "xl",
@@ -16662,41 +16691,41 @@ function User_AvatarMenu() {
16662
16691
  }
16663
16692
  ) }),
16664
16693
  /* @__PURE__ */ jsxs118(Menu.Dropdown, { children: [
16665
- /* @__PURE__ */ jsx206(Menu.Label, { children: /* @__PURE__ */ jsxs118(Group30, { gap: "xs", children: [
16666
- /* @__PURE__ */ jsx206(Avatar, { size: "sm", radius: "xl", color: "green", children: avatarLabel }),
16694
+ /* @__PURE__ */ jsx207(Menu.Label, { children: /* @__PURE__ */ jsxs118(Group30, { gap: "xs", children: [
16695
+ /* @__PURE__ */ jsx207(Avatar, { size: "sm", radius: "xl", color: "green", children: avatarLabel }),
16667
16696
  /* @__PURE__ */ jsxs118("div", { children: [
16668
- /* @__PURE__ */ jsx206(Text21, { fw: 500, size: "sm", children: fullName }),
16697
+ /* @__PURE__ */ jsx207(Text21, { fw: 500, size: "sm", children: fullName }),
16669
16698
  /* @__PURE__ */ jsxs118(Text21, { size: "sm", c: "dimmed", children: [
16670
16699
  "T\xE0i kho\u1EA3n: ",
16671
16700
  code
16672
16701
  ] })
16673
16702
  ] })
16674
16703
  ] }) }),
16675
- /* @__PURE__ */ jsx206(Divider, { my: "xs" }),
16676
- /* @__PURE__ */ jsx206(
16704
+ /* @__PURE__ */ jsx207(Divider, { my: "xs" }),
16705
+ /* @__PURE__ */ jsx207(
16677
16706
  Menu.Item,
16678
16707
  {
16679
- leftSection: /* @__PURE__ */ jsx206(KeyRound, { size: 16 }),
16708
+ leftSection: /* @__PURE__ */ jsx207(KeyRound, { size: 16 }),
16680
16709
  onClick: disc[1].open,
16681
16710
  children: "\u0110\u1ED5i m\u1EADt kh\u1EA9u"
16682
16711
  }
16683
16712
  )
16684
16713
  ] })
16685
16714
  ] }),
16686
- /* @__PURE__ */ jsx206(User_ForgotPasswordModal, { disc })
16715
+ /* @__PURE__ */ jsx207(User_ForgotPasswordModal, { disc })
16687
16716
  ] });
16688
16717
  }
16689
16718
 
16690
16719
  // src/modules/User/components/SessionUserInfo/User_SessionUserInfo.tsx
16691
16720
  import { Card as Card3 } from "@mantine/core";
16692
- import { jsx as jsx207, jsxs as jsxs119 } from "react/jsx-runtime";
16721
+ import { jsx as jsx208, jsxs as jsxs119 } from "react/jsx-runtime";
16693
16722
  function User_SessionUserInfo() {
16694
16723
  const authenticateStore = useStore_Authenticate();
16695
16724
  const fullName = authenticateStore.state.fullName || null;
16696
16725
  const code = authenticateStore.state.code || null;
16697
16726
  return /* @__PURE__ */ jsxs119(Card3, { bg: const_object_colors.mantineBackgroundTealLight, children: [
16698
- /* @__PURE__ */ jsx207(MyLabelValueRow, { size: "sm", label: "T\xE0i kho\u1EA3n", value: code }),
16699
- /* @__PURE__ */ jsx207(MyLabelValueRow, { size: "sm", label: "H\u1ECD v\xE0 t\xEAn", value: fullName })
16727
+ /* @__PURE__ */ jsx208(MyLabelValueRow, { size: "sm", label: "T\xE0i kho\u1EA3n", value: code }),
16728
+ /* @__PURE__ */ jsx208(MyLabelValueRow, { size: "sm", label: "H\u1ECD v\xE0 t\xEAn", value: fullName })
16700
16729
  ] });
16701
16730
  }
16702
16731
 
@@ -16819,7 +16848,7 @@ function extractLinkedMenuItems(menu) {
16819
16848
  }
16820
16849
 
16821
16850
  // src/components/Layouts/BasicAppShell/BasicAppShell.tsx
16822
- import { jsx as jsx208, jsxs as jsxs120 } from "react/jsx-runtime";
16851
+ import { jsx as jsx209, jsxs as jsxs120 } from "react/jsx-runtime";
16823
16852
  function base64ToFaviconUrl(base64, ext) {
16824
16853
  const byteCharacters = atob(base64.trim());
16825
16854
  const byteArray = new Uint8Array([...byteCharacters].map((c4) => c4.charCodeAt(0)));
@@ -16924,25 +16953,25 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
16924
16953
  }
16925
16954
  }, [pathname, allChildItems, filteredMenu, readablePageIds, pageContentQuery.data]);
16926
16955
  const canAccess = isDev || isAccessible || permissionStore.state.isSuperAdmin;
16927
- const renderHeader = () => /* @__PURE__ */ jsx208(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs120(Group31, { h: "100%", px: "md", justify: "space-between", children: [
16956
+ const renderHeader = () => /* @__PURE__ */ jsx209(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs120(Group31, { h: "100%", px: "md", justify: "space-between", children: [
16928
16957
  /* @__PURE__ */ jsxs120(Group31, { h: "100%", children: [
16929
- /* @__PURE__ */ jsx208(Tooltip6, { label: appShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu", children: /* @__PURE__ */ jsx208(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx208(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx208(IconLayoutSidebarLeftCollapse, {}) }) }),
16930
- /* @__PURE__ */ jsx208(Tooltip6, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx208(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.clearGroupMenuOpenId, children: /* @__PURE__ */ jsx208(IconLibraryMinus, {}) }) })
16958
+ /* @__PURE__ */ jsx209(Tooltip6, { label: appShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu", children: /* @__PURE__ */ jsx209(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx209(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx209(IconLayoutSidebarLeftCollapse, {}) }) }),
16959
+ /* @__PURE__ */ jsx209(Tooltip6, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx209(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.clearGroupMenuOpenId, children: /* @__PURE__ */ jsx209(IconLibraryMinus, {}) }) })
16931
16960
  ] }),
16932
- /* @__PURE__ */ jsx208(Tooltip6, { label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`, children: /* @__PURE__ */ jsx208(Group31, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx208(Text22, { c: "green", fw: "bold", size: "sm", children: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}` }) }) }),
16961
+ /* @__PURE__ */ jsx209(Tooltip6, { label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`, children: /* @__PURE__ */ jsx209(Group31, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx209(Text22, { c: "green", fw: "bold", size: "sm", children: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}` }) }) }),
16933
16962
  /* @__PURE__ */ jsxs120(Group31, { children: [
16934
16963
  extraTopRight,
16935
- /* @__PURE__ */ jsx208(CustomSwitchTheme, {}),
16936
- /* @__PURE__ */ jsx208(User_AvatarMenu, {})
16964
+ /* @__PURE__ */ jsx209(CustomSwitchTheme, {}),
16965
+ /* @__PURE__ */ jsx209(User_AvatarMenu, {})
16937
16966
  ] })
16938
16967
  ] }) : /* @__PURE__ */ jsxs120(Group31, { h: "100%", px: "md", justify: "space-between", children: [
16939
- /* @__PURE__ */ jsx208(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx208(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx208(IconLayoutSidebarLeftCollapse, {}) }),
16940
- /* @__PURE__ */ jsx208(
16968
+ /* @__PURE__ */ jsx209(ActionIcon11, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx209(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx209(IconLayoutSidebarLeftCollapse, {}) }),
16969
+ /* @__PURE__ */ jsx209(
16941
16970
  Tooltip6,
16942
16971
  {
16943
16972
  label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`,
16944
16973
  withArrow: true,
16945
- children: /* @__PURE__ */ jsx208(
16974
+ children: /* @__PURE__ */ jsx209(
16946
16975
  Text22,
16947
16976
  {
16948
16977
  c: "green",
@@ -16965,8 +16994,8 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
16965
16994
  ),
16966
16995
  /* @__PURE__ */ jsxs120(Group31, { children: [
16967
16996
  extraTopRight,
16968
- /* @__PURE__ */ jsx208(CustomSwitchTheme, {}),
16969
- /* @__PURE__ */ jsx208(User_AvatarMenu, {})
16997
+ /* @__PURE__ */ jsx209(CustomSwitchTheme, {}),
16998
+ /* @__PURE__ */ jsx209(User_AvatarMenu, {})
16970
16999
  ] })
16971
17000
  ] }) });
16972
17001
  const renderNavbar = () => {
@@ -16975,15 +17004,15 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
16975
17004
  AppShell.Navbar,
16976
17005
  {
16977
17006
  children: [
16978
- /* @__PURE__ */ jsx208(MyAppSpotlight, { menu: filteredMenu }),
16979
- /* @__PURE__ */ jsx208(AppShell.Section, { grow: true, component: ScrollArea4, p: 5, pr: 20, type: "auto", children: /* @__PURE__ */ jsx208(RenderNavLinks, { items: filteredMenu }) }),
17007
+ /* @__PURE__ */ jsx209(MyAppSpotlight, { menu: filteredMenu }),
17008
+ /* @__PURE__ */ jsx209(AppShell.Section, { grow: true, component: ScrollArea4, p: 5, pr: 20, type: "auto", children: /* @__PURE__ */ jsx209(RenderNavLinks, { items: filteredMenu }) }),
16980
17009
  /* @__PURE__ */ jsxs120(AppShell.Section, { className: "rounded-tr-2xl shadow-[0_-4px_6px_rgba(0,0,0,0.1)]", style: {
16981
17010
  border: `1px solid ${colorScheme === "dark" ? "var(--mantine-color-dark-4)" : "var(--mantine-color-gray-3)"}`
16982
17011
  }, children: [
16983
- /* @__PURE__ */ jsx208(User_SessionUserInfo, {}),
16984
- /* @__PURE__ */ jsx208(Space9, { m: 4 }),
16985
- /* @__PURE__ */ jsx208(Feat_Authenticate_Logout, { redirectURL: logoutRedirect }),
16986
- /* @__PURE__ */ jsx208(Box7, { px: "md", children: /* @__PURE__ */ jsx208(
17012
+ /* @__PURE__ */ jsx209(User_SessionUserInfo, {}),
17013
+ /* @__PURE__ */ jsx209(Space9, { m: 4 }),
17014
+ /* @__PURE__ */ jsx209(Feat_Authenticate_Logout, { redirectURL: logoutRedirect }),
17015
+ /* @__PURE__ */ jsx209(Box7, { px: "md", children: /* @__PURE__ */ jsx209(
16987
17016
  Image4,
16988
17017
  {
16989
17018
  fit: "contain",
@@ -16998,9 +17027,9 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
16998
17027
  }
16999
17028
  );
17000
17029
  };
17001
- const renderMain = () => /* @__PURE__ */ jsx208(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children: isLoadingPermission ? /* @__PURE__ */ jsx208("div", { style: { padding: "2rem", textAlign: "center" }, children: /* @__PURE__ */ jsx208(Text22, { fw: 600, size: "md", children: "\u0110ang t\u1EA3i quy\u1EC1n truy c\u1EADp..." }) }) : canAccess ? children : /* @__PURE__ */ jsxs120("div", { style: { padding: "2rem", textAlign: "center" }, children: [
17002
- /* @__PURE__ */ jsx208("h1", { children: "404 - Kh\xF4ng t\xECm th\u1EA5y trang" }),
17003
- /* @__PURE__ */ jsx208("p", { children: "B\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n truy c\u1EADp ho\u1EB7c \u0111\u01B0\u1EDDng d\u1EABn kh\xF4ng t\u1ED3n t\u1EA1i." })
17030
+ const renderMain = () => /* @__PURE__ */ jsx209(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children: isLoadingPermission ? /* @__PURE__ */ jsx209("div", { style: { padding: "2rem", textAlign: "center" }, children: /* @__PURE__ */ jsx209(Text22, { fw: 600, size: "md", children: "\u0110ang t\u1EA3i quy\u1EC1n truy c\u1EADp..." }) }) : canAccess ? children : /* @__PURE__ */ jsxs120("div", { style: { padding: "2rem", textAlign: "center" }, children: [
17031
+ /* @__PURE__ */ jsx209("h1", { children: "404 - Kh\xF4ng t\xECm th\u1EA5y trang" }),
17032
+ /* @__PURE__ */ jsx209("p", { children: "B\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n truy c\u1EADp ho\u1EB7c \u0111\u01B0\u1EDDng d\u1EABn kh\xF4ng t\u1ED3n t\u1EA1i." })
17004
17033
  ] }) });
17005
17034
  return /* @__PURE__ */ jsxs120(
17006
17035
  AppShell,
@@ -17026,10 +17055,10 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17026
17055
 
17027
17056
  // src/components/Layouts/Container/MyContainer.tsx
17028
17057
  import { Container, Flex as Flex11 } from "@mantine/core";
17029
- import { jsx as jsx209 } from "react/jsx-runtime";
17058
+ import { jsx as jsx210 } from "react/jsx-runtime";
17030
17059
  function MyContainer(_a) {
17031
17060
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
17032
- return /* @__PURE__ */ jsx209(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx209(Flex11, { direction: "column", children }) }));
17061
+ return /* @__PURE__ */ jsx210(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx210(Flex11, { direction: "column", children }) }));
17033
17062
  }
17034
17063
 
17035
17064
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
@@ -17049,7 +17078,7 @@ import {
17049
17078
  UnstyledButton,
17050
17079
  useMantineTheme
17051
17080
  } from "@mantine/core";
17052
- import { useDisclosure as useDisclosure19 } from "@mantine/hooks";
17081
+ import { useDisclosure as useDisclosure20 } from "@mantine/hooks";
17053
17082
  import {
17054
17083
  IconBook as IconBook2,
17055
17084
  IconChartPie3,
@@ -17073,7 +17102,7 @@ function useHeaderMegaMenuStore() {
17073
17102
  }
17074
17103
 
17075
17104
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
17076
- import { jsx as jsx210, jsxs as jsxs121 } from "react/jsx-runtime";
17105
+ import { jsx as jsx211, jsxs as jsxs121 } from "react/jsx-runtime";
17077
17106
  var mockdata = [
17078
17107
  {
17079
17108
  icon: IconCode,
@@ -17107,31 +17136,31 @@ var mockdata = [
17107
17136
  }
17108
17137
  ];
17109
17138
  function HeaderMegaMenu({ children, menus }) {
17110
- const [drawerOpened, { toggle: toggleDrawer, close: closeDrawer }] = useDisclosure19(false);
17111
- const [linksOpened, { toggle: toggleLinks }] = useDisclosure19(false);
17139
+ const [drawerOpened, { toggle: toggleDrawer, close: closeDrawer }] = useDisclosure20(false);
17140
+ const [linksOpened, { toggle: toggleLinks }] = useDisclosure20(false);
17112
17141
  const HeaderMegaMenuStore = useHeaderMegaMenuStore();
17113
17142
  const theme = useMantineTheme();
17114
- const links = mockdata.map((item) => /* @__PURE__ */ jsx210(UnstyledButton, { className: classes.subLink, children: /* @__PURE__ */ jsxs121(Group32, { wrap: "nowrap", align: "flex-start", children: [
17115
- /* @__PURE__ */ jsx210(ThemeIcon2, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx210(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
17143
+ const links = mockdata.map((item) => /* @__PURE__ */ jsx211(UnstyledButton, { className: classes.subLink, children: /* @__PURE__ */ jsxs121(Group32, { wrap: "nowrap", align: "flex-start", children: [
17144
+ /* @__PURE__ */ jsx211(ThemeIcon2, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx211(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
17116
17145
  /* @__PURE__ */ jsxs121("div", { children: [
17117
- /* @__PURE__ */ jsx210(Text23, { size: "sm", fw: 500, children: item.title }),
17118
- /* @__PURE__ */ jsx210(Text23, { size: "xs", c: "dimmed", children: item.description })
17146
+ /* @__PURE__ */ jsx211(Text23, { size: "sm", fw: 500, children: item.title }),
17147
+ /* @__PURE__ */ jsx211(Text23, { size: "xs", c: "dimmed", children: item.description })
17119
17148
  ] })
17120
17149
  ] }) }, item.title));
17121
17150
  return /* @__PURE__ */ jsxs121(Box8, { children: [
17122
- /* @__PURE__ */ jsx210("header", { className: classes.header, children: /* @__PURE__ */ jsxs121(Group32, { justify: "space-between", h: "100%", children: [
17151
+ /* @__PURE__ */ jsx211("header", { className: classes.header, children: /* @__PURE__ */ jsxs121(Group32, { justify: "space-between", h: "100%", children: [
17123
17152
  /* @__PURE__ */ jsxs121(Group32, { children: [
17124
- /* @__PURE__ */ jsx210(Image5, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
17125
- /* @__PURE__ */ jsx210(Group32, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx210(Button21, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
17153
+ /* @__PURE__ */ jsx211(Image5, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
17154
+ /* @__PURE__ */ jsx211(Group32, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx211(Button21, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
17126
17155
  ] }),
17127
17156
  /* @__PURE__ */ jsxs121(Group32, { children: [
17128
- /* @__PURE__ */ jsx210(TextInput11, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx210(IconSearch6, {}), radius: "xl", w: "250px" }),
17129
- /* @__PURE__ */ jsx210(CustomSwitchTheme, {})
17157
+ /* @__PURE__ */ jsx211(TextInput11, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx211(IconSearch6, {}), radius: "xl", w: "250px" }),
17158
+ /* @__PURE__ */ jsx211(CustomSwitchTheme, {})
17130
17159
  ] }),
17131
- /* @__PURE__ */ jsx210(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
17160
+ /* @__PURE__ */ jsx211(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
17132
17161
  ] }) }),
17133
- /* @__PURE__ */ jsx210(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
17134
- /* @__PURE__ */ jsx210(
17162
+ /* @__PURE__ */ jsx211(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
17163
+ /* @__PURE__ */ jsx211(
17135
17164
  Drawer,
17136
17165
  {
17137
17166
  opened: drawerOpened,
@@ -17142,9 +17171,9 @@ function HeaderMegaMenu({ children, menus }) {
17142
17171
  hiddenFrom: "sm",
17143
17172
  zIndex: 1e6,
17144
17173
  children: /* @__PURE__ */ jsxs121(ScrollArea5, { h: "calc(100vh - 80px", mx: "-md", children: [
17145
- /* @__PURE__ */ jsx210(Divider2, { my: "sm" }),
17146
- /* @__PURE__ */ jsx210(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx210(Button21, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
17147
- /* @__PURE__ */ jsx210(Divider2, { my: "sm" })
17174
+ /* @__PURE__ */ jsx211(Divider2, { my: "sm" }),
17175
+ /* @__PURE__ */ jsx211(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx211(Button21, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
17176
+ /* @__PURE__ */ jsx211(Divider2, { my: "sm" })
17148
17177
  ] })
17149
17178
  }
17150
17179
  )
@@ -17164,7 +17193,7 @@ var service_aq = __spreadProps(__spreadValues({}, createBaseApi(CONTROLLER11, ba
17164
17193
 
17165
17194
  // src/components/Layouts/PageContent/MyPageContent.tsx
17166
17195
  import { Breadcrumbs, Center as Center13, Container as Container3, Divider as Divider3, Flex as Flex12, Group as Group33, Stack as Stack12, Text as Text24, Title as Title4, Tooltip as Tooltip7 } from "@mantine/core";
17167
- import { useClipboard, useDisclosure as useDisclosure20 } from "@mantine/hooks";
17196
+ import { useClipboard, useDisclosure as useDisclosure21 } from "@mantine/hooks";
17168
17197
  import { notifications as notifications7 } from "@mantine/notifications";
17169
17198
  import { IconBrandParsinta } from "@tabler/icons-react";
17170
17199
  import { useEffect as useEffect39, useState as useState31 } from "react";
@@ -17192,14 +17221,14 @@ function getFinalLinkVieo(url) {
17192
17221
  }
17193
17222
 
17194
17223
  // src/components/Layouts/PageContent/MyPageContent.tsx
17195
- import { jsx as jsx211, jsxs as jsxs122 } from "react/jsx-runtime";
17224
+ import { jsx as jsx212, jsxs as jsxs122 } from "react/jsx-runtime";
17196
17225
  function PageTitle({ title, status, note }) {
17197
- return /* @__PURE__ */ jsx211(Group33, { children: /* @__PURE__ */ jsxs122(MyFlexColumn, { gap: 0, children: [
17226
+ return /* @__PURE__ */ jsx212(Group33, { children: /* @__PURE__ */ jsxs122(MyFlexColumn, { gap: 0, children: [
17198
17227
  /* @__PURE__ */ jsxs122(Group33, { align: "center", children: [
17199
- /* @__PURE__ */ jsx211(Title4, { order: 3, children: title }),
17228
+ /* @__PURE__ */ jsx212(Title4, { order: 3, children: title }),
17200
17229
  status && getMenuStatusBadge(status)
17201
17230
  ] }),
17202
- /* @__PURE__ */ jsx211(Text24, { size: "lg", c: "dimmed", fs: "italic", children: note })
17231
+ /* @__PURE__ */ jsx212(Text24, { size: "lg", c: "dimmed", fs: "italic", children: note })
17203
17232
  ] }) });
17204
17233
  }
17205
17234
  function MyPageContent({
@@ -17221,7 +17250,7 @@ function MyPageContent({
17221
17250
  enabled: basicAppShellStore.state.fileGuildePath != void 0
17222
17251
  }
17223
17252
  });
17224
- const videoDisc = useDisclosure20();
17253
+ const videoDisc = useDisclosure21();
17225
17254
  const finalTitle = title || basicAppShellStore.state.title;
17226
17255
  useEffect39(() => {
17227
17256
  fileGuildDetailState[1](void 0);
@@ -17231,10 +17260,10 @@ function MyPageContent({
17231
17260
  return /* @__PURE__ */ jsxs122(Container3, { p: 0, fluid: true, children: [
17232
17261
  /* @__PURE__ */ jsxs122(Group33, { justify: "space-between", children: [
17233
17262
  /* @__PURE__ */ jsxs122(Group33, { children: [
17234
- /* @__PURE__ */ jsx211(MyButtonRouterBack, {}),
17263
+ /* @__PURE__ */ jsx212(MyButtonRouterBack, {}),
17235
17264
  /* @__PURE__ */ jsxs122(Stack12, { gap: 2, children: [
17236
17265
  /* @__PURE__ */ jsxs122(Flex12, { align: "center", gap: "10", children: [
17237
- /* @__PURE__ */ jsx211(
17266
+ /* @__PURE__ */ jsx212(
17238
17267
  PageTitle,
17239
17268
  {
17240
17269
  title: finalTitle,
@@ -17242,7 +17271,7 @@ function MyPageContent({
17242
17271
  note: basicAppShellStore.state.note
17243
17272
  }
17244
17273
  ),
17245
- /* @__PURE__ */ jsx211(Tooltip7, { label: "Xem video h\u01B0\u1EDBng d\u1EABn", children: /* @__PURE__ */ jsx211(
17274
+ /* @__PURE__ */ jsx212(Tooltip7, { label: "Xem video h\u01B0\u1EDBng d\u1EABn", children: /* @__PURE__ */ jsx212(
17246
17275
  MyButtonModal,
17247
17276
  {
17248
17277
  isActionIcon: true,
@@ -17252,14 +17281,14 @@ function MyPageContent({
17252
17281
  size: "80%"
17253
17282
  },
17254
17283
  actionIconProps: {
17255
- children: /* @__PURE__ */ jsx211(IconBrandParsinta, {}),
17284
+ children: /* @__PURE__ */ jsx212(IconBrandParsinta, {}),
17256
17285
  disabled: basicAppShellStore.state.videoLink == void 0 || basicAppShellStore.state.videoLink == "",
17257
17286
  color: "red",
17258
17287
  toolTipProps: {
17259
17288
  label: "Xem video h\u01B0\u1EDBng d\u1EABn"
17260
17289
  }
17261
17290
  },
17262
- children: /* @__PURE__ */ jsx211(Center13, { h: "67vh", p: "md", children: getFinalLinkVieo(basicAppShellStore.state.videoLink || "") == "" ? "\u0110\u01B0\u1EDDng d\u1EABn video kh\xF4ng h\u1EE3p l\u1EC7" : /* @__PURE__ */ jsx211(
17291
+ children: /* @__PURE__ */ jsx212(Center13, { h: "67vh", p: "md", children: getFinalLinkVieo(basicAppShellStore.state.videoLink || "") == "" ? "\u0110\u01B0\u1EDDng d\u1EABn video kh\xF4ng h\u1EE3p l\u1EC7" : /* @__PURE__ */ jsx212(
17263
17292
  "iframe",
17264
17293
  {
17265
17294
  width: "90%",
@@ -17273,7 +17302,7 @@ function MyPageContent({
17273
17302
  ) })
17274
17303
  }
17275
17304
  ) }),
17276
- /* @__PURE__ */ jsx211(
17305
+ /* @__PURE__ */ jsx212(
17277
17306
  MyButtonViewFile,
17278
17307
  {
17279
17308
  isActionIcon: true,
@@ -17291,73 +17320,73 @@ function MyPageContent({
17291
17320
  }
17292
17321
  )
17293
17322
  ] }),
17294
- /* @__PURE__ */ jsx211(Text24, { children: basicAppShellStore.state.description })
17323
+ /* @__PURE__ */ jsx212(Text24, { children: basicAppShellStore.state.description })
17295
17324
  ] }),
17296
17325
  leftTopBar
17297
17326
  ] }),
17298
17327
  /* @__PURE__ */ jsxs122(Group33, { p: "md", children: [
17299
17328
  rightTopBar,
17300
- /* @__PURE__ */ jsx211(Breadcrumbs, { style: { cursor: "pointer" }, separatorMargin: "7", onClick: () => {
17329
+ /* @__PURE__ */ jsx212(Breadcrumbs, { style: { cursor: "pointer" }, separatorMargin: "7", onClick: () => {
17301
17330
  var _a2;
17302
17331
  clipboard.copy((_a2 = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a2.join(" / "));
17303
17332
  notifications7.show({
17304
17333
  message: "Sao ch\xE9p \u0111\u01B0\u1EDDng d\u1EABn menu th\xE0nh c\xF4ng"
17305
17334
  });
17306
- }, children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx211(Text24, { fw: "600", c: "blue", children: item }, idx)) })
17335
+ }, children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx212(Text24, { fw: "600", c: "blue", children: item }, idx)) })
17307
17336
  ] })
17308
17337
  ] }),
17309
- /* @__PURE__ */ jsx211(Divider3, { my: "xs" }),
17338
+ /* @__PURE__ */ jsx212(Divider3, { my: "xs" }),
17310
17339
  children,
17311
- /* @__PURE__ */ jsx211(Divider3, { my: "xs" })
17340
+ /* @__PURE__ */ jsx212(Divider3, { my: "xs" })
17312
17341
  ] });
17313
17342
  }
17314
17343
 
17315
17344
  // src/components/Layouts/Tab/MyTab.tsx
17316
17345
  import { rem, Space as Space10, Tabs as Tabs4 } from "@mantine/core";
17317
- import { jsx as jsx212, jsxs as jsxs123 } from "react/jsx-runtime";
17346
+ import { jsx as jsx213, jsxs as jsxs123 } from "react/jsx-runtime";
17318
17347
  function MyTab(_a) {
17319
17348
  var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
17320
17349
  const iconStyle = { width: rem(20), height: rem(20) };
17321
17350
  return /* @__PURE__ */ jsxs123(Tabs4, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
17322
- /* @__PURE__ */ jsx212(Tabs4.List, { children: tabList.map((item, idx) => {
17323
- return /* @__PURE__ */ jsx212(Tabs4.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx212(item.icon, { style: iconStyle }), children: item.label }, idx);
17351
+ /* @__PURE__ */ jsx213(Tabs4.List, { children: tabList.map((item, idx) => {
17352
+ return /* @__PURE__ */ jsx213(Tabs4.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx213(item.icon, { style: iconStyle }), children: item.label }, idx);
17324
17353
  }) }),
17325
- /* @__PURE__ */ jsx212(Space10, { my: "md" }),
17354
+ /* @__PURE__ */ jsx213(Space10, { my: "md" }),
17326
17355
  children
17327
17356
  ] }));
17328
17357
  }
17329
17358
 
17330
17359
  // src/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx
17331
17360
  import { ActionIcon as ActionIcon12, Button as Button22, Fieldset as Fieldset3, Group as Group34, Modal as Modal15 } from "@mantine/core";
17332
- import { useDisclosure as useDisclosure21 } from "@mantine/hooks";
17361
+ import { useDisclosure as useDisclosure22 } from "@mantine/hooks";
17333
17362
  import { IconX as IconX4 } from "@tabler/icons-react";
17334
- import { jsx as jsx213, jsxs as jsxs124 } from "react/jsx-runtime";
17363
+ import { jsx as jsx214, jsxs as jsxs124 } from "react/jsx-runtime";
17335
17364
  function MyDataTableSelect(_a) {
17336
17365
  var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
17337
- const disc = useDisclosure21(false);
17366
+ const disc = useDisclosure22(false);
17338
17367
  if (data == void 0) return "\u0110ang t\u1EA3i...";
17339
17368
  return /* @__PURE__ */ jsxs124(Fieldset3, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
17340
- /* @__PURE__ */ jsx213(
17369
+ /* @__PURE__ */ jsx214(
17341
17370
  MyDataTable,
17342
17371
  __spreadValues({
17343
17372
  renderTopToolbarCustomActions: ({ table }) => {
17344
17373
  return /* @__PURE__ */ jsxs124(Group34, { children: [
17345
17374
  renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
17346
- /* @__PURE__ */ jsx213(Button22, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
17375
+ /* @__PURE__ */ jsx214(Button22, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
17347
17376
  ] });
17348
17377
  },
17349
17378
  columns,
17350
17379
  data: listState[0],
17351
17380
  renderRowActions: ({ row }) => {
17352
- return /* @__PURE__ */ jsx213(MyCenterFull, { children: /* @__PURE__ */ jsx213(ActionIcon12, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx213(IconX4, {}) }) });
17381
+ return /* @__PURE__ */ jsx214(MyCenterFull, { children: /* @__PURE__ */ jsx214(ActionIcon12, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx214(IconX4, {}) }) });
17353
17382
  }
17354
17383
  }, rest)
17355
17384
  ),
17356
- /* @__PURE__ */ jsx213(Modal15, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx213(
17385
+ /* @__PURE__ */ jsx214(Modal15, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx214(
17357
17386
  MyDataTable,
17358
17387
  __spreadValues({
17359
17388
  renderTopToolbarCustomActions: ({ table }) => {
17360
- return /* @__PURE__ */ jsx213(Button22, { onClick: () => {
17389
+ return /* @__PURE__ */ jsx214(Button22, { onClick: () => {
17361
17390
  table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
17362
17391
  disc[1].close();
17363
17392
  }, children: "Ch\u1ECDn" });
@@ -17372,12 +17401,12 @@ function MyDataTableSelect(_a) {
17372
17401
 
17373
17402
  // src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
17374
17403
  import { Select as Select8 } from "@mantine/core";
17375
- import { useQuery as useQuery10 } from "@tanstack/react-query";
17376
- import { jsx as jsx214 } from "react/jsx-runtime";
17404
+ import { useQuery as useQuery11 } from "@tanstack/react-query";
17405
+ import { jsx as jsx215 } from "react/jsx-runtime";
17377
17406
  function MySelectAPIGet(_a) {
17378
17407
  var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
17379
17408
  var _a2;
17380
- const query = useQuery10({
17409
+ const query = useQuery11({
17381
17410
  queryKey: [apiGet],
17382
17411
  queryFn: async () => {
17383
17412
  return (await baseAxios_default.get(apiGet)).data;
@@ -17392,7 +17421,7 @@ function MySelectAPIGet(_a) {
17392
17421
  label: `${item.code}-${item.name}`
17393
17422
  };
17394
17423
  });
17395
- return /* @__PURE__ */ jsx214(
17424
+ return /* @__PURE__ */ jsx215(
17396
17425
  Select8,
17397
17426
  __spreadValues({
17398
17427
  label,
@@ -17407,7 +17436,7 @@ import { useNextCalendarApp as useNextCalendarApp2, ScheduleXCalendar as Schedul
17407
17436
  import { createEventsServicePlugin as createEventsServicePlugin2 } from "@schedule-x/events-service";
17408
17437
  import { useState as useState32 } from "react";
17409
17438
  import { createEventModalPlugin as createEventModalPlugin2 } from "@schedule-x/event-modal";
17410
- import { jsx as jsx215 } from "react/jsx-runtime";
17439
+ import { jsx as jsx216 } from "react/jsx-runtime";
17411
17440
  function MyScheduleX({
17412
17441
  values,
17413
17442
  timeGridEvent,
@@ -17432,7 +17461,7 @@ function MyScheduleX({
17432
17461
  events: values,
17433
17462
  plugins: [eventsService, eventModalPlugin]
17434
17463
  });
17435
- return /* @__PURE__ */ jsx215(
17464
+ return /* @__PURE__ */ jsx216(
17436
17465
  ScheduleXCalendar2,
17437
17466
  {
17438
17467
  calendarApp: calendar,
@@ -17446,17 +17475,17 @@ function MyScheduleX({
17446
17475
 
17447
17476
  // src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
17448
17477
  import { Skeleton as Skeleton8 } from "@mantine/core";
17449
- import { jsx as jsx216 } from "react/jsx-runtime";
17478
+ import { jsx as jsx217 } from "react/jsx-runtime";
17450
17479
  function MySkeletonTable({ h: h5 = 500 }) {
17451
- return /* @__PURE__ */ jsx216(Skeleton8, { h: h5 });
17480
+ return /* @__PURE__ */ jsx217(Skeleton8, { h: h5 });
17452
17481
  }
17453
17482
 
17454
17483
  // src/core/dataDisplay/CustomTableStagedChanges.tsx
17455
- import { jsx as jsx217 } from "react/jsx-runtime";
17484
+ import { jsx as jsx218 } from "react/jsx-runtime";
17456
17485
 
17457
17486
  // src/core/dataDisplay/MyDataTableSelectOne.tsx
17458
17487
  import { useEffect as useEffect40, useMemo as useMemo33 } from "react";
17459
- import { jsx as jsx218 } from "react/jsx-runtime";
17488
+ import { jsx as jsx219 } from "react/jsx-runtime";
17460
17489
  function MyDataTableSelectOne({
17461
17490
  columns,
17462
17491
  queryResult,
@@ -17468,7 +17497,7 @@ function MyDataTableSelectOne({
17468
17497
  if (!queryResult.data) return;
17469
17498
  setIdSelection(queryResult.data[0].id);
17470
17499
  }, [queryResult.data]);
17471
- return /* @__PURE__ */ jsx218(
17500
+ return /* @__PURE__ */ jsx219(
17472
17501
  MyDataTable,
17473
17502
  {
17474
17503
  columns: columnsState,
@@ -17494,9 +17523,9 @@ function MyDataTableSelectOne({
17494
17523
 
17495
17524
  // src/core/dataDisplay/MyDataTableStagedChanges.tsx
17496
17525
  import { Group as Group35, Stack as Stack13 } from "@mantine/core";
17497
- import { useDisclosure as useDisclosure22 } from "@mantine/hooks";
17526
+ import { useDisclosure as useDisclosure23 } from "@mantine/hooks";
17498
17527
  import { useEffect as useEffect41, useState as useState33 } from "react";
17499
- import { jsx as jsx219, jsxs as jsxs125 } from "react/jsx-runtime";
17528
+ import { jsx as jsx220, jsxs as jsxs125 } from "react/jsx-runtime";
17500
17529
  function MyDataTableStagedChanges(_a) {
17501
17530
  var _b = _a, {
17502
17531
  data,
@@ -17513,7 +17542,7 @@ function MyDataTableStagedChanges(_a) {
17513
17542
  "childrenDataTableProps",
17514
17543
  "readOnly"
17515
17544
  ]);
17516
- const disc = useDisclosure22();
17545
+ const disc = useDisclosure23();
17517
17546
  const [currentIds, setCurrentIds] = useState33(initIds);
17518
17547
  const rowSelectionState = useState33({});
17519
17548
  const triggerChange = (nextIds) => {
@@ -17553,13 +17582,13 @@ function MyDataTableStagedChanges(_a) {
17553
17582
  rowSelectionState[1](initSelection);
17554
17583
  }
17555
17584
  }, [disc[0], data, currentIds]);
17556
- return /* @__PURE__ */ jsx219(
17585
+ return /* @__PURE__ */ jsx220(
17557
17586
  MyDataTable,
17558
17587
  __spreadProps(__spreadValues({
17559
17588
  enableRowSelection: readOnly ? false : true,
17560
17589
  renderRowActions: ({ row }) => {
17561
17590
  if (readOnly) return;
17562
- return /* @__PURE__ */ jsx219(MyCenterFull, { children: /* @__PURE__ */ jsx219(
17591
+ return /* @__PURE__ */ jsx220(MyCenterFull, { children: /* @__PURE__ */ jsx220(
17563
17592
  MyActionIcon,
17564
17593
  {
17565
17594
  actionType: "tempDelete",
@@ -17574,16 +17603,16 @@ function MyDataTableStagedChanges(_a) {
17574
17603
  var _a2;
17575
17604
  if (readOnly) return;
17576
17605
  return /* @__PURE__ */ jsxs125(Group35, { children: [
17577
- /* @__PURE__ */ jsx219(
17606
+ /* @__PURE__ */ jsx220(
17578
17607
  MyButtonModal,
17579
17608
  {
17580
17609
  buttonProps: { actionType: "create", type: "button" },
17581
17610
  disclosure: disc,
17582
17611
  modalProps: { size: "70rem", title: "Th\xEAm \u0111\u1ED1i t\u01B0\u1EE3ng" },
17583
- children: /* @__PURE__ */ jsx219(
17612
+ children: /* @__PURE__ */ jsx220(
17584
17613
  MyDataTable,
17585
17614
  __spreadValues({
17586
- renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx219(Stack13, { children: /* @__PURE__ */ jsx219(MyButton, { actionType: "select", onClick: handleSelect }) }),
17615
+ renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx220(Stack13, { children: /* @__PURE__ */ jsx220(MyButton, { actionType: "select", onClick: handleSelect }) }),
17587
17616
  enableRowSelection: true,
17588
17617
  columns,
17589
17618
  data,
@@ -17595,7 +17624,7 @@ function MyDataTableStagedChanges(_a) {
17595
17624
  )
17596
17625
  }
17597
17626
  ),
17598
- /* @__PURE__ */ jsx219(MyButton, { actionType: "delete", onClick: () => {
17627
+ /* @__PURE__ */ jsx220(MyButton, { actionType: "delete", onClick: () => {
17599
17628
  handleDelete(table.getSelectedRowModel().rows.map((item) => item.original.id));
17600
17629
  } }),
17601
17630
  (_a2 = rest.renderTopToolbarCustomActions) == null ? void 0 : _a2.call(rest, { table })
@@ -17607,30 +17636,30 @@ function MyDataTableStagedChanges(_a) {
17607
17636
 
17608
17637
  // src/core/dataDisplay/MyFlexIconTitle.tsx
17609
17638
  import { Flex as Flex13, Text as Text25 } from "@mantine/core";
17610
- import { jsx as jsx220, jsxs as jsxs126 } from "react/jsx-runtime";
17639
+ import { jsx as jsx221, jsxs as jsxs126 } from "react/jsx-runtime";
17611
17640
  function MyFlexIconTitle(props) {
17612
17641
  return /* @__PURE__ */ jsxs126(Flex13, __spreadProps(__spreadValues({ direction: "row", align: "center", gap: "xs" }, props), { children: [
17613
17642
  props.icon,
17614
- /* @__PURE__ */ jsx220(Text25, __spreadProps(__spreadValues({ size: "lg", fw: 700 }, props.textProps), { children: props == null ? void 0 : props.children }))
17643
+ /* @__PURE__ */ jsx221(Text25, __spreadProps(__spreadValues({ size: "lg", fw: 700 }, props.textProps), { children: props == null ? void 0 : props.children }))
17615
17644
  ] }));
17616
17645
  }
17617
17646
 
17618
17647
  // src/core/dataDisplay/MyInfoBox.tsx
17619
17648
  import { Group as Group36, Paper as Paper14, Stack as Stack14, Text as Text26 } from "@mantine/core";
17620
- import { jsx as jsx221, jsxs as jsxs127 } from "react/jsx-runtime";
17649
+ import { jsx as jsx222, jsxs as jsxs127 } from "react/jsx-runtime";
17621
17650
  function MyInfoBox({ title, data, paperProps }) {
17622
- return /* @__PURE__ */ jsx221(Paper14, __spreadProps(__spreadValues({ withBorder: true, shadow: "xs", radius: "md", p: "md", bg: const_object_colors.mantineBackgroundBlueLight }, paperProps), { children: /* @__PURE__ */ jsxs127(Stack14, { children: [
17623
- title && /* @__PURE__ */ jsx221(Text26, { fw: 600, size: "sm", children: title }),
17651
+ return /* @__PURE__ */ jsx222(Paper14, __spreadProps(__spreadValues({ withBorder: true, shadow: "xs", radius: "md", p: "md", bg: const_object_colors.mantineBackgroundBlueLight }, paperProps), { children: /* @__PURE__ */ jsxs127(Stack14, { children: [
17652
+ title && /* @__PURE__ */ jsx222(Text26, { fw: 600, size: "sm", children: title }),
17624
17653
  data.map((item, index) => /* @__PURE__ */ jsxs127(Group36, { justify: "space-between", children: [
17625
- /* @__PURE__ */ jsx221(Text26, { size: "sm", fw: 500, c: "dimmed", children: item.label }),
17626
- /* @__PURE__ */ jsx221(Text26, { size: "sm", fw: 500, children: item.value })
17654
+ /* @__PURE__ */ jsx222(Text26, { size: "sm", fw: 500, c: "dimmed", children: item.label }),
17655
+ /* @__PURE__ */ jsx222(Text26, { size: "sm", fw: 500, children: item.value })
17627
17656
  ] }, index))
17628
17657
  ] }) }));
17629
17658
  }
17630
17659
 
17631
17660
  // src/core/dataDisplay/MyLabelValueRow.tsx
17632
17661
  import { Group as Group37, Text as Text27 } from "@mantine/core";
17633
- import { jsx as jsx222, jsxs as jsxs128 } from "react/jsx-runtime";
17662
+ import { jsx as jsx223, jsxs as jsxs128 } from "react/jsx-runtime";
17634
17663
  function MyLabelValueRow({
17635
17664
  label,
17636
17665
  value,
@@ -17644,13 +17673,13 @@ function MyLabelValueRow({
17644
17673
  label,
17645
17674
  ":"
17646
17675
  ] })),
17647
- /* @__PURE__ */ jsx222(Text27, __spreadProps(__spreadValues({ size }, valueProps), { children: value }))
17676
+ /* @__PURE__ */ jsx223(Text27, __spreadProps(__spreadValues({ size }, valueProps), { children: value }))
17648
17677
  ] }));
17649
17678
  }
17650
17679
 
17651
17680
  // src/core/dataDisplay/MyStatsCartd.tsx
17652
17681
  import { Box as Box9, Card as Card4, ThemeIcon as ThemeIcon3 } from "@mantine/core";
17653
- import { jsx as jsx223, jsxs as jsxs129 } from "react/jsx-runtime";
17682
+ import { jsx as jsx224, jsxs as jsxs129 } from "react/jsx-runtime";
17654
17683
  function MyStatsCard({
17655
17684
  title,
17656
17685
  value,
@@ -17660,21 +17689,21 @@ function MyStatsCard({
17660
17689
  themeIconProps
17661
17690
  }) {
17662
17691
  return /* @__PURE__ */ jsxs129(Card4, { children: [
17663
- /* @__PURE__ */ jsx223("div", { className: `absolute inset-0 bg-gradient-to-br ${color} opacity-5` }),
17664
- /* @__PURE__ */ jsx223(Box9, { className: "p-6", children: /* @__PURE__ */ jsxs129("div", { className: "flex items-center justify-between", children: [
17692
+ /* @__PURE__ */ jsx224("div", { className: `absolute inset-0 bg-gradient-to-br ${color} opacity-5` }),
17693
+ /* @__PURE__ */ jsx224(Box9, { className: "p-6", children: /* @__PURE__ */ jsxs129("div", { className: "flex items-center justify-between", children: [
17665
17694
  /* @__PURE__ */ jsxs129("div", { children: [
17666
- /* @__PURE__ */ jsx223("p", { className: "text-sm font-medium text-muted-foreground", children: title }),
17667
- /* @__PURE__ */ jsx223("p", { className: "text-3xl font-bold", children: value }),
17668
- /* @__PURE__ */ jsx223("p", { className: "text-xs text-muted-foreground mt-1", children: subtitle })
17695
+ /* @__PURE__ */ jsx224("p", { className: "text-sm font-medium text-muted-foreground", children: title }),
17696
+ /* @__PURE__ */ jsx224("p", { className: "text-3xl font-bold", children: value }),
17697
+ /* @__PURE__ */ jsx224("p", { className: "text-xs text-muted-foreground mt-1", children: subtitle })
17669
17698
  ] }),
17670
- /* @__PURE__ */ jsx223(ThemeIcon3, __spreadProps(__spreadValues({ size: "xl", radius: "xl" }, themeIconProps), { children: icon }))
17699
+ /* @__PURE__ */ jsx224(ThemeIcon3, __spreadProps(__spreadValues({ size: "xl", radius: "xl" }, themeIconProps), { children: icon }))
17671
17700
  ] }) })
17672
17701
  ] });
17673
17702
  }
17674
17703
 
17675
17704
  // src/core/dataDisplay/CustomEnumBadge/CustomEnumBadge.tsx
17676
17705
  import { Badge as Badge6 } from "@mantine/core";
17677
- import { Fragment as Fragment28, jsx as jsx224 } from "react/jsx-runtime";
17706
+ import { Fragment as Fragment28, jsx as jsx225 } from "react/jsx-runtime";
17678
17707
  function CustomEnumBadge(_a) {
17679
17708
  var _b = _a, {
17680
17709
  value,
@@ -17690,26 +17719,26 @@ function CustomEnumBadge(_a) {
17690
17719
  if (value === void 0 || value === null) return null;
17691
17720
  const IconComponent = enumIcon ? enumIcon[value] : void 0;
17692
17721
  const label = enumLabel[value];
17693
- return label ? /* @__PURE__ */ jsx224(
17722
+ return label ? /* @__PURE__ */ jsx225(
17694
17723
  Badge6,
17695
17724
  __spreadProps(__spreadValues({
17696
17725
  w: "100%",
17697
- leftSection: IconComponent ? /* @__PURE__ */ jsx224(IconComponent, {}) : void 0,
17726
+ leftSection: IconComponent ? /* @__PURE__ */ jsx225(IconComponent, {}) : void 0,
17698
17727
  variant: "light",
17699
17728
  color: enumColor ? enumColor[value] : void 0,
17700
17729
  radius: "lg"
17701
17730
  }, rest), {
17702
17731
  children: enumLabel[value]
17703
17732
  })
17704
- ) : /* @__PURE__ */ jsx224(Fragment28, {});
17733
+ ) : /* @__PURE__ */ jsx225(Fragment28, {});
17705
17734
  }
17706
17735
 
17707
17736
  // src/core/input/CustomAutocomplete.tsx
17708
17737
  import { Autocomplete } from "@mantine/core";
17709
- import { jsx as jsx225 } from "react/jsx-runtime";
17738
+ import { jsx as jsx226 } from "react/jsx-runtime";
17710
17739
  function CustomAutocomplete(_a) {
17711
17740
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
17712
- return /* @__PURE__ */ jsx225(
17741
+ return /* @__PURE__ */ jsx226(
17713
17742
  Autocomplete,
17714
17743
  __spreadValues({
17715
17744
  placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "",
@@ -17721,11 +17750,11 @@ function CustomAutocomplete(_a) {
17721
17750
  // src/core/input/CustomNumberInput.tsx
17722
17751
  import { NumberInput as NumberInput2 } from "@mantine/core";
17723
17752
  import { IconCurrencyDollar, IconNumbers as IconNumbers2 } from "@tabler/icons-react";
17724
- import { jsx as jsx226 } from "react/jsx-runtime";
17753
+ import { jsx as jsx227 } from "react/jsx-runtime";
17725
17754
  function CustomNumberInput(_a) {
17726
17755
  var _b = _a, { min, max, label, inputType = "number" } = _b, rest = __objRest(_b, ["min", "max", "label", "inputType"]);
17727
17756
  const isCurrency = inputType === "currency";
17728
- return /* @__PURE__ */ jsx226(
17757
+ return /* @__PURE__ */ jsx227(
17729
17758
  NumberInput2,
17730
17759
  __spreadValues({
17731
17760
  label,
@@ -17733,15 +17762,15 @@ function CustomNumberInput(_a) {
17733
17762
  thousandSeparator: isCurrency,
17734
17763
  max: isCurrency ? void 0 : max != null ? max : 100,
17735
17764
  placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "",
17736
- rightSection: isCurrency ? /* @__PURE__ */ jsx226(IconCurrencyDollar, {}) : /* @__PURE__ */ jsx226(IconNumbers2, {})
17765
+ rightSection: isCurrency ? /* @__PURE__ */ jsx227(IconCurrencyDollar, {}) : /* @__PURE__ */ jsx227(IconNumbers2, {})
17737
17766
  }, rest)
17738
17767
  );
17739
17768
  }
17740
17769
 
17741
17770
  // src/core/input/CustomPhoneNumberInput.tsx
17742
- import { jsx as jsx227 } from "react/jsx-runtime";
17771
+ import { jsx as jsx228 } from "react/jsx-runtime";
17743
17772
  function CustomPhoneNumberInput(props) {
17744
- return /* @__PURE__ */ jsx227(
17773
+ return /* @__PURE__ */ jsx228(
17745
17774
  MyTextInput,
17746
17775
  __spreadProps(__spreadValues({}, props), {
17747
17776
  onKeyDown: (e4) => {
@@ -17765,7 +17794,7 @@ function CustomPhoneNumberInput(props) {
17765
17794
 
17766
17795
  // src/core/input/MyDayOfWeekPicker.tsx
17767
17796
  import { Badge as Badge7, Group as Group38 } from "@mantine/core";
17768
- import { jsx as jsx228 } from "react/jsx-runtime";
17797
+ import { jsx as jsx229 } from "react/jsx-runtime";
17769
17798
  var days = Object.entries(enum_daysOfWeek).filter(([key]) => isNaN(Number(key))).map(([label, value]) => ({ label, value }));
17770
17799
  function MyDayOfWeekPicker({ value = [], onChange }) {
17771
17800
  const toggle = (val) => {
@@ -17773,7 +17802,7 @@ function MyDayOfWeekPicker({ value = [], onChange }) {
17773
17802
  const newValue = value.includes(val) ? value.filter((v5) => v5 !== val) : [...value, val].sort((a4, b4) => a4 - b4);
17774
17803
  onChange(newValue);
17775
17804
  };
17776
- return /* @__PURE__ */ jsx228(MyFlexRow, { align: "center", children: /* @__PURE__ */ jsx228(Group38, { gap: "xs", children: days.map((d4) => /* @__PURE__ */ jsx228(
17805
+ return /* @__PURE__ */ jsx229(MyFlexRow, { align: "center", children: /* @__PURE__ */ jsx229(Group38, { gap: "xs", children: days.map((d4) => /* @__PURE__ */ jsx229(
17777
17806
  Badge7,
17778
17807
  {
17779
17808
  variant: value.includes(d4.value) ? "filled" : "outline",
@@ -17790,10 +17819,10 @@ function MyDayOfWeekPicker({ value = [], onChange }) {
17790
17819
 
17791
17820
  // src/core/input/MyFileInputPreview.tsx
17792
17821
  import { FileInput as FileInput16 } from "@mantine/core";
17793
- import { jsx as jsx229 } from "react/jsx-runtime";
17822
+ import { jsx as jsx230 } from "react/jsx-runtime";
17794
17823
  function MyFileInputPreview(_a) {
17795
17824
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
17796
- return /* @__PURE__ */ jsx229(
17825
+ return /* @__PURE__ */ jsx230(
17797
17826
  FileInput16,
17798
17827
  __spreadValues({
17799
17828
  label,
@@ -17813,7 +17842,7 @@ import Underline2 from "@tiptap/extension-underline";
17813
17842
  import { useEditor as useEditor2 } from "@tiptap/react";
17814
17843
  import StarterKit2 from "@tiptap/starter-kit";
17815
17844
  import { useEffect as useEffect42 } from "react";
17816
- import { jsx as jsx230, jsxs as jsxs130 } from "react/jsx-runtime";
17845
+ import { jsx as jsx231, jsxs as jsxs130 } from "react/jsx-runtime";
17817
17846
  function isEditorContentEmpty(html) {
17818
17847
  var _a;
17819
17848
  const tempDiv = document.createElement("div");
@@ -17848,44 +17877,44 @@ function MyRichTextEditor(props) {
17848
17877
  editor.commands.setContent(props.value || "", false);
17849
17878
  }
17850
17879
  }, [props.value, editor]);
17851
- return /* @__PURE__ */ jsx230(Input2.Wrapper, __spreadProps(__spreadValues({}, props.inputWrapperProps), { children: /* @__PURE__ */ jsxs130(MantineRichTextEditor, __spreadProps(__spreadValues({ editor }, props.richTextEditorProps), { children: [
17852
- /* @__PURE__ */ jsx230(DisabledControl, { disabled: !(editor == null ? void 0 : editor.isEditable), children: /* @__PURE__ */ jsxs130(MantineRichTextEditor.Toolbar, __spreadProps(__spreadValues({}, props.richTextEditorToolBarProps), { children: [
17880
+ return /* @__PURE__ */ jsx231(Input2.Wrapper, __spreadProps(__spreadValues({}, props.inputWrapperProps), { children: /* @__PURE__ */ jsxs130(MantineRichTextEditor, __spreadProps(__spreadValues({ editor }, props.richTextEditorProps), { children: [
17881
+ /* @__PURE__ */ jsx231(DisabledControl, { disabled: !(editor == null ? void 0 : editor.isEditable), children: /* @__PURE__ */ jsxs130(MantineRichTextEditor.Toolbar, __spreadProps(__spreadValues({}, props.richTextEditorToolBarProps), { children: [
17853
17882
  /* @__PURE__ */ jsxs130(MantineRichTextEditor.ControlsGroup, { children: [
17854
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Bold, {}),
17855
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Italic, {}),
17856
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Underline, {}),
17857
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Strikethrough, {}),
17858
- /* @__PURE__ */ jsx230(MantineRichTextEditor.ClearFormatting, {}),
17859
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Highlight, {}),
17860
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Code, {})
17883
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Bold, {}),
17884
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Italic, {}),
17885
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Underline, {}),
17886
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Strikethrough, {}),
17887
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.ClearFormatting, {}),
17888
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Highlight, {}),
17889
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Code, {})
17861
17890
  ] }),
17862
17891
  /* @__PURE__ */ jsxs130(MantineRichTextEditor.ControlsGroup, { children: [
17863
- /* @__PURE__ */ jsx230(MantineRichTextEditor.H1, {}),
17864
- /* @__PURE__ */ jsx230(MantineRichTextEditor.H2, {}),
17865
- /* @__PURE__ */ jsx230(MantineRichTextEditor.H3, {}),
17866
- /* @__PURE__ */ jsx230(MantineRichTextEditor.H4, {})
17892
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.H1, {}),
17893
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.H2, {}),
17894
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.H3, {}),
17895
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.H4, {})
17867
17896
  ] }),
17868
17897
  /* @__PURE__ */ jsxs130(MantineRichTextEditor.ControlsGroup, { children: [
17869
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Blockquote, {}),
17870
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Hr, {}),
17871
- /* @__PURE__ */ jsx230(MantineRichTextEditor.BulletList, {}),
17872
- /* @__PURE__ */ jsx230(MantineRichTextEditor.OrderedList, {}),
17873
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Subscript, {}),
17874
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Superscript, {})
17898
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Blockquote, {}),
17899
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Hr, {}),
17900
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.BulletList, {}),
17901
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.OrderedList, {}),
17902
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Subscript, {}),
17903
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Superscript, {})
17875
17904
  ] }),
17876
17905
  /* @__PURE__ */ jsxs130(MantineRichTextEditor.ControlsGroup, { children: [
17877
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Link, {}),
17878
- /* @__PURE__ */ jsx230(MantineRichTextEditor.Unlink, {})
17906
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Link, {}),
17907
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.Unlink, {})
17879
17908
  ] }),
17880
17909
  /* @__PURE__ */ jsxs130(MantineRichTextEditor.ControlsGroup, { children: [
17881
- /* @__PURE__ */ jsx230(MantineRichTextEditor.AlignLeft, {}),
17882
- /* @__PURE__ */ jsx230(MantineRichTextEditor.AlignCenter, {}),
17883
- /* @__PURE__ */ jsx230(MantineRichTextEditor.AlignJustify, {}),
17884
- /* @__PURE__ */ jsx230(MantineRichTextEditor.AlignRight, {})
17910
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.AlignLeft, {}),
17911
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.AlignCenter, {}),
17912
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.AlignJustify, {}),
17913
+ /* @__PURE__ */ jsx231(MantineRichTextEditor.AlignRight, {})
17885
17914
  ] }),
17886
17915
  props.extraControlsGroup
17887
17916
  ] })) }),
17888
- /* @__PURE__ */ jsx230(
17917
+ /* @__PURE__ */ jsx231(
17889
17918
  ScrollArea6.Autosize,
17890
17919
  __spreadProps(__spreadValues({
17891
17920
  onMouseDown: () => {
@@ -17898,19 +17927,19 @@ function MyRichTextEditor(props) {
17898
17927
  // đổi cursor
17899
17928
  }
17900
17929
  }, props.scrollAreaAutosizeProps), {
17901
- children: /* @__PURE__ */ jsx230(RichTextEditor2.Content, __spreadValues({ mih: "130" }, props.richTextEditorContentProps))
17930
+ children: /* @__PURE__ */ jsx231(RichTextEditor2.Content, __spreadValues({ mih: "130" }, props.richTextEditorContentProps))
17902
17931
  })
17903
17932
  )
17904
17933
  ] })) }));
17905
17934
  }
17906
17935
  function DisabledControl({ children, disabled }) {
17907
- return /* @__PURE__ */ jsx230("div", { style: { pointerEvents: disabled ? "none" : "auto", opacity: disabled ? 0.5 : 1 }, children });
17936
+ return /* @__PURE__ */ jsx231("div", { style: { pointerEvents: disabled ? "none" : "auto", opacity: disabled ? 0.5 : 1 }, children });
17908
17937
  }
17909
17938
 
17910
17939
  // src/core/input/MySelect.tsx
17911
17940
  import { Loader as Loader2, Select as Select9 } from "@mantine/core";
17912
17941
  import React3 from "react";
17913
- import { jsx as jsx231 } from "react/jsx-runtime";
17942
+ import { jsx as jsx232 } from "react/jsx-runtime";
17914
17943
  function extractTextFromReactNode(node) {
17915
17944
  if (typeof node === "string" || typeof node === "number") return String(node);
17916
17945
  if (Array.isArray(node)) return node.map(extractTextFromReactNode).join(" ");
@@ -17928,7 +17957,7 @@ function MySelect2(_a) {
17928
17957
  const plainTextLabel = extractTextFromReactNode(label).toLowerCase().trim();
17929
17958
  placeholder = `Ch\u1ECDn ${plainTextLabel}`;
17930
17959
  }
17931
- return /* @__PURE__ */ jsx231(
17960
+ return /* @__PURE__ */ jsx232(
17932
17961
  Select9,
17933
17962
  __spreadValues({
17934
17963
  allowDeselect: false,
@@ -17936,7 +17965,7 @@ function MySelect2(_a) {
17936
17965
  label,
17937
17966
  placeholder,
17938
17967
  error: isError ? true : void 0,
17939
- rightSection: isLoading ? /* @__PURE__ */ jsx231(Loader2, { size: "xs" }) : void 0,
17968
+ rightSection: isLoading ? /* @__PURE__ */ jsx232(Loader2, { size: "xs" }) : void 0,
17940
17969
  disabled: isLoading || isError,
17941
17970
  styles: (theme) => ({
17942
17971
  input: rest.readOnly ? {
@@ -17952,7 +17981,7 @@ function MySelect2(_a) {
17952
17981
 
17953
17982
  // src/core/input/MySelectFromAPI.tsx
17954
17983
  import { useCallback, useEffect as useEffect43, useMemo as useMemo34, useRef as useRef4 } from "react";
17955
- import { jsx as jsx232 } from "react/jsx-runtime";
17984
+ import { jsx as jsx233 } from "react/jsx-runtime";
17956
17985
  function MySelectFromAPI(_a) {
17957
17986
  var _b = _a, {
17958
17987
  queryKey,
@@ -18016,7 +18045,7 @@ function MySelectFromAPI(_a) {
18016
18045
  hasAutoSelected.current = true;
18017
18046
  }
18018
18047
  }, [autoSelectFirstItem, query.data, value, getLabel, onChange, setObjectData]);
18019
- return /* @__PURE__ */ jsx232(
18048
+ return /* @__PURE__ */ jsx233(
18020
18049
  MySelect2,
18021
18050
  __spreadValues({
18022
18051
  isLoading: query.isLoading,
@@ -18030,10 +18059,10 @@ function MySelectFromAPI(_a) {
18030
18059
 
18031
18060
  // src/core/input/MyTextInput.tsx
18032
18061
  import { TextInput as TextInput12 } from "@mantine/core";
18033
- import { jsx as jsx233 } from "react/jsx-runtime";
18062
+ import { jsx as jsx234 } from "react/jsx-runtime";
18034
18063
  function MyTextInput2(_a) {
18035
18064
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
18036
- return /* @__PURE__ */ jsx233(
18065
+ return /* @__PURE__ */ jsx234(
18037
18066
  TextInput12,
18038
18067
  __spreadValues({
18039
18068
  placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "",
@@ -18063,7 +18092,7 @@ import {
18063
18092
  } from "@mantine/core";
18064
18093
  import { IconPlus as IconPlus9, IconTrash as IconTrash8 } from "@tabler/icons-react";
18065
18094
  import { useState as useState34 } from "react";
18066
- import { jsx as jsx234, jsxs as jsxs131 } from "react/jsx-runtime";
18095
+ import { jsx as jsx235, jsxs as jsxs131 } from "react/jsx-runtime";
18067
18096
  function MyWeeklySessionSchedulerPicker({
18068
18097
  value = [],
18069
18098
  onChange
@@ -18094,8 +18123,8 @@ function MyWeeklySessionSchedulerPicker({
18094
18123
  return acc;
18095
18124
  }, {});
18096
18125
  const getLabel = (day) => enum_daysOfWeek[day] || `Day ${day}`;
18097
- return /* @__PURE__ */ jsx234(Paper15, { w: "100%", p: "md", children: /* @__PURE__ */ jsxs131(MyFlexColumn, { children: [
18098
- /* @__PURE__ */ jsx234(Center14, { children: /* @__PURE__ */ jsx234(
18126
+ return /* @__PURE__ */ jsx235(Paper15, { w: "100%", p: "md", children: /* @__PURE__ */ jsxs131(MyFlexColumn, { children: [
18127
+ /* @__PURE__ */ jsx235(Center14, { children: /* @__PURE__ */ jsx235(
18099
18128
  MyDayOfWeekPicker,
18100
18129
  {
18101
18130
  value: selectedDays,
@@ -18105,8 +18134,8 @@ function MyWeeklySessionSchedulerPicker({
18105
18134
  }
18106
18135
  }
18107
18136
  ) }),
18108
- /* @__PURE__ */ jsx234(Divider4, { my: "xs" }),
18109
- /* @__PURE__ */ jsx234(Center14, { children: /* @__PURE__ */ jsx234(ScrollArea7.Autosize, { h: "40vh", children: /* @__PURE__ */ jsx234(MyFlexColumn, { w: { base: "100%", sm: "70%" }, children: selectedDays.map((dayOfWeek) => {
18137
+ /* @__PURE__ */ jsx235(Divider4, { my: "xs" }),
18138
+ /* @__PURE__ */ jsx235(Center14, { children: /* @__PURE__ */ jsx235(ScrollArea7.Autosize, { h: "40vh", children: /* @__PURE__ */ jsx235(MyFlexColumn, { w: { base: "100%", sm: "70%" }, children: selectedDays.map((dayOfWeek) => {
18110
18139
  var _a;
18111
18140
  return /* @__PURE__ */ jsxs131(
18112
18141
  Paper15,
@@ -18116,18 +18145,18 @@ function MyWeeklySessionSchedulerPicker({
18116
18145
  bg: const_object_colors.mantineBackgroundBlueLight,
18117
18146
  children: [
18118
18147
  /* @__PURE__ */ jsxs131(Group39, { gap: "apart", children: [
18119
- /* @__PURE__ */ jsx234(Text29, { w: "70px", fw: 500, children: getLabel(dayOfWeek) }),
18120
- /* @__PURE__ */ jsx234(
18148
+ /* @__PURE__ */ jsx235(Text29, { w: "70px", fw: 500, children: getLabel(dayOfWeek) }),
18149
+ /* @__PURE__ */ jsx235(
18121
18150
  Button23,
18122
18151
  {
18123
18152
  color: "teal.5",
18124
- leftSection: /* @__PURE__ */ jsx234(IconPlus9, { size: 14 }),
18153
+ leftSection: /* @__PURE__ */ jsx235(IconPlus9, { size: 14 }),
18125
18154
  onClick: () => handleAddSession(dayOfWeek),
18126
18155
  children: "Th\xEAm bu\u1ED5i"
18127
18156
  }
18128
18157
  )
18129
18158
  ] }),
18130
- /* @__PURE__ */ jsx234(Divider4, { my: "sm" }),
18159
+ /* @__PURE__ */ jsx235(Divider4, { my: "sm" }),
18131
18160
  (_a = grouped[dayOfWeek]) == null ? void 0 : _a.map((item, indexInDay) => {
18132
18161
  const globalIndex = value.findIndex(
18133
18162
  (v5) => v5 === item
@@ -18139,7 +18168,7 @@ function MyWeeklySessionSchedulerPicker({
18139
18168
  gap: "xs",
18140
18169
  align: "flex-end",
18141
18170
  children: [
18142
- /* @__PURE__ */ jsx234(
18171
+ /* @__PURE__ */ jsx235(
18143
18172
  NumberInput3,
18144
18173
  {
18145
18174
  label: "Ti\u1EBFt b\u1EAFt \u0111\u1EA7u",
@@ -18151,7 +18180,7 @@ function MyWeeklySessionSchedulerPicker({
18151
18180
  )
18152
18181
  }
18153
18182
  ),
18154
- /* @__PURE__ */ jsx234(
18183
+ /* @__PURE__ */ jsx235(
18155
18184
  NumberInput3,
18156
18185
  {
18157
18186
  label: "S\u1ED1 ti\u1EBFt",
@@ -18163,7 +18192,7 @@ function MyWeeklySessionSchedulerPicker({
18163
18192
  )
18164
18193
  }
18165
18194
  ),
18166
- /* @__PURE__ */ jsx234(
18195
+ /* @__PURE__ */ jsx235(
18167
18196
  NumberInput3,
18168
18197
  {
18169
18198
  label: "S\u1ED1 ph\xFAt ",
@@ -18172,13 +18201,13 @@ function MyWeeklySessionSchedulerPicker({
18172
18201
  value: item.durationMinutes
18173
18202
  }
18174
18203
  ),
18175
- /* @__PURE__ */ jsx234(
18204
+ /* @__PURE__ */ jsx235(
18176
18205
  Button23,
18177
18206
  {
18178
18207
  variant: "light",
18179
18208
  color: "red",
18180
18209
  onClick: () => handleRemove(globalIndex),
18181
- leftSection: /* @__PURE__ */ jsx234(IconTrash8, { size: 14 }),
18210
+ leftSection: /* @__PURE__ */ jsx235(IconTrash8, { size: 14 }),
18182
18211
  children: "X\xF3a bu\u1ED5i"
18183
18212
  }
18184
18213
  )
@@ -18198,12 +18227,12 @@ function MyWeeklySessionSchedulerPicker({
18198
18227
  // src/core/layout/MyDroppablePlaceholder.tsx
18199
18228
  import { useDroppable } from "@dnd-kit/core";
18200
18229
  import { Card as Card5, Text as Text30 } from "@mantine/core";
18201
- import { jsx as jsx235 } from "react/jsx-runtime";
18230
+ import { jsx as jsx236 } from "react/jsx-runtime";
18202
18231
  function DroppablePlaceholder({ id }) {
18203
18232
  const { setNodeRef } = useDroppable({
18204
18233
  id
18205
18234
  });
18206
- return /* @__PURE__ */ jsx235(
18235
+ return /* @__PURE__ */ jsx236(
18207
18236
  Card5,
18208
18237
  {
18209
18238
  ref: setNodeRef,
@@ -18211,23 +18240,23 @@ function DroppablePlaceholder({ id }) {
18211
18240
  radius: "md",
18212
18241
  p: "sm",
18213
18242
  style: { opacity: 0.5, minHeight: 40 },
18214
- children: /* @__PURE__ */ jsx235(Text30, { size: "sm", c: "dimmed", ta: "center", children: "K\xE9o item v\xE0o \u0111\xE2y" })
18243
+ children: /* @__PURE__ */ jsx236(Text30, { size: "sm", c: "dimmed", ta: "center", children: "K\xE9o item v\xE0o \u0111\xE2y" })
18215
18244
  }
18216
18245
  );
18217
18246
  }
18218
18247
 
18219
18248
  // src/core/layout/MyFlexEnd.tsx
18220
18249
  import { Group as Group40 } from "@mantine/core";
18221
- import { jsx as jsx236 } from "react/jsx-runtime";
18250
+ import { jsx as jsx237 } from "react/jsx-runtime";
18222
18251
  function MyFlexEnd2(_a) {
18223
18252
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
18224
- return /* @__PURE__ */ jsx236(Group40, __spreadProps(__spreadValues({ justify: "end", mt: "md" }, rest), { children }));
18253
+ return /* @__PURE__ */ jsx237(Group40, __spreadProps(__spreadValues({ justify: "end", mt: "md" }, rest), { children }));
18225
18254
  }
18226
18255
 
18227
18256
  // src/core/navigation/CustomTabs/CustomTabs.tsx
18228
18257
  import { Paper as Paper16, Tabs as Tabs5, Text as Text31 } from "@mantine/core";
18229
18258
  import classes2 from "./Customtabs.module-RMUG5QY4.module.css";
18230
- import { jsx as jsx237, jsxs as jsxs132 } from "react/jsx-runtime";
18259
+ import { jsx as jsx238, jsxs as jsxs132 } from "react/jsx-runtime";
18231
18260
  var tabColors = [
18232
18261
  { color: "blue" },
18233
18262
  { color: "orange" },
@@ -18237,28 +18266,29 @@ var tabColors = [
18237
18266
  ];
18238
18267
  function CustomTabs(_a) {
18239
18268
  var _b = _a, { tabs } = _b, rest = __objRest(_b, ["tabs"]);
18240
- return /* @__PURE__ */ jsx237(Paper16, { bg: const_object_colors.mantineBackgroundSecondary, children: /* @__PURE__ */ jsxs132(Tabs5, __spreadProps(__spreadValues({ defaultValue: tabs[0].label, color: "lime", variant: "outline", classNames: classes2 }, rest), { children: [
18241
- /* @__PURE__ */ jsx237(Tabs5.List, { children: tabs.map((item, index) => {
18269
+ return /* @__PURE__ */ jsx238(Paper16, { bg: const_object_colors.mantineBackgroundSecondary, children: /* @__PURE__ */ jsxs132(Tabs5, __spreadProps(__spreadValues({ defaultValue: tabs[0].label, color: "lime", variant: "outline", classNames: classes2 }, rest), { children: [
18270
+ /* @__PURE__ */ jsx238(Tabs5.List, { children: tabs.map((item, index) => {
18242
18271
  const colors = tabColors[index];
18243
- return /* @__PURE__ */ jsx237(
18272
+ return /* @__PURE__ */ jsx238(
18244
18273
  Tabs5.Tab,
18245
18274
  __spreadProps(__spreadValues({
18246
- value: item.label
18275
+ value: item.label,
18276
+ ref: item.ref
18247
18277
  }, item), {
18248
- children: /* @__PURE__ */ jsx237(Text31, { fw: "bold", children: item.label })
18278
+ children: /* @__PURE__ */ jsx238(Text31, { fw: "bold", children: item.label })
18249
18279
  }),
18250
18280
  item.label
18251
18281
  );
18252
18282
  }) }),
18253
18283
  tabs.map((item, index) => {
18254
18284
  const colors = tabColors[index];
18255
- return /* @__PURE__ */ jsx237(Tabs5.Panel, { p: "md", value: item.label, children: item.children }, index);
18285
+ return /* @__PURE__ */ jsx238(Tabs5.Panel, { p: "md", value: item.label, children: item.children }, index);
18256
18286
  })
18257
18287
  ] })) });
18258
18288
  }
18259
18289
 
18260
18290
  // src/core/overlays/MyPrintContent.tsx
18261
- import { jsx as jsx238, jsxs as jsxs133 } from "react/jsx-runtime";
18291
+ import { jsx as jsx239, jsxs as jsxs133 } from "react/jsx-runtime";
18262
18292
  function MyPrintContent({
18263
18293
  children,
18264
18294
  autoPadding = true,
@@ -18277,8 +18307,8 @@ function MyPrintContent({
18277
18307
  }
18278
18308
  };
18279
18309
  return /* @__PURE__ */ jsxs133("div", { children: [
18280
- /* @__PURE__ */ jsx238("style", { children: getPageSizeCSS() }),
18281
- /* @__PURE__ */ jsx238("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx238(
18310
+ /* @__PURE__ */ jsx239("style", { children: getPageSizeCSS() }),
18311
+ /* @__PURE__ */ jsx239("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx239(
18282
18312
  "div",
18283
18313
  {
18284
18314
  ref: printRef,
@@ -18294,7 +18324,7 @@ function MyPrintContent({
18294
18324
 
18295
18325
  // src/core/overlays/MyModalStackImport/Usecase/FileImportValidationDetailModal.tsx
18296
18326
  import { Modal as Modal16, Table as Table4, Text as Text32 } from "@mantine/core";
18297
- import { jsx as jsx239, jsxs as jsxs134 } from "react/jsx-runtime";
18327
+ import { jsx as jsx240, jsxs as jsxs134 } from "react/jsx-runtime";
18298
18328
 
18299
18329
  // src/core/overlays/MyModalStackImport/Usecase/FileImportValidationModal.tsx
18300
18330
  import {
@@ -18303,13 +18333,13 @@ import {
18303
18333
  Modal as Modal17,
18304
18334
  Table as Table5
18305
18335
  } from "@mantine/core";
18306
- import { jsx as jsx240, jsxs as jsxs135 } from "react/jsx-runtime";
18336
+ import { jsx as jsx241, jsxs as jsxs135 } from "react/jsx-runtime";
18307
18337
 
18308
18338
  // src/core/withAPI/CustomDataTableAPI.tsx
18309
18339
  import { Group as Group42 } from "@mantine/core";
18310
18340
 
18311
18341
  // src/core/withAPI/CustomDeleteListAPI.tsx
18312
- import { jsx as jsx241 } from "react/jsx-runtime";
18342
+ import { jsx as jsx242 } from "react/jsx-runtime";
18313
18343
  function CustomButtonDeleteListAPI(_a) {
18314
18344
  var _b = _a, {
18315
18345
  deleteListFn,
@@ -18319,7 +18349,7 @@ function CustomButtonDeleteListAPI(_a) {
18319
18349
  "table"
18320
18350
  ]);
18321
18351
  const selectedRow = table.getSelectedRowModel().flatRows.flatMap((item) => item.original);
18322
- return /* @__PURE__ */ jsx241(
18352
+ return /* @__PURE__ */ jsx242(
18323
18353
  MyButtonDeleteList,
18324
18354
  __spreadValues({
18325
18355
  count: selectedRow.length,
@@ -18330,7 +18360,7 @@ function CustomButtonDeleteListAPI(_a) {
18330
18360
  }
18331
18361
 
18332
18362
  // src/core/withAPI/CustomDataTableAPI.tsx
18333
- import { jsx as jsx242, jsxs as jsxs136 } from "react/jsx-runtime";
18363
+ import { jsx as jsx243, jsxs as jsxs136 } from "react/jsx-runtime";
18334
18364
  function CustomDataTableAPI(_a) {
18335
18365
  var _b = _a, {
18336
18366
  deleteFn,
@@ -18352,7 +18382,7 @@ function CustomDataTableAPI(_a) {
18352
18382
  "enableCreate",
18353
18383
  "enableUpdate"
18354
18384
  ]);
18355
- return /* @__PURE__ */ jsx242(
18385
+ return /* @__PURE__ */ jsx243(
18356
18386
  MyDataTable,
18357
18387
  __spreadProps(__spreadValues({
18358
18388
  isError: query.isError,
@@ -18362,16 +18392,16 @@ function CustomDataTableAPI(_a) {
18362
18392
  renderTopToolbarCustomActions: (props) => {
18363
18393
  var _a2;
18364
18394
  return /* @__PURE__ */ jsxs136(Group42, { children: [
18365
- enableCreate !== false && buttonCreateUpdateProps && /* @__PURE__ */ jsx242(MyButtonCreateUpdate, __spreadProps(__spreadValues({}, buttonCreateUpdateProps), { children: renderCreateUpdateContent ? renderCreateUpdateContent(false) : buttonCreateUpdateProps.children })),
18395
+ enableCreate !== false && buttonCreateUpdateProps && /* @__PURE__ */ jsx243(MyButtonCreateUpdate, __spreadProps(__spreadValues({}, buttonCreateUpdateProps), { children: renderCreateUpdateContent ? renderCreateUpdateContent(false) : buttonCreateUpdateProps.children })),
18366
18396
  (_a2 = rest.renderTopToolbarCustomActions) == null ? void 0 : _a2.call(rest, props),
18367
- deleteListFn && /* @__PURE__ */ jsx242(CustomButtonDeleteListAPI, { deleteListFn, table: props.table })
18397
+ deleteListFn && /* @__PURE__ */ jsx243(CustomButtonDeleteListAPI, { deleteListFn, table: props.table })
18368
18398
  ] });
18369
18399
  },
18370
18400
  renderRowActions: (props) => {
18371
18401
  var _a2;
18372
18402
  return /* @__PURE__ */ jsxs136(MyCenterFull, { children: [
18373
18403
  (_a2 = rest.renderRowActions) == null ? void 0 : _a2.call(rest, props),
18374
- enableUpdate !== false && buttonCreateUpdateProps && /* @__PURE__ */ jsx242(
18404
+ enableUpdate !== false && buttonCreateUpdateProps && /* @__PURE__ */ jsx243(
18375
18405
  MyButtonCreateUpdate,
18376
18406
  __spreadProps(__spreadValues({
18377
18407
  isUpdate: true,
@@ -18380,39 +18410,13 @@ function CustomDataTableAPI(_a) {
18380
18410
  children: renderCreateUpdateContent ? renderCreateUpdateContent(true) : buttonCreateUpdateProps.children
18381
18411
  })
18382
18412
  ),
18383
- deleteFn && /* @__PURE__ */ jsx242(MyActionIconDelete, { contextData: props.row.original.code, onSubmit: () => deleteFn(props.row.original.id) })
18413
+ deleteFn && /* @__PURE__ */ jsx243(MyActionIconDelete, { contextData: props.row.original.code, onSubmit: () => deleteFn(props.row.original.id) })
18384
18414
  ] });
18385
18415
  }
18386
18416
  })
18387
18417
  );
18388
18418
  }
18389
18419
 
18390
- // src/core/withAPI/MyButtonViewFileAPI.tsx
18391
- import { useDisclosure as useDisclosure23 } from "@mantine/hooks";
18392
- import { useQuery as useQuery11 } from "@tanstack/react-query";
18393
- import { jsx as jsx243 } from "react/jsx-runtime";
18394
- function MyButtonViewFileAPI({ filePath }) {
18395
- const disc = useDisclosure23();
18396
- const query = useQuery11({
18397
- queryKey: ["viewFile", filePath],
18398
- queryFn: async () => {
18399
- const res = await baseAxios_default.get("/AQ/GetFile?filePath=" + filePath);
18400
- return res.data.data;
18401
- },
18402
- enabled: filePath != void 0 && disc[0]
18403
- });
18404
- return /* @__PURE__ */ jsx243(
18405
- MyButtonViewFile,
18406
- {
18407
- file: query.data,
18408
- loading: query.isLoading,
18409
- disclosure: disc,
18410
- toolTipProps: { label: filePath ? void 0 : "Kh\xF4ng c\xF3 \u0111\u01B0\u1EDDng d\u1EABn file" },
18411
- buttonProps: { disabled: filePath == void 0 }
18412
- }
18413
- );
18414
- }
18415
-
18416
18420
  export {
18417
18421
  MyBoxesCore,
18418
18422
  Boxes,