aq-fe-framework 0.1.733 → 0.1.734

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,7 @@
1
+ import {
2
+ createGenericStore,
3
+ useStore_Permission
4
+ } from "./chunk-SUH3FFFV.mjs";
1
5
  import {
2
6
  U0MyValidateEmail,
3
7
  utils_aq_mapBaseEntityToDomain,
@@ -12,10 +16,6 @@ import {
12
16
  utils_mantineReactTable_sortColumnsByKeyOrder,
13
17
  utils_pdf_download
14
18
  } from "./chunk-2B2FKBKX.mjs";
15
- import {
16
- createGenericStore,
17
- useStore_Permission
18
- } from "./chunk-SUH3FFFV.mjs";
19
19
  import {
20
20
  baseColumns
21
21
  } from "./chunk-O7YCQQO5.mjs";
@@ -26,7 +26,7 @@ import {
26
26
  import {
27
27
  const_object_colors,
28
28
  const_object_documentTypes
29
- } from "./chunk-IUTUR43V.mjs";
29
+ } from "./chunk-REMYBOSK.mjs";
30
30
  import {
31
31
  enum_daysOfWeek
32
32
  } from "./chunk-K6S7R6LU.mjs";
@@ -8396,7 +8396,7 @@ import {
8396
8396
  ActionIcon as ActionIcon12,
8397
8397
  AppShell,
8398
8398
  Divider as Divider3,
8399
- Group as Group33,
8399
+ Group as Group34,
8400
8400
  Image as Image4,
8401
8401
  ScrollArea as ScrollArea7,
8402
8402
  Text as Text26,
@@ -8409,7 +8409,7 @@ import {
8409
8409
  IconLibraryMinus
8410
8410
  } from "@tabler/icons-react";
8411
8411
  import { usePathname as usePathname3 } from "next/navigation";
8412
- import { useEffect as useEffect34, useMemo as useMemo40, useState as useState26 } from "react";
8412
+ import { useEffect as useEffect35, useMemo as useMemo40, useState as useState26 } from "react";
8413
8413
 
8414
8414
  // src/components/Layouts/BasicAppShell/RenderNavLinks.tsx
8415
8415
  import { Badge as Badge4, NavLink } from "@mantine/core";
@@ -14626,7 +14626,10 @@ function Adapter_RoleForm({
14626
14626
  }
14627
14627
 
14628
14628
  // src/modules/User/adapter/Adapter_UserTable.tsx
14629
- import { useState as useState22 } from "react";
14629
+ import { Group as Group32, TextInput as TextInput9 } from "@mantine/core";
14630
+ import { useDebouncedValue as useDebouncedValue3 } from "@mantine/hooks";
14631
+ import { IconSearch as IconSearch5 } from "@tabler/icons-react";
14632
+ import { useEffect as useEffect29, useState as useState22 } from "react";
14630
14633
 
14631
14634
  // src/modules/User/usecase/Usecase_UserTable.tsx
14632
14635
  import { useMemo as useMemo35 } from "react";
@@ -14682,36 +14685,58 @@ var mapper_user = {
14682
14685
  };
14683
14686
 
14684
14687
  // src/modules/User/adapter/Adapter_UserTable.tsx
14685
- import { jsx as jsx204 } from "react/jsx-runtime";
14688
+ import { jsx as jsx204, jsxs as jsxs110 } from "react/jsx-runtime";
14686
14689
  function Adapter_UserTable(_a) {
14687
14690
  var rest = __objRest(_a, []);
14688
14691
  var _a2;
14689
- const pagingState = useState22({
14690
- pageIndex: 0,
14691
- pageSize: 50
14692
- });
14692
+ const paginationState = useState22({ pageIndex: 0, pageSize: 50 });
14693
+ const [searchInput, setSearchInput] = useState22("");
14694
+ const [debouncedSearch] = useDebouncedValue3(searchInput, 500);
14695
+ const [globalFilter, setGlobalFilter] = useState22("");
14693
14696
  const adminAccountQuery = useMyReactQuery({
14694
- queryKey: ["users", pagingState[0]],
14697
+ queryKey: ["users", paginationState[0], globalFilter],
14695
14698
  axiosFn: () => {
14696
14699
  return service_account.getAdminAccount({
14697
14700
  paging: {
14698
- pageNumber: pagingState[0].pageIndex + 1,
14699
- pageSize: pagingState[0].pageSize
14700
- }
14701
+ pageNumber: paginationState[0].pageIndex + 1,
14702
+ pageSize: paginationState[0].pageSize
14703
+ },
14704
+ name: globalFilter || void 0
14701
14705
  });
14702
14706
  }
14703
14707
  });
14708
+ useEffect29(() => {
14709
+ setGlobalFilter(debouncedSearch);
14710
+ paginationState[1]({ pageIndex: 0, pageSize: paginationState[0].pageSize });
14711
+ }, [debouncedSearch]);
14704
14712
  return /* @__PURE__ */ jsx204(
14705
14713
  UseCase_UserTable,
14706
- __spreadValues({
14714
+ __spreadProps(__spreadValues({
14707
14715
  rowCount: adminAccountQuery.dataCount,
14708
- pagination: pagingState[0],
14709
- onPaginationChange: pagingState[1],
14716
+ pagination: paginationState[0],
14717
+ onPaginationChange: paginationState[1],
14710
14718
  isLoading: adminAccountQuery.isLoading,
14711
14719
  isError: adminAccountQuery.isError,
14712
14720
  getRowId: (row) => row.id,
14713
14721
  data: ((_a2 = adminAccountQuery.data) == null ? void 0 : _a2.map(mapper_user.mapToDomain)) || []
14714
- }, rest)
14722
+ }, rest), {
14723
+ renderTopToolbarCustomActions: (table) => {
14724
+ var _a3;
14725
+ return /* @__PURE__ */ jsxs110(Group32, { children: [
14726
+ (_a3 = rest == null ? void 0 : rest.renderTopToolbarCustomActions) == null ? void 0 : _a3.call(rest, table),
14727
+ /* @__PURE__ */ jsx204(
14728
+ TextInput9,
14729
+ {
14730
+ w: "250",
14731
+ placeholder: "T\xECm theo t\xE0i kho\u1EA3n ho\u1EB7c h\u1ECD t\xEAn...",
14732
+ leftSection: /* @__PURE__ */ jsx204(IconSearch5, { size: 16 }),
14733
+ value: searchInput,
14734
+ onChange: (e4) => setSearchInput(e4.currentTarget.value)
14735
+ }
14736
+ )
14737
+ ] });
14738
+ }
14739
+ })
14715
14740
  );
14716
14741
  }
14717
14742
 
@@ -14719,7 +14744,7 @@ function Adapter_UserTable(_a) {
14719
14744
  import { useDisclosure as useDisclosure16 } from "@mantine/hooks";
14720
14745
  import { notifications as notifications2 } from "@mantine/notifications";
14721
14746
  import { useQueryClient as useQueryClient3 } from "@tanstack/react-query";
14722
- import { useEffect as useEffect29, useState as useState23 } from "react";
14747
+ import { useEffect as useEffect30, useState as useState23 } from "react";
14723
14748
  import { jsx as jsx205 } from "react/jsx-runtime";
14724
14749
  function Adapter_UserAddToRole({
14725
14750
  roleId,
@@ -14760,7 +14785,7 @@ function Adapter_UserAddToRole({
14760
14785
  },
14761
14786
  enableDefaultSuccess: false
14762
14787
  });
14763
- useEffect29(() => {
14788
+ useEffect30(() => {
14764
14789
  if (userIds == null ? void 0 : userIds.length) {
14765
14790
  const selected = userIds.reduce((acc, id) => {
14766
14791
  acc[id] = true;
@@ -14815,7 +14840,7 @@ function Adapter_UserDeleteFromRole({
14815
14840
  }
14816
14841
 
14817
14842
  // src/modules/User/adapter/Adapter_UserTableByRole.tsx
14818
- import { useEffect as useEffect30 } from "react";
14843
+ import { useEffect as useEffect31 } from "react";
14819
14844
  import { jsx as jsx207 } from "react/jsx-runtime";
14820
14845
  function Adapter_UserTableByRole(_a) {
14821
14846
  var _b = _a, { byRoleId } = _b, rest = __objRest(_b, ["byRoleId"]);
@@ -14826,7 +14851,7 @@ function Adapter_UserTableByRole(_a) {
14826
14851
  return service_role.getUserByRole({ roleId: byRoleId });
14827
14852
  }
14828
14853
  });
14829
- useEffect30(() => {
14854
+ useEffect31(() => {
14830
14855
  if (adminAccountQuery.data && rest.onUserLoad) {
14831
14856
  const users = adminAccountQuery.data.map(mapper_user.mapToDomain);
14832
14857
  rest.onUserLoad(users);
@@ -14847,7 +14872,7 @@ function Adapter_UserTableByRole(_a) {
14847
14872
  import { Tabs as Tabs3 } from "@mantine/core";
14848
14873
  import { useDisclosure as useDisclosure17 } from "@mantine/hooks";
14849
14874
  import { useState as useState24 } from "react";
14850
- import { jsx as jsx208, jsxs as jsxs110 } from "react/jsx-runtime";
14875
+ import { jsx as jsx208, jsxs as jsxs111 } from "react/jsx-runtime";
14851
14876
  function Feat_CreateUpdateRole({ values }) {
14852
14877
  const isUpdate = values != void 0;
14853
14878
  const disc = useDisclosure17();
@@ -14860,8 +14885,8 @@ function Feat_CreateUpdateRole({ values }) {
14860
14885
  actionIconProps: { actionType: "update" },
14861
14886
  modalProps: { size: "80%", title: "Chi ti\u1EBFt nh\xF3m t\xE0i kho\u1EA3n" },
14862
14887
  isActionIcon: isUpdate,
14863
- children: /* @__PURE__ */ jsxs110(Tabs3, { defaultValue: "gallery", children: [
14864
- /* @__PURE__ */ jsxs110(Tabs3.List, { children: [
14888
+ children: /* @__PURE__ */ jsxs111(Tabs3, { defaultValue: "gallery", children: [
14889
+ /* @__PURE__ */ jsxs111(Tabs3.List, { children: [
14865
14890
  /* @__PURE__ */ jsx208(Tabs3.Tab, { value: "gallery", children: "Th\xF4ng tin chung" }),
14866
14891
  /* @__PURE__ */ jsx208(Tabs3.Tab, { value: "messages", hidden: !isUpdate, children: "Danh s\xE1ch th\xE0nh vi\xEAn" })
14867
14892
  ] }),
@@ -14891,14 +14916,14 @@ function Feat_CreateUpdateRole({ values }) {
14891
14916
  }
14892
14917
 
14893
14918
  // src/modules-features/admin/core/roleManagement/Feat_RoleManagement.tsx
14894
- import { jsx as jsx209, jsxs as jsxs111 } from "react/jsx-runtime";
14919
+ import { jsx as jsx209, jsxs as jsxs112 } from "react/jsx-runtime";
14895
14920
  function Feat_RoleManagement() {
14896
14921
  return /* @__PURE__ */ jsx209(
14897
14922
  Adapter_RoleTable2,
14898
14923
  {
14899
14924
  renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx209(Feat_CreateUpdateRole, {}),
14900
14925
  renderRowActions: ({ row }) => {
14901
- return /* @__PURE__ */ jsxs111(MyCenterFull, { children: [
14926
+ return /* @__PURE__ */ jsxs112(MyCenterFull, { children: [
14902
14927
  /* @__PURE__ */ jsx209(
14903
14928
  Feat_CreateUpdateRole,
14904
14929
  {
@@ -14924,7 +14949,7 @@ import { useMemo as useMemo36 } from "react";
14924
14949
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Create.tsx
14925
14950
  import { FileInput as FileInput11 } from "@mantine/core";
14926
14951
  import { useForm as useForm37 } from "@mantine/form";
14927
- import { jsx as jsx210, jsxs as jsxs112 } from "react/jsx-runtime";
14952
+ import { jsx as jsx210, jsxs as jsxs113 } from "react/jsx-runtime";
14928
14953
  function F_securityPolicyDocs_Create({ SecurityTypeId }) {
14929
14954
  const form = useForm37({
14930
14955
  mode: "uncontrolled",
@@ -14935,7 +14960,7 @@ function F_securityPolicyDocs_Create({ SecurityTypeId }) {
14935
14960
  file: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
14936
14961
  }
14937
14962
  });
14938
- return /* @__PURE__ */ jsxs112(
14963
+ return /* @__PURE__ */ jsxs113(
14939
14964
  MyButtonCreate,
14940
14965
  {
14941
14966
  objectName: "v\u0103n b\u1EA3n",
@@ -14998,9 +15023,9 @@ function F_securityPolicyDocs_Delete({
14998
15023
  }
14999
15024
 
15000
15025
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Update.tsx
15001
- import { FileInput as FileInput12, TextInput as TextInput9 } from "@mantine/core";
15026
+ import { FileInput as FileInput12, TextInput as TextInput10 } from "@mantine/core";
15002
15027
  import { useForm as useForm38 } from "@mantine/form";
15003
- import { jsx as jsx212, jsxs as jsxs113 } from "react/jsx-runtime";
15028
+ import { jsx as jsx212, jsxs as jsxs114 } from "react/jsx-runtime";
15004
15029
  function F_securityPolicyDocs_Update({ values }) {
15005
15030
  var _a;
15006
15031
  const form = useForm38({
@@ -15019,7 +15044,7 @@ function F_securityPolicyDocs_Update({ values }) {
15019
15044
  file: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
15020
15045
  }
15021
15046
  });
15022
- return /* @__PURE__ */ jsxs113(
15047
+ return /* @__PURE__ */ jsxs114(
15023
15048
  MyActionIconUpdate,
15024
15049
  {
15025
15050
  form,
@@ -15031,7 +15056,7 @@ function F_securityPolicyDocs_Update({ values }) {
15031
15056
  },
15032
15057
  children: [
15033
15058
  /* @__PURE__ */ jsx212(
15034
- TextInput9,
15059
+ TextInput10,
15035
15060
  __spreadValues({
15036
15061
  withAsterisk: true,
15037
15062
  readOnly: true,
@@ -15046,7 +15071,7 @@ function F_securityPolicyDocs_Update({ values }) {
15046
15071
  }, form.getInputProps("promulgateDate"))
15047
15072
  ),
15048
15073
  /* @__PURE__ */ jsx212(
15049
- TextInput9,
15074
+ TextInput10,
15050
15075
  __spreadValues({
15051
15076
  withAsterisk: true,
15052
15077
  label: "T\xEAn t\xE0i li\u1EC7u"
@@ -15065,7 +15090,7 @@ function F_securityPolicyDocs_Update({ values }) {
15065
15090
  }
15066
15091
 
15067
15092
  // src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Read.tsx
15068
- import { jsx as jsx213, jsxs as jsxs114 } from "react/jsx-runtime";
15093
+ import { jsx as jsx213, jsxs as jsxs115 } from "react/jsx-runtime";
15069
15094
  function F_securityPolicyDocs_Read({ SecurityTypeId }) {
15070
15095
  const query = useMyReactQuery({
15071
15096
  queryKey: ["F_securityPolicyDocs_Read"],
@@ -15104,7 +15129,7 @@ function F_securityPolicyDocs_Read({ SecurityTypeId }) {
15104
15129
  renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx213(F_securityPolicyDocs_Create, { SecurityTypeId }),
15105
15130
  renderRowActions: ({ row }) => {
15106
15131
  var _a;
15107
- return /* @__PURE__ */ jsxs114(MyCenterFull, { children: [
15132
+ return /* @__PURE__ */ jsxs115(MyCenterFull, { children: [
15108
15133
  /* @__PURE__ */ jsx213(F_securityPolicyDocs_Update, { values: row.original }),
15109
15134
  /* @__PURE__ */ jsx213(
15110
15135
  F_securityPolicyDocs_Delete,
@@ -15131,7 +15156,7 @@ import { useMemo as useMemo37 } from "react";
15131
15156
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Create.tsx
15132
15157
  import { FileInput as FileInput13, Textarea as Textarea7 } from "@mantine/core";
15133
15158
  import { useForm as useForm39 } from "@mantine/form";
15134
- import { jsx as jsx215, jsxs as jsxs115 } from "react/jsx-runtime";
15159
+ import { jsx as jsx215, jsxs as jsxs116 } from "react/jsx-runtime";
15135
15160
  function F_systemUpdateDocs_Create({
15136
15161
  RefinementTypeId
15137
15162
  }) {
@@ -15146,7 +15171,7 @@ function F_systemUpdateDocs_Create({
15146
15171
  endDate: (value, values) => value && values.startDate && new Date(value) > new Date(values.startDate) ? null : "Ng\xE0y k\u1EBFt th\xFAc ph\u1EA3i l\u1EDBn h\u01A1n ng\xE0y b\u1EAFt \u0111\u1EA7u"
15147
15172
  }
15148
15173
  });
15149
- return /* @__PURE__ */ jsxs115(
15174
+ return /* @__PURE__ */ jsxs116(
15150
15175
  MyButtonCreate,
15151
15176
  {
15152
15177
  objectName: "v\u0103n b\u1EA3n",
@@ -15227,7 +15252,7 @@ function F_systemUpdateDocs_Delete({
15227
15252
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs_Update.tsx
15228
15253
  import { FileInput as FileInput14, Textarea as Textarea8 } from "@mantine/core";
15229
15254
  import { useForm as useForm40 } from "@mantine/form";
15230
- import { jsx as jsx217, jsxs as jsxs116 } from "react/jsx-runtime";
15255
+ import { jsx as jsx217, jsxs as jsxs117 } from "react/jsx-runtime";
15231
15256
  function F_systemUpdateDocs_Update({ values }) {
15232
15257
  var _a;
15233
15258
  const form = useForm40({
@@ -15250,7 +15275,7 @@ function F_systemUpdateDocs_Update({ values }) {
15250
15275
  endDate: (value, values2) => value && values2.startDate && new Date(value) > new Date(values2.startDate) ? null : "Ng\xE0y k\u1EBFt th\xFAc ph\u1EA3i l\u1EDBn h\u01A1n ng\xE0y b\u1EAFt \u0111\u1EA7u"
15251
15276
  }
15252
15277
  });
15253
- return /* @__PURE__ */ jsxs116(
15278
+ return /* @__PURE__ */ jsxs117(
15254
15279
  MyActionIconUpdate,
15255
15280
  {
15256
15281
  form,
@@ -15312,7 +15337,7 @@ function F_systemUpdateDocs_Update({ values }) {
15312
15337
  }
15313
15338
 
15314
15339
  // src/modules-features/admin/core/systemUpdateDocs/F_systemUpdateDocs.tsx
15315
- import { jsx as jsx218, jsxs as jsxs117 } from "react/jsx-runtime";
15340
+ import { jsx as jsx218, jsxs as jsxs118 } from "react/jsx-runtime";
15316
15341
  function F_systemUpdateDocs({ RefinementTypeId }) {
15317
15342
  const query = useMyReactQuery({
15318
15343
  queryKey: ["F_systemUpdateDocs_Read"],
@@ -15354,7 +15379,7 @@ function F_systemUpdateDocs({ RefinementTypeId }) {
15354
15379
  data: query.data || [],
15355
15380
  renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx218(F_systemUpdateDocs_Create, { RefinementTypeId }),
15356
15381
  renderRowActions: ({ row }) => {
15357
- return /* @__PURE__ */ jsxs117(MyCenterFull, { children: [
15382
+ return /* @__PURE__ */ jsxs118(MyCenterFull, { children: [
15358
15383
  /* @__PURE__ */ jsx218(F_systemUpdateDocs_Update, { values: row.original }),
15359
15384
  /* @__PURE__ */ jsx218(
15360
15385
  F_systemUpdateDocs_Delete,
@@ -15375,7 +15400,7 @@ import { useMemo as useMemo38 } from "react";
15375
15400
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Create.tsx
15376
15401
  import { FileInput as FileInput15 } from "@mantine/core";
15377
15402
  import { useForm as useForm41 } from "@mantine/form";
15378
- import { jsx as jsx219, jsxs as jsxs118 } from "react/jsx-runtime";
15403
+ import { jsx as jsx219, jsxs as jsxs119 } from "react/jsx-runtime";
15379
15404
  function F_userGuideDocs_Create({ GuidelineTypeId }) {
15380
15405
  const form = useForm41({
15381
15406
  mode: "uncontrolled",
@@ -15385,7 +15410,7 @@ function F_userGuideDocs_Create({ GuidelineTypeId }) {
15385
15410
  file: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
15386
15411
  }
15387
15412
  });
15388
- return /* @__PURE__ */ jsxs118(
15413
+ return /* @__PURE__ */ jsxs119(
15389
15414
  MyButtonCreate,
15390
15415
  {
15391
15416
  objectName: "v\u0103n b\u1EA3n",
@@ -15443,7 +15468,7 @@ function F_userGuideDocs_Delete({
15443
15468
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Update.tsx
15444
15469
  import { FileInput as FileInput16 } from "@mantine/core";
15445
15470
  import { useForm as useForm42 } from "@mantine/form";
15446
- import { jsx as jsx221, jsxs as jsxs119 } from "react/jsx-runtime";
15471
+ import { jsx as jsx221, jsxs as jsxs120 } from "react/jsx-runtime";
15447
15472
  function F_userGuideDocs_Update({ values }) {
15448
15473
  var _a;
15449
15474
  const form = useForm42({
@@ -15460,7 +15485,7 @@ function F_userGuideDocs_Update({ values }) {
15460
15485
  file: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
15461
15486
  }
15462
15487
  });
15463
- return /* @__PURE__ */ jsxs119(
15488
+ return /* @__PURE__ */ jsxs120(
15464
15489
  MyActionIconUpdate,
15465
15490
  {
15466
15491
  form,
@@ -15500,7 +15525,7 @@ function F_userGuideDocs_Update({ values }) {
15500
15525
  }
15501
15526
 
15502
15527
  // src/modules-features/admin/core/userGuideDocs/F_userGuideDocs_Read.tsx
15503
- import { jsx as jsx222, jsxs as jsxs120 } from "react/jsx-runtime";
15528
+ import { jsx as jsx222, jsxs as jsxs121 } from "react/jsx-runtime";
15504
15529
  function F_userGuideDocs_Read({ GuidelineTypeId }) {
15505
15530
  const query = useMyReactQuery({
15506
15531
  queryKey: ["F_userGuideDocs_Read"],
@@ -15534,7 +15559,7 @@ function F_userGuideDocs_Read({ GuidelineTypeId }) {
15534
15559
  data: query.data || [],
15535
15560
  renderTopToolbarCustomActions: () => /* @__PURE__ */ jsx222(F_userGuideDocs_Create, { GuidelineTypeId }),
15536
15561
  renderRowActions: ({ row }) => {
15537
- return /* @__PURE__ */ jsxs120(MyCenterFull, { children: [
15562
+ return /* @__PURE__ */ jsxs121(MyCenterFull, { children: [
15538
15563
  /* @__PURE__ */ jsx222(F_userGuideDocs_Update, { values: row.original }),
15539
15564
  /* @__PURE__ */ jsx222(
15540
15565
  F_userGuideDocs_Delete,
@@ -15560,7 +15585,7 @@ import { Space as Space9 } from "@mantine/core";
15560
15585
 
15561
15586
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Create.tsx
15562
15587
  import { useForm as useForm43 } from "@mantine/form";
15563
- import { jsx as jsx224, jsxs as jsxs121 } from "react/jsx-runtime";
15588
+ import { jsx as jsx224, jsxs as jsxs122 } from "react/jsx-runtime";
15564
15589
  function F_workflowProcessDocs_Create({
15565
15590
  WorkflowTypeId
15566
15591
  }) {
@@ -15574,7 +15599,7 @@ function F_workflowProcessDocs_Create({
15574
15599
  file: (value) => value ? null : "T\u1EC7p \u0111\xEDnh k\xE8m kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
15575
15600
  }
15576
15601
  });
15577
- return /* @__PURE__ */ jsxs121(
15602
+ return /* @__PURE__ */ jsxs122(
15578
15603
  MyButtonCreate,
15579
15604
  {
15580
15605
  objectName: "V\u0103n b\u1EA3n quy \u0111\u1ECBnh t\u1ED5 ch\u1EE9c",
@@ -15656,7 +15681,7 @@ function F_workflowProcessDocs_Delete({
15656
15681
 
15657
15682
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Update.tsx
15658
15683
  import { useForm as useForm44 } from "@mantine/form";
15659
- import { jsx as jsx226, jsxs as jsxs122 } from "react/jsx-runtime";
15684
+ import { jsx as jsx226, jsxs as jsxs123 } from "react/jsx-runtime";
15660
15685
  function F_workflowProcessDocs_Update({
15661
15686
  values,
15662
15687
  WorkflowTypeId
@@ -15678,7 +15703,7 @@ function F_workflowProcessDocs_Update({
15678
15703
  file: (value) => value ? null : "T\u1EC7p \u0111\xEDnh k\xE8m kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
15679
15704
  }
15680
15705
  });
15681
- return /* @__PURE__ */ jsxs122(
15706
+ return /* @__PURE__ */ jsxs123(
15682
15707
  MyActionIconUpdate,
15683
15708
  {
15684
15709
  form,
@@ -15739,7 +15764,7 @@ function F_workflowProcessDocs_Update({
15739
15764
 
15740
15765
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Read.tsx
15741
15766
  import { useColorScheme as useColorScheme3 } from "@mantine/hooks";
15742
- import { jsx as jsx227, jsxs as jsxs123 } from "react/jsx-runtime";
15767
+ import { jsx as jsx227, jsxs as jsxs124 } from "react/jsx-runtime";
15743
15768
  function F_workflowProcessDocs_Read({
15744
15769
  WorkflowTypeId
15745
15770
  }) {
@@ -15815,7 +15840,7 @@ function SubRead6({
15815
15840
  ],
15816
15841
  []
15817
15842
  );
15818
- return /* @__PURE__ */ jsxs123(Accordion6.Item, { value: documentType.toString(), children: [
15843
+ return /* @__PURE__ */ jsxs124(Accordion6.Item, { value: documentType.toString(), children: [
15819
15844
  /* @__PURE__ */ jsx227(Accordion6.Control, { children: name }),
15820
15845
  /* @__PURE__ */ jsx227(Accordion6.Panel, { children: /* @__PURE__ */ jsx227(
15821
15846
  MyDataTable,
@@ -15824,7 +15849,7 @@ function SubRead6({
15824
15849
  isError: documentQuery.isError,
15825
15850
  columns,
15826
15851
  data: documentQuery.data || [],
15827
- renderRowActions: ({ row }) => /* @__PURE__ */ jsxs123(MyCenterFull, { children: [
15852
+ renderRowActions: ({ row }) => /* @__PURE__ */ jsxs124(MyCenterFull, { children: [
15828
15853
  /* @__PURE__ */ jsx227(
15829
15854
  F_workflowProcessDocs_Update,
15830
15855
  {
@@ -15846,11 +15871,11 @@ function SubRead6({
15846
15871
  }
15847
15872
 
15848
15873
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs.tsx
15849
- import { Fragment as Fragment23, jsx as jsx228, jsxs as jsxs124 } from "react/jsx-runtime";
15874
+ import { Fragment as Fragment23, jsx as jsx228, jsxs as jsxs125 } from "react/jsx-runtime";
15850
15875
  function F_workflowProcessDocs({
15851
15876
  WorkflowTypeId
15852
15877
  }) {
15853
- return /* @__PURE__ */ jsxs124(Fragment23, { children: [
15878
+ return /* @__PURE__ */ jsxs125(Fragment23, { children: [
15854
15879
  /* @__PURE__ */ jsx228(MyFlexEnd2, { children: /* @__PURE__ */ jsx228(F_workflowProcessDocs_Create, { WorkflowTypeId }) }),
15855
15880
  /* @__PURE__ */ jsx228(Space9, {}),
15856
15881
  /* @__PURE__ */ jsx228(F_workflowProcessDocs_Read, { WorkflowTypeId })
@@ -15865,11 +15890,11 @@ import {
15865
15890
  Center as Center9,
15866
15891
  Checkbox as Checkbox7,
15867
15892
  Flex as Flex8,
15868
- Group as Group32,
15893
+ Group as Group33,
15869
15894
  Paper as Paper15,
15870
15895
  PasswordInput as PasswordInput4,
15871
15896
  Text as Text24,
15872
- TextInput as TextInput10,
15897
+ TextInput as TextInput11,
15873
15898
  Title
15874
15899
  } from "@mantine/core";
15875
15900
  import { useForm as useForm45 } from "@mantine/form";
@@ -15877,7 +15902,7 @@ import { notifications as notifications3 } from "@mantine/notifications";
15877
15902
  import { useMutation as useMutation4 } from "@tanstack/react-query";
15878
15903
  import Link5 from "next/link";
15879
15904
  import { useRouter as useRouter3 } from "next/navigation";
15880
- import { useEffect as useEffect31 } from "react";
15905
+ import { useEffect as useEffect32 } from "react";
15881
15906
 
15882
15907
  // src/modules-features/authenticate/useS_authenticate.ts
15883
15908
  var useStore5 = createGenericStore({
@@ -15890,7 +15915,7 @@ function useS_authenticate() {
15890
15915
  }
15891
15916
 
15892
15917
  // src/modules-features/authenticate/Feat_Authenticate_Login.tsx
15893
- import { jsx as jsx229, jsxs as jsxs125 } from "react/jsx-runtime";
15918
+ import { jsx as jsx229, jsxs as jsxs126 } from "react/jsx-runtime";
15894
15919
  function Feat_Authenticate_Login({
15895
15920
  header,
15896
15921
  redirectUrlAfterLogin = "/admin/dashboard",
@@ -15918,7 +15943,7 @@ function Feat_Authenticate_Login({
15918
15943
  password: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
15919
15944
  }
15920
15945
  });
15921
- useEffect31(() => {
15946
+ useEffect32(() => {
15922
15947
  var _a;
15923
15948
  form.setValues({
15924
15949
  username: ((_a = authenticate_store.state) == null ? void 0 : _a.username) || "",
@@ -15980,17 +16005,17 @@ function Feat_Authenticate_Login({
15980
16005
  {
15981
16006
  src: backgroundImage,
15982
16007
  h: "100vh",
15983
- children: /* @__PURE__ */ jsx229(Center9, { h: "100vh", children: /* @__PURE__ */ jsxs125(Paper15, { withBorder: true, w: 400, m: "md", shadow: "md", p: 30, mt: 30, radius: "md", children: [
15984
- header ? header : /* @__PURE__ */ jsxs125(Flex8, { direction: "column", mb: "md", children: [
16008
+ children: /* @__PURE__ */ jsx229(Center9, { h: "100vh", children: /* @__PURE__ */ jsxs126(Paper15, { withBorder: true, w: 400, m: "md", shadow: "md", p: 30, mt: 30, radius: "md", children: [
16009
+ header ? header : /* @__PURE__ */ jsxs126(Flex8, { direction: "column", mb: "md", children: [
15985
16010
  /* @__PURE__ */ jsx229(Title, { ta: "center", fw: "900", children: "\u0110\u0103ng nh\u1EADp!" }),
15986
- /* @__PURE__ */ jsxs125(Text24, { c: "dimmed", size: "sm", ta: "center", mt: 5, children: [
16011
+ /* @__PURE__ */ jsxs126(Text24, { c: "dimmed", size: "sm", ta: "center", mt: 5, children: [
15987
16012
  "B\u1EA1n g\u1EB7p v\u1EA5n \u0111\u1EC1 k\u1EF9 thu\u1EADt?\xA0",
15988
16013
  /* @__PURE__ */ jsx229(Anchor2, { size: "sm", component: "button", children: "V\xE0o link n\xE0y" })
15989
16014
  ] })
15990
16015
  ] }),
15991
- /* @__PURE__ */ jsx229("form", { onSubmit: form.onSubmit(async (values) => handleSubmit(values.username, values.password)), children: /* @__PURE__ */ jsxs125(MyFlexColumn2, { children: [
16016
+ /* @__PURE__ */ jsx229("form", { onSubmit: form.onSubmit(async (values) => handleSubmit(values.username, values.password)), children: /* @__PURE__ */ jsxs126(MyFlexColumn2, { children: [
15992
16017
  /* @__PURE__ */ jsx229(
15993
- TextInput10,
16018
+ TextInput11,
15994
16019
  __spreadProps(__spreadValues({}, form.getInputProps("username")), {
15995
16020
  label: "T\xE0i kho\u1EA3n",
15996
16021
  placeholder: "Nh\u1EADp t\xE0i kho\u1EA3n c\u1EE7a b\u1EA1n",
@@ -16005,7 +16030,7 @@ function Feat_Authenticate_Login({
16005
16030
  withAsterisk: true
16006
16031
  })
16007
16032
  ),
16008
- /* @__PURE__ */ jsxs125(Group32, { justify: "space-between", children: [
16033
+ /* @__PURE__ */ jsxs126(Group33, { justify: "space-between", children: [
16009
16034
  showSaveLogin && /* @__PURE__ */ jsx229(
16010
16035
  Checkbox7,
16011
16036
  {
@@ -16060,7 +16085,7 @@ function Feat_Authenticate_Logout({ redirectURL = "/auth/login" }) {
16060
16085
 
16061
16086
  // src/modules-features/authenticate/Feat_Authenticate_SSOHandler.tsx
16062
16087
  import { useSearchParams } from "next/navigation";
16063
- import { useEffect as useEffect32, useState as useState25 } from "react";
16088
+ import { useEffect as useEffect33, useState as useState25 } from "react";
16064
16089
 
16065
16090
  // src/modules-features/authenticate/useAuthenticateManager.ts
16066
16091
  function useAuthenticateManager() {
@@ -16084,7 +16109,7 @@ function useAuthenticateManager() {
16084
16109
  }
16085
16110
 
16086
16111
  // src/modules-features/authenticate/Feat_Authenticate_SSOHandler.tsx
16087
- import { jsx as jsx231, jsxs as jsxs126 } from "react/jsx-runtime";
16112
+ import { jsx as jsx231, jsxs as jsxs127 } from "react/jsx-runtime";
16088
16113
  function Feat_Authenticate_SSOHandler({
16089
16114
  menuData,
16090
16115
  onSuccessNavigateFollowRole
@@ -16097,7 +16122,7 @@ function Feat_Authenticate_SSOHandler({
16097
16122
  const [messError, setMessError] = useState25("");
16098
16123
  const studentCode = searchParams.get("code");
16099
16124
  const token = searchParams.get("token");
16100
- useEffect32(() => {
16125
+ useEffect33(() => {
16101
16126
  localStorage.clear();
16102
16127
  if (config3.isLoading == true) return;
16103
16128
  if (studentCode && token) {
@@ -16135,7 +16160,7 @@ function Feat_Authenticate_SSOHandler({
16135
16160
  setMessError("L\u1ED7i khi g\u1ECDi API \u0111\u0103ng nh\u1EADp");
16136
16161
  }
16137
16162
  }
16138
- return /* @__PURE__ */ jsxs126("div", { children: [
16163
+ return /* @__PURE__ */ jsxs127("div", { children: [
16139
16164
  /* @__PURE__ */ jsx231("h2", { children: "\u0110ang \u0111\u0103ng nh\u1EADp b\u1EB1ng SSO..." }),
16140
16165
  messError && /* @__PURE__ */ jsx231("p", { style: { color: "red" }, children: messError })
16141
16166
  ] });
@@ -16143,12 +16168,12 @@ function Feat_Authenticate_SSOHandler({
16143
16168
 
16144
16169
  // src/modules-features/authenticate/F_authenticate_SplashPage.tsx
16145
16170
  import { useRouter as useRouter5 } from "next/navigation";
16146
- import { useEffect as useEffect33 } from "react";
16171
+ import { useEffect as useEffect34 } from "react";
16147
16172
  import { jsx as jsx232 } from "react/jsx-runtime";
16148
16173
  function F_authenticate_SplashPage() {
16149
16174
  const router = useRouter5();
16150
16175
  const S_Authenticate = useS_authenticate();
16151
- useEffect33(() => {
16176
+ useEffect34(() => {
16152
16177
  if (S_Authenticate.state.token == "") {
16153
16178
  router.push("/authenticate/login");
16154
16179
  return;
@@ -16161,32 +16186,32 @@ function F_authenticate_SplashPage() {
16161
16186
  // src/modules-features/authenticate/tokenExpired/Feat_TokenExpired.tsx
16162
16187
  import { Button as Button23, Card as Card4, CardSection, Center as Center10, Text as Text25, Title as Title2 } from "@mantine/core";
16163
16188
  import { Clock, LogIn, Shield } from "lucide-react";
16164
- import { jsx as jsx233, jsxs as jsxs127 } from "react/jsx-runtime";
16189
+ import { jsx as jsx233, jsxs as jsxs128 } from "react/jsx-runtime";
16165
16190
  function Feat_TokenExpired({
16166
16191
  loginRedirect = "/auth/login"
16167
16192
  }) {
16168
16193
  const handleLogin = () => {
16169
16194
  window.location.href = loginRedirect;
16170
16195
  };
16171
- return /* @__PURE__ */ jsx233("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__ */ jsxs127("div", { className: "w-full max-w-md", children: [
16172
- /* @__PURE__ */ jsxs127("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: [
16196
+ return /* @__PURE__ */ jsx233("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__ */ jsxs128("div", { className: "w-full max-w-md", children: [
16197
+ /* @__PURE__ */ jsxs128("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: [
16173
16198
  /* @__PURE__ */ jsx233("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" }),
16174
16199
  /* @__PURE__ */ jsx233("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" })
16175
16200
  ] }),
16176
- /* @__PURE__ */ jsxs127(Card4, { className: "relative backdrop-blur-sm bg-white/80 border-0 shadow-2xl shadow-blue-500/10 py-12 px-8 rounded-xl", children: [
16177
- /* @__PURE__ */ jsxs127(CardSection, { className: "text-center space-y-6 pb-8", children: [
16201
+ /* @__PURE__ */ jsxs128(Card4, { className: "relative backdrop-blur-sm bg-white/80 border-0 shadow-2xl shadow-blue-500/10 py-12 px-8 rounded-xl", children: [
16202
+ /* @__PURE__ */ jsxs128(CardSection, { className: "text-center space-y-6 pb-8", children: [
16178
16203
  /* @__PURE__ */ jsx233("div", { className: "relative", children: /* @__PURE__ */ jsx233(Center10, { children: /* @__PURE__ */ jsx233("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__ */ jsx233(Clock, { className: "w-10 h-10 text-white" }) }) }) }),
16179
- /* @__PURE__ */ jsxs127("div", { className: "space-y-3", children: [
16204
+ /* @__PURE__ */ jsxs128("div", { className: "space-y-3", children: [
16180
16205
  /* @__PURE__ */ jsx233(Title2, { 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" }),
16181
- /* @__PURE__ */ jsxs127(Text25, { className: "text-gray-600 text-base leading-relaxed px-2", children: [
16206
+ /* @__PURE__ */ jsxs128(Text25, { className: "text-gray-600 text-base leading-relaxed px-2", children: [
16182
16207
  "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.",
16183
16208
  /* @__PURE__ */ jsx233("br", {}),
16184
16209
  "Vui l\xF2ng \u0111\u0103ng nh\u1EADp l\u1EA1i \u0111\u1EC3 ti\u1EBFp t\u1EE5c s\u1EED d\u1EE5ng d\u1ECBch v\u1EE5."
16185
16210
  ] })
16186
16211
  ] })
16187
16212
  ] }),
16188
- /* @__PURE__ */ jsxs127(CardSection, { className: "space-y-6 pt-0", children: [
16189
- /* @__PURE__ */ jsxs127(
16213
+ /* @__PURE__ */ jsxs128(CardSection, { className: "space-y-6 pt-0", children: [
16214
+ /* @__PURE__ */ jsxs128(
16190
16215
  Button23,
16191
16216
  {
16192
16217
  onClick: handleLogin,
@@ -16198,9 +16223,9 @@ function Feat_TokenExpired({
16198
16223
  ]
16199
16224
  }
16200
16225
  ),
16201
- /* @__PURE__ */ jsx233("div", { className: "bg-gradient-to-r from-gray-50 to-blue-50 rounded-xl p-4 border border-gray-100", children: /* @__PURE__ */ jsxs127("div", { className: "text-center space-y-2", children: [
16226
+ /* @__PURE__ */ jsx233("div", { className: "bg-gradient-to-r from-gray-50 to-blue-50 rounded-xl p-4 border border-gray-100", children: /* @__PURE__ */ jsxs128("div", { className: "text-center space-y-2", children: [
16202
16227
  /* @__PURE__ */ jsx233("p", { className: "text-sm font-medium text-gray-700", children: "C\u1EA7n h\u1ED7 tr\u1EE3?" }),
16203
- /* @__PURE__ */ jsxs127("p", { className: "text-sm text-gray-600", children: [
16228
+ /* @__PURE__ */ jsxs128("p", { className: "text-sm text-gray-600", children: [
16204
16229
  "Li\xEAn h\u1EC7",
16205
16230
  " ",
16206
16231
  /* @__PURE__ */ jsx233(
@@ -16215,7 +16240,7 @@ function Feat_TokenExpired({
16215
16240
  "c\u1EE7a ch\xFAng t\xF4i"
16216
16241
  ] })
16217
16242
  ] }) }),
16218
- /* @__PURE__ */ jsx233("div", { className: "text-center", children: /* @__PURE__ */ jsxs127("p", { className: "text-xs text-gray-500 flex items-center justify-center gap-1", children: [
16243
+ /* @__PURE__ */ jsx233("div", { className: "text-center", children: /* @__PURE__ */ jsxs128("p", { className: "text-xs text-gray-500 flex items-center justify-center gap-1", children: [
16219
16244
  /* @__PURE__ */ jsx233(Shield, { className: "w-3 h-3" }),
16220
16245
  "B\u1EA3o m\u1EADt t\xE0i kho\u1EA3n \u0111\u01B0\u1EE3c \u01B0u ti\xEAn h\xE0ng \u0111\u1EA7u"
16221
16246
  ] }) })
@@ -16343,7 +16368,7 @@ function extractLinkedMenuItems(menu) {
16343
16368
  }
16344
16369
 
16345
16370
  // src/components/Layouts/BasicAppShell/BasicAppShell.tsx
16346
- import { jsx as jsx234, jsxs as jsxs128 } from "react/jsx-runtime";
16371
+ import { jsx as jsx234, jsxs as jsxs129 } from "react/jsx-runtime";
16347
16372
  function base64ToFaviconUrl(base64, ext) {
16348
16373
  const byteCharacters = atob(base64.trim());
16349
16374
  const byteArray = new Uint8Array([...byteCharacters].map((c4) => c4.charCodeAt(0)));
@@ -16388,7 +16413,7 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
16388
16413
  return result;
16389
16414
  }, [filteredMenu]);
16390
16415
  useFavicon(faviconUrl);
16391
- useEffect34(() => {
16416
+ useEffect35(() => {
16392
16417
  if (!moduleData) return;
16393
16418
  const { code, name, faviconFileDetail, logoFileDetail } = moduleData;
16394
16419
  appShellStore.setProperty("moduleCode", code);
@@ -16401,12 +16426,12 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
16401
16426
  return () => URL.revokeObjectURL(url);
16402
16427
  }
16403
16428
  }, [moduleData]);
16404
- useEffect34(() => {
16429
+ useEffect35(() => {
16405
16430
  if (moduleData == null ? void 0 : moduleData.name) {
16406
16431
  document.title = moduleData.name;
16407
16432
  }
16408
16433
  }, [moduleData == null ? void 0 : moduleData.name]);
16409
- useEffect34(() => {
16434
+ useEffect35(() => {
16410
16435
  var _a, _b, _c, _d, _e, _f, _g;
16411
16436
  const currentItem = allChildItems.find((item) => pathname.includes(item.link));
16412
16437
  const currentPermission = (_a = permissionStore.state.permission) == null ? void 0 : _a.find((item) => item.pageId == (currentItem == null ? void 0 : currentItem.pageId));
@@ -16437,17 +16462,17 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
16437
16462
  }
16438
16463
  }, [pathname, allChildItems, filteredMenu, readablePageIds, pageContentQuery.data]);
16439
16464
  const canAccess = isDev || isAccessible || permissionStore.state.isSuperAdmin;
16440
- const renderHeader = () => /* @__PURE__ */ jsx234(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs128(Group33, { h: "100%", px: "md", justify: "space-between", children: [
16441
- /* @__PURE__ */ jsxs128(Group33, { h: "100%", children: [
16465
+ const renderHeader = () => /* @__PURE__ */ jsx234(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs129(Group34, { h: "100%", px: "md", justify: "space-between", children: [
16466
+ /* @__PURE__ */ jsxs129(Group34, { h: "100%", children: [
16442
16467
  /* @__PURE__ */ jsx234(Tooltip6, { label: appShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu", children: /* @__PURE__ */ jsx234(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx234(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx234(IconLayoutSidebarLeftCollapse, {}) }) }),
16443
16468
  /* @__PURE__ */ jsx234(Tooltip6, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx234(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.clearGroupMenuOpenId, children: /* @__PURE__ */ jsx234(IconLibraryMinus, {}) }) })
16444
16469
  ] }),
16445
- /* @__PURE__ */ jsx234(Tooltip6, { label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`, children: /* @__PURE__ */ jsx234(Group33, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx234(Text26, { c: "green", fw: "bold", size: "sm", children: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}` }) }) }),
16446
- /* @__PURE__ */ jsxs128(Group33, { children: [
16470
+ /* @__PURE__ */ jsx234(Tooltip6, { label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`, children: /* @__PURE__ */ jsx234(Group34, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx234(Text26, { c: "green", fw: "bold", size: "sm", children: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}` }) }) }),
16471
+ /* @__PURE__ */ jsxs129(Group34, { children: [
16447
16472
  extraTopRight,
16448
16473
  /* @__PURE__ */ jsx234(MySwitchTheme, {})
16449
16474
  ] })
16450
- ] }) : /* @__PURE__ */ jsxs128(Group33, { h: "100%", px: "md", justify: "space-between", children: [
16475
+ ] }) : /* @__PURE__ */ jsxs129(Group34, { h: "100%", px: "md", justify: "space-between", children: [
16451
16476
  /* @__PURE__ */ jsx234(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx234(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx234(IconLayoutSidebarLeftCollapse, {}) }),
16452
16477
  /* @__PURE__ */ jsx234(
16453
16478
  Tooltip6,
@@ -16475,17 +16500,17 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
16475
16500
  )
16476
16501
  }
16477
16502
  ),
16478
- /* @__PURE__ */ jsxs128(Group33, { children: [
16503
+ /* @__PURE__ */ jsxs129(Group34, { children: [
16479
16504
  extraTopRight,
16480
16505
  /* @__PURE__ */ jsx234(MySwitchTheme, {})
16481
16506
  ] })
16482
16507
  ] }) });
16483
16508
  const renderNavbar = () => {
16484
16509
  var _a, _b;
16485
- return /* @__PURE__ */ jsxs128(AppShell.Navbar, { children: [
16510
+ return /* @__PURE__ */ jsxs129(AppShell.Navbar, { children: [
16486
16511
  /* @__PURE__ */ jsx234(MyAppSpotlight, { menu: filteredMenu }),
16487
16512
  /* @__PURE__ */ jsx234(AppShell.Section, { grow: true, component: ScrollArea7, p: 5, children: /* @__PURE__ */ jsx234(RenderNavLinks, { items: filteredMenu }) }),
16488
- /* @__PURE__ */ jsxs128(AppShell.Section, { px: "md", children: [
16513
+ /* @__PURE__ */ jsxs129(AppShell.Section, { px: "md", children: [
16489
16514
  /* @__PURE__ */ jsx234(Divider3, {}),
16490
16515
  /* @__PURE__ */ jsx234(Feat_Authenticate_Logout, { redirectURL: logoutRedirect }),
16491
16516
  /* @__PURE__ */ jsx234(
@@ -16502,11 +16527,11 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
16502
16527
  ] })
16503
16528
  ] });
16504
16529
  };
16505
- const renderMain = () => /* @__PURE__ */ jsx234(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children: isLoadingPermission ? /* @__PURE__ */ jsx234("div", { style: { padding: "2rem", textAlign: "center" }, children: /* @__PURE__ */ jsx234(Text26, { fw: 600, size: "md", children: "\u0110ang t\u1EA3i quy\u1EC1n truy c\u1EADp..." }) }) : canAccess ? children : /* @__PURE__ */ jsxs128("div", { style: { padding: "2rem", textAlign: "center" }, children: [
16530
+ const renderMain = () => /* @__PURE__ */ jsx234(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children: isLoadingPermission ? /* @__PURE__ */ jsx234("div", { style: { padding: "2rem", textAlign: "center" }, children: /* @__PURE__ */ jsx234(Text26, { fw: 600, size: "md", children: "\u0110ang t\u1EA3i quy\u1EC1n truy c\u1EADp..." }) }) : canAccess ? children : /* @__PURE__ */ jsxs129("div", { style: { padding: "2rem", textAlign: "center" }, children: [
16506
16531
  /* @__PURE__ */ jsx234("h1", { children: "404 - Kh\xF4ng t\xECm th\u1EA5y trang" }),
16507
16532
  /* @__PURE__ */ jsx234("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." })
16508
16533
  ] }) });
16509
- return /* @__PURE__ */ jsxs128(
16534
+ return /* @__PURE__ */ jsxs129(
16510
16535
  AppShell,
16511
16536
  {
16512
16537
  header: { height: 60 },
@@ -16544,11 +16569,11 @@ import {
16544
16569
  Container as Container2,
16545
16570
  Divider as Divider4,
16546
16571
  Drawer,
16547
- Group as Group34,
16572
+ Group as Group35,
16548
16573
  Image as Image5,
16549
16574
  ScrollArea as ScrollArea8,
16550
16575
  Text as Text27,
16551
- TextInput as TextInput11,
16576
+ TextInput as TextInput12,
16552
16577
  ThemeIcon as ThemeIcon2,
16553
16578
  UnstyledButton,
16554
16579
  useMantineTheme
@@ -16561,7 +16586,7 @@ import {
16561
16586
  IconCoin,
16562
16587
  IconFingerprint,
16563
16588
  IconNotification,
16564
- IconSearch as IconSearch5
16589
+ IconSearch as IconSearch6
16565
16590
  } from "@tabler/icons-react";
16566
16591
  import Link6 from "next/link";
16567
16592
 
@@ -16579,7 +16604,7 @@ function useHeaderMegaMenuStore() {
16579
16604
  }
16580
16605
 
16581
16606
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
16582
- import { jsx as jsx236, jsxs as jsxs129 } from "react/jsx-runtime";
16607
+ import { jsx as jsx236, jsxs as jsxs130 } from "react/jsx-runtime";
16583
16608
  var mockdata = [
16584
16609
  {
16585
16610
  icon: IconCode,
@@ -16617,21 +16642,21 @@ function HeaderMegaMenu({ children, menus }) {
16617
16642
  const [linksOpened, { toggle: toggleLinks }] = useDisclosure18(false);
16618
16643
  const HeaderMegaMenuStore = useHeaderMegaMenuStore();
16619
16644
  const theme = useMantineTheme();
16620
- const links = mockdata.map((item) => /* @__PURE__ */ jsx236(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs129(Group34, { wrap: "nowrap", align: "flex-start", children: [
16645
+ const links = mockdata.map((item) => /* @__PURE__ */ jsx236(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs130(Group35, { wrap: "nowrap", align: "flex-start", children: [
16621
16646
  /* @__PURE__ */ jsx236(ThemeIcon2, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx236(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
16622
- /* @__PURE__ */ jsxs129("div", { children: [
16647
+ /* @__PURE__ */ jsxs130("div", { children: [
16623
16648
  /* @__PURE__ */ jsx236(Text27, { size: "sm", fw: 500, children: item.title }),
16624
16649
  /* @__PURE__ */ jsx236(Text27, { size: "xs", c: "dimmed", children: item.description })
16625
16650
  ] })
16626
16651
  ] }) }, item.title));
16627
- return /* @__PURE__ */ jsxs129(Box6, { children: [
16628
- /* @__PURE__ */ jsx236("header", { className: css_default.header, children: /* @__PURE__ */ jsxs129(Group34, { justify: "space-between", h: "100%", children: [
16629
- /* @__PURE__ */ jsxs129(Group34, { children: [
16652
+ return /* @__PURE__ */ jsxs130(Box6, { children: [
16653
+ /* @__PURE__ */ jsx236("header", { className: css_default.header, children: /* @__PURE__ */ jsxs130(Group35, { justify: "space-between", h: "100%", children: [
16654
+ /* @__PURE__ */ jsxs130(Group35, { children: [
16630
16655
  /* @__PURE__ */ jsx236(Image5, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
16631
- /* @__PURE__ */ jsx236(Group34, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx236(Button24, { component: Link6, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
16656
+ /* @__PURE__ */ jsx236(Group35, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx236(Button24, { component: Link6, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
16632
16657
  ] }),
16633
- /* @__PURE__ */ jsxs129(Group34, { children: [
16634
- /* @__PURE__ */ jsx236(TextInput11, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx236(IconSearch5, {}), radius: "xl", w: "250px" }),
16658
+ /* @__PURE__ */ jsxs130(Group35, { children: [
16659
+ /* @__PURE__ */ jsx236(TextInput12, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx236(IconSearch6, {}), radius: "xl", w: "250px" }),
16635
16660
  /* @__PURE__ */ jsx236(MySwitchTheme, {})
16636
16661
  ] }),
16637
16662
  /* @__PURE__ */ jsx236(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
@@ -16647,7 +16672,7 @@ function HeaderMegaMenu({ children, menus }) {
16647
16672
  title: "Navigation",
16648
16673
  hiddenFrom: "sm",
16649
16674
  zIndex: 1e6,
16650
- children: /* @__PURE__ */ jsxs129(ScrollArea8, { h: "calc(100vh - 80px", mx: "-md", children: [
16675
+ children: /* @__PURE__ */ jsxs130(ScrollArea8, { h: "calc(100vh - 80px", mx: "-md", children: [
16651
16676
  /* @__PURE__ */ jsx236(Divider4, { my: "sm" }),
16652
16677
  /* @__PURE__ */ jsx236(MyFlexColumn2, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx236(Button24, { component: Link6, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
16653
16678
  /* @__PURE__ */ jsx236(Divider4, { my: "sm" })
@@ -16669,10 +16694,10 @@ var service_aq = __spreadProps(__spreadValues({}, createBaseApi(CONTROLLER13, ba
16669
16694
  });
16670
16695
 
16671
16696
  // src/components/Layouts/PageContent/MyPageContent.tsx
16672
- import { Badge as Badge6, Breadcrumbs, Center as Center11, Container as Container3, Divider as Divider5, Flex as Flex10, Group as Group35, Stack as Stack8, Text as Text28, Title as Title3, Tooltip as Tooltip7 } from "@mantine/core";
16697
+ import { Badge as Badge6, Breadcrumbs, Center as Center11, Container as Container3, Divider as Divider5, Flex as Flex10, Group as Group36, Stack as Stack8, Text as Text28, Title as Title3, Tooltip as Tooltip7 } from "@mantine/core";
16673
16698
  import { useDisclosure as useDisclosure19 } from "@mantine/hooks";
16674
16699
  import { IconBrandParsinta } from "@tabler/icons-react";
16675
- import { useEffect as useEffect35 } from "react";
16700
+ import { useEffect as useEffect36 } from "react";
16676
16701
 
16677
16702
  // src/components/Layouts/PageContent/utils.ts
16678
16703
  function getFinalLinkVieo(url) {
@@ -16697,7 +16722,7 @@ function getFinalLinkVieo(url) {
16697
16722
  }
16698
16723
 
16699
16724
  // src/components/Layouts/PageContent/MyPageContent.tsx
16700
- import { jsx as jsx237, jsxs as jsxs130 } from "react/jsx-runtime";
16725
+ import { jsx as jsx237, jsxs as jsxs131 } from "react/jsx-runtime";
16701
16726
  var getStatusColor = (status) => {
16702
16727
  switch (status) {
16703
16728
  case "Prototype":
@@ -16710,8 +16735,8 @@ var getStatusColor = (status) => {
16710
16735
  };
16711
16736
  function PageTitle({ title, status, note }) {
16712
16737
  const color = getStatusColor(status);
16713
- return /* @__PURE__ */ jsx237(Group35, { children: /* @__PURE__ */ jsxs130(MyFlexColumn2, { gap: 0, children: [
16714
- /* @__PURE__ */ jsxs130(Group35, { align: "center", children: [
16738
+ return /* @__PURE__ */ jsx237(Group36, { children: /* @__PURE__ */ jsxs131(MyFlexColumn2, { gap: 0, children: [
16739
+ /* @__PURE__ */ jsxs131(Group36, { align: "center", children: [
16715
16740
  /* @__PURE__ */ jsx237(Title3, { order: 3, children: title }),
16716
16741
  status && /* @__PURE__ */ jsx237(
16717
16742
  Badge6,
@@ -16746,17 +16771,17 @@ function MyPageContent({
16746
16771
  });
16747
16772
  const videoDisc = useDisclosure19();
16748
16773
  const finalTitle = title || basicAppShellStore.state.title;
16749
- useEffect35(() => {
16774
+ useEffect36(() => {
16750
16775
  basicAppShellStore.setProperty("fileGuildDetail", void 0);
16751
16776
  if (!query.data) return;
16752
16777
  basicAppShellStore.setProperty("fileGuildDetail", query.data);
16753
16778
  }, [query.data]);
16754
- return /* @__PURE__ */ jsxs130(Container3, { p: 0, fluid: true, children: [
16755
- /* @__PURE__ */ jsxs130(Group35, { justify: "space-between", children: [
16756
- /* @__PURE__ */ jsxs130(Group35, { children: [
16779
+ return /* @__PURE__ */ jsxs131(Container3, { p: 0, fluid: true, children: [
16780
+ /* @__PURE__ */ jsxs131(Group36, { justify: "space-between", children: [
16781
+ /* @__PURE__ */ jsxs131(Group36, { children: [
16757
16782
  /* @__PURE__ */ jsx237(MyButtonRouterBack, {}),
16758
- /* @__PURE__ */ jsxs130(Stack8, { gap: 2, children: [
16759
- /* @__PURE__ */ jsxs130(Flex10, { align: "center", gap: "10", children: [
16783
+ /* @__PURE__ */ jsxs131(Stack8, { gap: 2, children: [
16784
+ /* @__PURE__ */ jsxs131(Flex10, { align: "center", gap: "10", children: [
16760
16785
  /* @__PURE__ */ jsx237(
16761
16786
  PageTitle,
16762
16787
  {
@@ -16818,7 +16843,7 @@ function MyPageContent({
16818
16843
  ] }),
16819
16844
  leftTopBar
16820
16845
  ] }),
16821
- /* @__PURE__ */ jsxs130(Group35, { p: "md", children: [
16846
+ /* @__PURE__ */ jsxs131(Group36, { p: "md", children: [
16822
16847
  rightTopBar,
16823
16848
  /* @__PURE__ */ jsx237(Breadcrumbs, { separatorMargin: "7", children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx237(Text28, { fw: "600", c: "blue", children: item }, idx)) })
16824
16849
  ] })
@@ -16831,11 +16856,11 @@ function MyPageContent({
16831
16856
 
16832
16857
  // src/components/Layouts/Tab/MyTab.tsx
16833
16858
  import { rem, Space as Space10, Tabs as Tabs4 } from "@mantine/core";
16834
- import { jsx as jsx238, jsxs as jsxs131 } from "react/jsx-runtime";
16859
+ import { jsx as jsx238, jsxs as jsxs132 } from "react/jsx-runtime";
16835
16860
  function MyTab(_a) {
16836
16861
  var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
16837
16862
  const iconStyle = { width: rem(20), height: rem(20) };
16838
- return /* @__PURE__ */ jsxs131(Tabs4, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
16863
+ return /* @__PURE__ */ jsxs132(Tabs4, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
16839
16864
  /* @__PURE__ */ jsx238(Tabs4.List, { children: tabList.map((item, idx) => {
16840
16865
  return /* @__PURE__ */ jsx238(Tabs4.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx238(item.icon, { style: iconStyle }), children: item.label }, idx);
16841
16866
  }) }),
@@ -16845,20 +16870,20 @@ function MyTab(_a) {
16845
16870
  }
16846
16871
 
16847
16872
  // src/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx
16848
- import { ActionIcon as ActionIcon13, Button as Button25, Fieldset as Fieldset5, Group as Group36, Modal as Modal14 } from "@mantine/core";
16873
+ import { ActionIcon as ActionIcon13, Button as Button25, Fieldset as Fieldset5, Group as Group37, Modal as Modal14 } from "@mantine/core";
16849
16874
  import { useDisclosure as useDisclosure20 } from "@mantine/hooks";
16850
16875
  import { IconX as IconX4 } from "@tabler/icons-react";
16851
- import { jsx as jsx239, jsxs as jsxs132 } from "react/jsx-runtime";
16876
+ import { jsx as jsx239, jsxs as jsxs133 } from "react/jsx-runtime";
16852
16877
  function MyDataTableSelect(_a) {
16853
16878
  var _b = _a, { modalSize, renderTopToolbarCustomActions, data: data2, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
16854
16879
  const disc = useDisclosure20(false);
16855
16880
  if (data2 == void 0) return "\u0110ang t\u1EA3i...";
16856
- return /* @__PURE__ */ jsxs132(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
16881
+ return /* @__PURE__ */ jsxs133(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
16857
16882
  /* @__PURE__ */ jsx239(
16858
16883
  MyDataTable,
16859
16884
  __spreadValues({
16860
16885
  renderTopToolbarCustomActions: ({ table }) => {
16861
- return /* @__PURE__ */ jsxs132(Group36, { children: [
16886
+ return /* @__PURE__ */ jsxs133(Group37, { children: [
16862
16887
  renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
16863
16888
  /* @__PURE__ */ jsx239(Button25, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
16864
16889
  ] });
@@ -16969,8 +16994,8 @@ function MySkeletonTable({ h: h4 = 500 }) {
16969
16994
  }
16970
16995
 
16971
16996
  // src/core/overlays/MyModalDelete.tsx
16972
- import { Group as Group37, Highlight as Highlight5, Modal as Modal15 } from "@mantine/core";
16973
- import { jsx as jsx243, jsxs as jsxs133 } from "react/jsx-runtime";
16997
+ import { Group as Group38, Highlight as Highlight5, Modal as Modal15 } from "@mantine/core";
16998
+ import { jsx as jsx243, jsxs as jsxs134 } from "react/jsx-runtime";
16974
16999
  function MyModalDelete(_a) {
16975
17000
  var _b = _a, {
16976
17001
  contextData,
@@ -16981,7 +17006,7 @@ function MyModalDelete(_a) {
16981
17006
  "onSubmit",
16982
17007
  "submitLoading"
16983
17008
  ]);
16984
- return /* @__PURE__ */ jsxs133(
17009
+ return /* @__PURE__ */ jsxs134(
16985
17010
  Modal15,
16986
17011
  __spreadProps(__spreadValues({
16987
17012
  title: "X\xF3a d\u1EEF li\u1EC7u"
@@ -17000,7 +17025,7 @@ function MyModalDelete(_a) {
17000
17025
  children: `B\u1EA1n s\u1EAFp x\xF3a d\u1EEF li\u1EC7u ${contextData || ""}. H\xE0nh \u0111\u1ED9ng n\xE0y kh\xF4ng th\u1EC3 ho\xE0n t\xE1c. B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n ti\u1EBFp t\u1EE5c?`
17001
17026
  }
17002
17027
  ),
17003
- /* @__PURE__ */ jsxs133(Group37, { grow: true, children: [
17028
+ /* @__PURE__ */ jsxs134(Group38, { grow: true, children: [
17004
17029
  /* @__PURE__ */ jsx243(
17005
17030
  MyButton2,
17006
17031
  {
@@ -17023,7 +17048,7 @@ function MyModalDelete(_a) {
17023
17048
  }
17024
17049
 
17025
17050
  // src/core/overlays/MyPrintContent.tsx
17026
- import { jsx as jsx244, jsxs as jsxs134 } from "react/jsx-runtime";
17051
+ import { jsx as jsx244, jsxs as jsxs135 } from "react/jsx-runtime";
17027
17052
  function MyPrintContent({
17028
17053
  children,
17029
17054
  autoPadding = true,
@@ -17041,7 +17066,7 @@ function MyPrintContent({
17041
17066
  return ``;
17042
17067
  }
17043
17068
  };
17044
- return /* @__PURE__ */ jsxs134("div", { children: [
17069
+ return /* @__PURE__ */ jsxs135("div", { children: [
17045
17070
  /* @__PURE__ */ jsx244("style", { children: getPageSizeCSS() }),
17046
17071
  /* @__PURE__ */ jsx244("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx244(
17047
17072
  "div",
@@ -17060,7 +17085,7 @@ function MyPrintContent({
17060
17085
  // src/core/overlays/MyModalStackImport/Usecase/Usecase_FileFieldMappingModal.tsx
17061
17086
  import {
17062
17087
  Button as Button26,
17063
- Group as Group38,
17088
+ Group as Group39,
17064
17089
  Modal as Modal16,
17065
17090
  Select as Select10,
17066
17091
  Stack as Stack9,
@@ -17069,7 +17094,7 @@ import {
17069
17094
  } from "@mantine/core";
17070
17095
  import { IconChevronLeft, IconChevronRight, IconPlus as IconPlus9, IconRowRemove } from "@tabler/icons-react";
17071
17096
  import { useMemo as useMemo41, useState as useState28 } from "react";
17072
- import { jsx as jsx245, jsxs as jsxs135 } from "react/jsx-runtime";
17097
+ import { jsx as jsx245, jsxs as jsxs136 } from "react/jsx-runtime";
17073
17098
  function Usecase_FileFieldMappingModal(_a) {
17074
17099
  var _b = _a, {
17075
17100
  jsonData,
@@ -17128,18 +17153,18 @@ function Usecase_FileFieldMappingModal(_a) {
17128
17153
  });
17129
17154
  onContinute(mapped);
17130
17155
  };
17131
- return /* @__PURE__ */ jsxs135(
17156
+ return /* @__PURE__ */ jsxs136(
17132
17157
  Modal16,
17133
17158
  __spreadProps(__spreadValues({
17134
17159
  title: "Mapping d\u1EEF li\u1EC7u",
17135
17160
  size: "80%"
17136
17161
  }, rest), {
17137
17162
  children: [
17138
- /* @__PURE__ */ jsxs135(Group38, { align: "start", grow: true, children: [
17139
- /* @__PURE__ */ jsxs135(Stack9, { w: "45%", children: [
17163
+ /* @__PURE__ */ jsxs136(Group39, { align: "start", grow: true, children: [
17164
+ /* @__PURE__ */ jsxs136(Stack9, { w: "45%", children: [
17140
17165
  /* @__PURE__ */ jsx245(Title4, { order: 5, children: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin" }),
17141
- /* @__PURE__ */ jsxs135(Table4, { striped: true, children: [
17142
- /* @__PURE__ */ jsx245(Table4.Thead, { children: /* @__PURE__ */ jsxs135(Table4.Tr, { children: [
17166
+ /* @__PURE__ */ jsxs136(Table4, { striped: true, children: [
17167
+ /* @__PURE__ */ jsx245(Table4.Thead, { children: /* @__PURE__ */ jsxs136(Table4.Tr, { children: [
17143
17168
  /* @__PURE__ */ jsx245(Table4.Th, { children: "M\xE3 field" }),
17144
17169
  /* @__PURE__ */ jsx245(Table4.Th, { children: "T\xEAn field" }),
17145
17170
  /* @__PURE__ */ jsx245(Table4.Th, { children: /* @__PURE__ */ jsx245(
@@ -17165,7 +17190,7 @@ function Usecase_FileFieldMappingModal(_a) {
17165
17190
  }
17166
17191
  ) })
17167
17192
  ] }) }),
17168
- /* @__PURE__ */ jsx245(Table4.Tbody, { children: unselectedFields.map((field) => /* @__PURE__ */ jsxs135(Table4.Tr, { children: [
17193
+ /* @__PURE__ */ jsx245(Table4.Tbody, { children: unselectedFields.map((field) => /* @__PURE__ */ jsxs136(Table4.Tr, { children: [
17169
17194
  /* @__PURE__ */ jsx245(Table4.Td, { children: field.key }),
17170
17195
  /* @__PURE__ */ jsx245(Table4.Td, { children: field.label }),
17171
17196
  /* @__PURE__ */ jsx245(Table4.Td, { children: /* @__PURE__ */ jsx245(
@@ -17180,10 +17205,10 @@ function Usecase_FileFieldMappingModal(_a) {
17180
17205
  ] }, field.key)) })
17181
17206
  ] })
17182
17207
  ] }),
17183
- /* @__PURE__ */ jsxs135(Stack9, { w: "55%", children: [
17208
+ /* @__PURE__ */ jsxs136(Stack9, { w: "55%", children: [
17184
17209
  /* @__PURE__ */ jsx245(Title4, { order: 5, children: "Tr\u01B0\u1EDDng \u0111\xE3 ch\u1ECDn & c\u1ED9t map" }),
17185
- /* @__PURE__ */ jsxs135(Table4, { striped: true, children: [
17186
- /* @__PURE__ */ jsx245(Table4.Thead, { children: /* @__PURE__ */ jsxs135(Table4.Tr, { children: [
17210
+ /* @__PURE__ */ jsxs136(Table4, { striped: true, children: [
17211
+ /* @__PURE__ */ jsx245(Table4.Thead, { children: /* @__PURE__ */ jsxs136(Table4.Tr, { children: [
17187
17212
  /* @__PURE__ */ jsx245(Table4.Th, { children: "M\xE3 field" }),
17188
17213
  /* @__PURE__ */ jsx245(Table4.Th, { children: "T\xEAn field" }),
17189
17214
  /* @__PURE__ */ jsx245(Table4.Th, { children: "C\u1ED9t map" }),
@@ -17201,7 +17226,7 @@ function Usecase_FileFieldMappingModal(_a) {
17201
17226
  }
17202
17227
  ) })
17203
17228
  ] }) }),
17204
- /* @__PURE__ */ jsx245(Table4.Tbody, { children: selectedFields.map((field) => /* @__PURE__ */ jsxs135(Table4.Tr, { children: [
17229
+ /* @__PURE__ */ jsx245(Table4.Tbody, { children: selectedFields.map((field) => /* @__PURE__ */ jsxs136(Table4.Tr, { children: [
17205
17230
  /* @__PURE__ */ jsx245(Table4.Td, { children: field.key }),
17206
17231
  /* @__PURE__ */ jsx245(Table4.Td, { children: field.label }),
17207
17232
  /* @__PURE__ */ jsx245(Table4.Td, { children: /* @__PURE__ */ jsx245(
@@ -17229,7 +17254,7 @@ function Usecase_FileFieldMappingModal(_a) {
17229
17254
  ] })
17230
17255
  ] })
17231
17256
  ] }),
17232
- /* @__PURE__ */ jsxs135(Group38, { justify: "end", mt: "md", children: [
17257
+ /* @__PURE__ */ jsxs136(Group39, { justify: "end", mt: "md", children: [
17233
17258
  /* @__PURE__ */ jsx245(Button26, { onClick: handleBack, children: "Quay l\u1EA1i" }),
17234
17259
  /* @__PURE__ */ jsx245(Button26, { onClick: handleContinute, children: "Ti\u1EBFp t\u1EE5c" }),
17235
17260
  /* @__PURE__ */ jsx245(Button26, { variant: "outline", onClick: onCloseAll, children: "\u0110\xF3ng" })
@@ -17244,15 +17269,15 @@ import {
17244
17269
  Button as Button27,
17245
17270
  FileInput as FileInput17,
17246
17271
  Grid as Grid9,
17247
- Group as Group39,
17272
+ Group as Group40,
17248
17273
  Modal as Modal17,
17249
17274
  Select as Select11,
17250
17275
  Stack as Stack10
17251
17276
  } from "@mantine/core";
17252
17277
  import { IconCopy } from "@tabler/icons-react";
17253
- import { useEffect as useEffect36, useMemo as useMemo42, useState as useState29 } from "react";
17278
+ import { useEffect as useEffect37, useMemo as useMemo42, useState as useState29 } from "react";
17254
17279
  import * as XLSX4 from "xlsx";
17255
- import { jsx as jsx246, jsxs as jsxs136 } from "react/jsx-runtime";
17280
+ import { jsx as jsx246, jsxs as jsxs137 } from "react/jsx-runtime";
17256
17281
  function Usecase_FileImportConfigModal(_a) {
17257
17282
  var _b = _a, {
17258
17283
  onChange,
@@ -17283,7 +17308,7 @@ function Usecase_FileImportConfigModal(_a) {
17283
17308
  setDataStartIndex("3");
17284
17309
  if (file2) parseExcel(file2);
17285
17310
  };
17286
- useEffect36(() => {
17311
+ useEffect37(() => {
17287
17312
  const headerRowIndex = titleIndex ? parseInt(titleIndex) - 1 : null;
17288
17313
  const dataRowIndex = dataStartIndex ? parseInt(dataStartIndex) - 1 : null;
17289
17314
  if (!rawData || headerRowIndex === null || dataRowIndex === null || dataRowIndex >= rawData.length || headerRowIndex >= rawData.length) {
@@ -17325,8 +17350,8 @@ function Usecase_FileImportConfigModal(_a) {
17325
17350
  title: "Import",
17326
17351
  size: "80%"
17327
17352
  }, rest), {
17328
- children: /* @__PURE__ */ jsxs136(Stack10, { children: [
17329
- /* @__PURE__ */ jsxs136(Grid9, { children: [
17353
+ children: /* @__PURE__ */ jsxs137(Stack10, { children: [
17354
+ /* @__PURE__ */ jsxs137(Grid9, { children: [
17330
17355
  /* @__PURE__ */ jsx246(Grid9.Col, { span: 8, children: /* @__PURE__ */ jsx246(
17331
17356
  FileInput17,
17332
17357
  {
@@ -17337,7 +17362,7 @@ function Usecase_FileImportConfigModal(_a) {
17337
17362
  onChange: handleSelectFile
17338
17363
  }
17339
17364
  ) }),
17340
- /* @__PURE__ */ jsx246(Grid9.Col, { span: 4, children: /* @__PURE__ */ jsx246(Group39, { align: "end", h: "100%", children: /* @__PURE__ */ jsx246(Button27, { leftSection: /* @__PURE__ */ jsx246(IconCopy, {}), w: "100%", children: "D\xE1n t\u1EEB b\u1ED9 nh\u1EDB" }) }) }),
17365
+ /* @__PURE__ */ jsx246(Grid9.Col, { span: 4, children: /* @__PURE__ */ jsx246(Group40, { align: "end", h: "100%", children: /* @__PURE__ */ jsx246(Button27, { leftSection: /* @__PURE__ */ jsx246(IconCopy, {}), w: "100%", children: "D\xE1n t\u1EEB b\u1ED9 nh\u1EDB" }) }) }),
17341
17366
  /* @__PURE__ */ jsx246(Grid9.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx246(
17342
17367
  Select11,
17343
17368
  {
@@ -17360,7 +17385,7 @@ function Usecase_FileImportConfigModal(_a) {
17360
17385
  ) })
17361
17386
  ] }),
17362
17387
  /* @__PURE__ */ jsx246(MyFieldset, { title: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u", children: /* @__PURE__ */ jsx246(MyDataTable, { columns, data: tableDisplayData }) }),
17363
- /* @__PURE__ */ jsxs136(Group39, { justify: "end", children: [
17388
+ /* @__PURE__ */ jsxs137(Group40, { justify: "end", children: [
17364
17389
  /* @__PURE__ */ jsx246(
17365
17390
  Button27,
17366
17391
  {
@@ -17381,7 +17406,7 @@ function Usecase_FileImportConfigModal(_a) {
17381
17406
  // src/core/overlays/MyModalStackImport/MyModalStackImport.tsx
17382
17407
  import { Modal as Modal18 } from "@mantine/core";
17383
17408
  import { useState as useState30 } from "react";
17384
- import { jsx as jsx247, jsxs as jsxs137 } from "react/jsx-runtime";
17409
+ import { jsx as jsx247, jsxs as jsxs138 } from "react/jsx-runtime";
17385
17410
  function MyModalImport({
17386
17411
  fieldDefinition = [],
17387
17412
  stack,
@@ -17391,7 +17416,7 @@ function MyModalImport({
17391
17416
  const value = useState30([]);
17392
17417
  const valueMapping = useState30([]);
17393
17418
  const [detailRows, setDetailRows] = useState30([]);
17394
- return /* @__PURE__ */ jsxs137(Modal18.Stack, { children: [
17419
+ return /* @__PURE__ */ jsxs138(Modal18.Stack, { children: [
17395
17420
  /* @__PURE__ */ jsx247(
17396
17421
  Usecase_FileImportConfigModal,
17397
17422
  __spreadValues({
@@ -17430,16 +17455,16 @@ function MyModalImport({
17430
17455
 
17431
17456
  // src/core/overlays/MyModalStackImport/Usecase/Usecase_FileImportValidationDetailModal.tsx
17432
17457
  import { Modal as Modal19, Table as Table5, Text as Text29 } from "@mantine/core";
17433
- import { jsx as jsx248, jsxs as jsxs138 } from "react/jsx-runtime";
17458
+ import { jsx as jsx248, jsxs as jsxs139 } from "react/jsx-runtime";
17434
17459
 
17435
17460
  // src/core/overlays/MyModalStackImport/Usecase/Usecase_FileImportValidationModal.tsx
17436
17461
  import {
17437
17462
  Button as Button28,
17438
- Group as Group40,
17463
+ Group as Group41,
17439
17464
  Modal as Modal20,
17440
17465
  Table as Table6
17441
17466
  } from "@mantine/core";
17442
- import { jsx as jsx249, jsxs as jsxs139 } from "react/jsx-runtime";
17467
+ import { jsx as jsx249, jsxs as jsxs140 } from "react/jsx-runtime";
17443
17468
 
17444
17469
  export {
17445
17470
  MyBoxesCore,
@@ -70,16 +70,16 @@ import {
70
70
  useHeaderMegaMenuStore,
71
71
  useS_ButtonImport,
72
72
  useStore_BasicAppShell
73
- } from "../chunk-44MFYHVC.mjs";
74
- import "../chunk-2B2FKBKX.mjs";
73
+ } from "../chunk-5EXHQQYT.mjs";
75
74
  import "../chunk-SUH3FFFV.mjs";
75
+ import "../chunk-2B2FKBKX.mjs";
76
76
  import "../chunk-O7YCQQO5.mjs";
77
77
  import "../chunk-QSWIVDXC.mjs";
78
- import "../chunk-IUTUR43V.mjs";
78
+ import "../chunk-REMYBOSK.mjs";
79
79
  import "../chunk-K6S7R6LU.mjs";
80
80
  import "../chunk-2JFYOBBR.mjs";
81
- import "../chunk-7ZCOFATU.mjs";
82
81
  import "../chunk-WZ6PXGGC.mjs";
82
+ import "../chunk-7ZCOFATU.mjs";
83
83
  import "../chunk-FWCSY2DS.mjs";
84
84
  export {
85
85
  AQButtonCreateByImportFile,
@@ -3,7 +3,7 @@ import {
3
3
  const_object_colors,
4
4
  const_object_documentTypes,
5
5
  const_object_generalMenuData
6
- } from "../chunk-IUTUR43V.mjs";
6
+ } from "../chunk-REMYBOSK.mjs";
7
7
  import "../chunk-FWCSY2DS.mjs";
8
8
  export {
9
9
  const_array_daysOfWeek,
@@ -25,16 +25,16 @@ import {
25
25
  MyStatsCard,
26
26
  MyTextInput2 as MyTextInput,
27
27
  MyWeeklySessionSchedulerPicker
28
- } from "../chunk-44MFYHVC.mjs";
29
- import "../chunk-2B2FKBKX.mjs";
28
+ } from "../chunk-5EXHQQYT.mjs";
30
29
  import "../chunk-SUH3FFFV.mjs";
30
+ import "../chunk-2B2FKBKX.mjs";
31
31
  import "../chunk-O7YCQQO5.mjs";
32
32
  import "../chunk-QSWIVDXC.mjs";
33
- import "../chunk-IUTUR43V.mjs";
33
+ import "../chunk-REMYBOSK.mjs";
34
34
  import "../chunk-K6S7R6LU.mjs";
35
35
  import "../chunk-2JFYOBBR.mjs";
36
- import "../chunk-7ZCOFATU.mjs";
37
36
  import "../chunk-WZ6PXGGC.mjs";
37
+ import "../chunk-7ZCOFATU.mjs";
38
38
  import "../chunk-FWCSY2DS.mjs";
39
39
  export {
40
40
  DroppablePlaceholder,
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  MyModalDelete
3
- } from "../chunk-44MFYHVC.mjs";
4
- import "../chunk-2B2FKBKX.mjs";
3
+ } from "../chunk-5EXHQQYT.mjs";
5
4
  import "../chunk-SUH3FFFV.mjs";
5
+ import "../chunk-2B2FKBKX.mjs";
6
6
  import "../chunk-O7YCQQO5.mjs";
7
7
  import "../chunk-QSWIVDXC.mjs";
8
- import "../chunk-IUTUR43V.mjs";
8
+ import "../chunk-REMYBOSK.mjs";
9
9
  import "../chunk-K6S7R6LU.mjs";
10
10
  import {
11
11
  useMyReactMutation
12
12
  } from "../chunk-2JFYOBBR.mjs";
13
- import "../chunk-7ZCOFATU.mjs";
14
13
  import "../chunk-WZ6PXGGC.mjs";
14
+ import "../chunk-7ZCOFATU.mjs";
15
15
  import {
16
16
  __objRest,
17
17
  __spreadValues
@@ -13,8 +13,8 @@ import {
13
13
  useMyRouter,
14
14
  useQ_AQ_GetAQModule
15
15
  } from "../chunk-2JFYOBBR.mjs";
16
- import "../chunk-7ZCOFATU.mjs";
17
16
  import "../chunk-WZ6PXGGC.mjs";
17
+ import "../chunk-7ZCOFATU.mjs";
18
18
  import "../chunk-FWCSY2DS.mjs";
19
19
  export {
20
20
  createBaseApi,
@@ -112,16 +112,16 @@ import {
112
112
  MailTemplateDeleteButton,
113
113
  useS_authenticate,
114
114
  useS_moduleConfig
115
- } from "../chunk-44MFYHVC.mjs";
116
- import "../chunk-2B2FKBKX.mjs";
115
+ } from "../chunk-5EXHQQYT.mjs";
117
116
  import "../chunk-SUH3FFFV.mjs";
117
+ import "../chunk-2B2FKBKX.mjs";
118
118
  import "../chunk-O7YCQQO5.mjs";
119
119
  import "../chunk-QSWIVDXC.mjs";
120
- import "../chunk-IUTUR43V.mjs";
120
+ import "../chunk-REMYBOSK.mjs";
121
121
  import "../chunk-K6S7R6LU.mjs";
122
122
  import "../chunk-2JFYOBBR.mjs";
123
- import "../chunk-7ZCOFATU.mjs";
124
123
  import "../chunk-WZ6PXGGC.mjs";
124
+ import "../chunk-7ZCOFATU.mjs";
125
125
  import "../chunk-FWCSY2DS.mjs";
126
126
  export {
127
127
  AcademicYearsCreate,
package/package.json CHANGED
@@ -50,7 +50,7 @@
50
50
  "types": "./dist/types/index.d.mts"
51
51
  }
52
52
  },
53
- "version": "0.1.733",
53
+ "version": "0.1.734",
54
54
  "private": false,
55
55
  "files": [
56
56
  "dist"
@@ -72,8 +72,8 @@ var const_object_generalMenuData = {
72
72
  };
73
73
 
74
74
  export {
75
- const_object_colors,
76
75
  const_array_daysOfWeek,
76
+ const_object_colors,
77
77
  const_object_documentTypes,
78
78
  const_object_generalMenuData
79
79
  };